We're excited to announce new enhancements and maintenance updates to improve functionality and developer experience. Below are the key changes:
---
- **PostgreSQL Support** (by Eugene Frolov)
Added comprehensive support for PostgreSQL databases, expanding storage flexibility.
- Configure via `engines.engine_factory` with a PostgreSQL connection URL.
- Provided example models and CRUD operations for seamless integration.
- Includes demonstrations for model persistence, querying, updates, and deletions.
**Example Configuration:**
python
engines.engine_factory.configure_factory(
db_url="postgresql://postgres:password127.0.0.1:5432/ra_tests"
)
class FooModel(models.ModelWithUUID, orm.SQLStorableMixin):
__tablename__ = "foos"
foo_field1 = properties.property(types.Integer(), required=True)
foo_field2 = properties.property(types.String(), default="foo_str")
foo1 = FooModel(foo_field1=10)
foo1.save()
print(list(FooModel.objects.get_all()))
---
- **UTCDateTime Enhancements** (by George Melikov)
Allow setting objects with an explicitly defined UTC timezone.
- **UUID Handling** (by George Melikov)
`UUID.from_simple_type()` now accepts `UUID` objects directly.
---
- **Dependency Updates**
- Bumped `urllib3` to `>=1.26.19,<2.0.0` (Eugene Frolov).
- **Testing Improvements**
- Use latest `pytest` versions (George Melikov).
- Streamlined `tox` configuration with `PACKAGE_NAME` environment variable (George Melikov).
- **Code Formatting**
- Enforce `black` auto-formatting with diff output (George Melikov, Eugene Frolov).
- **Documentation & CI Fixes**
- Corrected URLs for CI indicators and project links (Eugene Frolov).
- Ensured Python version consistency in CI matrices (George Melikov).
---
**Contributors**: Eugene Frolov, George Melikov
**Full Changelog**: See commit history for details.
This release strengthens database versatility, improves type handling, and ensures smoother development workflows. Upgrade now to leverage these updates! 🚀