You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+12-4Lines changed: 12 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,10 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
+
## [0.4.0] - 2026-04-01
11
+
12
+
### Changed
13
+
14
+
-**BREAKING:** Make `store` required in `channel()` server — channel security model (replay protection, cumulative tracking, post-close rejection) depends entirely on the store; add startup info log advising multi-process deployments to use atomic put-if-absent semantics [#36](https://github.com/stellar/stellar-mpp-sdk/pull/36)
15
+
-**BREAKING:** Verify SEP-41 transfer `from` address against credential source in both push and pull modes — `credential.source` (DID) is now mandatory; prevents hash-theft attacks where a third party intercepts a client's tx hash and claims the payment benefit before the legitimate client can [#36](https://github.com/stellar/stellar-mpp-sdk/pull/36)
10
16
- Nest channel server `signer` + `feeBumpSigner` into `feePayer: { envelopeSigner, feeBumpSigner? }` to match charge server convention [#34](https://github.com/stellar/stellar-mpp-sdk/pull/34)
11
-
- Make `store` required in `channel()` server — channel security model (replay protection, cumulative tracking, post-close rejection) depends entirely on the store; add startup info log advising multi-process deployments to use atomic put-if-absent semantics [#36](https://github.com/stellar/stellar-mpp-sdk/pull/36)
12
-
- Add optional client-side `store` to `channel()` client — persists signed cumulative and uses `max(local, server-reported)` as baseline, preventing a rogue server from resetting the client's cumulative state [#36](https://github.com/stellar/stellar-mpp-sdk/pull/36)
13
-
- Verify SAC transfer `from` address against credential source in both push and pull modes — prevents hash-theft attacks where a third party intercepts a client's tx hash and claims the payment benefit before the legitimate client can [#36](https://github.com/stellar/stellar-mpp-sdk/pull/36)
17
+
18
+
### Added
19
+
20
+
- Optional client-side `store` to `channel()` client — persists signed cumulative and uses `max(local, server-reported)` as baseline, preventing a rogue server from resetting the client's cumulative state [#36](https://github.com/stellar/stellar-mpp-sdk/pull/36)
14
21
15
22
## [0.3.0] - 2026-03-31
16
23
@@ -40,7 +47,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
40
47
- Env parsing primitives for Stellar-aware configuration
41
48
- Shared utilities: fee bump wrapping, transaction polling with backoff, Soroban simulation, unit conversion, keypair resolution
0 commit comments