v1.1.0.rc1
Pre-release
Pre-release
ArchSpec 1.1.0.rc1
ArchSpec now builds its semantic index with Rubydex, while Prism handles the small set of facts whose exact syntax matters. This prerelease is the final compatibility pass before 1.1.0.
Highlights
- Resolve constants, ancestry, methods, signatures, and aliases with Rubydex.
- Select components with
except:and transitivedescendants_of:. - Specify class-side and signature-aware method protocols.
- Match forbidden calls against semantic constant receivers and method aliases.
- Attach
because:to every rule as separate diagnostic metadata. - Explain resolved ancestry, incoming dependencies, and analysis gaps.
The pinned Discourse, Fizzy, and Mastodon suites retain their existing
violation snapshots while the new index finds 145 additional method
definitions across them.
Compatibility
- Ruby 3.2 or newer is required.
- Rubydex 0.4 is now a runtime dependency.
- Analysis takes roughly 1.7–2.3x as long on the torture applications, while
remaining within seconds and never booting the application.
Try the release with:
gem "archspec", "1.1.0.rc1"Please report any unexpected diagnostics, missing definitions, or analysis
slowdowns before 1.1.0.
Changelog
- 581b7fc Add the site footer to the docs
- c19a323 Report dependency cycles per strongly connected component
- 12a2480 Treat Active Record association readers as a component's own API
- c51c099 Track constant assignments as definitions
- 96b337f Ignore namespace-only reopening when tracking constants (#6)
- f2eb688 Build ArchSpec on Rubydex semantics
- 9919c83 Use Data for value objects
- ca714fd Release 1.1.0.rc1
Full Changelog: v1.0.1...v1.1.0.rc1