# Upgrading to 2.0
This guide covers the key changes when upgrading to AshArchival 2.0.
## New archive_related_authorize? Option
Version 2.0 introduces the `archive_related_authorize?` configuration option that controls whether authorization checks are enforced when archiving related records.
```elixir
defmodule MyApp.User do
use Ash.Resource,
extensions: [AshArchival.Resource]
archive do
archive_related([:posts, :comments])
archive_related_authorize?(false) # Recommended setting
end
end
```
## Breaking Change
This is a **breaking change** because in some cases when reading records during the archival process, we previously used `authorize?: false`, but now we respect the `archive_related_authorize?` setting.
**What changed:**
- Default behavior: `archive_related_authorize?: true` (authorization is enforced)
- Previously: authorization was inconsistently applied when reading related records for archival
- Now: explicit control over authorization behavior
## Recommended Action
For most applications, you should set `archive_related_authorize?: false`:
```elixir
archive do
archive_related([:posts, :comments])
archive_related_authorize?(false)
end
```
The reason you want it to be `false` is because you typically want to just authorize access to archive the parent record, and if that is allowed, then all related records will be archived without additional authorization checks.
## When to Keep Default (true)
Only keep the default `true` if you need fine-grained authorization control where some related records should only be archived if the actor has explicit permission to destroy them.