Releases: Shopify/tapioca
Releases · Shopify/tapioca
v0.5.0
This is quite a large release that changes many things (for the better, we hope):
⚠️ Alerts
sync
andgenerate
commands have been deprecated and replaced by a singlegem
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 ofParlour
. (#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 totapioca sync/gem
. (#364) (thanks @jeffcarbs) - Added
--exclude-generators
flag totapioca dsl
. (#382) (thanks @jeffcarbs) - Added
--file-header
flag to alltapioca
commands to turn on/off the generated file header comment. (#389) - Better file header comment for the
require.rb
generated bytapioca require
command. (#344) - Add
--verbose
flag totapioca 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
This is a bug-fix release that fixes an Tapioca RBI file issue and a load order problem
🐛 Fixes
v0.4.25
v0.4.24
v0.4.23
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 assumeSymbol
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
v0.4.21
v0.4.20
🐛 Bug fixes
- Improved Generics
- Added
--quiet
flag fordsl
- Quieter output for
tapioca dsl --verify
v0.4.19
v0.4.18
🆕 New Features
- Better Generics support #156
- Added
--verify
flag totapioca 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