Revision history for Perl module HTTP::Promise v0.7.4 2026-04-24T19:01:29+0900 - Correcting a missing error catch in send() in HTTP::Promise - Improved HTTP::Promise::MIME by using Module::Generic::File::Magic - Extended from 767 to 825 mime-types and their extensions. - Updated dependencies fro DateTime::Lite v0.7.3 2026-03-09T13:13:37+0900 - HTTP::Promise::Body::Form::Data: When building a multipart/form-data request with a Module::Generic::File object, the MIME type is now properly split into Content-Type (inner format, e.g. application/x-tar) and Content-Encoding (compression layer, e.g. gzip) for compressed archives such as .tar.gz, .tar.bz2, .tar.xz, .tar.zst. Multiple encoding layers are supported. - HTTP::Promise::Stream: Added package variable $MIME_ENCODING and new public method mime2encoding() to map a MIME type (e.g. application/gzip) to its encoding token (e.g. gzip). - HTTP::Promise::Stream: Added $ENCODING_ALIAS table (x-gzip, x-bzip2, x-uuencode, x-compress, compress, x-zip, inflate, quoted-printable, rawinflate, uuencode) and use it in encoding2suffix() to resolve aliases before lookup. - HTTP::Promise::Stream: Added $CLASSES aliases for br, x-compress, and uuencode. - HTTP::Promise::Stream: Added Z => lzw to the $SUFFIX_ENCODING reverse map to support legacy Unix .Z compressed files. - HTTP::Promise::Stream: Fixed rawinflate class alias (was wrongly pointing to inflate instead of rawdeflate). - HTTP::Promise::Stream: Added deflate to the list of encodings checked for browser support. - HTTP::Promise::Stream: Improved error propagation — encoding/decoding errors now return proper HTTP::Promise::Exception objects instead of raw $@ strings. - HTTP::Promise::Stream: Fixed init() condition (!defined || !length replacing && ). - HTTP::Promise::Stream: Added private method _encoding2suffix_map() returning a shallow copy of $ENCODING_SUFFIX for safe cross-package access. - HTTP::Promise::Stream: Fixed typo in POD (QuptedPrint -> QuotedPrint). - HTTP::Promise::Stream: Corrected version to v0.3.0. - HTTP::Promise::Stream::Base64, Brotli, LZW, QuotedPrint: Fixed bare return statements to return pass_error() instead; replaced string eval with block eval using local $SIG{__DIE__} for safer optional module loading. - HTTP::Promise::Stream::UU: Same bare-return and debug message improvements. - HTTP::Promise::Headers: Improved header() setter — validates header name, and dispatches to the dedicated accessor method when one exists for the given field. - HTTP::Promise::Headers: Improved _date_header() to handle Module::Generic::DateTime and DateTime objects explicitly before falling through to the epoch/string path; fixed argument order in warning message. - HTTP::Promise::Headers: Corrected version to v0.3.2. - HTTP::Promise::Message: Improved error message for bad header argument. - HTTP::Promise::Message: Fixed decode_json() to use new_json_safe() and properly dereference the scalar ref returned; improved error reporting. - HTTP::Promise::Message: Fixed missing pass_error() propagation in decode_content(). - HTTP::Promise::Message: Corrected version to v0.3.3. - HTTP::Promise::Request: Added convenience method authorization_basic() delegating to the headers object. - HTTP::Promise::Response: Added uri() method and initialised uri property in init(). - HTTP::Promise::Entity: Fixed indentation of the codec options hash; added debug option propagation to the stream decoder. - t/07.stream-suffix.t: Corrected zstd test cases to use .zst extension. - Added warning when content data provided is text content and is provided in Perl internal utf8 encoding. v0.7.2 2025-10-19T16:47:20+0900 - Improved error() in HTTP::Promise::Headers v0.7.1 2025-10-15T03:04:06+0900 - Replaced dependency Want for Wanted, and corrected unti test. Thanks to Slaven Rezić. Gitlab #6, and #7 v0.7.0 2025-10-12T07:29:08+0900 - Updated HTTP::Promise::Headers to account for RFC9457 mime-type: application/problem+json - Correction in error handling in HTTP::Promise::IO - Minor improvement in HTTP::Promise::Status::_min_max - Expanded and improved localised HTTP errors in HTTP::Promise::Status now covering the following locales: cs_CZ, de_DE, en_GB, es_ES, fr_FR, ga_IE, it_IT, ja_JP, ko_KR, nb_NO, nl_NL, pl_PL, pt_BR, pt_PT, ro_RO, ru_RU, sr_RS, sv_SE, tr_TR, zh_CN, zh_TW v0.6.3 2025-08-30T20:09:40+0900 - Corrected dependency v0.6.2 2025-08-30T18:04:49+0900 - Corrected unit test for form-data - Centralised use of warnings with HTTP::Promise category v0.6.1 2025-07-31T05:03:54+0900 - Improvded HTTP::Promise::Headers for threaded environment - Improved documentation on thread-safety - Corrected some issues with multipart/form-data queries v0.6.0 2025-07-30T16:30:49+0900 - Updated dependencies v0.5.3 2025-03-09T21:27:49+0900 - Corrected HTTP::Promise::Body::Form to better handle array provided to its instantiator. v0.5.2 2024-09-05T21:07:34+0900 - Updated dependencies v0.5.1 2024-03-27T16:53:48+0900 - Minor correction of undefined variable in HTTP::Promise - Correcting minor bug in _read_body() in HTTP::Promise v0.5.0 2024-02-12T21:30:05+0900 - Added method prepare() in HTTP::Promise - Added method host() in HTTP::Promise::Request - Added a warning when parameters are passed as an hash reference and not an hash to methods post, put, patch, etc that rely on _make_request_data() v0.4.1 2024-02-06T06:30:56+0900 - Correcting small bug in HTTP::Promise::Body::Form v0.4.0 2024-02-01T23:17:20+0900 - Added the method decode_json() in HTTP::Promise::Message v0.3.3 2023-10-10T08:15:14+0900 - Corrected malformed signature for distribution release v0.3.2 2023-10-07T12:04:00+0900 - Corrected malformed signature for distribution release v0.3.1 2023-09-22T09:41:30+0900 - Correcting a bug in method is_binary() in HTTP::Promise::Entity affecting the content of the data being tested. - Checking in method _read_body_chunked() in HTTP::Promise that the length of data written to body file matches the expected amount or returns an error. v0.3.0 2023-09-08T18:57:43+0900 - Code cleanup - Minor improvement in method value() of HTTP::Promise::Field::QualityValue - Corrected a bug where the default headers set with default_headers() were not used. v0.2.5 2023-08-29T10:18:48+0900 - Added option accept_encoding to enable/disable receiving compressed data - Added the possibility of setting a query string for POST/PUT queries - Updated _make_request_data() to only set default Content-Type and Content-Length only when there is some data provided - Updated _make_request_query() to accept special header name 'Content' or 'Query' to set the query string. v0.2.4 2023-08-15T15:35:14+0900 - Added method as_form_data in module HTTP::Promise::Message - Added method url_encode to HTTP::Promise::Request - Correcting a typo in HTTP::Promise::Stream::Base64 - Improved documentation in HTTP::Promise::Pool v0.2.3 2022-12-21T11:17:09+0900 - Corrected a typo in method request in HTTP::Promise v0.2.2 2022-11-12T14:21:39+0900 - Updated init() in HTTP::Promise to instantiate a default HTTP::Promise::Headers object to make default_header() method work. v0.2.1 2022-10-29T21:15:10+0900 - Added object argument 'medium' and 'shared_mem_size' that are passed to Promise::Me - Added method httpize_datetime to ensure a given DateTime object stringifies to a valid HTTP date - Added the instantiation option 'use_promise' (default to true). If false, it returns the HTTP response instead of the promise. v0.2.0 2022-08-24T10:28:44+0900 - Added exportable class function fetch - Corrected an ineffective local_address option and method - Added the local_host and local_port options and methods in HTTP::Promise - Changed HTTP::Promise::IO to support local host and port when making connections v0.1.6 2022-08-06T19:48:15+0900 - Attempting to correct an issue with THAWing HTTP::Promise::Message v0.1.5 2022-08-06T13:57:59+0900 - Removing an overlooked debugging module from test unit v0.1.4 2022-07-17T05:56:32+0900 - Minor correction on the temporary file extension to store response data in _read_body_chunked() in HTTP::Promise - Corrected passing the error object with the reject callback in delete, get, options, patch, post, put methods in HTTP::Promise - Added suport for serialisation by CBOR, Sereal and Storable for all modules - Correcting a bug in HTTP::Promise::Headers::ContentSecurityPolicyReportOnly, in report_uri() - Corrected missing parameters in delete() and options() methods in HTTP::Promise v0.1.3 2022-07-01T10:44:30+0900 - Correcting error in pod documentation affecting CPAN indexing v0.1.2 2022-06-30T13:56:42+0900 - Added missing requirement for URL::Encode::XS v0.1.1 2022-06-28T06:38:36+0900 - Remove dependency on curry v0.1.0 2022-06-27T23:01:44+0900 - Initial release