6.0.0
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
andDatabaseSessionDependency.initialize
as a PydanticSecretStr
. - Add new function
safir.datetime.parse_timedelta
, which parses a human-friendly syntax for specifying time durations into a Pythondatetime.timedelta
. - Add support for
gs
URLs tosafir.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 toRedisArqQueue.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