brainy/CHANGELOG.md

7.7 KiB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

0.37.0 (2025-08-04)

Fixed

  • build: resolve TypeScript compilation errors in optimization modules (0e2bce1)
  • types: add explicit ArrayBuffer type assertions for compression (7196fe2)
  • types: resolve remaining ArrayBuffer type issues in compression methods (eb8c95e)

Added

  • auto-configuration: implement automatic configuration system for optimal settings (aa64f49)
  • docs: add comprehensive user guides and installation instructions for Brainy (d4dafbf)
  • docs: update README and add large-scale optimizations guide for v0.36.0 (ae01bea)
  • hnsw: implement comprehensive large-scale search optimizations (c39eee6)
  • partitioning: simplify partition strategies and enable auto-tuning of semantic clusters (1015c33)

0.36.0 (2025-08-03)

Changed

  • add CLAUDE.md to .gitignore (4c0b920)

Documentation

  • add guidelines for Conventional Commit format and structured commit messages (f9a8595)

Added

  • add verb and noun metadata handling in storage adapters (9778f1b)
  • refactor verb storage to use HNSWVerb for improved performance (75ccf0f)

0.35.0 (2025-08-02)

0.34.0 (2025-08-02)

Changed

0.33.0 (2025-08-01)

0.32.0 (2025-08-01)

0.31.0 (2025-07-31)

0.30.0 (2025-07-31)

0.29.0 (2025-07-31)

0.28.0 (2025-07-31)

0.27.1 (2025-07-31)

Changed

  • changelog: remove manual changelog update script (72a649e)
  • versioning: switch to standard-version for automated changelog generation (1f6a70d)

[0.26.0] - 2025-07-30

Added

  • Organized documentation structure with docs/ directory
  • Proper CHANGELOG.md for release management
  • Statistics optimizations implemented across all storage adapters
  • In-memory caching of statistics data
  • Batched updates with adaptive flush timing
  • Time-based partitioning for statistics files
  • Error handling and retry mechanisms for statistics operations

Changed

  • Moved technical documentation to docs/technical/
  • Moved development documentation to docs/development/
  • Moved guides to docs/guides/
  • Archived temporary documentation files
  • Refactored BaseStorageAdapter to include shared optimizations
  • Updated FileSystemStorage, MemoryStorage, and OPFSStorage with new statistics handling
  • Improved performance through reduced storage operations
  • Enhanced scalability with time-based partitioning

Fixed

  • Fixed FileSystemStorage constructor path operations issue where path module was used before being fully loaded
  • Deferred path operations to init() method when path module is guaranteed to be available
  • Resolved "Cannot read properties of undefined (reading 'join')" error

Technical Details

  • Added scheduleBatchUpdate() and flushStatistics() methods to BaseStorageAdapter
  • Updated core statistics methods: saveStatistics(), getStatistics(), incrementStatistic(), decrementStatistic(), and updateHnswIndexSize()
  • Maintained backward compatibility with legacy statistics files
  • Added fallback mechanisms for multiple storage locations

[Previous Versions]

For detailed implementation notes and technical summaries of previous versions, see:

  • docs/technical/ - Technical documentation and analysis

How to Update This Changelog

This project now uses standard-version to automatically generate the changelog from commit messages.

Commit Message Format

Follow the Conventional Commits specification for your commit messages:

<type>(<scope>): <description>

[optional body]

[optional footer(s)]

Where <type> is one of:

  • feat: A new feature (maps to Added section)
  • fix: A bug fix (maps to Fixed section)
  • chore: Regular maintenance tasks (maps to Changed section)
  • docs: Documentation changes (maps to Documentation section)
  • refactor: Code changes that neither fix bugs nor add features (maps to Changed section)
  • perf: Performance improvements (maps to Changed section)

Examples:

feat(storage): add new file system adapter
fix(hnsw): resolve index corruption on large datasets
docs(readme): update installation instructions
refactor(core): simplify graph traversal algorithm

Releasing a New Version

To release a new version:

  1. Ensure all changes are committed
  2. Run one of:
    • npm run release (for patch version)
    • npm run release:patch (same as above)
    • npm run release:minor (for minor version)
    • npm run release:major (for major version)
  3. Push changes with tags: git push --follow-tags origin main

The changelog will be automatically updated based on your commit messages.