Permalink
Newer
Older
100644 230 lines (207 sloc) 12.2 KB
Sep 27, 2011
1
*/10/2011 version 0.9.7
2
* added input_array info to DEFAULT_PROMPT, e.g [1] pry(main)>
3
* added --no-history option to pry binary (prevent history being LOADED, history will still be saved)
4
5
27/9/2011 version 0.9.6.2 HOTFIX release
6
* downgrading to CodeRay 0.9.8 due to problems with 1.0 and rails (autoloading problem) see #280 on pry and #6 on CodeRay
7
* also added (as a minor feature) cirwin's implementation of edit --in
8
* added early break/exit for objectpath errors (the 'cd 34/@hello/bad_path/23')
9
10
19/9/2011 version 0.9.6
Sep 11, 2011
11
* restored previous behavior of command-line switches (allowing "-rfilename")
12
* removed -p option (--play) from edit command
13
* `edit` with no arguments now edits the current or most recent expression
14
* `edit` auto-reloads .rb files (need to specify -n to suppress)
Sep 11, 2011
15
* added -p option (--patch) to edit-method command, which allows
16
monkeypatching methods without touching the original file
17
* edit-method can now edit REPL-defined methods
18
* cat --ex now works on exceptions in REPL-defined code
19
* play -m now uses eval_string.replace()
20
* play -m --open uses show-input to show play'd code
21
* added "unindent" helper to make adding help to commands easier
Sep 13, 2011
22
* local ./.pryrc now loaded after ~/.pryrc if it exists
23
* cat --ex N and edit --ex N now can navigate through backtrace, where cat --ex (with no args) moves throuh successive levels of the backtrace automatically with state stored on the exceptino object itself
24
* new option Pry.config.exception_window_size determines window size for cat --ex
25
* input_stack now implemented - pushing objects onto a pry instance's input_stack causes the instance to read from those objects in turn as it encounters EOF on the previous object. On finishing the input_stack the input object for the pry instance is set back to Pry.config.input, if this fails, pry breaks out of the REPL (throw(:breakout)) with an error message
26
* Pry.config.system() defines how pry runs system commands
27
* now injecting target_self method into command scope
28
* play now performs 'show-input' always unless eval_string contains a valid expression (i.e it's about to be eval'd)
29
* play and hist --replay now push the current input object onto the input_stack before redirecting input to a StringIO (works much better with pry-remote now)
Sep 11, 2011
30
31
8/9/2011 version 0.9.5
32
33
MAJOR NEW FEATURES:
34
- JRuby support, including show-method/edit-method and editor integration on both 1.8 and 1.9 versions
35
- extended cd syntax: cd ../@x/y
36
- play command now works much better with _in_ array (this is a very powerful feature, esp with Pry::NAV_PROMPT)
37
- history saving/loading is now lightning fast
38
- 'edit' (entered by itself) now opens current lines in input buffer in an editor, and evals on exit
39
- 'edit' command is also, in general more intelligent
40
- ls output no longer in array format, and colors can be configured, e.g: Pry.config.ls.ivar_color = :bright_blue
41
- new switch-to command for moving around the binding stack without exiting out of sessions
42
- more sophisticated prompts, Pry::NAV_PROMPT to ease deep spelunking of code
43
- major bug fix for windows systems
44
- much better support for huge objects, should no longer hang pry (see #245)
45
- cat --ex and edit --ex now work better
46
47
complete CHANGELOG:
Aug 15, 2011
48
* tempfile should end in .rb (for edit -t)
49
* ls output should not be in array format
50
* fix history saving (should not save all of Readline::HISTORY, but only what changed)
51
* prevent blank lines going to Readline::HISTORY (thanks cirwin!)
52
* ensure that cat --ex emulates the `whereami` format - includes line numbers and formatted the same, etc
Aug 17, 2011
53
* fixed bug #200 ( https://github.com/pry/pry/issues/200 )- string interpolation bug (thanks to ryanf)
54
* show-doc and stat now display method visibility (update WIKI)
55
* got rid of warnings caused by stricter ruby 1.9.3 rules
56
* remove interpolation of command names and fix interpolation error messag (update WIKI) (thanks ryanf!)
Aug 22, 2011
57
* 'nested sessions' now use binding stacks (so each instance manages its own collection of bindings without spawning other instances)
58
* 'cd ..' just pops a binding off the binding_stack with special behaviour when only one binding in stack - it breaks out of the repl loop
59
* added switch-to command (like jump-to but doesnt unwind the stack)
60
* show-method and show-doc now accept multiple method names
61
* control_d hook added (Pry.config.control_d_handler)
62
* behaviour of ^d is now to break out of current expr if in multi-line expr, or break out of current context if nested, or break out of pry repl loop if at top-level
63
* can no longer interpolate command name itself e.g #{x}-#{y} where x = "show" and y = "doc"
64
* ^C no longer captured
65
* got rid of Pry.active_instance, Pry.last_exception and friends.
66
* also special locals now shared among bindings in a pry instance (i.e _ex_ (and friends) re-injected into new binding entered with 'cd')
67
* renamed inp and out to _in_ and _out_ (to avoid collisions with actual locals in debugging scope)
68
* added third parameter to prompts, the pry instance itself (_pry) see https://github.com/pry/pry/issues/233 for why it's important
69
* cd behaviour when no args performs the same as `cd /`
70
* commands with keep_retval can now return nil (to suppress output now return 'void' instead)
71
* Pry::CommandProcessor::Result introduced
72
* Pry.view_clip() modified to be more robust and properly display Class#name
73
* edit command when invoked with no args now works like edit -t
74
* when edit is invoked (with no args or with -t) inside a multi-line expression input buffer, it dumps that buffer into a temp file and takes you to it
75
* got rid of Pry#null_input? since all that was needed was eval_string.empty?
76
* cd command now supports complex syntax: cd ../@y/y/../z
77
* JRuby is no longer a 2nd class citizen, almost full JRuby support, passing 100% tests
78
* added Pry::NAV_PROMPT (great new navigation prompt, per robgleeson) and Pry::SIMPLE_PRINT for simple (IRB-style) print output (just using inspect)
79
* _pry_ now passed as 3rd parameter to :before_session hook
80
* ls colors now configurable via Pry.config.ls.local_var_color = :bright_red etc
81
* ls separator configurable via, e.g Pry.config.ls.separator = " "
82
* Pry.view_clip() now only calls inspect on a few immediates, otherwise uses the #<> syntax, which has been truncated further to exclude teh mem address, again related to #245
Aug 15, 2011
83
84
*/7/2011 version 0.9.3
85
* cat --ex (cats 5 lines above and below line in file where exception was raised)
86
* edit --ex (edits line in file where exception was raised)
87
* edit -t (opens a temporary file and evals it in current context when closed)
88
* `pry -r` requires now happen after plugin loading (so as not to interfere with
89
* new Pry.config.disable_auto_reload option, for turning off auto reloading by edit-method and related (thanks ryanf)
90
* add better error messages for `cd` command
91
* fixed exotic object regression - BasicObject.new etc now return "=> unknown"
92
* added reload-method command (reloads the associated file of a method)
93
* converted: import => import-set, version => pry-version, install => install-command
94
* Pry.config.command_prefix support (thanks ryanf!)
95
* fixed indentation for simple-prompt
96
* hist command now excludes last line of input (the command invocation itself)
97
* hist now has `history` alias
98
* missing plugins no longer raise exception, just print a warning to $stderr
99
* fixed jedit editor support
101
21/6/2011 version 0.9.2
102
* fixed string interpolation bug (caused valid ruby code not to execute, sorry!)
103
* fixed `ls` command, so it can properly display members of Object and classes, and BasicObject, etc
104
* added a few git related commands to experimental command set, blame and diff
105
106
17/6/2011 version 0.9.0
107
* plugin system
108
* regex commands
109
* show-method works on methods defined in REPL
110
* new command system/API
111
* rubinius core support
Jun 17, 2011
112
* more backports to ruby 1.8
113
* inp/out special locals
114
* _ex_ backtrace navigation object (_ex_.line, _ex_.file)
115
* readline history saving/loading
116
* prompt stack
117
* more hooks
118
* amend-line
119
* play
120
* show-input
121
* edit
122
* much more comprehensive test suite
123
* support for new and old rubygems API
124
* changed -s behaviour of ls (now excludes Object methods)
Jun 17, 2011
125
* removed eval-file, lls, lcd, and a few other commands
126
128
26/3/2011 version 0.7.6.1
129
* added slightly better support for YARD
130
* now @param and @return tags are colored green and markdown `code` is syntax highlighted using coderay
131
132
26/3/2011 version 0.7.6
133
* `whereami` command now accepts parameter AROUND, to display AROUND lines on eitherside of invocation line.
134
* made it so `whereami` is invoked even if no method exists in current context (i.e in rspec tests)
135
* added rubinius support for `whereami` invocation in HOOKS by checking for __unknown__.rb rather than just <main>
136
137
15/3/2011 version 0.7.0
138
* add pry-doc support with syntax highlighting for docs
139
* add 'mj' option to ls (restrict to singleton methods)
140
* add _ex_ local to hold last exception raised in an exception
141
142
6/3/2011 version 0.6.8
143
* add whereami command, a la the `ir_b` gem
144
* make whereami run at the start of every session
145
* make .pryrc be loaded by run-time pry sessions
146
147
4/3/2011 version 0.6.7
148
* color support
149
* --simple-prompt for pry commandline
150
* -I mode for pry commandline
151
* --color mode for pry commandline
152
* clean up requires (put them all in one place)
153
* simple-prompt command and toggle-color commandd.
155
28/2/2011 version 0.6.3
156
* Using MethodSource 0.3.4 so 1.8 show-method support provided
157
* `Set` class added to list of classes that are inspected
159
26/2/2011 version 0.6.1
160
* !@ command alias for exit_all
161
* `cd /` for breaking out to pry top level (jump-to 0)
162
* made `-e` option work in a more effective way for `pry` command line invocation
163
* exit and exit-all commands now accept a parameter, this parameter becomes the return value of repl()
164
* `command` method from CommandBase now accepts a :keep_retval arg that determines if command value is returned to pry session or just `nil` (`nil` was old behaviour)
165
* tests for new :keep_retval and exit-all/exit behaviour; :keep_retval will remain undocumented.
166
167
22/2/2011 version 0.5.8
168
* Added -c (context) option to show-doc, show-methods and eval-file
169
* Fixed up ordering issue of -c and -r parameters to command line pry
172
* Added pry executable, auto-loads .pryrc in user's home directory, if it
173
exists.
176
* Added Pry.run_command
177
* More useful error messages
178
* Easter eggs (game and cohen-poem)
179
181
* Use clipped version of Pry.view() for large objects
182
* Exit Pry session on ^d
183
* Use Shellwords for breaking up parameters to pry commands
184
* Use OptionParser to parse options for default pry commands
185
* Add version command
186
* Refactor 'status' command: add current method info
187
* Add meth_name_from_binding utility lambda to commands.rb
188
* Add -M, -m, -v(erbose), -a(ll), -s(uper), -l(ocals), -i(ivars), -k(klass
189
vars), etc options to ls
190
* add -M(instance method) options to show-method and show-doc
191
* add --help option to most commands
192
* Get rid of ls_method and ls_imethods (subsumed by more powerful ls)
193
* Get rid of show_idoc and show_imethod
194
* Add special eval-file command that evals target file in current context
197
* fixed show_method (though fragile as it references __binding_impl__
198
directly, making a name change to that method difficult
200
* oops, added examples/ directory
202
* added alias_command and desc methods to Pry::CommandBase
203
* changed behaviour of ls_methods and ls_imethods to return sorted lists
204
of methods
Jan 24, 2011
206
* made it so a 'def meth;end' in an object Pry session defines singleton
207
methods, not methods on the class (except in the case of
208
immediates)
209
* reorganized documentation, moving customization to a separate wiki file
210
* storing wiki in a nested git repo, as github wiki pages have their own
211
repo
212
* added more tests for new method definition behaviour
214
* added command API
215
* added many new commands, i.e ls_methods and friends
216
* modified other commands
217
* now accepts greater customization, can modify: input, output, hooks,
218
prompt, print object
219
* added tab completion (even completes commands)
220
* added extensive tests
221
* added examples
222
* many more changes
223
9/12/2010 version 0.1.3
224
* Got rid of rubygems dependency, refactored some code.
225
8/12/2010 version 0.1.2
226
* now rescuing SyntaxError as well as Racc::Parser error in valid_expression?
227
8/12/2010 version 0.1.0
228
* release!