fix(core): tidy formatting and minor fixes across CLI, SNMP, HTTP server, migrations and packaging
This commit is contained in:
105
changelog.md
105
changelog.md
@@ -1,69 +1,116 @@
|
||||
# Changelog
|
||||
|
||||
## 2026-01-29 - 5.2.1 - fix(cli(ups-handler), systemd)
|
||||
add type guards and null checks for UPS configs; improve SNMP handling and prompts; guard version display
|
||||
## 2026-01-29 - 5.2.2 - fix(core)
|
||||
tidy formatting and minor fixes across CLI, SNMP, HTTP server, migrations and packaging
|
||||
|
||||
- Introduce a type guard ('id' in config && 'name' in config) to distinguish IUpsConfig from legacy INupstConfig and route fields (snmp, checkInterval, name, id) accordingly.
|
||||
- displayTestConfig now handles missing SNMP by logging 'Not configured' and returning, computes checkInterval/upsName/upsId correctly, and uses groups only for true UPS configs.
|
||||
- testConnection now safely derives snmpConfig for both config types, throws if SNMP is missing, and caps test timeout to 10s for probes.
|
||||
- Clear auth/priv credentials by setting undefined (instead of empty strings) when disabling security levels to avoid invalid/empty string values.
|
||||
- Expanded customOIDs to include OUTPUT_LOAD, OUTPUT_POWER, OUTPUT_VOLTAGE, OUTPUT_CURRENT with defaults; trim prompt input and document RFC 1628 fallbacks.
|
||||
- systemd.displayVersionInfo: guard against missing nupst (silent return) and avoid errors when printing version info; use ignored catch variables for clarity.
|
||||
- Normalize import ordering and improve logger/string formatting across many CLI handlers, daemon, systemd, actions and tests
|
||||
- Apply formatting tidies: trailing commas, newline fixes, and more consistent multiline strings
|
||||
- Allow BaseMigration methods to return either sync or async results (shouldRun/migrate signatures updated)
|
||||
- Improve SNMP manager and HTTP server logging/error messages and tighten some typings (raw SNMP types, server error typing)
|
||||
- Small robustness and messaging improvements in npm installer and wrapper (platform/arch mapping, error outputs)
|
||||
- Update tests and documentation layout/formatting for readability
|
||||
|
||||
## 2026-01-29 - 5.2.1 - fix(cli(ups-handler), systemd)
|
||||
|
||||
add type guards and null checks for UPS configs; improve SNMP handling and prompts; guard version
|
||||
display
|
||||
|
||||
- Introduce a type guard ('id' in config && 'name' in config) to distinguish IUpsConfig from legacy
|
||||
INupstConfig and route fields (snmp, checkInterval, name, id) accordingly.
|
||||
- displayTestConfig now handles missing SNMP by logging 'Not configured' and returning, computes
|
||||
checkInterval/upsName/upsId correctly, and uses groups only for true UPS configs.
|
||||
- testConnection now safely derives snmpConfig for both config types, throws if SNMP is missing, and
|
||||
caps test timeout to 10s for probes.
|
||||
- Clear auth/priv credentials by setting undefined (instead of empty strings) when disabling
|
||||
security levels to avoid invalid/empty string values.
|
||||
- Expanded customOIDs to include OUTPUT_LOAD, OUTPUT_POWER, OUTPUT_VOLTAGE, OUTPUT_CURRENT with
|
||||
defaults; trim prompt input and document RFC 1628 fallbacks.
|
||||
- systemd.displayVersionInfo: guard against missing nupst (silent return) and avoid errors when
|
||||
printing version info; use ignored catch variables for clarity.
|
||||
|
||||
## 2026-01-29 - 5.2.0 - feat(core)
|
||||
Centralize timeouts/constants, add CLI prompt helpers, and introduce webhook/script actions with safety and SNMP refactors
|
||||
|
||||
- Add ts/constants.ts to centralize timing, SNMP, webhook, script, shutdown and UI constants and replace magic numbers across the codebase
|
||||
- Introduce helpers/prompt.ts with createPrompt() and withPrompt() and refactor CLI handlers to use these helpers (cleaner prompt lifecycle)
|
||||
- Add webhook action support: ts/actions/webhook-action.ts, IWebhookPayload type, and export from ts/actions/index.ts
|
||||
- Enhance ShutdownAction safety checks (only trigger onBattery, stricter transition rules) and use constants/UI widths for displays
|
||||
- Refactor SNMP manager to use logger instead of console, pull SNMP defaults from constants, improved debug output, and add INupstAccessor interface to break circular dependency (Nupst now implements the interface)
|
||||
- Update many CLI and core types (stronger typing for configs/actions), expand tests and update README and npmextra.json to document new features
|
||||
Centralize timeouts/constants, add CLI prompt helpers, and introduce webhook/script actions with
|
||||
safety and SNMP refactors
|
||||
|
||||
- Add ts/constants.ts to centralize timing, SNMP, webhook, script, shutdown and UI constants and
|
||||
replace magic numbers across the codebase
|
||||
- Introduce helpers/prompt.ts with createPrompt() and withPrompt() and refactor CLI handlers to use
|
||||
these helpers (cleaner prompt lifecycle)
|
||||
- Add webhook action support: ts/actions/webhook-action.ts, IWebhookPayload type, and export from
|
||||
ts/actions/index.ts
|
||||
- Enhance ShutdownAction safety checks (only trigger onBattery, stricter transition rules) and use
|
||||
constants/UI widths for displays
|
||||
- Refactor SNMP manager to use logger instead of console, pull SNMP defaults from constants,
|
||||
improved debug output, and add INupstAccessor interface to break circular dependency (Nupst now
|
||||
implements the interface)
|
||||
- Update many CLI and core types (stronger typing for configs/actions), expand tests and update
|
||||
README and npmextra.json to document new features
|
||||
|
||||
## 2025-11-09 - 5.1.11 - fix(readme)
|
||||
Update README installation instructions to recommend automated installer script and clarify npm installation
|
||||
|
||||
- Replace the previous 'Via npm (NEW! - Recommended)' section with a clear 'Automated Installer Script (Recommended)' section and example curl installer.
|
||||
- Move npm installation instructions into an 'Alternative: Via npm' subsection and clarify that the npm package downloads the appropriate pre-compiled binary for the platform during installation.
|
||||
Update README installation instructions to recommend automated installer script and clarify npm
|
||||
installation
|
||||
|
||||
- Replace the previous 'Via npm (NEW! - Recommended)' section with a clear 'Automated Installer
|
||||
Script (Recommended)' section and example curl installer.
|
||||
- Move npm installation instructions into an 'Alternative: Via npm' subsection and clarify that the
|
||||
npm package downloads the appropriate pre-compiled binary for the platform during installation.
|
||||
- Remove the 'NEW!' badge and streamline notes about binary downloads and installation methods.
|
||||
|
||||
## 2025-10-23 - 5.1.10 - fix(config)
|
||||
|
||||
Synchronize deno.json version with package.json, tidy formatting, and add local tooling settings
|
||||
|
||||
- Bumped deno.json version to 5.1.9 to match package.json/commitinfo
|
||||
- Reformatted deno.json arrays (lint, fmt, compilerOptions) for readability
|
||||
- Added .claude/settings.local.json for local development/tooling permissions (no runtime behaviour changes)
|
||||
- Added .claude/settings.local.json for local development/tooling permissions (no runtime behaviour
|
||||
changes)
|
||||
|
||||
## 2025-10-23 - 5.1.9 - fix(dev)
|
||||
|
||||
Add local assistant permissions/settings file (.claude/settings.local.json)
|
||||
|
||||
- Added .claude/settings.local.json containing local assistant permission configuration used for development tasks (deno check, deno lint/format, npm/pack, running packaged binaries, etc.)
|
||||
- This is a development/local configuration file and does not change runtime behavior or product code paths
|
||||
- Added .claude/settings.local.json containing local assistant permission configuration used for
|
||||
development tasks (deno check, deno lint/format, npm/pack, running packaged binaries, etc.)
|
||||
- This is a development/local configuration file and does not change runtime behavior or product
|
||||
code paths
|
||||
- Patch version bump recommended
|
||||
|
||||
## 2025-10-23 - 5.1.2 - fix(scripts)
|
||||
|
||||
Add build script to package.json and include local dev tool settings
|
||||
|
||||
- Add a 'build' script to package.json (no-op placeholder) to provide an explicit build step
|
||||
- Minor scripts section formatting tidy in package.json
|
||||
- Add a hidden local settings file for development tooling permissions to the repository (local-only configuration)
|
||||
- Add a hidden local settings file for development tooling permissions to the repository (local-only
|
||||
configuration)
|
||||
|
||||
## 2025-10-23 - 5.1.1 - fix(tooling)
|
||||
|
||||
Add .claude/settings.local.json with local automation permissions
|
||||
|
||||
- Add .claude/settings.local.json to specify allowed permissions for local automated tasks
|
||||
- Grants permissions for various developer/CI actions (deno check/lint/fmt, npm/npm pack, selective Bash commands, WebFetch to docs.deno.com and code.foss.global, and file/read/replace helpers)
|
||||
- Grants permissions for various developer/CI actions (deno check/lint/fmt, npm/npm pack, selective
|
||||
Bash commands, WebFetch to docs.deno.com and code.foss.global, and file/read/replace helpers)
|
||||
- This is a developer/local tooling config only and does not change runtime code or package behavior
|
||||
|
||||
## 2025-10-22 - 5.1.0 - feat(packaging)
|
||||
Add npm packaging and installer: wrapper, postinstall downloader, publish workflow, and packaging files
|
||||
|
||||
Add npm packaging and installer: wrapper, postinstall downloader, publish workflow, and packaging
|
||||
files
|
||||
|
||||
- Add package.json (v5.0.5) and npm packaging metadata to publish @serve.zone/nupst
|
||||
- Include a small Node.js wrapper (bin/nupst-wrapper.js) to execute platform-specific precompiled binaries
|
||||
- Add postinstall script (scripts/install-binary.js) that downloads the correct binary for the current platform and sets executable permissions
|
||||
- Add GitHub Actions workflow (.github/workflows/npm-publish.yml) to build binaries, pack and publish to npm, and create releases
|
||||
- Add .npmignore to keep source, tests and dev files out of npm package; keep only runtime installer and wrapper
|
||||
- Move example action script into docs (docs/example-action.sh) and remove the top-level example-action.sh
|
||||
- Include a small Node.js wrapper (bin/nupst-wrapper.js) to execute platform-specific precompiled
|
||||
binaries
|
||||
- Add postinstall script (scripts/install-binary.js) that downloads the correct binary for the
|
||||
current platform and sets executable permissions
|
||||
- Add GitHub Actions workflow (.github/workflows/npm-publish.yml) to build binaries, pack and
|
||||
publish to npm, and create releases
|
||||
- Add .npmignore to keep source, tests and dev files out of npm package; keep only runtime installer
|
||||
and wrapper
|
||||
- Move example action script into docs (docs/example-action.sh) and remove the top-level
|
||||
example-action.sh
|
||||
- Include generated npm package artifact (serve.zone-nupst-5.0.5.tgz) and npmextra.json
|
||||
|
||||
## 2025-10-18 - 4.0.0 - BREAKING CHANGE(core): Complete migration to Deno runtime
|
||||
|
||||
Reference in New Issue
Block a user