Releases: Shopify/tapioca
v0.7.1
What's Changed
π Bug Fixes
- Fix generic type variable argument serialization by @paracycle in #839
- Do not crash when trying to generate DSL RBIs on non-rails apps by @Morriar in #847
- Update
tapioca todoto handle constants defined inclass << selfby @jeffcarbs in #850 - Bump rbi to v0.0.14 by @Morriar in #866
- Start filtering old copies of reloaded constants by @paracycle in #869
- Fix block with no param generation by @pjambet in #874
- Start using compared by identity Set operations for
UrlHelpers#includes_helper?by @paracycle in #877
New Contributors
Full Changelog: v0.7.0...v0.7.1
v0.7.0
What's Changed
π§ Breaking Changes
- Replace
clean-shimsbycheck-shimsby @Morriar in #706 - Bump Thor requirement by @paracycle in #721
- Refactor DSL compilers by @paracycle in #795
- Load nothing from Tapioca by default by @paracycle in #821
β¨ Enhancements
- Add
gemsas an alias to thegemcommand by @paracycle in #720 - Generate
requires_ancestorhelpers in gems RBIs by @Morriar in #728 - Expose DSL compiler test helper as a reusable unit by @paracycle in #788
- Also generate Yard @annotations by @Morriar in #803
- Update the strictness of generated RBI files in case of conflicts with DSL files by @Morriar in #801
- Use RBI::Formatter by @Morriar in #808
- Use root/absolute namespace in compiled RBI by @jeffcarbs in #780
π Bug Fixes
- Never generate
T.nilable(T.untyped)in DSL generators by @paracycle in #756 - In Ruby 2.6
Symbols don't haveend_with?method by @paracycle in #763 - Fix printing or Yard @param annotations by @Morriar in #807
- Handle attribute_method_matchers rename to attribute_method_patterns by @nvasilevski in #811
- Implement support for final method signatures by @paracycle in #771
- Fix path to DSL extensions by @Morriar in #823
π Other Changes
- Improve VSCode experience out of the box by @paracycle in #757
- Update AASM DSL generator by @davebenvenuti in #786
New Contributors
- @nvasilevski made their first contribution in #811
- @davebenvenuti made their first contribution in #786
Full Changelog: v0.6.2...v0.7.0
v0.6.4
What's Changed
This minor release fixes a compatibility problem with latest Rails releases.
π Bug Fixes
- Handle
attribute_method_matchersrename toattribute_method_patternsby @nvasilevski in 3ebb3dd.
Full Changelog: v0.6.3...v0.6.4
v0.6.3
What's Changed
This minor release fixes a compatibility problem with latest Sorbet releases and adds a missing Thor version dependency.
π Bug Fixes
- Bump Thor requirement by @paracycle in #721
- Never generate
T.nilable(T.untyped)in DSL generators by @paracycle in #756
Full Changelog: v0.6.2...v0.6.3
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.untypedby @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
XPathby @paracycle in #677 - Refactor how
SmartPropertiesmethods 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_recordscopes by @vinistock in #565 - Add error message for missing
ActiveRecordAssociationsby @mutecipher in #578 - Add
MissingConstantErrormessaging 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
ActiveRecordRelationsis enabled or not by @paracycle in #660 - Make
initcreate a skeleton Tapioca config by @paracycle in #662 - Add support for Rails generators by @michaelherold in #605
π Bug Fixes
- Support
ActiveRecord::Enumfor 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_constantsby @etiennebarrie in #627 - Fix reflection target class existence check by @paracycle in #634
- Properly load reflections for namespaced
has_manyrelations by @jflinter in #637 - Eager load constants registered for
autoloadafter loading gems by @paracycle in #639
π Other Changes
- Move test helpers to
lib/tapiocaby @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_ancestorchange. #591
Note: This means that, from this version on, Tapioca has a minimum dependency on Sorbet version0.5.9204released on October 06, 2021.
π Bug Fixes
- The
docoption should not have a default value. #566 - Support
ActiveRecord::Enumfor 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