Skip to content

Releases: teqfw/db

2.4.0

Choose a tag to compare

@flancer64 flancer64 released this 07 Oct 16:39

Requirements

  • Require Node.js 22 or newer (previously 20.17) and @teqfw/di 2.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/log to 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

Choose a tag to compare

@flancer64 flancer64 released this 03 Sep 06:10

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.schema as 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.json is 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.md is now the single release history.

@teqfw/db 2.2.0

Choose a tag to compare

@flancer64 flancer64 released this 13 Aug 07:42

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 v1 branch remains the historical reference for consumer-specific migration guidance.

@teqfw/db 2.1.1

Choose a tag to compare

@flancer64 flancer64 released this 10 Aug 12:30

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

Choose a tag to compare

@flancer64 flancer64 released this 10 Aug 12:22

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/di 2.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 v1 branch.

See CHANGELOG.md for details.

Enhanced selection DTO handling and order-by consistency

Choose a tag to compare

@teqfw teqfw released this 01 May 12:43
  • Refactored TeqFw_Db_Shared_Dto_List_Selection: separated class definition from metadata and improved DTO
    initialization via .create().
  • Added TeqFw_Db_Shared_Util_Select utility for composing selection DTOs from basic JS objects with support for
    filtering, sorting, and pagination.
  • Aligned all method signatures in Crud, Repository, and QueryBuilder to accept unified selection objects
    instead of conditions, sorting, and pagination separately.
  • Deprecated createDto() method in selection DTO, use create() 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

Choose a tag to compare

@teqfw teqfw released this 31 Mar 11:42
  • Added support for rowsLimit and rowsOffset parameters in selection queries.

Added `onCommit` and `onRollback` callbacks in TrxWrapper

Choose a tag to compare

@teqfw teqfw released this 24 Mar 13:37
  • Added onCommit and onRollback callbacks in TrxWrapper for handling post-transaction results.
  • Implemented fetchTablesByDependencyOrder in 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 readMany and 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`

Choose a tag to compare

@teqfw teqfw released this 28 Feb 14:15
  • Implemented selection functionality in the CRUD base for the readMany operation.

Use operations in `where` clause

Choose a tag to compare

@teqfw teqfw released this 27 Feb 05:23
  • Enhanced the query builder to handle array values in where clauses (e.g., ('id', ['<=', 4]) becomes
    ('id', '<=', 4)).
  • Improve JSDoc in TeqFw_Db_Back_App_Crud.updateOne to prevent IDEA highlights.