Skip to content

6.0.0

Compare
Choose a tag to compare
@rra rra released this 10 Jun 21:04
· 273 commits to main since this release
6.0.0
e462eea

Backwards-incompatible changes

  • Drop safir.database.create_sync_session. This was only used by services that used Dramatiq for task management, since Dramatiq is sync-only. Services based on Safir should switch to arq and use only async database connections.
  • Drop DatabaseSessionDependency.override_engine. This was used for Gafaelfawr to share a database engine across all tests for speed, but this technique breaks with current versions of pytest-asyncio and is no longer used or safe to use.

New features

  • Allow the database password to be passed to create_database_engine and DatabaseSessionDependency.initialize as a Pydantic SecretStr.
  • Add new function safir.datetime.parse_timedelta, which parses a human-friendly syntax for specifying time durations into a Python datetime.timedelta.
  • Add support for gs URLs to safir.gcs.SignedURLService.
  • Support pickling of SlackException so that subclasses of it can be thrown by arq workers and unpickled correctly when retrieving results.

Bug fixes

  • Correctly honor the default_queue_name argument to RedisArqQueue.initialize.

What's Changed

  • Update and adjust for dependencies by @rra in #244
  • Fix exception logging test by @rra in #245
  • DM-44444: Allow database passwords to be SecretStrs by @rra in #246
  • DM-44444: Add parse_timedelta function to parse durations by @rra in #247
  • DM-44444: Update to latest tox-docker by @rra in #248
  • DM-44444: Remove version cap on structlog by @rra in #249
  • DM-44444: Use Python 3.12 for GitHub actions by @rra in #250
  • DM-44606: Allow SecretStr in DatabaseSessionDependency by @rra in #251
  • DM-44606: Fix ArqQueue.enqueue parameter documentation by @rra in #253
  • DM-44606: Fix default_queue_name in RedisArqQueue by @rra in #254
  • DM-44606: Support gs URLs in SignedURLService by @rra in #255
  • DM-44606: Drop DatabaseSessionDependency.override_engine by @rra in #252
  • DM-44720: Support pickling of SlackException by @rra in #256
  • Update kubernetes-asyncio requirement from <30 to <31 by @dependabot in #257
  • DM-44758: Drop safir.database.create_sync_session by @rra in #258
  • DM-44758: Prepare 6.0.0 release by @rra in #259

Full Changelog: 5.2.2...6.0.0