v0.7
Changes
-
A new error signal,
plz-error
, is defined. The existing signals,plz-curl-error
andplz-http-error
, inherit from it, so handlingplz-error
catches both.NOTE: The existing signals,
plz-curl-error
andplz-http-error
, are hereby deprecated, and they will be removed in v0.8. Applications should be updated while using v0.7 to only expectplz-error
.
Fixes
- Significant improvement in reliability by implementing failsafes and workarounds for Emacs's process-handling code. (See #3.)
- STDERR output from curl processes is not included in response bodies (which sometimes happened, depending on Emacs's internal race conditions). (Fixes #23.)
- Use
with-local-quit
for synchronous requests (preventing Emacs from complaining sometimes). (Fixes #26.) - Various fixes for
:as 'buffer
result type: decode body when appropriate; unset multibyte for binary; narrow to body; don't kill buffer prematurely. - When clearing a queue, don't try to kill finished processes.
Internal
- Response processing now happens outside the process sentinel, so any errors (e.g. in user callbacks) are not signaled from inside the sentinel. (This avoids the 2-second pause Emacs imposes in such cases.)
- Tests run against a local instance of httpbin (since the
httpbin.org
server is often overloaded). - No buffer-local variables are defined anymore; process properties are used instead.