Releases: LucasPickering/slumber
2.4.0 - 2024-12-27
Release Notes
Added
- Add filter box to the recipe list
- This behavior is not necessarily final. Please leave feedback if you think it could be improved.
Changes
- Wrap long error messages in response pane
- Include data path in config/collection deserialization errors
- This should make errors much less cryptic and frustrating
- Improve UX of query text box
- The query is now auto-applied when changed (with a 500ms debounce), and drops focus on the text box when Enter is pressed
- Refactor UI event handling logic
- This shouldn't have any noticable impact on the user, but if you notice any bugs please open an issue
- Include request duration in History modal
- Rename
viewer
config field topager
- The old field name
viewer
is still supported for backward compatibility, but the docs have been updated to suggest the newer name instead
- The old field name
- Load pager command from the
PAGER
environment variable if available, similar to theEDITOR
environment variable
Fixed
- Don't show request cancellation dialog if the selected request isn't building/loading
Install slumber 2.4.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v2.4.0/slumber-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/LucasPickering/slumber/releases/download/v2.4.0/slumber-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumber
Download slumber 2.4.0
File | Platform | Checksum |
---|---|---|
slumber-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
slumber-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
slumber-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
slumber-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
slumber-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
2.3.0 - 2024-11-11
Release Notes
Added
- Add "View Body" action to response bodies, to open a body in an external viewer such as
less
orfx
#404- By default
less
is used. You can customize this with theviewer
config field
- By default
Changes
- Preserve key order of objects in JSON responses #405
Fixed
- Fixed
ignore_certificate_hosts
andlarge_body_size
fields not being loaded from config - Improve performance of large response bodies #356
- This includes disabling prettyification and syntax highlighting on bodies over 1 MB (this size is configurable, via the
large_body_size
config field) - Loading a large response body should no longer cause the UI to freeze or low framerate
- This includes disabling prettyification and syntax highlighting on bodies over 1 MB (this size is configurable, via the
Install slumber 2.3.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v2.3.0/slumber-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/LucasPickering/slumber/releases/download/v2.3.0/slumber-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumber
Download slumber 2.3.0
File | Platform | Checksum |
---|---|---|
slumber-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
slumber-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
slumber-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
slumber-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
slumber-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
2.2.0 - 2024-10-22
Release Notes
Added
- Add shell completions, accessed by enabling the
COMPLETE
environment variable- For example, adding
COMPLETE=fish slumber | source
to yourfish.config
will enable completions for fish - See docs for more info and a list of supported shells
- For example, adding
- Add
slumber gen
alias to--help
documentation
Fixed
- Fix error loading requests with empty header values from history #400
- Fix input bindings involving
shift
and a character (e.g.shift g
) #401
Install slumber 2.2.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v2.2.0/slumber-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/LucasPickering/slumber/releases/download/v2.2.0/slumber-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumber
Download slumber 2.2.0
File | Platform | Checksum |
---|---|---|
slumber-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
slumber-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
slumber-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
slumber-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
slumber-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
2.1.0 - 2024-09-27
Release Notes
Added
- Use
SLUMBER_CONFIG_PATH
to customize configuration (not collection) file path #370 - Add a dynamic variant to
!select
chain type, allowing your collection to present a list of values driven from the output of another chain. (thanks @anussel5559) - Cancel in-flight requests with the
cancel
action (bound to escape by default) - Add
slumber new
subcommand to generate new collection files #376 - Add
default
field to profiles- When using the CLI, the
--profile
argument can be omitted to use the default profile
- When using the CLI, the
- Reset edited recipe values to their default using
z
- You can customize the key to whatever you want
- Add
selector_mode
field to chains, to control how single vs multiple results from a JSONPath selector are handled- Previously, if a selector returned multiple results, an error was returned. Now, the result list will be rendered as a JSON array. To return to the previous behavior, set
selector_mode: single
in your chain. - See docs for more
- Previously, if a selector returned multiple results, an error was returned. Now, the result list will be rendered as a JSON array. To return to the previous behavior, set
Changed
- Update file locations to adhere to XDG spec on Linux #371
- Move config file to config dir, which remains the same on MacOS/Windows but changes on Linux. For backward compatibility, the previous path (data dir) will be checked and used if present
- Move log files to state dir on Linux and cache dir on MacOS/Windows
- Database file remains in data dir on all platforms
- Create config file on startup if it doesn't exist
- If config file fails to load during TUI startup, display an error and fall back to the default, rather than crashing
- De-deprecate
{{env.VARIABLE}}
template sources- They'll remain as a simpler alternative to
!env
chains
- They'll remain as a simpler alternative to
Fixed
- Updated the Configuration docs to remove the non-existent
slumber show dir
command (thanks @SVendittelli) - Retain all request history when collection file is reloaded
- Previously, pending and failed requests were lost on reload within a single session. These will still be lost when a session is exited.
- Fix serialization of query parameter lists
- Don't update UI for useless events (e.g. cursor moves)
Install slumber 2.1.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v2.1.0/slumber-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/LucasPickering/slumber/releases/download/v2.1.0/slumber-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumber
Download slumber 2.1.0
File | Platform | Checksum |
---|---|---|
slumber-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
slumber-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
slumber-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
slumber-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
slumber-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
2.0.0 - 2024-09-06
Release Notes
2.0 is headlined by a highly requested feature: one-off edits to recipes! If you need to tweak a query parameter or edit a body, but don't want to modify your collection file, you can now highlight the value in question and hit e
to modify it. The override will be retained until you modify the collection file or exit Slumber, at which point it will revert to its original value.
Aside from the major new feature, there is one breaking change to the escape syntax of templates. The old backslash-based syntax was fraught with edge cases and unpredictable behavior. This new syntax is simpler to use, simpler to implement, and much more bulletproof. This syntax was rare to use to begin with, so most people will be unimpacted by this change.
Here's the full list of changes:
Breaking
- Replace backslash escape sequence with a simpler scheme based on
_
- For example, previously a key would be escaped as
\{{
. This introduced complexities around how to handle additional backslashes, and also required doubling up backslashes in YAML - The new equivalent would be
{_{
, which parses as{{
- The goal of this change is to make escaping behavior simpler and more consistent
- For more info on the new behavior, see the docs
- For example, previously a key would be escaped as
- Remove
--log
CLI argument- See note on log files in Changed section for why this is no longer necessary
Added
- Edit recipe values (query params, headers, etc.) in the TUI to provide one-off values
- Press
e
on any value you want to edit (you can customize the key)
- Press
- Add
editor
field to the config, allowing you to customize what editor Slumber opens for in-app editing - Add
!select
chain type, allowing your collection to prompt the user to select a value from a static list (thanks @anussel5559)
Changed
!json
bodies are now prettified when sent to the server- Use
vim
as default editor if none is configured - Move logs back to a shared file
- They had been split into one file per session, which made them hard to find
- The file is now eventually deleted once it exceeds a certain size
Fixed
- Fix basic auth being label as bearer auth in Recipe Authentication pane
- Use correct binding for
search
action in the placeholder of the response filter textbox- Previously it was hardcoded to display the default of
/
- Previously it was hardcoded to display the default of
- Fix response body filter not applying on new responses
- Support quoted arguments in editor commands
- Fix certain UI values not persisting correctly
- Propagate unconsumed key events from text boxes
- E.g. F5 will now refresh the collection while a text box is in focus
- Redraw TUI when terminal is resized
- Clamp text window scroll state when window is resized or text changes
- Fix extraneous input events when exiting Vim #351
- Improve performance and fix crashes when handling large request/response bodies #356
- Further improvements for large bodies will be coming in the future
Install slumber 2.0.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v2.0.0/slumber-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/LucasPickering/slumber/releases/download/v2.0.0/slumber-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumber
Download slumber 2.0.0
File | Platform | Checksum |
---|---|---|
slumber-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
slumber-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
slumber-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
slumber-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
slumber-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
1.8.0 - 2024-08-09
Release Notes
The highlight (no pun intended) of this release is syntax highlighting. Beyond that, the release contains a variety of small fixes and improvements.
Added
- Add syntax highlighting to recipe, request, and response display #264
Changed
- Change layout of internal database for request and UI state storage
- This shouldn't have any user impact, it's just a technical improvement. If you notice any issues such as missing or incorrect request history, please let me know
- Upgrade to Rust 1.80
- Disable unavailable menu actions #222
- Support template for header names in the
section
field of!request
chains - Expand
~
to the home directory in!file
chain sources and when saving response body as a file - Ignore key events with additional key modifiers
- For example, an action bound to
w
will no longer matchctrl w
- For example, an action bound to
- Actions can now be unbound by specifying an empty binding
- For example, binding
submit: []
will make the submit action inaccessible
- For example, binding
Fixed
- Fix
cargo install slumber
when not using--locked
- Don't type in text boxes when modifiers keys (other than shift) are enabled
- Should mitigate some potential confusing behavior when using terminal key sequences
- Query parameter and header toggle rows no longer lose their state when switching profiles
Install slumber 1.8.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v1.8.0/slumber-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -c "irm https://github.com/LucasPickering/slumber/releases/download/v1.8.0/slumber-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install LucasPickering/homebrew-tap/slumber
Download slumber 1.8.0
File | Platform | Checksum |
---|---|---|
slumber-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
slumber-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
slumber-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
slumber-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
slumber-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
1.7.0 - 2024-07-22
Release Notes
This release focuses on minor fixes and improvements. There are no new major features or added functionality.
Added
- Add global
--log
argument to CLI, to print the log file being used for that invocation
Changes
- Checkbox row state and folder expand/collapse state are now toggled via the spacebar instead of enter
- Enter now sends a request from anywhere. While this change may be annoying, it will hopefully be more intuitive in the long run.
- This can be rebound (see docs)
- Show folder tree in recipe pane when a folder is selected
- Don't exit body filter text box on Enter #270
- Show elapsed time for failed requests (e.g. in case of network error)
Fixes
- Fix latest request not being pre-selected correctly if it's not a successful response
- Detect infinite loops in chain configuration templates
- Duplicated chains in a recipe will only be rendered once #118
- Never trigger chained requests when rendering template previews in the TUI
- Use a different log file for each session #61
Install slumber 1.7.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v1.7.0/slumber-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -c "irm https://github.com/LucasPickering/slumber/releases/download/v1.7.0/slumber-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install LucasPickering/homebrew-tap/slumber
Download slumber 1.7.0
File | Platform | Checksum |
---|---|---|
slumber-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
slumber-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
slumber-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
slumber-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
slumber-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
1.6.0 - 2024-07-07
Release Notes
Added
- Initial support for importing collections from an OpenAPIv3 specification #106
- Currently only OpenAPI 3.0 (not 3.1) is supported. Please try this out and give feedback if anything doesn't work.
Changed
- Allow escaping keys in templates #149
- While this is technically a breaking change, this is not a major version bump because it's extremely unlikely that this will break anything in practice for a user
- See docs
Fixed
- Support TLS certificates in native certificate store #275
Install slumber 1.6.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v1.6.0/slumber-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -c "irm https://github.com/LucasPickering/slumber/releases/download/v1.6.0/slumber-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install LucasPickering/homebrew-tap/slumber
Download slumber 1.6.0
File | Platform | Checksum |
---|---|---|
slumber-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
slumber-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
slumber-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
slumber-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
slumber-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
1.5.0 - 2024-06-17
Release Notes
Added
- Add
!env
chain source, for loading environment variables- This is intended to replace the existing
{{env.VARIABLE}}
syntax, which is now deprecated and will be removed in the future
- This is intended to replace the existing
Changed
- "Edit Collection" action now uses the editor set in
$VISUAL
/$EDITOR
instead of whatever editor you have set as default for.yaml
/.yml
files #262- In most cases this means you'll now get
vim
instead of VSCode or another GUI editor - Closing the editor will return you to Slumber, meaning you can stay in the terminal the entire time
- In most cases this means you'll now get
Fixed
- Environment variables in
{{env.VARIABLE}}
templates are now loaded as strings according to the OS encoding, as opposed to always being decoded as UTF-8
Install slumber 1.5.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v1.5.0/slumber-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -c "irm https://github.com/LucasPickering/slumber/releases/download/v1.5.0/slumber-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install LucasPickering/homebrew-tap/slumber
Download slumber 1.5.0
File | Platform | Checksum |
---|---|---|
slumber-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
slumber-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
slumber-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
slumber-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
slumber-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Version 1.5.0-beta.1
Release Notes
Changed
- "Edit Collection" action now uses the editor set in
$VISUAL
/$EDITOR
instead of whatever editor you have set as default for.yaml
/.yml
files- In most cases this means you'll now get
vim
instead of VSCode or another GUI editor - Closing the editor will return you to Slumber, meaning you can stay in the terminal the entire time
- In most cases this means you'll now get
Install slumber 1.5.0-beta.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v1.5.0-beta.1/slumber-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -c "irm https://github.com/LucasPickering/slumber/releases/download/v1.5.0-beta.1/slumber-installer.ps1 | iex"
Install prebuilt binaries via Homebrew
brew install LucasPickering/homebrew-tap/slumber
Download slumber 1.5.0-beta.1
File | Platform | Checksum |
---|---|---|
slumber-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
slumber-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
slumber-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
slumber-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
slumber-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |