2.0.0
Backwards-incompatible changes
- Change the job queuing system from Dramatiq to arq. This change should be transparent to users when creating new jobs, but any in-progress jobs at the time of the upgrade will be orphaned.
- Use workload identity for all authentication when deployed on Google Cloud. Separate service account keys are no longer required or used. The
vo-cutouts
Google service account now requires thestorage.legacyBucketWriter
role in addition tostorage.objectViewer
.
New features
- Add support for
gs
storage URLs in addition tos3
storage URLs. When ags
storage URL is used, the image cutout backend will use the Google Cloud Storage Python API to store the results instead of boto, which will work correctly with workload identity. - Catch the error thrown when the cutout has no overlap with the specified image and return a more specific error message to the user.
- Add support for sending Slack notifications for uncaught exceptions in route handlers.
- Add support for sending Slack notifications for unexpected errors when processing cutout jobs.
- If the backend image processing code fails with an exception, include a traceback of that exception in the detail portion of the job error.
Bug fixes
- Queuing a job for execution in the frontend is now async and will not block the event loop, which may help with performance under load.
- Report fatal (not transient) errors on backend failures. We have no way of knowing whether a failure will go away on retry, so make the conservative assumption that it won't.
What's Changed
- Bump python from 3.12.2-slim-bookworm to 3.12.3-slim-bookworm by @dependabot in #160
- DM-44606: Update dependencies and tox-docker by @rra in #161
- DM-44606: Change passwords to SecretStr by @rra in #162
- DM-44606: Convert to arq by @rra in #163
- DM-44606: Drop pydantic-settings from worker, add timeout by @rra in #164
- DM-44720: Add Slack reporting of uncaught exceptions by @rra in #165
- DM-44720: Improve serialization of task errors by @rra in #166
- DM-44720: Report unexpected errors from backend processing by @rra in #167
- Bump python from 3.12.3-slim-bookworm to 3.12.4-slim-bookworm by @dependabot in #168
- DM-44606: Prepare 2.0.0 release by @rra in #169
Full Changelog: 1.1.1...2.0.0