Releases: dbos-inc/dbos-transact-py
1.0.0
Breaking Changes
- Using
dbos-config.yaml
andConfigFile
for library configuration has been deprecated.load_config
andConfigFile
have been removed from the public interface. Please useDBOSConfig
programmatic configuration instead. Documentation: https://docs.dbos.dev/python/reference/configuration get_dbos_database_url
has been removed from the public interface. Database URLs should be passed into DBOS throughDBOSConfig
programmatic configuration. If you need to access the database URL in DBOS Cloud, use theDBOS_DATABASE_URL
environment variable, which is automatically set there.- The
DBOS.config
getter has been removed from the public interface. dbos migrate
now requires either a--db-url
argument, or a validDBOS_DATABASE_URL
exported in the environment.
New Features
- Queues now support deduplication and prioritization. Documentation here: https://docs.dbos.dev/python/tutorials/queue-tutorial
What's Changed
- Remove Unnecessary Dependency by @kraftp in #324
- add a version cli command by @maxdml in #319
- README Updates by @kraftp in #313
- Support priority in queues by @qianl15 in #320
- Remove Request Info From System Database by @kraftp in #325
- Fix Deactivate by @kraftp in #327
- Support Websocket 14 by @qianl15 in #329
- Pull Docker image if doesn't exists by @qianl15 in #330
- Add prefix to list_workflows_async by @apoliakov in #332
- return workflow_id by @manojdbos in #331
- Deprecate programmatic config file by @maxdml in #326
- Worker Concurrency Fix by @kraftp in #333
- use DBOS_DATABASE_URL in cloud overrides by @maxdml in #334
- Conductor fork workflow support by @qianl15 in #335
- Pass through connection strings by @maxdml in #295
- Increase DLQ Default by @kraftp in #337
- Set Internal Queue in Resume by @kraftp in #338
- fix the hard-coded service name in config_logger by @Cysu in #339
- Test Timeouts by @kraftp in #340
- Adjust threshold of limiter test by @qianl15 in #341
New Contributors
Full Changelog: 0.27.0...1.0.0
0.27.2
0.27.1
0.27.0
Note: This will be the last minor release before the major release of DBOS Python 1.0 next week.
What's Changed
- Expose DBOS tracer in DBOS public interface by @maxdml in #306
- Support arbitrary engine kwargs by @qianl15 in #307
- Expose WorkflowHandleAsync by @kraftp in #309
- Cli use client by @maxdml in #303
- Cli nits by @maxdml in #311
- Fix Admin API by @kraftp in #312
- Main patch 0.26.1 by @qianl15 in #315
- Queue deduplication by @qianl15 in #310
- Improve Fork Semantics by @kraftp in #316
- make is_deactivated a flag of AdminRequestHandler by @maxdml in #318
- Better Exception Serialization by @kraftp in #323
Full Changelog: 0.26.0...0.27.0
0.26.1
What's Changed
New Features
-
Fork workflow from a specific step by @manojdbos in #287
-
DBOS Client cancel_workflow, resume_workflow, list_workflows(_async), list_queued_workflows(_async) by @devhawk in #285
-
List workflows based on a workflow ID prefix by @apoliakov in #298
-
Improve Dead Letter Queue, supporting disabling DLQ with
@DBOS.workflow(max_recovery_attempts=None)
by @kraftp in #300 -
Docker secrets support by @SeanRogan in #276
-
Add dbos postgres start/stop CLI command to manage Docker-based Postgres servers by @maxdml in #286
-
Support user-defined class name in DBOS.dbos_class decorator by @qianl15 in #289
Deprecation Notice
We are moving away from dbos-config.yaml
file and deprecating separate database config fields. Instead, we recommend setting DBOSConfig
through DBOS()
initialization and database_url
.
Bug Fixes/Improvements
- Remove workflow_class_name from enqueueOptions by @devhawk in #277
- Better Lifecycle Logging by @kraftp in #278
- Make Resume and Restart Database Operations by @kraftp in #279
- Don't error in logs when there is no span by @apoliakov in #281
- Add transactions to the list of steps by @manojdbos in #282
- Print a warning for duplicate workflow registration by @qianl15 in #283
- Database-Backed Preempting Cancel by @kraftp in #284
- Fix workflow introspection by @qianl15 in #288
- Background Event Loop by @kraftp in #292
- Fix ambiguous config name by @qianl15 in #294
- Transactional workflow init by @qianl15 in #296
- List workflows and queues in a single query by @qianl15 in #299
- Add DBOSBaseException that should not be caught by user code. by @kraftp in #291
- Remove Potentially Spurious Warning by @maxdml in #305
- Export SetWorkflowTimeout by @qianl15 in #314
New Contributors
- @SeanRogan made their first contribution in #276
Full Changelog: 0.25.0...0.26.1
0.25.0
What's Changed
- Add a DBOS.step_id variable to the public API by @kraftp in #254
- Add List steps by @manojdbos in #259
- Add DBOS.retrieve_workflow_async + tests by @devhawk in #262
- Explicit DBOS Launch in Template by @kraftp in #263
- Improved Introspection by @kraftp in #264
- Record get_result as a step by @kraftp in #267
- List Steps Conductor by @kraftp in #270
- Remove workflow buffers by @qianl15 in #271
- Decorate Python logs with Workflow UUID and Trace ID by @apoliakov in #274
- DBOS Client by @devhawk in #265
Bug fixes
- DB Wizard: longer connection timeout, log error by @qianl15 in #255
- only overwrite ssl CA if provided by the file by @maxdml in #256
- Handle KeyboardInterrupts During Retries by @kraftp in #261
- Support Pyright by @kraftp in #266
- Warn if resetting DB on a null object by @apoliakov in #268
- Fix for handling error and output field in steps by @manojdbos in #272
Full Changelog: 0.24.0...0.25.0
0.24.0
What's Changed
- Support configuration through DBOS constructor by @maxdml in #236
- Add connection timeout + fix scheduler not handling errors by @qianl15 in #237
- Fix FastAPI Debugging by @devhawk in #238
- Better Conductor error message by @qianl15 in #239
- Websocket check pending workflows by @qianl15 in #240
- Test + Improve Step Retries by @kraftp in #243
- Config pool sizes by @maxdml in #242
- Support error message in conductor by @qianl15 in #245
- Improve Config Experience by @kraftp in #244
- Fix Spurious Warning by @kraftp in #247
- Unpin FastAPI CLI by @kraftp in #249
- add start_workflow_async by @devhawk in #248
- Conductor Tweaks by @kraftp in #251
- Allow multiple logs and traces endpoints in the python DBOSConfig. by @apoliakov in #250
- Enable websocket logging by @qianl15 in #252
New Contributors
- @apoliakov made their first contribution in #250
Full Changelog: 0.23.0...0.24.0
0.23.0
What's Changed
- Real workflow cancel by @manojdbos in #218
- Consistent Environment Variables by @kraftp in #224
- Always set executor ID correctly when starting a workflow by @qianl15 in #225
- make cancel use admin api by @manojdbos in #228
- Improve List Workflows by @kraftp in #229
- (fix) Update path to start_postgres_docker.py by @skuenzli in #230
- Fix invalid escape sequence by @chuck-dbos in #227
- Sort Order When Listing Workflows by @kraftp in #231
- Debug Mode by @devhawk in #222
- Fix race conditions with clear_queue_assignment by @maxdml in #232
- Conductor Support by @kraftp in #223
- Simplify Recovery Code by @kraftp in #234
- Get Workflow by @kraftp in #233
- Use the same column to manage queue executor_id by @maxdml in #235
New Contributors
Full Changelog: 0.22.0...0.23.0
0.22.0
What's Changed
- Expand Support for Decorating Class Methods by @kraftp in #212
- Automatic Application/Workflow Versioning by @kraftp in #215
- Catch Exceptions During System Database Migration by @kraftp in #210
- Fix q global concurrency by @maxdml in #211
- Fix the warning message under fastapi dev runs by @qianl15 in #213
- Fix db_wizard behavior and add a test by @qianl15 in #216
- add an admin endpoint to query workflow queues metadata by @maxdml in #196
- Fix wf status updated at by @maxdml in #217
- Fix db_wizard when dbos-config has no database by @qianl15 in #219
- Check for conflicting decorators - Py version by @chuck-dbos in #220
- Fix Auth by @kraftp in #221
Full Changelog: 0.21.0...0.22.0
0.21.0
What's Changed
- Add a test for SQLAlchemy ORM by @qianl15 in #199
- remove explicit notion of recovery by @maxdml in #198
- Update Workflow Status by @kraftp in #201
- Test & Improve Queue Semantics by @kraftp in #202
- Queue List by @kraftp in #205
- Fix queue recovery by @maxdml in #204
- Consistent Sort Order by @kraftp in #207
Full Changelog: 0.20.0...0.21.0