Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: mongoryhq/mongory-rb

Release/v0.8.1

30 Aug 05:46
@koten0224 koten0224

Choose a tag to compare

Assets 2
Loading

Release/v0.8.0

30 Aug 04:50
@koten0224 koten0224

Choose a tag to compare

Feature:

  • Reduce the memory used for tracing by reset trace stack after every single match
  • Add mock class CMatcher to YARDoc refinement
  • Add api QueryBuilder#trace to simplify the use of Debugger

Before:

Mongory.debugger.enable
records.mongory.where(condition).each { |x| ... }
Mongory.debugger.display
Mongory.debugger.disable

After:

records.mongory.where(condition).trace { |x| ... }

Full Changelog: v0.7.8...v0.8.0

Loading

Release/v0.7.8

27 Aug 09:37
@koten0224 koten0224

Choose a tag to compare

Feature

  1. Mongory::CMatcher.trace_result_colorful=
  • it could set to true or false to controll the highlight of tracing match result
  1. Cross platform precompile
  • Now you can install Mongory with precompiled package
  • Support platforms:
    • x86_64-linux-musl (Linux)
    • aarch64-linux-musl (Linux)
    • x86_64-linux (Linux)
    • aarch64-linux (Linux)
    • x86_64-darwin (MacOS Intel)
    • arm64-darwin (MacOS Apple Silicon)
    • x64-mingw32 (Windows)
    • x64-mingw-ucrt (Windows)
  • If your platform not in here, you need to install Mongory with compile toolchain
  1. These losing fix versions between v0.7.1 and v0.7.8 are all experimental pushes

Full Changelog: v0.7.1...v0.7.8

Loading

Release/0.7.1

17 Aug 17:33
@koten0224 koten0224

Choose a tag to compare

[0.7.1] - 2025年08月17日

Fixes

  • Linter error
  • CMatcher get crash if print trace when not enable trace yet

Full Changelog: v0.7.0...v0.7.1

Loading

v0.7.0

17 Aug 17:00
@koten0224 koten0224

Choose a tag to compare

What's Changed

  • feat(core-bridge): integrate mongory-core submodule and Ruby C extension exposing Mongory::CMatcher by @koten0224 in #5
  • Feature/performance improvement by @koten0224 in #6

Full Changelog: v0.6.3...v0.7.0

Contributors

koten0224
Loading

Release/0.6.3

27 May 11:48
@koten0224 koten0224

Choose a tag to compare

Mongory v0.6.3 Release Notes

Release date: 2025年05月27日
This is a developer-focused minor release with key refactorings and execution optimizations.

✨ Highlights

🧠 Matcher Prioritization for Performance Optimization

Matchers can now define their own priority level. Multi-condition matchers such as $and and array-record will sort sub-matchers by priority before evaluation.

This change enables:

  • Faster short-circuiting when cheap matchers fail early
  • A performance-aware matching sequence
  • The foundation for future adaptive optimizers

🧱 AbstractMultiMatcher: Unified Architecture for Logical Matchers

A new abstract base class AbstractMultiMatcher is introduced to consolidate logic shared by compound matchers ($and, $or, $nor etc.).

This refactor:

  • Removes redundant logic across multiple matchers
  • Ensures consistent behavior for all compound matchers
  • Makes the matcher layer more maintainable and extensible

🔧 Refactor Details

  • $in and $nin matchers now handle Range objects using the unified matcher array approach
  • Matcher combining logic (combine_proc) is now centralized in the abstract base
  • Matcher initialization paths are simplified across the board

🐞 Fixes

  • Type comparison in converted.rb now explicitly uses ::Hash and ::Array to prevent namespace collision with Mongory internal classes

🧪 Test Improvements

  • Added edge case specs for $in and $nin with nil and empty conditions

🧹 Chores

  • .vscode/ directory is now ignored in version control

💭 Developer Notes

