diff options
author | Kyrylo Silin <silin@kyrylo.org> | 2018-10-04 21:28:57 +0800 |
---|---|---|
committer | Kyrylo Silin <silin@kyrylo.org> | 2018-11-04 13:56:48 +0800 |
commit | 33a8500b5d9f55003c9bd018f28a4cff7b9d0f69 (patch) | |
tree | d570f3f0ebda26ee22768a90e6ee16c3b4606a4d | |
parent | 0f452a5c02e30a45bd821f4672d103be4cd80194 (diff) | |
download | pry-33a8500b5d9f55003c9bd018f28a4cff7b9d0f69.tar.gz |
CHANGELOG: prepare for release v0.12.0
I also:
* Fixed formatting
* Unified style of links
* Added meaningful subsections
* Fixed references
* Added sections
-rw-r--r-- | CHANGELOG.md | 154 |
1 files changed, 116 insertions, 38 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index d93f1b77..99d5b02c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,41 +1,107 @@ ### HEAD -#### Features - -* Add a new command, "clear-screen", that clears the content of the - screen Pry is running in regardless of platform (Windows or UNIX-like). - -* Add a new command, "gem-stat", inspired by the rubygem of a similar - name (gem-stats) by [@dannytatom](https://github.com/dannytatom). - -See pull request [#1705](https://github.com/pry/pry/pull/1705]. +#### Major changes -* Add Pry::Platform#known_engines, returns an Array of Ruby engines - (MRI, JRuby, Rubinius) that Pry is known to run on. +* Dropped support for Rubinius ([#1785](https://github.com/pry/pry/pull/1785)) -See pull request [#1694](https://github.com/pry/pry/pull/1694). - -* Deprecate Pry::Command#text. Please use black(), white(), etc directly - instead (as you would with helper functions from BaseHelpers and - CommandHelpers) - -See pull request [#1701](https://github.com/pry/pry/pull/1701). - -* Add new method Pry::Config.assign(), for creating a Config non-recursively. +#### Features -See pull request [#1723](https://github.com/pry/pry/pull/1723) +* Added a new command, `clear-screen`, that clears the content of the screen Pry + is running in regardless of platform (Windows or UNIX-like) + ([#1723](https://github.com/pry/pry/pull/1723)) +* Added a new command, `gem-stat`, that prints gem statistics such as gem + dependencies and downloads ([#1707](https://github.com/pry/pry/pull/1707)) +* Added `Pry::Platform#known_engines`, which returns an Array of Ruby engines + (MRI, JRuby) that Pry is known to run on ([#1694](https://github.com/pry/pry/pull/1694)) +* Added support for nested exceptions for the `wtf` command + ([#1791](https://github.com/pry/pry/pull/1791)) +* Added support for dynamic prompt names + ([#1833](https://github.com/pry/pry/pull/1833)) + + ```rb + # pryrc + Pry.config.prompt_name = Pry.lazy { rand(100) } + + # Session + [1] 80(main)> + [2] 87(main)> + [3] 30(main)> + ``` +* Added support for XDG Base Directory Specification + ([#1609](https://github.com/pry/pry/pull/1609), + [#1844](https://github.com/pry/pry/pull/1844), + ([#1848](https://github.com/pry/pry/pull/1848))) +* Removed the `simple-prompt`. Use `change-prompt simple` instead. The + `list-prompt` command was removed and embedded as `change-prompt --list` + ([#1849](https://github.com/pry/pry/pull/1849)) + +#### API changes + +* The following methods started accepting the new optional `config` parameter + ([#1809](https://github.com/pry/pry/pull/1809)): + * `Pry::Helpers.tablify(things, line_length, config = Pry.config)` + * `Pry::Helpers.tablify_or_one_line(heading, things, config = Pry.config)` + * `Pry::Helpers.tablify_to_screen_width(things, options, config = Pry.config)` + * `Pry::Helpers::Table.new(items, args, config = Pry.config)` + + You are expected to pass a session-local `_pry_.config` instead of the global + one. + +* Added new method `Pry::Config.assign`, for creating a Config non-recursively + ([#1725](https://github.com/pry/pry/issues/1725)) +* Added `Pry.lazy`, which is a helper method for values that need to be + calculated dynamically. Currently, only `config.prompt_name` supports it + ([#1833](https://github.com/pry/pry/pull/1833)) +* `Pry::Prompt` responds to `.[]`, `.all` & `.add` now. The `Pry::Prompt.add` + method must be used for implementing custom prompts. See the API in the + documentation for the class ([#1846](https://github.com/pry/pry/pull/1846)) + +#### Breaking changes + +* Deleted the `Pry::Helpers::Text.bright_default` alias for + `Pry::Helpers::Text.bold` ([#1795](https://github.com/pry/pry/pull/1795)) +* `Pry::Helpers.tablify_to_screen_width(things, options, config = Pry.config)` + requires `options` or `nil` in place of them. +* `Pry::Helpers::Table.new(items, args, config = Pry.config)` requires `args` + or `nil` in place of them. +* Completely revamped `Pry::HistoryArray` + ([#1818](https://github.com/pry/pry/pull/1818)). + * It's been renamed to `Pry::Ring` + ([#1817](https://github.com/pry/pry/pull/1817)) + * The implementation has changed and as result, the following methods were + removed: + * `Pry::Ring#length` (use `Pry::Ring#count` instead) + * `#empty?`, `#each`, `#inspect`, `#pop!`, `#to_h` + * To access old Enumerable methods convert the ring to Array with `#to_a` + * Fixed indexing for elements (e.g. `_pry_.input_ring[0]` always return some + element and not `nil`) +* Renamed `Pry.config.prompt_safe_objects` to `Pry.config.prompt_safe_contexts` +* Removed deprecated `Pry::CommandSet#before_command` & + `Pry::CommandSet#after_command` ([#1838](https://github.com/pry/pry/pull/1838)) + +#### Deprecations + +* Deprecated `_pry_.input_array` & `_pry_.output_array` in favour of + `_pry_.input_ring` & `_pry_.output_ring` respectively + ([#1814](https://github.com/pry/pry/pull/1814)) +* Deprecated `Pry::Command#text`. Please use `#black`, `#white`, etc. directly + instead (as you would with helper functions from `BaseHelpers` and + `CommandHelpers`) ([#1701](https://github.com/pry/pry/pull/1701)) +* Deprecated `_pry_.input_array` & `_pry_.output_array` in favour of + `_pry_.input_ring` and `_pry_.output_ring` respectively + ([#1817](https://github.com/pry/pry/pull/1817)) +* Deprecated `Pry::Platform`. Use `Pry::Helpers::Platform` instead. Note that + `Pry::Helpers::BaseHelpers` still includes the `Platform` methods but emits a + warning. You must switch to `Pry::Helpers::Platform` in your code + ([#1838](https://github.com/pry/pry/pull/1838), + ([#1845](https://github.com/pry/pry/pull/1845))) +* Deprecated `Pry::Prompt::MAP`. You should use `Pry::Prompt.all` instead to + access the same map ([#1846](https://github.com/pry/pry/pull/1846)) #### Bug fixes -* Add 'Data' as a deprecated constant for Ruby 2.5 (ls command). - -See pull request [#1731](https://github.com/pry/pry/pull/1731) - -* Fix a bug where 'cd Hash.new' reported self as an instance of Pry::Config - in the prompt. - -See pull request [#1723](https://github.com/pry/pry/pull/1723) - +* Fixed a bug where `cd Hash.new` reported `self` as an instance of Pry::Config + in the prompt ([#1725](https://github.com/pry/pry/pull/1725)) * Silenced the `Could not find files for the given pattern(s)` error message coming from `where` on Windows, when `less` or another pager is not installed ([#1767](https://github.com/pry/pry/pull/1767)) @@ -46,14 +112,26 @@ See pull request [#1723](https://github.com/pry/pry/pull/1723) [#1774](https://github.com/pry/pry/pull/1762)) * Fixed `NoMethodError` on code objects that have a comment but no source when invoking `show-source` ([#1779](https://github.com/pry/pry/pull/1779)) - -#### Pry developers - -* Optionally skip a spec on specific Ruby engine(s) by providing `expect_failure: [:mri, :jruby]` - as a metadata Hash to the example group. - -See pull request [#1694](https://github.com/pry/pry/pull/1694). - +* Fixed `negative argument (ArgumentError)` upon pasting code with tabs, which + used to confuse automatic indentation + ([#1771](https://github.com/pry/pry/pull/1771)) +* Fixed Pry not being able to load history on Ruby 2.4.4+ when it contains the + null character ([#1789](https://github.com/pry/pry/pull/1789)) +* Fixed Pry raising errors on `cd`'ing into some objects that redefine + `method_missing` and `respond_to?` + ([#1811](https://github.com/pry/pry/pull/1811)) +* Fixed bug when indentation leaves parts of input after pressing enter when + Readline is enabled with mode indicators for vi mode + ([#1813](https://github.com/pry/pry/pull/1813), + [#1820](https://github.com/pry/pry/pull/1820), + [#1825](https://github.com/pry/pry/pull/1825)) +* Fixed `edit` not writing to history + ([#1749](https://github.com/pry/pry/issues/1749)) + +#### Other changes + +* Deprecated the `Data` constant to match Ruby 2.5 in the `ls` command + ([#1731](https://github.com/pry/pry/pull/1731)) ### 0.11.3 |