Releases: LucasPickering/slumber
4.2.1 - 2025-11-26
Release Notes
Fixed
- Fix crash when previewing a JSON body that contains an escaped quote #646
Install slumber 4.2.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v4.2.1/slumber-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/LucasPickering/slumber/releases/download/v4.2.1/slumber-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumberDownload slumber 4.2.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 |
4.2.0 - 2025-10-14
Release Notes
Added
- Add Python bindings, allowing you to use your Slumber collection from Python scripts without having to invoke the CLI
- Add
jqfunction to the template language, to query and transform JSON with jq select()now accepts a list of objects{"label": "Label", "value": "Value"}in addition to a list of strings #609- This allows you to pass a list of values where the returned value is different from the string you see in the select list.
- For example, to select a user from a list where you select users by name but the returned value is their ID:
select([{"label": "User 1", "value": 1}, {"label": "User 2", "value": 2}]) - See docs for more
- Add URL tab to the recipe pane, allowing the URL to be temporarily overridden
Changed
Edit CollectionTUI has been replaced byEdit Recipe, which opens the file to the selected recipe- This will make it much easier to make tweaks to a recipe
- The
BodyandAuthenticationtabs of theRecipepane are now disabled if the recipe doesn't have a body/authentication (respectively) - Disabled actions can no longer be selected in the action menu
slumber show config --editandslumber show collection --editnow display the error if the file is invalid after editing
Install slumber 4.2.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v4.2.0/slumber-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/LucasPickering/slumber/releases/download/v4.2.0/slumber-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumberDownload slumber 4.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 |
4.1.0 - 2025-09-30
Release Notes
Added
Changed
form_multipartfields that consist of a single call tofile()will now include the correctContent-Typeheader andfilenamefield of theContent-Dispositionheader #582- Previews of
prompt()will now show the default value if possible - Recipe ID is now shown in the top-right of the Recipe pane header
Fixed
- Fix
slumber generate curloutput for multipart forms with file fields slumber import insomnianow imports some dynamic expressions. Values chained from other responses now properly import asresponse()/response_header()calls #164- Improve TUI performance when handling lots of input events
Install slumber 4.1.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v4.1.0/slumber-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/LucasPickering/slumber/releases/download/v4.1.0/slumber-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumberDownload slumber 4.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 |
4.0.1 - 2025-09-14
Release Notes
Fixed
- Remove
outputargument forcommand()- This wasn't intended to be released and didn't actually work
Install slumber 4.0.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v4.0.1/slumber-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/LucasPickering/slumber/releases/download/v4.0.1/slumber-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumberDownload slumber 4.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 |
4.0.0 - 2025-09-12
Release Notes
Highlights
4.0 is Slumber's largest release to date, with a number of exciting improvements to the collection format. The overall goal of this release is to make collection files:
- Easier to read
- Easier to write
- Easier to share
This required a number of breaking changes. For upgrade instructions, see the Breaking section.
Goodbye chains, we won't miss you
Previously, templates could source dynamic data (such as data from other responses, files, commands, etc.) via chains. While powerful, they were annoying to use because you had to define your chain in one part of the collection file, then use it in another. This led to a lot of jumping around, which was especially annoying for a simple chain that only got used once. Additionally, chains were clunky and unintuitive to compose together. You could combine multiple chains together (hence the name), but it wasn't obvious how.
4.0 eliminates chains entirely, replacing them with functions directly in your templates, inspired by Jinja (but dramatically simplified). Here's a side-by-side comparison:
Before
chains:
fish_ids:
source: !request
recipe: list_fish
trigger: !expire 1d
selector: $[0].id
selector_mode: array
fish_id:
source: !select
options: "{{fish_ids}}"
requests:
list_fish:
method: GET
url: "{{host}}/fishes"
get_fish:
method: GET
url: "{{host}}/fishes/{{fish_id}}"After
requests:
list_fish:
method: GET
url: "{{ host }}/fishes"
get_fish:
method: GET
url: "{{ host }}/fishes/{{ response('fish_list', trigger='1d') | jsonpath('$[*].id', mode='array') | select() }}"So much easier to follow!
Share configuration between collection files with $ref
YAML merge syntax (<<: *alias) is no longer supported. Instead, the more flexible JSON reference ($ref) format is supported. This allows you to reuse any portion of the current collection without having to declare it as an alias. Even better though, you can import components from other files:
# slumber.yml
requests:
login:
$ref: "./common.yml#/requests/login"JSON Schema
Slumber now exports a JSON Schema for both its global config and request collection formats. This makes it possible to get validation and completion in your IDE. To make this possible we've ditched the YAML !tag syntax in favor of type fields within each block.
Thanks to @anussell5559 for this suggestion.
Breaking
This release contains a number of breaking changes to the collection format. The major one is a change in the template format, but there are a few other quality of life improvements as well.
You can automatically migrate your collection to the new v4 format with:
slumber import v3 <old file> <new file>The new collection should be equivalent to the old one, but you should keep your old version around just in case something broke. If you notice any differences, please file a bug!.
See the migration guide for more details
- Replace template chains with a more intuitive function syntax
- Instead of defining chains separately then referencing them in templates, you can now call functions directly in templates:
{{ response('login') | jsonpath('$.token') }} - See docs for more
- Instead of defining chains separately then referencing them in templates, you can now call functions directly in templates:
- Remove YAML
!tagsin favor of an innertypefield- This change makes the format compatible with JSON Schema
- Impacts these collection nodes:
- Authentication
- Body
- Folder/request nodes (
typefield not required at all; node type is inferred from the object structure)
- Represent query parameters as a map of
{parameter: value}instead of a list of strings likeparameter=value- The map format has been supported as well, but did not allow for multiple values for the same value, hence the need for the string format
- To define multiple values for the same value, you can now use a list associated to the parameter:
{parameter: [value1, value2]} - See docs for examples of the new format
- YAML anchor/alias/merge syntax has been replaced with
$refreferences, similar to OpenAPI #290- These references are much more flexible, including the ability to import from other files
- See docs for examples
- Commands in templates (previously
!command, nowcommand()) now fail if the command exits with a non-zero status code - Templates in a JSON body with a single dynamic chunk (such as
{{ username }}) will now be unpacked into their inner value rather than always being stringified- This means you can now create dynamic non-string values within a JSON body
- See docs for more
Install slumber 4.0.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v4.0.0/slumber-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/LucasPickering/slumber/releases/download/v4.0.0/slumber-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumberDownload slumber 4.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 |
3.4.0 - 2025-08-17
Release Notes
This release focuses on improving collection history management. The slumber collections subcommand is fairly niche, but is now a bit more powerful and user friendly.
Added
- Add
slumber collections deletesubcommand to remove collections from history - Add
slumber history rmas an alias forslumber history delete - Add filter box to collection select dialog. Less scrolling, more typing!
Changed
slumber collections migratenow accepts collection IDs in addition to pathsslumber collections listnow includes an ID column in its output
Fixed
- Shell completion for the global
--file/-fflag will now only.yml/.yamlfiles slumber collections migratenow accepts paths for files that don't exist on disk (as long as they existed as collections at some point)
Install slumber 3.4.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v3.4.0/slumber-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/LucasPickering/slumber/releases/download/v3.4.0/slumber-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumberDownload slumber 3.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 |
3.3.0 - 2025-07-23
Release Notes
Added
- Add collection switcher modal #536
- You can now switch between any collection that you've opened in the past without having to close Slumber
- Add optional root-level
namefield to collections- This allows you to provide a descriptive name for the collection to show in the new switcher modal
- The name is purely descriptive and does not need to be unique
Changed
- Update to Rust 1.88
Fixed
- Fix empty actions modal queuing when opening actions while another modal is already open
- Fix crash when a select modal is opened with a very long option
Install slumber 3.3.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v3.3.0/slumber-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/LucasPickering/slumber/releases/download/v3.3.0/slumber-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumberDownload slumber 3.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 |
3.2.0 - 2025-06-20
Release Notes
Added
- Add config field
follow_redirectsto enable/disable following 3xx redirects (enabled by default)- The behavior has always been to follow redirects, so this adds the ability to disable that globally
- Reminder: Global configuration is not automatically reloaded. After making changes to your
config.yml, you'll need to restart Slumber for changes to take effect - See docs for more
- Add optional
targetargument toslumber show pathsto show just a single path- E.g.
slumber show paths configprints just the config path
- E.g.
- Add
--editflag toslumber show configandslumber show collection- This will open the global config/collection file in your configured editor, similar to
git config --edit
- This will open the global config/collection file in your configured editor, similar to
slumber importnow supports importing from stdin or a URL- If no input argument is given, it will read from stdin, e.g.
slumber import openapi < openapi.json - If a URL is given, the file will be downloaded and imported, e.g.
slumber import openapi https://example.com/openapi.json
- If no input argument is given, it will read from stdin, e.g.
- Add OpenAPI v3.1 importer #513
Changed
- Any top-level fields in the config or collection file beginning with
.will now be ignored- The goal is to support "hidden" fields to store reusable components. YAML aliases can be used to pull those components into various parts of your collection
- Previously the field
.ignorewas specially supported in the collection format for this purpose; this is a generalization of that special case.
Install slumber 3.2.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v3.2.0/slumber-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/LucasPickering/slumber/releases/download/v3.2.0/slumber-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumberDownload slumber 3.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 |
3.1.3 - 2025-06-07
Release Notes
Fixed
- Fix pager view action (regression in 3.1.2)
- Fully restore terminal before exiting to editor/pager
- This means any stdout/stderr that the external process writes will be properly formatted in the terminal
Install slumber 3.1.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v3.1.3/slumber-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/LucasPickering/slumber/releases/download/v3.1.3/slumber-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumberDownload slumber 3.1.3
| 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.2 - 2025-05-30
Release Notes
Changed
- Use a dedicated error state if collection fails to load on TUI launch
- Update dependency
persistedto 1.0- A few pieces of your UI state, such as selected tabs, will be lost during the upgrade due to this
Fixed
- Fix TUI crash when using an empty select list
- Fix automatic collection reloading in Windows
- I don't use Windows so I'm not sure exactly what scenarios it may have been broken in, but new unit tests indicate it's working now
- Fix config loading failing for read-only config files (#504)
Install slumber 3.1.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/LucasPickering/slumber/releases/download/v3.1.2/slumber-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/LucasPickering/slumber/releases/download/v3.1.2/slumber-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install LucasPickering/tap/slumberDownload slumber 3.1.2
| 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 |