Releases: Shopify/tapioca
v0.6.2
What's Changed
✨ Enhancements
- Support Ruby 3.1 by @paracycle in #679
- Improve RequiresCompiler performance by @brasic in #682
- RequiresCompiler: handle ruby source files with alternate encodings by @brasic in #681
- Improve generic type variable tracking by @paracycle in #701
- Add configuration validation by @paracycle in #709
- Allow extended/included T::Props* to be present in .rbi by @CraigChilds94 in #705
🐛 Bug Fixes
- Fix and improve method parameter sanitization by @paracycle in #689
- Ignore interpolated strings in RequiresCompiler by @brasic in #683
- Make generic AR column types
T.untyped
by @paracycle in #712
🛠 Other Changes
- Filter out Sorbet modules and modules that would be mixed in by other modules from dynamic extends by @paracycle in #713
New Contributors
- @brasic made their first contribution in #682
- @ghiculescu made their first contribution in #695
- @CraigChilds94 made their first contribution in #705
Full Changelog: v0.6.1...v0.6.2
v0.6.1
This is a quick bug-fix release for the 0.6 series
What's Changed
🐛 Bug Fixes
- Add typing for find_by! by @ryanwilsonperkin in #675
- Fix various DSL compilers matching
XPath
by @paracycle in #677 - Refactor how
SmartProperties
methods are generated by @paracycle in #678
Full Changelog: v0.6.0...v0.6.1
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
v0.5.6
This is a bug-fix release from the 0.5 stable branch
What's Changed
🐛 Bug Fixes
- Compare modules by identity for
Tapioca::Compilers::Dsl::Base#processable_constants
. #627 - Remove stale gem RBIs on generate. #616
- Fix support for abstract singleton class methods. #615
- Sanitize type aliases. #609
- Exclude anonymous or value constants from DSL generation. #595
Full Changelog: v0.5.5...v0.5.6
v0.5.5
What's Changed
🚧 Breaking Changes
- Bump dependency versions to prepare for
requires_ancestor
change. #591
Note: This means that, from this version on, Tapioca has a minimum dependency on Sorbet version0.5.9204
released on October 06, 2021.
🐛 Bug Fixes
- The
doc
option should not have a default value. #566 - Support
ActiveRecord::Enum
for abstract classes. #555 - Fix eval'ed constants not being generated in gem RBI generation. #589
- Generate typed store accessors in their own module. #587
🛠 Other Changes
- Add pessimistic version dependencies on other Shopify gems. #633
Full Changelog: v0.5.4...v0.5.5
v0.5.4
v0.5.3
⚠️ Alerts
- Tapioca now requires a minimum Sorbet version of
0.5.6200
(released Jan 2020)
✨ Enhancements
- Add an option for adding documentation in generated gem RBI files (#479)
- Generate methods in gems for
class_attributes
insideincluded
blocks of concerns (#515) - Active Record fixtures DSL generator (#491)
- Mixed In Class Attributes DSL generator (#528)
- Active Model SecurePassword DSL generator (#550)
🧹 Changes
- Remove unparser as a direct dependency (#519)