./net/slumber, Terminal-based REST client

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.3.0nb1, Package name: slumber-2.3.0nb1, Maintainer: pin

Slumber is a TUI (terminal user interface) HTTP client. Define, execute, and
share configurable HTTP requests.


Master sites:

Filesize: 585.756 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-14 23:22:33 by Thomas Klausner | Files touched by this commit (2429)
Log message:
*: recursive bump for icu 76 shlib major version bump
   2024-11-13 09:46:55 by pin | Files touched by this commit (3) | Package updated
Log message:
net/slumber: update to 2.3.0

Added

    Add "View Body" action to response bodies, to open a body in an \ 
external viewer such as less or fx #404
        By default less is used. You can customize this with the viewer config field

Changes

    Preserve key order of objects in JSON responses #405

Fixed

    Fixed ignore_certificate_hosts and large_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
   2024-11-01 13:55:19 by Thomas Klausner | Files touched by this commit (2426)
Log message:
*: revbump for icu downgrade
   2024-11-01 01:54:33 by Thomas Klausner | Files touched by this commit (2427)
Log message:
*: recursive bump for icu 76.1 shlib bump
   2024-10-22 20:59:42 by pin | Files touched by this commit (3) | Package updated
Log message:
net/slumber: update to 2.2.0

[2.2.0] - 2024-10-22
Added
 - Add shell completions, accessed by enabling the COMPLETE environment variable
     - For example, adding COMPLETE=fish slumber | source to your fish.config \ 
will enable completions for fish
     - See docs for more info and a list of supported shells
 - 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
   2024-10-13 22:21:34 by pin | Files touched by this commit (3) | Package updated
Log message:
net/slumber: update to 2.1.0

## [2.1.0] - 2024-09-27

### Added

- Use `SLUMBER_CONFIG_PATH` to customize configuration (_not_ collection) file \ 
path [#370](https://github.com/LucasPickering/slumber/issues/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)
  - [See docs for \ 
more](https://slumber.lucaspickering.me/book/api/request_collection/chain_source.html#select)
- Cancel in-flight requests with the `cancel` action (bound to escape by default)
- Add `slumber new` subcommand to generate new collection files \ 
[#376](https://github.com/LucasPickering/slumber/issues/376)
- Add `default` field to profiles
  - When using the CLI, the `--profile` argument can be omitted to use the \ 
default profile
- Reset edited recipe values to their default using `z`
  - You can [customize the \ 
key](https://slumber.lucaspickering.me/book/api/configuration/input_bindings.html) \ 
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](https://slumber.lucaspickering.me/book/api/request_collection/chain.html#selector-mode)

### Changed

- Update file locations to adhere to XDG spec on Linux \ 
[#371](https://github.com/LucasPickering/slumber/issues/371)
  - Move config file to [config \ 
dir](https://docs.rs/dirs/latest/dirs/fn.config_dir.html), which remains the \ 
same on MacOS/Windows but changes on Linux. For backward compatibility, the \ 
previous path ([data dir](https://docs.rs/dirs/latest/dirs/fn.data_dir.html)) \ 
will be checked and used if present
  - Move log files to [state \ 
dir](https://docs.rs/dirs/latest/dirs/fn.state_dir.html) on Linux and [cache \ 
dir](https://docs.rs/dirs/latest/dirs/fn.cache_dir.html) on MacOS/Windows
  - Database file remains in [data \ 
dir](https://docs.rs/dirs/latest/dirs/fn.data_dir.html) 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

### 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)

## [2.0.0] - 2024-09-06

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](https://slumber.lucaspickering.me/book/api/request_collection/template.html#escape-sequences)
- 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](https://slumber.lucaspickering.me/book/api/configuration/input_bindings.html))
- Add `editor` field to the config, allowing you to customize what editor \ 
Slumber opens for in-app editing
  - [See docs for \ 
more](https://slumber.lucaspickering.me/book/api/configuration/editor.html)
- Add `!select` chain type, allowing your collection to prompt the user to \ 
select a value from a static list (thanks @anussel5559)
  - [See docs for \ 
more](https://slumber.lucaspickering.me/book/api/request_collection/chain_source.html#select)

### 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 `/`
- 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](https://github.com/LucasPickering/slumber/issues/351)
- Improve performance and fix crashes when handling large request/response \ 
bodies [#356](https://github.com/LucasPickering/slumber/issues/356)
  - Further improvements for large bodies will be coming in the future

## [1.8.1] - 2024-08-11

This release is focused on improving rendering performance. The TUI should \ 
generally feel more polished and responsive when working with large bodies, and \ 
CPU usage will be much lower.

### Added

- Add `debug` configuration field, to enable developer information

### Fixed

- Reduce CPU usage while idling
  - Previously, Slumber would re-render every 250ms while idling, which could \ 
lead to high CPU usage, dependending on what's on the screen. Now it will only \ 
update when changes occur, meaning idle CPU usage will be nearly 0
- Fix backlogged events when renders are slow
  - If renders are being particular slow, it was previously possible for input \ 
events (e.g. repeated scrolling events) to occur faster than the UI could keep \ 
up. This would lead to "lock out" behavior, where you'd stop scrolling \ 
and it'd take a while for the UI to catch up.
  - Now, the TUI will skip draws as necessary to keep up with the input queue. \ 
In practice the skipping should be hard to notice as it only occurs during rapid \ 
TUI movements anyway.
- Improve rendering performance for large bodies and syntax highlighting
- Fix incorrect decoration in folder tree visualization

## [1.8.0] - 2024-08-09

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](https://github.com/LucasPickering/slumber/issues/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](https://github.com/LucasPickering/slumber/issues/new?assignees=&labels=bug&projects=&template=bug_report.md)
- Upgrade to Rust 1.80
- Disable unavailable menu actions \ 
[#222](https://github.com/LucasPickering/slumber/issues/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 match `ctrl w`
- Actions can now be unbound by specifying an empty binding
  - For example, binding `submit: []` will make the submit action inaccessible

### 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
   2024-08-10 17:26:46 by pin | Files touched by this commit (1)
Log message:
net/slumber: note that new versions require at least Rust 1.80
   2024-07-23 10:06:29 by pin | Files touched by this commit (3) | Package updated
Log message:
net/slumber: update to 1.7.0

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