Serene v3.12.3 Release Notes

Release Date: 2020-02-22 // about 4 years ago
  • 🔋 Features:

    • if null value handling is set to include, row converter should also serialize null fields
    • define JsonSettings.StrictIncludeNulls and JsonSettings.TolerantIncludeNulls which serializes null values, and checks them on deserialization. JSON class methods also has an additional includeNulls (default = false) to be able to use these settings.
    • added NavigationPermissionAttribute which takes precedence over ReadPermissionAttribute on a row to determine permission for page and navigation item of the row.
    • add AsSqlValue method which calls AsObject by default to Field object. this will be useful for fields which has a different storage type then their value type, e.g. JsonField
    • added JsonField type. it has no attributes that controls serialization options like nulls so such options must be set through Field.Settings property if required for now.
    • don't show an error if xhr status is abort
    • added async source support to Select2Editor
    • added async option to use getLookupAsync to lookup editor
    • added ServiceLookupEditor type
    • don't use type delay for initial load, hide select2 spinner while waiting for type delay
    • add async option to lookupeditor which makes it work like a service lookup editor
    • added FieldReadPermissionAttribute which determines the default permission required to read fields of a row, optionally excluding [LookupInclude] and Id/Name fields. This will make it easier to use a ServiceLookupEditor with a row, for example by setting [ReadPermission("Northwind:Lookups")], [FieldReadPermission("Northwind:General", ApplyToLookups = false)], [NavigationPermission("Northwind:General")], so only users with Northwind.General can see the page and read all the fields through the list service / grid, while a user with Northwind.Lookups permission can call List service but can only read ID + Name + LookupInclude fields through it.
    • adding missing field HeaderHtmlUrl to IHtmlToPdfOptions
    • include pdb file for serenity.web for source link debug support
    • ensure connection is open for better compatibility with mvc version in dapper interface

    🛠 Bugfixes:

    • fix Q.getLookupAsync not actually working async
    • avoid double initSelection by setting select2-change-triggered
    • fix layout timer registration cleanup
    • title text should be read from child with .title-text class
    • avoid exception while determining url when a controller has multiple action methods with same name