- Fix
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
by addingrb-readline
to dependencies on JRuby version
- Release separated gem version for JRuby because ruby-termios does not work on this platform
- Add
source_timestamp
to errors stored in sandbox - Add
error_history
anderror_classes
methods to sandbox to view error list with comfort - Add
PryRemoteEm::Sandbox.ignore_errors
to avoid capturing useless errors - Add simple metrics collector, default
errors
metric from sandbox catcher, option to view metrics in the broker list (see Readme) - Show server details and metrics on connect if any
- BREAKING CHANGE Change
!
and!!
messaging commands to^
and^^
to avoid confusing with Pry's built in!
command and Ruby'snot
semantics - BREAKING CHANGE Change
PryRemoteEm::Server.run
method signature to hash-only form (remote_pry_em
method's signature didn't changed) - BREAKING CHANGE Change
allow_shell_cmds
setting totrue
by default instead offalse
, because most of projects does not use $SAFE and any shell command can be run from Ruby code withsystem
call or backticks, so this option is illusion in most cases - BREAKING CHANGE
PryRemoteEm::Server.run
returns whole server description instead of URL - BREAKING CHANGE Rename public constants to avoid confusing
- BREAKING CHANGE Drop support for eventmachine prior to 1.0.0.beta4
- BREAKING CHANGE Inner transport protocol was changed, so broker, client and server of version 1.0.0 cannot work with brokers, clients and servers of previous versions
- Add
PryRemoteEm::Sandbox
as target by default, see Readme for details - Add proxy-by-default setting to CLI
- Add possibility to use environment variables on CLI connection
- Add more environment variables to control server without code changing (described in readme)
- Add support for empty environment variables and nil arguments on server start
- Add possibility to set external url for server (to use lib with NAT or Docker) using
PRYEMURL
orexternal_url
option - Add ability to use custom server name using
PRYEMNAME
environment variable orname
option (and displaying it in the prompt) - Add ability to start server without starting broker using
PRYEMREMOTEBROKER
environment variable orremote_broker
option - Add
pry-remote-em-broker
binary to start broker without starting server - Add
Object#pry_remote_em
alias toObject#remote_pry_em
to avoid common confusing - Add support for options hash as first argument instead of third in
Object#remote_pry_em
- Add local history loading on session start
- Add support for
pry-coolline
(just install this gem to make it work) - Add support for several URIs per one server (when binding to 0.0.0.0)
- Add option to ignore localhost urls in the list (useful when server binding to 0.0.0.0 in Docker, where localhost is useless)
- Add support for
details
option on server start and corresponding CLI option to display some usefull information about server instead or url in broker table (for example, health status, which can be updated on every heartbeat via details hash mutating)
- Fix proxy, it didn't work at all
- Fix interative shell commands, they didn't work at all
- Fix
libc++abi.dylib: Pure virtual function called!
error on client disconnecting - Fix strange buffer bugs on long output over network using MessagePack protocol instead of JSON
- Fix console crash on pager quit
- Fix console crash on Ctrl+C (now it's clears the buffer like in native Pry)
- Fix IPv6 localhost crash
- Fix missing requires when using broker without server
- Fix port access check when using environment variables
- Fix strange effects when registering in broker from Docker (now broker use UUID as a key instead of URI)
- Fix message
broker connection unbound starting a new one
on EventMachine stopping - Fix unregistering in broker by timeout only, now servers unregister instantly after closing connection
- Fix interative shell commands echo printing
- Fix unknown shell command problem (now valid
command not found
message is printing) - Fix behaviour on empty input, now it's exactly like as in native Pry
- Fix saving empty strings in history
- Add ruby-termios to runtime dependencies to avoid confusing
unable to load keyboard dependencies
message - Bump dependencies versions
- Remove useless return values from inner methods
- Add stable 3 seconds timeout on broker reconnection, not random one
- Require
pry-remote-em/server
by defaults - Correct README for default broker port
- Use single quotes by default
- Use Ruby 1.9 hash syntax by default
- Use semantic versioning, starting at 1.0.0 (since we're using it in production for a long time already)
- #42 - Use bytesize String method instead of length in protocol. distorhead
- #40 - require 'pry', not its parts rking
- #39 - stagger_output needs Pry::Pager to be loaded in the parent scope pcmantz
- Broker listens at 6462 everything else starts at 6463
- cli assumes port 6462 when not specified
- Broker.run yields to a block when broker connection has been established
- server list can be filtered by host, port, name, or SSL support
- server list can be sorted by host, port, name, or SSL support
- cli assumes port 6461 when not specified
- cli accepts -c and -p options to immediately connect or proxy from the broker to a server matching the name specified on the command line
- closes #37 loosens pry version requirement
- client sorts server list by host address
- when registering 0.0.0.0 with a Broker register each interface instead
- fixes #21 version matching between client and server allow differences in patch levels
- fixes #31 client reports own version when incompatible with server
- client supports vi mode: rb-readline replaced by readline
- fixes #31 termios is no longer a hard requirement: shell commands will be disabled without it
- adds PryRemoteEm.servers and PryRemoteEm.stop_server
- broker can proxy requests to local or remote servers that have registered with it
- closes #11 all servers will attempt to register with a broker; client will retrieve list of servers from the broker and present a menu to the user by default
- when specifying a specific port to listen on the option :port_fail can be set to :auto; if binding fails attempt to bind on the next port
- server.run returns a url (String) with the scheme, host and port of the listening server
- json specific parts of wire protocol are abstracted away from client and server
- json proto is a bit more robust: delimeter can be a part of data and CRC is performed
- handle reset command appropriately
- messages are tagged with user that sent them if authentication is being used
- adds shell command support
- adds auth event callbacks
- adds configurable logger
- adds simple messaging with '!' and '!!'
- fixes #23
- empty lines don't cause termination
- User/Pass authentication
- TLS support
- Paging support
- Tab completion