99 Commits

Author SHA1 Message Date
GitHub Action d26dab0aee chore: release v3.26.4
Patch bump for 1 other change(s)

This stable release includes all changes from the develop branch.

🤖 Generated by automated stable release workflow
2025-06-13 22:14:13 +00:00
GitHub Action af1d0af811 chore: release v3.26.3
Patch bump due to 5 bug fix(es)

This stable release includes all changes from the develop branch.

🤖 Generated by automated stable release workflow
2025-06-13 22:11:52 +00:00
GitHub Action 94877bc6c6 chore: release v3.26.2
Patch bump due to 1 bug fix(es)

This stable release includes all changes from the develop branch.

🤖 Generated by automated stable release workflow
2025-06-13 18:14:30 +00:00
GitHub Action eadc0c2468 chore: release v3.26.1
Patch bump due to 1 bug fix(es)

This stable release includes all changes from the develop branch.

🤖 Generated by automated stable release workflow
2025-06-13 18:05:41 +00:00
GitHub Action e5b697290b chore: release v3.26.0
Minor bump due to 1 new feature(s)

This stable release includes all changes from the develop branch.

🤖 Generated by automated stable release workflow
2025-06-13 17:54:29 +00:00
GitHub Action 95fcd6939a chore: release v3.25.4
Patch bump for 1 other change(s)

This stable release includes all changes from the develop branch.

🤖 Generated by automated stable release workflow
2025-06-13 16:45:45 +00:00
GitHub Action 63c51e5ff0 chore: release v3.25.3
Patch bump due to 3 bug fix(es)

This stable release includes all changes from the develop branch.

🤖 Generated by automated stable release workflow
2025-06-13 16:17:32 +00:00
GitHub Action cb79ef2395 chore: release v3.25.2
Patch bump due to 2 bug fix(es)

This stable release includes all changes from the develop branch.

🤖 Generated by automated stable release workflow
2025-06-13 15:57:18 +00:00
GitHub Action 2ae8c6b8f7 chore: release v3.25.1
Patch bump due to 1 bug fix(es)

This stable release includes all changes from the develop branch.

🤖 Generated by automated stable release workflow
2025-06-13 15:51:17 +00:00
GitHub Action 14b7dc749f chore: release v3.25.0
Minor bump due to 9 new feature(s)

This stable release includes all changes from the develop branch.

🤖 Generated by automated stable release workflow
2025-06-13 15:49:30 +00:00
rcourtman 1a7b88808b chore: release v3.24.0 2025-06-13 10:29:17 +01:00
rcourtman 9b06ce3311 chore: cleanup leftover release files and update dependencies 2025-06-13 10:26:54 +01:00
rcourtman 6afc02b674 chore: release v3.23.1 2025-06-13 00:08:01 +01:00
rcourtman 92742cc5b7 chore: release v3.23.0 2025-06-11 16:12:49 +01:00
courtmanr@gmail.com 5084aa9668 chore: release v3.22.2-rc.2 2025-06-04 19:14:42 +01:00
courtmanr@gmail.com 1d6f4b8a64 feat: add RC testing version with visual indicators
- Add RC badge to header for easy identification
- Update page title to indicate RC version
- Prepare v3.22.2-rc.1 for testing update mechanism
2025-06-04 15:23:03 +01:00
courtmanr@gmail.com bb4a06d1bb feat: implement sudoless update system with polkit integration
- Add polkit rule for sudoless service management
- Improve update manager with multi-strategy restart approach
- Fix npm dependency conflicts in update process
- Add comprehensive test suite for update system
- Enhance frontend update progress tracking
- Update install script with automatic polkit setup
2025-06-04 15:20:00 +01:00
courtmanr@gmail.com c8e1f5d360 chore: release v3.22.1-rc.1 2025-06-04 14:24:51 +01:00
courtmanr@gmail.com acd2223ff6 chore: release v3.22.0 2025-06-04 14:21:23 +01:00
courtmanr@gmail.com b827a90bd9 chore: release v3.21.0-rc.2 2025-06-04 10:53:30 +01:00
courtmanr@gmail.com ccf3525618 chore: release v3.21.0-rc.1 2025-06-03 21:11:47 +01:00
courtmanr@gmail.com 4c67aab7e8 chore: release v3.20.0 2025-06-02 18:50:19 +01:00
courtmanr@gmail.com 8ff6f8f366 test: significantly improve test coverage and fix Jest configuration
## Test Coverage Achievements
- **apiClients.js**: 100% statement coverage 
- **configLoader.js**: 100% statement coverage 
- **pbsUtils.js**: 100% statement coverage 
- **Overall coverage**: 77.97% (up from 77.83%)
- **All tests passing**: 116/116 

