Overview
This release includes important features that get us closer to the goal of full distributed async/await. It includes the implementation of Resonate's recovery and coordination protocols in the form of the router and sender subsystems, as well as better handling of tasks and callbacks. The project continued to grow its community, welcoming one new contributor @TusharMohapatra07 who brought Tasks CLI support for operations like claiming, completing, and managing heartbeats.
The version 0.7.0 marks significant progress in the project's development, with major improvements across multiple areas of the system. The team has focused on enhancing the tasks system, introducing Tasks v2 with more robust management and Tasks CLI support for critical operations like claiming, completing, and managing heartbeats. The introduction of root promise-based task completion represents a sophisticated approach to task tracking and management.
Infrastructural improvements are notable, with the addition of new subsystems including a router, sender, and a poll plugin. The team has also worked on refactoring the AIO subsystem and configuration, improving the overall system architecture. Support for PostgreSQL store and expanded architecture support with arm64 were key technical advancements.
Lastly, this release also saw improvements in error handling, OpenAPI specification updates, and several dependency upgrades.
What's Changed
- Cleanup by @dfarr in #368
- Tasks v2 by @dfarr in #375
- Implement postgres store readpromises by @dfarr in #380
- Refactor aio subsystem and config by @dfarr in #388
- build(deps): bump github.com/prometheus/client_golang from 1.19.1 to 1.20.2 by @dependabot in #389
- Change Slack link to Discord invite link by @flossypurse in #407
- Create callback request returns 200 by @dfarr in #406
- Refactor errors by @dfarr in #409
- Update release workflow to support arm64 by @dfarr in #417
- Add router and sender subsystems by @dfarr in #405
- Add poll plugin by @dfarr in #425
- build(deps): bump github.com/mattn/go-sqlite3 from 1.14.22 to 1.14.23 by @dependabot in #413
- build(deps): bump github.com/go-playground/validator/v10 from 10.22.0 to 10.22.1 by @dependabot in #414
- build(deps): bump github.com/prometheus/client_golang from 1.20.2 to 1.20.4 by @dependabot in #426
- build(deps): bump google.golang.org/grpc from 1.65.0 to 1.67.0 by @dependabot in #427
- build(deps): bump DeterminateSystems/nix-installer-action from 13 to 14 by @dependabot in #420
- build(deps): bump DeterminateSystems/flake-checker-action from 8 to 9 by @dependabot in #421
- build(deps): bump DeterminateSystems/magic-nix-cache-action from 7 to 8 by @dependabot in #422
- Rename fields to ttl by @dfarr in #432
- Update openapi spec by @dfarr in #433
- Remove required for timeout and ttl fields by @dfarr in #437
- Add default logical receiver to sender subsystem by @dfarr in #438
- Ignore 429 and make sure msgs have been processed by @Tomperez98 in #440
- build(deps): bump google.golang.org/grpc from 1.67.0 to 1.67.1 by @dependabot in #434
- add claim, complete and heartbeat tasks to cli by @TusharMohapatra07 in #443
- build(deps): bump google.golang.org/protobuf from 1.34.2 to 1.35.1 by @dependabot in #441
- build(deps): bump github.com/mattn/go-sqlite3 from 1.14.23 to 1.14.24 by @dependabot in #442
- build(deps): bump github.com/prometheus/client_golang from 1.20.4 to 1.20.5 by @dependabot in #445
- build(deps): bump go.uber.org/mock from 0.4.0 to 0.5.0 by @dependabot in #444
- Replace task counter from 0 to 1 when creating promise with task by @avillega in #447
- Enqueue one task per root_promise_id by @avillega in #448
- Revert "Enqueue one task per root_promise_id" by @avillega in #457
- Enqueue one task per root by @avillega in #458
- Move Backchannel validation to its own file and set of functions by @avillega in #471
- Complete tasks based on root promise by @avillega in #470
- Avillega/deduplicate callbacks by @avillega in #478
- Add id to callbacks in openapi spec by @dfarr in #485
New Contributors
- @flossypurse made their first contribution in #407
- @Tomperez98 made their first contribution in #440
- @TusharMohapatra07 made their first contribution in #443
- @avillega made their first contribution in #447
Full Changelog: v0.6.0...v0.7.0