Releases: storyprotocol/protocol-core-v1
v1.3.2
What's Changed
Enhanced Event Tracking:
-
Adding assertionId to the DisputeRaisedUMA event and introducing disputeId into the AssertionDisputed event, significantly improving traceability and auditability. View PR #416
-
Introducing disputeId to the IpTaggedOnRelatedIpInfringement event for clearer association between tagged IP and dispute occurrences. View PR #418
-
State Management Improvement:
Updating the nonce state of IPAssets upon asset changes, ensuring state consistency and enhancing overall security.
View PR #408 -
Bug Fixes:
Including multiple security improvements and bug fixes to further safeguard the integrity of protocol operations.
Full Changelog: v1.3.1...v1.3.2
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
maxRevenueSharefor minting License Tokens and registering derivatives (#364) - Max RTs Restriction: Add
maxRtsrestriction 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
expectMinimumGroupRewardShareandexpectGroupRewardPoolfor 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
mintingFeeandlicenseHookin 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, andlicensingHookDataare 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
IpRoyaltyVaultby 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 AccountImplupgradeable 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