Files
smartmongo/changelog.md

8.2 KiB

Changelog

2026-02-01 - 4.1.0 - feat(readme)

expand README with storage integrity, WAL, query planner, session & transaction docs; update test script to enable verbose logging and increase timeout

  • Updated npm test script to run tstest with --verbose, --logfile and --timeout 60 to improve test output and avoid timeouts.
  • Extensive README additions: file storage adapter examples with checksum options, write-ahead logging (WAL) usage and recovery, query planner examples, index and query execution details, session and transaction examples and features.
  • Wire protocol / features table updated to include Transactions and Sessions and added admin commands (dbStats, collStats).
  • Architecture diagram and component list updated to include QueryPlanner, SessionEngine, TransactionEngine and WAL; storage layer annotated with checksums and WAL.
  • Minor example import tweak: MongoClient import now includes Db type in test examples.

2026-02-01 - 4.0.0 - BREAKING CHANGE(storage,engine,server)

add session & transaction management, index/query planner, WAL and checksum support; integrate index-accelerated queries and update storage API (findByIds) to enable index optimizations

  • Add SessionEngine with session lifecycle, auto-abort of transactions on expiry and session tracking in CommandRouter and AdminHandler.
  • Introduce TransactionEngine integrations in CommandRouter and AdminHandler; handlers now support start/commit/abort transaction workflows.
  • Add IndexEngine enhancements including a simple B-tree and hash map optimizations; integrate index usage into Find/Count/Insert/Update/Delete handlers for index-accelerated queries and index maintenance on mutations.
  • Add QueryPlanner to choose IXSCAN vs COLLSCAN and provide explain plans.
  • Add WAL (write-ahead log) for durability, with LSNs, checkpoints and recovery APIs.
  • Add checksum utilities and FileStorageAdapter support for checksums (enableChecksums/strictChecksums), with verification on read and optional strict failure behavior.
  • IStorageAdapter interface changed to include findByIds; MemoryStorageAdapter and FileStorageAdapter implement findByIds to support index lookups.
  • Exported API additions: WAL, QueryPlanner, SessionEngine, checksum utilities; CommandRouter now caches IndexEngines and exposes transaction/session engines.
  • Breaking change: the IStorageAdapter interface change requires third-party storage adapters to implement the new findByIds method.

2026-02-01 - 3.0.0 - BREAKING CHANGE(tsmdb)

rename CongoDB to TsmDB and relocate/rename wire-protocol server implementation and public exports

  • Project refactor renames the in-memory wire-protocol server from CongoDB -> TsmDB (identifiers, files and namespaces changed).
  • ts/index.ts now exports tsmdb instead of congodb (public API change; consumers must update imports).
  • All congodb sources under ts/congodb were removed and equivalent implementations added under ts/tsmdb (errors, engines, storage adapters, server, handlers, WireProtocol, types).
  • Readme and usage examples updated to reference TsmDB/tsmdb and example code updated accordingly.
  • Tests renamed/updated from test.congodb.ts -> test.tsmdb.ts to exercise the new tsmdb export and server.

2026-01-31 - 2.2.0 - feat(readme)

update README with expanded documentation covering CongoDB and SmartMongo, installation, quick start examples, architecture, usage examples, and legal/company information

  • Completely expanded README: added detailed overview for SmartMongo and new CongoDB (wire-protocol server)
  • Added Quick Start examples for both SmartMongo and CongoDB (TypeScript/ESM snippets)
  • Included installation instructions for npm and pnpm and issue reporting/security guidance
  • Added architecture diagram, example tests, and storage/engine descriptions
  • Clarified license, trademark, and company contact information
  • Large non-functional documentation-only change (+398 -44)

2026-01-31 - 2.1.0 - feat(congodb)

