-
Release 7.4
Stablereleased this
2026-04-20 19:19:05 +03:00 | 24 commits to main since this releaseHighlight
- New
sendAPI in Session withSoup.Sessioncompatibility. - Added managing multiple base URLs with automatic failover.
- Improved serialization: case-insensitive enum parsing, UTC timezone for DateTime, INT64→DateTime conversion.
API Changes
Request
- Added
Request.portproperty for custom port specification. - Deprecated
Request.form_message. - New high-level request methods:
Request.simple_send,Request.simple_send_and_read, and their async variants. - Deprecated
Request.simple_exec/Request.execmethods in favor of new API. get_status_code()now returns nullableSoup.Status?if message not send yet.
Session
- Added
add_base_url/remove_base_urlfor multi-endpoint support with automatic failover. - New methods:
send,send_and_read, `send_and_splice' and async variants. - Built-in base URL failover: failed requests automatically retry with next URL.
- Added diagnostic logging for request lifecycle.
Errors
- Deprecate
SoupError. BadStatusCodeErrornow generates at runtime, code can be obtained viaError.code.
Serialization
- Enum deserialization now case-insensitive.
DateTimeparsing defaults to UTC timezone.- Added automatic
int64→DateTimeconversion. Serialize.get_settings()returns a copy; addedSettings.copy()method.
Diagnostic
API_BASE_SOUP_TRACE_FILENAME: Log libsoup trace to file orstdout.SERIALIZE_UNKNOWN_PROPS: Warn on JSON fields missing in target object.SERIALIZE_UNKNOWN_FIELDS: Warn on object fields missing in JSON.
API reference documentation: https://rirusha.altlinux.team/libapi-base/
- New