Skip to content

Releases: Shopify/tapioca

v0.5.5

25 Nov 22:59
Compare
Choose a tag to compare

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 version 0.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

26 Oct 16:12
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Fixed a problem with generating RBI files for default gems (#562)

v0.5.3

21 Oct 22:04
Compare
Choose a tag to compare

⚠️ Alerts

  • Tapioca now requires a minimum Sorbet version of 0.5.6200 (released Jan 2020)

✨ Enhancements

🧹 Changes

  • Remove unparser as a direct dependency (#519)

v0.5.2

16 Sep 20:03
5d0898a
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Load ConstantLocator early to make sure we don't misattribute constant locations (#493)
  • Load Rails before requiring the Gemfile, which is needed for some gems to load properly (#500)

✨Enhancements

  • Support modules that declare SmartProperties properties. (#502)

v0.4.27

16 Sep 20:01
113838a
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Load ConstantLocator early to make sure we don't misattribute constant locations (#493)
  • Load Rails before requiring the Gemfile, which is needed for some gems to load properly (#500)

v0.5.1

08 Sep 18:10
Compare
Choose a tag to compare

🧹 Changes

  • Bump rbi to v0.0.4
  • Remove rake as a runtime dependency

v0.5.0

07 Sep 16:35
f5380aa
Compare
Choose a tag to compare

This is quite a large release that changes many things (for the better, we hope):

⚠️ Alerts

  • sync and generate commands have been deprecated and replaced by a single gem command. (#414)
  • Support for Ruby 2.4 and 2.5 have been dropped. If you still need to use Tapioca on these Ruby versions, you will have to continue using the 0.4.x versions. (#339, #351)
  • The API of DSL generators have changed slightly, so if you have custom DSL generators, you will need to upgrade them to the new syntax that uses the RBI gem instead of Parlour. (#388)
  • Our main branch has been renamed to main.

🆕 New Features

  • A new DSL generator for exposing nested ActiveSupport::Concern modules properly. (#360)
  • A new DSL generator for the Config gem. (#372)
  • A new DSL generator for ActiveStorage. (#416)
  • A new DSL generator for ActiveModel::Attributes. (#419)
  • A new DSL generator for AASM. (#463)
  • Better generation for mixes_in_class_modules on Sorbet versions that support multiple arguments to it. (#363)
  • DSL generators have built-in access to reflection helpers like name_of, superclass_of, etc and are advised to use them over calling the normal reflection methods. (#418, #481)

🐛 Bug Fixes

  • Compile generic types in signatures using the correct constant (#412)
  • Do not generate empty ActiveJob classes. (#345)
  • Never sort mixed in modules, since include/extend order is important. (#392, #405)
  • Properly root namespace CollectionProxy generic types. (#439) (thanks @fsateler)
  • Make Tapioca work with Bundler 2.22.25+ (#446, #460)
  • Tapioca no longer crashes if the target of helper method proxies do not exist. (#448)
  • Rename Tapioca::Gemfile::Gem constant to Tapioca::Gemfile::GemSpec to prevent confusion with top-level Gem constant in generate RBI file for Tapioca itself (#475)
  • Fix load ordering that would fail to autoload some constants from gems using Zeitwerk and implicit namespaces (#480)

✨Enhancements

  • Enchaned support for better IdentityCache RBI generation with cache aliases support. (#369)
  • If a job class has overridden Sidekiq methods, the Sidekiq generator does not generate them. (#482)
  • Added --verify flag to tapioca sync/gem. (#364) (thanks @jeffcarbs)
  • Added --exclude-generators flag to tapioca dsl. (#382) (thanks @jeffcarbs)
  • Added --file-header flag to all tapioca commands to turn on/off the generated file header comment. (#389)
  • Better file header comment for the require.rb generated by tapioca require command. (#344)
  • Add --verbose flag to tapioca dsl to output which constant is being processed. (#402)
  • Clean up flags to various tapioca commands. (#407)
  • DSL generators are always run in alphabetical order to ensure include/extends are deterministic. (#478)

v0.4.26

06 Sep 15:38
d2f0898
Compare
Choose a tag to compare

This is a bug-fix release that fixes an Tapioca RBI file issue and a load order problem

🐛 Fixes

  • Rename Tapioca::Gemfile::Gem constant to Tapioca::Gemfile::GemSpec to prevent confusion with top-level Gem constant in generate RBI file for Tapioca itself (#475)
  • Fix load ordering that would fail to autoload some constants from gems using Zeitwerk and implicit namespaces (#480)

v0.4.25

26 Aug 17:28
Compare
Choose a tag to compare

This is a bug-fix release that fixes a Bundler compatibility issue

🐛 Fixes

  • Make Tapioca work with Bundler 2.22.25+ (#446 , #460)

v0.4.24

04 Aug 17:49
Compare
Choose a tag to compare

This is a bug-fix release that fixes an mixin ordering issues that was introduced by changes in 0.4.23

🐛 Fixes

  • Never sort mixed in modules, since include/extend order is important (#392, #405)