Releases: Shopify/tapioca
Releases · Shopify/tapioca
v0.5.5
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 version0.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
v0.5.3
⚠️ Alerts
- Tapioca now requires a minimum Sorbet version of
0.5.6200
(released Jan 2020)
✨ Enhancements
- Add an option for adding documentation in generated gem RBI files (#479)
- Generate methods in gems for
class_attributes
insideincluded
blocks of concerns (#515) - Active Record fixtures DSL generator (#491)
- Mixed In Class Attributes DSL generator (#528)
- Active Model SecurePassword DSL generator (#550)
🧹 Changes
- Remove unparser as a direct dependency (#519)
v0.5.2
v0.4.27
v0.5.1
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