Catel v5.12.0 Release Notes

Release Date: 2019-12-23 // over 4 years ago
  • ๐Ÿš€ As part of this release we had 247 commits which resulted in 25 issues being closed.

    ๐Ÿ’ฅ Breaking change

    • #1490 Update minimum target version for UAP to 10.0.16299

    ๐Ÿ”‹ Features

    • #1488 Add IAppDataService to allow customization of the application data base directories
    • #1447 Add Catel.Data.IObjectAdapter with a Reflection and ExpressionTree implementation
    • #1437 Implement caching of boxed values in ModelBase to decrease memory footprint
    • #1421 ObservableDictionary Support

    ๐Ÿ› Bugs

    • #1504 Service locator is not registering services decorated with attribute "ServiceLocatorRegistration"
    • #1476 Fix rare potential "collection was modified" enumeration in TypeCache
    • #1474 DependencyObjectExtensions.FindLogicalOrVisualAncestor returns null when it should find a parent
    • #1467 Update ThemeInfo theme specific resource dictionary to None
    • #1453 FileSupport => SaveFileService & OpenFileService: Bug if InitialDirectory does not exist
    • #1434 Serialization should respect graph ids when deserializing collections
    • #1408 Logging in TypeFactory uses wrong parameter name

    ๐Ÿ‘Œ Improvements

    • #1503 Return result of view model in UIVisualizerService.ShowAsync()
    • #1473 Support serialization of manually registered properties on DynamicConfiguration
    • #1469 Prevent first chance exceptions about DialogResult when window is not shown modal
    • #1455 Move code snippets to Catel.Templates and deploy in the Visual Studio marketplace
    • #1454 Minimize usage of PropertyHelper where possible
    • #1451 Use ObjectAdapter in ViewModelBase property mappings
    • #1450 Remove boxing from value to TValue in FastMemberInvoker
    • #1441 Clean up TypeExtensions with system extensions for UAP
    • #1440 Use ObjectAdapter in ViewModelBase for property mappings
    • #1439 Consider using expression trees in ObjectAdapter
    • #1436 Decrease allocations of objects during (de)serialization
    • #1435 Decrease XmlWriterSettings allocations during serialization by caching it
    • #1319 Add TypedPropertyBag to prevent boxing