Pry v0.13.0 Release Notes

Release Date: 2020-03-21 // about 4 years ago
  • ๐Ÿ”‹ Features

    • โž• Added metadata to the gem (such as changelog URI, source code URI & bug tracker URI), so it shows on https://rubygems.org/gems/pry (#1869)
    • โž• Added ability to forward ARGV to a Pry session via -- (or -) when launching Pry from shell (#1902)
    • โž• Added Pry::Config::LazyValue & Pry::Config::MemoizedValue, which allow storing callable procs in the config (#2024)
    • โž• Added the rc_file config option that tells Pry the path to pryrc (#2027)
    • โž• Added the --code flag to the wtf command, which shows code for each backtrace frame (#2037)
    • โž• Added the ability to paste method call chains with leading dots (#2060)

    API changes

    • Pry::Prompt is a class now and it can be instantiated to create new prompts on the fly that are not registered with Pry::Prompt#add. Learn more about its API in the docs (#1877)

    ๐Ÿ—„ Deprecations

    • ๐Ÿ—„ Deprecated Pry.config.exception_whitelist in favor of Pry.config.unrescued_exceptions (#1874)
    • ๐Ÿ—„ Deprecated Pry.config.prompt = Pry::Prompt[:simple][:value] in favor of Pry.config.prompt = Pry::Prompt[:simple] when setting Pry prompt via pryrc. Pry::Prompt[:simple] would return an instance of Pry::Prompt instead of Hash (#1877)
    • ๐Ÿ—„ Deprecated setting prompt via an array of two procs: (#1877)
      # Deprecated, emits a warning.
      Pry.config.prompt = [proc {}, proc {}]
    

    This will be removed in the next release.

    • ๐Ÿ—„ Deprecated the show-doc command. The show-source -d is the new recommended way of reading docs (#1934)
    • Deprecated Pry::Command#_pry_. Use Pry::Command#pry_instance instead (#1989)

    ๐Ÿ’ฅ Breaking changes

    • โœ‚ Deleted deprecated Pry::Platform (#1863)
    • โœ‚ Deleted deprecated Pry#{input/output}_array (#1884)
    • โœ‚ Deleted deprecated Pry::Prompt::MAP (#1866)
    • โœ‚ Deleted deprecated methods of Pry::Helpers::BaseHelpers such as mac_osx?, linux?, windows?, windows_ansi?, jruby?, jruby_19?, mri?, mri_19?, mri_2? (#1867)
    • โœ‚ Deleted deprecated Pry::Command#text (#1865)
    • Deleted deprecated Pry::Method#all_from_common (#1868)
    • โœ‚ Deleted install-command (#1979)
    • Deleted Pry::Helpers::BaseHelpers#command_dependencies_met? (#1979)
    • โœ‚ Deleted commands: gem-cd, gem-install, gem-list, gem-open, gem-readme, gem-search, gem-stats (#1981)
    • โœ‚ Deleted deprecated commands: edit-method and show-command (#2001)
    • โœ‚ Deleted Pry::Command#disabled_commands (#2001)
    • โœ‚ Deleted Pry::BlockCommand#opts (use #context instead) (#2003)
    • โœ‚ Deleted Pry.lazy (use Pry::Config::LazyValue instead) (#2024)

    ๐Ÿ› Bug fixes

    • ๐Ÿ›  Fixed bug where using Pry.config.prompt_name can return a Pry::Config::Lazy instead of expected instance of String (#1890)
    • ๐Ÿ›  Fixed LoadError being raised when using auto completions and Bundler (#1896)
    • ๐Ÿ›  Fixed bug where Pry.input_ring doesn't append duplicate elements (#1898)
    • ๐Ÿ›  Fixed Ruby 2.6 warning about Binding#source_location (#1904)
    • ๐Ÿ›  Fixed wrong winsize when custom output is passed to Pry (#2045)
    • Fixed XDG_CONFIG_HOME & XDG_DATA_HOME precedence. When these env variables are set, Pry no longer uses traditional files like ~/.pryrc & ~/.pry_history. Instead, the env variable paths are loaded first (#2056)
    • ๐Ÿ›  Fixed the $SAFE will become a normal global variable in Ruby 3.0 warning on Ruby 2.7 (#2107)
    • ๐Ÿ›  Fixed bug when whereami -c cannot show beginning of the class, which is on the same line as another expression (#2098)
    • ๐Ÿ›  Fixed bug when Object#owner is defined, which results into somewhat broken method introspection (#2113)
    • ๐Ÿ›  Fixed bug when indentation leaves parts of input after pressing enter when Readline is enabled with mode indicators for vi mode. This was supposed to be fixed in v0.12.2 but it regressed (#2114)