This guide describes how to update your code to be fully compatible with Catel 5.0.
Catel v5 contains a lot of breaking changes, not all of them cause compiler errors but change core behavior. It’s important to check out the guide below before updating to Catel v5.
This guide assumes that you are coming from Catel 4.5. If not, please read that guide first.
Encountered issues while upgrading to this version? Add them here to help out others!
Platform support changes
Added support for the following platforms:
- .NET 4.7
Removed support for the following platforms:
- .NET 4.0
- Silverlight 5
- Windows Phone 8.0 (Silverlight)
- Windows Phone 8.1 (Silverlight)
- Windows Phone 8.1 (Runtime)
- Windows 8.1 (Runtime)
The following extensions have been moved to a new repository:
- Catel.Extensions.Controls (moved to Orc.Controls & Orchestra)
- Catel.Extensions.DynamicObjects (moved to Orc.DynamicObjects)
- Catel.Extensions.EntityFramework (moved to Orc.EntityFramework)
- Catel.Extensions.FluentValidation (moved to Orc.FluentValidation)
- Catel.Extensions.Memento (moved to Orc.Memento)
- Catel.Extensions.Prism5 (moved to Orc.Prism)
- Catel.Extensions.Prism6 (moved to Orc.Prism)
The following extensions have been removed:
Note that if you are using Catel.Fody, you must update to at least 2.17 to support Catel 5.
CommandLineHelper has been removed. Use Orc.CommandLine instead.
DynamicEventListener has been removed. Use
ModelBase has been greatly simplified to decrease the memory print and improve performance. The class is split up into separate classes:
- ModelBase => takes care of basic serialization and property bag registrations
- ValidatableModelBase => adds validation
- ChildAwareModelBase => contains the child event subscriptions logic (which is very costly)
- SavableModelBase => adds
- ComparableModelBase => contains the equality comparer members. This means the
ModelBaseitself does no longer support equality checks based on the property values
XAML namespace changes
The xaml namespace has changed from
CountCollapsedConverter has been removed. Use
EffectsHelper has been removed. No replacement is available.
ViewModelBase has been simplified. It now derives from
ValidatingModelBase (so still supports validation). The following features / members have been removed:
HasDirtyModelshas been removed
- Validation summaries (use the
VisualTargetPresentationSource has been removed. No replacement is available.
Have a question about Catel? Use StackOverflow with the Catel tag!