Releases: Shopify/tapioca
v0.11.8
What's Changed
✨ Enhancements
- Simplify protobuf compiler default field values by @paracycle in #1543
🐛 Bug Fixes
Full Changelog: v0.11.7...v0.11.8
v0.11.7
What's Changed
✨ Enhancements
- Implement support for
has_attached_class!
method by @paracycle in #1514 - Default to raising exception if Rails app cannot be loaded by @KaanOzkan in #1523
🛠 Other Changes
- Do not generate file fixture methods by @sambostock in #1506
- Stop generating
new
singleton methods for abstract classes by @paracycle in #1524 - Limit
AutoRequireHook
effect to be localized to loading the bundle by @paracycle in #1529 - Fix
Reflection#inherited_ancestors_of
method for modules by @paracycle in #1530 - Simplify check for
Google::Protobuf::Map
type by @paracycle in #1538 - Revert: Simplify check for Google::Protobuf::Map type by @bitwise-aiden in #1539
- Simplify check for
Google::Protobuf::Map
type - redux by @paracycle in #1541
New Contributors
- @bitwise-aiden made their first contribution in #1539
Full Changelog: v0.11.6...v0.11.7
v0.11.6
What's Changed
🛠 Other Changes
- Limit parallel work to
PARALLEL_PROCESSOR_COUNT
by @GoodForOneFare in #1475 - Relax constraint for
actions/checkout
by @andyw8 in #1483 - Fix DSL generation for
Google::Protobuf::Struct
by @dirceu in #1497
New Contributors
- @GoodForOneFare made their first contribution in #1475
Full Changelog: v0.11.5...v0.11.6
v0.11.5
What's Changed
🐛 Bug Fixes
- Fix running
tapioca dsl
for Rails 5.x based applications by @Slike9 in #1462 - Fix ActiveRecordScope Compiler to not duplicate relation methods of superclass by @codingarchitect-wq in #1453
🛠 Other Changes
- Use
ReqParam
insteadParam
becauseParam
is an abstract class by @st0012 in #1467 - feat: consistently define
fetch_multi_by
by @cribbles in #1468 - Bump tapioca gem version to 0.11.5 by @Shinomix in #1474
New Contributors
- @Slike9 made their first contribution in #1462
- @cribbles made their first contribution in #1468
- @codingarchitect-wq made their first contribution in #1453
- @Shinomix made their first contribution in #1474
Full Changelog: v0.11.4...v0.11.5
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