## Key Improvements

### Jest Configuration
- Fix Jest configuration to use V8 coverage provider instead of Babel
- Resolve Babel/Istanbul errors that were preventing tests from running
- Add `testEnvironment: "node"` and `coverageProvider: "v8"` settings

### Test Coverage Enhancements
- **pbsUtils.js**: Export and test `categorizeAndCountTasks` function for complete coverage
- **configLoader.js**: Add test for config directory loading path
- **dataFetcher.js**: Add defensive null checking for API clients and comprehensive test fixes
- **All test files**: Update test expectations to match current application behavior

### Test Reliability
- Fix config tests to match new setup mode behavior instead of error throwing
- Update dataFetcher tests for correct API call sequences and error messages
- Add proper mock data for backup functionality testing
- Resolve test flakiness with proper async handling

### Code Quality
- Add null safety check in dataFetcher for missing API client endpoints
- Export previously internal function for better testability
- Maintain backward compatibility while improving robustness

## Files Changed
- `package.json`: Update Jest configuration
- `server/pbsUtils.js`: Export categorizeAndCountTasks function
- `server/dataFetcher.js`: Add null client validation
- `server/tests/*.test.js`: Comprehensive test updates and additions

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-02 09:49:48 +01:00
courtmanr@gmail.com 945c3e4320 fix: upgrade Nodemailer to 7.0.3 and resolve Express 5 route conflicts
- Upgraded Nodemailer 6.10.1 → 7.0.3 (fully compatible with SMTP usage)
- Temporarily keep Express 4.21.2 due to path-to-regexp v8 breaking changes
- Removed duplicate threshold routes from configApi.js (moved to thresholdRoutes.js)
- Express 5 upgrade will require route pattern updates for compatibility

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-02 09:47:21 +01:00
courtmanr@gmail.com ade598d295 chore: upgrade Express to 5.1.0 and Nodemailer to 7.0.3
- Express 4.21.2 → 5.1.0: Major version upgrade with improved performance
- Nodemailer 6.10.1 → 7.0.3: Major version upgrade with SESv2 support
- Both upgrades are fully compatible with existing codebase
- No breaking changes affect current SMTP usage or Express routes
- Automated dependency security and feature improvements

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-02 09:38:41 +01:00
courtmanr@gmail.com 6b9c464072 chore: release v3.19.0 2025-06-01 23:27:39 +01:00
courtmanr@gmail.com 3ba287fd50 chore: release v3.18.0 2025-06-01 21:30:12 +01:00
courtmanr@gmail.com 29889e5e10 feat: implement email notifications for alerts
- Add nodemailer dependency for SMTP email sending
- Implement email notification channel in AlertManager
- Add rich HTML email templates with alert details
- Create email configuration UI in settings page
- Add test email functionality with validation
- Support for multiple recipients and Gmail app passwords
- Addresses feature request in issue #111

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-01 21:03:28 +01:00
courtmanr@gmail.com b58baa9d14 fix: resolve update mechanism issues and add test mode
- Fix download URL property mismatch (downloadUrl vs browser_download_url)
- Add comprehensive error logging for update failures
- Create test mode for update mechanism (UPDATE_TEST_MODE=true)
- Add test script for easy update testing without releases
- Improve restart logic for different deployment environments
- Add tar package dependency for creating update packages
- Update .gitignore to exclude backup and temp directories
- Add documentation for update testing workflow

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-31 23:38:08 +01:00
courtmanr@gmail.com d0c7b9fbc1 3.17.3 2025-05-31 22:57:26 +01:00
courtmanr@gmail.com ff17a1786a 3.17.2 2025-05-31 22:36:12 +01:00
courtmanr@gmail.com 65a556bc68 fix: update Express to 4.21.2 to resolve security vulnerabilities
Fixes 7 Dependabot security alerts:
- HIGH: path-to-regexp ReDoS vulnerabilities (CVE-2024-45296, CVE-2024-45813)
- HIGH: body-parser DoS vulnerability (CVE-2024-45590)
- LOW: cookie out of bounds characters (CVE-2024-47764)
- LOW: express XSS via response.redirect() (CVE-2024-43796)
- LOW: send/serve-static template injection XSS (CVE-2024-43799, CVE-2024-43800)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-31 22:33:31 +01:00
courtmanr@gmail.com 0cfce98e16 chore: release v3.17.1 2025-05-31 22:10:02 +01:00
courtmanr@gmail.com 12bf7d2473 chore: release v3.17.0 2025-05-31 18:12:32 +01:00
courtmanr@gmail.com 88c5146bee fix: resolve path-to-regexp error by pinning Express to 4.19.2
- Downgrade Express from ^4.21.2 to 4.19.2 to avoid path-to-regexp compatibility issues
- Express 4.21.x includes a newer version of path-to-regexp with breaking changes
- Routes with multiple parameters (e.g., /api/thresholds/:endpointId/:nodeId/:vmid) were causing startup failures
- This resolves the "pulse-monitor.service: Failed with result 'exit-code'" error

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-31 14:42:50 +01:00
courtmanr@gmail.com 93c14b6ecb fix: resolve Express v5 compatibility issues and improve server startup
- Downgrade Express from ^5.1.0 to ^4.21.2 to resolve path-to-regexp v8 compatibility issues
- Fix "Missing parameter name" server startup error caused by Express v5/path-to-regexp v8 breaking changes
- Move initial discovery cycle to background execution to allow immediate HTTP server startup
- Remove conflicting server/node_modules directory that contained outdated path-to-regexp

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-31 14:17:11 +01:00
courtmanr@gmail.com 1590d7a385 chore: release v3.16.0 2025-05-31 11:51:08 +01:00
courtmanr@gmail.com b804acfe2d chore: release v3.15.0 2025-05-30 23:50:41 +01:00
courtmanr@gmail.com d48998e611 chore: release v3.14.0 2025-05-30 18:20:33 +01:00
courtmanr@gmail.com e1bc163886 chore: release v3.13.0 2025-05-30 15:22:48 +01:00
courtmanr@gmail.com 395c7c4669 fix: use GNU tar to eliminate macOS extended attributes completely
- Auto-detect and prefer GNU tar (gtar) when available
- Fallback to BSD tar with COPYFILE_DISABLE=1 if GNU tar not available
- Verified: GNU tar produces clean tarballs with zero warnings
- Final solution for macOS extended attribute issues
2025-05-29 23:39:51 +01:00
courtmanr@gmail.com 7828346de0 fix: completely eliminate macOS extended attributes from tarballs
- Strip extended attributes from source files before copying
- Add final cleanup step to remove attributes from staging directory
- Verified: tar extraction produces zero warnings
- Version 3.12.5 - the definitive fix
2025-05-29 23:35:36 +01:00
courtmanr@gmail.com 18c2579bc2 fix: add COPYFILE_DISABLE=1 to all cp commands in release script
- Prevents macOS extended attributes from being included in tarball
- Fixes tar extraction warnings for all copied files
- Version bump to 3.12.4 for testing
2025-05-29 23:31:54 +01:00
courtmanr@gmail.com c770c07671 chore: release v3.12.3
- Test tarball creation script to prevent macOS extended attribute warnings
- Minor improvements to data fetcher
2025-05-29 23:22:42 +01:00
courtmanr@gmail.com f8d7410976 chore: begin development for next release 2025-05-29 22:57:02 +01:00
courtmanr@gmail.com 41bcd72c7d chore: release v3.12.2 2025-05-29 22:52:51 +01:00
courtmanr@gmail.com 5b7b8bc787 chore: begin development for next release 2025-05-29 16:34:10 +01:00
courtmanr@gmail.com c2d2abbcd9 chore: release v3.12.0 2025-05-29 16:30:07 +01:00
dependabot[bot] 3d7883620d build(deps): bump p-limit from 4.0.0 to 6.2.0 (#79)
Bumps [p-limit](https://github.com/sindresorhus/p-limit) from 4.0.0 to 6.2.0.
- [Release notes](https://github.com/sindresorhus/p-limit/releases)
- [Commits](https://github.com/sindresorhus/p-limit/compare/v4.0.0...v6.2.0)

---
updated-dependencies:
- dependency-name: p-limit
  dependency-version: 6.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-27 09:59:17 +01:00
courtmanr@gmail.com 3f3afaac5d fix: Resolve test failures and integrate recent UI/backend updates 2025-05-26 22:08:12 +01:00