Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 311 lines (278 sloc) 16.607 kb
40a9cde @ConradIrwin Summarise 0.9.8 work done so far
ConradIrwin authored
1 X/X/2012 version 0.9.8
2
3 MAJOR NEW FEATURES
4 - upgraded command api, https://github.com/pry/pry/wiki/Custom-commands
5 - added a system of hooks for customizing pry behaviour
6 - changed syntax checking to use eval() for improved accuracy
a32fa21 @banister version 0.9.8 release
banister authored
7 - added save-file command
8 - added gist command (removed gist-method, new gist command is more general)
40a9cde @ConradIrwin Summarise 0.9.8 work done so far
ConradIrwin authored
9
10
11 complete CHANGELOG:
12 * CommandError's no longer cause the current input to be disgarded
13 * Better syntax highlighting for rbx code code
14 * added cat --in to show pry input history
15 * prefixed temporary file names with 'pry'
a32fa21 @banister version 0.9.8 release
banister authored
16 * show-doc now supports -l and -b options (line numbers)
17 * play now supports -i and -d options
18 * moved UserCommandAPI command-set to pry-developer_tools plugin
19 * added :when_started event for hooks, called in Pry.start
40a9cde @ConradIrwin Summarise 0.9.8 work done so far
ConradIrwin authored
20 * added a man page
a32fa21 @banister version 0.9.8 release
banister authored
21 * added rename method to Pry::CommandSet (commands can be renamed)
40a9cde @ConradIrwin Summarise 0.9.8 work done so far
ConradIrwin authored
22 * added CommandSet#{before_command,after_command} for enhancing builtin commands
23 * added checking for namespace collisions with pry commands, set Pry.config.collision_warning
24 * work around namespace collisions by ensuring lines starting with a space are executed as
25 * ruby.work around namespace collisions by prensuring lines starting with a space are executed as ruby
26 * added handlers for Ctrl+C (SIGINT) on jruby, these are now caught as in other ruby versions
27 * removed dependency on ruby_parser
28 * prevented colours leaking across the pry prompt
29 * fixed edge cases in Pry::Method, for methods with crazy names and methods that have been 'undef'd
30 * refactored history handling code for clarity and correctness
31 * added Pry::WrappedModule as a counterpart to Pry::Method
32 * made a trailing , cause pry to wait for further input
33 * removed gist-method command, added gist command
34 * added pry-backtrace command to show history of current session
35 * fixed whereami within 'super' methods
36 * replaced inline version guards by Pry::Helpers::BaseHelpers.{rbx?,jruby?,windows?} etc.
37 * removed the CommandProcessor, its functionality is part of the new Command class
38 * changed cd .. at the top level so it doesn't quit pry.
39 * changed edit-command to no-longer need a command set argument
40 * fixed empty lines so that they don't replace _ by nil
41 * fixed SyntaxErrors at the REPL level so they don't replace _ex_.
42 <TODO: everything that happened after f3262e32700709a6998579a9f71cdc6b8f4a695e>
43
e93248e @banister version 0.9.7.4 hotfix release, see CHANGELOG
banister authored
44 5/11/2011 version 0.9.7.4 hotfix
45 * ls -M now works in modules (bugfix)
46 * added exception msg for bad cd object/path
47 * no longer die when encounter exceptions in .pryrc
48 * baked in CoolLine support
49 * Pry.config.input in .pryrc now respected
50
afa6151 @banister version 0.9.7.3 hotfix-hotfix
banister authored
51 28/10/2011 version 0.9.7.3 hotfix-hotfix ;)
52 * really fixed indentation for 'super if' and friends
53 * Fixed indentation for tmux
54 * added Pry.config.correct_indent option (to toggle whether indentation
55 * corrected optional param behaviour for method signatures: e.g Signature meth(param1=?, param2=?)
56
e8f5d55 @banister 0.9.7.2 hotfix: fixed indentation issues, now passing eval_string int…
banister authored
57 27/10/2011 version 0.9.7.2 hotfix
58 * fixed indentation for 'super if' and 'ensure', 'next if', etc
59 * refactored Pry#run_command so it can accept an eval_string parameter (so amend-line and so on can work with it)
60 * changed ^D so it no longer resets indent level automatically
61
62 26/10/2011 version 0.9.7.1 hotfix
63 * fixed gem dependecy issues
64
79382dc @rf- update changelog and contributors
rf- authored
65 25/10/2011 version 0.9.7
66
67 MAJOR NEW FEATURES:
68 - upgraded ls command to have a more intuitive interface
69 - added automatic indentation (thanks YorickPeterse!)
70 - added Pry::Method wrapper class to encapsulate method-related functionality
71
72 complete CHANGELOG:
73 * fixed syntax highlighting for object literals
74 * fixed ActiveSupport method-naming conflict with "in?"
9c2e5be @banister added some missing elements from 0.9.7 release CHANGELOG
banister authored
75 * added --super option to edit-method, show-method, and friends - making it easier to operate on superclass methods
76 * officially added edit --in to open previous expressions in an editor
77 * whereami now works for REPL-defined code
79382dc @rf- update changelog and contributors
rf- authored
78 * started using JRuby parser for input validation in JRuby (thanks pangloss!)
79 * fixed bug where ~/.pryrc could be loaded more than once (thanks kelseyjudson!)
80 * added parse_options! helper to pull option parsing out of commands
81 * Pry now respects the terminal's input encoding
82 * moved some requires out of the startup process for improved speed
7827806 @banister updated CHANGELOG
banister authored
83 * added input_array info to DEFAULT_PROMPT, e.g [1] pry(main)>
84 * added --no-history option to pry binary (prevent history being LOADED, history will still be saved)
85
d7dde63 @banister o swaying lillies!, o silver enemas!
banister authored
86 27/9/2011 version 0.9.6.2 HOTFIX release
f832fb9 @banister version 0.9.6.1 hotfix release, fixes coderay version issue
banister authored
87 * downgrading to CodeRay 0.9.8 due to problems with 1.0 and rails (autoloading problem) see #280 on pry and #6 on CodeRay
88 * also added (as a minor feature) cirwin's implementation of edit --in
89 * added early break/exit for objectpath errors (the 'cd 34/@hello/bad_path/23')
90
bb4412a @banister version 0.9.6 release
banister authored
91 19/9/2011 version 0.9.6
026e416 @rf- updated CHANGELOG
rf- authored
92 * restored previous behavior of command-line switches (allowing "-rfilename")
93 * removed -p option (--play) from edit command
1292707 @banister updated CHANGLOG with changes to play command
banister authored
94 * `edit` with no arguments now edits the current or most recent expression
47bebad @banister updated CHANGELOG with info about edit command now auto-reloading
banister authored
95 * `edit` auto-reloads .rb files (need to specify -n to suppress)
026e416 @rf- updated CHANGELOG
rf- authored
96 * added -p option (--patch) to edit-method command, which allows
97 monkeypatching methods without touching the original file
98 * edit-method can now edit REPL-defined methods
99 * cat --ex now works on exceptions in REPL-defined code
1292707 @banister updated CHANGLOG with changes to play command
banister authored
100 * play -m now uses eval_string.replace()
101 * play -m --open uses show-input to show play'd code
ca5d6b3 @ConradIrwin Port dedent from Python
ConradIrwin authored
102 * added "unindent" helper to make adding help to commands easier
3441397 @banister updated CHANGELOG
banister authored
103 * local ./.pryrc now loaded after ~/.pryrc if it exists
104 * 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
f89f31f @banister added error handling to cat command
banister authored
105 * new option Pry.config.exception_window_size determines window size for cat --ex
4e3853e @banister now using 'retry' (in read loop) to switch input objects in input_stack
banister authored
106 * 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
e852352 @banister injecting target_self into command scope (the self of the active bind…
banister authored
107 * Pry.config.system() defines how pry runs system commands
108 * now injecting target_self method into command scope
bb4412a @banister version 0.9.6 release
banister authored
109 * play now performs 'show-input' always unless eval_string contains a valid expression (i.e it's about to be eval'd)
110 * 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)
026e416 @rf- updated CHANGELOG
rf- authored
111
fdae01a @banister version 0.9.5 release
banister authored
112 8/9/2011 version 0.9.5
52bd898 @banister version 0.9.4 release, finally complete with full JRuby support
banister authored
113
114 MAJOR NEW FEATURES:
115 - JRuby support, including show-method/edit-method and editor integration on both 1.8 and 1.9 versions
116 - extended cd syntax: cd ../@x/y
117 - play command now works much better with _in_ array (this is a very powerful feature, esp with Pry::NAV_PROMPT)
118 - history saving/loading is now lightning fast
119 - 'edit' (entered by itself) now opens current lines in input buffer in an editor, and evals on exit
120 - 'edit' command is also, in general more intelligent
121 - ls output no longer in array format, and colors can be configured, e.g: Pry.config.ls.ivar_color = :bright_blue
122 - new switch-to command for moving around the binding stack without exiting out of sessions
123 - more sophisticated prompts, Pry::NAV_PROMPT to ease deep spelunking of code
124 - major bug fix for windows systems
125 - much better support for huge objects, should no longer hang pry (see #245)
126 - cat --ex and edit --ex now work better
127
128 complete CHANGELOG:
3b5668f @banister updated CHANGELOG
banister authored
129 * tempfile should end in .rb (for edit -t)
130 * ls output should not be in array format
131 * fix history saving (should not save all of Readline::HISTORY, but only what changed)
132 * prevent blank lines going to Readline::HISTORY (thanks cirwin!)
133 * ensure that cat --ex emulates the `whereami` format - includes line numbers and formatted the same, etc
5b09af4 @banister updated CHANGELOG
banister authored
134 * fixed bug #200 ( https://github.com/pry/pry/issues/200 )- string interpolation bug (thanks to ryanf)
135 * show-doc and stat now display method visibility (update WIKI)
136 * got rid of warnings caused by stricter ruby 1.9.3 rules
137 * remove interpolation of command names and fix interpolation error messag (update WIKI) (thanks ryanf!)
5a38130 @banister updated CHANGELOG
banister authored
138 * 'nested sessions' now use binding stacks (so each instance manages its own collection of bindings without spawning other instances)
139 * '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
84b0601 @banister all special locals are now injected into all bindings for a Pry insta…
banister authored
140 * added switch-to command (like jump-to but doesnt unwind the stack)
3e137e8 @banister added Pry.config.control_d_handler and also changed way control d (^D…
banister authored
141 * show-method and show-doc now accept multiple method names
142 * control_d hook added (Pry.config.control_d_handler)
143 * 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
d16e396 @banister removed all occurences of Pry.active_instance and Pry.last_exception.…
banister authored
144 * can no longer interpolate command name itself e.g #{x}-#{y} where x = "show" and y = "doc"
145 * ^C no longer captured
146 * got rid of Pry.active_instance, Pry.last_exception and friends.
b357624 @banister added more rbx helpers (command_helpers.rb) and added limited support…
banister authored
147 * also special locals now shared among bindings in a pry instance (i.e _ex_ (and friends) re-injected into new binding entered with 'cd')
a04e560 @banister made it so commands (with :keep_retval => true) can now return nil as…
banister authored
148 * renamed inp and out to _in_ and _out_ (to avoid collisions with actual locals in debugging scope)
6cd1d28 @banister merged in robgleeson's patch to pass pry instance to prompts, also ad…
banister authored
149 * added third parameter to prompts, the pry instance itself (_pry) see https://github.com/pry/pry/issues/233 for why it's important
3c1db5a @banister added signature to stat and show-doc commands in ruby 1.8; added sour…
banister authored
150 * cd behaviour when no args performs the same as `cd /`
5acbf75 @banister updated CHANGELOG and TODO
banister authored
151 * commands with keep_retval can now return nil (to suppress output now return 'void' instead)
152 * Pry::CommandProcessor::Result introduced
153 * Pry.view_clip() modified to be more robust and properly display Class#name
154 * edit command when invoked with no args now works like edit -t
155 * 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
156 * got rid of Pry#null_input? since all that was needed was eval_string.empty?
a8dd7ec @banister updated CHANGELOG and removed leak of debugging info from cd command
banister authored
157 * cd command now supports complex syntax: cd ../@y/y/../z
e589710 @banister JRuby finally supported, passing 100% of tests - requires updated met…
banister authored
158 * JRuby is no longer a 2nd class citizen, almost full JRuby support, passing 100% tests
522e7bc @banister added Pry::NAV_PROMPT and Pry::SIMPLE_PRINT to pry.rb
banister authored
159 * added Pry::NAV_PROMPT (great new navigation prompt, per robgleeson) and Pry::SIMPLE_PRINT for simple (IRB-style) print output (just using inspect)
740e2d0 @banister ls output colors can be configured using, e.g Pry.config.ls.local_var…
banister authored
160 * _pry_ now passed as 3rd parameter to :before_session hook
161 * ls colors now configurable via Pry.config.ls.local_var_color = :bright_red etc
1759f28 @banister updated Pry.view_clip() again, this time calling #inspect on nil, tru…
banister authored
162 * ls separator configurable via, e.g Pry.config.ls.separator = " "
163 * 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
3b5668f @banister updated CHANGELOG
banister authored
164
79382dc @rf- update changelog and contributors
rf- authored
165 27/7/2011 version 0.9.3
cda9502 @banister updated CHANGELOG and TODO, almost ready for 0.9.3 release
banister authored
166 * cat --ex (cats 5 lines above and below line in file where exception was raised)
167 * edit --ex (edits line in file where exception was raised)
168 * edit -t (opens a temporary file and evals it in current context when closed)
8c444ba @banister updated CHANGELOG and TODO
banister authored
169 * `pry -r` requires now happen after plugin loading (so as not to interfere with
cda9502 @banister updated CHANGELOG and TODO, almost ready for 0.9.3 release
banister authored
170 * new Pry.config.disable_auto_reload option, for turning off auto reloading by edit-method and related (thanks ryanf)
0394c3e @banister fixed help for play command, updated TODO and CHANGELOG
banister authored
171 * add better error messages for `cd` command
d74ddee @banister updated CHANGELOG and TODO
banister authored
172 * fixed exotic object regression - BasicObject.new etc now return "=> unknown"
df10d63 @banister updated TODO and CHANGELOG
banister authored
173 * added reload-method command (reloads the associated file of a method)
174 * converted: import => import-set, version => pry-version, install => install-command
cda9502 @banister updated CHANGELOG and TODO, almost ready for 0.9.3 release
banister authored
175 * Pry.config.command_prefix support (thanks ryanf!)
176 * fixed indentation for simple-prompt
177 * hist command now excludes last line of input (the command invocation itself)
178 * hist now has `history` alias
0777d6e @banister updated CHANGELOG to indicate fixed jedit editor support and that mis…
banister authored
179 * missing plugins no longer raise exception, just print a warning to $stderr
180 * fixed jedit editor support
8c444ba @banister updated CHANGELOG and TODO
banister authored
181
5c4feac @banister version 0.9.2 release, updated CHANGELOG and version
banister authored
182 21/6/2011 version 0.9.2
183 * fixed string interpolation bug (caused valid ruby code not to execute, sorry!)
184 * fixed `ls` command, so it can properly display members of Object and classes, and BasicObject, etc
185 * added a few git related commands to experimental command set, blame and diff
186
6061f97 @banister added date to CHANGELOG
banister authored
187 17/6/2011 version 0.9.0
69b91bf @banister updated CHANGELOG with some 0.9.0 changes
banister authored
188 * plugin system
189 * regex commands
190 * show-method works on methods defined in REPL
191 * new command system/API
192 * rubinius core support
606ce5c @banister updated CHANGELOG
banister authored
193 * more backports to ruby 1.8
69b91bf @banister updated CHANGELOG with some 0.9.0 changes
banister authored
194 * inp/out special locals
195 * _ex_ backtrace navigation object (_ex_.line, _ex_.file)
196 * readline history saving/loading
197 * prompt stack
198 * more hooks
199 * amend-line
200 * play
201 * show-input
3ab22b1 @banister updated CHANGELOG information
banister authored
202 * edit
69b91bf @banister updated CHANGELOG with some 0.9.0 changes
banister authored
203 * much more comprehensive test suite
204 * support for new and old rubygems API
205 * changed -s behaviour of ls (now excludes Object methods)
606ce5c @banister updated CHANGELOG
banister authored
206 * removed eval-file, lls, lcd, and a few other commands
207
69b91bf @banister updated CHANGELOG with some 0.9.0 changes
banister authored
208
21eb9c5 @banister version 0.7.6.1, added slightly better YARD support for syntax
banister authored
209 26/3/2011 version 0.7.6.1
210 * added slightly better support for YARD
211 * now @param and @return tags are colored green and markdown `code` is syntax highlighted using coderay
212
f4d7e41 @banister version 0.7.6, supercharged 'whereami' method, added AROUND parameter…
banister authored
213 26/3/2011 version 0.7.6
214 * `whereami` command now accepts parameter AROUND, to display AROUND lines on eitherside of invocation line.
215 * made it so `whereami` is invoked even if no method exists in current context (i.e in rspec tests)
216 * added rubinius support for `whereami` invocation in HOOKS by checking for __unknown__.rb rather than just <main>
217
e1d2372 @banister version 0.7.0, added pry-doc support and a few misc things.
banister authored
218 15/3/2011 version 0.7.0
219 * add pry-doc support with syntax highlighting for docs
220 * add 'mj' option to ls (restrict to singleton methods)
221 * add _ex_ local to hold last exception raised in an exception
222
4b9198d @banister version 0.6.8, added whereami command, made .pryrc run at the start o…
banister authored
223 6/3/2011 version 0.6.8
224 * add whereami command, a la the `ir_b` gem
225 * make whereami run at the start of every session
226 * make .pryrc be loaded by run-time pry sessions
227
52349f5 @banister version 0.6.7 release: major features are (1) syntax highlighting (2)…
banister authored
228 4/3/2011 version 0.6.7
229 * color support
230 * --simple-prompt for pry commandline
231 * -I mode for pry commandline
232 * --color mode for pry commandline
233 * clean up requires (put them all in one place)
234 * simple-prompt command and toggle-color commandd.
69b91bf @banister updated CHANGELOG with some 0.9.0 changes
banister authored
235
52a84cd @banister version 0.6.3, added method_source 0.3.4 dependency (1.8 show-metthod…
banister authored
236 28/2/2011 version 0.6.3
237 * Using MethodSource 0.3.4 so 1.8 show-method support provided
238 * `Set` class added to list of classes that are inspected
69b91bf @banister updated CHANGELOG with some 0.9.0 changes
banister authored
239
c0e4947 @banister version 0.6.1 release, added optional return value to `exit` and `exi…
banister authored
240 26/2/2011 version 0.6.1
241 * !@ command alias for exit_all
242 * `cd /` for breaking out to pry top level (jump-to 0)
243 * made `-e` option work in a more effective way for `pry` command line invocation
244 * exit and exit-all commands now accept a parameter, this parameter becomes the return value of repl()
245 * `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)
246 * tests for new :keep_retval and exit-all/exit behaviour; :keep_retval will remain undocumented.
247
248 22/2/2011 version 0.5.8
d65a13a @banister version 0.5.8 added -c (context) options to show-method and show-doc …
banister authored
249 * Added -c (context) option to show-doc, show-methods and eval-file
250 * Fixed up ordering issue of -c and -r parameters to command line pry
69b91bf @banister updated CHANGELOG with some 0.9.0 changes
banister authored
251
c0e4947 @banister version 0.6.1 release, added optional return value to `exit` and `exi…
banister authored
252 21/2/2011 version 0.5.7
22d31c0 @banister version 0.5.7, added Pry executable, pry --help at command line for m…
banister authored
253 * Added pry executable, auto-loads .pryrc in user's home directory, if it
254 exists.
69b91bf @banister updated CHANGELOG with some 0.9.0 changes
banister authored
255
c0e4947 @banister version 0.6.1 release, added optional return value to `exit` and `exi…
banister authored
256 19/2/2011 version 0.5.5
5eea050 @banister version 0.5.6, added better help messages and error messages. Refacto…
banister authored
257 * Added Pry.run_command
258 * More useful error messages
259 * Easter eggs (game and cohen-poem)
260
c0e4947 @banister version 0.6.1 release, added optional return value to `exit` and `exi…
banister authored
261 17/2/2011 version 0.5.0
29722bb @banister * version 0.5.0 release
banister authored
262 * Use clipped version of Pry.view() for large objects
263 * Exit Pry session on ^d
264 * Use Shellwords for breaking up parameters to pry commands
265 * Use OptionParser to parse options for default pry commands
266 * Add version command
267 * Refactor 'status' command: add current method info
268 * Add meth_name_from_binding utility lambda to commands.rb
269 * Add -M, -m, -v(erbose), -a(ll), -s(uper), -l(ocals), -i(ivars), -k(klass
270 vars), etc options to ls
271 * add -M(instance method) options to show-method and show-doc
272 * add --help option to most commands
273 * Get rid of ls_method and ls_imethods (subsumed by more powerful ls)
274 * Get rid of show_idoc and show_imethod
275 * Add special eval-file command that evals target file in current context
69b91bf @banister updated CHANGELOG with some 0.9.0 changes
banister authored
276
c0e4947 @banister version 0.6.1 release, added optional return value to `exit` and `exi…
banister authored
277 27/1/2011 version 0.4.5
d0cf3ef @banister version 0.4.5 fixed show_method command
banister authored
278 * fixed show_method (though fragile as it references __binding_impl__
279 directly, making a name change to that method difficult
c0e4947 @banister version 0.6.1 release, added optional return value to `exit` and `exi…
banister authored
280 27/1/2011 version 0.4.4
d890d7b @banister version 0.4.4, oops added examples/
banister authored
281 * oops, added examples/ directory
c0e4947 @banister version 0.6.1 release, added optional return value to `exit` and `exi…
banister authored
282 26/1/2011 version 0.4.3
d890d7b @banister version 0.4.4, oops added examples/
banister authored
283 * added alias_command and desc methods to Pry::CommandBase
284 * changed behaviour of ls_methods and ls_imethods to return sorted lists
285 of methods
c0e4947 @banister version 0.6.1 release, added optional return value to `exit` and `exi…
banister authored
286 23/1/2011 version 0.4.1
2ca16a0 @banister Version 0.4.1
banister authored
287 * made it so a 'def meth;end' in an object Pry session defines singleton
288 methods, not methods on the class (except in the case of
289 immediates)
290 * reorganized documentation, moving customization to a separate wiki file
291 * storing wiki in a nested git repo, as github wiki pages have their own
292 repo
293 * added more tests for new method definition behaviour
c0e4947 @banister version 0.6.1 release, added optional return value to `exit` and `exi…
banister authored
294 21/1/2011 version 0.4.0
45f2f10 @banister almost ready for 0.4.0 release, created new example_input2.rb example…
banister authored
295 * added command API
296 * added many new commands, i.e ls_methods and friends
297 * modified other commands
298 * now accepts greater customization, can modify: input, output, hooks,
299 prompt, print object
300 * added tab completion (even completes commands)
301 * added extensive tests
302 * added examples
303 * many more changes
a25c40d @banister version bump to 0.1.3 and slight aesthetic changes to code
banister authored
304 9/12/2010 version 0.1.3
305 * Got rid of rubygems dependency, refactored some code.
890ca85 @banister rescuing SyntaxError as well in valid_expression?
banister authored
306 8/12/2010 version 0.1.2
307 * now rescuing SyntaxError as well as Racc::Parser error in valid_expression?
2dc06b2 @banister adding READMEs and CHANGELOG etc
banister authored
308 8/12/2010 version 0.1.0
309 * release!
69b91bf @banister updated CHANGELOG with some 0.9.0 changes
banister authored
310
Something went wrong with that request. Please try again.