Releases: LucasPickering/slumber
3.1.1 - 2025-04-23
Release Notes
Fixed
- Persist response query commands separately for each content type
- This prevents commands from running on the incorrect content type when the response type changes
Install slumber 3.1.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v3.1.1/slumber-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/LucasPickering/slumber/releases/download/v3.1.1/slumber-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumberDownload slumber 3.1.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 |
3.1.0 - 2025-04-04
Release Notes
This releases focuses on history and data management. A suite of new features and improvements make it easy to disable request persistence and delete past requests from history.
Added
- Add
--persistflag toslumber request- By default, CLI-based requests are not stored in the history database. Use this flag to enable persistence for the sent request.
- Add
slumber history deletesubcommand for deleting request history - Add
slumber dbsubcommand to open a shell to the local SQLite database - Add
persistfield to the global config and individual recipes- Both default to
true, but you can now set them tofalseto disable data persistence a single recipe, or all instances of the app. See here for more
- Both default to
- Add actions to delete requests from the TUI
- Delete a single request from the history modal or the Request/Response pane
- Delete all requests for a recipe from the Recipe List/Recipe panes
Changed
- Upgrade to Rust 1.86 (2024 edition!)
- Improve functionality of
slumber history listrecipeargument is optional now. Omit it to show requests for all recipes in the current collection- Add
--allargument to show requests for all collections - Add
--id-onlyflag to print only IDs with no headers. Combine withslumber history deletefor great success!
- Improve format of
slumber history listtable output
Fixed
- Fix output format of
slumber request --dry-run ...to matchslumber request --verbose - Fix
curloutput for URL-encoded and multipart forms - Fix selected request not changing when profile changes
slumber 3.1.0
Install slumber 3.1.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v3.1.0/slumber-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/LucasPickering/slumber/releases/download/v3.1.0/slumber-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumberDownload slumber 3.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 |
3.0.1 - 2025-02-19
Release Notes
Fixed
- Text box now scrolls to the cursor when it's off screen
- Fix panics when the screen gets very small #469
Install slumber 3.0.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v3.0.1/slumber-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/LucasPickering/slumber/releases/download/v3.0.1/slumber-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumberDownload slumber 3.0.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 |
3.0.0 - 2025-02-15
Release Notes
A major release! The main focus of this release is the introduction of shell commands for data querying and export. Previously, you could query response bodies within the TUI only using JSONPath. This limited querying only to JSON responses, and the limited amount of operators supported by JSON. Now, you can use whatever shell commands you want (such as head, grep, and jq) to filter your reponses bodies, right in the TUI! Check out the docs for more examples.
In addition to the querying change, this release includes a handful of breaking changes, none of which are likely to cause issues for existing users.
Breaking
- Don't store CLI requests in history
- Simplify display for
slumber request- The flags
--status,--headersand--no-bodyhave been removed in favor of a single--verboseflag
- The flags
- Remove DB migration to upgrade from the pre-1.8.0 DB format
- This only impacts users upgrading to 3.0.0 from versions before 1.8.0. You'll need to upgrade to an intermediate version first. If you install 3.0.0 and try to start it, you'll see an error message explaining how to fix it.
- See #306 for more info
Added
- Replace JSONPath querying with general purpose shell commands for querying response bodies. See docs
- Now you can access any CLI tools you want for transforming response bodies, such as
jqorgrep - By default, commands are executed via
sh(orcmdon Windows), but this is configured via thecommands.shellfield
- Now you can access any CLI tools you want for transforming response bodies, such as
- Add keybind (
:by default) to run an "export" command with a response body, allowing you to run arbitrary shell commands to save a response body to a file, copy it to the clipboard, etc. See docs - Add
slumber historysubcommand. Currently it has two operations:slumber history listlists all stored requests for a recipeslumber history getprints a specific request/response
- Add
--outputflag toslumber requestto control where the response body is written to - Support MIME type mapping for
pagerconfig field, so you can set different pagers based on media type. See docs - Several changes related to keybinds and action menus to make the two feel more cohesive
- Add "Edit" and "Reset" actions to menus on the recipe pane
- These don't provide any new functionality, as the
eandzkeys are already bound to those actions, but it should make them more discoverable
- These don't provide any new functionality, as the
- Add keybind (
vby defualt) to open a recipe/request/response body in your pager- Previously this was available only through the actions menu
- "View Body" and "Copy Body" actions for a recipe are now only available within the Body tab of the Recipe pane
- Previously they were available anywhere in the Recipe List or Recipe panes. With the addition of other actions to the menu it was started to feel cluttered
- Add "Edit" and "Reset" actions to menus on the recipe pane
Changed
- Denote templates that have been edited during the current session with italics instead of a faint "(edited)" note
- Header names in recipes are now lowercased in the UI
- They have always been lowercased when the request is actually sent, so now the UI is just more representative of what will be sent
- Accept a directory for the
--file/-fCLI argument- If a directory is given, the standard rules for detecting a collection file will be applied from that directory
Fixed
- Fix certain recipe-related menu actions being enabled when they shouldn't be
Install slumber 3.0.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v3.0.0/slumber-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/LucasPickering/slumber/releases/download/v3.0.0/slumber-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumberDownload slumber 3.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 |
2.5.0 - 2025-01-06
Release Notes
Added
- Add REST Importer for VSCode and Jetbrains #122 (thanks @benfaerber)
Changed
- Update editor-command, which replaces shellish_parse with shell-words for editor and pager command parsing
- There should be no impact to users
- Don't show "Loaded collection from ..." notification on initial load
Install slumber 2.5.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v2.5.0/slumber-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/LucasPickering/slumber/releases/download/v2.5.0/slumber-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumberDownload slumber 2.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 |
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
viewerconfig field topager- The old field name
vieweris 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
PAGERenvironment variable if available, similar to theEDITORenvironment 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 | shInstall 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/slumberDownload 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
lessorfx#404- By default
lessis used. You can customize this with theviewerconfig field
- By default
Changes
- Preserve key order of objects in JSON responses #405
Fixed
- Fixed
ignore_certificate_hostsandlarge_body_sizefields 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_sizeconfig 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 | shInstall 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/slumberDownload 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
COMPLETEenvironment variable- For example, adding
COMPLETE=fish slumber | sourceto yourfish.configwill enable completions for fish - See docs for more info and a list of supported shells
- For example, adding
- Add
slumber genalias to--helpdocumentation
Fixed
- Fix error loading requests with empty header values from history #400
- Fix input bindings involving
shiftand 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 | shInstall 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/slumberDownload 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_PATHto customize configuration (not collection) file path #370 - Add a dynamic variant to
!selectchain 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
cancelaction (bound to escape by default) - Add
slumber newsubcommand to generate new collection files #376 - Add
defaultfield to profiles- When using the CLI, the
--profileargument 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_modefield 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: singlein 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
!envchains
- They'll remain as a simpler alternative to
Fixed
- Updated the Configuration docs to remove the non-existent
slumber show dircommand (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 | shInstall 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/slumberDownload 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
--logCLI 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
eon any value you want to edit (you can customize the key)
- Press
- Add
editorfield to the config, allowing you to customize what editor Slumber opens for in-app editing - Add
!selectchain type, allowing your collection to prompt the user to select a value from a static list (thanks @anussel5559)
Changed
!jsonbodies are now prettified when sent to the server- Use
vimas 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
searchaction 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 | shInstall 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/slumberDownload 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 |