Releases: Shopify/tapioca
v0.8.3
v0.8.2
What's Changed
This release includes a bug fix to filter engines defined in the application's directory so that they are not loaded during gem RBI generation.
π Bug Fixes
Filter engines in application directory so they are not loaded #995
Full Changelog: v0.8.1...v0.8.2
v0.8.1
What's Changed
This is a small bug-fix release that changes how Tapioca does backward compatible type_member
/type_template
processing so that it respects references to not-yet-declared types in the blocks passed to those methods.
π Bug Fixes
- Fix type variable patch to respect references to late defined types by @paracycle in #944
Full Changelog: v0.8.0...v0.8.1
v0.7.3
What's Changed
This is a small bug-fix release that changes how Tapioca does backward compatible type_member
/type_template
processing so that it respects references to not-yet-declared types in the blocks passed to those methods.
π Bug Fixes
- Fix type variable patch to respect references to late defined types by @paracycle in #944
Full Changelog: v0.7.2...v0.7.3
v0.8.0
What's Changed
This release is aimed at removing some of the pain points of working with Tapioca. Towards that goal, the headline features added are:
- Tapioca now automatically checks and corrects RBI strictness to work around mismatched method definitions. This allows you to not have to reach for
typed_overrides
manually. - Tapioca now requires gems from the
Gemfile
that are marked asrequire: false
as well. This allows you to not have to add a lot of entries to therequire.rb
file manually. - Tapioca now generates a
sorbet/config
file which ignoresvendor/
directory. - Tapioca now generates the documentation of methods/constants in the generated RBI file by default.
- Tapioca now allows you to check your shim RBI files against gem/DSL RBIs and Sorbet payload RBIs to find shim definitions that are no longer needed.
- Tapioca now includes a prototype of the
annotate
command to fetch signature/type annotation RBI files from remote sources. This command is in its early stages and will be improved in future releases, but we would love to hear what you think about it.
We also have an updated README, a cute new logo and documentation for how to create your own DSL compilers. π
β¨ Enhancements
- Prototype: Add
annotations
command by @Morriar in #930 - Check generated RBI files for correctness by @Morriar in #842
- Make DSL generation also autocorrect the gems RBI strictnesses by @Morriar in #837
- Need less entries in
require.rb
by @paracycle in #818 - Set default if
factory
prop is set by @jeffcarbs in #833 - Add
tapioca/dsl
entrypoint for custom DSL compilers by @paracycle in #844 - Always ignore the
vendor/
directory form the sorbet/config by @Morriar in #848 - Check duplicates between shims and Sorbet's RBI payload by @Morriar in #879
- Fairer queueing for parallel workers in RBI generation by @egiurleo in #889
- Validate config values for arrays and hashes by @Morriar in #898
- More effectively determine method ownership for RBI generation by @egiurleo in #896
- Add descriptive message for unexpected DSL exceptions by @paracycle in #913
- Enable documentation generation by default by @Morriar in #920
- Add support for :oneof fields on protobuf messages by @andrewn617 in #929
π Bug Fixes
- Explicitly load descendants patch in ActiveSupport by @KaanOzkan in #924
π Other Changes
- Improve README by @Morriar in #917
- Add README entry for creating custom DSL compilers by @Morriar in #921
New Contributors
- @egiurleo made their first contribution in #889
- @andrewn617 made their first contribution in #929
Full Changelog: v0.7.2...v0.8.0
v0.7.2
What's Changed
π Bug Fixes
- Avoid generating syntax errors for capitalized protobuf fields by @Morriar in #878
- Bump spoom to v1.1.11 by @Morriar in #886
- Bump
rubocop-sorbet
to v0.6.8 by @Morriar in #910 - Support new type variable syntax by @KaanOzkan in #902
Full Changelog: v0.7.1...v0.7.2
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 todo
to handle constants defined inclass << self
by @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-shims
bycheck-shims
by @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
gems
as an alias to thegem
command by @paracycle in #720 - Generate
requires_ancestor
helpers 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
Symbol
s 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_matchers
rename toattribute_method_patterns
by @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