![slumber](/slumber.png)
slumber
Releases
1.7.0 - 2024-07-22
v1.7.0
Jul 22 2024 at 21:22 UTC
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
1.6.0 - 2024-07-07
v1.6.0
Jul 7 2024 at 14:39 UTC
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
1.5.0 - 2024-06-17
v1.5.0
Jun 17 2024 at 22:20 UTC
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
1.4.0 - 2024-06-11
v1.4.0
Jun 11 2024 at 22:14 UTC
Added
- Structured bodies can now be defined with tags on the
body
field of a recipe, making it more convenient to construct bodies of common types. Supported types are: - Support multiple instances of the same query param #245 (@maksimowiczm)
- Query params can now be defined as a list of
<param>=<value>
entries - See docs
- Query params can now be defined as a list of
- Templates can now render binary values in certain contexts
Changed
- When a modal/dialog is open
q
now exits the dialog instead of the entire app - Upgrade to Rust 1.76
Fixed
- Fix "Unknown request ID" error showing on startup #238
1.3.2 - 2024-05-27
v1.3.2
May 27 2024 at 12:18 UTC
Changed
- Show "Copy URL", "Copy Body" and "Copy as cURL" actions from the Recipe list #224
- Previously this was only available in the Recipe detail pane
- Fix Edit Collection action in menu
- Persist response body query text box contents
- Previously it would reset whenever you made a new request or changed recipes
1.3.1 - 2024-05-21
v1.3.1
May 21 2024 at 01:51 UTC
Fixed
- Fix double key events on Windows #226
1.3.0 - 2024-05-17
v1.3.0
May 17 2024 at 22:10 UTC
The biggest feature in this release is the ability to browse request history. Slumber has already had the ability to track history, meaning all your history since you started using it will already be there! In addition, this release contains some UI improvements, as well as some pretty major internal refactors to enable these UI changes. These will also make future UI improvements easier and faster to implement.
Added
Changed
- Merge request & response panes
- The request pane often isn't needed, so it doesn't deserve top-level space
- Mouse events (e.g. scrolling) are now sent to unfocused elements
1.2.1 - 2024-05-11
v1.2.1
May 11 2024 at 11:37 UTC
Fixed
- Fix profile not being selected on initial startup
1.2.0 - 2024-05-10
v1.2.0
May 10 2024 at 15:35 UTC
Added
Changed
- Use colored background for status codes
- This includes a new theme field,
success_color
- This includes a new theme field,
- Improve hierarchy presentation of errors
- Convert profile list into a popup modal
Fixed
- Exit fullscreen mode when changing panes
- Support scrolling on more lists/tables
1.1.0 - 2024-05-05
v1.1.0
May 5 2024 at 14:23 UTC
Added
- Add
section
field to!request
chain values, to allow chaining response headers rather than body (#184) - Add action to save response body to file (#183)
- Add
theme
field to the config, to configure colors (#193)- See docs for more info
- Add
stdin
option to command chains (#190)
Changed
- Reduce UI latency under certain scenarios
- Previously some actions would feel laggy because of an inherent 250ms delay in processing some events
- Search parent directories for collection file (#194)
- Use thicker borders for selected pane and modals
- Change default TUI colors to blue and yellow
Fixed
1.0.1 - 2024-04-27
v1.0.1
Apr 27 2024 at 23:52 UTC
Added
- Add two new build targets to releases:
x86_64-pc-windows-msvc
andx86_64-unknown-linux-musl
Fixed
- Fix build on Windows (#180)
- I can't guarantee it works on Windows since I don't have a machine to test on, but it at least compiles now
1.0.0 - 2024-04-25
v1.0.0
Apr 25 2024 at 01:35 UTC
Breaking
- Rename collection file parameter on all CLI commands from
--collection
/-c
to--file
/-f
- The goal here is to be more intuitive/predictable, since
-f
is much more common in similar programs (e.g. docker-compose)
- The goal here is to be more intuitive/predictable, since
Added
- Support booleans and numbers for query values (#141)
- Add
default
field to!prompt
chains, which allows setting a pre-populated value for the prompt textbox
Changed
- Folders can now be collapsed in the recipe list (#155)
- Improvements to Insomnia import (#12)
- Rename
import-experimental
command toimport
- It's official now! It's still going to get continuted improvement though
- Show
WARN
/ERROR
log output for CLI commands - Validate recipe
method
field during deserialization instead of on request init- This means you'll get an error on startup if your method is invalid, instead of when you go to run the request
- This is not a breaking change because if you had an incorrect HTTP method, the request still didn't work before, it just broke later
- Arguments to chains are now treated as templates (#151)
- Support fields are
path
for!file
chains,command
for!command
chains, andmessage
for!prompt
chains - This means you can now really chain chains together!
- Support fields are
0.18.0 - 2024-04-18
v0.18.0
Apr 18 2024 at 21:27 UTC
Breaking
- All existing recipes must be tagged with
!request
in the collection file- This is necessary to differentiate from the new
!folder
type
- This is necessary to differentiate from the new
- Profile values are always treated as templates now
- Any profile values that were previously the "raw" variant (the default) that contain template syntax (e.g.
{{user_id}}
) will now be rendered as templates. In reality this is very unlikely, so this probably isn't going to break your setup - If you have an existing profile value tagged with
!template
it won't break, but it will no longer do anything
- Any profile values that were previously the "raw" variant (the default) that contain template syntax (e.g.
- Unknown fields in config/collection files will now be rejected (#154)
- In most cases this field is a mistake, so this is meant to make debugging easier
- If you have an intentional unknown field, you can now nest it under
.ignore
to ignore it
- Replace
slumber show dir
withslumber show paths
Added
- Request recipes can now be organized into folders (#60)
- See the docs for usage examples
- Add
slumber show config
andslumber show collection
subcommands
Changed
- Prevent infinite recursion in templates
- It now triggers a helpful error instead of a panic
- Support additional key codes for input mapping, including media keys
Fixed
- Multiple spaces between modifiers/key codes in a key combination are now ignored
0.17.0 - 2024-04-08
v0.17.0
Apr 8 2024 at 18:38 UTC
Breaking
- All variants of the
Chain.source
field are now maps- This is to support the next request auto-execution feature, as well as future proofing for additional chain configuration
- Remove
send_request
keybinding- The
submit
keybinding is now used to send requests from all panes (except the profile pane) - This is only a breaking change if you have
send_request
remapped in your config file
- The
Follow this mapping to update:
# Before chains: auth_token: source: !request login username: source: !command ["echo", "-n", "hello"] username: source: !file ./username.txt password: source: !prompt Enter Password --- # After chains: auth_token: source: !request recipe: login username: source: !command command: ["echo", "-n", "hello"] username: source: !file path: ./username.txt password: source: !prompt message: Enter Password
Added
- Chained requests can now be auto-executed according to various criteria (#140)
- See the docs for more
- Add Authentication tab to recipe pane (#144)
Changed
- Don't print full stack trace for failed CLI commands
0.16.0 - 2024-04-01
v0.16.0
Apr 1 2024 at 12:55 UTC
Added
- Add support for custom keybindings (#137)
Fixed
- Fix request body not updating in UI when changing recipe
0.15.0 - 2024-03-24
v0.15.0
Mar 24 2024 at 22:08 UTC
Added
- Add horizontal scrolling to response body (#111)
- Use shift+left and shift+right
- Add app version to help modal
- Add "Copy as cURL" action to recipe menu (#123)
- Add hotkeys to select different panes
- Add pane for rendered request
- Show response size in Response pane (#129)
Changed
- Run prompts while rendering request URL/body to be copied
- Improve UI design of profile pane
- Show raw bytes for binary responses
Fixed
- Reset response body query when changing recipes (#133)
0.14.0 - 2024-03-18
v0.14.0
Mar 18 2024 at 20:43 UTC
Added
- Add config option
ignore_certificate_hosts
(#109) - Add menu action to open collection file in editor (#105)
- Add
authentication
field to request recipe (#110)
Fixed
- Fix prompt in TUI always rendering as sensitive (#108)
- Fix content type identification for extended JSON MIME types (#103)
- Use named records in binary blobs in the local DB
- This required wiping out existing binary blobs, meaning all request history and UI state will be lost on upgrade
- Fix basic auth in Insomnia import
0.13.1 - 2024-03-07
v0.13.1
Mar 7 2024 at 22:10 UTC
Changed
- Move checkbox to left side of toggle tables
Fixed
- Fix scrolling on response body pane
0.13.0 - 2024-02-21
v0.13.0
Feb 21 2024 at 22:16 UTC
0.12.1 - 2024-01-22
v0.12.1
Jan 22 2024 at 13:07 UTC
Changed
- Improved styling of toggled table rows
0.12.0 - 2024-01-07
v0.12.0
Jan 7 2024 at 21:43 UTC
Added
- Move app-level configuration into a file (#89)
- Right now the only supported field is
preview_templates
- Right now the only supported field is
- Toggle query parameters and headers in recipe pane (#30)
- You can easily enable/disable parameters and headers without having to modify the collection file now
- Add Copy URL action, to get the full URL that a request will generate (#93)
Changed
- Show profile contents while in the profile list (#26)
- Remove settings modal in favor of the settings file
- Supporting changing configuration values during a session adds a lot of complexity
0.11.0 - 2023-12-20
v0.11.0
Dec 20 2023 at 22:28 UTC
Added
- Add action to copy entire request/response body (#74)
- Persist UI state between sessions (#39)
- Text window can be controlled with PgUp/PgDown/Home/End (#77)
- Add back manual reload keybinding (R)
- Mostly for development purposes
- Add collection ID/path to help modal (#59)
- Also add collection ID to terminal title
- Add new docs for templates and collection reuse (#67)
Changed
- [BREAKING] Key profiles/chains/requests by ID in collection file
- [BREAKING] Merge request history into a single DB file
- Request history (and UI state) will be lost
- [BREAKING]
show
subcommand now takes atarget
argument- Right now the only option is
slumber show dir
, which has the same behavior as the oldslumber show
(except now it prints the bare directory)
- Right now the only option is
- [BREAKING] Remove option to toggle cursor capture
- Turns out it's not that useful, since most terminals provide override behavior
- Filter request history by profile (#74)
- Hide sensitive chain values in preview
- Change fullscreen keybinding from F11 to F
- F11 in some cases is eaten by the IDE or OS, which is annoying
Fixed
0.9.0 - 2023-11-28
v0.9.0
Nov 28 2023 at 15:32 UTC
Added
- Add setting to toggle cursor capture
- Add help modal
- Add cursor navigation
Changed
- Always show help text in footer, regardless of notification state
- Add highlight border to fullscreened pane
- Allow exiting fullscreen mode with ESC
0.8.0 - 2023-11-21
v0.8.0
Nov 21 2023 at 21:43 UTC
Added
- Add
slumber show
subcommand
Changed
- Remove keybinding to reload collection
- Not useful now that the TUI has automatic reloading
- Move to stable Rust channel and add MSRV of 1.74
Fixed
0.7.0 - 2023-11-16
v0.7.0
Nov 16 2023 at 11:45 UTC
Added
- Added recursive templates for profile values, using the
!template
tag before a value
Changed
- Parse templates up front instead of during render
- Switch to nom for template parsing
- Parse errors should be better now
0.6.0 - 2023-11-11
v0.6.0
Nov 11 2023 at 01:03 UTC
Added
- Add ability to preview template values. This will show the rendered value under current settings #29
- This includes a new modal to toggle the setting on/off, via the
X
key
- This includes a new modal to toggle the setting on/off, via the
- Add
command
source type for chained values, which uses stdout from an executed subprocess command #31
Changed
- HTTP method is now a plain string, not a template string. This simplifies some internal logic, and I don't think there was a compelling reason to make a template in the first place.