All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Handle creation prompt on
use
command now defaults to yes. (#51 by @GabrielBrandao1618)
- No error message when trying to access previous handle when none is exists. (#53 by @GabrielBrandao1618)
- Using list command with unexistent handle argument would output a fake handle.
- Added handle argument for
ls
to allow listing a specific handle tree. (#44) quartz use -
to switch to the last used handle. (#45 by @GabrielBrandao1618)- Content-type hints
body edit
into correct extension. (#46) - Environments can have headers that'll be used by endpoints, unless overriden. (#43 by @GabrielBrandao1618)
env use
on an unexistent command would not switch after confirming to create it.
- URLs that start with "**" will inherit the beginning from their parent handle (#21)
- EDITOR and PAGER environment variables are now used when no configuration is set for quartz preferences.
- NO_COLOR, CLICOLOR, and CLICOLOR_FORCE environment variables overrides quartz UI settings.
ls
command method text alignment and dynamically pad it.- Man page identation and headings reworked to be more consistent with Unix conventions.
- Trailing slash in handle name would cause infinite recursion.
- Missing ending newline in
curl
snippet when request has no body.
--editor
option fromedit
command. Use environment variables instead.
- When trying to
use
nonexistent handle or environment, quartz will prompt a yes/no confirmation to create it.
- Missing some
send
options in man page. - Emphasise ENDPOINT PATCH options in man page
- Automatically follow redirects. It can be disable with
--no-follow
option. show snippet
to generate code snippets for an endpoint.send
command new edit flags:-d,--data <DATA>
,-H, --header <HEADER>
,--query <QUERY>
,-v, --var <VARIABLE>
,-X, --request <METHOD>
.use
command can now edit the current or to-be-used endpoint.cp
copy command.mv
move command.- You can now make a handle empty again with
use
's--empty
option. - When sending the request, it fills URL with HTTP scheme if none is present.
- New built-in cookie engine.
preferences.pager
configuration.
context
were renamed toenv
header
,query
,config
andvariable
commands now follow the same new pattern to promote consistency.create
options were revisited for better semantics with curl and othersend
anduse
options.- Variables are now edited in a plain-text file instead of TOML. (#41)
rm
requires-r
option to remove handles recursively. (#38))- History simplified. HTTP messages are displayed instead.
- After receiving response, quartz would only print and save the last chunk of response bytes instead of the entire body.
ls
command's--depth
option was behaving inconsistently.- Broken configuration file would break entire quartz usage.
- Removed
send
command's--show
option. Uselast
instead. - Removed simple get/set endpoint commands
url
andmethod
. Preferuse
options. - Removed
status
command. Useshow
instead.
- New
last
command tree. --show <FIELDS>
tohistory
andsend
commands to specify fields to be shown on listing.
- History saving format changed, which probably breaks previously saved entries.
variables
options--set
and--edit
are now executed in that order. Changes from--set
will be committed before--edit
comes in.
- It was possible to save malformed files through
edit
andvar --edit
commands. From now on, a parsing error is thrown. #30 - Linux with aarch64 architecture were incompatible with quartz.
- More convenient
--get
option forheader
command. - It is now possible to use multiple
--set
in a singlevariable
command. - New
--apply-context
option to apply context variables as soon as possible.
headers
command was renamed toheader
.- Headers option
--add
was renamed to--set
.
- Query params could not use context variables.
- Some outputs were inconsistent.
- New create
--query
option to use new query params system. - New url
--full
option to print with queries. - Query params can be defined separate from URL through the
query
command. - New
-x
option for temporary handle switch.
- [BREAKING CHANGE] Handles are now separated by slash (/). What used to be "auth users create" is now "auth/users/create".
- List command outputs a flat list of all handles to improve readability.
- Man pages and
help
command outputs were reviewed to make it clearer..
- UI configuration section, featuring
colors
flag to enable/disable colored outputs. - New config command tree:
--get
,--set
and--list
.
- Piping quartz through grep or pagers would make it loose its colors.
- Releases are now automated and more reliable. Please, ignore testing versions 0.4.{0-6}...
send
andshow
commands can receive endpoint handles for more convenient usage.
- Terminology for endpoint pathing is now handle.
status
command for getting current endpoint and/or context.
- Uses
default
context in case none is specified.
- It is now impossible to overwrite an already existing endpoint with
create
command. - Trying to create an endpoint without its reference would not exit with error.
variable
commands would always use the default context instead of the active one, causing completly broken behavior.- Setting variables with quotation marks (e.g.
quartz variable --set baseUrl="localhost"
) would cause quartz to save the quotation marks itself. Those are now ignored.
use
command would alter context instead of endpoint.
- Multiple contexts can be defined to define variable values wrapped in {{}} notation when configuring an endpoint or its body. (#14)
- Request history system, with the
quartz history
command to fetch it.
- Endpoint response label "Time" has been changed to "Duration". This change was introduce to avoid confusion with Time as in Date time.
- Edit command opening non-existant file.
- License switched to Apache.
- Fix
send
command not working due to stack overflowing.
- Include intallation section on documentation.
- Change invokation to be made with
quartz
.
- Initial release.