Releases: cschleiden/go-workflows
v0.19.0
What's Changed
Features
- Support custom expiration for continue-as-new workflows by @cschleiden in #316
- Include workflow instance and task id for task errors by @cschleiden in #320
- Support key prefix for redis backend by @cschleiden in #324
- Make retry # available for activity execution by @cschleiden in #327
- Allow access to activity mock by @cschleiden in #334
- Enable other cache implementations by @cschleiden in #336
- Add support for workflow and activity queues by @cschleiden in #351
- Support removing ContinuedAsNew instances immediately by @cschleiden in #364
- Improve tracing by @cschleiden in #365
- Support removing workflow instances by @cschleiden in #354
- Support auto-expiration for all backends by @cschleiden in #361
Enhancements
- Expose GetWorkflowInstanceState from client by @cschleiden in #346
- Stop subworkflow/activity retries sooner by @cschleiden in #337
Bugfixes
- Don't set capacity when creating buffered channel by @cschleiden in #310
- Ensure coroutines exit cleanly by @cschleiden in #311
- Do not deadlock with deferred Yield by @cschleiden in #312
- Start cache eviction by @cschleiden in #313
- Remove historyId by @cschleiden in #326
- Context and channel improvements by @cschleiden in #330
- Fix waitgroup when waiting after Done by @cschleiden in #331
- Fix incorrect tasklogger by @cschleiden in #333
- Fix mysql pagination by @cschleiden in #344
- Send group name as arg by @cschleiden in #347
- Use prefix when checking for future events by @cschleiden in #332
Other
- Add docs for expiration by @cschleiden in #362
- define redis globals for vscode lua language server diagnostics by @decibelcooper in #318
- Add docs site by @cschleiden in #295
- Pass workflow events as pointers by @cschleiden in #348
Full Changelog: v0.18.5...v0.19.0
v0.18.5
What's Changed
Other Changes
- Always log workflow instance and execution id from executor by @cschleiden in #306
- Do not panic at runtime for pending futures by @cschleiden in #307
- Fix timer cancel race by @cschleiden in #308
- Remove remaining panics by @cschleiden in #309
Full Changelog: v0.18.4...v0.18.5
v0.18.4
What's Changed
Bugfixes
- Keep ReplayHandler when using With or WithGroup by @cschleiden in #305
Full Changelog: v0.18.3...v0.18.4
v0.18.3
What's Changed
Feature
- Track pending futures with a name by @cschleiden in #303
Full Changelog: v0.18.2...v0.18.3
v0.18.2
What's Changed
Other Changes
- Bring back the tester interface by @cschleiden in #301
Full Changelog: v0.18.1...v0.18.2
v0.18.1
What's Changed
Bugfixes
- Make the registry package public by @cschleiden in #299
Other changes
- Remove
tester
interface and improve comments by @cschleiden in #300
Full Changelog: v0.18.0...v0.18.1
v0.18.0
🎉 A packed release with lots of features, bugfixes and performance improvements. Big thanks to the new contributors 🙇
What's Changed
Breaking Changes / Features
- Use golang-migrate for schema migrations for SQL backends by @cschleiden in #261
- Use mediumblob for mysql attributes by @cschleiden in #264
- Execute workflows by (custom) name by @cschleiden in #294
- Explicitly evict finished workflow instances from cache by @cschleiden in #278
- Add pending workflow tasks metric to stats interface by @cschleiden in #279
- Prevent multiple active instances with the same id by @cschleiden in #288
Performance
- Store event payloads in separate key by @cschleiden in #273
- Sqlite: store payloads/attributes in separate table by @cschleiden in #267
- Move mysql attributes to separate table by @cschleiden in #275
Bugfixes
- Fix activity heartbeat by @cschleiden in #269
- Follow up fix for activity task extension by @cschleiden in #271
- Ignore polling interval for redis backend by @cschleiden in #277
- fix: redis diagnostics panic by @decibelcooper in #287
- Use correct key for checking whether an instance exists by @cschleiden in #292
- Track newly created instances correctly by @cschleiden in #297
- Delete and expire event payloads by @cschleiden in #289
Other Changes
-
Unify worker code by @cschleiden in #274
-
Use HASH for event payloads by @cschleiden in #286
-
Run activities in parallel for
concurrent
sample by @cschleiden in #257 -
Enable large benchmark for workflow by @cschleiden in #266
-
Upgrade test-summary action by @cschleiden in #276
-
Fix flags for scale sample by @cschleiden in #281
-
Fix some linting errors by @cschleiden in #290
-
Refactor workflow instance creation by @cschleiden in #293
New Contributors
- @decibelcooper made their first contribution in #287
Full Changelog: v0.17.0...v0.18.0
v0.17.0
What's Changed
Breaking Changes
- Adopt slog.Logger instead of custom logger implementation by @cschleiden in #230
Features
- Make polling interval configurable by @lovromazgon in #239
- use Go native SQLite driver by @vroldanbet in #242
- Monoprocess backend by @lovromazgon in #240
- Register workflow and activity with name by @lovromazgon in #245
Bugfixes
- Fix continueAsNew race condition for sql backends by @cschleiden in #233
- Improve flaky redis unit tests by @cschleiden in #255
- do not silently ignore errors in ActivityWorker.poll by @vroldanbet in #252
Other Changes
- Upgrade go to 1.21 by @cschleiden in #229
- Typo in README.md by @hariso in #231
- Ensure log values have keys in samples by @cschleiden in #234
- Update analyzer linter signature by @lovromazgon in #241
- Remove internal package usage from
Backend
interface by @cschleiden in #246 - Improve code organization /2 by @cschleiden in #250
- uses monoprocess backend for bench by @vroldanbet in #253
New Contributors
- @hariso made their first contribution in #231
- @lovromazgon made their first contribution in #241
- @vroldanbet made their first contribution in #242
Full Changelog: v0.16.2...v0.17.0
v0.16.2
v0.16.1
What's Changed
Features
- Expose simple backend stats for active instances/activities by @cschleiden in #218
Bugfixes
Other changes
Full Changelog: v0.16.0...v0.16.1