Releases: formancehq/payments
Releases · formancehq/payments
v3.2.0-rc.1
Changelog
New Features
- b1aab84: feat(Stripe): EN-470 Add balance.available webhooks to Stripe connector (#590) (@laouji)
- 440075c: feat(accounts): Return Connector as part of accounts response (#547) (@laouji)
- c607fa3: feat(polling): allow system-wide polling default to be configured via env variable (#615) (@laouji)
- b639ebd: feat(pools): EN-488 add related accounts when fetching pool balances (#595) (@paul-nicolas)
- aa88a8f: feat(pools): add possibility to create dynamic pool (#598) (@paul-nicolas)
- e9f3276: feat(pools): add update query for dynamic pools (#601) (@paul-nicolas)
- f5e65e6: feat(temporal): EN-429 optimize send events (#580) (@paul-nicolas)
- 2f15caf: feat(temporal): optimize update pi from payments (#578) (@paul-nicolas)
- 63fe474: feat(temporal): remove useless sub-workflows (#575) (@paul-nicolas)
- 766bacb: feat: Add Fireblocks connector plugin (read-only) (#639) (@flemzord)
- 40a8f76: feat: Add locale to Tink client CreateUser (#574) (@Quentin-David-24)
- a31f774: feat: add Coinbase Prime connector plugin (#643) (@flemzord)
- 87ad145: feat: add dedicated docker-compose for debugging (#558) (@fguery)
- 6f4150a: feat: connector workbench (#641) (@altitude)
- c27702e: feat: improve building time when using the docker dev env (#637) (@fguery)
- d2ba4ce: feat: payout capability for generic connector (#632) (@thierrycoopman)
Bug fixes
- 5475aa5: fix(API): Handle SQLSTATE 22P02 in storage as HTTP 400 (#556) (@laouji)
- 73d1141: fix(Stripe): Gracefully skip over unsupported adjustment types in Stripe (#618) (@laouji)
- 5a41c32: fix(Stripe): Import Stripe Accounts and Bank Accounts in reverse chronological order (#581) (@laouji)
- 5c4793f: fix(Stripe): Routinely save state in Stripe payments workflow (#584) (@laouji)
- bbb7e7e: fix(atlar): prevent panic if balance not present in v1 accounts endpoint (#588) (@laouji)
- 33922a8: fix(local): Gateway error in config (#593) (@flemzord)
- 4abee42: fix(openapi): Add pre-migration payments v2 values to allowed relatedPayments statuses (#560) (@laouji)
- 69a94b0: fix(polling): Ensure schedule polling period is updated when connector config is changed (#599) (@laouji)
- e5c30f8: fix(pools): fix missing nullables and omitempty (#608) (@paul-nicolas)
- f3e9d1b: fix(schedules): Filter schedules by connectorID in list endpoint (#557) (@laouji)
- 46f2d51: fix(stripe): EN-554 payment failure refund without source (#625) (@Quentin-David-24)
- 5b4a542: fix(temporal): EN-423 run next tasks not as subworkflows (#582) (@paul-nicolas)
- f96be18: fix(tink): EN-542 Fix createdAt on transactions (#613) (@Quentin-David-24)
- fc99327: fix(tink): EN-543 Fix how to map tink amounts (#612) (@Quentin-David-24)
- c286386: fix(tink): EN-545 Fix psuId not being set in HandleWebhook (#614) (@Quentin-David-24)
- ce3fc31: fix(tink): Remove useless scope (#609) (@Quentin-David-24)
- 3dfbf65: fix(uninstall): fix missing continue as new (#570) (@paul-nicolas)
- d88df04: fix: Allow connector install activity to retry in case of race condition (#569) (@laouji)
- abef5b2: fix: One line docker compose up (#634) (@flemzord)
- 404d4ed: fix: ensure all powens dates are converted from Europe/Paris timezone (#563) (@fguery)
- 41ab588: fix: make nonblocking migration (#555) (@fguery)
- af0c608: fix: update default polling period for 'quick' connectors (#607) (@fguery)
- 1409b6c: fix: use TransferPeer.Type to classify Fireblocks payment types (PAY-IN/PAY-OUT/TRANSFER) (#642) (@flemzord)
Other work
- 41acb76: Add en_GB to supported locale of Tink (#566) (@Quentin-David-24)
- fafbb18: Ensure that OTLP middleware doesn't write body before http recoverer can write 500 status code (#551) (@laouji)
- 182a045: Fix: Allow locale in PSU contact details and improve tests (#564) (@Quentin-David-24)
- 842efdd: Remove hardcoded refreshable items from Tink user link creation (#611) (@Quentin-David-24)
- cfea777: Revert reuse policy change for run-tasks workflow (#619) (@laouji)
- 35ea270: Updating docs for the new dcos.formance.com site. Some cleanup (#549) (@thierrycoopman)
- aa54ef9: chore(ci): Update tailscale config to fix deploy (#610) (@Quentin-David-24)
- f25a975: chore(console): Update image tag (#600) (@BrieucCaillot)
- 7e63999: chore(deps): update go-libs to v3.3.0 (#577) (@flemzord)
- c508710: chore(deps): update module github.com/go-chi/chi/v5 to v5.2.4 [security] (#638) (@NumaryBot)
- 09d4f7f: chore(deps): update module github.com/opencontainers/runc to v1.2.8 [security] (#579) (@NumaryBot)
- c0f5bac: chore(deps): update module golang.org/x/crypto to v0.43.0 [security] (#591) (@NumaryBot)
- dd8a9de: chore(deps): update module golang.org/x/crypto to v0.45.0 [security] (#596) (@NumaryBot)
- d0ab360: chore: Fix pollingPeriod in openAPI (#623) (@Quentin-David-24)
- 078b111: chore: Make applicationName optional in create-link endpoint (#565) (@Quentin-David-24)
- 42598e0: chore: Standalone docker compose (#571) (@BrieucCaillot)
- d296a38: chore: Update readme & console image tag (#585) (@BrieucCaillot)
- a0677ca: chore: improve doc somewhat, mostly meant as an excuse to create a new release with new docker image (#562) (@fguery)
- 0cd5ca4: chore: improve documentation on docker-compose for keeping postgres data between runs (#548) (@fguery)
- a533db3: feat(EN-186): save balances via Tink and Plaid plugins (#559) (@fguery)
- 86f433a: feat(EN-208): set a different polling interval per plugin where appropriate (#572) (@fguery)
- 8398ccc: feat(EN-214): create events via storage instead of manually calling event activity (#594) (@fguery)
- da9d9db: feat(EN-420): change pagination, have it hard coded per connector instead of user configured (#602) (@fguery)
- e2f5aa0: feat(accounts,pools): compute balances inside postgres (#605) (@paul-nicolas)
- 7f0c800: feat(balances/powens): EN-138 Store balance with powens (#552) (@Quentin-David-24)
- 6b0401b: fix(EN-199): fix powens dates & balances on webhooks (#567) (@fguery)
- 603e0d1: fix(EN-200): make connectionId a nullable field in Balance, allowing saving for Tink which doesn't have it (#568) (@fguery)
- 40c6317: fix(EN-214): create events on pool account add or remove (#603) (@fguery)
- 6485c81: fix(EN-214): in some cases schedule creation was stopping the worker … (#604) (@fguery)
- 7244618: fix(EN-464): change v1 openapi defaults to be compatible with new pol… (#589) (@fguery)
- cecf6de: fix(EN-549): remove config and connector dependencies (#622) (@fguery)
- 240e8dd: fix(EN-637): avoid uninstall timeout by using batching on deletion (#635) (@fguery)
- abff327: fix(EN-696): ensure server/worker start even when plugin is invalid (#636) (@fguery)
- 949c391: fix(en-613): pools default to static (#631) (@fguery)
What to do next?
- Read the documentation
- Join our GitHub Discussions
v3.1.3
Changelog
Other work
- 14db962: chore(deps): update module github.com/go-chi/chi/v5 to v5.2.4 [security] (#638) (@NumaryBot)
What to do next?
- Read the documentation
- Join our GitHub Discussions
v3.1.2-rc.3
v3.1.2-rc1
v3.1.2-rc.1
v3.1.1
Changelog
Bug fixes
- 3836717: fix(stripe): EN-554 payment failure refund without source (#625) (@Quentin-David-24)
- 10cf4ba: fix: One line docker compose up (#634) (@flemzord)
Other work
- e14727c: chore: Fix pollingPeriod in openAPI (#623) (@Quentin-David-24)
- 6354a24: fix(EN-549): remove config and connector dependencies (#622) (@fguery)
- e4c3280: fix(EN-637): avoid uninstall timeout by using batching on deletion (#635) (@fguery)
- 6ef79a9: fix(en-613): pools default to static (#631) (@fguery)
What to do next?
- Read the documentation
- Join our GitHub Discussions
v3.1.0
New Features:
- Dynamic pools
- New PSP Connector:
- Increase
- New OpenBanking Connectors:
- Powens
- Tink
- Plaid
- OpenBanking specific objects:
- Connections
- Link attempts
- OpenBanking Forwarded User
- OpenBanking specific endpoints
Open Banking Connectors:
- Use Connectivity to connect and retrieve data from your bank accounts or your end users' bank accounts. Three connectors are available: Tink, Powens, and Plaid.
Dynamic pools:
- Specify a query to define a pool instead of adding each account. When retrieving pool details or balances, accounts matching that query will be used automatically.
Improvements:
- Improve validation on some connector installation
- Clarify PostgreSQL error messages
- Add foreign key indices for better performance
- Refactor temporal workflow architecture to improve data ingestion efficiency
- Replace single events emission with a batch emission.
- Stripe: Handle balance updates through webhooks instead of polling for connectors installed from this version onward.
Changes:
- Remove pageSize from the configuration. A fixed value is defined per provider for an optimal data ingestion speed.
- Adjust minimum and default pollingPeriod to ensure a continuous and reliable service. The values can be overridden from environment variables.
Bug fixes:
- Stripe: Ensure that refunded amount is recorded only once
- Stripe: Adjust for breaking API change where payment orders are now always in reverse chronological order.
- Prevent injection of arbitrary json keys in connector config
- Propagate correctly connector updates through multiple pods.
Full Changelog: v3.0.5...v3.1.0
v3.1.0-rc.5
Full Changelog: v3.1.0-rc.4...v3.1.0-rc.5
v3.1.0-rc.4
What's Changed
- chore: improve documentation on docker-compose for keeping postgres d… by @fguery in #548
- docs: Updating docs for the new docs.formance.com site. Some cleanup by @thierrycoopman in #549
- fix(server): Ensure that OTLP middleware doesn't write body before http recoverer can write status code 500 by @laouji in #551
- feat(accounts): Return Connector as part of accounts response by @laouji in #547
- fix: make nonblocking migration by @fguery in #555
- feat(balances/powens): EN-138 Store balance with powens by @Quentin-David-24 in #552
- fix(API): Handle SQLSTATE 22P02 in storage as HTTP 400 by @laouji in #556
- fix(schedules): Filter schedules by connectorID in list endpoint by @laouji in #557
- feat: add dedicated docker-compose for debugging by @fguery in #558
- feat(EN-186): save balances via Tink and Plaid plugins by @fguery in #559
- fix(openapi): Add pre-migration payments v2 values to allowed relatedPayments status by @laouji in #560
- chore: improve doc somewhat, mostly meant as an excuse to create a ne… by @fguery in #562
- fix: ensure all powens dates are converted from Europe/Paris timezone by @fguery in #563
- chore: Add en_GB to supported locale of Tink by @Quentin-David-24 in #566
- fix(EN-199): fix powens dates & balances on webhooks by @fguery in #567
- fix(EN-200): make connectionId a nullable field in Balance, allowing … by @fguery in #568
- chore: Make applicationName optional in create-link endpoint by @Quentin-David-24 in #565
- fix: Update psu storage nil return logic and add tests by @Quentin-David-24 in #564
- fix: Allow connector install activity to retry in case of race condition by @laouji in #569
- fix(uninstall): fix missing continue as new by @paul-nicolas in #570
- chore(tink): Pass payment service user locale to client createUser by @Quentin-David-24 in #574
- feat(temporal): remove useless sub-workflows by @paul-nicolas in #575
- chore(deps): update go-libs to v3.3.0 by @flemzord in #577
- feat(EN-208): set a different polling interval per plugin where appropriate by @fguery in #572
- chore(deps): update module github.com/opencontainers/runc to v1.2.8 [security] by @NumaryBot in #579
- feat(temporal): optimize update pi from payments by @paul-nicolas in #578
- chore: Standalone docker compose by @BrieucCaillot in #571
- feat(temporal): EN-429 optimize send events by @paul-nicolas in #580
- fix(Stripe): Import Stripe Accounts and Bank Accounts in reverse chronological order by @laouji in #581
- fix(temporal): EN-423 run next tasks not as subworkflows by @paul-nicolas in #582
- chore: Update readme & console image tag by @BrieucCaillot in #585
- fix(Stripe): Routinely save state in Stripe payments workflow by @laouji in #584
- fix(atlar): prevent panic if balance not present in v1 accounts endpoint by @laouji in #588
- fix(EN-464): change v1 openapi defaults to be compatible with new pol… by @fguery in #589
- chore(deps): update module golang.org/x/crypto to v0.43.0 [security] by @NumaryBot in #591
- fix(local): Gateway error in config by @flemzord in #593
- chore(deps): update module golang.org/x/crypto to v0.45.0 [security] by @NumaryBot in #596
- feat(pools): EN-488 add related accounts when fetching pool balances by @paul-nicolas in #595
- feat(Stripe): EN-470 Add balance.available webhooks to Stripe connector by @laouji in #590
- feat(pools): add possibility to create dynamic pool by @paul-nicolas in #598
- chore(console): Update image tag by @BrieucCaillot in #600
- fix(polling): Ensure schedule polling period is updated when connector config is changed by @laouji in #599
- feat(EN-214): create events via storage instead of manually calling event activity by @fguery in #594
- feat(pools): add update query for dynamic pools by @paul-nicolas in #601
- fix(EN-214): create events on pool account add or remove by @fguery in #603
- fix(EN-214): in some cases schedule creation was stopping the worker … by @fguery in #604
- feat(EN-420): change pagination, have it hard coded per connector instead of user configured by @fguery in #602
- feat(accounts,pools): compute balances inside postgres by @paul-nicolas in #605
- fix: update default polling period for 'quick' connectors by @fguery in #607
- fix(pools): fix missing nullables and omitempty by @paul-nicolas in #608
- fix(tink): Remove useless scope by @Quentin-David-24 in #609
- chore(ci): Update tailscale config to fix deploy by @Quentin-David-24 in #610
- fix(tink): EN-544 Remove refreshable_items query for tink create user link by @Quentin-David-24 in #611
- fix(tink): EN-542 Fix createdAt on transactions by @Quentin-David-24 in #613
- fix(tink): EN-545 Fix psuId not being set in HandleWebhook by @Quentin-David-24 in #614
- fix(tink): EN-543 Fix how to map tink amounts by @Quentin-David-24 in #612
- feat(polling): allow system-wide polling default to be configured via env variable by @laouji in #615
- Fix/release v3.1 restore history by @Quentin-David-24 in #617
New Contributors
- @thierrycoopman made their first contribution in #549
Full Changelog: v3.1.0-rc.1...v3.1.0-rc.4
v3.1.0-rc.3
Fix timezone issue
Full Changelog: v3.1.0-rc.2...v3.1.0-rc.3