Releases: dbos-inc/dbos-transact-py
1.3.0
What's Changed
Note
This release includes a key schema update that improves performance for both queues and workflows. We've merged dbos.workflow_inputs and dbos.workflow_queue tables into a unified dbos.workflow_status table.
Please make sure that if you upgrade your app, also upgrade your DBOS client (and vice versa). Applications running with older versions can co-exist with the new schema.
Details
- Fix Recv by @kraftp in #358
- Increase thread pool by @qianl15 in #359
- Faster Queues by @kraftp in #361
- Small Queue Optimization by @kraftp in #362
- Fix Error Handling by @kraftp in #363
- Fix broken doc link by @qianl15 in #365
- Consolidate Inputs by @kraftp in #366
- Fix Spurious Warning by @kraftp in #367
- Attach DBOS metadata to logs whether OTEL is specified or not by @apoliakov in #368
Full Changelog: 1.2.0...1.3.0
1.2.0
What's Changed
- Handling Database Disconnections by @kraftp in #348
- Fork admin new_workflow_id and appversion by @manojdbos in #347
- Make sure the event loop has a large enough thread pool by @qianl15 in #349
- Remove dbos-config.yaml Consistency Check by @kraftp in #351
- Simplify Dequeue by @kraftp in #350
- Fix Executor ID Assignment by @kraftp in #353
- remove set_env_var by @maxdml in #354
- validate db url in client ctor and in CLI by @maxdml in #355
- Tweak Chaos Test Parameters by @kraftp in #357
Full Changelog: 1.1.0...1.2.0
1.1.0
What's Changed
- DBOS Client should not run migrations by @qianl15 in #343
- Fix:
dbos inituses incorrect app name for GitHub templates by @tahsintunan in #344 - Support concurrent recv and get_event by @qianl15 in #345
- Fix Queue Timeout by @kraftp in #346
New Contributors
- @tahsintunan made their first contribution in #344
Full Changelog: 1.0.0...1.1.0
1.0.0
Breaking Changes
- Using
dbos-config.yamlandConfigFilefor library configuration has been deprecated.load_configandConfigFilehave been removed from the public interface. Please useDBOSConfigprogrammatic configuration instead. Documentation: https://docs.dbos.dev/python/reference/configuration get_dbos_database_urlhas been removed from the public interface. Database URLs should be passed into DBOS throughDBOSConfigprogrammatic configuration. If you need to access the database URL in DBOS Cloud, use theDBOS_DATABASE_URLenvironment variable, which is automatically set there.- The
DBOS.configgetter has been removed from the public interface. dbos migratenow requires either a--db-urlargument, or a validDBOS_DATABASE_URLexported 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