posting

The modern API client that lives in your terminal.

APACHE-2.0 License

Downloads
5.5K
Stars
4.6K

Bot releases are hidden (Show)

posting - 1.13.0

Published by darrenburns about 1 month ago

What's Changed

With this release, Posting will watch loaded environment files and refresh the UI to reflect changes in them. There's some new config for hiding the collection browser on startup too, and a bunch of smaller changes. See the log below for more info.

Added

  • New collection_browser.show_on_startup config to control whether the collection browser is shown on startup.
  • Watch for changes to loaded dotenv files and reload UI elements that depend on them when they change.

Changed

  • Upgraded all dependencies.
  • Remove pydantic-settings crash workaround on empty config files.
  • Renaming App.maximized as it now clashes with a Textual concept.
  • Removed "using default collection" message from startup.

Fixed

  • Fixed crash while rendering error message on timeout.

Full Changelog: https://github.com/darrenburns/posting/compare/1.12.3...1.13.0

posting - 1.12.3 Latest Release

Published by darrenburns about 1 month ago

What's Changed

New Contributors

Full Changelog: https://github.com/darrenburns/posting/compare/1.12.1...1.12.3

Note: 1.12.2 was yanked. It's equivalent to 1.12.1.

posting - 1.12.1

Published by darrenburns about 2 months ago

Fixed

  • Fix "invalid escape sequence" warnings on Python 3.12+
  • Fix buttons in request deletion confirmation modal not being usable with the enter key.

Full Changelog: https://github.com/darrenburns/posting/compare/1.12.0...1.12.1

posting - 1.12.0

Published by darrenburns 2 months ago

Added

Full Changelog: https://github.com/darrenburns/posting/compare/1.11.0...1.12.0

posting - 1.11.0

Published by darrenburns 2 months ago

Added

  • Duplicate request (with new request popup) under cursor in tree with d.
  • "Quick" duplicate request (without new request popup, request name is auto-generated) under cursor in tree with D (shift+d).
  • Delete request (with confirmation modal) under cursor in tree with backspace.
  • "Quick" delete request (without confirmation modal) under cursor in tree with shift+backspace.
  • "Quit Posting" added to command palette.
  • Move the sidebar to the right or left using collection_browser.position: 'right' | 'left' config.
  • Refinements to "galaxy" theme.
  • "galaxy" theme is now default.
  • Help text added to "empty state" in the collection browser.
  • Extend info in the "Collection Browser" help modal.
  • Visual indicator (a red bar on the left) on Input fields that contain invalid values.
  • Toast message now appears when trying to submit the 'new request' modal with invalid values.

Fixed

  • Ensure the location of the request on disk in the Info tab wraps instead of clipping out of view.
  • Inserting requests in sorted position on creation.
  • Prevent creating requests with no name.
  • Prevent submitting paths in the file-name field in the new request modal.
  • Prevent specifying paths outside of the open collection dir in the directory field in the new request modal.
  • Fix variables not being substituted into several fields, including auth.

Changed

  • Upgrade to Textual version 0.76.0
  • Change logic to render bindings in help modal to reflect new Textual API.
  • Sort order of requests in the tree improved.
posting - 1.10.1

Published by darrenburns 2 months ago

  • fix: Disable Textual's AUTO_FOCUS behaviour, as it was causing focused widget to change unexpectedly on unmounting a screen.

Full Changelog: https://github.com/darrenburns/posting/compare/1.10.0...1.10.1

posting - 1.10.0

Published by darrenburns 3 months ago

Better user defined themes

Posting's theme system has received an upgrade 🛠️ 🎨

100% of the UI is now colored based on the chosen theme - including syntax highlighting!

You can also now target more specific elements in the UI with your themes, for times where you disagree with Posting's use of semantic colors.

In the GIF below, keep an eye on the text in the URL bar, and the syntax highlighting of the JSON displayed in the text area.

themes-31jul24

With recent changes to the snapshot testing system, we can check how Posting's appearance changes right inside a pull request on GitHub!

https://github.com/user-attachments/assets/345c206c-8a74-4498-a648-c73162aa3721

Full Changelog: https://github.com/darrenburns/posting/compare/1.9.3...1.10.0

posting - 1.9.3

Published by darrenburns 3 months ago

  • Upgrade and pin Textual at 0.74.0.
  • Simplify text area theme naming conventions.
  • fix: Ensure response status code border text is styled using the theme.
  • fix: Ensure text area theme automatically updates when command palette is used to change theme.

Full Changelog: https://github.com/darrenburns/posting/compare/1.9.2...1.9.3

posting - 1.9.2

Published by darrenburns 3 months ago

What's Changed

Full Changelog: https://github.com/darrenburns/posting/compare/1.9.1...1.9.2

posting - 1.9.1

Published by darrenburns 3 months ago

  • Fix crash in auth form.
posting - 1.9.0

Published by darrenburns 3 months ago

User defined themes

This release adds initial support for user defined themes 🎨.

Themes are simple YAML files which can be added to the Posting theme directory. You can find the default location of this directory by running posting locate themes.

Here's the theme file for the theme above:

name: aurora
primary: '#4a90e2'
secondary: '#50e3c2'
accent: '#b8e986'
background: '#1c2331'
surface: '#2c3e50'
error: '#e74c3c'
warning: '#f39c12'
success: '#2ecc71'
panel: '#34495e'
dark: true

author: Darren Burns
description: An example theme.
homepage: https://github.com/darrenburns/posting

Copy this file into your themes directory and you'll be able to set aurora as your theme using the config file (theme: aurora), environment variable (POSTING_THEME=aurora), or the command palette.

Share your themes!

Share your creations with the community at https://github.com/darrenburns/posting/discussions/60!

