Skip to content

Releases: tarsil/saffier

Version 1.3.0

12 Jan 13:46
331054d
Compare
Choose a tag to compare

Added

  • Added new experimental activate_schema for tenant models using the using queryset operator.
  • Support for ManyToMany to accept strings to the to attribute.
  • Support for new queryset operations only() and defer.
  • Intenal ModelProxy allowing to manipulate objects querysets such as only and defer.
  • Support for secrets and secret queryset.

Changed

Breaking changes

Saffier now uses Dymmond Settings which this simlpy affects the way the
settings module is loaded. Prior to version 1.3.0 it was like this:

SAFFIER_SETTINGS_MODULE=...

From version 1.3.0 is:

SETTINGS_MODULE=...

The rest remains as it. More information about how to use it in the official documentation.

Fixed

  • Multiple join tables were not generating the complete join statement when using select_related.
  • Fixed metaclass for TenantMixin making sure all the queries are correctly pointing
    to the right tenant.
  • When generating a many to many through model, the maximum length is enforced to be 63 characters.
  • Object discovery for intellisense.
  • Allow ManyToMany to also accept a string as a parameter for the to.

Version 1.2.0

05 Jan 16:52
Compare
Choose a tag to compare

Added

  • Support for sync queries. This will enable Edgy to run in blocking frameworks like
    Flask, bottle or any other by using the newly added run_sync.

Fixed

  • Fixed multi tenancy from contrib.
  • Fixed using where schema name was raising a not found reference for foreign key
    when querying the tenant.

Version 1.1.0

30 Nov 17:16
c5591a5
Compare
Choose a tag to compare

Added

  • Support for or_, and_ and not_ for SQLAlchemy style queries and Edgy syntax sugar queries.

Changed

  • inspectdb is now handled by an independent isolated called InspectDB.
  • Updated internal support for databasez 0.7.0 and this fixes the URL parsing errors for complex passwords
    caused by the urlsplit.

Fixed

  • server_default does not raise a FieldValidationError.
  • server_default added as validation for nullable.

!!! Warning
This could impact your migrations, so the advise would be to generate a new migration
after upgrading to the new version of Edgy to make sure the database reflects the proper
nullables/non-nullable fields.

Version 1.0.1

27 Oct 15:52
Compare
Choose a tag to compare

Changed

Fixed

  • Database object docstring.

Version 1.0.0

13 Oct 21:02
43178b0
Compare
Choose a tag to compare

Added

  • Support for Python 3.12

Changed

  • Update base requirements.

Version 0.18.0

30 Aug 12:12
0b62d99
Compare
Choose a tag to compare

Added

  • New Prefetch support allowing to simultaneously load nested data onto models.
  • New Signal support allowing to "listen" to model events upon actions being triggered.

Changed

  • Updated pydantic and alembic

Version 0.17.1

23 Aug 18:40
Compare
Choose a tag to compare

Fixed

  • DeclarativeModel generating internal mappings names was breaking for class objects.

Version 0.17.0

18 Aug 14:17
Compare
Choose a tag to compare

Added

  • Multi tenancy support by updating the registry and allowing to create the multi schema.
  • Add new using(schema=...) and using_with_db(database=..., schema=...) to querysets.
  • Add support for create_schema and drop_schema via registry.
  • Add support to get_default_schema from the registry.schema.
  • Documentation for tenancy.
  • Improved the documentation for schemas.
  • Added a new parameter extra to registry allowing to pass a Dict like object containing more database connections. This is an alternative to the registries.
  • Improved documentation for registry explaining how to use the extra parameters.
    and query them.
  • Added a new ConnectionConfig TypedDict for the registry extra.

Changed

  • Update the build for Model and ReflectModel to allow passing the schema.

Version 0.16.0

08 Aug 10:40
c70d7b0
Compare
Choose a tag to compare

Changed

  • Updated versions of the requirements to the latest.
  • Internal file structure
  • Breaking change. Before for fields the import was from saffier.db.models.fields import ... and that
    was now changed to from saffier.db.fields import ...

Added

  • values() and values_list() to the queryset.

Fixed

  • ConfigDict in settings.

0.15.0

14 Jul 10:19
70ecd15
Compare
Choose a tag to compare

Added

  • SaffierExtra class allowing the use of Saffier tools without depending on the Migrate object.