Releases: Shopify/rubydex
Releases · Shopify/rubydex
v0.1.0.beta12
What's Changed
✨ Enhancements
- Expose completion to Ruby API by @vinistock in #683
- Allow excluding paths from listing by @vinistock in #712
- Allow excluding indexing paths from Ruby by @vinistock in #713
- Expose
ClassDefinition#superclassby @vinistock in #720 - Expose definition mixins in the Ruby API by @vinistock in #722
🐛 Bug Fixes
- Fix Ruby indexer keyword parameter offset to exclude trailing colon by @soutaro in #706
- Preserve unresolved items across resolve() calls by @st0012 in #711
- Re-queue reference dependents when removing a declaration by @st0012 in #715
- Fix definition_id_to_declaration_id for SelfReceiver methods by @st0012 in #726
- Fix default parent classes by @vinistock in #728
- Fix top level constant resolution by @vinistock in #729
- Ensure singleton class is created when we find an extend by @vinistock in #730
- Ensure unresolved parent classes appear as partial ancestors by @vinistock in #734
🛠 Other Changes
- Move ruby_indexer tests to separate file by @alexcrocha in #705
- Fix singleton class ancestor chain for intermediate classes by @st0012 in #709
- Fix dangling definitions after document deletion by @st0012 in #710
- Remove reference diagnostics from documents by @vinistock in #698
- Specialize reference IDs by @vinistock in #699
- Add generic macro for creating FFI iterators by @vinistock in #716
- Separate method and constant reference Ruby APIs by @vinistock in #719
- Index retroactive method visibility changes by @alexcrocha in #695
- Attempt to use receiver as parent class when it's a call node by @Morriar in #651
Full Changelog: v0.1.0.beta11...v0.1.0.beta12
v0.1.0.beta11
What's Changed
✨ Enhancements
🛠 Other Changes
- Index calls to
private_constantandpublic_constantby @Morriar in #506 - Tighten method reference test helper by @alexcrocha in #696
Full Changelog: v0.1.0.beta10...v0.1.0.beta11
v0.1.0.beta10
What's Changed
✨ Enhancements
- Index method definitions from RBS by @soutaro in #633
- Add keywords to model by @vinistock in #680
- Include keywords in completion candidates by @vinistock in #681
- Add query API for exact partial matches by @vinistock in #673
- Expose
Namespace#membersin the Ruby API by @vinistock in #688
🐛 Bug Fixes
- Adjust documentation lookup offset when finding sigs by @vinistock in #676
🛠 Other Changes
- Use NonZeroU64 for Id to enable niche optimization on Option by @st0012 in #659
- Add helper for freeing C string array by @vinistock in #682
Full Changelog: v0.1.0.beta9...v0.1.0.beta10
v0.1.0.beta9
What's Changed
✨ Enhancements
🐛 Bug Fixes
- Remove CPU-native config by @vinistock in #648
- Unresolve all names when clearing declarations by @vinistock in #670
- Index multiline comments by @soutaro in #632
- Ensure we index
newcall receivers by @vinistock in #671 - Create Todo declarations for multi-level compact namespaces by @st0012 in #656
🛠 Other Changes
- Add
name_dependentsreverse index for incremental invalidation by @st0012 in #646 - Add benchmarking instructions to agents by @vinistock in #614
- Add pagination support rubydex mcp by @st0012 in #638
- Add profiling skill and Cargo profiling profile by @st0012 in #655
- Fix method_receiver for self at class body level by @alexcrocha in #662
- Overlap graph merging with indexing to reduce memory usage by @st0012 in #666
- Turn comments into boxed slices by @vinistock in #667
- Add receiver to MethodAliasDefinition by @alexcrocha in #645
- Index method aliases with RBS indexer by @alexcrocha in #631
- Memoize name_depth to speed up resolution sorting by 3x by @st0012 in #654
Full Changelog: v0.1.0.beta8...v0.1.0.beta9
v0.1.0.beta8
What's Changed
✨ Enhancements
- Expose
Declaration#referencesto the Ruby API by @vinistock in #635
🐛 Bug Fixes
- Ensure
find_membercollects main namespace members by @vinistock in #639 - Use compact name style for rbi by @vinistock in #640
🛠 Other Changes
- Refactor reference iterator to use struct instead of tuple by @vinistock in #636
- Create TODO declarations for unresolved parent scopes by @Morriar in #529
- Add missing RBI annotations by @vinistock in #643
Full Changelog: v0.1.0.beta7...v0.1.0.beta8
v0.1.0.beta7
What's Changed
✨ Enhancements
- Add global index by @vinistock in #54
- Remove URI interning lock by @vinistock in #65
- Make the index a graph by @vinistock in #69
- Hook up Ruby API for the global graph by @vinistock in #102
- Add ability to index an entire workspace by @vinistock in #104
- Move the CLI to the Ruby gem by @vinistock in #105
- Alternative proposal for integrity checks by @Morriar in #99
- Adding logic to dump graph data to DB by @ChallaHalla in #123
- Index constants definitions by @Morriar in #120
- Index variable definitions by @Morriar in #122
- Index attr_accessor, attr_reader, attr_writer definitions by @Morriar in #124
- Index method definitions by @Morriar in #125
- Add ability to load all data related to a URI by @vinistock in #130
- Ensure deleting documents clear the database by @vinistock in #138
- Add
clear-dboption to drop the database before saving the graph by @st0012 in #206 - Resolve top level constant references by @st0012 in #237
- Add native implementation for
Declarationby @Morriar in #243 - Add native implementation for
Documentby @Morriar in #244 - Implement native extension
Graph#[]by @Morriar in #250 - Implement native extension
Definitionby @Morriar in #251 - Implement native extension
Definition#locationby @Morriar in #255 - Implement native extension
Definition#commentsby @Morriar in #256 - Index more constant references by @Morriar in #266
- Implement native
Declaration#unqualified_nameby @Morriar in #278 - Use unique IDs for unresolved references by @Morriar in #282
- Implement native extension
Referenceby @Morriar in #297 - Add declaration search by @vinistock in #414
- Add module_function support to indexer by @alexcrocha in #446
- Clear ancestor chains when documents change by @thomasmarshall in #443
- Support LSP location encodings by @vinistock in #455
- Support discovery and resolution of constant aliases by @st0012 in #409
- Expose resolve constant as a Ruby API by @vinistock in #449
- Expose singleton_class to the Ruby API by @vinistock in #489
- Add Declaration#ancestors to the Ruby API by @vinistock in #518
- Expose require path resolution to Ruby API by @alexcrocha in #555
- Improve index workspace path discovery by @vinistock in #576
- Add API to index in-memory sources by @vinistock in #587
- Add exported RBI types by @vinistock in #594
- Index modules with RBS indexer by @alexcrocha in #591
- Index classes with RBS indexer by @alexcrocha in #606
- Index constants with RBS indexer by @alexcrocha in #615
- Index globals with RBS indexer by @alexcrocha in #616
- Support
deprecatedannotation by @soutaro in #618 - Index includes, prepends, and extends with RBS indexer by @alexcrocha in #617
🐛 Bug Fixes
- Use
include_strto load schema at compile time by @vinistock in #118 - Add missing definition_type to schema by @vinistock in #132
- Error when trying to index a non existing file by @Morriar in #234
- Fix incorrect attr indexing by @st0012 in #259
- Avoid crashing on
alias_methodwith non-symbol targets by @Morriar in #296 - Collect documents from relative paths by @Morriar in #302
- Visit RHS for constant-path operator/or writes by @st0012 in #438
- Process mixin operations with multiple arguments in reverse order by @vinistock in #445
- Split declaration member types by @vinistock in #464
- Keep track of original nesting on top level references by @vinistock in #523
- Fix duplicate constant reference insertions by @vinistock in #558
- Avoid duplicate references for call node operators by @vinistock in #564
- Search for closest namespace when connecting definition to declaration by @vinistock in #575
- Fix handling of null byte like terminators by @vinistock in #604
- Follow aliases when they are used in mixins or parent classes by @vinistock in #620
- Fix corner cases of re-opening aliases by @vinistock in #621
- Auto promote when creating constants inside namespace by @vinistock in #622
- Avoid creating singleton classes for non-namespace targets by @vinistock in #623
🛠 Other Changes
- Update extconf.rb to use dev build for Rust library when possible by @ChallaHalla in #17
- Add script to count symbols from Ruby files by @Morriar in #27
- Set rustfmt to 2024 edition by @Morriar in #35
- Add script to generate random corpus of different sizes by @Morriar in #28
- Update Clippy settings by @jesse-shopify in #42
- Add script to print peak and MRSS memory usage by @Morriar in #38
- Add documentation for
mem-usescript by @Morriar in #43 - Add a
StringPoolbacked byStringInternerby @Morriar in #46 - Introduce
Offsetby @Morriar in #39 - Introduce
NamePoolby @Morriar in #48 - Temporarily disable Windows CI by @Morriar in #52
- Fix
poolsmodule declaration by @Morriar in #53 - Introduce symbol definitions stubs by @Morriar in #50
- Handle relative paths when calling
index_cliby @Morriar in #63 - Add CODEOWNERS by @Morriar in #64
- Add deterministic string hashing using Blake3 by @Morriar in #67
- Update ID structs to use Hash directly instead of byte value by @ChallaHalla in #76
- Disallow manual-let-else by @Morriar in #93
- Add CLI stub by @Morriar in #74
- Update Dependabot configuration with cooldown by @services-db[bot] in #71
- Add DB model with connection init by @ChallaHalla in #111
- Fix race condition on
mainby @Morriar in #131 - Rename
start_offsetandend_offsettostartandendby @Morriar in #129 - Update database schema for definition types by @Morriar in #133
- Use a blob column to store definition specific data by @vinistock in #135
- Rework sends indexing by @Morriar in #136
- Rework method parameters by @Morriar in #137
- Switch to u64 IDs by @vinistock in #145
- Use glob to discover documents by @vinistock in #146
- Add command to generate graph representation by @jenny-codes in #97
- Remove committed database by @Morriar in #149
- Remove Graph arc and use mutable reference by @vinistock in #148
- Sort DOT output for deterministic visualization by @jenny-codes in #153
- Ignore SQLite db files by @Morriar in #144
- Add identity maps by @vinistock in #154
- P...