# Plan Versions (https://yapl.app/en/docs/user-guides/plans/plan-versions)

# Plan Versions

Plan versioning allows you to track changes over time, compare different states, and restore previous versions when needed.

## Understanding Versions

Versions in YAPL provide:

- **Change Tracking** - Record plan states at specific points
- **Comparison** - View differences between versions
- **Restoration** - Return to previous states
- **Audit Trail** - History of plan evolution

## Version Concepts

### Version Names

Each version has a user-defined name:

| Good Names | Description |
|------------|-------------|
| "Baseline" | Original approved plan |
| "Rev A", "Rev B" | Sequential revisions |
| "2025-01-15" | Date-based naming |
| "Client Approved" | Status-based naming |
| "After Scope Change" | Event-based naming |

### Draft vs. Published

| Status | Description | Editing |
|--------|-------------|---------|
| **Draft** | Work in progress | Full editing |
| **Published** | Finalized version | Limited |

## Accessing Versions

### Versions Tab

1. Open a plan
2. Navigate to **Versions** tab
3. View version list and history

### Version Information

Each version shows:
- Version name
- Creation date
- Created by
- Status (Draft/Published)
- Task count snapshot

## Creating Versions

### When to Create Versions

Create a new version when:
- Completing a planning phase
- Before major changes
- After client approval
- At regular intervals

### How to Create a Version

1. Open the plan
2. Navigate to **Versions** tab
3. Click **Create Version**
4. Enter version name
5. Add optional description
6. Click **Create**

### Version Contents

A new version captures:
- Current task structure
- Task properties and dates
- Dependencies
- Resource assignments
- Custom configurations

## Comparing Versions

### Version Comparison

Compare two versions to see changes:

1. Go to **Versions** tab
2. Select two versions to compare
3. Click **Compare**
4. View difference report

### Comparison Shows

| Change Type | Description |
|-------------|-------------|
| Added tasks | Tasks in new version only |
| Removed tasks | Tasks in old version only |
| Modified tasks | Changed properties |
| Duration changes | Timeline differences |
| Dependency changes | Relationship modifications |

## Restoring Versions

### When to Restore

Restore a previous version when:
- Current changes need to be reverted
- Earlier plan was more accurate
- Recovering from mistakes

### How to Restore

1. Go to **Versions** tab
2. Find the version to restore
3. Click **Restore** or similar action
4. Confirm restoration

<Callout type="warn">
Restoring creates a new version with the old content. It doesn't delete current work.
</Callout>

### Restoration Behavior

- Current plan becomes a new version
- Restored content becomes active
- History is preserved
- No data is lost

## Version History

### Viewing History

The versions tab shows:
- Chronological version list
- Version metadata
- Quick actions

### History Timeline

```
v1 "Initial Draft" (2025-01-01)
    ↓
v2 "After Review" (2025-01-15)
    ↓
v3 "Client Approved" (2025-01-20)
    ↓
v4 "Scope Change" (2025-02-01) ← Current
```

## Default Version

### Setting Default

One version can be marked as default:
- Displayed by default when opening plan
- Used for project metrics
- Reference point for comparisons

### Changing Default

1. Go to **Versions** tab
2. Find desired version
3. Click **Set as Default**
4. Confirm selection

## Version Limits

### By Subscription Tier

| Feature | Basic | Professional |
|---------|-------|--------------|
| Version history | Limited | Full |
| Version comparison | Basic | Detailed |
| Restore capability | Recent only | All versions |

## Best Practices

### Naming Conventions

Establish consistent naming:
- Date-based: "YYYY-MM-DD" or "Rev A, B, C"
- Milestone-based: "Baseline", "Midpoint", "Final"
- Mixed: "Rev A - 2025-01-15"

### Version Frequency

- Create versions at natural breakpoints
- Before significant changes
- After stakeholder reviews
- Regular intervals (weekly/monthly)

### Documentation

- Use description field for context
- Note reason for version creation
- Reference related decisions

## Version Conflicts

### Understanding Conflicts

Conflicts can occur when:
- Multiple editors make changes
- Restoring overwrites recent work
- Concurrent version creation

### Resolving Conflicts

YAPL requires manual conflict resolution:
- No automatic merging
- Review changes carefully
- Create new version with resolved content

## Troubleshooting

### Cannot Create Version

**"You don't have permission"**
- Verify you have edit access
- Check team role

### Version Not Appearing

- Refresh the page
- Check creation completed
- Verify filter settings

### Comparison Not Working

- Ensure both versions exist
- Check for subscription limitations
- Try refreshing the page

### Restore Failed

- Check for active edits
- Verify version is accessible
- Contact support if persistent

## Related Topics

- [Creating Plans](/docs/user-guides/plans/creating-plans) - Plan setup
- [Publishing Plans](/docs/user-guides/plans/publishing-plans) - Finalizing versions
- [Baseline Comparison](/docs/user-guides/gantt/baseline-comparison) - Gantt baseline