Releases: sunny-chung/hello-http
1.7.1
Changes since 1.7.0
Changed
- After clicking "Copy All" in the response viewer, the copied text now uses the Heading 2 style (
-------
) instead of the Heading 1 style (=======
). This facilitates embedding multiple requests and responses in the same Markdown document.
Fixed
- Crash during project import if a file is not selected or there is an error (#2)
- Double hit the enter key in Code Editor would incorrectly add an extra blank line and reset cursor to the start of the line
- Line number of text fields incorrectly appeared and was bouncing if the line is long and partially left the screen
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
1.7.0-beta.4
Changes since 1.7.0-beta.3
Fixed
- The entire database, including all request and response bodies, should not be retained in memory. This can take up gigabytes of unnecessary memory.
Optimized
- The pause immediately after firing requests before UI updates has been lowered.
1.7.0-beta.3
Changes since 1.7.0-beta.2
Fixed
- Crash on JSON syntax highlighting in distribution builds
1.7.0-beta.2
Changes since 1.7.0-beta.1
Changed
- The size threshold of disabling syntax highlighting in Request/Payload text fields has been raised from 1.5 MB to 32 MB
- JSON syntax highlighting does not tolerate syntax error now
Fixed
- Crash on text deletion of lines that cover the whole current viewport
- The Request/Payload text fields' viewport should scroll to follow the cursor while typing
- After searching for a pattern in text editor, changing the search pattern should scroll to the first of new search results
Optimized
- Computation performance of large text fields
- Computation performance of JSON syntax highlighting -- processing a 30 MB JSON takes less than 0.1s now
- Memory use of JSON syntax highlighting
- Peak memory use and computation performance of JSON prettifying
v1.7.0-pre.4
fix test to work around Compose's bug
1.7.0-beta.1
Changes since 1.6.0
WARNING: Please make a backup before start using a pre-release version!
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.
The TODO list on README is also gradually being shortened as I am fulfilling the promises.
Note: For large request/response bodies, v1.7.0 has a higher memory usage than v1.6.0 as a trade-off for fast performance. It would be improved in upcoming versions. Users with large concerns on memory usage may stay at v1.6.
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 1.5 MB size
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 copy button should not overlap with the search bar in the response body viewer.
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.
v1.7.0-pre.3
update GitHub Actions runners to use `macos-13` instead of `macos-12`…
v1.7.0-pre.2
fix spacing in the Settings dialog
v1.7.0-pre.1
add rendering API option to switch between hardware acceleration or s…