Skip to content

2.0.0

Compare
Choose a tag to compare
@rra rra released this 10 Jun 21:44
· 147 commits to main since this release
2.0.0
b923977

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 the storage.legacyBucketWriter role in addition to storage.objectViewer.

New features

  • Add support for gs storage URLs in addition to s3 storage URLs. When a gs 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