Released Catel 4.0.0

We have just pushed the button to release the new version of Catel. This version was in the making for over 8 months and contains a lot of improvements to make it easier to maintain Catel in the future. The team fixed over 200 tasks for this release. There are a few very important documents you want to read before updating:

  1. Breaking changes in 4.0
  2. Full release notes – jira
  3. Full release notes – txt

This blog post will only highlight the biggest changes. Starting with Catel 4.0, we use shared projects for all projects. This means that we can easily share code across all projects but can still provide platform-specific implementations which would be impossible using Portable Class Libraries (PCL). We are considering a light-weight PCL of Catel, but this will only happen with the support and help of the community. Want to help out? Let us know!

Most important changes

Below is the list of changes we are most proud of:

  • Changed license to MIT
  • ApiCop – automatic advisory reporting on how to improve the usage for your Catel applications
  • Full async / await support
  • Performance improvements (up to 75 % in MVVM applications)
  • Added support for Xamarin (Android and iOS) and Windows Universal apps

Under the hood, we also made a lot of changes for development convenience:

  • Using shared projects instead of linked files which makes it much easier to manage the solution / projects (but still keep the possibility to implement platform specific code)
  • Improved internals of views so they can easily be used in external 3rd party controls

What’s next?

Even though we test with both unit tests and run integration tests ourselves, with any release as large as this one, there will probably be issues. We are planning to have shorter release cycles (preferably every 2-4 weeks). The first few releases will mainly be maintenance releases to ensure that everyone can switch to 4.0. Then we will think of the new roadmap ahead.