All notable changes to Port Keeper will be documented in this file.
- Node.js 24+ Support: Upgraded better-sqlite3 from v9 to v12 to support Node.js 18–24+
- C++20 Compilation Error: Resolved
"C++20 or later required"build failure on Node 23+
- CLI Wrapper: Detects Node.js version and better-sqlite3 compatibility before attempting load
- Postinstall Script: Logs Node.js version, falls back to
npx node-gypifnpm rebuildfails - Doctor Script: Checks version compatibility and advises upgrade when better-sqlite3 is too old
- Error Messages: All native module errors now include the Node.js version and actionable next steps
- Documentation Links: Updated all references to use correct GitHub repository (ahmadzein/portkeeper)
- README Links: Fixed GitHub clone URLs and added GitHub link to header
- Website Installation: Corrected npm install command from "portmanager" to "portkeeper"
- User Manual: Updated all references to use correct package name and repository
- CLI AI Command: Changed "Port Manager" to "Port Keeper" in AI integration guide
- GitHub: https://github.com/ahmadzein/portkeeper
- npm: https://www.npmjs.com/package/portkeeper
- Websites: https://portkeeper.net and https://portkeeper.dev
- Domain Updates: Confirmed README uses correct domains (portkeeper.net and portkeeper.dev)
- Active Ports Sorting: Verified sorting functionality is properly implemented in GUI
- Active Ports Search: Confirmed search filters by port, PID, process, project, and description
- No code changes needed - existing implementation is correct
- If sorting/search appears broken, try clearing browser cache or reinstalling
- Removed PostInstall Script: Removed automatic postinstall due to npm global install limitations
- Documentation: Added clear instructions for manual
npm rebuildif needed
- Users experiencing NODE_MODULE_VERSION errors should run
npm rebuild -g better-sqlite3
- PostInstall Directory: Fixed postinstall script to use correct directory during npm global install
- Installation Path: Use __dirname instead of process.cwd() for reliable path resolution
- Module Type Conflict: Renamed postinstall scripts to .cjs extension to work with ES module package
- Ensure-Electron Script: Converted to CommonJS and renamed to .cjs for compatibility
- Postinstall Reliability: Scripts now properly handle both local and global npm installations
- PostInstall Script: Switched to CommonJS for better npm compatibility
- Error Handling: PostInstall script no longer exits with error to prevent npm install failures
- PostInstall Script Directory: Fixed postinstall script to use correct working directory with INIT_CWD
- NPM Global Install: Resolved better-sqlite3 rebuild issues during global npm installation
- PostInstall Script: Fixed ES module configuration by adding package.json to scripts folder
- Native Module Rebuild: Resolved NODE_MODULE_VERSION mismatch errors during npm install
- Better-sqlite3 Compatibility: Ensured proper rebuilding for different Node.js versions
- Native Module Compatibility: GUI now automatically rebuilds better-sqlite3 for Electron when needed
- Dev Tools Issue: Fixed dev tools opening in production - now only opens with
--devflag - NODE_MODULE_VERSION Error: Resolved the ABI version mismatch between Node.js and Electron
- Automatic Module Rebuilding:
portman guinow checks and rebuilds native modules automatically - Smart Electron Installation: GUI command can install Electron on-demand if missing
- Post-Install Script: Improved setup process that prepares modules for both CLI and GUI
- Skip Rebuild Option: Added
--skip-rebuildflag for troubleshooting
- Better error messages with helpful recovery suggestions
- Seamless GUI launch experience - no manual setup required
- Clear feedback during installation and module preparation
- Seamless GUI Integration: GUI is now included in the npm package with optional Electron dependency
- Smart Installation: Use
npm install -g portkeeper --include=optionalfor GUI support - Automatic GUI Detection: The
portman guicommand automatically detects if Electron is available - Installation Help: Clear instructions when GUI dependencies are missing
- GUI is no longer a separate download - it's included in the main package
- Electron is now an optional dependency to keep CLI-only installations lightweight
- Updated all documentation to reflect new installation methods
- Improved GUI launch command with better error handling
- Fixed GUI file paths in npm package distribution
- Updated .npmignore to include necessary GUI files
- Corrected all branding references to "Port Keeper"
- Published to npm registry as
portkeeper - Renamed project from "portmanager" to "portkeeper" due to npm naming conflicts
- Updated all branding and references
- Changed repository URL to https://github.com/ahmadzein/portkeeper
- Updated marketing website to portkeeper.net
- Complete CLI with all port management commands
- Full-featured GUI with Electron + React
- SQLite database for port persistence
- JSON output support for all commands
- AI agent integration guide
- Comprehensive documentation
- Check port status
- Reserve ports with metadata
- List all reserved ports
- Release ports (with bulk support)
- Kill processes on ports
- Scan active ports
- Request multiple ports dynamically
- Export/Import configurations
- Visual GUI dashboard
- Dark/Light theme support
- Keyboard shortcuts
- Cross-platform support (macOS, Windows, Linux)