v0.6.0
What's Changed
This is a major release on our path to releasing 1.0 version. It includes some headline features, like Active Record relation generation and doing parallel RBI generation (which really helps with --doc
mode). But it also includes some breaking changes, especially around Tapioca configuration.
If the addition of ActiveRecordRelations
generator ends up creating too many errors in your code, you can always --exclude ActiveRecordRelations
while migrating to this version and then clean up the errors later. The behaviour of other Active Record generators will change to reflect the fact that relations are not being generated.
🚧 Breaking Changes
- Refactor config infrastructure to be integrated with Thor by @paracycle in #659
✨ Enhancements
- Parallelize the generation of RBI files by @vinistock in #559
- Handle
frozen_record
scopes by @vinistock in #565 - Add error message for missing
ActiveRecordAssociations
by @mutecipher in #578 - Add
MissingConstantError
messaging by @mutecipher in #584 - Merge generated RBIs with gem RBIs by @mojanjz in #453
- Add a command to clean shim files automatically by @Morriar in #641
- Add ActiveRecord relations generator by @paracycle in #236
- Allow DSL generators to change behaviour based on if
ActiveRecordRelations
is enabled or not by @paracycle in #660 - Make
init
create a skeleton Tapioca config by @paracycle in #662 - Add support for Rails generators by @michaelherold in #605
🐛 Bug Fixes
- Support
ActiveRecord::Enum
for abstract classes by @etiennebarrie in #555 - Fix eval'ed constants not being generated in gem RBI generation by @paracycle in #589
- Generate typed store accessors in their own module by @Morriar in #587
- Exclude anonymous or value constants from DSL generation by @paracycle in #595
- Sanitize type aliases by @vinistock in #609
- Fix support for abstract singleton class methods by @mutecipher in #615
- Remove stale gem rbis on generate by @vinistock in #616
- Compare modules by identity for
Tapioca::Compilers::Dsl::Base#processable_constants
by @etiennebarrie in #627 - Fix reflection target class existence check by @paracycle in #634
- Properly load reflections for namespaced
has_many
relations by @jflinter in #637 - Eager load constants registered for
autoload
after loading gems by @paracycle in #639
🛠 Other Changes
- Move test helpers to
lib/tapioca
by @mutecipher in #576
New Contributors
- @etiennebarrie made their first contribution in #555
- @ryanwilsonperkin made their first contribution in #575
- @jflinter made their first contribution in #637
- @michaelherold made their first contribution in #605
Full Changelog: v0.5.4...v0.6.0