Releases: storyprotocol/protocol-core-v1
Releases · storyprotocol/protocol-core-v1
v1.3.1
This release builds on v1.3 with key enhancements and refinements across grouping, licensing, royalty, access, dispute, and miscellaneous modules.
Wrapped IP
- Wrapped IP as Sole Whitelisted Currency Token (#293)
Licensing
- Default License Terms: No longer automatically attach default license terms to all registered IPs (#391)
- IP Owner License Control: Allow IP Owners to enable or disable licenses (#306)
- Royalty Percentage Validation: The customized royalty percentage in Licensing Config can only increase the percentage defined in the License Terms (#310)
- Max Revenue Share: Introduce
maxRevenueShare
for minting License Tokens and registering derivatives (#364) - Max RTs Restriction: Add
maxRts
restriction when creating a derivative (#309) - Configuration Cleanup: Remove IP-Level Licensing Configuration (#392)
- New Built-in License: Add built-in license CC-BY and its off-chain terms to PIL Flavors (#396)
Grouping
- Enable Group IPA Registration with Protocol Registration Fee (#304)
- New License Configurations: Added
expectMinimumGroupRewardShare
andexpectGroupRewardPool
for grouping (#313) - Relaxed Restrictions:
- New Restrictions:
- A derivative IP of a group IP can only have the group IP as its sole parent (#391)
- A Group IP cannot attach License Terms that use the LAP Royalty policy (#391)
- An empty group cannot have derivative IPs or mint License Tokens (#354)
- A Group IP cannot be registered as a derivative as another parent IP (#354)
- License Term & Configuration Validations:
- Single License Term Validation: Ensure a Group IPA can only attach one license term common to all members (#358)
- Consistent License Config Validation: When adding an IP to a group, the Group and IP must have the same
mintingFee
andlicenseHook
in the LicenseConfig, and the Group's commercial revenue share must be greater than or equal to the IP's share (#358) - Freezing License Config Items: Once a Group gains its first member, the
mintingFee
,licensingHook
, andlicensingHookData
are frozen; the Group's commercial revenue share can only increase (#358)
- Group Max Size Limit: Enforce a maximum group size of 1000 (#395)
Royalty
- Vault Simplification: Simplify
IpRoyaltyVault
by removing the need for snapshots (#291)
Access
- Transient Permission: Introduce transient one-time permissions (#393)
- IPGraph Call Distinction: Distinguish between internal and external calls to IPGraph (#391)
Dispute
- UMA Arbitration Policy Update: Add a set oracle function to the UMA arbitration policy (#311)
Miscellaneous
- Upgradeability: Make
IP AccountImpl
upgradeable using Beacon (#391)
Full Changelog: v1.3...v1.3.1
v1.3.0
What's Changed
- Grouping & Royalty integration refactor
- Allow IP Owner to Customize and Override Royalty Percentage in License Terms
- Introduce Max Minting Fee for License Token Minting and Derivative Registration
- Update "Commercial Use" License Flavor to Disallow Derivatives
- Add set arbitration policy cooldown
- Add new Dispute Arbitration Policy
Full Changelog: v1.2.3...v1.3
v1.2.3
What's Changed
- Introduce IP Registration Fee Switch and Governance Controls
- Add Even Split Group Pool to Core Protocol
- Update precompiled IPGraph Addresses
- Add event on royalty vault deployment
Full Changelog: v1.2.2...v1.2.3
v1.2.2
What's Changed
- Programmable IP License v1.2 #244
- Add royalty fee switch by #243
- Update Royalty Policy Path in Makefile for Generating ABI by #245
Full Changelog: v1.2.1...v1.2.2
v1.2.1
What's Changed
- Bump Solidity Compiler Version to 0.8.26 #232
- Optimize Royalty claiming #215
- Default Currency ERC20 Token to Story USD (SUSD) on Public Testnet #233
- Using Non-Commercial Remix License as Default License in Deployment Script and Ensure Consistent API Behavior by #235
- Add Function to Predict License Minting Fee in Licensing Module #200
Full Changelog: v1.2.0...v1.2.1
v1.2.0
What's Changed
Full Changelog: v1.1.2...v1.2.0
v1.1.2
v1.1.0
- Gas optimization in IpRoyaltyVault (#114)
- Expiration time modifications
- Unified Licensing Hokk for minting fee and receiver check hooks (#115)
- Enhance permission management and security with setAllPermissions in Access Controller (#127)
- CREATE3 deployment for deterministic address deployment (#124, #132)
- Migrate to Solady ERC6551 for IP Account (#133)
- Support batch operations in IP Account Storage (#134)
- Fix missing License Terms ID in tokenURI (#136)
- Add issue and pull request templates (#120, #121)
- Miscellaneous changes (#130)
- More tests (#101)
Full Changelog: v1.0.0...v1.1.0
v1.0.0
- Introduce new Licensing System (#33, #37, #64, #75, #94)
- Licensing Module, License Registry, License Token (ERC-721), and PILicenseTemplate
- Expiring License Tokens & IP
- Variable minting pricing of License Tokens via hooks
- Option to register derivative IPs without minting License Tokens
- Default Selected License Template and Terms
- PILicense offchain metadata, currency, and templating
- Permit linking to parent only once
- Introduce pausability for the protocol by the governance (#76)
- Enhance Access Controller (#89, #97)
- Improve security by removing global permission
- Allows IP owners to directly set permissions
- Allows IP owners to call any external contracts
- Flatten if structure in
checkPermissions
- Modify Dispute Module to add a hook and mechanism for permissionless tagging of IPs with disputed parent IPs (#60)
- Add expired getter for IPs for real-time IP expiry tagging in Dispute Module (#87)
- Maintain cross-chain registration for IP Accounts (#55)
- Refactor Governance to OZ Access Manager to leverage timelocked protocol admin functions (#43)
- Limit writes to IPAccountStorage to registered modules (#103)
- Enhancements to the IP Royalty Vault (#32, #78, #90) and Royalty Policy LAP (#91)
- Enhancements for contract upgradeability (#38, #82, #88) and testing of upgradeability (#95)
- Simplify the testing to a single framework for tests and deployment (#36)
- Bolster testing (#36, #52, #64, #85, #111)
- CREATE3 for deterministic address deployments (#104)
- Miscellaneous configs (#50), code cleanup (#52, #112) and structure (#56, #85), and pkg bump (#34)
- Enhanec CI/CD (#72, #92)
Full Changelog: v1.0.0-rc.1...v1.0.0
v1.0.0-rc.1
- Migrate to upgradable contracts (for some) and toolings (#6, #7, #8, #16, #25)
- Introduce IPAccount Namespace Storage for Open Data Access design and IViewModule for Enhanced Metadata Display (#2)
- Introduce the Core Metadata Module and its View Module for storing and viewing metadata in individual IPAccounts (#15)
- Deprecate Registration Module (#3) and IPAssetRenderer (#14)
- Simplify RoyaltyPolicyLAP logic by removing native token payment (#1) and ancestor hash & royalty context (#4) with additional minor changes.
- Simplify IP registration in IPAssetRegistry and enable permissionless registration on behalf of IP NFT owners (#17)
- Replace SP royalty policy's 0xSplits with custom ERC20 Royalty Vault based on ERC20Snapshot (#26)
- Prevent child IPs from linking to parents more than once in the LicensingModule (#28)
- Refactor codebase structure (#29)
- Enhance CI/CD and repo (#10, #11, #12, #13, #16, #18), bump pkgs (#19...#24), and misc. (#27, #30)