X Resources themes

There's also new support for themes loaded via X Resources.

New configuration options

There are a bunch of new configuration options for showing/hiding parts of the UI and enabling/disabling features.
Notably, themes will no longer automatically be previewed when you highlight them in the command palette by default. This can be re-enabled by setting command_palette.theme_preview to false in the config file, or POSTING_COMMAND_PALETTE__THEME_PREVIEW=0 as an environment variable.

See the README for the full list of options.

Fixes

There are a few fixes, including an important one for handling Unicode. .posting.yaml files are now always read and written as UTF-8.

Testing

I've added a snapshot testing which covers all sorts of user interactions. These now run in CI, and should help maintain stability going forward.


What's Changed

New Contributors

Full Changelog: https://github.com/darrenburns/posting/compare/1.8.0...1.9.0

posting - 1.8.0

Published by darrenburns 3 months ago

  • Upgrade Textual version.
  • Removes a couple of workarounds that were fixed in Textual.
  • Collection tree: New requests will now be added under the cursor rather than at the end of the children list in the current directory.

Full Changelog: https://github.com/darrenburns/posting/compare/1.7.0...1.8.0

posting - 1.7.0

Published by darrenburns 3 months ago

This release adds some extra keybinds for opening text area content in your pager/json pager/editor.
It also adds warning toast popups if these aren't defined or cannot be executed.

A couple of focus related issues with jump mode are also fixed.


  • Add: extra bindings - ctrl+P (note the capital "P", that is ctrl+shift+p on your keyboard!) in a TextArea opens pager, ctrl+E opens editor. This is in addition to the existing f3 and f4 bindings.
  • Add: warning toast if user attempts to open pager/editor but none are configured in the environment.
  • Add: error toast if the user attempts to open pager/editor, but it fails to run due to an OSError.
  • Fix: workaround jump mode styling issue (awaiting upcoming Textual fix).
  • Fix: collection tree wouldn't be refocused if jump mode was dismissed.

Full Changelog: https://github.com/darrenburns/posting/compare/1.6.0...1.7.0

posting - 1.6.0

Published by darrenburns 3 months ago

Adds ssl.ca_bundle configuration option for specifying custom CA bundles.

Full Changelog: https://github.com/darrenburns/posting/compare/1.5.1...1.6.0

posting - 1.5.1

Published by darrenburns 3 months ago

Implements a temporary workaround for a bug with the Textual CommandPalette (https://github.com/Textualize/textual/pull/4763).

Full Changelog: https://github.com/darrenburns/posting/compare/1.5.0...1.5.1

posting - 1.5.0

Published by darrenburns 3 months ago

The method selector and URL input are now accessible via Jump Mode using keybinds 1 and 2 respectively.

Full Changelog: https://github.com/darrenburns/posting/compare/1.4.0...1.5.0

posting - 1.4.0

Published by darrenburns 3 months ago

SSL certificate configuration & more

This release adds support for supplying custom SSL certificates to use in requests.

It also adds "focus shifts" - new configuration options to switch focus in response to events.

Here's how these new options look inside config.yaml.

focus:
  on_startup: collection
  on_response: tabs
ssl:
  certificate_path: 'absolute/path/to/certificate.pem'
  key_file: 'absolute/path/to/key.key'
  password: '***********'

A couple of tabs have also been renamed. Metadata is now called Info, and Parameters is now called Query.


  • Adds support for specifying custom CA bundles (3 new configuration items inside ssl config section)
  • Adds "focus shifts" - configurable automatic focus shifting in focus config section:
    • focus.on_startup to choose which widget gets focused on app launch.
    • focus.on_response to auto-shift focus on receiving a response.
  • Fixes jump mode issue when initiated while an input field was focused.
  • Remove focus from the screen below the jump overlay while the jump overlay is active.
  • Renames Metadata tab to Info
  • Renames Parameters tab to Query

Full Changelog: https://github.com/darrenburns/posting/compare/1.3.0...1.4.0

posting - 1.3.0

Published by darrenburns 3 months ago

Contextual help system

See the full list of keybindings and information + tips on the current focused widget.

https://github.com/user-attachments/assets/e8c2d89b-1c04-48b1-bf77-b0bc52241b08

Jump mode label

ESC to dismiss added to bottom of Jump overlay.

Changelog

  • Adds the contextual help system. Press f1 or ctrl+? (i.e. ctrl+shift+/) to see all bindings and extra information/hints about the widget you're currently focusing.
  • No longer shift focus from data tables when using arrow keys (except in key-value editors).
  • Cursors in inputs and text areas will no longer continue to blink in the background when a modal is open.
  • Adds a small note at the bottom of the Jump Mode overlay indicating how to dismiss the overlay.

Full Changelog: https://github.com/darrenburns/posting/compare/1.2.0...1.3.0

posting - 1.2.0

Published by darrenburns 3 months ago

Adds two new keybindings to the response area.

  • ctrl+u to move the cursor up half a page.
  • ctrl+d to move the cursor down half a page.

https://github.com/user-attachments/assets/06642fe0-d86d-4241-bbcc-0d47bff3a9da

posting - 1.1.0 - Custom JSON pagers, more Vim keys

Published by darrenburns 3 months ago

This release adds some new features based on feedback I've received recently.

  • Add new hotkeys to the response area:
    • g - move cursor to first line of response
    • G - move cursor to last line of response
    • % - move cursor to matching bracket
  • Add new POSTING_PAGER_JSON config - allows you to use a custom pager for JSON responses (e.g. fx)
  • Fix Unicode not displaying in response area

Here's an example of opening up a JSON response in fx:

https://github.com/user-attachments/assets/4fe3b956-0796-4d0e-98b9-5c8275c3502a