Releases: Shopify/tapioca
v0.11.4
What's Changed
🐛 Bug Fixes
- Don't ignore default gems if Ruby vendored in app by @composerinteralia in #1452
🛠 Other Changes
- Bump sorbet-static-and-runtime by @KaanOzkan in #1451
- Check if OID is defined before referencing by @KaanOzkan in #1461
New Contributors
- @composerinteralia made their first contribution in #1452
Full Changelog: v0.11.3...v0.11.4
v0.11.3
What's Changed
This is a small release that makes Tapioca compatible with Bundler v2.4.9
🐛 Bug Fixes
- Remove support for old Bundler API in materialize_deps by @KaanOzkan in #1448
🛠 Other Changes
dsl --verify
error should suggest database reset by @KaanOzkan in #1436- Remove ruby-lsp gem by @andyw8 in #1443
Full Changelog: v0.11.2...v0.11.3
v0.11.2
What's Changed
✨ Enhancements
- Make it possible to patch ActionMailer compiler by @jeffcarbs in #1409
- Only run pending migrations check if necessary by @jeffcarbs in #1418
🐛 Bug Fixes
- Fix eager loading for DSL by @jeffcarbs in #1412
- Fix typing for the getter of serialized columns by @wpolicarpo in #1423
- Print backtrace information by @miry in #1424
- Make YARD documentation idempotent by @KaanOzkan in #1426
- Revert "Make scopes available for abstract classes" by @paracycle in #1431
- Avoid raising when constantizing from paths by @jeffcarbs in #1414
New Contributors
- @wpolicarpo made their first contribution in #1423
- @miry made their first contribution in #1424
Full Changelog: v0.11.1...v0.11.2
v0.11.1
v0.11.0
What's Changed
This is release packed full of new functionality. The headline feature of this release is that Tapioca is now able to properly load Rails engines from gems both in Classic and Zeitwerk modes. This means that running bundle exec tapioca init
on a new Rails 7 app no longer results in a type-checking error. 🎉
Tapioca now also generates less extraneous top-level constant definitions in gem RBI files and can handle more DSL patterns.
Finally, there is new mode for the bin/tapioca dsl
command where you can supply filenames, as well as constants, as arguments and Tapioca will try to generate DSL RBI files for all the constants discovered in those files.
As always, a huge thank you to all the contributors that have made this release so much better.
✨ Enhancements
DSL Compilers
- Add Kredis compiler by @bdewater in #1336
- Teach ActiveRecordColumns compiler about virtual attributes by @bdewater in #1360
- Update AASM compiler to handle custom name and namespace by @jeffcarbs in #1387
- Decorate ActiveRecord::Batches methods by @bdewater in #1335
- Make scopes available for abstract classes by @Teots in #1250
- Add Active Record secure token compiler by @bdewater in #1316
- Update GraphqlInputObject compiler to skip methods from code by @jeffcarbs in #1369
- Add global callbacks to AASM compiler by @mwudka in #1396
Gem RBI generation
- Stop regenerating all value constants for reopened types by @paracycle in #1385
- Improve eager loading Rails engines when Zeitwerk is present by @egiurleo in #1329
- Load engines properly in both Zeitwerk and Classic modes by @paracycle in #1389
DSL RBI generation
- Support generating DSL RBI by path by @jeffcarbs in #968
Configuration
- Ignore
tmp
directory in generated Sorbet configuration by @salmanasiddiqui in #1353
🐛 Bug Fixes
New Contributors
- @salmanasiddiqui made their first contribution in #1353
- @Teots made their first contribution in #1250
- @mwudka made their first contribution in #1396
Full Changelog: v0.10.5...v0.11.0
v0.10.5
What's Changed
✨ Enhancements
- Add types for postgres hstore & arrays by @DanielHeath in #1328
🐛 Bug Fixes
- Support Rails 6.0 which has no
SignedId
class defined by @paracycle in #1327 - Ensure that trackers stay enabled until after
gem
command is run by @paracycle in #1331
Full Changelog: v0.10.4...v0.10.5
v0.10.4
What's Changed
✨ Enhancements
- Generate clear_foo methods for protobuf compiler by @slinkp in #1284
- Add compiler for ActiveRecord delegated types by @fcheung in #1241
- Decorate ActiveRecord::SignedId finder methods by @bdewater-thatch in #1302
🐛 Bug Fixes
- Handle keyword argument splats correctly by @timfjord in #1288
- Do not pass
T.untyped
toObjectSpace::WeakMap
by @LTe in #1303
🛠 Other Changes
New Contributors
- @ytkg made their first contribution in #1280
- @slinkp made their first contribution in #1284
- @timfjord made their first contribution in #1288
- @fcheung made their first contribution in #1241
- @LTe made their first contribution in #1303
- @bdewater-thatch made their first contribution in #1302
Full Changelog: v0.10.3...v0.10.4
v0.10.3
What's Changed
✨ Enhancements
- Provide typing for serialized ActiveRecord columns by @robthornton in #1194
- Show error and fail early for unknown options by @paracycle in #1208
- Add guides to rbis by @adisonlampert in #1228
🛠 Other Changes
- Add release workflow by @vinistock in #1195
- Use correct type for
GraphQL::Types::ISO8601DateTime
by @sambostock in #1196 - Update RBI gem and fix tests by @egiurleo in #1211
- Start testing against Ruby 3.2 by @paracycle in #1214
- Fix code making additions to only the singleton class of a constant in the payload by @paracycle in #1213
- Add explanation in readme what ConstantType is for by @bdewater in #1201
- Add missing bundle install in test by @paracycle in #1216
- Filter ActiveSupport
String
extensions in tests by @paracycle in #1215 - Remove Travis CI mention in
dev.yml
by @sambostock in #1219 - Silence warnings in all CLI output by @paracycle in #1218
- Add option for generating RBIs for Rails engines by @andyw8 in #1220
- Upgrade Sorbet to 0.5.10486 by @vinistock in #1227
- Improve DSL test for custom
app_root
by @andyw8 in #1225 - dev: clean up Gemfile.lock platforms by @flavorjones in #1239
- Drop
pry
as a runtime dependency by @paracycle in #1259 - Protobuf DSL: generate namespaced enum constants on root by @egiurleo in #1267
New Contributors
- @robthornton made their first contribution in #1194
- @bdewater made their first contribution in #1201
- @andyw8 made their first contribution in #1220
- @flavorjones made their first contribution in #1239
Full Changelog: v0.10.2...v0.10.3
v0.10.2
What's Changed
🐛 Bug Fixes
- Correct set_color's usage by @st0012 in #1171
- Disable trackers in commands that don't need them by @paracycle in #1190
- Various performance optimizations for trackers by @vinistock in #1188
🛠 Other Changes
- Generate the right signature for generics with fixed type members by @rafaelfranca in #1151
- Minor fix to documentation of Protobuf compiler by @bmalinconico in #1092
- Handle constants with nil value by @vinistock in #1148
- Update
fixture_names
type to includeString
by @sambostock in #1161 - Document the reason for keeping find untyped by @richard-thatch in #1160
- Start matching pathname directory prefixes more rigorously by @paracycle in #1175
- Prevent failure when using generic interfaces in constant assignments. by @amanda-mitchell in #1152
- Fix issue with Tapioca DSL hanging by @dirceu in #1179
- Fix rubocop-rspec dependencies by @dirceu in #1180
- README: Fix typo by @issyl0 in #1183
- Only load GraphQL compilers for versions >= 1.13 by @sambostock in #1184
New Contributors
- @bmalinconico made their first contribution in #1092
- @richard-thatch made their first contribution in #1160
- @amanda-mitchell made their first contribution in #1152
- @issyl0 made their first contribution in #1183
Full Changelog: v0.10.0...v0.10.2
v0.10.1
What's Changed
🐛 Bug Fixes
- Update
fixture_names
type to includeString
by @sambostock in #1161 - Make sure we can type GraphQL object with anonymous input fields by @rafaelfranca in #1162
Full Changelog: v0.10.0...v0.10.1