Releases: Shopify/spoom
Releases · Shopify/spoom
v1.5.0
What's Changed
🚧 Breaking Changes
- Return
Gem::VersionfromBundle#gem_version_from_gemfile_lockby @KaanOzkan in #608
🐛 Bug Fixes
🛠 Other Changes
New Contributors
Full Changelog: v1.4.2...v1.5.0
v1.4.2
v1.4.1
What's Changed
🐛 Bug Fixes
- Ignore
*Testnamed classes again by @nvasilevski in #593
Full Changelog: v1.4.0...v1.4.1
v1.4.0
What's Changed
✨ Enhancements
- Improve deadcode plugin for Minitest by @Morriar in #579
- Allow nilable Spoom::Location lines and columns attributes by @alexcrocha in #587
🐛 Bug Fixes
- Ignore
persisted?method definitions by @Morriar in #584 - Fix Comparison Bug in
Spoom::Locationby @alexcrocha in #585
New Contributors
- @alexcrocha made their first contribution in #585
Full Changelog: v1.3.3...v1.4.0
v1.3.3
What's Changed
✨ Enhancements
- Handle properties visibility in Model by @Morriar in #560
- Introduce POSet representation by @Morriar in #558
- Allow dead code plugins to reason on the classes hierarchy by @Morriar in #568
- Extract reference indexing from deadcode to model by @Morriar in #570
- Load custom plugins when running
spoom deadcodeby @Morriar in #577
🐛 Bug Fixes
- Fix ERB parsing when running deadcode CLI command by @Morriar in #555
- Fix dead code path exclusion when passing custom paths by @Morriar in #569
- Add public accessor for
Spoom::Plugins::Base#indexby @Morriar in #578
🛠 Other Changes
- Remove redundant part of test names by @andyw8 in #544
- Remove Ruby 3.0 from CI matrix by @Morriar in #545
- Set dependabot
open-pull-requests-limitto 100 by @egiurleo in #548 - Move parsing related classes to Spoom's top level by @Morriar in #556
- Introduce Model building by @Morriar in #557
- Make dead code indexing use a
Modelto index classes by @Morriar in #562 - Make dead code indexing use a
Modelto index modules by @Morriar in #563 - Make dead code indexing use a
Modelto index constants by @Morriar in #564 - Make dead code indexing use a Model to index methods by @Morriar in #565
- Make dead code indexing use a Model to index accessors by @Morriar in #566
- Clean dead code analysis following migration to
Modelby @Morriar in #567 - Deadcode indexing relies on
Model::ReferencesVisitorby @Morriar in #571 - Make all errors raised by spoom subclass Spoom::Error by @Morriar in #580
- Remove unwanted puts from test output by @Morriar in #581
- Avoid raising bare runtime errors by @Morriar in #582
Full Changelog: v1.3.2...v1.3.3
v1.3.2
v1.3.1
What's Changed
🐛 Bug Fixes
- Fix removing first method in class by @skipkayhil in #538
🛠 Other Changes
- Centralize Ruby Version to
.ruby-versionby @jenshenny in #533 - Fix RBI requires by @Morriar in #535
- Update deprecation warnings to be correct by @matthewarkin in #539
- Regenerate RBI files for all gems by @Morriar in #542
New Contributors
- @jenshenny made their first contribution in #533
- @skipkayhil made their first contribution in #538
Full Changelog: v1.3.0...v1.3.1
v1.3.0
What's Changed
🚧 Breaking Changes
✨ Enhancements
- Add plugin to ignore
ActionMailer::Previewclasses by @Korri in #504 - various: fix miscellaneous typos by @p-linnane in #509
- Add CLI commands for detecting and remove dead code by @Morriar in #516
🐛 Bug Fixes
🛠 Other Changes
- Fix failing CLI test by @andyw8 in #483
- Better explanation for
bump --dryby @Morriar in #490 - Update Ruby and Bundler by @vinistock in #513
- Remove dead method
delete_line_partby @shopify-codedb in #519 - Remove dead attr_writer
nodes_nesting=by @shopify-codedb in #518 - Remove dead attr_reader
file_nameby @shopify-codedb in #517 - Remove dead method
print_with_strictnessesby @shopify-codedb in #522 - Remove dead method
censor_project_pathby @shopify-codedb in #523 - Remove dead method
nodes_strictnessesby @shopify-codedb in #525 - Move all Sorbet related commands as subcommands by @Morriar in #524
- Migrate dead code detection to Prism by @Morriar in #527
New Contributors
- @Korri made their first contribution in #504
- @p-linnane made their first contribution in #509
Full Changelog: v1.2.4...v1.3.0
v1.2.4
What's Changed
✨ Enhancements
- Ignore more methods using deadcode plugins by @Morriar in #436
- Ignore constants, classes and modules from dead code plugins by @Morriar in #437
- Indexer calls internal methods of plugin base by @Morriar in #441
- Rename
ignore_class_namesintoignore_classes_namedby @Morriar in #442 - Introduce more plugin rules by @Morriar in #446
- Always strip prefix before name comparison with string DSL by @Morriar in #445
- Make it easy to ignore direct subclasses of a class in dead code plugins by @Morriar in #438
- Add plugin behavior on
on_sendby @Morriar in #450 - Introduce dead code plugin loading mechanism by @Morriar in #453
- Introduce Spoom::Deadcode::Remover by @Morriar in #452
- Add minitest backtrace filter by @andyw8 in #457
🐛 Bug Fixes
🛠 Other Changes
- Mark redefined ERB methods as
overrideby @Morriar in #434 - Refactor plugin base tests by @Morriar in #444
- Bump version to v1.2.4 by @andyw8 in #463
Full Changelog: v1.2.3...v1.2.4
v1.2.3
What's Changed
✨ Enhancements
🐛 Bug Fixes
- preserve trailing whitespace when bumping sigil by @jakebrady5 in #428
🛠 Other Changes
- Fix
sorbet-static-and-runtimeversion in tests by @egiurleo in #406 - In
test_helper, specify Sorbet version as a constant by @egiurleo in #408
New Contributors
- @jakebrady5 made their first contribution in #428
Full Changelog: v1.2.2...v1.2.3