Skip to content

Releases

v5.0.1

Choose a tag to compare

@sharpSteff sharpSteff released this 04 Oct 09:11

What's Changed

  • docs: fix internal links 404ing by prefixing baseurl by @sharpSteff in #639
  • [Fix] #647 - [FloatingWindow] Fixed edge flickering while resizing floating windows without regressing #345 by @sharpSteff in #648
  • increment version by @sharpSteff in #649
  • Bump NUnit.Analyzers from 4.13.0 to 4.14.0 by @dependabot[bot] in #644
  • Bump NUnit3TestAdapter from 6.2.0 to 6.3.0 by @dependabot[bot] in #650
  • Fix floating window region corner radius by @Avlaak in #657
  • Additional null checks in AutoHideWindowManager by @bbuerger in #658
  • Add check for readonly to prevent InvalidOperationException by @bbuerger in #659
  • Bump System.Text.Json from 10.0.10 to 10.0.12 by @dependabot[bot] in #656
  • Bump Microsoft.Extensions.DependencyInjection.Abstractions from 10.0.10 to 10.0.12 by @dependabot[bot] in #653
  • Bump Microsoft.Extensions.DependencyInjection from 10.0.10 to 10.0.12 by @dependabot[bot] in #660
  • Bump Microsoft.NET.Test.Sdk from 18.8.1 to 18.10.0 by @dependabot[bot] in #654
  • Bump Microsoft.Extensions.DependencyInjection from 10.0.10 to 10.0.12 by @dependabot[bot] in #661

New Contributors

Full Changelog: v5.0.0...v5.0.1

What's Changed

  • docs: fix internal links 404ing by prefixing baseurl by @sharpSteff in #639
  • [Fix] #647 - [FloatingWindow] Fixed edge flickering while resizing floating windows without regressing #345 by @sharpSteff in #648
  • increment version by @sharpSteff in #649
  • Bump NUnit.Analyzers from 4.13.0 to 4.14.0 by @dependabot[bot] in #644
  • Bump NUnit3TestAdapter from 6.2.0 to 6.3.0 by @dependabot[bot] in #650
  • Fix floating window region corner radius by @Avlaak in #657
  • Additional null checks in AutoHideWindowManager by @bbuerger in #658
  • Add check for readonly to prevent InvalidOperationException by @bbuerger in #659
  • Bump System.Text.Json from 10.0.10 to 10.0.12 by @dependabot[bot] in #656
  • Bump Microsoft.Extensions.DependencyInjection.Abstractions from 10.0.10 to 10.0.12 by @dependabot[bot] in #653
  • Bump Microsoft.Extensions.DependencyInjection from 10.0.10 to 10.0.12 by @dependabot[bot] in #660
  • Bump Microsoft.NET.Test.Sdk from 18.8.1 to 18.10.0 by @dependabot[bot] in #654
  • Bump Microsoft.Extensions.DependencyInjection from 10.0.10 to 10.0.12 by @dependabot[bot] in #661

New Contributors

Full Changelog: v5.0.0...v5.0.1

v5.0.0

Choose a tag to compare

@sharpSteff sharpSteff released this 12 Aug 14:34
408dc28

AvalonDock v5.0.0

The first major release of AvalonDock in years. v5 modernizes the core of the library: serialization is no longer tied to IXmlSerializable, dependency injection got a proper builder API, the theme stack understands current Visual Studio theme formats, and floating window handling was reworked from the ground up.

If you are coming from v4.74.x, please read the Breaking changes section first — most upgrades are a handful of lines, but a few are not source-compatible.


⚠️ Breaking changes

Serialization is now DTO-based

