Skip to content

Releases: sablier-labs/lockup

v3.0.1

14 Oct 14:42
d088220

Choose a tag to compare

Changed

  • Breaking: Rename aggregateBalance to aggregateAmount (#1228)
  • Refactor SablierLockup contract into model-specific abstract contracts (#1261)
  • Refactor DataTypes into separate type files (#1261)
    • DataTypes is kept for backward compatibility and will be deprecated in the future versions.
  • Replace admin with comptroller (#1260, #1268)
  • Rename VestingMath library to LockupMath
  • Rename SablierLockupBase to SablierLockupState (#1247)
  • Make cancelMultiple non-reverting (#1173)
  • Bump Solidity compiler to 0.8.29 (#1207)
  • Bump @openzeppelin/contracts from 5.0.2 to 5.3.0
  • Bump package version for NPM release (#1297)

Added

  • ERC20 recovery functionality (#1182)
  • Function to calculate minimum fee in wei (#1270)
  • CreateBatchLockup event in BatchLockup (#1274)
  • Return refunded amount in cancel (#1173)
  • Add @sablier/evm-utils dependency

Removed

  • Breaking: Remove MAX_COUNT constant (#1243)
  • Breaking: Remove broker functionality (#1166)
  • Remove Adminable and Batch contracts (moved to @sablier/evm-utils)

v2.0.1

05 Feb 13:44
baf9a9e

Choose a tag to compare

Changed

  • Use relative path to import source contracts in test utils files (#1169)

Removed

  • Remove DeployOptimized.sol from npm package (#1169)

v2.0.0

28 Jan 22:11
835cac3

Choose a tag to compare

Changed

  • Breaking: merge SablierV2LockupLinear, SablierV2LockupDynamic and SablierV2LockupTranched into a single
    contract called SablierLockup (#1069)
    • Implement two public libraries VestingMath and Helpers
    • Implement Model enum to differentiate between linear, dynamic and tranched streams
  • 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 to token when referring to ERC20 tokens (#1097)
  • Rename this repo to Lockup (#994)

Added

  • 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)

Removed

  • No longer support backward compatibility with previous versions of Lockup contract in NFTDescriptor (#1113)
  • Remove V2 from the contract names and related references (#994)
  • Remove precompiles from the NPM release (#1158)

v1.2.0

04 Jul 13:40

Choose a tag to compare

Changed

  • Breaking: move common logic into Lockup contract (#784, #813, #850, #941)
  • Breaking: use a new hook system (#951)
    • Replace ISablierV2Recipient with ISablierLockupRecipient hook interface
    • Remove try..catch block from hook calls
  • 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 and createWithDurations across all lockup contracts (#798)
  • Rename milestone to timestamp in the LockupDynamic.Segment data type
  • Switch to Bun (#775)
  • Use Solidity v0.8.26 (#944)

Added

  • Add Lockup Tranched contract (#817)
  • Add precompiles in the NPM release (#841)
  • Add return value in withdrawMax and withdrawMaxAndTransfer (#961)

Removed

  • Breaking: remove protocol fee (#839)
  • Remove flash loan abstract contract (#779)
  • Remove to from withdrawMultiple function (#785)

v1.1.2

19 Dec 12:21
a4bf69c

Choose a tag to compare

Changed

  • Upgrade Solidity to 0.8.23 (#758)

v1.1.1

15 Dec 22:39

Choose a tag to compare

Changed

  • Bump package version for NPM release (88db61)

v1.1.0

15 Dec 16:30
b186e72

Choose a tag to compare

Changed

  • Breaking: Remove ability to cancel for recipients (#710)
  • Move isWarm and isCold to SablierV2Lockup (#664)
  • Replace the streamed amount with the deposit amount in the NFT descriptor (#692)
  • Simplify renounce and withdraw implementations (#683, #705)
  • Update import paths to use Node.js dependencies (#734)
  • Upgrade Solidity to 0.8.21 (#688)

Added

  • Add ERC-4906 metadata update in transferFrom (#686)
  • Add transferable boolean flag (#668)

Removed

  • Remove @openzeppelin/contracts from Node.js peer dependencies (#694)

v1.0.2

14 Aug 15:59
1a206ed

Choose a tag to compare

Changed

  • Update @prb/math import paths to contain src/ (#648)

v1.0.1

13 Jul 14:27
bca1d9e

Choose a tag to compare

Changed

  • Optimize use of variables in tokenURI (#617)

Fixed

  • Fix data URI scheme in tokenURI (#617)

v1.0.0

11 Jul 17:07
412ec3d

Choose a tag to compare

v1.0.0