<!-- PRs into main are released as soon as they are merged. Their descriptions will be used directly to create release notes, so make sure they contain everything! -->
<!-- Anything added between the auto-generation marker comments will be replaced on every pushed commit, so make sure to add anything you want to add outside of them. -->
<!-- However, any part of the final PR description (i.e. the description at the point of the final commit to the PR) can be changed in release notes after release if required -->
<!-- Change "START" to "SKIP" in the autogeneration marker to stop any further automatic changes to the description. --->
<!--- START AUTOGENERATED NOTES --->
Contents ([71](https://github.com/octue/django-gcp/pull/71))
**IMPORTANT:** There is 1 breaking change.
Fixes
- Use newer accessor for django settings
- 💥 **BREAKING CHANGE:** Avoid circular import of StreamHandler in some python environments
- Correctly parameterise tox dependency installation
- FFS
- Tighten django ranges
Operations
- Update devcontainer onto latest stack
- Fail slow on matrix so we can detect problems with specific builds
- Update tox versions
- Remove unused tox-poetry plugin
- Enable testing using example buckets in GitHub Actions, via WIF
- Refine test matrix, remove tox-factor, no longer required in tox 4
- Add credentials generation for Workload Identity Federation
- Try to get poetry to install dev dependencies
- Ditch the tox bitch
- Fix the pre-commit run
- Remove pre-commit-sphinx local install for use on GHA
- Exclude invalid python-django combinations
- Skip pre-commit checks invalid for GHA
- Bump version
- Add django env vars
- Add application credentials to environment
- Temporarily constrain django version
- Add a check-main-merge test
- Simplify merge check
- Update cache to a non-deprecated node runner
- Change order of publish-test so it appears above long test matrix
- Update cache action version
- Rename job for clarity
Dependencies
- Widen python and django tested versions
- Restrict django 5.1 until STORAGES problem solved
- Update lockfile
- Remove django 3 support
Testing
- Patch the error reporting emitter
- Remove now-unused tox file
- Avoid utc import from django timezone
Style
- Fix all linting problems
Other
- Toward allowing ci to run on push to main
---
Upgrade instructions
<details>
<summary>💥 <b>Avoid circular import of StreamHandler in some python environments</b></summary>
The django_gcp.logging module has been renamed to django_gcp.logs because some python environments (eg installed in tox) don't resolve the import order in the same way, so mistake django_gcp.logging for the inbuilt python logging module. To overcome this, users of the structured logging or error reporting handlers must update their handler classes to 'django_gcp.logs.GoogleStructuredLogsHandler' and 'django_gcp.logs.GoogleErrorReportingHandler' from the previous 'django_gcp.logging.<handler>'
</details>
<!--- END AUTOGENERATED NOTES --->