All notable changes to this project will be documented in this file.
The format is based on Common Changelog.
3.0.1 - 2026-03-23
- Bump
lockupandutilspackage (#1483)
3.0.0 - 2026-03-16
- Breaking: Change return type of
totalForgoneAmount()inSablierMerkleVCAfromuint256touint128(#1363) - Refactor
SablierMerkleBaseandSablierMerkleLockupconstructors to acceptConstructorParamsstruct (#1403) - Refactor
DataTypesinto separate type files (#1408)DataTypesis deprecated and kept only for backward compatibility.
- Breaking: Add
ClaimTypeenum to all campaign deployment parameters (#1405) - Breaking: Add
granularityparameter toSablierMerkleLLdeployment parameters for configurable unlock step sizes in Linear streams (#1366) - Breaking: Add
enableRedistributionboolean parameter toMerkleVCA.ConstructorParamsstruct enabling redistribution of forgone tokens (#1363) - Add
SablierMerkleExecutecampaign contract in which a function is called on a target contract at claim time (#1393) - Add
claimViaAttestationfunction for attestation-based claiming via EIP-712 signatures from a trusted attestor (#1403) - Add
sponsorfunction to Merkle campaigns (#1443)
- Breaking: Remove
aggregateAmountparameter fromcreateMerkleVCAfunction (moved toMerkleVCA.ConstructorParamsstruct parameters) (#1363)
2.0.1 - 2025-10-14
- Bump package version for NPM release (#188)
2.0.0 - 2025-10-08
- Breaking: Replace single factory with separate factories for each campaign type (#70)
- Breaking: Store fee as USD value instead of native token value (#68)
- Breaking: Refactor existing
Claimevents (#163) - Breaking: Rename
STREAM_START_TIMEtoVESTING_START_TIMEinSablierMerkleLT(#125) - Breaking: Rename
getTranchesWithPercentagestotranchesWithPercentages - Breaking: Rename
getFirstClaimTime()tofirstClaimTime() - Breaking: Refactor schedule struct into
immutablevariables inSablierMerkleLL(#125)
- Add comptroller via
@sablier/evm-utilsdependency (#162) - Add
SablierMerkleVCAcontract (#58) - Add
EIP-712andEIP-1271signature support for claiming airdrops (#160) - Claim airdrops to a third-party address (#152)
- Add campaign start time parameter (#157)
- Add new
Claimevents (#163) - Add function to get stream IDs associated with airdrop claims (#72)
- Transfer tokens directly if claimed after vesting end time (#77)
- Breaking: Remove
collectFees()from campaign contracts (moved to factory)
1.3.0 - 2025-01-29
Note
Versioning begins at 1.3.0 as this repository is the successor of V2 Periphery. For previous changes, please refer to the V2 Periphery Changelog.
- Replace
createWithDurationswithcreateWithTimestampsin bothMerkleLLandMerkleLTclaims (#1024, #28)
- Introduce
SablierMerkleInstantcontract to support campaigns for instantly unlocked airdrops (#999) - Add an option to configure claim fees in the native tokens, managed by the protocol admin. The fee can only be charged on the new campaigns, and cannot be changed on campaigns once they are created (#1038, #1040)
- Remove
V2from the contract names and related references (#994)