Releases: haskou/ddd-kernel
Releases · haskou/ddd-kernel
v2.0.0
Changes
- break(kernel): 💥 Improve kernel contracts and environment schema
Release details
- npm: https://www.npmjs.com/package/@haskou/ddd-kernel/v/2.0.0
- Pull request: #20
- Source branch:
break/kernel-quality-improvements - Version bump:
major
Pull request notes
Summary
- Add typed environment schema choices with runtime validation and literal TypeScript inference.
- Add environment schema metadata fields for documentation and operational tooling.
- Move kernel consumer and route registration types to core contracts with KernelConsumer and KernelRoute.
- Make adapter Consumer and Route implement/extend those kernel contracts.
- Document adapter-specific install/import paths and the registration contracts.
- Keep coverage focused on runtime kernel files instead of excluding all src/kernel.
Breaking changes
- Kernel consumer registration is now typed against KernelConsumer instead of the pub/sub adapter Consumer base class.
- Kernel route registration is now typed against KernelRoute instead of the UI adapter Route base class.
- Custom registered consumers must expose queueName and init(). Adapter consumers already comply.
- Custom registered routes should extend or be assignable to KernelRoute. Adapter routes already comply.
Validation
- yarn typecheck
- yarn lint
- yarn build
- yarn test:coverage
- yarn docs:build
- yarn format:check
- yarn --cwd example typecheck
v1.2.1
Changes
- fix(deps): ⬆️ update non-major dependencies - autoclosed - abandoned
Release details
- npm: https://www.npmjs.com/package/@haskou/ddd-kernel/v/1.2.1
- Pull request: #14
- Source branch:
renovate/non-major-dependencies - Version bump:
patch
Pull request notes
This PR contains the following updates:
| Package | Change | Age | Confidence | Type | Update |
|---|---|---|---|---|---|
| @haskou/eslint-config | ^0.1.2 → ^0.2.1 |
devDependencies | minor | ||
| @haskou/value-objects (source) | ^2.12.0 → ^2.13.1 |
dependencies | minor | ||
| class-validator | ^0.14.4 → ^0.15.1 |
peerDependencies | minor | ||
| class-validator | ^0.14.4 → ^0.15.1 |
devDependencies | minor | ||
| class-validator | ^0.14.4 → ^0.15.1 |
dependencies | minor | ||
| eslint (source) | ^10.5.0 → ^10.6.0 |
devDependencies | minor | ||
| mongodb | ^7.3.0 → ^7.4.0 |
peerDependencies | minor | ||
| mongodb | ^7.3.0 → ^7.4.0 |
devDependencies | minor | ||
| node | 22 → 22.23.1 |
uses-with | minor | ||
| node | 24 → 24.18.0 |
uses-with | minor | ||
| node-dependency-injection | 3.2.6 → 3.8.0 |
dependencies | minor | ||
| prettier (source) | ^3.8.4 → ^3.9.1 |
devDependencies | minor | ||
| tsup (source) | ^8.5.0 → ^8.5.1 |
devDependencies | patch | ||
| tsx (source) | ^4.21.0 → ^4.22.4 |
devDependencies | patch |
Release Notes
haskou/eslint-config (@haskou/eslint-config)
v0.2.1
Changes
- fix(lockfile): 🐛 Remove npm lockfile
Release details
- npm: https://www.npmjs.com/package/@haskou/eslint-config/v/0.2.1
- Pull request: #8
- Source branch:
fix/remove-package-lock - Version bump:
patch
Pull request notes
Summary
- Remove package-lock.json because this repository uses yarn.lock.
- Keep yarn.lock as the single tracked package manager lockfile.
Validation
- Checked that yarn.lock exists and package-lock.json is removed.
v0.2.0
Changes
- chore(deps): ⬆️ Add Renovate updates
Release details
- npm: https://www.npmjs.com/package/@haskou/eslint-config/v/0.2.0
- Pull request: #7
- Source branch:
feat/add-renovate - Version bump:
minor
Pull request notes
Summary
Add Renovate configuration for automated dependency update pull requests, document project status with README badges, and update the current dependency set.
Details
- Configure Renovate with the recommended preset, dependency dashboard, and semantic commits.
- Label dependency update pull requests with
dependencies. - Use
rangeStrategy: bumpfor non-peer dependencies so dependency ranges are updated in manifests. - Use
rangeStrategy: widenforpeerDependenciesto preserve the published compatibility contract. - Set Renovate commit messages to use
chore(deps): ⬆️ update ...formatting. - Group non-major dependency updates into a single pull request.
- Add README badges for CI, npm version, Renovate, and MIT license.
- Update outdated dependencies and refresh both
package-lock.jsonandyarn.lock.
Validation
- Parsed
renovate.jsonwith Node and verified peer dependencies userangeStrategy: widenwithout a rootrangeStrategyoverride. - Ran
npm outdated --json; no outdated packages were reported after the update. - Ran
npm run lint. - Ran
npm run pack:dry.
haskou/value-objects (@haskou/value-objects)
v2.13.1
Changes
- fix(docs): 🐛 separate documentation sections
Release details
- npm: https://www.npmjs.com/package/@haskou/value-objects/v/2.13.1
- Pull request: #24
- Source branch:
fix/docs-navigation - Version bump:
patch
Pull request notes
What changed
- Split documentation navigation into separate Getting Started, Guide, and Reference sections.
- Added a Guide index page.
- Removed the VitePress logo configuration and deleted the unused logo asset.
- Simplified the reference overview copy.
Why
The previous documentation sidebar mixed unrelated sections, which made the docs feel harder to navigate.
Validation
- Ran
yarn docs:build.
v2.13.0
Changes
- feat(deps): ⬆️ add Renovate dependency updates
Release details
- npm: https://www.npmjs.com/package/@haskou/value-objects/v/2.13.0
- Pull request: #23
- Source branch:
feat/add-renovate-dependency-updates - Version bump: `...
v1.2.0
Changes
- feat(kernel): ✨ Add typed environment schema
Release details
- npm: https://www.npmjs.com/package/@haskou/ddd-kernel/v/1.2.0
- Pull request: #13
- Source branch:
feat/typed-environment-schema - Version bump:
minor
Pull request notes
Summary
- Adds typed environment schemas for
Kernelso applications can declare expected variables, types and required/default values. - Parses
string,numberandbooleanenvironment values after loading dotenv files. - Throws
KernelEnvironmentValidationErrorwhen required variables are missing or values cannot be parsed. - Updates the example and docs to use
kernel.environmentwith inferred types.
Validation
yarn format:checkyarn lintyarn typecheckyarn test:coverage(100%)yarn docs:buildyarn buildyarn --cwd example typechecknpx -y depcheck --json
v1.1.0
Changes
- feat(kernel): ✨ Add environment variable loader
Release details
- npm: https://www.npmjs.com/package/@haskou/ddd-kernel/v/1.1.0
- Pull request: #12
- Source branch:
feat/environment-loader - Version bump:
minor
Pull request notes
Summary
- Adds
kernel.loadEnvironmentVariables(environment?)andKernel.loadEnvironmentVariables(environment?)backed bydotenv. - Adds
kernel.environmentandKernel.environmentas typed access points overprocess.env. - Documents environment loading, typed
NodeJS.ProcessEnvaugmentation and startup usage. - Updates the example to load environment variables before DI and adapter setup.
Validation
yarn format:checkyarn lintyarn typecheckyarn test:coverage(100%)yarn docs:buildyarn buildyarn --cwd example typechecknpx -y depcheck --json
v1.0.3
Changes
- fix(docs): 🐛 Clarify container build usage
Release details
- npm: https://www.npmjs.com/package/@haskou/ddd-kernel/v/1.0.3
- Pull request: #11
- Source branch:
fix/container-build-docs - Version bump:
patch
Pull request notes
Summary
- Corrects
containerBuildexamples so production loads the generated YAML instead of trying to rebuild fromsrc. - Documents when
containerBuild: trueshould be used. - Adds the npm package link to the docs navbar.
Validation
yarn format:checkyarn docs:build
v1.0.2
Changes
- docs: 📝 Clarify contracts and adapters
Release details
- npm: https://www.npmjs.com/package/@haskou/ddd-kernel/v/1.0.2
- Pull request: #10
- Source branch:
fix/clarify-contracts-and-adapters - Version bump:
patch
Pull request notes
Summary
- Adds a package map explaining core, contracts/domain primitives and optional adapters.
- Reworks installation by adapter group instead of listing random packages without context.
- Reorganizes VitePress reference navigation by Kernel, Contracts/Domain, Pub/Sub, DB, UI, Scheduling, Logs and WebSocket.
- Expands Kernel, DependencyInjection, ConsoleKernelLogger, Route and adapters docs with clearer responsibilities and options.
Validation
yarn format:checkyarn lintyarn typecheckyarn test:coverage(100%)yarn docs:buildyarn --cwd example typecheckyarn build
v1.0.1
Changes
- fix(deps): 🐛 Bundle core DI dependencies
Release details
- npm: https://www.npmjs.com/package/@haskou/ddd-kernel/v/1.0.1
- Pull request: #8
- Source branch:
fix/core-di-dependencies - Version bump:
patch
Pull request notes
Summary
- Moves core DI runtime packages
node-dependency-injectionandfs-extrainto package dependencies. - Removes those packages from optional peers so applications do not need to install them explicitly.
- Declares
class-transformerandclass-validatoras optional Express/routing-controllers peers and updates installation docs.
Validation
yarn format:checkyarn lintyarn typecheckyarn test:coverage(100%)yarn docs:buildyarn --cwd example typecheckyarn buildnpx -y depcheck --json
v1.0.0
Changes
- break(kernel): 💥 Add integration extension points
Release details
- npm: https://www.npmjs.com/package/@haskou/ddd-kernel/v/1.0.0
- Pull request: #7
- Source branch:
break/integration-extension-points - Version bump:
major
Pull request notes
Summary
- Adds a consumer middleware pipeline with built-in idempotency, correlation/causation and retry middleware.
- Adds metadata-aware consumer execution context and AMQP transport metadata propagation.
- Adds publisher hooks, domain-aware publish context and configurable post-publish hook error policy.
- Separates generic
MessageBusfrom domain-specificDomainMessageBus. - Extends
ExpressKernelServerwith external controllers, phase hooks, configurable middleware, controller DI integration, duplicate-run protection and an imperative HTTP pipeline registration API. - Adds
routingControllersOptionspassthrough foruseExpressServer, includingcors,defaultErrorHandlerand routing-controllers middleware classes. - Resolves
expressandrouting-controllersfrom the consumer application root so localfile:installs do not accidentally use a nested package runtime. - Adds a shared
HttpErrorHandlerfor Express/routing-controllers applications, covering malformed JSON, payload-too-large errors, custom app handlers, HTTP status errors, flattened validation errors and unhandled 500 responses. - Adds dependency injection overrides with
useClass,useValueanduseFactory, including support for unresolved references generated from external package imports. - Keeps the instance kernel active during dependency injection so the instance API and legacy static facade stay aligned.
- Adds
kernel.dependencyInjection({ containerBuild })so applications can choose container generation explicitly, while keepingCONTAINER_BUILD=trueas fallback. - Adds TypeScript
moduleResolution: nodesupport coverage. - Polishes the example app with constructor injection, consumer middleware registration, HTTP middleware/hooks/error handling, shutdown hooks and explicit DI build configuration.
- Removes the README stability section now that this is intentionally a major-impact API change.
- Raises coverage thresholds to 100% for statements, branches, functions and lines.
- Adds Renovate dependency automation, a README dependency automation badge and compatible dependency updates.
Breaking changes
MessageBusin@haskou/ddd-kernel/contracts/pubsubis now a generic pub/sub contract. Domain-event buses should useDomainMessageBusfrom@haskou/ddd-kernel/domain.- Route/controller construction can now be delegated to the kernel DI container through
ExpressKernelServer, which changes the recommended route wiring style to constructor injection. - The Express adapter now exposes explicit registration APIs for controllers, middleware, hooks and error handlers; applications should prefer those over ad-hoc local wrappers.
Documentation
Updated docs cover:
- consumer middleware pipeline, metadata and idempotency store expectations
- message bus publisher hooks and hook error policy
- Express phase hooks, external controller registration, HTTP middleware registration,
routingControllersOptions, optionalcorspeer usage andHttpErrorHandler - app-specific HTTP error mappings through
HttpErrorHandler({ handlers }) - scheduler error policy usage
- dependency injection build configuration through
kernel.dependencyInjection({ containerBuild }) - dependency injection overrides for swapping adapters in tests/runtime bootstrap
- external package contract overrides for generated
node-dependency-injectionreferences - TypeScript classic
moduleResolution: nodecompatibility - Renovate dependency automation and README badges
- README branch/release positioning without the old stability section
Validation
yarn format:checkyarn lintyarn typecheckyarn testyarn test:coverage(100% statements, branches, functions and lines)yarn docs:buildyarn --cwd example typecheckyarn --cwd example buildNODE_ENV=development PORT=0 timeout 8 yarn --cwd example start
v0.1.1
Changes
- test(coverage): ✅ Raise Codecov coverage to 100%
Release details
- npm: https://www.npmjs.com/package/@haskou/ddd-kernel/v/0.1.1
- Pull request: #5
- Source branch:
fix/codecov-100-coverage - Version bump:
patch
Pull request notes
Summary
- Aligns the coverage command used by CI with the covered runtime surface.
- Adds focused tests for route adapters and AMQP DLX error handling.
- Updates the README so it presents the package purpose, scope and release branch policy instead of duplicating usage docs.
Validation
yarn lintyarn typecheckyarn testyarn test:coverageyarn docs:build
Notes
The branch follows the repository release convention: fix/codecov-100-coverage.