Skip to content

Releases: Shopify/tapioca

v0.7.3

30 May 15:05
277ffb1
Compare
Choose a tag to compare

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

13 May 23:21
36395b6
Compare
Choose a tag to compare

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 as require: false as well. This allows you to not have to add a lot of entries to the require.rb file manually.
  • Tapioca now generates a sorbet/config file which ignores vendor/ 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

New Contributors

Full Changelog: v0.7.2...v0.8.0

v0.7.2

29 Apr 20:19
d5ff67d
Compare
Choose a tag to compare

What's Changed

🐛 Bug Fixes

Full Changelog: v0.7.1...v0.7.2

v0.7.1

29 Mar 19:31
f91b761
Compare
Choose a tag to compare

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 in class << 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

17 Feb 22:59
Compare
Choose a tag to compare

What's Changed

🚧 Breaking Changes

✨ Enhancements

🐛 Bug Fixes

🛠 Other Changes

New Contributors

Full Changelog: v0.6.2...v0.7.0

v0.6.4

11 Feb 21:28
Compare
Choose a tag to compare

What's Changed

This minor release fixes a compatibility problem with latest Rails releases.

🐛 Bug Fixes

  • Handle attribute_method_matchers rename to attribute_method_patterns by @nvasilevski in 3ebb3dd.

Full Changelog: v0.6.3...v0.6.4

v0.6.3

27 Jan 20:55
Compare
Choose a tag to compare

What's Changed

This minor release fixes a compatibility problem with latest Sorbet releases and adds a missing Thor version dependency.

🐛 Bug Fixes

Full Changelog: v0.6.2...v0.6.3

v0.6.2

20 Jan 23:37
Compare
Choose a tag to compare

What's Changed

✨ Enhancements

🐛 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

Full Changelog: v0.6.1...v0.6.2

v0.6.1

26 Dec 13:59
fc1445a
Compare
Choose a tag to compare

This is a quick bug-fix release for the 0.6 series

What's Changed

🐛 Bug Fixes

Full Changelog: v0.6.0...v0.6.1

v0.6.0

17 Dec 22:15
8cb17b5
Compare
Choose a tag to compare

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

🐛 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

New Contributors

Full Changelog: v0.5.4...v0.6.0