1.7.0
Changes since 1.6.0
I must be crazy -- the text fields for request body and response body have been reinvented to optimize performance and fix known issues, since I am too unhappy with what the UI framework provides. Now a 4 MB JSON can be loaded and manipulated instantly, and it is still working good beyond 100 MB with millions of lines. The text fields would be further optimized and extended to replace all text fields in next minor versions.
A critical memory usage bug has also been fixed. This can lower memory usage back to an expected level when there is no large request/response -- about 0.5 GB.
The TODO list on README is also gradually being shortened as I am fulfilling the promises.
Added
- Example-level variables
- New API for user scripting:
fun Request<*>.getApplicableVariables(): Map<String, String>
- Prettify button in JSON request editor. This includes GraphQL and gRPC.
- Mouse hovering variable placeholders in Body Editor to show a tooltip for its value (if exists)
- Number badges in Request Parameter Type tabs to indicate the number of active entries declared in the selected example, e.g. the number of active key-value pairs of a multipart request body declared in the selected Request Example.
- Certificates in P7B (PKCS#7) format can now be imported
- Private keys in PEM or PKCS#1 formats can now be imported, and does not limit to RSA keys anymore.
- PKCS#12 (known as p12) and PFX files can now be imported as client certificates
- [Experimental] Options to switch between hardware acceleration or software rendering. This is to work around display issues on some Windows devices.
Changed
- The main UI font has been changed to Comme and unified among all platforms
- The main monospace font has been changed to Pitagon Sans Mono and unified among all platforms
- Importing CA certificates now imports all the certificates from an input file
- "Copy as cURL command" is now non-verbose, i.e. without
time
and--verbose
. There is a new option "Copy as cURL verbose command" for verbose. - Update the label of "Copy as PowerShell Invoke-WebRequest command" to confine supporting PowerShell version 6 or above only (there is no change to the underlying logic)
- Inherited values in Request Editor are now showing at the bottom rather than the top
- Number of space characters to indent or unindent in Request Body and Payload editors are changed from 4 to 2
- Syntax highlighting would be disabled for Request/Payload text fields that exceeding 32 MB size
- JSON syntax highlighting does not tolerate syntax error now
Removed
- Text fields and response body viewer now do not trim content over 4 MB (but other limits still apply)
- Most of debug logs
Fixed
- Request body editor, payload body editor and response body viewer are reimplemented. This fixes many of the issues or weird behavior known in Jetpack Compose text fields.
- The entire database, including all request and response bodies, should not be retained in memory. This can take up gigabytes of unnecessary memory.
- The copy button should not overlap with the search bar in the response body viewer.
- After searching for a pattern in text editor, changing the search pattern should scroll to the first of new search results
Optimized
- Request body editor, payload body editor and response body viewer are now able to handle bodies with a size of megabytes without significant performance issues.
- Clicking the "Send" button now never freeze for a short while.
- Computation performance of JSON syntax highlighting -- processing a 30 MB JSON takes less than 0.1s now
- Peak memory use and computation performance of JSON prettifying