Change log
Notable updates to the Adstract SDK and documentation are tracked here.
1.0.1 - 2026-03-17
Added
- New
AdAckResponsemodel for parsed acknowledgment responses. acknowledgeandacknowledge_asyncnow return parsed acknowledgment data on success.- New
DuplicateAdRequestErrorfor enhancement409 Conflictresponses. - New acknowledgment-specific exceptions for known failure cases:
AdResponseNotFoundErrorUnsuccessfulAdResponseErrorDuplicateAcknowledgmentError
Changed
- The SDK now parses and validates acknowledgment responses returned by the backend.
- Acknowledgment responses now expose:
ad_ack_idstatussuccess
- Enhancement error mapping now matches the current backend contract for:
- missing, invalid, revoked, or inactive API keys
- duplicate ad requests
- Acknowledgment error mapping now matches the current backend contract for:
- bad API key format
- missing or invalid API key
- revoked or inactive platform/publisher state
- cross-platform acknowledgment attempts
- missing ad responses
- unsuccessful enhancement responses
- duplicate acknowledgments
1.0.0 - 2026-03-12
Breaking Changes
- Renamed
AdRequestContext.x_forwarded_fortoAdRequestContext.user_ip. - Renamed
AdResponse.prompttoAdResponse.enhanced_prompt. - Renamed
analyse_and_reporttoacknowledgeandanalyse_and_report_asynctoacknowledge_async. request_adandrequest_ad_asyncnow accept optionaloptional_context.
Added
- New
OptionalContextmodel for optional targeting context:countryregioncityasnagegender
- New
statusfield onAdResponse. - New
PromptRejectedErrorexception for rejected prompts. - New
NoFillErrorexception for no-fill outcomes. OptionalContextis now exported from the package root.
0.3.1 - 2026-02-21
Added
- Added
"markdown"as a supportedwrapping_typeoption. Alongside"xml"and"plain", you can now passwrapping_type="markdown"to theAdstractclient to receive ad injections formatted as Markdown.
0.3.0 - 2026-02-18
Breaking Changes
- Removed
Conversationclass entirely — onlysession_idis now used in requests. EnhancementResultnow returnssession_id: strinstead ofconversation: Conversation.- Renamed
AdRequestConfigurationtoAdRequestContextfor clarity. AdRequestContextnow containssession_id,user_agent, andx_forwarded_foras a wrapped object in requests.- Created new
RequestConfigurationclass to wrapwrapping_typeconfiguration option. AdRequestnow sends structured objects:request_context(AdRequestContext),diagnostics(Diagnostics), andrequest_configuration(RequestConfiguration).- Removed
ClientMetadataandMetadataclasses — client metadata is now computed on the backend. - Removed
Analytics,Compliance,ErrorTracking, andExternalMetadataclasses — all analytics and compliance are now computed on the backend. AdAcknow only sendsad_response_id,llm_response, anddiagnostics— all other fields are computed backend-side.- Removed
AepiDataclass — API response structure simplified. AdResponsenow has simplified structure with only:ad_request_id,ad_response_id,success,execution_time_ms,enhanced_prompt(optional),product_name(optional).- Removed fields from
AdResponse:aepi,tracking_url,tracking_identifier,sponsored_label. request_adandrequest_ad_asyncnow haveraise_exception=Trueby default. Set toFalsefor graceful fallback behavior.- Renamed
request_ad_or_defaulttorequest_adandrequest_ad_or_default_asynctorequest_ad_async. acknowledgeandacknowledge_asyncnow haveraise_exception=Trueby default. Set toFalseto suppress errors.
0.2.1 - 2026-02-10
Changed
- Repository policies, legal terms, and product documentation were revised to reflect the current Adstract SDK distribution and usage model.
0.2.0 - 2026-02-10
This release represents the stabilization of multiple pre-release iterations
(v0.0.1 through v0.0.12) into v0.2.0.
Breaking Changes
AdRequestConfigurationnow requiressession_id.- Passing a full
conversationobject in request config is no longer supported. - Conversation context is now generated internally from
session_id, including automaticmessage_idcreation.
Added
- Configurable API base URL support in the client.
- Structured response fields for ad metadata and wrapping support.
- Reporting flow for closing the ad cycle after model generation.
Changed
- Simplified conversation and session handling in the client API.
Removed
- Non-default request helper methods that were superseded by the unified request flow.
Fixed
- Validation behavior for required request fields.
0.1.0 - 2026-01-21
- Initial release with core ad selection and injection helpers.