---
title: Breaking Changes
layout: default
parent: Migration Guide
nav_order: 1
description: "Complete list of breaking changes in AvalonDock v5.0.0."
---
# Breaking Changes in v5.0.0
This page lists all breaking changes between AvalonDock v4.x and v5.0.0, organized by category.
---
## Package Structure
### Serializers Extracted to Separate Packages
**Impact:** High — affects all projects using layout serialization.
The XML layout serializer has been moved from the core `AvalonDock` package to `AvalonDock.Serializer.Xml`. A new JSON serializer is available in `AvalonDock.Serializer.Json`.
| Change | Details |
|:-------|:--------|
| **Removed from** | `Dirkster.AvalonDock` |
| **Moved to** | `Dirkster.AvalonDock.Serializer.Xml` |
| **Old namespace** | `AvalonDock.Layout.Serialization` |
| **New namespace** | `AvalonDock.Serializer.Xml` |
| **Fix** | Install the serializer package and update `using` statements. |
```diff
- using AvalonDock.Layout.Serialization;
+ using AvalonDock.Serializer.Xml;
```
### New Core Package
**Impact:** Low — automatically referenced.
A new `AvalonDock.Core` package contains UI-agnostic interfaces and models. It is automatically referenced by `AvalonDock`, so no explicit installation is needed.
---
## Architecture
### ILayoutEngine Introduction
**Impact:** Low to Medium — only affects custom layout logic.
The layout calculation logic has been formalized behind the `ILayoutEngine` interface.
| Change | Details |
|:-------|:--------|
| **Added** | `ILayoutEngine` interface |
| **Added** | `DefaultLayoutEngine` implementation |
| **Affected** | Custom layout calculations using internal APIs |
| **Fix** | Implement `ILayoutEngine` for custom layout behavior. |
---
## Target Framework Changes
### Dropped Frameworks
**Impact:** High — if targeting dropped frameworks.
| Framework | Status |
|:----------|:-------|
| .NET Framework 4.0 | ❌ **Removed** |
| .NET Framework 4.5.2 | ❌ **Removed** |
| .NET Core 3.0 / 3.1 | ❌ **Removed** |
| .NET 5.0 | ❌ **Removed** |
| .NET 6.0 / 7.0 / 8.0 | ❌ **Not targeted** |
**Supported frameworks in v5.0.0:**
- .NET Framework 4.8
- .NET 9.0 (with `-windows` TFM)
- .NET 10.0 (with `-windows` TFM)
**Fix:** Update your project to target one of the supported frameworks:
```xml
net9.0-windows
net10.0-windows
net48
net10.0-windows;net9.0-windows;net48
```
---
## New Features (Non-Breaking)
These additions are new in v5.0.0 and do not break existing code:
| Feature | Package | Description |
|:--------|:--------|:------------|
| ToggleDockingManager | `AvalonDock` | VS Code / Rider-style sidebar with toggle buttons. |
| Arc Theme | `AvalonDock.Themes.Arc` | Modern theme with dark/light variants. |
| JSON Serializer | `AvalonDock.Serializer.Json` | JSON-based layout serialization. |
| MVVM Base Classes | `AvalonDock.Mvvm` | `DockableBase`, `ToolboxBase`, `DockLayoutService`, etc. |
| MVVM CommunityToolkit | `AvalonDock.Mvvm.CommunityToolkit` | `ObservableDockableBase`, `ObservableToolboxBase` with source generators. |
| DI Integration | `AvalonDock.DependencyInjection` | `AddAvalonDock()` extension method. |
| Core Abstractions | `AvalonDock.Core` | `IFactory`, `IDockingManager`, `IAutoHideManager`, etc. |
| DTO Serialization | `AvalonDock.Core` | Serialization refactored to DTO layer; custom serializers can extend `LayoutSerializerBase`. |
---
## Behavioral Changes
### Layout Restacking
A bug fix in v5.0.0 corrects the restacking behavior for bottom-docked panels. If your application relied on the previous (incorrect) behavior, you may notice panels appearing in different positions after restacking.
**Fix:** Test your layouts and adjust panel placement if needed.
---
## Summary Table
| Category | Change | Impact | Action |
|:---------|:-------|:-------|:-------|
| Packages | Serializers separated | High | Install serializer package |
| Namespaces | Serializer namespace moved | High | Update `using` statements |
| Architecture | `ILayoutEngine` added | Low | No action for default behavior |
| Frameworks | .NET < 4.8 dropped | High | Upgrade target framework |
| Frameworks | .NET Core 3.x / 5 dropped | High | Upgrade target framework |
| Themes | Arc theme added | None | Optional adoption |
| Serialization | JSON serializer added | None | Optional adoption |
| Behavior | Bottom restack fix | Low | Test and verify layouts |