Releases: resonatehq/resonate
v0.7.8
Overview
This release focuses on making DST scalable by changing the partitioning scheme for the linearizability checks. This was a bigger change that enabled DST to test the interactions between tasks and promises.
There are some new features. The HTTPS API now supports CORS, and the ability for a client to drop a task, which will allow clients to release tasks when they can no longer make progress on them and are not ready to complete them.
PRs
- Add more space for errors... by @avillega in #552
- DST horizontal partitioning by @avillega in #556
- Make DST run every 20 mins by @avillega in #565
- build(deps): bump golang.org/x/net from 0.34.0 to 0.36.0 by @dependabot in #564
- go 1.23 by @avillega in #566
- Reorganize the dst html tooltip table by @dfarr in #583
- DST Fix by @avillega in #584
- Fix semgrep warnings by @avillega in #585
- DST fixes related to timeouts and callbacks with promiseId==rootId by @avillega in #604
- Remove magic-nix-cache-action by @lucperkins in #640
- Update github actions by @avillega in #662
- Return when root promise does not exists for claim or complete tasks by @avillega in #668
- Add string for StatusCallbackInvalidPromise by @dfarr in #673
- Support cors in api subsystem and poll plugin by @dfarr in #675
- Remove nix by @dfarr in #676
- build(deps): bump github.com/prometheus/client_golang from 1.20.5 to 1.22.0 by @dependabot in #639
- build(deps): bump github.com/spf13/cobra from 1.8.1 to 1.9.1 by @dependabot in #547
- build(deps): bump github.com/anishathalye/porcupine from 1.0.0 to 1.0.2 by @dependabot in #554
- build(deps): bump google.golang.org/grpc from 1.70.0 to 1.72.0 by @dependabot in #659
- Remove nix files by @dfarr in #677
- Update jwt dependency by @dfarr in #678
- Feature: drop tasks by @avillega in #682
- Merge create callback and create subscrition by @dfarr in #681
Full Changelog: v0.7.6...v0.7.8
Resonate v0.7.6
New Contributors
- @muhammad-asghar-ali made their first contribution in #54. Adding project scaffolding to the resonate CLI. Thanks @muhammad-asghar-ali
Overview
- This release includes the suscriptions API that will enable the sdk to trigger remote top level executions and deferred.
- New cli command to initialize a Resonate project
What's Changed
- Add notifications api by @avillega in #531
- Add type to the message sent by the sender subsystem by @avillega in #535
- build(deps): bump google.golang.org/protobuf from 1.36.1 to 1.36.3 by @dependabot in #534
- Rename notify to subscriptions by @avillega in #536
- Send to exact match only when notify in poller by @dfarr in #537
- Allow task ttl to be set to 0 by @Tomperez98 in #543
- chore(port): expose port for poller by @muhammad-asghar-ali in #542
- build(deps): bump google.golang.org/protobuf from 1.36.3 to 1.36.5 by @dependabot in #544
- build(deps): bump google.golang.org/grpc from 1.69.2 to 1.70.0 by @dependabot in #539
- build(deps): bump DeterminateSystems/magic-nix-cache-action from 8 to 9 by @dependabot in #541
- build(deps): bump golang.org/x/net from 0.30.0 to 0.33.0 by @dependabot in #527
- build(deps): bump github.com/go-playground/validator/v10 from 10.23.0 to 10.24.0 by @dependabot in #528
- feat(cli): project template scaffold cli command by @muhammad-asghar-ali in #533
- Cleanup projects cli command by @dfarr in #545
Full Changelog: v0.7.2...v0.7.6
Resonate v0.7.2
Overview
- Small changes in the "CreatePromiseAndTask" api to make consistent with how we create tasks based on the promises tags.
- DST fixes and deps updates.
What's Changed
- Remove CreatePromiseAndCallback request by @avillega in #488
- [fix]: Resolve string receiver in sender subsystem (#467) by @TusharMohapatra07 in #495
- build(deps): bump codecov/codecov-action from 4 to 5 by @dependabot in #466
- build(deps): bump DeterminateSystems/nix-installer-action from 14 to 16 by @dependabot in #465
- build(deps): bump github.com/go-playground/validator/v10 from 10.22.1 to 10.23.0 by @dependabot in #463
- build(deps): bump google.golang.org/protobuf from 1.35.1 to 1.35.2 by @dependabot in #464
- build(deps): bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by @dependabot in #473
- build(deps): bump golang.org/x/crypto from 0.26.0 to 0.31.0 by @dependabot in #497
- build(deps): bump google.golang.org/grpc from 1.67.1 to 1.69.0 by @dependabot in #496
- build(deps): bump github.com/anishathalye/porcupine from 0.1.6 to 1.0.0 by @dependabot in #472
- Log non linearizable path when linearization check fails by @dfarr in #498
- Add callback command by @dfarr in #499
- Fix callback cli message when promise is already completed by @dfarr in #503
- build(deps): bump google.golang.org/protobuf from 1.35.2 to 1.36.1 by @dependabot in #504
- Fix http plugin content type header by @dfarr in #509
- Remove Recv from create task request by @avillega in #512
- Pad ids with zeros to help with lexographical ordering in dst by @dfarr in #511
- Update open api spec by @avillega in #515
- Remove printing of a struct with a pointer in it by @avillega in #522
- build(deps): bump google.golang.org/grpc from 1.69.0 to 1.69.2 by @dependabot in #505
Full Changelog: v0.7.0...v0.7.2
Resonate v0.7.0
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
Resonate v0.6.0
Release Notes - Version 0.6.0
Overview
This release introduces support for multiple basic auth username/password combos. Thank you @hkiiita!!!
Note: this change requires updating the format of resonate.yml
if basic auth is configured, auth is now an object of username password combos.
api:
subsystems:
http:
auth:
username1: password1
username2: password2
What's Changed
- build(deps): bump google.golang.org/grpc from 1.63.2 to 1.64.0 by @dependabot in #339
- fix(lint): making the lint gods happy by @guergabo in #341
- feat(back-channel): verify the task submissions by @guergabo in #338
- build(deps): bump github.com/spf13/viper from 1.18.2 to 1.19.0 by @dependabot in #344
- build(deps): bump google.golang.org/protobuf from 1.34.1 to 1.34.2 by @dependabot in #348
- build(deps): bump github.com/go-playground/validator/v10 from 10.20.0 to 10.22.0 by @dependabot in #349
- build(deps): bump github.com/spf13/cobra from 1.8.0 to 1.8.1 by @dependabot in #350
- build(deps): bump github.com/go-chi/chi/v5 from 5.0.12 to 5.0.14 by @dependabot in #353
- Basic Auth for multiple users. by @hkiiita in #352
- build(deps): bump google.golang.org/grpc from 1.64.0 to 1.65.0 by @dependabot in #355
- build(deps): bump github.com/go-chi/chi/v5 from 5.0.14 to 5.1.0 by @dependabot in #354
- gocoro refactor by @dfarr in #356
- build(deps): bump docker/build-push-action from 5 to 6 by @dependabot in #351
- build(deps): bump DeterminateSystems/magic-nix-cache-action from 6 to 7 by @dependabot in #347
- build(deps): bump DeterminateSystems/flake-checker-action from 7 to 8 by @dependabot in #346
- build(deps): bump DeterminateSystems/nix-installer-action from 11 to 13 by @dependabot in #367
- Fix ticks in DST workflow by @dfarr in #369
- Set correct CompletePromise response code by @dfarr in #374
New Contributors
Full Changelog: v0.5.6...v0.6.0
Resonate v0.5.6
Release Notes - Version 0.5.6
Overview
This release introduces versioning to the CLI.
New Features
- Added support for versioning in the CLI.
What's Changed
- feat(version): add version information to cli by @guergabo in #336
- Bump version to 0.5.6 by @guergabo in #337
Full Changelog: v0.5.5...v0.5.6
Resonate v0.5.5
Release Notes - Version 0.5.5
Overview
This release introduces a few dependency bumps and a fix in the postgres AIO store.
Bug Fixes
- Fixed an issue where the timeout promises query, for the postgres AIO store only, was not properly setting the
completed_on
column.
What's Changed
- build(deps): bump DeterminateSystems/flake-checker-action from 5 to 7 by @dependabot in #317
- build(deps): bump DeterminateSystems/magic-nix-cache-action from 4 to 6 by @dependabot in #316
- build(deps): bump DeterminateSystems/nix-installer-action from 10 to 11 by @dependabot in #315
- build(deps): bump github.com/prometheus/client_golang from 1.19.0 to 1.19.1 by @dependabot in #318
- build(deps): bump github.com/go-playground/validator/v10 from 10.19.0 to 10.20.0 by @dependabot in #310
- build(deps): bump google.golang.org/protobuf from 1.33.0 to 1.34.1 by @dependabot in #309
- build(deps): bump golang.org/x/net from 0.21.0 to 0.23.0 by @dependabot in #296
- fix(dependabot): added proper pattern matching for dependabot branches by @guergabo in #334
- build(deps): bump github.com/gin-gonic/gin from 1.9.1 to 1.10.0 by @dependabot in #319
- feat(postgres): add postgres service to CI and fix timeout promises query by @guergabo in #335
Full Changelog: v0.5.4...v0.5.5
Resonate v0.5.4
Release Notes - Version 0.5.4
Overview
This release introduces a couple bug fixes and basic user authentication.
What's Changed
- fix(dst): disable sslmode by @guergabo in #324
- Fix lazy promise transitions by @dfarr in #331
- add strict flag for assert by @susarlanikhilesh in #329
- add user basic authentication by @susarlanikhilesh in #332
New Contributors
- @susarlanikhilesh made their first contribution in #329
Full Changelog: v0.5.2...v0.5.4
Resonate v0.5.3
Release Notes - Version 0.5.3
Overview
This release introduces a few performance enhancements and a new flag.
New Features
- Added support for configuring the queries in the postgres connection.
Enhancements
- Optimized the background jobs scheduler and db queries to not overload smaller serverless instances of postgres.
What's Changed
Full Changelog: v0.5.2...v0.5.3
Resonate v0.5.2
Release Notes - Version 0.5.2
Overview
This release introduces a new feature and an enhancement.
New Features
- Added support for simple timers.
Enhancements
- Optimized the scheduling of promises by adding a limit to the query.
What's Changed
- add: limit while scheduling promises by @aneessh18 in #307
- feat(timers): enabling simple timers by @guergabo in #308
- fix(postgres): query bug, one too many args by @guergabo in #314
New Contributors
- @lucperkins made their first contribution in #291
- @aneessh18 made their first contribution in #307
Full Changelog: v0.5.1...v0.5.2