Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update sh to 1.12.9 #14923

Closed
wants to merge 1 commit into from
Closed

Update sh to 1.12.9 #14923

wants to merge 1 commit into from

Conversation

pyup-bot
Copy link
Contributor

There's a new version of sh available.
You are currently using 1.09. I have updated it to 1.12.9

These links might come in handy: PyPI | Changelog | Repo

Changelog

1.12.9

  • added _bg_exc for silencing exceptions in background threads 350

1.12.8

  • bugfix for patched glob.glob on python3.5 341

1.12.7

  • added _out and _out_bufsize validator 346
  • bugfix for internal stdout thread running when it shouldn't 346

1.12.6

  • regression bugfix on timeout 344
  • regression bugfix on _ok_code=None

1.12.5

  • further improvements on cpu usage

1.12.4

  • regression in cpu usage 339

1.12.3

  • fd leak regression and fix for flawed fd leak detection test 337

1.12.2

  • support for io.StringIO in python2

1.12.1

  • added support for using raw file descriptors for _in, _out, and _err
  • removed .close()ing _out handler if FIFO detected

1.12.0

  • composed commands no longer propagate _bg
  • better support for using sys.stdin and sys.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 of sh2 = 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 and which now can take an optional paths 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 take None which splits the long form arguments into individual arguments 258
  • 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 raised StopIteration, hangs 273
  • sh.cd called with no arguments no changes into the user's home directory, like native cd 275
  • sh.glob removed entirely. the rationale is correctness over hand-holding. 279
  • added _truncate_exc, defaulting to True, 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

1.10

  • partially applied functions with functools.partial have been fixed for _out and _err callbacks 160
  • _out or _err being callables no longer puts the running command in the background. to achieve the previous behavior, pass _bg=True to your command.
  • deprecated _with contexts 195
  • _timeout_signal allows you to specify your own signal to kill a timed-out process with. use a constant from the signal stdlib module. 171
  • signal exceptions can now be caught by number or name. SignalException_9 == SignalException_SIGKILL
  • child processes that timeout via _timeout raise sh.TimeoutException instead of sh.SignalExeception_9 172
  • fixed help(sh) from the python shell and pydoc sh from the command line. 173
  • program names can no longer be shadowed by names that sh.py defines internally. removed the requirement of trailing underscores for programs that could have their names shadowed, like id.
  • memory optimization when a child process's stdin is a newline-delimted string and our bufsize is newlines
  • feature, _done special keyword argument that accepts a callback to be called when the command completes successfully 185
  • bugfix for being unable to print a baked command in python3+ 176
  • bugfix for cwd not existing and causing the child process to continue running parent process code 202
  • child process is now guaranteed to exit on exception between fork and exec.
  • fix python2 deprecation warning when running with -3 PR 165
  • bugfix where sh.py was attempting to execute directories 196, PR 189
  • only backgrounded processes will ignore SIGHUP
  • allowed ok_code to take a range object. PR 210
  • added sh.args with context which allows overriding of all command defaults for the duration of that context.
  • added sh.pushd with context which takes a directory name and changes to that directory for the duration of that with context. PR 206
  • tests now include python 3.4 if available. tests also stop on the first
    python that suite that fails.
  • SIGABRT, SIGBUS, SIGFPE, SIGILL, SIGPIPE, SIGSYS have been added to the list of signals that throw an exception PR 201
  • "callable" builtin has been faked for python3.1, which lacks it.
  • "direct" option added to _piped special keyword argument, which allows sh to hand off a process's stdout fd directly to another process, instead of buffering its stdout internally, then handing it off. 119

Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.

Happy merging! 🤖

@snopoke snopoke closed this Feb 14, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants