Releases: sapientpants/agentic-node-ts-starter
v0.22.4
Patch Changes
-
#144
3ba6bfe- chore: update dependencies to latest versions- Updated pino from 10.0.0 to 10.1.0 (production dependency)
- Updated @typescript-eslint/eslint-plugin from 8.46.0 to 8.46.2 (dev)
- Updated @typescript-eslint/parser from 8.46.0 to 8.46.2 (dev)
- Updated @cyclonedx/cdxgen from 11.9.0 to 11.10.0 (dev)
- Updated @types/node from 24.7.2 to 24.9.1 (dev)
- Updated changelog-github-custom from 1.2.5 to 1.2.7 (dev)
- Updated eslint from 9.37.0 to 9.38.0 (dev)
- Updated lint-staged from 16.2.4 to 16.2.5 (dev)
- Updated vite from 7.1.9 to 7.1.11 (dev)
All tests passing with 80%+ coverage maintained.
-
#138
9b4a94c- feat(ci): support conditional publishing with skipped distribution jobsEnhanced the release workflow to allow GitHub releases to proceed successfully
when Docker or npm publishing jobs are conditionally skipped, rather than
blocking the entire release pipeline.Changes:
- Updated create-release job condition to check if Docker/npm jobs succeeded OR were skipped
- Added workflow cancellation check for improved reliability
- Enables flexible release configurations where not all distribution channels need to be active
This allows releases to complete successfully even when optional publishing
steps (Docker to Docker Hub, npm to registry) are disabled via configuration
or missing credentials, while still creating the GitHub release with artifacts. -
#137
3b282dc- chore: update dependencies to latest versionsUpdated production and dev dependencies to their latest versions:
Production dependencies:
- pino: 9.10.0 → 10.0.0 (major update with improved performance)
- pino-roll: 3.1.0 → 4.0.0 (major update for compatibility with pino 10)
- zod: 4.1.9 → 4.1.12 (patch updates)
Dev dependencies:
- @commitlint/cli: 19.8.1 → 20.1.0
- @commitlint/config-conventional: 19.8.1 → 20.0.0
- @cyclonedx/cdxgen: 11.7.0 → 11.9.0
- @types/node: 24.5.1 → 24.7.2
- @typescript-eslint/eslint-plugin: 8.44.0 → 8.46.0
- @typescript-eslint/parser: 8.44.0 → 8.46.0
- eslint: 9.35.0 → 9.37.0
- eslint-plugin-jsonc: 2.20.1 → 2.21.0
- jsonc-eslint-parser: 2.4.0 → 2.4.1
- lint-staged: 16.1.6 → 16.2.4
- pino-pretty: 13.1.1 → 13.1.2
- typescript: 5.9.2 → 5.9.3
- vite: 7.1.5 → 7.1.9
All tests passing with 80%+ coverage maintained. No breaking changes to public API.
v0.22.3
v0.22.2
v0.22.1
Patch Changes
- #121
8ff05b0- chore: update dependencies to latest versions- Updated production dependencies:
- pino: 9.9.0 → 9.9.5
- zod: 4.1.4 → 4.1.8
- Updated dev dependencies:
- @changesets/cli: 2.29.6 → 2.29.7
- @cyclonedx/cdxgen: 11.6.0 → 11.7.0
- @types/node: 24.3.0 → 24.3.1
- @typescript-eslint/eslint-plugin: 8.41.0 → 8.43.0
- @typescript-eslint/parser: 8.41.0 → 8.43.0
- eslint: 9.34.0 → 9.35.0
- fast-check: 4.2.0 → 4.3.0
- lint-staged: 16.1.5 → 16.1.6
- All tests passing with 100% compatibility
- Updated production dependencies:
v0.22.0
Minor Changes
- #117
288eede- feat: implement custom changelog generator- Add custom changelog generator based on @changesets/changelog-github
- Fix typo in variable name (updatedDepenenciesList → updatedDependenciesList)
- Add proper TypeScript types with Options interface
- Remove unnecessary dotenv dependency
Patch Changes
v0.21.1
Patch Changes
- #109
98a0293Thanks @sapientpants! - fix: resolve race condition in logger-output tests- Fixed intermittent test failures that were causing CI/CD pipeline issues
- Tests now use explicit file paths to prevent conflicts
- Increased cleanup delay for async operations to complete properly
v0.21.0
Minor Changes
-
#104
2fd789bThanks @sapientpants! - feat: Add configurable logging output destinationsAdds comprehensive support for multiple logging output destinations to provide flexibility for different deployment scenarios and application architectures.
Key features:
- Multiple output destinations: stdout, stderr, file, syslog, null
- File logging with rotation support (size and count limits)
- Programmatic API for runtime output switching
- Preserves all existing logger features (context, correlation IDs, redaction)
- Backward compatible with no breaking changes
This enables developers to:
- Redirect logs to stderr for applications that use stdout for data output
- Write logs to files with automatic rotation for long-running services
- Send logs to centralized syslog servers for enterprise environments
- Disable logging entirely with the null output for testing or special cases
For detailed usage, see docs/LOGGING_OUTPUT.md
Patch Changes
-
#105
834f02bThanks @sapientpants! - fix: resolve file rotation test race condition in CI- Create unique test directories for each test iteration to avoid conflicts
- Add configurable timeout for file operations in CI environments
- Implement proper cleanup with error handling using try-finally blocks
- Remove console statement to comply with linting rules
This fixes the intermittent ENOENT errors when pino-roll tries to access
rotation files that may have been cleaned up by concurrent tests. -
#104
2fd789bThanks @sapientpants! - feat: Add comprehensive security validation for logging configuration- Add path traversal protection for file logging paths
- Validate syslog hostnames and ports to prevent injection attacks
- Block writing logs to restricted system directories
- Set explicit file permissions (640 by default) for log files
- Create directories with restrictive permissions (750)
- Add proper cleanup for file descriptors to prevent resource leaks
- Add configurable test timeouts for CI reliability
- Improve error handling with fallback to stdout on validation failures
- Add comprehensive security documentation
v0.20.0
Minor Changes
-
#103
0825690Thanks @sapientpants! - feat: Add mandatory Zod-based environment configuration loader- Added comprehensive environment configuration system with Zod validation
- Configuration is now MANDATORY - application won't start without valid config
- Type-safe access to all environment variables with TypeScript inference
- Automatic sensitive value masking in error messages
- Comprehensive documentation and examples in docs/CONFIG.md
- Full test coverage with 25 tests
- Helper functions for checking and accessing configuration values
Closes #99
v0.19.8
Patch Changes
-
#102
322a0e2Thanks @sapientpants! - docs: Clarify Docker healthcheck configuration and requirements- Created comprehensive Docker configuration guide (docs/DOCKER.md) with detailed healthcheck instructions
- Added prominent comments to Dockerfile explaining healthcheck expectations and linking to documentation
- Created optional health endpoint example file (src/health.example.ts) demonstrating implementation patterns
- Updated README.md to reference Docker documentation and warn about healthcheck requirements
- Provided configuration examples for different application types: web services, CLI tools, workers, and API services
- Included troubleshooting guide and container orchestration examples (Docker Compose, Kubernetes, ECS)
This change addresses issue #98 by providing clear guidance on Docker healthcheck configuration, helping developers understand and properly configure healthchecks for their specific application types.
v0.19.7
Patch Changes
-
#101
4bfdf9fThanks @sapientpants! - docs: Improve clarity of example code marking in starter template- Added prominent header comments to all example files (src/index.ts, tests/*.spec.ts) marking them as "EXAMPLE CODE - REPLACE WITH YOUR IMPLEMENTATION"
- Added subtle header comments to template infrastructure files marking them as production-ready and customizable
- Updated GETTING_STARTED.md with an info box clearly distinguishing between example code to remove and template infrastructure to keep
- Added note to README.md explaining that the template includes marked example code
- All files now have clear visual indicators helping developers quickly identify what to keep vs. what to replace
This change addresses issue #97 by making it immediately apparent which files are examples versus production-ready template code, reducing confusion for new users adopting the starter template.