Repository navigation
Releases: teqfw/db
Releases · teqfw/db
Release list
2.4.0
Requirements
- Require Node.js 22 or newer (previously 20.17) and
@teqfw/di2.11 or newer within the 2.x line (previously 2.7).
Fixed in 2.4.0
- Describe connections using the selected dialect: SQLite logs its filename; server databases log database, host, and user without treating leftover filename settings as SQLite configuration.
- Omit raw connection setup errors from logs to avoid disclosing credentials while preserving the original thrown error.
- Resolve checked-JavaScript contract errors and verify the published declarations against a consumer of the actual npm artifact.
Documentation
- Clarify when independent applications sharing database space need an application-map prefix; packages contributing to one application do not require an extra prefix.
- Guide concise domain-based DEM names and explicit migration planning for logical path or physical prefix changes.
- Keep compilation access internal to
Schema; hosts retain the successful loader result for preparation and history operations.
Development Snapshot Compatibility
- Table-backed identity allocation and the public
Schema.getCompilation()getter existed only in intermediate development commits after 2.3.0 and are not part of this release. - Consumers of those snapshots must retain the loader result instead of calling the getter. Databases created with allocated identities require an explicit migration/rebuild to native generation, preserving IDs, foreign keys, and native sequence state; changing the map alone does not convert existing storage.
Security
- Bind legacy PostgreSQL sequence names and values instead of interpolating SQL, validate sequence values before execution, and restore imported sequences through the active transaction.
- Preserve special JSON keys during fingerprinting and prevent inherited-property merges and prototype mutation.
- Replace the Markdown CLI dependency tree with a direct library runner and an override for the patched KaTeX line.
Development and Publication
- Bound
@teqfw/logto 2.x and align Node.js declaration dependencies with Node.js 22. - Add a verification command, publication checks, Node.js 22/24 CI, and a private vulnerability reporting policy.
- Document agent-operated local npm publication with lifecycle verification; GitHub Actions only verifies changes.
- Inspect a real npm tarball and verify its source syntax, consumer types, closed exports, and runtime DI resolution.
- Remove obsolete scripts that deleted the dependency lockfile and development assets.
2.3.0
2.3.0 - 2026-09-03
Added in 2.3.0
- Added optional lowercase dot-delimited root namespaces for concise DEM fragments.
- Published
teqfw.db.schemaas an ordinary package-owned DEM fragment for immutable schema snapshots and application history.
Changed
- Expanded fragment roots before composition, resolved local relation paths against the expanded root, and preserved source provenance.
- Simplified the package-owned declaration by omitting empty optional nodes; the compiler handles omitted nodes as empty structures.
- Ensured
etc/teqfw.schema.jsonis included in the npm package and clarified the product positioning and integration boundaries in the README.
Removed in 2.3.0
- Removed the duplicate
RELEASE.md;CHANGELOG.mdis now the single release history.
@teqfw/db 2.2.0
Breaking changes
- DEM declarations and application maps must explicitly set
version: 2. - DEM v1 decoding, compatibility facades, legacy physical projections, legacy CRUD, legacy selection DTOs, and the logger facade were removed.
- The connection accessor is now
getClient();getKnex()is removed.
Highlights
- Verification is organized into unit, integration, acceptance, opt-in, package, manual, and fixture layers.
- The retained
v1branch remains the historical reference for consumer-specific migration guidance.
@teqfw/db 2.1.1
Changed
- Reworked the README with the current package overview, boundaries, installation guidance, and agent-skill usage.
See CHANGELOG.md for details.
@teqfw/db 2.1.0
Highlights
- Added validated DEM compilation, diagnostics, schema planning, and rebuild execution.
- Added PostgreSQL, MySQL, SQLite, and PostgreSQL pgvector dialect support.
- Migrated runtime composition to
@teqfw/di2.x and the current TeqFW configuration contracts. - Added public type declarations and package-owned consumer guidance.
Breaking changes
- Consumers must use the DI 2.x composition model and the current configuration contract.
- The previous implementation remains available on the
v1branch.
See CHANGELOG.md for details.
Enhanced selection DTO handling and order-by consistency
- Refactored
TeqFw_Db_Shared_Dto_List_Selection: separated class definition from metadata and improved DTO
initialization via.create(). - Added
TeqFw_Db_Shared_Util_Selectutility for composing selection DTOs from basic JS objects with support for
filtering, sorting, and pagination. - Aligned all method signatures in
Crud,Repository, andQueryBuilderto accept unifiedselectionobjects
instead ofconditions,sorting, andpaginationseparately. - Deprecated
createDto()method in selection DTO, usecreate()instead for consistency. - Updated docblocks and type annotations across repository and query interfaces for clarity and correctness.
- Minor refactorings to improve internal consistency and readability in database-related modules.
Support for `rowsLimit` and `rowsOffset` in selection
- Added support for
rowsLimitandrowsOffsetparameters in selection queries.
Added `onCommit` and `onRollback` callbacks in TrxWrapper
- Added
onCommitandonRollbackcallbacks in TrxWrapper for handling post-transaction results. - Implemented
fetchTablesByDependencyOrderin RdbTables and Schema to list tables by dependency order, enhanced date
item formatting for exports. - Corrected export mechanisms in Export to properly handle table dependencies and data types.
- Enhanced data import processing in Import, including proper sequence restoration and error handling during data
insertion. - Refactored
readManyand related methods in Crud and Schema for improved readability and extensibility, added
selection parameters for data reading operations.
Use Selection in CRUD Base for `readMany`
- Implemented selection functionality in the CRUD base for the
readManyoperation.
Use operations in `where` clause
- Enhanced the query builder to handle array values in
whereclauses (e.g.,('id', ['<=', 4])becomes
('id', '<=', 4)). - Improve JSDoc in
TeqFw_Db_Back_App_Crud.updateOneto prevent IDEA highlights.