All notable changes to this project will be documented in this file.
The format is based on Common Changelog.
2.0.0 - 2025-01-28
- Breaking: merge
SablierV2LockupLinear
,SablierV2LockupDynamic
andSablierV2LockupTranched
into a single contract calledSablierLockup
(#1069)- Implement two public libraries
VestingMath
andHelpers
- Implement
Model
enum to differentiate between linear, dynamic and tranched streams
- Implement two public libraries
- Allow setting the end time of linear streams to a past date (#1015)
- Emit revert errors in
withdrawMultiple
instead of halting execution on failed withdrawals (#1101) - Allow approved accounts to execute
withdrawMaxAndTranfer
on behalf of recipients (#1054) - Refactor
asset
totoken
when referring toERC20
tokens (#1097) - Rename this repo to Lockup (#994)
- Breaking: introduce new configurations for unlock amounts at start time and cliff time in create Linear functions (#1075)
- Implement a
batch
function to execute multiple functions in a single transaction (#1070, #1126) - Emit the expected shape name of the stream through create functions (#1094, #1100)
- Implement
renounceMultiple
function to renounce multiple streams in a single transaction (#1091) - Moved the
SablierBatchLockup
contract from v2-periphery to the Lockup repository (#1084) - Add
payable
modifier to all the functions (#1093)
- No longer support backward compatibility with previous versions of
Lockup
contract inNFTDescriptor
(#1113) - Remove
V2
from the contract names and related references (#994) - Remove
precompiles
from the NPM release (#1158)
1.2.0 - 2024-07-04
- Breaking: move common logic into
Lockup
contract (#784, #813, #850, #941) - Breaking: use a new hook system (#951)
- Replace
ISablierV2Recipient
withISablierLockupRecipient
hook interface - Remove
try..catch
block from hook calls
- Replace
- Allow only supported characters in NFT Descriptor asset symbols (#945, #960, #949)
- Bump build dependencies (#806, #942, #944)
- Change permissions of
withdraw
function to public (#785) - Disallow zero
startTime
(#813, #852) - Rename create functions
createWithTimestamps
andcreateWithDurations
across all lockup contracts (#798) - Switch to Bun (#775)
- Use Solidity v0.8.26 (#944)
- Add Lockup Tranched contract (#817)
- Add
precompiles
in the NPM release (#841) - Add return value in
withdrawMax
andwithdrawMaxAndTransfer
(#961)
- Breaking: remove protocol fee (#839)
- Remove flash loan abstract contract (#779)
- Remove
to
fromwithdrawMultiple
function (#785)
1.1.2 - 2023-12-19
- Use Solidity v0.8.23 (#758)
1.1.1 - 2023-12-16
- Bump package version for NPM release (88db61)
1.1.0 - 2023-12-15
- Breaking: Remove ability to cancel for recipients (#710)
- Move
isWarm
andisCold
toSablierV2Lockup
(#664) - Replace the streamed amount with the deposit amount in the NFT descriptor (#692)
- Simplify
renounce
andwithdraw
implementations (#683, #705) - Update import paths to use Node.js dependencies (#734)
- Use Solidity v0.8.21 (#688)
- Remove
@openzeppelin/contracts
from Node.js peer dependencies (#694)
1.0.2 - 2023-08-14
- Update
@prb/math
import paths to containsrc/
(#648)
1.0.1 - 2023-07-13
- Optimize use of variables in
tokenURI
(#617)
- Fix data URI scheme in
tokenURI
(#617)
1.0.0 - 2023-07-07
- Initial release