> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/reserve-protocol/reserve-index-dtf/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Version history and changes to Reserve Folio protocol

## Overview

This page documents all major releases and changes to the Reserve Folio protocol. Each version brings new features, improvements, and bug fixes.

<Tip>
  For detailed technical changes, see the [GitHub releases](https://github.com/reserve-protocol/reserve-index-dtf/releases).
</Tip>

## Current Version: 5.0.0

<Card title="Release 5.0.0" icon="sparkles">
  Latest release with expanded governance controls and optimistic governance support.
</Card>

### New Features

<AccordionGroup>
  <Accordion title="Full Weight Range in Rebalancing" icon="weight-scale">
    **Added by:** `REBALANCE_MANAGER`

    The `REBALANCE_MANAGER` can now specify full weight ranges when starting a rebalance, providing more flexibility in basket composition during rebalancing operations.

    **Impact:** Enables more sophisticated rebalancing strategies.
  </Accordion>

  <Accordion title="Maximum Auction Sizes" icon="gavel">
    **Configurable by:** `REBALANCE_MANAGER`

    Governance can now set maximum auction sizes to control the scale of individual auctions during rebalancing.

    **Use Cases:**

    * Limit exposure to slippage
    * Manage MEV risk
    * Control rebalancing pace
  </Accordion>

  <Accordion title="Trusted Filler Restrictions" icon="shield-check">
    **Configurable by:** `DEFAULT_ADMIN_ROLE`

    New ability to disable permissionless bids and restrict all trading to trusted fillers only.

    **Benefits:**

    * Enhanced MEV protection
    * More predictable execution
    * Integration with professional market makers

    **Trade-off:** Reduced liveness guarantees (depends on trusted fillers being available).
  </Accordion>

  <Accordion title="Folio Name Changes" icon="pen">
    **Configurable by:** `DEFAULT_ADMIN_ROLE`

    Governance can now change the Folio's name after deployment.

    **Use Cases:**

    * Rebranding
    * Clarifying Folio purpose
    * Updating to reflect strategy changes
  </Accordion>
</AccordionGroup>

### Optimistic Governance

<Card title="StakingVault.burn()" icon="fire">
  **New Function:** Burn staked tokens for optimistic governance slashing

  Enables optimistic governance patterns where malicious or incorrect governance proposals can be challenged and lead to slashing of proposer stakes.

  **Related:** Pairs with optimistic governance frameworks to secure fast governance actions.
</Card>

## Previous Releases

### Release 4.0.0 - Basket Auctions

<Card title="Major Architecture Update" icon="layer-group">
  **Released:** June 2025

  **Theme:** Rebalance targets and basket-level auctions

  **Audit:** Trail of Bits, Pashov Audit Group
</Card>

#### Key Changes

<AccordionGroup>
  <Accordion title="Trusted Fillers Integration" icon="handshake">
    The Folio is now integrated with [Trusted Fillers](https://github.com/reserve-protocol/trusted-fillers/) framework.

    **Capabilities:**

    * Async fillers can compete in auctions
    * Better prices through professional market makers
    * All auction limitations still apply

    **Supported Fillers:**

    * CoW Swap (initial integration)

    **Configuration:** Can be enabled/disabled by governance per Folio.
  </Accordion>

  <Accordion title="Rebalance Targets System" icon="bullseye">
    Rebalancing is now managed via rebalance targets instead of individual token pairs.

    **New Structure:**

    * Set of tokens with target weights
    * Single active rebalance at a time
    * Basket-level optimization

    **Role Change:** `AUCTION_APPROVER` → `REBALANCE_MANAGER`

    **Benefits:**

    * More efficient rebalancing
    * Better portfolio-level optimization
    * Simpler governance interface

    **Note:** Folio itself remains unchanged; claims are still pro-rata during mint/redeem.
  </Accordion>

  <Accordion title="Auctions Overhaul" icon="gavel">
    Complete redesign of auction system around rebalance targets.

    **New Features:**

    * Auctions started based on token targets in rebalance
    * `AUCTION_LAUNCHER` provides up-to-date prices
    * Improved rebalancing performance
    * Better price discovery

    **Migration:** Non-compatible with v2.0.0/3.0.0 auction system.
  </Accordion>

  <Accordion title="Fee Inflation Change" icon="clock">
    **Old Behavior:** Fee inflation calculated every block

    **New Behavior:** Fee inflation accounted for every 24 hours

    **Impact:**

    * ✅ No change in effective fees
    * ✅ Mathematically equivalent
    * ✅ Reduced gas costs
    * ✅ More flexibility for future improvements
  </Accordion>
</AccordionGroup>

#### Deprecated Features

<Warning>
  **Removed in 4.0.0:**

  * `AUCTION_APPROVER` role (replaced by `REBALANCE_MANAGER`)
  * Dust limits (replaced by rebalance target system)
  * Individual repeatable auctions (replaced by basket-level approach)
</Warning>

### Release 3.0.0 - Skipped

<Info>
  **Status:** Developed but never deployed

  **Feature:** Individual repeatable auctions against target weights

  **Reason for Skip:** Architecture evolved to basket-level approach in 4.0.0 before 3.0.0 was deployed.
</Info>

### Release 2.0.0 - Repeatable Auctions

<Card title="Repeatable Auctions" icon="repeat">
  **Released:** April 2025

  **Theme:** Auction repetition and dust management

  **Audit:** Trail of Bits
</Card>

#### Key Changes

<AccordionGroup>
  <Accordion title="Repeatable Auctions" icon="repeat">
    Governance can now specify the number of times an auction can be repeated.

    **Features:**

    * Set repeat count when approving auctions
    * Auctions run until repeat limit or lot exhaustion
    * Same parameters used for all repetitions

    **Use Cases:**

    * Large rebalances over time
    * Gradual position building/unwinding
    * DCA-style execution
  </Accordion>

  <Accordion title="Dust Limits" icon="broom">
    Governance can specify minimum "valuable" token amounts.

    **Capabilities:**

    * Prevent removal of tokens below dust threshold
    * Limit auction sizes to avoid dust remainders
    * Set by admin or rebalance managers

    **Purpose:**

    * Prevent griefing with tiny amounts
    * Maintain meaningful token balances
    * Improve UX for mint/redeem
  </Accordion>

  <Accordion title="Minimum Mint Enforcement" icon="arrow-down-1-9">
    Minters can specify minimum output amount.

    **Features:**

    * Protect against fee changes between tx submission and inclusion
    * Revert if output below minimum
    * Output must be non-zero

    **Purpose:** Slippage protection for minters.
  </Accordion>
</AccordionGroup>

### Release 1.0.0 - Initial Release

<Card title="Initial Release" icon="rocket">
  **Released:** December 2024

  **Theme:** Non-repeatable pairwise auctions

  **Audit:** Trust Security

  **GitHub:** [r1.0.0](https://github.com/reserve-protocol/reserve-index-dtf/releases/tag/r1.0.0)
</Card>

#### Initial Features

<CardGroup cols={2}>
  <Card title="Core Folio" icon="coins">
    * ERC20 portfolio tokens
    * Pro-rata mint/redeem
    * Multi-asset baskets
    * Fee structure
  </Card>

  <Card title="Governance" icon="landmark">
    * FolioGovernor
    * Three-role system
    * Timelock protection
    * Role-based access control
  </Card>

  <Card title="Auctions" icon="gavel">
    * Dutch auction mechanism
    * Exponential price decay
    * Pairwise token swaps
    * Price range controls
  </Card>

  <Card title="Staking" icon="layer-group">
    * StakingVault
    * Multi-reward tokens
    * Unstaking delays
    * Governance voting power
  </Card>
</CardGroup>

## Version Compatibility

### Upgrade Paths

<Steps>
  <Step title="1.0.0 → 2.0.0">
    **Compatible:** Generally compatible, adds features

    **Action Required:** Update to use repeatable auctions and dust limits
  </Step>

  <Step title="2.0.0 → 4.0.0">
    **Breaking Changes:** Major architecture change

    **Action Required:**

    * Migrate from pairwise to basket auctions
    * Update `AUCTION_APPROVER` to `REBALANCE_MANAGER`
    * Remove dust limit configurations
    * Reconfigure auction parameters
  </Step>

  <Step title="4.0.0 → 5.0.0">
    **Compatible:** Adds features, no breaking changes

    **Action Required:** Optional adoption of new features
  </Step>
</Steps>

### Contract Addresses

<Note>
  Contract addresses vary by deployment and chain. Check the [official deployment documentation](https://github.com/reserve-protocol/reserve-index-dtf) for specific addresses.
</Note>

## Migration Guides

### Migrating to 5.0.0

<Steps>
  <Step title="Review New Features">
    Determine which new features are relevant:

    * Max auction sizes
    * Trusted filler restrictions
    * Full weight ranges
  </Step>

  <Step title="Update Governance Parameters">
    Configure new parameters through governance proposals.
  </Step>

  <Step title="Test Optimistic Governance">
    If using optimistic governance, test `StakingVault.burn()` on testnet.
  </Step>

  <Step title="Deploy Upgrade">
    Follow standard upgrade procedures through governance.
  </Step>
</Steps>

### Migrating from 2.0.0 to 4.0.0

<Warning>
  This is a major migration requiring significant governance action.
</Warning>

<Steps>
  <Step title="Understand Architecture Changes">
    Study the rebalance target system and basket-level auction approach.
  </Step>

  <Step title="Map Old to New Roles">
    Update role assignments:

    * `AUCTION_APPROVER` → `REBALANCE_MANAGER`
  </Step>

  <Step title="Reconfigure Rebalancing">
    Design rebalance targets to replace dust limits and individual auction approvals.
  </Step>

  <Step title="Test Thoroughly">
    Extensive testing on testnet before mainnet deployment.
  </Step>

  <Step title="Coordinate Upgrade">
    Plan governance votes and upgrade timeline.
  </Step>
</Steps>

## Upcoming Features

<Info>
  **Future Work / Not Implemented Yet**
</Info>

<AccordionGroup>
  <Accordion title="Delegatecall Functionality" icon="phone-arrow-down-left">
    **Planned Feature:** Way to claim rewards via delegatecall

    **Use Case:** Enable claiming of rewards (e.g., AERO from staked Aerodrome positions) without unwrapping.

    **Workaround:** Currently requires autocompounding layers (Beefy, Yearn) to hold yield-bearing positions.

    **Status:** Under consideration for future release.
  </Accordion>

  <Accordion title="Alternative Governance Systems" icon="users">
    **Planned Features:**

    * NFT-based governance
    * ERC20 fair launch system

    **Purpose:** Provide more governance options beyond token-based voting.

    **Status:** Under consideration for future release.
  </Accordion>
</AccordionGroup>

## Release History Timeline

```mermaid theme={null}
timeline
    title Reserve Folio Releases
    Dec 2024 : v1.0.0 - Initial Release
    Apr 2025 : v2.0.0 - Repeatable Auctions
    Jun 2025 : v4.0.0 - Basket Auctions
    Current : v5.0.0 - Expanded Controls
```

## Related Documentation

<CardGroup cols={2}>
  <Card title="Security Audits" icon="shield-check" href="/resources/audits">
    Audit reports for each version
  </Card>

  <Card title="GitHub Releases" icon="github" href="https://github.com/reserve-protocol/reserve-index-dtf/releases">
    Detailed release notes and tags
  </Card>

  <Card title="Migration Guides" icon="right-left" href="/development">
    Detailed upgrade procedures
  </Card>

  <Card title="Breaking Changes" icon="triangle-exclamation" href="/development">
    Version compatibility information
  </Card>
</CardGroup>
