Repository navigation
Breaking changes:
flask_server: ATProto-decode JSON input, so methods receive nativeCIDandbytesvalues instead of$linkand$bytesdicts. (Also encode methods' output the same way, as ATProto JSON, but that's backward compatible. Details below.)
Non-breaking changes:
Client,Server: newrequire_lexiconskwarg, defaults toTrue. IfFalse, records with missing or unknown lexicons are skipped during validation instead of raisingNotImplementedError.- Schema validation:
Base.validate: newignorekwarg, a sequence of property names to skip validating or truncating, anywhere in the record.- Fix
reftype validation to accept string values that match theirref, eg token refs inside arrays or unions. - Fix
minimum/maximumschema constraint of0. truncate: truncate string values inside arrays.- Fix crash on values with unexpected types when
truncateis on butvalidateis off, and on non-objectparametersvalues. - Fail on float values, which aren't in the data model
- Support the new
spacelexicon type andspace-refstring format, and allow spaceat://URIs in theat-uriformat.
Base.decode_params: decode array values using theiritemstype.XrpcError: newstatusandheaderskwargs.flask_serveruses them in the HTTP response.Server.method,Server.register: newoverridekwarg that allows replace an existing method.flask_server:init_flask: newfallbackkwarg, a callable that handles methods theServerdoesn't implement instead of returningMethodNotImplemented. Useful for ATProto service proxying.- Serve
OPTIONSCORS preflight requests for methods without lexicons, and for subscriptions. - ATProto-encode JSON output, so methods can return native
CIDandbytesvalues, which are encoded as$linkand$bytes.
- Bundle new lexicons:
- Blacksky (
community.blacksky.assembly), from blacksky-algorithms/assembly.blacksky.community@e95bd1f. - Grain (
social.grain), from grain.social/grain@319af78. - Spark Social (
so.sprk), from sprksocial/server@3f4728d.
- Blacksky (