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¶
0.5.0 - 2026-03-19¶
Added¶
- Vector search models in
foxnose_sdk.flux.models: SearchModeenum (text,vector,vector_boosted,hybrid)VectorSearch— auto-generated embedding search configurationVectorFieldSearch— custom pre-computed embedding search configurationVectorBoostConfig— boost configuration forvector_boostedmodeHybridConfig— weight configuration forhybridmodeSearchRequest— typed search payload with cross-field validation- Convenience methods on
FluxClientandAsyncFluxClient: vector_search()— semantic search with auto-generated embeddingsvector_field_search()— search with custom embedding vectorshybrid_search()— blended text + vector searchboosted_search()— keyword search boosted by vector similarity- Vector Search documentation — dedicated guide covering all search modes
- All convenience methods support
offsetand**extra_bodypass-through for additional API parameters (where,sort, etc.)
Fixed¶
examples/flux_client.pysearch example now uses correct API keys (find_textandresults)
0.4.2 - 2026-03-10¶
Fixed¶
- Secure Management/Flux signing with query parameters:
SecureKeyAuthnow signs only the URL path (without query string)- aligns SDK signatures with server-side verification and Management auth docs
- prevents
401 authentication_failed/Invalid signatureon requests with query params
0.4.1 - 2026-03-05¶
Fixed¶
- Flux role permission objects handling in Management clients:
- normalize permission object list responses consistently
- keep compatibility with paginated/object payload variants
- align role-scoped flux permission object behavior with production contract
0.4.0 - 2026-02-25¶
Added¶
- Flux introspection methods on sync and async clients:
get_router()callsGET /{api_prefix}/_routerget_schema(folder_path)callsGET /{api_prefix}/{folder_path}/_schema- API folder route description support in Management clients:
add_api_folder()andupdate_api_folder()now accept:description_get_onedescription_get_manydescription_searchdescription_schema
APIFolderSummarymodel fields for route descriptions:description_get_onedescription_get_manydescription_searchdescription_schema
0.3.0 - 2026-02-10¶
Added¶
upsert_resource()method onManagementClientandAsyncManagementClient— create or update a resource byexternal_idin a single call. UsesPUT /folders/:folder/resources/?external_id=<value>.batch_upsert_resources()method onManagementClientandAsyncManagementClient— upsert multiple resources concurrently with configurablemax_concurrency,fail_fasterror handling mode, and optionalon_progresscallback.BatchUpsertItem,BatchItemError,BatchUpsertResultmodels for batch upsert input/output.external_idoptional parameter oncreate_resource()— assign an external identifier when creating a resource viaPOST.external_idfield onResourceSummarymodel — populated in API responses for resources that have an external identifier.
0.2.0 - 2026-01-26¶
Added¶
- Model objects as identifiers — Management client methods now accept either string keys or corresponding model objects (e.g.
FolderSummary,ResourceSummary) wherever a*_keyparameter is used. This eliminates the need to manually extract.keyfrom objects returned by the API. _resolve_key()helper function for extracting string keys from model objects.- 13 type aliases for method parameters:
FolderRef,ResourceRef,RevisionRef,ComponentRef,SchemaVersionRef,OrgRef,ProjectRef,EnvironmentRef,ManagementRoleRef,FluxRoleRef,ManagementAPIKeyRef,FluxAPIKeyRef,APIRef.
0.1.0 - 2026-01-14¶
Added¶
- Initial release of the FoxNose Python SDK
ManagementClientfor administrative operationsAsyncManagementClientfor async administrative operationsFluxClientfor content deliveryAsyncFluxClientfor async content delivery- JWT authentication with automatic token refresh
- API key authentication for Flux API
- Comprehensive type hints and Pydantic models
- Automatic retry with exponential backoff
- Full support for all Management API endpoints:
- Organizations
- Projects
- Environments
- Folders
- Resources
- Revisions
- Schema versions and fields
- Components
- Locales
- Management roles and permissions
- Flux roles and permissions
- Management API keys
- Flux API keys
Documentation¶
- Getting started guide
- Authentication guide
- Management Client reference
- Flux Client reference
- Error handling guide
- Code examples