style: configure deno fmt to use single quotes
- Add singleQuote: true to deno.json fmt configuration - Reformat all files with single quotes using deno fmt
This commit is contained in:
269
changelog.md
269
changelog.md
@@ -4,27 +4,34 @@
|
||||
|
||||
**MAJOR RELEASE: NUPST v4.0 is a complete rewrite powered by Deno**
|
||||
|
||||
This release fundamentally changes NUPST's architecture from Node.js-based to Deno-based, distributed as pre-compiled binaries. This is a **breaking change** in terms of installation and distribution, but configuration files from v3.x are **fully compatible**.
|
||||
This release fundamentally changes NUPST's architecture from Node.js-based to Deno-based,
|
||||
distributed as pre-compiled binaries. This is a **breaking change** in terms of installation and
|
||||
distribution, but configuration files from v3.x are **fully compatible**.
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
**Installation & Distribution:**
|
||||
|
||||
- **Removed**: Node.js runtime dependency - NUPST no longer requires Node.js
|
||||
- **Removed**: npm package distribution (no longer published to npmjs.org)
|
||||
- **Removed**: `bin/nupst` wrapper script
|
||||
- **Removed**: `setup.sh` dependency installation
|
||||
- **Removed**: All Node.js-related files (package.json, tsconfig.json, pnpm-lock.yaml, npmextra.json)
|
||||
- **Removed**: All Node.js-related files (package.json, tsconfig.json, pnpm-lock.yaml,
|
||||
npmextra.json)
|
||||
- **Changed**: Installation now downloads pre-compiled binaries instead of cloning repository
|
||||
- **Changed**: Binary-based distribution (~340MB self-contained executables)
|
||||
|
||||
**CLI Structure (Backward Compatible):**
|
||||
- **Changed**: Commands now use subcommand structure (e.g., `nupst service enable` instead of `nupst enable`)
|
||||
|
||||
- **Changed**: Commands now use subcommand structure (e.g., `nupst service enable` instead of
|
||||
`nupst enable`)
|
||||
- **Maintained**: Old command format still works with deprecation warnings for smooth migration
|
||||
- **Added**: Aliases for common commands (`nupst ls`, `nupst rm`)
|
||||
|
||||
### New Features
|
||||
|
||||
**Distribution & Installation:**
|
||||
|
||||
- Pre-compiled binaries for 5 platforms:
|
||||
- Linux x86_64
|
||||
- Linux ARM64
|
||||
@@ -38,6 +45,7 @@ This release fundamentally changes NUPST's architecture from Node.js-based to De
|
||||
- Cross-platform compilation from single codebase
|
||||
|
||||
**CI/CD Automation:**
|
||||
|
||||
- Gitea Actions workflows for continuous integration
|
||||
- Automated release workflow triggered by git tags
|
||||
- Automatic binary compilation for all platforms on release
|
||||
@@ -45,6 +53,7 @@ This release fundamentally changes NUPST's architecture from Node.js-based to De
|
||||
- Build verification on every push
|
||||
|
||||
**CLI Improvements:**
|
||||
|
||||
- New hierarchical command structure with subcommands
|
||||
- `nupst service` - Service management (enable, disable, start, stop, restart, status, logs)
|
||||
- `nupst ups` - UPS device management (add, edit, remove, list, test)
|
||||
@@ -55,6 +64,7 @@ This release fundamentally changes NUPST's architecture from Node.js-based to De
|
||||
- Backward compatibility maintained with deprecation warnings
|
||||
|
||||
**Technical Improvements:**
|
||||
|
||||
- Deno runtime for modern TypeScript/JavaScript execution
|
||||
- Native TypeScript support without compilation step
|
||||
- Faster startup and execution compared to Node.js
|
||||
@@ -65,18 +75,22 @@ This release fundamentally changes NUPST's architecture from Node.js-based to De
|
||||
### Migration Guide
|
||||
|
||||
**For Users:**
|
||||
|
||||
1. Stop existing v3.x service: `sudo nupst disable`
|
||||
2. Install v4.0 using new installer: `curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh | sudo bash -s -- -y`
|
||||
2. Install v4.0 using new installer:
|
||||
`curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh | sudo bash -s -- -y`
|
||||
3. Your configuration at `/etc/nupst/config.json` is preserved and fully compatible
|
||||
4. Enable service with new CLI: `sudo nupst service enable && sudo nupst service start`
|
||||
5. Update systemd commands to use new syntax (old syntax still works with warnings)
|
||||
|
||||
**Configuration Compatibility:**
|
||||
|
||||
- All configuration files from v3.x work without modification
|
||||
- No changes to `/etc/nupst/config.json` format
|
||||
- All SNMP settings, thresholds, and group configurations preserved
|
||||
|
||||
**Command Mapping:**
|
||||
|
||||
```bash
|
||||
# Old (v3.x) → New (v4.0)
|
||||
nupst enable → nupst service enable
|
||||
@@ -100,6 +114,7 @@ nupst config → nupst config show
|
||||
### Technical Details
|
||||
|
||||
**Commit History:**
|
||||
|
||||
- `df6a44d`: Complete migration with Gitea Actions workflows and install.sh updates
|
||||
- `9efcc4b`: CLI reorganization with subcommand structure
|
||||
- `5903ae7`: Cross-platform compilation scripts
|
||||
@@ -107,13 +122,16 @@ nupst config → nupst config show
|
||||
- `5f4f3ec`: Initial migration to Deno
|
||||
|
||||
**Files Changed:**
|
||||
- Removed: 11 files (package.json, tsconfig.json, pnpm-lock.yaml, npmextra.json, bin/nupst, setup.sh)
|
||||
|
||||
- Removed: 11 files (package.json, tsconfig.json, pnpm-lock.yaml, npmextra.json, bin/nupst,
|
||||
setup.sh)
|
||||
- Added: 3 Gitea Actions workflows (ci.yml, release.yml, README.md)
|
||||
- Modified: 14 TypeScript files for Deno compatibility
|
||||
- Updated: install.sh, .gitignore, readme.md
|
||||
- Net reduction: -10,242 lines (93% reduction in repository size)
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
- Runtime: Deno v1.x (bundled in binary, no installation required)
|
||||
- SNMP: npm:net-snmp@3.20.0 (bundled in binary via npm: specifier)
|
||||
- Node.js built-ins: Accessed via node: specifier (node:fs, node:child_process, etc.)
|
||||
@@ -121,7 +139,9 @@ nupst config → nupst config show
|
||||
### Benefits
|
||||
|
||||
**For Users:**
|
||||
- **Faster Installation**: Download single binary instead of cloning repo + installing Node.js + npm dependencies
|
||||
|
||||
- **Faster Installation**: Download single binary instead of cloning repo + installing Node.js + npm
|
||||
dependencies
|
||||
- **Zero Dependencies**: No Node.js or npm required on target system
|
||||
- **Smaller Footprint**: Single binary vs repo + Node.js + node_modules
|
||||
- **Easier Updates**: Download new binary instead of git pull + npm install
|
||||
@@ -129,6 +149,7 @@ nupst config → nupst config show
|
||||
- **Platform Support**: Official binaries for all major platforms
|
||||
|
||||
**For Developers:**
|
||||
|
||||
- **Modern Tooling**: Native TypeScript support without build configuration
|
||||
- **Faster Development**: No compilation step during development
|
||||
- **CI/CD Automation**: Automated releases and testing
|
||||
@@ -143,22 +164,27 @@ nupst config → nupst config show
|
||||
|
||||
### Acknowledgments
|
||||
|
||||
This release represents a complete modernization of NUPST's infrastructure while maintaining full backward compatibility for user configurations. Special thanks to the Deno team for creating an excellent runtime that made this migration possible.
|
||||
This release represents a complete modernization of NUPST's infrastructure while maintaining full
|
||||
backward compatibility for user configurations. Special thanks to the Deno team for creating an
|
||||
excellent runtime that made this migration possible.
|
||||
|
||||
---
|
||||
|
||||
## 2025-03-28 - 3.1.2 - fix(cli/ups-handler)
|
||||
|
||||
Improve UPS device listing table formatting for better column alignment
|
||||
|
||||
- Adjusted header spacing for the Host column and overall table alignment in the UPS handler output.
|
||||
|
||||
## 2025-03-28 - 3.1.1 - fix(cli)
|
||||
|
||||
Improve table header formatting in group and UPS listings
|
||||
|
||||
- Adjusted column padding in group listing for proper alignment
|
||||
- Fixed UPS table header spacing for consistent CLI output
|
||||
|
||||
## 2025-03-28 - 3.1.0 - feat(cli)
|
||||
|
||||
Refactor CLI commands to use dedicated handlers for UPS, group, and service management
|
||||
|
||||
- Extracted UPS-related CLI logic into a new UpsHandler
|
||||
@@ -168,28 +194,38 @@ Refactor CLI commands to use dedicated handlers for UPS, group, and service mana
|
||||
- Exposed getters for the new handlers in the Nupst class
|
||||
|
||||
## 2025-03-28 - 3.0.1 - fix(cli)
|
||||
Simplify UPS ID generation by removing the redundant promptForUniqueUpsId function in the CLI module and replacing it with the shortId helper.
|
||||
|
||||
Simplify UPS ID generation by removing the redundant promptForUniqueUpsId function in the CLI module
|
||||
and replacing it with the shortId helper.
|
||||
|
||||
- Deleted the unused promptForUniqueUpsId method from ts/cli.ts.
|
||||
- Updated UPS configuration to generate a unique ID directly using helpers.shortId().
|
||||
- Improved code clarity by removing unnecessary interactive prompts for UPS IDs.
|
||||
|
||||
## 2025-03-28 - 3.0.0 - BREAKING CHANGE(core)
|
||||
Add multi-UPS support and group management; update CLI, configuration and documentation to support multiple UPS devices with group modes
|
||||
|
||||
- Implemented multi-UPS configuration with an array of UPS devices and groups in the configuration file
|
||||
- Added group management commands (group add, edit, delete, list) with redundant and non-redundant modes
|
||||
- Revamped CLI command parsing for UPS management (add, edit, delete, list, setup) and group subcommands
|
||||
Add multi-UPS support and group management; update CLI, configuration and documentation to support
|
||||
multiple UPS devices with group modes
|
||||
|
||||
- Implemented multi-UPS configuration with an array of UPS devices and groups in the configuration
|
||||
file
|
||||
- Added group management commands (group add, edit, delete, list) with redundant and non-redundant
|
||||
modes
|
||||
- Revamped CLI command parsing for UPS management (add, edit, delete, list, setup) and group
|
||||
subcommands
|
||||
- Updated readme and documentation to reflect new configuration structure and features
|
||||
- Enhanced logging and status display for multiple UPS devices
|
||||
|
||||
## 2025-03-26 - 2.6.17 - fix(logger)
|
||||
Preserve logbox width after logBoxEnd so that subsequent logBoxLine calls continue using the set width.
|
||||
|
||||
Preserve logbox width after logBoxEnd so that subsequent logBoxLine calls continue using the set
|
||||
width.
|
||||
|
||||
- Removed the reset of currentBoxWidth in logBoxEnd to allow persistent width across logbox calls.
|
||||
- Ensures that logBoxLine uses the previously set width when no new width is provided.
|
||||
|
||||
## 2025-03-26 - 2.6.16 - fix(cli)
|
||||
|
||||
Improve CLI logging consistency by replacing direct console output with unified logger calls.
|
||||
|
||||
- Replaced console.log and console.error with logger.log and logger.error in CLI commands
|
||||
@@ -197,42 +233,51 @@ Improve CLI logging consistency by replacing direct console output with unified
|
||||
- Enhanced consistency of log output throughout the ts/cli.ts file
|
||||
|
||||
## 2025-03-26 - 2.6.15 - fix(logger)
|
||||
|
||||
Replace direct console logging with unified logger interface for consistent formatting
|
||||
|
||||
- Substitute console.log, console.error, and related calls with logger methods in cli, daemon, systemd, nupst, and index modules
|
||||
- Substitute console.log, console.error, and related calls with logger methods in cli, daemon,
|
||||
systemd, nupst, and index modules
|
||||
- Integrate logBox formatting for structured output and consistent log presentation
|
||||
- Update test expectations in test.logger.ts to check for standardized error messages
|
||||
- Refactor logging calls throughout the codebase for improved clarity and maintainability
|
||||
|
||||
## 2025-03-26 - 2.6.14 - fix(systemd)
|
||||
|
||||
Shorten closing log divider in systemd service installation output for consistent formatting.
|
||||
|
||||
- Replaced the overly long footer with a shorter one in ts/systemd.ts.
|
||||
- This change improves log readability without affecting functionality.
|
||||
|
||||
## 2025-03-26 - 2.6.13 - fix(cli)
|
||||
|
||||
Fix CLI update output box formatting
|
||||
|
||||
- Adjusted the closing box line in the update process log messages for consistent visual formatting
|
||||
|
||||
## 2025-03-26 - 2.6.12 - fix(systemd)
|
||||
|
||||
Adjust logging border in systemd service installation output
|
||||
|
||||
- Updated the closing border line for consistent output formatting in ts/systemd.ts
|
||||
|
||||
## 2025-03-26 - 2.6.11 - fix(cli, systemd)
|
||||
|
||||
Adjust log formatting for consistent output in CLI and systemd commands
|
||||
|
||||
- Fixed spacing issues in service installation and status log messages in the systemd module.
|
||||
- Revised output formatting in the CLI to improve message clarity.
|
||||
|
||||
## 2025-03-26 - 2.6.10 - fix(daemon)
|
||||
|
||||
Adjust console log box formatting for consistent output in daemon status messages
|
||||
|
||||
- Updated closing box borders to align properly in configuration error, periodic updates, and UPS status logs
|
||||
- Updated closing box borders to align properly in configuration error, periodic updates, and UPS
|
||||
status logs
|
||||
- Improved visual consistency in log messages
|
||||
|
||||
## 2025-03-26 - 2.6.9 - fix(cli)
|
||||
|
||||
Improve console output formatting for status banners and logging messages
|
||||
|
||||
- Standardize banner messages in daemon status updates
|
||||
@@ -240,19 +285,23 @@ Improve console output formatting for status banners and logging messages
|
||||
- Update UPS connection and status banners in systemd
|
||||
|
||||
## 2025-03-26 - 2.6.8 - fix(cli)
|
||||
Improve CLI formatting, refine debug option filtering, and remove unused dgram import in SNMP manager
|
||||
|
||||
Improve CLI formatting, refine debug option filtering, and remove unused dgram import in SNMP
|
||||
manager
|
||||
|
||||
- Standardize whitespace and formatting in ts/cli.ts for consistency
|
||||
- Refine argument filtering for debug mode and prompt messages
|
||||
- Remove unused 'dgram' import from ts/snmp/manager.ts
|
||||
|
||||
## 2025-03-26 - 2.6.7 - fix(setup.sh)
|
||||
|
||||
Clarify net-snmp dependency installation message in setup.sh
|
||||
|
||||
- Updated echo statement to indicate installation of net-snmp along with 2 subdependencies
|
||||
- Improves clarity on dependency installation during setup
|
||||
|
||||
## 2025-03-26 - 2.6.6 - fix(setup.sh)
|
||||
|
||||
Improve setup script to detect and execute npm-cli.js directly using the Node.js binary
|
||||
|
||||
- Replace use of the npm binary with direct execution of npm-cli.js
|
||||
@@ -260,14 +309,18 @@ Improve setup script to detect and execute npm-cli.js directly using the Node.js
|
||||
- Simplify cleanup by removing unnecessary PATH modifications
|
||||
|
||||
## 2025-03-26 - 2.6.5 - fix(daemon, setup)
|
||||
Improve shutdown command detection and fallback logic; update setup script to use absolute Node/npm paths
|
||||
|
||||
Improve shutdown command detection and fallback logic; update setup script to use absolute Node/npm
|
||||
paths
|
||||
|
||||
- Use execFileAsync to execute shutdown commands reliably
|
||||
- Add multiple fallback alternatives for shutdown and emergency shutdown handling
|
||||
- Update setup.sh to log the Node and NPM versions using absolute paths without modifying PATH
|
||||
|
||||
## 2025-03-26 - 2.6.4 - fix(setup)
|
||||
Improve installation process in setup script by cleaning up package files and ensuring a minimal net-snmp dependency installation.
|
||||
|
||||
Improve installation process in setup script by cleaning up package files and ensuring a minimal
|
||||
net-snmp dependency installation.
|
||||
|
||||
- Remove existing package-lock.json along with node_modules to prevent stale artifacts.
|
||||
- Back up the original package.json before modifying it.
|
||||
@@ -276,13 +329,16 @@ Improve installation process in setup script by cleaning up package files and en
|
||||
- Restore the original package.json if the installation fails.
|
||||
|
||||
## 2025-03-26 - 2.6.3 - fix(setup)
|
||||
Update setup script to install only net-snmp dependency and create a minimal package-lock.json for better dependency control.
|
||||
|
||||
Update setup script to install only net-snmp dependency and create a minimal package-lock.json for
|
||||
better dependency control.
|
||||
|
||||
- Removed full production dependency install in favor of installing only net-snmp@3.20.0
|
||||
- Added verification step to confirm net-snmp installation
|
||||
- Generate a minimal package-lock.json if one does not exist
|
||||
|
||||
## 2025-03-26 - 2.6.2 - fix(setup/readme)
|
||||
|
||||
Improve force update instructions and dependency installation process in setup.sh and readme.md
|
||||
|
||||
- Clarify force update commands with explicit paths in readme.md
|
||||
@@ -290,13 +346,16 @@ Improve force update instructions and dependency installation process in setup.s
|
||||
- Switch from 'npm ci --only=production' to 'npm install --omit=dev' with updated error instructions
|
||||
|
||||
## 2025-03-26 - 2.6.1 - fix(setup)
|
||||
Update setup.sh to temporarily add vendor Node.js binary to PATH for dependency installation, log Node and npm versions, and restore the original PATH afterwards.
|
||||
|
||||
Update setup.sh to temporarily add vendor Node.js binary to PATH for dependency installation, log
|
||||
Node and npm versions, and restore the original PATH afterwards.
|
||||
|
||||
- Temporarily prepend vendor Node.js binary directory to PATH to ensure proper npm execution.
|
||||
- Log Node.js and npm versions for debugging purposes.
|
||||
- Restore the original PATH after installing dependencies.
|
||||
|
||||
## 2025-03-26 - 2.6.0 - feat(setup)
|
||||
|
||||
Add --force update flag to setup script and update installation instructions
|
||||
|
||||
- Implemented --force option in setup.sh to force-update Node.js binary and dependencies
|
||||
@@ -304,27 +363,33 @@ Add --force update flag to setup script and update installation instructions
|
||||
- Modified ts/cli.ts update command to pass the --force flag to setup.sh
|
||||
|
||||
## 2025-03-26 - 2.5.2 - fix(installer)
|
||||
|
||||
Improve Node.js binary detection, dependency management, and SNMPv3 fallback logic
|
||||
|
||||
- Enhanced bin/nupst to detect OS and architecture (Linux and Darwin) and fall back to system Node.js for unsupported platforms
|
||||
- Enhanced bin/nupst to detect OS and architecture (Linux and Darwin) and fall back to system
|
||||
Node.js for unsupported platforms
|
||||
- Moved net-snmp from devDependencies to dependencies in package.json
|
||||
- Updated setup.sh to install production dependencies and handle installation errors gracefully
|
||||
- Refined SNMPv3 user configuration and fallback mechanism in ts/snmp/manager.ts
|
||||
- Revised README to clarify minimal runtime dependencies and secure SNMP features
|
||||
|
||||
## 2025-03-25 - 2.5.1 - fix(snmp)
|
||||
|
||||
Fix Eaton UPS support by updating power status OID and adjusting battery runtime conversion.
|
||||
|
||||
- Updated Eaton UPS power status OID to '1.3.6.1.4.1.534.1.4.4.0' to correctly detect online/battery status.
|
||||
- Updated Eaton UPS power status OID to '1.3.6.1.4.1.534.1.4.4.0' to correctly detect online/battery
|
||||
status.
|
||||
- Added conversion for Eaton UPS battery runtime from seconds to minutes in SNMP manager.
|
||||
|
||||
## 2025-03-25 - 2.5.0 - feat(cli)
|
||||
|
||||
Automatically restart running NUPST service after configuration changes in interactive setup
|
||||
|
||||
- Added restartServiceIfRunning() to check and restart the service if it's active.
|
||||
- Invoked the restart function post-setup to apply configuration changes immediately.
|
||||
|
||||
## 2025-03-25 - 2.4.8 - fix(installer)
|
||||
|
||||
Improve Git dependency handling and repository cloning in install.sh
|
||||
|
||||
- Add explicit check for git installation and prompt the user interactively if git is missing.
|
||||
@@ -332,23 +397,30 @@ Improve Git dependency handling and repository cloning in install.sh
|
||||
- Ensure proper cloning of the repository when running the installer outside the repo.
|
||||
|
||||
## 2025-03-25 - 2.4.7 - fix(readme)
|
||||
|
||||
Update installation instructions to combine download and execution into a single command for clarity
|
||||
|
||||
- Method 1 now uses a unified one-line command to download and run the install script
|
||||
|
||||
## 2025-03-25 - 2.4.6 - fix(installer)
|
||||
|
||||
Improve installation instructions for interactive and non-interactive setups
|
||||
|
||||
- Changed install.sh to require explicit download of the install script and updated error messages for non-interactive modes
|
||||
- Changed install.sh to require explicit download of the install script and updated error messages
|
||||
for non-interactive modes
|
||||
- Updated readme.md to include three distinct installation methods with clear command examples
|
||||
|
||||
## 2025-03-25 - 2.4.5 - fix(install)
|
||||
|
||||
Improve interactive terminal detection and update installation instructions
|
||||
|
||||
- Enhanced install.sh to better detect non-interactive environments and provide clearer guidance for both interactive and non-interactive installations
|
||||
- Updated README.md quick install instructions to recommend process substitution and clarify auto-yes usage
|
||||
- Enhanced install.sh to better detect non-interactive environments and provide clearer guidance for
|
||||
both interactive and non-interactive installations
|
||||
- Updated README.md quick install instructions to recommend process substitution and clarify
|
||||
auto-yes usage
|
||||
|
||||
## 2025-03-25 - 2.4.4 - fix(install)
|
||||
|
||||
Improve interactive mode detection and non-interactive installation handling in install.sh
|
||||
|
||||
- Detect and warn when running without a controlling terminal
|
||||
@@ -357,86 +429,116 @@ Improve interactive mode detection and non-interactive installation handling in
|
||||
- Clarify installation instructions in readme for interactive and non-interactive modes
|
||||
|
||||
## 2025-03-25 - 2.4.3 - fix(readme)
|
||||
|
||||
Update Quick Install command syntax in readme for auto-yes installation
|
||||
|
||||
- Changed installation command to use: curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh | sudo bash -c "bash -s -- -y"
|
||||
- Changed installation command to use: curl -sSL
|
||||
https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh | sudo bash -c "bash -s --
|
||||
-y"
|
||||
|
||||
## 2025-03-25 - 2.4.2 - fix(daemon)
|
||||
Refactor shutdown initiation logic in daemon by moving the initiateShutdown and monitorDuringShutdown methods from the SNMP manager to the daemon, and update calls accordingly
|
||||
|
||||
Refactor shutdown initiation logic in daemon by moving the initiateShutdown and
|
||||
monitorDuringShutdown methods from the SNMP manager to the daemon, and update calls accordingly
|
||||
|
||||
- Moved initiateShutdown and monitorDuringShutdown to the daemon class for improved cohesion
|
||||
- Updated references in the daemon to call its own shutdown method instead of the SNMP manager
|
||||
- Removed redundant initiateShutdown method from the SNMP manager
|
||||
|
||||
## 2025-03-25 - 2.4.1 - fix(docs)
|
||||
|
||||
Update readme with detailed legal and trademark guidance
|
||||
|
||||
- Clarified legal section by adding trademark and company information
|
||||
- Ensured users understand that licensing terms do not imply endorsement by the company
|
||||
|
||||
## 2025-03-25 - 2.4.0 - feat(installer)
|
||||
|
||||
Add auto-yes flag to installer and update installation documentation
|
||||
|
||||
- Enhance install.sh to parse -y/--yes and -h/--help options, automating git installation when auto-yes is provided
|
||||
- Enhance install.sh to parse -y/--yes and -h/--help options, automating git installation when
|
||||
auto-yes is provided
|
||||
- Improve user prompts for dependency installation and provide clearer instructions
|
||||
- Update readme.md to document new installer options and enhanced file system and service changes details
|
||||
- Update readme.md to document new installer options and enhanced file system and service changes
|
||||
details
|
||||
|
||||
## 2025-03-25 - 2.3.0 - feat(installer/cli)
|
||||
Add OS detection and git auto-installation support to install.sh and improve service setup prompt in CLI
|
||||
|
||||
- Implemented helper functions in install.sh to detect OS type and automatically install git if missing
|
||||
Add OS detection and git auto-installation support to install.sh and improve service setup prompt in
|
||||
CLI
|
||||
|
||||
- Implemented helper functions in install.sh to detect OS type and automatically install git if
|
||||
missing
|
||||
- Prompt user for git installation if not present before cloning the repository
|
||||
- Enhanced CLI service setup flow to offer starting the NUPST service immediately after installation
|
||||
|
||||
## 2025-03-25 - 2.2.0 - feat(cli)
|
||||
|
||||
Add 'config' command to display current configuration and update CLI help
|
||||
|
||||
- Introduce new 'config' command to show SNMP settings, thresholds, and configuration file location
|
||||
- Update help text to include details for 'nupst config' command
|
||||
|
||||
## 2025-03-25 - 2.1.0 - feat(cli)
|
||||
|
||||
Add uninstall command to CLI and update shutdown delay for graceful VM shutdown
|
||||
|
||||
- Implement uninstall command in ts/cli.ts that locates and executes uninstall.sh with user prompts
|
||||
- Update uninstall.sh to support environment variables for configuration and repository removal
|
||||
- Increase shutdown delay in ts/snmp/manager.ts from 1 minute to 5 minutes to allow VMs more time to shut down
|
||||
- Increase shutdown delay in ts/snmp/manager.ts from 1 minute to 5 minutes to allow VMs more time to
|
||||
shut down
|
||||
|
||||
## 2025-03-25 - 2.0.1 - fix(cli/systemd)
|
||||
|
||||
Fix status command to pass debug flag and improve systemd status logging output
|
||||
|
||||
- ts/cli.ts: Now extracts debug options from process arguments and passes debug mode to getStatus.
|
||||
- ts/systemd.ts: Updated getStatus to accept a debugMode parameter, enabling detailed SNMP debug logging, explicitly reloading configuration, and printing connection details.
|
||||
- ts/systemd.ts: Updated getStatus to accept a debugMode parameter, enabling detailed SNMP debug
|
||||
logging, explicitly reloading configuration, and printing connection details.
|
||||
|
||||
## 2025-03-25 - 2.0.0 - BREAKING CHANGE(snmp)
|
||||
|
||||
refactor: update SNMP type definitions and interface names for consistency
|
||||
|
||||
- Renamed SnmpConfig to ISnmpConfig, OIDSet to IOidSet, UpsStatus to IUpsStatus, and UpsModel to TUpsModel in ts/snmp/types.ts.
|
||||
- Updated internal references in ts/daemon.ts, ts/snmp/index.ts, ts/snmp/manager.ts, ts/snmp/oid-sets.ts, ts/snmp/packet-creator.ts, and ts/snmp/packet-parser.ts to use the new interface names.
|
||||
- Renamed SnmpConfig to ISnmpConfig, OIDSet to IOidSet, UpsStatus to IUpsStatus, and UpsModel to
|
||||
TUpsModel in ts/snmp/types.ts.
|
||||
- Updated internal references in ts/daemon.ts, ts/snmp/index.ts, ts/snmp/manager.ts,
|
||||
ts/snmp/oid-sets.ts, ts/snmp/packet-creator.ts, and ts/snmp/packet-parser.ts to use the new
|
||||
interface names.
|
||||
|
||||
## 2025-03-25 - 1.10.1 - fix(systemd/readme)
|
||||
|
||||
Improve README documentation and fix UPS status retrieval in systemd service
|
||||
|
||||
- Updated README features and installation instructions to clarify SNMP version support, UPS models, and configuration
|
||||
- Modified default SNMP host to '192.168.1.100' and added 'upsModel' property in configuration examples
|
||||
- Updated README features and installation instructions to clarify SNMP version support, UPS models,
|
||||
and configuration
|
||||
- Modified default SNMP host to '192.168.1.100' and added 'upsModel' property in configuration
|
||||
examples
|
||||
- Enhanced instructions for real-time log viewing and update process in README
|
||||
- Fixed systemd.ts to use a test configuration with an appropriate timeout when fetching UPS status
|
||||
|
||||
## 2025-03-25 - 1.10.0 - feat(core)
|
||||
|
||||
Add update checking and version logging across startup components
|
||||
|
||||
- In daemon.ts, log version info on startup and check for updates in the background using npm registry response
|
||||
- In nupst.ts, implement getVersion, checkForUpdates, getUpdateStatus, and compareVersions functions with update notifications
|
||||
- In daemon.ts, log version info on startup and check for updates in the background using npm
|
||||
registry response
|
||||
- In nupst.ts, implement getVersion, checkForUpdates, getUpdateStatus, and compareVersions functions
|
||||
with update notifications
|
||||
- Establish bidirectional reference between Nupst and NupstSnmp to support version logging
|
||||
- Update systemd service status output to include version information
|
||||
|
||||
## 2025-03-25 - 1.9.0 - feat(cli)
|
||||
|
||||
Add update command to CLI to update NUPST from repository and refresh the systemd service
|
||||
|
||||
- Integrate 'update' subcommand in CLI command parser
|
||||
- Update documentation and help output to include new command
|
||||
- Implement update process that fetches changes from git, runs install.sh/setup.sh, and refreshes systemd service if installed
|
||||
- Implement update process that fetches changes from git, runs install.sh/setup.sh, and refreshes
|
||||
systemd service if installed
|
||||
|
||||
## 2025-03-25 - 1.8.2 - fix(cli)
|
||||
|
||||
Refactor logs command to use child_process spawn for real-time log tailing
|
||||
|
||||
- Replaced execSync call with spawn to properly follow logs
|
||||
@@ -444,12 +546,15 @@ Refactor logs command to use child_process spawn for real-time log tailing
|
||||
- Await the child process exit to ensure clean shutdown of the CLI log command
|
||||
|
||||
## 2025-03-25 - 1.8.1 - fix(systemd)
|
||||
|
||||
Update ExecStart in systemd service template to use /opt/nupst/bin/nupst for daemon startup
|
||||
|
||||
- Changed ExecStart from '/usr/bin/nupst daemon-start' to '/opt/nupst/bin/nupst daemon-start' in the systemd service file
|
||||
- Changed ExecStart from '/usr/bin/nupst daemon-start' to '/opt/nupst/bin/nupst daemon-start' in the
|
||||
systemd service file
|
||||
- Ensures the service uses the correct binary installation path
|
||||
|
||||
## 2025-03-25 - 1.8.0 - feat(core)
|
||||
|
||||
Enhance SNMP module and interactive CLI setup for UPS shutdown
|
||||
|
||||
- Refactored SNMP packet parsing and encoding utilities for clearer error handling and debugging
|
||||
@@ -458,22 +563,28 @@ Enhance SNMP module and interactive CLI setup for UPS shutdown
|
||||
- Expanded test coverage with simulated SNMP responses for various response types
|
||||
|
||||
## 2025-03-25 - 1.7.6 - fix(core)
|
||||
|
||||
Refactor SNMP, systemd, and CLI modules to improve error handling, logging, and code clarity
|
||||
|
||||
- Removed unused dependency 'net-snmp' from package.json
|
||||
- Extracted helper functions for SNMP packet creation and parsing (using SnmpEncoder, SnmpPacketCreator and SnmpPacketParser)
|
||||
- Improved debug logging and added detailed documentation comments across SNMP, systemd, CLI and daemon modules
|
||||
- Extracted helper functions for SNMP packet creation and parsing (using SnmpEncoder,
|
||||
SnmpPacketCreator and SnmpPacketParser)
|
||||
- Improved debug logging and added detailed documentation comments across SNMP, systemd, CLI and
|
||||
daemon modules
|
||||
- Refactored systemd service management to extract status display and service disabling logic
|
||||
- Updated test suite to use proper modular methods from the new SNMP utilities
|
||||
|
||||
## 2025-03-25 - 1.7.5 - fix(cli)
|
||||
Enable SNMP debug mode in CLI commands and update debug flag handling in daemon-start and test; bump version to 1.7.4
|
||||
|
||||
Enable SNMP debug mode in CLI commands and update debug flag handling in daemon-start and test; bump
|
||||
version to 1.7.4
|
||||
|
||||
- Call enableDebug() on SNMP client earlier in command parsing
|
||||
- Pass debug flag to 'daemon-start' and 'test' commands for consistent debug output
|
||||
- Update package version from 1.7.3 to 1.7.4
|
||||
|
||||
## 2025-03-25 - 1.7.3 - fix(SNMP)
|
||||
|
||||
Refine SNMP packet creation and response parsing for more reliable UPS status monitoring
|
||||
|
||||
- Improve error handling and fallback logic when parsing SNMP responses
|
||||
@@ -481,13 +592,16 @@ Refine SNMP packet creation and response parsing for more reliable UPS status mo
|
||||
- Enhance test coverage for various UPS scenarios
|
||||
|
||||
## 2025-03-25 - 1.7.2 - fix(core)
|
||||
Refactor internal SNMP response parsing and enhance daemon logging for improved error reporting and clarity.
|
||||
|
||||
Refactor internal SNMP response parsing and enhance daemon logging for improved error reporting and
|
||||
clarity.
|
||||
|
||||
- Improved fallback and error handling in SNMP response parsing
|
||||
- Enhanced logging messages in daemon and systemd service management
|
||||
- Minor refactoring for better maintainability without functional changes
|
||||
|
||||
## 2025-03-25 - 1.7.1 - fix(snmp-cli)
|
||||
|
||||
Improve SNMP response parsing and CLI UPS connection timeout handling
|
||||
|
||||
- Expand parsing loop in SNMP responses to capture Gauge32 and Timeticks values
|
||||
@@ -495,14 +609,17 @@ Improve SNMP response parsing and CLI UPS connection timeout handling
|
||||
- Configure CLI test commands to use a shortened timeout for UPS connection tests
|
||||
|
||||
## 2025-03-25 - 1.7.0 - feat(SNMP/UPS)
|
||||
|
||||
Add UPS model selection and custom OIDs support to handle different UPS brands
|
||||
|
||||
- Introduce distinct OID sets for CyberPower, APC, Eaton, TrippLite, Liebert, and a custom option
|
||||
- Update interactive setup to prompt for UPS model selection and custom OID entry when needed
|
||||
- Refactor SNMP status retrieval to dynamically select the appropriate OIDs based on the configured UPS model
|
||||
- Refactor SNMP status retrieval to dynamically select the appropriate OIDs based on the configured
|
||||
UPS model
|
||||
- Extend default configuration with an upsModel property for consistent behavior
|
||||
|
||||
## 2025-03-25 - 1.6.0 - feat(cli,snmp)
|
||||
|
||||
Enhance debug logging and add debug mode support in CLI and SNMP modules
|
||||
|
||||
- Enable debug flags (--debug, -d) in CLI to trigger detailed SNMP logging
|
||||
@@ -511,6 +628,7 @@ Enhance debug logging and add debug mode support in CLI and SNMP modules
|
||||
- Improve timeout and discovery logging details for streamlined troubleshooting
|
||||
|
||||
## 2025-03-25 - 1.5.0 - feat(cli)
|
||||
|
||||
Enhance CLI output: display SNMPv3 auth/priv details and support timeout customization during setup
|
||||
|
||||
- Display authentication and privacy protocol details when SNMP version is 3
|
||||
@@ -519,10 +637,11 @@ Enhance CLI output: display SNMPv3 auth/priv details and support timeout customi
|
||||
- Allow users to customize SNMP timeout during interactive setup
|
||||
|
||||
## 2025-03-25 - 1.4.1 - fix(version)
|
||||
|
||||
Bump patch version for consistency with commit info
|
||||
|
||||
|
||||
## 2025-03-25 - 1.4.0 - feat(snmp)
|
||||
|
||||
Implement native SNMPv3 support with simulated encryption and enhanced authentication handling.
|
||||
|
||||
- Add fully native SNMPv3 GET request implementation replacing the snmpwalk fallback
|
||||
@@ -531,12 +650,14 @@ Implement native SNMPv3 support with simulated encryption and enhanced authentic
|
||||
- Introduce detailed security parameter management for SNMPv3
|
||||
|
||||
## 2025-03-25 - 1.3.1 - fix(cli)
|
||||
|
||||
Remove redundant SNMP tools checks in CLI and Systemd modules
|
||||
|
||||
- Eliminate unnecessary snmpwalk dependency checks in the test command and interactive setup flow.
|
||||
- Adjust systemd configuration file check to avoid external dependency verification.
|
||||
|
||||
## 2025-03-25 - 1.3.0 - feat(cli)
|
||||
|
||||
add test command to verify UPS SNMP configuration and connectivity
|
||||
|
||||
- Introduce a new 'test' command in the CLI to check the SNMP configuration and UPS connection.
|
||||
@@ -544,6 +665,7 @@ add test command to verify UPS SNMP configuration and connectivity
|
||||
- Output UPS status details and compare against defined shutdown thresholds.
|
||||
|
||||
## 2025-03-25 - 1.2.6 - fix(cli)
|
||||
|
||||
Refactor interactive setup to use dynamic import for readline and ensure proper cleanup
|
||||
|
||||
- Replaced synchronous require() with async import for ESM compatibility
|
||||
@@ -551,13 +673,16 @@ Refactor interactive setup to use dynamic import for readline and ensure proper
|
||||
- Enhanced error logging by outputting error.message
|
||||
|
||||
## 2025-03-25 - 1.2.5 - fix(error-handling)
|
||||
Improve error handling in CLI, daemon, and systemd lifecycle management with enhanced logging for configuration issues
|
||||
|
||||
Improve error handling in CLI, daemon, and systemd lifecycle management with enhanced logging for
|
||||
configuration issues
|
||||
|
||||
- Wrap daemon and service start commands in try-catch blocks to properly handle and log errors
|
||||
- Throw explicit errors when configuration file is missing instead of silently defaulting
|
||||
- Enhance log messages for service installation, startup, and status retrieval for clearer debugging
|
||||
|
||||
## 2025-03-25 - 1.2.4 - fix(cli/daemon)
|
||||
|
||||
Improve logging and user feedback in interactive setup and UPS monitoring
|
||||
|
||||
- Refactor configuration summary output in the interactive setup for clearer display
|
||||
@@ -565,17 +690,20 @@ Improve logging and user feedback in interactive setup and UPS monitoring
|
||||
- Improve error messages and user guidance during configuration and monitoring
|
||||
|
||||
## 2025-03-24 - 1.2.3 - fix(nupst)
|
||||
|
||||
No changes
|
||||
|
||||
|
||||
## 2025-03-24 - 1.2.2 - fix(bin/nupst)
|
||||
Improve symlink resolution in launcher script to correctly determine project root based on execution path.
|
||||
|
||||
Improve symlink resolution in launcher script to correctly determine project root based on execution
|
||||
path.
|
||||
|
||||
- Replace directory determination with readlink for accurate symlink resolution
|
||||
- Set project root to '/opt/nupst' when script is run via symlink from /usr/local/bin
|
||||
- Add debugging comments to assist with path resolution
|
||||
|
||||
## 2025-03-24 - 1.2.1 - fix(bin)
|
||||
|
||||
Simplify Node.js binary detection in installation script
|
||||
|
||||
- Directly set Node binary path to vendor/node-linux-x64/bin/node
|
||||
@@ -583,59 +711,78 @@ Simplify Node.js binary detection in installation script
|
||||
- Fallback to system Node if vendor binary is not found
|
||||
|
||||
## 2025-03-24 - 1.2.0 - feat(installer)
|
||||
|
||||
Improve Node.js binary detection and dynamic LTS version retrieval in setup scripts
|
||||
|
||||
- Enhanced bin/nupst to search multiple possible locations for the Node.js binary and fallback to system node if necessary
|
||||
- Updated setup.sh to fetch the latest LTS Node.js version from nodejs.org and use a fallback version when the request fails
|
||||
- Enhanced bin/nupst to search multiple possible locations for the Node.js binary and fallback to
|
||||
system node if necessary
|
||||
- Updated setup.sh to fetch the latest LTS Node.js version from nodejs.org and use a fallback
|
||||
version when the request fails
|
||||
|
||||
## 2025-03-24 - 1.1.2 - fix(setup.sh)
|
||||
Improve error handling in setup.sh: exit immediately when the downloaded npm package lacks the dist_ts directory, removing the fallback build-from-source mechanism.
|
||||
|
||||
Improve error handling in setup.sh: exit immediately when the downloaded npm package lacks the
|
||||
dist_ts directory, removing the fallback build-from-source mechanism.
|
||||
|
||||
- Removed BUILD_FROM_SOURCE logic that attempted to build from source on missing dist_ts directory
|
||||
- Updated error messages to clearly indicate failure in downloading a valid package
|
||||
- Ensured installation halts if essential files are missing
|
||||
|
||||
## 2025-03-24 - 1.1.1 - fix(package.json)
|
||||
|
||||
Remove unused prepublishOnly script and update files field in package.json
|
||||
|
||||
- Removed prepublishOnly build trigger
|
||||
- Updated files list to accurately include intended directories and files
|
||||
|
||||
## 2025-03-24 - 1.1.0 - feat(installer-setup)
|
||||
|
||||
Enhance installer and setup scripts for improved global installation and artifact management
|
||||
|
||||
- Detect piped installation in install.sh, clone repository automatically, and clean up previous installations
|
||||
- Detect piped installation in install.sh, clone repository automatically, and clean up previous
|
||||
installations
|
||||
- Update readme.md with correct repository URL and clearer installation instructions
|
||||
- Improve setup.sh to remove existing dist_ts, download build artifacts from the npm registry, and simplify dependency installation
|
||||
- Improve setup.sh to remove existing dist_ts, download build artifacts from the npm registry, and
|
||||
simplify dependency installation
|
||||
|
||||
## 2025-03-24 - 1.0.1 - fix(version)
|
||||
|
||||
Bump version to 1.0.1
|
||||
|
||||
- Updated commitinfo data to reflect the new patch version.
|
||||
- Synchronized version information between commitinfo file and package metadata.
|
||||
|
||||
## 2025-03-24 - 1.0.1 - fix(build)
|
||||
Update build script to use 'tsbuild tsfolders --allowimplicitany' and adjust distribution paths in .gitignore
|
||||
|
||||
Update build script to use 'tsbuild tsfolders --allowimplicitany' and adjust distribution paths in
|
||||
.gitignore
|
||||
|
||||
- Replaced 'tsc' with 'tsbuild tsfolders --allowimplicitany' in package.json
|
||||
- Updated .gitignore to reflect new compiled distribution folder pattern
|
||||
- Updated changelog to document build improvements and regenerated type definitions
|
||||
|
||||
## 2025-03-24 - 1.0.1 - fix(build)
|
||||
Update build script to use 'tsbuild tsfolders --allowimplicitany' and regenerate distribution type definitions for CLI, daemon, index, nupst, snmp, and systemd modules
|
||||
|
||||
Update build script to use 'tsbuild tsfolders --allowimplicitany' and regenerate distribution type
|
||||
definitions for CLI, daemon, index, nupst, snmp, and systemd modules
|
||||
|
||||
- Replaced 'tsc' command with tsbuild in package.json
|
||||
- Updated .gitignore to reflect new compiled distribution folder pattern
|
||||
- Added new dist_ts files including .d.ts type definitions and compiled JavaScript for multiple modules
|
||||
- Added new dist_ts files including .d.ts type definitions and compiled JavaScript for multiple
|
||||
modules
|
||||
|
||||
## 2025-03-24 - 1.0.1 - fix(build)
|
||||
Update build script to use 'tsbuild tsfolders --allowimplicitany' and regenerate distribution type definitions for CLI, daemon, nupst, snmp, and systemd modules.
|
||||
|
||||
Update build script to use 'tsbuild tsfolders --allowimplicitany' and regenerate distribution type
|
||||
definitions for CLI, daemon, nupst, snmp, and systemd modules.
|
||||
|
||||
- Replaced the 'tsc' command with 'tsbuild tsfolders --allowimplicitany' in package.json.
|
||||
- Added new dist_ts files including type definitions (d.ts) and compiled JavaScript for CLI, daemon, index, nupst, snmp, and systemd.
|
||||
- Added new dist_ts files including type definitions (d.ts) and compiled JavaScript for CLI, daemon,
|
||||
index, nupst, snmp, and systemd.
|
||||
- Improved the generated CLI declarations and overall distribution build.
|
||||
|
||||
## 2025-03-23 - 1.0.0 - initial setup
|
||||
|
||||
This range covers the early commits that mainly established the repository structure.
|
||||
|
||||
- Initial repository commit with basic project initialization.
|
||||
- Initial repository commit with basic project initialization.
|
||||
|
Reference in New Issue
Block a user