sh v1.12.0 Release Notes
-
- composed commands no longer propagate
_bg
- better support for using
sys.stdin
andsys.stdout
for_in
and_out
- ๐ bugfix where
which()
would not stop searching at the first valid executable found in PATH - added
_long_prefix
for programs whose long arguments start with something other than--
#278 - ๐ฒ added
_log_msg
for advanced configuration of log message #311 - added
sh.contrib.sudo
- added
_arg_preprocess
for advanced command wrapping - alter callable
_in
arguments to signify completion with falsy chunk - bugfix where pipes passed into
_out
or_err
were not flushed on process end #252 - deprecated
with sh.args(**kwargs)
in favor ofsh2 = sh(**kwargs)
- made
sh.pushd
thread safe - ๐ฆ added
.kill_group()
and.signal_group()
methods for better process control #237 - added
new_session
special keyword argument for controlling spawned process session #266 - ๐ bugfix better handling for EINTR on system calls #292
- ๐ bugfix where with-contexts were not threadsafe #247
-
_uid
new special keyword param for specifying the user id of the process #133 - ๐ bugfix where exceptions were swallowed by processes that weren't waited on #309
- ๐ bugfix where processes that dupd their stdout/stderr to a long running child process would cause sh to hang #310
- ๐ฒ improved logging output #323
- ๐ bugfix for python3+ where binary data was passed into a process's stdin #325
- Introduced execution contexts which allow baking of common special keyword arguments into all commands #269
-
Command
andwhich
now can take an optionalpaths
parameter which specifies the search paths #226 -
_preexec_fn
option for executing a function after the child process forks but before it execs #260 -
_fg
reintroduced, with limited functionality. hurrah! #92 - ๐ bugfix where a command would block if passed a fd for stdin that wasn't yet ready to read #253
-
_long_sep
can now takeNone
which splits the long form arguments into individual arguments #258 - 0๏ธโฃ making
_piped
perform "direct" piping by default (linking fds together). this fixes memory problems #270 - ๐ bugfix where calling
next()
on an iterable process that has raisedStopIteration
, hangs #273 -
sh.cd
called with no arguments no changes into the user's home directory, like nativecd
#275 - ๐
sh.glob
removed entirely. the rationale is correctness over hand-holding. #279 - added
_truncate_exc
, defaulting toTrue
, which tells our exceptions to truncate output. - ๐ bugfix for exceptions whose messages contained unicode
-
_done
callback no longer assumes you want your command put in the background. -
_done
callback is now called asynchronously in a separate thread. - ๐
_done
callback is called regardless of exception, which is necessary in order to release held resources, for example a process pool
- composed commands no longer propagate