nebula_db 2.0.4 copy "nebula_db: ^2.0.4" to clipboard
nebula_db: ^2.0.4 copied to clipboard

A production-grade relational database engine written in pure Dart. Features include WAL, MVCC, B-Tree indexing, SQL execution, and crash recovery.

2.0.4 — 2026-04-29 #

Fixed #

  • Fixed a critical SQL parser crash in parser.dart caused by reserved keyword handling in expression context.

  • Resolved failure when using column names that match SQL keywords (e.g. key, value, index, default) in WHERE clauses.

  • Fixed crash in authentication/settings flow affecting:

    • app_settings table queries
    • queryWhere() execution
    • upsert() operations using primary key columns
    • Application startup settings initialization (saveSettings, getSettings)

Root Cause #

  • SQL lexer marks reserved words (e.g. key) as TokenType.keyword
  • Parser previously treated all unexpected keywords as invalid in expression context
  • This caused FormatException: Unexpected token in expression

Changed #

  • Updated _parsePrimary() in sql/parser.dart to correctly handle keyword-based identifiers:

    • Reserved keywords are now safely promoted to IdentExpr when used in expression context
  • Maintained strict handling of PRIMARY KEY parsing via _expectKw('key') to avoid schema conflicts

Improved #

  • SQL engine now supports keyword-based column names safely (backward compatible)
  • Increased robustness of WHERE clause parsing across all query types
  • Prevents future runtime crashes from schema designs using reserved SQL terms

Notes #

  • ⚠️ This fix is critical for application stability
  • No breaking changes introduced
  • Fully backward compatible with existing databases
  • Recommended upgrade for all production and desktop/web deployments

2.0.3 — 2026-04-29 #

Added #

  • Added full documentation files for public API coverage:

    • schema.dart — schema definitions and data types documentation
    • table_meta.dart — table metadata structure and lifecycle
    • database.dart — core database orchestrator documentation
    • sql/ module — lexer, parser, planner, and executor documentation
    • storage/ module — pager, WAL, cache, checkpoint, and recovery documentation
    • index/ module — B-Tree v1/v2 and index selection strategy docs
    • concurrency/ module — lock managers and transaction system documentation
    • mvcc/ module — MVCC versioning and persistence model docs
    • optimizer/ module — statistics, cost model, and query optimizer documentation
    • relational/ module — relational algebra and join system documentation
  • Added comprehensive Dartdoc comments to public API:

    • Achieved >20% documented public API coverage (pub.dev requirement compliance)
    • Documented core classes, methods, constructors, and SQL execution flow
  • Added structured API documentation consistency across all modules


Improved #

  • Significantly improved pub.dev score compliance (documentation + static analysis)
  • Better developer experience with IDE autocomplete and inline docs
  • Enhanced readability of internal architecture for contributors

Fixed #

  • Fixed missing documentation warnings for critical components:
    • BTree, BTreeV2
    • Database, Executor, Parser
    • Pager, WAL, Cache
  • Fixed pub.dev documentation validation failure (>20% requirement now satisfied)

Notes #

  • ⚠️ This release is focused on documentation compliance for pub.dev publishing
  • No breaking changes introduced
  • Recommended upgrade for all users preparing for production or publishing

2.0.2 — 2026-04-29 #

Fixed #

  • Fixed a critical packaging issue where core source files were located outside the lib/ directory, causing import failures when using package:nebula_db/....

  • Resolved multiple "file not found" errors affecting modules such as:

    • engine/
    • sql/
    • storage/
    • catalog/
    • index/
  • Fixed invalid exports in nebula_db.dart that referenced non-existent or unpublished files.

Changed #

  • Reorganized the project structure to comply with Dart package conventions:

    • Moved all source files under the lib/ directory
  • Established a clean public API entry point:

    • lib/nebula_db.dart

Improved #

  • Full compatibility with:

    • Flutter (Windows, Web, Android)
    • Dart package resolution system (pub get, pub.dev)
  • Improved developer experience when integrating the package via pub.dev or local path dependencies

Notes #

  • ⚠️ This release fixes a critical packaging issue present in version 2.0.1
  • Users are strongly advised to upgrade immediately

2.0.1 — 2026-04-29 #

Added #

  • Complete implementation of Write-Ahead Logging (WAL) for improved durability and crash recovery guarantees.

2.0.0 — 2026-04-29 #

Added #

  • Full WAL implementation
  • MVCC support
  • B-Tree indexing
  • SQL engine (parser + executor)

Fixed #

  • Page persistence issues
  • Windows WAL compatibility

Improved #

  • Performance optimizations
  • Crash recovery system
3
likes
120
points
21
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A production-grade relational database engine written in pure Dart. Features include WAL, MVCC, B-Tree indexing, SQL execution, and crash recovery.

Topics

#database #sql #storage #embedded #engine

License

MIT (license)

More

Packages that depend on nebula_db