Skip to content

Latest commit

 

History

History
237 lines (140 loc) · 6.01 KB

History.rdoc

File metadata and controls

237 lines (140 loc) · 6.01 KB
  • 3 bug fixes:

    • Fix #process_hash when there’s a kwsplat in the middle. (carlos-musetti)

    • Rescue StandardError in .run to handle wider gamut of errors gracefully.

    • Add #process override to handle errors as well.

  • 1 bug fix:

    • Namespace NotRubyParser to avoid problems with bundler’s horrid eager loading. (nateberkopec)

  • 1 minor enhancement:

    • Added process_hash to handle hash shortcut syntax in case it is a call. (TSMMark)

  • 6 bug fixes:

    • Bump prism dependency to 1.7+.

    • Load debride with require_relative in bin/debride.

    • Minor fixes for prism 1.7 and ruby 4.0.

    • Oops! Fixed –legacy option definition.

    • Properly handle scope/alias_method with interoplation. (alagos)

    • Removed prism patches now that they’ve been upstreamed.

  • 2 minor enhancements:

    • Bumped path_expander to 2.0.0.

    • Switched to prism for ruby parsing. Use –legacy for RubyParser.

  • 2 minor enhancements:

    • Added -y to debride_rm to opt-in to running autoclave.

    • Print command for autoclave to help see what’s happening.

  • 1 bug fix:

    • Fixed shebangs on all bin/* files, added -w for all.

  • 1 major enhancement:

    • Massive overhaul of bin/debride_rm: faster, cleaner, can run a command between each deletion.

  • 2 minor enhancements:

    • Added alias_method and alias as pseudo-calls to source method.

    • Whitelist extended/included/prepended etc by default.

  • 6 bug fixes:

    • Added missing rails validation.

    • Bumped sexp_processor and ruby_parser dependencies.

    • Fix –exclude <dir> to properly exclude whole tree.

    • Fixed –exclude option to make it repeatable.

    • Fixed bug on anonymous block forwarding (eg fn(&)). (afuno)

    • Use RubyParser.new instead of RubyParser.for_current_ruby.

  • 6 minor enhancements:

    • Added X.const_get(:Y) support. (TSMMark)

    • Added f(&block_pass) support. (TSMMark)

    • Added obj&.safe_call support. (TSMMark)

    • Added obj.method(:msg) support. (TSMMark)

    • Added op_asgn2 (eg x &&= y) support. (TSMMark)

    • Added try(:msg) support. (TSMMark)

  • 4 minor enhancements:

    • Added –minimum <Nloc> flag to filter out smaller suspects.

    • Added line count to suspects in report and total line count to end of report.

    • Added processing of ‘delegate xs to: target` as a call to target.

    • Added processing of rails deliver_X -> X calls.

  • 3 bug fixes:

    • Fixed processing of colon2 (X::Y::Z) names.

    • Fixed processing of var splatted attr_* methods.

    • Possibly fixed conflation between rails route scopes and model scopes.

  • See above… something went wrong with the release process.

  • 3 minor enhancements:

    • Added –json and –yaml output options.

    • Added io argument to #report, added tests for #report.

    • Improved processing of –exclude with directories (adds trailing slash).

  • 1 bug fix:

    • Fixed exception thrown in #report when using –focus. (cbillen)

  • 1 bug fix:

    • Fixed some sexp access under STRICT_SEXP=1.

  • 2 minor enhancements:

    • Add basic support for jbuilder files. (d-mato)

    • Added rails & whitelist example to readme. (TheRusskiy)

  • 2 bug fixes:

    • Capture RegexpError and skip file. (mrdShinse)

    • Fixed reporting of cdecl+const2 (eg X::Y = 42). (herwinw)

  • 1 minor enhancement:

    • Updated rails support. (phiggins)

  • 1 bug fix:

    • Fixed regression reporting class methods caused by 1.7.0. (marcinruszkiewicz/etagwerker)

  • 1 minor enhancement:

    • Added bin/debride_rm to automatically remove all dead methods!

  • 1 bug fix:

    • Remove #map hash in favor of #method_locations (chrisarcand)

  • 1 minor enhancement:

    • Switched to path_expander to deal with cmdline args. See path_expander for details.

  • 1 bug fix:

    • Fixed confusing crasher when a plugin raises an exception. (phiggins)

  • 1 bug fix:

    • Allow debride to run on unreleased versions of ruby that ruby_parser doesn’t support yet.

  • 6 minor enhancements:

    • Added –focus <path> to filter report on focused path. (phiggins)

    • Added debride_rails_whitelist to help generate emperical whitelists from logs.

    • Added validate to rails methods. (jeremyf)

    • Extended debride to understand attr_* methods. (jeremyf)

    • Extended debride_rails_whitelist to be able to scan compressed logs (gzip/bzip)

    • Improved output of debride_rails_whitelist so you know what’s going on. (amerine)

  • 3 bug fixes:

    • Fixed handling of uncalled attr_* methods in reports.

    • Fixed improper recording of locations of consts and alias_method_chain.

    • Fixed recording of method names.

  • 1 major enhancement:

    • Added support for analyzing potentially unused constants.

  • 5 minor enhancements:

    • Extended process_rb to work with IO/StringIO.

    • Print file being processed if –verbose.

    • Print help and exit if no files/dirs specified. (phiggins)

    • Rescue RubyParser parse errors, warn, and skip.

    • Use RubyParser.for_current_ruby.

  • 1 bug fix:

    • Debride.new will default to proper options.

  • 4 minor enhancements:

    • Add explicit #send support. (phiggins)

    • Added –exclude for files and dirs. (ianlotinsky)

    • Added –rails flag and rails-specific call transformations.

    • Added methods to called list found in rails DSL methods. (phiggins)

  • 1 bug fix:

    • Fixed bug with alias_method_chain. (phiggins)

  • 1 major enhancement:

    • Added plugin system to allow processing of other file types.

  • 1 minor enhancement:

    • Refactored code to allow for plugin system to do multi-phase processing.

  • 1 minor enhancement:

    • Added –whitelist option to exclude known false positives.

  • 1 bug fix:

    • Fixed sexp_processor dependency

  • 1 major enhancement

    • Birthday!