Release Notes¶
v1.0.0¶
- π¦ PyPI - Build 1.0.0
- βοΈ Feature: on_input_change policy for resume workflows (#281)
- βοΈ Feature: Managed DotFlow with name, idempotent start, and CLI cleanup (#269)
- βοΈ Feature: Add dotflow login with device flow and config file (#269)
- βοΈ Feature: Add --resume flag to dotflow start CLI (#267)
- βοΈ Feature: Add --workflow flag to dotflow start (#259)
- βοΈ Feature: Managed-mode ServerAPI provider and task numbering (#257)
- βοΈ Feature: Use background threads for non-blocking server updates (#243)
- βοΈ Feature: Improve model_dump_json truncation strategy (#252)
- πͺ² Bug: Honour WORKFLOW_ID env var in DotFlow constructor (#264)
- πͺ² Bug: Fix entry point separator to use module.path:attribute format (#262)
- πͺ² Bug: Fix TimeoutError not caught on Python 3.9/3.10 (#245)
- πͺ² Bug: Fix ServerDefault update_task payload and add sequential_group docs (#241)
- β οΈ Security: Patch 12 Dependabot security vulnerabilities
- π Docs: Change license from MIT to Apache-2.0 (#255)
v0.15.0¶
- π¦ PyPI - Build 0.15.0
- πͺ² Bug: _serialize_context crashes when storage is a list of non-Context objects
- πͺ² Bug: _crontab_to_aws generates invalid EventBridge cron β */N not supported
- βοΈ Feature: Add Alibaba Cloud Function Compute deployer
- βοΈ Feature: Implement Server provider for remote API communication
- βοΈ Feature: dotflow deploy CLI β cross-cloud infrastructure generation
- βοΈ Feature: Add warning/debug log levels and workflow-level logging to Log ABC
- βοΈ Feature: OpenTelemetry integration β traces and spans per workflow/task
- π Remove external dotflow-mongodb package references
- βοΈ Refactor: Separate Engine from Execution Strategy
- β οΈ Security: Remove shell injection vulnerability in write_file_system
- πͺ² Bug: Parallel strategy still uses Execution instead of TaskEngine
- πͺ² Bug: StorageFile.get() returns empty list for missing keys β breaks resume=True
- πͺ² Bug: StorageDefault uses ctypes.cast(id) β unsafe memory access
- πͺ² Bug: traceback_error() ignores error parameter β uses sys.exc_info()
- πͺ² Bug: SerializerTask.model_dump_json() mutates self and produces truncated invalid JSON
- πͺ² Bug: Async task execution creates new event loops with asyncio.run()
- πͺ² Bug: Module class uses spec_from_file_location instead of importlib.import_module
- πͺ² Bug: StorageFile.post() crashes with AttributeError on corrupted task files
- πͺ² Bug: InitCommand uses hardcoded TEMPLATE_REPO instead of Settings constant
- πͺ² Bug: CLI --storage s3/gcs crashes with TypeError β missing required bucket argument
- πͺ² Bug: Context setters silently ignore invalid values
- πͺ² Fix PR #202 review issues β duration, executor leak, checkpoint, docstring
- πͺ² Fix deploy scheduled platforms, add ECSScheduledDeployer and ScheduleResolver
v0.14.1¶
- π¦ PyPI - Build 0.14.1
- πͺ² Fix co_varnames to only include parameters, not local variables
- πͺ² Fix method ordering to use regex matching instead of string search
- πͺ² Fix fork multiprocessing on macOS with OBJC safety flag
- πͺ² Fix timeout thread leak in ThreadPoolExecutor
- πͺ² Add thread-safe lock to Background list append
- πͺ² Fix race condition in queue overlap dispatch
- πͺ² Track and join spawned threads on scheduler stop
- πͺ² Save and restore signal handlers on scheduler start/stop
- β οΈ Update vulnerable dependencies
- π Add NotifyDiscord provider
v0.14.0¶
- π¦ PyPI - Build 0.14.0
- π Workflow scheduler β cron-based recurring execution
- π Workflow observability β task.errors and retry tracking
- π Checkpoint-based durable state (resume from failure)
- π StorageS3 provider for AWS S3 persistence
- π StorageGCS provider for Google Cloud Storage persistence
- π Rewrite dotflow init with interactive cookiecutter template
- π Async/await support for actions
- π Thread-safety in Action retry and task status RETRY
- πͺ² Fix backoff mutating retry_delay permanently across calls
- π Fix documentation gaps β incorrect references, missing parameters
v0.13.2¶
- π¦ PyPI - Build 0.13.2
- πͺ² BUG: Fix Background mode results unreliable
- πͺ² BUG: Fix busy-wait loop and enable multiprocessing on macOS
- πͺ² Fix typo in workflow filename and export WorkflowStatus
- πͺ² Fix typo _excution β _execution in execution.py
- πͺ² Fix TaskBuilder.add() return type annotation
- β¬οΈ Configure PyPI publish workflows with OIDC
v0.13.1¶
v0.13.0¶
- π¦ PyPI - Build 0.13.0
- π Action with timeout, retry_delay and backoff
- π Notification with Telegram
v0.12.0¶
v0.11.1¶
v0.11.0¶
v0.10.0¶
v0.9.1¶
v0.9.0¶
v0.8.2¶
v0.8.1¶
v0.8.0¶
v0.7.0¶
v0.6.0¶
v0.5.0¶
v0.4.1¶
v0.4.0¶
- π¦ PyPI - Build 0.4.0
- π Improvement of the API to start the workflow task
- π Improved API interface for decorators
- π Improvement unit tests