Skip to content

Releases: LucasPickering/slumber

4.2.1 - 2025-11-26

26 Nov 23:03

Choose a tag to compare

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 | sh

Install 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/slumber

Download 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

15 Oct 01:11

Choose a tag to compare

Release Notes

Added

  • Add Python bindings, allowing you to use your Slumber collection from Python scripts without having to invoke the CLI
  • Add jq function 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 Collection TUI has been replaced by Edit Recipe, which opens the file to the selected recipe
    • This will make it much easier to make tweaks to a recipe
  • The Body and Authentication tabs of the Recipe pane 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 --edit and slumber show collection --edit now 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 | sh

Install 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/slumber

Download 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

30 Sep 20:18

Choose a tag to compare

Release Notes

Added

  • Add support for streaming large HTTP bodies with the new stream body type #256

Changed

  • form_multipart fields that consist of a single call to file() will now include the correct Content-Type header and filename field of the Content-Disposition header #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 curl output for multipart forms with file fields
  • slumber import insomnia now imports some dynamic expressions. Values chained from other responses now properly import as response()/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 | sh

Install 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/slumber

Download 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

14 Sep 17:42

Choose a tag to compare

Release Notes

Fixed

  • Remove output argument for command()
    • 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 | sh

Install 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/slumber

Download 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

12 Sep 14:23

Choose a tag to compare

Release Notes

Migration guide

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!

See docs for more.

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"

See docs for more.

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.

See docs for more.

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
  • Remove YAML !tags in favor of an inner type field
    • This change makes the format compatible with JSON Schema
    • Impacts these collection nodes:
      • Authentication
      • Body
      • Folder/request nodes (type field 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 like parameter=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 $ref references, 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, now command()) 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 | sh

Install 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/slumber

Download 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

17 Aug 12:58

Choose a tag to compare

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 delete subcommand to remove collections from history
  • Add slumber history rm as an alias for slumber history delete
  • Add filter box to collection select dialog. Less scrolling, more typing!

Changed

  • slumber collections migrate now accepts collection IDs in addition to paths
  • slumber collections list now includes an ID column in its output

Fixed

  • Shell completion for the global --file/-f flag will now only .yml/.yaml files
  • slumber collections migrate now 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 | sh

Install 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/slumber

Download 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

23 Jul 22:32

Choose a tag to compare

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 name field 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 | sh

Install 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/slumber

Download 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

20 Jun 19:24

Choose a tag to compare

Release Notes

Added

  • Add config field follow_redirects to 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 target argument to slumber show paths to show just a single path
    • E.g. slumber show paths config prints just the config path
  • Add --edit flag to slumber show config and slumber show collection
    • This will open the global config/collection file in your configured editor, similar to git config --edit
  • slumber import now 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
  • 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 .ignore was 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 | sh

Install 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/slumber

Download 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

07 Jun 18:31

Choose a tag to compare

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 | sh

Install 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/slumber

Download 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

30 May 14:27

Choose a tag to compare

Release Notes

Changed

  • Use a dedicated error state if collection fails to load on TUI launch
  • Update dependency persisted to 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 | sh

Install 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/slumber

Download 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