Releases: ryanfowler/fetch
Releases · ryanfowler/fetch
v0.24.4
What's Changed
- Improve DNS inspection record reporting and resolver handling by @ryanfowler in #633
- Use the Rust release version in build info by @ryanfowler in #634
- Add separator-aware warning rendering before follow-on output by @ryanfowler in #635
Full Changelog: v0.24.3...v0.24.4
v0.24.3
What's Changed
- Verify self-update artifacts with SHA-256 sidecars by @ryanfowler in #583
- Reject replay of stdin request bodies on retries and digest auth by @ryanfowler in #584
- Re-resolve custom DNS on cross-host redirects by @ryanfowler in #585
- Fix environment proxy handling for HTTP/2 and HTTP/3 by @ryanfowler in #586
- Honor TLS options in WebSocket connections by @ryanfowler in #587
- Share HTTP client construction between gRPC calls and reflection by @ryanfowler in #588
- Strip credentials on cross-origin redirects by @ryanfowler in #589
- Fix duration overflow crashes and bound retry attempts by @ryanfowler in #590
- Apply image decoder limits before allocation by @ryanfowler in #591
- Harden external image temp file permissions by @ryanfowler in #592
- Centralize auto-update duration parsing by @ryanfowler in #593
- Preserve Basic and Digest credential whitespace by @ryanfowler in #594
- Make output downloads cleanup cancellation-safe and sync atomic installs by @ryanfowler in #595
- Stream SSE responses and improve response body errors by @ryanfowler in #596
- Mirror reqwest NO_PROXY CIDR handling for HTTP/2 and HTTP/3 env proxy checks by @ryanfowler in #597
- Align WebSocket JSON color policy with HTTP auto mode by @ryanfowler in #598
- Output warning for terminal binary responses by @ryanfowler in #599
- Print AWS SigV4 headers in verbose stderr output by @ryanfowler in #600
- Add integration coverage for streaming NDJSON, gRPC trailers, and WebSockets by @ryanfowler in #601
- Rename timing connect phase label to Connect by @ryanfowler in #602
- Reject legacy TLS 1.0 and 1.1 consistently by @ryanfowler in #603
- Expand protobuf and gRPC test coverage by @ryanfowler in #604
- Bump http from 1.4.0 to 1.4.1 by @dependabot[bot] in #605
- Enable gRPC reflection for schema-less response decoding by @ryanfowler in #606
- Strip entity headers on POST-to-GET redirects by @ryanfowler in #607
- Bracket IPv6 session cookie hosts during reload by @ryanfowler in #608
- Reduce flush overhead in streaming stdout copies by @ryanfowler in #609
- Add WebSocket DNS and proxy dialing support by @ryanfowler in #610
- Stream gRPC responses and request bodies incrementally by @ryanfowler in #611
- Preserve empty descriptor-aware gRPC messages by @ryanfowler in #612
- Support gzip-compressed gRPC response messages by @ryanfowler in #613
- Run custom DNS A and AAAA lookups in parallel by @ryanfowler in #614
- Stream formatted NDJSON responses incrementally by @ryanfowler in #615
- Preserve whitespace in query, form, and multipart values by @ryanfowler in #616
- Fix IPv6 literals in TLS inspection connect path by @ryanfowler in #617
- Honor --dns-server during TLS inspection by @ryanfowler in #618
- Apply connect-timeout to WebSocket dialing by @ryanfowler in #619
- Centralize DNS resolution and wire parsing helpers by @ryanfowler in #620
- Centralize timeout budget handling by @ryanfowler in #621
- Centralize TLS parsing for inspection by @ryanfowler in #622
- Centralize shared gRPC headers, status parsing, and framed-body reading by @ryanfowler in #623
- Centralize MIME policy for response formatting, request bodies, and edit temp files by @ryanfowler in #624
- Centralize stdio terminal checks and auto policy by @ryanfowler in #625
- Surface unsupported Digest challenge diagnostics by @ryanfowler in #626
- Skip malformed Content-Disposition parameters when parsing filenames by @ryanfowler in #627
- Make retry delays respect the original timeout budget by @ryanfowler in #628
- Reject
--digestfor WebSocket requests by @ryanfowler in #629 - Fix bare IPv6 host matching in config by @ryanfowler in #630
- Use durable atomic replace for Unix self-updates by @ryanfowler in #631
- Remove duplicate metadata command branches by @ryanfowler in #632
Full Changelog: v0.24.2...v0.24.3
v0.24.2
What's Changed
- Stream response bodies end to end for non-formatted output by @ryanfowler in #577
- Bound retry and digest auth body draining by @ryanfowler in #578
- Bump reqwest from 0.13.3 to 0.13.4 by @dependabot[bot] in #579
- Stream request bodies instead of fully buffering uploads by @ryanfowler in #581
- Bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #580
- Enforce gRPC message limits before buffering frames by @ryanfowler in #582
Full Changelog: v0.24.1...v0.24.2
v0.24.1
What's Changed
- Use Bash for Windows release asset upload by @ryanfowler in #576
Full Changelog: v0.24.0...v0.24.1
v0.24.0
What's Changed
- Fix content detection and validation edge cases by @ryanfowler in #539
- Bump golang.org/x/crypto from 0.51.0 to 0.52.0 by @dependabot[bot] in #540
- Bump golang.org/x/net from 0.54.0 to 0.55.0 by @dependabot[bot] in #541
- Bump golang.org/x/image from 0.40.0 to 0.41.0 by @dependabot[bot] in #543
- Rewrite fetch in Rust by @ryanfowler in #544
- Bump prost-reflect from 0.16.3 to 0.16.4 by @dependabot[bot] in #546
- Bump sha1 from 0.10.6 to 0.11.0 by @dependabot[bot] in #547
- Bump rcgen from 0.13.2 to 0.14.8 by @dependabot[bot] in #545
- Reduce formatter allocation overhead by @ryanfowler in #548
- Run CI only for pull requests to main by @ryanfowler in #549
- Implement clipboard support for
--copyby @ryanfowler in #550 - Implement terminal pager routing for response output by @ryanfowler in #551
- Enforce DNS timeouts during pre-resolution by @ryanfowler in #552
- Fix SigV4 canonical query sorting for duplicate parameters by @ryanfowler in #553
- Prefer filename* over filename in Content-Disposition parsing by @ryanfowler in #554
- Add AWS_SESSION_TOKEN support to SigV4 signing by @ryanfowler in #555
- Harden session cookie file permissions on Unix by @ryanfowler in #556
- Reject control characters in multipart disposition parameters by @ryanfowler in #557
- Make external image decoders opt-in by @ryanfowler in #558
- Bypass the pager for terminal image responses by @ryanfowler in #559
- Add UDP DNS receive timeouts and random query IDs by @ryanfowler in #560
- Avoid showing compressed lengths for decoded download progress by @ryanfowler in #561
- Replace
--no-encodewith--compressmodes by @ryanfowler in #562 - Replace
--no-pagerwith--pager auto|on|offby @ryanfowler in #563 - Add
--sort-headersfor sorted verbose header output by @ryanfowler in #564 - Add brotli compression negotiation and decoding by @ryanfowler in #565
- Simplify the default Accept header by @ryanfowler in #566
- Align OCSP status output with SANs in TLS inspection by @ryanfowler in #567
- Align
--inspect-dnsoutput labels and record rows by @ryanfowler in #568 - Add manual dry-run mode to release workflow by @ryanfowler in #569
- Fix SigV4 canonical query encoding for literal plus signs by @ryanfowler in #570
- Fix release builds by preserving reqwest unstable cfg by @ryanfowler in #571
- Harden installer archive extraction by @ryanfowler in #572
- Cap self-update artifact downloads by @ryanfowler in #573
- Set edit temp files to 0600 on Unix by @ryanfowler in #574
- Include effective WebSocket handshake headers in dry-run output by @ryanfowler in #575
Full Changelog: v0.23.4...v0.24.0
v0.23.4
What's Changed
- Align ALPN output with TLS line in inspect-tls by @ryanfowler in #533
- Fix session cookie persistence to match cookiejar validation by @ryanfowler in #534
- Use QUIC for TLS inspection with --http 3 by @ryanfowler in #535
- Fix exact 1 MiB response formatting boundary by @ryanfowler in #536
- Make multipart bodies replayable for 307 and 308 redirects by @ryanfowler in #537
- Allow inspection modes to ignore request-only flags by @ryanfowler in #538
Full Changelog: v0.23.3...v0.23.4
v0.23.3
What's Changed
- Stop signal handling after first Ctrl-C by @ryanfowler in #525
- Fix metadata commands to bypass auto-update startup by @ryanfowler in #526
- Fix
--handling for normal CLI parsing by @ryanfowler in #527 - Fix SigV4 canonical path handling for escaped URLs by @ryanfowler in #528
- Fix EDITOR path parsing for unquoted paths with flags by @ryanfowler in #529
- Validate header names during config parsing by @ryanfowler in #530
- Refactor ignored inspection warnings by @ryanfowler in #531
- Close idle HTTP transports before shutting down client transports by @ryanfowler in #532
Full Changelog: v0.23.2...v0.23.3
v0.23.2
What's Changed
- Bump github.com/quic-go/quic-go from 0.59.0 to 0.59.1 by @dependabot[bot] in #513
- Bump golang.org/x/image from 0.39.0 to 0.40.0 by @dependabot[bot] in #511
- Bump golang.org/x/term from 0.42.0 to 0.43.0 by @dependabot[bot] in #509
- Bump golang.org/x/crypto from 0.50.0 to 0.51.0 by @dependabot[bot] in #510
- Bump golang.org/x/net from 0.53.0 to 0.54.0 by @dependabot[bot] in #508
- Drain suppressed binary responses before copying to clipboard by @ryanfowler in #514
- Allow
--copyto copy empty responses by @ryanfowler in #515 - Dispatch final SSE event at EOF by @ryanfowler in #516
- Set ALPN protocols for TLS inspection by @ryanfowler in #517
- Handle compressed gRPC frames in response formatting by @ryanfowler in #518
- Fix
--from-curlredirect handling to match curl semantics by @ryanfowler in #519 - Handle explicit directory entries during update archive unpacking by @ryanfowler in #520
- Speed up CI integration tests with higher parallelism and shorter waits by @ryanfowler in #521
- Fix config-file color handling in startup by @ryanfowler in #522
- Expose replayable bodies through Request.GetBody by @ryanfowler in #523
- Fix DNS inspection fallback when no system nameserver is discovered by @ryanfowler in #524
Full Changelog: v0.23.1...v0.23.2
v0.23.1
What's Changed
- Tighten WebSocket UX and dry-run behavior by @ryanfowler in #496
- Improve WebSocket interactive terminal behavior by @ryanfowler in #497
- Handle Host overrides via req.Host by @ryanfowler in #498
- Fix persisted session cookie default paths by @ryanfowler in #499
- Fix no-clobber output writes to avoid overwriting newly created files by @ryanfowler in #500
- Fix Windows self-update rollback after mid-update failures by @ryanfowler in #501
- Wrap gRPC streaming request bodies for replay by @ryanfowler in #502
- Move AWS SigV4 signing to the final request mutation point by @ryanfowler in #503
- Honor environment proxy settings in the HTTP client by @ryanfowler in #504
- Use the challenged request for digest retries after redirects by @ryanfowler in #505
- Pass Host overrides into WebSocket dial options by @ryanfowler in #506
- Decode percent-encoded gRPC status messages by @ryanfowler in #507
Full Changelog: v0.23.0...v0.23.1
v0.23.0
What's Changed
- Consolidate DNS resolution into internal/resolver by @ryanfowler in #492
- Add DNS inspection mode with TTL-aware record rendering by @ryanfowler in #493
- Add min and max TLS flags by @ryanfowler in #494
- Remove the CLAUDE.md file by @ryanfowler in #495
Full Changelog: v0.22.1...v0.23.0