The layout serialization stack was rewritten around plain data transfer objects. IXmlSerializable implementations were removed from the layout model, which means:

  • Layout persistence is no longer hard-wired to XmlSerializer. Any serializer can be plugged in — XML and JSON ship out of the box.
  • Custom code that relied on the layout elements implementing IXmlSerializable, or that hooked into the old read/write methods, needs to move to the DTO layer.
  • Reading existing v4 layout files keeps working: the XML deserializer was made deliberately tolerant of legacy formats (#607, #613). Files written by v5 are not guaranteed to load in v4.

Package layout and naming

NuGet package naming and the package set were reworked (#570, #574, #583). Themes and serializers are shipped as separate packages — check your PackageReference entries rather than assuming the v4 names still resolve.

Public API cleanup

Obsolete and inconsistent members were removed or renamed across the v5 line (#567, #581, #625). Most fixes are a rename; the compiler will point you at all of them.


Highlights

Serialization

  • Full DTO-based serialization stack, serializer-agnostic by design (#580)
  • System.Text.Json implementation with round-trip tests (#624)
  • Tolerant XML deserialization for legacy layout files (#607, #613)
  • Fixed the XmlSerializer "file not found" failure on .NET 6+ — thanks @KlaskSkovby (#606)
  • Substantially expanded XML serialization test coverage (#586)

Themes

  • New VS2022 theme (#582)
  • VS2026 JSON theme support (#597)
  • Support for gzipped .vstheme files in AvalonDock.Themes.VS, with VS2013 migrated onto the same infrastructure (#572)
  • Dedicated VS theme package (#583)
  • Docking hints render again in the Expression theme (#494, #634)
  • IconSource is now shown on document tabs (#483, #635)
  • The sidebar toggle picks up its colours from the auto-hide tab brushes instead of hard-coded values (#636)

Floating windows

This area saw the most behavioural work in v5:

  • Undock as a real window — new option to detach content into an actual top-level window rather than a floating overlay (#621)
  • Floating window ownership is deferred until the hosting window is actually shown, fixing z-order and startup issues (#618, #620) and set during Loaded — thanks @bbuerger (#608)
  • Inheritable dependency properties now propagate into floating windows (#615, #616)
  • The system close button routes through HideWindowCommand for floating anchorables — thanks @xoma-zver (#368, #610)
  • Drag overlay windows no longer pile up during repeated drag operations (#587, #632)
  • Ghost tool windows after undocking are gone (#622)
  • Entering float mode through the context menu options works again (#589)
  • New switches on DockingManager to disable floating and/or window creation entirely (#637)

Keyboard and input

  • Keyboard shortcuts for toggling toolboxes (#592), with the shortcut surfaced in the tooltip when one is assigned (#595)
  • Option to ignore the TabControl key bindings so inner elements can handle their own shortcuts — thanks @Rijno (#508)

Layout and docking behaviour

  • Stable pane insertion order for DocumentPaneDockRight / DocumentPaneDockBottom — thanks @john-lemon7 (#556)
  • Anchorable alignment fixed for the classic DockingManager driven via MVVM DockLayout (#578)
  • ContentDocking / ContentDocked now fire when re-docking via drag and drop (#601)
  • Correct logical children order (#614, #617)
  • A CanClose style setter now wins over the inherited default (#505, #633)
  • IToolbox.IsOpen is honoured when set before load (#631)
  • Multiple interaction and styling fixes in the navigator — thanks @LyonJack (#598)
  • General robustness fixes found during production use of v5 (#605)
  • Pattern matching / index validation hardening — thanks @bbuerger (#554)

Documentation

The docs are a first-class part of v5:

  • New tutorials covering MVVM, dependency injection, styling and layout persistence (#562)
  • README rewritten for v5 (#563, #569, #603)
  • API documentation generation enabled and published (#577), with deployment fixes (#573, #579)
  • License information simplified (#571)
  • NuGet package table corrected and completed (#568, #570)

Build, CI and dependencies

  • CI/CD reworked so that support releases for older lines (v4) can still be published from the same pipeline (#593)
  • FlaUI UI test stabilized around the detach gesture in the layout round-trip test (#638)
  • Test app styling fixed (#588)
  • Sonar analyzers pinned to avoid new analyzers appearing on minor version bumps (#611)
  • Dependency updates: Microsoft.Extensions.DependencyInjection and .Abstractions 9.0.0 → 10.0.10, Microsoft.NET.Test.Sdk 18.4.0 → 18.8.1, NUnit 4.5.1 → 4.6.1, NUnit.Analyzers 4.12.0 → 4.13.0, Microsoft.CodeAnalysis.Metrics 4.14.0 → 5.6.0, plus GitHub Actions bumps

Upgrading from v4

  1. Update your PackageReference entries — the package set changed, and themes/serializers are separate packages.
  2. If you registered the layout service through DI, switch AddDockLayoutService to the new builder API.
  3. If you implemented custom serialization against IXmlSerializable, move to the DTO layer.
  4. Rebuild and follow the compiler errors for the API cleanup renames.
  5. Existing layout files should load unchanged. Please open an issue if one does not — legacy compatibility is something we want to keep.

New Contributors

Thanks to everyone who reported issues, tested pre-release builds and sent PRs.

Full Changelog: v4.74.1...v5.0.0

What's Changed

Read more

v4.74.1

Choose a tag to compare

@github-actions github-actions released this 25 Apr 08:56
028a5f3

What's Changed

Full Changelog: v4.74.0...v4.74.1

v4.74.0

Choose a tag to compare

@github-actions github-actions released this 19 Apr 08:27

What's Changed

Full Changelog: v4.73.0...v4.74.0

v4.73.0

Choose a tag to compare

@github-actions github-actions released this 10 Apr 10:16
dd2ba9f

What's Changed

  • Add GitHub Actions CI/CD + .NET 9/10 support by @sharpSteff in #517
  • fix: add dotnet pack commands to release workflow by @sharpSteff in #525
  • Bump Microsoft.NET.Test.Sdk from 17.8.0 to 18.3.0 by @dependabot[bot] in #522
  • Bump Microsoft.CodeAnalysis.Metrics from 3.3.4 to 4.14.0 by @dependabot[bot] in #521
  • Bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #519
  • Additional Null-Check in TransformToDeviceDPI by @bbuerger in #462
  • Update README.md by @Suplanus in #449
  • Added additional NullChecks in OnClosed LayoutAnchorableFloatingWindowControls.cs by @bbuerger in #452
  • Bump NUnit from 3.14.0 to 4.5.1 by @dependabot[bot] in #523
  • Bump actions/checkout from 4 to 6 by @dependabot[bot] in #520
  • Bump NUnit3TestAdapter from 4.5.0 to 6.2.0 by @dependabot[bot] in #526
  • Bump actions/setup-dotnet from 4 to 5 by @dependabot[bot] in #518
  • Add NuGet package tags (WPF, avalondock, docking, layout, MVVM) by @Copilot in #527
  • #511 Fix Nullref in LayoutDocumentTabItem.OnMouseLeftButtonDown by @sharpSteff in #512
  • Bump NUnit.Analyzers from 3.9.0 to 4.12.0 by @dependabot[bot] in #524
  • Adjust GetSide to allow for multiple anchorable panes on the left or top by @mpondo in #486
  • Support custom style for LayoutAutoHideWindowControl's inner Grid by @scasteran-jw in #498
  • Improved Styling and Resizing Options for Floating Windows by @xoma-zver in #469
  • [CI/CD] Add automated UI Tests by @sharpSteff in #529
  • Do not add FloatingWindow to _fwList a second time in OnLayoutChanged. by @juyanith in #457
  • Fix issue 489 - Changed layout restoration logic to set WindowState directly after Show and within the same scope by @TheBobFella in #490
  • Add static code checks by @sharpSteff in #530
  • Skip mouse events of unloaded controls by @Khaos66 in #454
  • Split UI test and normal Unit tests by @sharpSteff in #531
  • Unlist preview packages on release by @sharpSteff in #532
  • fix release version arguments and stabilize UI Tests by @sharpSteff in #533

New Contributors

Full Changelog: v4.72.1...v4.73.0

AvalonDock Version 4.72.1

Choose a tag to compare

@Dirkster99 Dirkster99 released this 16 Aug 10:24

AvalonDock Version 4.72.0

Choose a tag to compare

@Dirkster99 Dirkster99 released this 24 Mar 13:35

AvalonDock Version 4.71.2

Choose a tag to compare

@Dirkster99 Dirkster99 released this 29 Jan 17:16

AvalonDock Version 4.71.1

Choose a tag to compare

@Dirkster99 Dirkster99 released this 26 Dec 17:57

AvalonDock Version 4.71.0