implement CongoDB MongoDB wire-protocol compatible in-memory server and APIs

  • Add full congodb module: CongoServer, WireProtocol, CommandRouter and handlers (Hello, Insert, Find, Update, Delete, Aggregate, Index, Admin).
  • Implement query/update/aggregation/index/transaction engines (QueryEngine, UpdateEngine, AggregationEngine, IndexEngine, TransactionEngine) and OpLog for change stream support.
  • Add storage adapters: in-memory (MemoryStorageAdapter) and file-backed (FileStorageAdapter) with persistence and oplog support.
  • Introduce types/interfaces and rich error classes (CongoErrors) plus congodb.plugins re-exports (bson, mingo, smartfs, smartpath, smartrx).
  • Add many server-side utilities: IndexEngine, Aggregation helpers ($lookup, $graphLookup, $merge, $facet, $unionWith), cursor management and command routing.
  • Add integration tests for CongoDB using official mongodb MongoClient (test/test.congodb.ts) and update unit test entry (test/test.ts) to use tstest tapbundle.
  • Export congodb from ts/index.ts and update package.json: bump devDependencies, add runtime deps (mongodb, bson, mingo, mingo), add new @push.rocks/* deps and dev tool versions.
  • Update readme.hints.md with CongoDB architecture, usage examples and supported commands.
  • Update npmextra.json metadata and release/registry config and reorganize tsdoc mappings.

2025-11-17 - 2.0.14 - fix(smartmongo.plugins)

Use default import for mongodb-memory-server (Deno compatibility), update hints and bump package version to 2.0.13

  • Replace namespace import with default import for mongodb-memory-server to ensure compatibility with Deno (ts/smartmongo.plugins.ts).
  • Add readme.hints.md documenting the Deno compatibility change and the reason for using a default import.
  • Bump package.json version to 2.0.13.
  • Note: ts/00_commitinfo_data.ts still lists version 2.0.12 and may need to be updated to match package.json.

2025-04-06 - 2.0.12 - fix(ci/config)

Update CI workflow environment variables, refine package metadata, and improve configuration settings

  • Updated workflow YAML files to use new IMAGE and npmci package names
  • Adjusted package.json homepage, added bugs field and pnpm overrides
  • Minor formatting improvements in readme.md and .gitignore
  • Enhanced tsconfig with baseUrl and paths for improved module resolution

2025-04-06 - 2.0.11 - fix(dependencies)

Update dependency names and versions in CI workflows and package configuration

  • Rename devDependency packages from '@gitzone/' to '@git.zone/' for consistency
  • Bump '@types/node' from '^20.4.8' to '^22.14.0'
  • Upgrade 'mongodb-memory-server' from '^8.14.0' to '^10.1.4'
  • Add 'packageManager' field in package.json
  • Introduce pnpm-workspace.yaml with 'onlyBuiltDependencies' configuration

2024-05-29 - 2.0.10 - misc

Various updates to project configuration and documentation.

  • update description
  • update tsconfig
  • update npmextra.json: githost (applied on three occasions)

2023-08-08 - 2.0.9 - core

Core fix.

  • fix(core): update

2023-08-08 - 2.0.8 - core

Core fix.

  • fix(core): update

2023-08-08 - 2.0.7 - core & org

Combined changes for core stability and organization improvements.

  • fix(core): update
  • switch to new org scheme (recorded twice)

2022-06-08 - 2.0.6 - core

Core fix.

  • fix(core): update

2022-06-08 - 2.0.5 - core

Core fix.

  • fix(core): update

2022-06-06 - 2.0.4 - core

Core fix.

  • fix(core): update

2022-06-06 - 2.0.3 - core

Core fix.

  • fix(core): update

2022-06-03 - 2.0.2 - core

Core fix.

  • fix(core): update

2022-05-19 - 2.0.1 - core

Core fix.

  • fix(core): update

2022-05-18 - 2.0.0 - core

Core fix.

  • fix(core): update

2022-05-17 - 1.0.9 - core

Breaking change for module format.

  • BREAKING CHANGE(core): switch to esm

2022-05-17 - 1.0.8 - core

Core fix.

  • fix(core): update

2021-12-21 - 1.0.7 - core

Core fix.

  • fix(core): update

2021-12-20 - 1.0.6 - core

Core fix.

  • fix(core): update

2021-12-20 - 1.0.5 - core

Core fix.

  • fix(core): update

2021-12-20 - 1.0.4 - core

Core fix.

  • fix(core): update

2021-12-20 - 1.0.3 - core

Core fix.

  • fix(core): update

2021-12-20 - 1.0.2 - no notable changes

These version bumps did not include additional modifications.

  • version update only

2021-12-20 - 1.0.1 - core

Core fix.

  • fix(core): update