Version 1.3.0
Changelog
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.
Unreleased
2.0.0 - 2025-07-06
Added
- Optional high-performance Rust backend using Magnus and reqwest
- Environment variable toggle (
NET_HIPPIE_RUST=true) for backend switching - Automatic fallback to Ruby backend when Rust extension unavailable
- Comprehensive test coverage (75 tests, 177 assertions)
- Detailed Rust backend documentation (RUST_BACKEND.md)
- Native extension support via extconf.rb
Changed
- BREAKING: Minimum Ruby version increased to 3.2.0
- Enhanced Connection class to support backend abstraction
- Improved error handling and timeout management
- Updated gemspec with explicit stdlib dependencies
Performance
- Significantly faster HTTP requests when using Rust backend
- Better concurrency with Tokio async runtime
- Lower memory usage with zero-cost abstractions
- Type safety with compile-time guarantees
1.3.0 - 2025-04-30
Changed
- Ruby 2.3+ required
Fixed
- Add explicit dependency on
base64gem - Add explicit dependency on
jsongem - Add explicit dependency on
net-httpgem - Add explicit dependency on
opensslgem
1.2.0 - 2024-12-05
Changed
- Disable logger by default
1.1.1 - 2021-01-30
Changed
- Update Gem Metadata
1.1.0 - 2020-12-26
Added
- Add support for Ruby 3.0
1.0.1 - 2020-07-31
Fixed
- Load version before client
1.0.0 - 2020-07-31
Added
- Add simpler API to remove the need to instantiate a
Clientdirectly. - Default to 3 retries using simple API.
- Re-use client connection for connections to the same scheme, host, and port.
Removed
- Remove support for Ruby 2.4
- Remove legacy
Apiclass.
Changed
- Limit mutable options on Client.
- Change default
read_timeoutto 10 seconds. - Change default
open_timeoutto 10 seconds. - Log to
STDERRby default instead ofSTDOUT.
0.3.2 - 2020-01-28
Fixed
- Follow relative path redirects
0.3.1 - 2020-01-14
Fixed
- Parse location header in response then follow redirect.
- Follow redirect using GET regardless of the original request method.
0.3.0 - 2020-01-13
Added
- Allow following HTTP redirects.
0.2.7 - 2019-10-04
Added
- add additional connection errors
Changed
- specify ruby 2.4 and minimum required.
0.2.6 - 2019-04-30
Added
- add support for PATCH verb.
0.2.5 - 2019-02-06
Changed
- revert change introduced in 0.2.4. See [5.12][https://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html]
0.2.4 - 2019-02-06
Changed
- Send path instead of full uri.
0.2.3 - 2019-02-01
Added
- Default verify mode
0.2.2 - 2019-02-01
Added
- open_timeout added to client.
0.2.1 - 2019-02-01
Added
- with_retry.
- authorization header helpers