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.
- Checks if Schema is already registered before trying to register. This allows Schema Registry to be readonly in production environment, with only CI/CD being allowed to make changes.
- [faust] extra now depends on faust-streaming fork
- Integration with dataclasses-avroschema added to serializers
- Requirements updated:
fastavro==1.0.0.post1
andmypy==0.782
- Requirements updated:
fastavro==1.0.0.post1
andmypy==0.782
- Integration with dataclasses-avroschema added
AsyncSchemaRegistryClient
added
- Submit raw schema instead of the
fastavro-parsed
version #77
is_key
removed from signature methods- documentation updated
- Pin dependency versions
- Corrects
Accept headers
to conform to specification #73
requests
dependency removed #70
- Fix
client.register cache lookup
#62 - Support for new release of
httpx
. Forhttpx < 0.14.0
versions usage ofpython-schema-registry-client==1.4.1
- Don't rely on httpx's private config values #66
Avro
serialization for complexfaust
records that contains nestedrecords
,Mapping
orSequences fixed
#59
- timeout and pool_limits added to client
- Allow SchemaRegistryClient to be picklable fixed #24
requests
library has been replaced withhttpx
- new properties added to AvroSchema: raw_schema, flat_schema and expanded_schema
- documentation updated
- bad import check fixed causing faust crash
- fixed
Importing MessageSerializer
without Faust is Broken #47
- fix Base URL was overwritten #46
faust serializer
updated in order to be compatible with latest Faust version
- Incorrect message on get_subjects fixed
- is_key was removed from serializer, meaning that the subject itself will have to express wheter the schema is key or not. Related to #40
- Requirements updated to latest versions: fastavro and requests
- Faust requirement updated to <= 1.9.0
- fix force
fastavro
to parse always the schemas in order to avoid errors when a process B get the schema from the server that was previously processed by process A.
- requirements updated
- Typing added (mypy)
- Missing endpoints added:
- GET /subjects
- GET /subjects/{subject}/versions
- DELETE /subjects/{subject}/versions/{version}
- Urls manager added to have more control over which endpoint the client is using
- Production ready
- Move to FastAvro
- Dependency
avro-python3
removed - Support for
logicalTypes
added AvroSchema
class added to manage schema parse and hasing- Tests added
- Faker lib added to create fixtures
- Documentation updated
- Error mapping proxy fixed when try to register a schema that contains
logicalTypes
- Faust Serializer has been added
- Optional Faust requirement added
- Documentation about
MessageSerializer
andFaust
Integration updated
- Missing Compatibility levels added.
ClienError
added to the documentation- Tests refactored
- HTTP code and
server_traceback
added to theClientError
when Schema Server returns a not success when a schema compatibility check is requested.
- Missing tests added.
- Bug in register fixed.
- Documentation updated.
- Missing Python syntax highlighted added.
- Now all the tests are run against a
Schema Registry Server
and not a mock server. This allows us to be aware of when the server changes. The requirements to run the tests are Docker andDocker Compose
- Http
Client
now is a subclass ofrequest.Session
- Now is possible to inisialize SchemaRegistryClient with custom headers. This headers will be included on every requests.
- small twaeks
- First release
- Http
Client
added. MessageSerializer
added.- tests added
- Documentation added