This release does not introduce user-facing API changes but is crucial for:

  • Future performance tuning
  • Extending the matcher system (e.g., custom compound matchers)
  • Cleaner code separation and runtime behavior predictability
Loading

Release/0.6.1

24 Apr 04:54
@koten0224 koten0224

Choose a tag to compare

  • Add size matcher
  • $in and $nin supports range condition
  • Query matcher inherits from Hash condition matcher to accept hash condition only
  • Introduced Converted to mark converted data and prevent double convert
Loading

Release/0.6.0

23 Apr 15:18
@koten0224 koten0224

Choose a tag to compare

Release Notes for Mongory 0.6.0

Overview

This release introduces a major architectural change in the matcher system, moving from method-based to Proc-based implementation. This change brings significant performance improvements and better code organization.

Key Changes

New Context System

  • Introduced Context class for better state management
  • Added support for configuration sharing
  • Improved control over data conversion

Proc-based Matcher System

  • Replaced method-based matching with Proc-based implementation
  • Added Proc caching for better performance
  • Improved error handling and debugging support

Performance Optimizations

  • Optimized empty condition handling
  • Reduced memory usage
  • Improved execution speed

Breaking Changes

  • Removed match method in favor of raw_proc
  • Changed converter behavior
  • Modified fallback behavior in converters

Migration Guide

To migrate to 0.6.0:

  1. Update matcher implementations to use raw_proc instead of match
  2. Use Context for configuration management
  3. Update converter implementations to work with new Proc-based system

Known Issues

  • None

Future Plans

  • Further performance optimizations
  • Enhanced debugging capabilities
  • More comprehensive documentation
Loading

Release/0.5.0

22 Apr 19:38
@koten0224 koten0224

Choose a tag to compare

Mongory v0.5.0 Release

We are excited to announce the release of Mongory v0.5.0! This release introduces a significant performance improvement with the new fast mode implementation.

Key Features

Fast Mode Implementation

  • New fast method for optimized query execution
  • Proc-based matching for efficient record filtering
  • Improved memory efficiency through compiled matching logic
  • Enhanced error handling in query execution

Performance Benefits

  • Reduced overhead in record matching
  • Better memory utilization
  • More efficient query execution for large datasets

Breaking Changes

None

Migration Guide

No migration required for this release.

Usage Example

# Standard mode
records.mongory.where(:age.gte => 18).each { |record| ... }
# Fast mode (recommended for large datasets)
records.mongory.where(:age.gte => 18).fast { |record| ... }

Contributors

[Your Name/Team]

Loading

Release/0.4.0

19 Apr 19:42
@koten0224 koten0224

Choose a tag to compare

Release: v0.4.0

Released on 2025年04月20日


🚀 Highlights

  • Regex support inside array fields

    • Now you can query arrays using regex directly. Example:
      Mongory.where(tags: /vip/)
      This will match any record where the tags array includes a value matching /vip/.
  • Matcher generator improvements

    • update_initializer method is now public — enabling better CLI tooling and test control.
    • Template documentation now includes condition examples, matcher structure, and debugging usage.
  • Refined internals

    • Cleaner ValueConverter fallback using method reference instead of dynamic method caching.
  • Package renamed

    • The gem is now named mongory, instead of mongory-rb.

📦 Breaking Change

  • 💥 mongory-rb.gemspec has been renamed to mongory.gemspec.
  • You may need to update your Gemfile and require paths accordingly.

📚 Documentation

  • Improved inline documentation in matcher templates.
  • Fixed incorrect debugger references in generated files.

📁 Files Changed

  • lib/mongory/matchers/array_record_matcher.rb
  • lib/generators/mongory/matcher/templates/matcher.rb.erb
  • lib/generators/mongory/matcher/matcher_generator.rb
  • lib/mongory/converters/value_converter.rb
  • Gemfile, gemspec updated due to rename

Thanks for using Mongory ❤️

Loading
Previous 1
Previous

AltStyle によって変換されたページ (->オリジナル) /