Skip to content

Releases: Shopify/tapioca

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)

v0.4.23

25 May 22:59
Compare
Choose a tag to compare

This is a bug-fix release that fixes some issues that were introduced by changes in 0.4.22 and fixes a couple of other issues, as well.

🐛 Fixes

  • Fix ActiveJob DSL RBI generator (#326)
  • Fix FixedHash serialization so that it doesn't assume Symbol keys all the time (#327)
  • Properly serialize generic types with missing type variables (#329)
  • Generate proper gem RBI files for gems that are default gems (#330)
  • Suppress call validation errors during CLI run (#331)

v0.4.22

19 May 17:48
Compare
Choose a tag to compare

Enhancements

  • Rewrite RBI Generation for gems (#297, #303)
  • Generate private constant definitions (#304)
  • Generator for ActiveJob::Base descendants (#298)
  • Compile T.type_alias (#291)

Bug Fix

  • Don't depend on Active Support for underscore method (#307)
  • Fix app cache folder source gems (#318)

v0.4.21

22 Apr 19:54
fe82fe1
Compare
Choose a tag to compare

🐛 Fixes

  • Reverted verbose output 86b4e82
  • Fix for subclassing classes that have an inherited callback defined fa3c30b

✨Enhancements

  • Enhanced protobuf support 4c654e0

v0.4.20

01 Apr 19:37
3e83b52
Compare
Choose a tag to compare

🐛 Bug fixes

  • Improved Generics
  • Added --quiet flag for dsl
  • Quieter output for tapioca dsl --verify

v0.4.19

24 Mar 18:31
4a94fe6
Compare
Choose a tag to compare

🐛 Bug fixes

  • Better Generic instance creation #268
  • Improved binstub creation output #267

v0.4.18

22 Mar 20:16
7588433
Compare
Choose a tag to compare

🆕 New Features

  • Better Generics support #156
  • Added --verify flag to tapioca dsl #231
  • tapioca init will now generate a binstub for your project #259

🐛 Bug Fixes

  • Internal gem types will no longer be exported #261
  • RBI headers are now less dynamic and will cause less unnecessary file changes #259

⚠️ Alerts

  • -c/--cmd flags have been deprecated and will be removed in a future release