Releases: Shopify/tapioca
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
tmpdirectory 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
SignedIdclass defined by @paracycle in #1327 - Ensure that trackers stay enabled until after
gemcommand 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.untypedtoObjectSpace::WeakMapby @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::ISO8601DateTimeby @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
Stringextensions in tests by @paracycle in #1215 - Remove Travis CI mention in
dev.ymlby @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_rootby @andyw8 in #1225 - dev: clean up Gemfile.lock platforms by @flavorjones in #1239
- Drop
pryas 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_namestype to includeStringby @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_namestype to includeStringby @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
v0.10.0
What's Changed
v0.10.0 includes enhancements made since v0.9.2 release and all the bugfixes that were previously made available in v0.9.x versions.
✨ Enhancements
- Make
--workersoption not experimental by @Morriar in #1069 - Load DSL compilers from gems by @paracycle in #1075
- Generate enum module definitions by @georgebrock in #1079
- Add flag to list compilers for DSL command by @paracycle in #1113
- Use a custom URI class to handle source location comments by @vinistock in #1094
- DSL compiler for graphql-ruby mutations and input objects by @jeffcarbs in #1038
🐛 Bug Fixes
- Fix help URL for empty gem RBI files by @Morriar in #1070
- Also check duplicated mixins in shims and TODO files by @Morriar in #1077
- Disable TracePoints when running the check-shims command by @rafaelfranca in #1082
- Thor: Love (❤️ ) and Thunder (⚡) by @rafaelfranca in #1083
- Don't crash on rails < 7 by @fsateler in #1074
- Update Protobuf DSL Readme by @gaborszakacs in #1093
- Properly discover methods added to
<main>object by @paracycle in #1102 - Fix failures against Rails
mainby @paracycle in #1110 - Report Rails load errors and continue generating by @KaanOzkan in #1087
- New approach to finding attached class by @egiurleo in #1098
🛠 Other Changes
- Make ActiveRecord#find return value typed by @gaborszakacs in #1089
- Generate enum module definitions, and use symbols as then return value for methods which get/set enums by @shidel-dev in #607
- Bump yard-sorbet by @dduugg in #1134
- Revert "Bump sorbet-static-and-runtime from 0.5.10326 to 0.5.10370" by @KaanOzkan in #1137
New Contributors
- @rafaelfranca made their first contribution in #1082
- @gaborszakacs made their first contribution in #1093
- @dirceu made their first contribution in #1112
- @georgebrock made their first contribution in #1079
- @shidel-dev made their first contribution in #607
Full Changelog: v0.9.2...v0.10.0
v0.9.4
What's Changed
The v0.9.3 release was a bit strange, since it was released with a subset of features from 0.9.0-0.9.2, instead of adding bugfixes on top of those versions. So this release lists all the changes since 0.9.2 instead.
🐛 Bug Fixes
- Fix help URL for empty gem RBI files by @Morriar in #1070
- Don't crash on rails < 7 by @fsateler in #1074
- Check duplicated mixins in shims and TODO files by @Morriar in #1077
- Disable TracePoints when running the check-shims command by @rafaelfranca in #1082
- Thor: Love (❤️ ) and Thunder (⚡) by @rafaelfranca in #1083
- Report Rails load errors and continue generating by @KaanOzkan in #1087
- Update Protobuf DSL Readme by @gaborszakacs in #1093
- New approach to finding attached class by @egiurleo in #1098
- Properly discover methods added to
<main>object by @paracycle in #1102 - Fix failures against Rails
mainby @paracycle in #1110
Full Changelog: v0.9.2...v0.9.4