The summary below describes major new features, items of note and breaking changes. The full list of issues is in the release notes below and is available to those with access to the Encodo issue tracker.
Most of the existing metadata-building API has been deprecrated and replaced with a fluent API that is consistent and highly extensible.
IMetaClass.Actionsauto-managed and read-only sequences (QNO-5402, QNO-5400, QNO-5400)
MetaBuilderalong with associated metadata builders and extension methods.
IDataSessionsticky, by default (QNO-5018)
IDataObject(QNO-5429, QNO-5238, QNO-4737, QNO-3043)
Encodo.Quino.Builders.Extensionsnamespace has been removed. All members were moved to
Quino.Meta.Standardno longer exists and may have to be removed manually if Nuget does not remove it for you.
AddValueListProperty()all expect a parameter of type
IDataSessionAwareListis used instead of
DataListhave been made private
GenericObject.DoSetDedicatedSession()is no longer called or overridable
IApplicationas constructor parameters anymore. Instead, use the Application or Session to create the authenticator with
GetInstance<TService>(). E.g. if before you created a
TokenAuthenticatorwith this call,
new TokenAuthenticator(Application), you should now create the
Application.GetInstance<TokenAuthenticator>(). You are free also to call the new constructor directly, but construction using the IOC is strongly recommended.
DataSessionhas changed; this shouldn’t cause too many problems as applications should be using the
IDataSessionFactoryto construct instances anyway.
IDataGeneratorinterface instead of using the
ISchemaDifferencehave changed, so the output of a migration plan will also be different. Software that depended on scraping the plan to determine outcomes may no longer work.
NULL-constraint violation will be thrown by the database. Existing applications will have to be updated: either set a default value in the metadata or set the property value before saving objects.
SetCodeGenerated()on the multi-language or value-list property
LanguageTools.GetCaption()no longer defaults to
GetDescription()because this is hardly ever what you wanted to happen.
CaptionExtensionsare now in
CaptionToolsand are no longer extension methods on
ReflectionExtensionsare now in
ReflectionToolsand are also no longer extension methods on
Operation<>with new method signature
Some Windows-specific functionality has been moved to new assemblies. These assemblies are automatically included for Winform and WPF applications (as before). Applications that want to use the Windows-specific functionality will have to reference the following packages:
WindowsIdentity-based code, use the
Encodo.Connections.Windowspackage and call
ApplicationSettingsBasesupport, use the
Encodo.Application.Windowspackage and call
Encodo.Security.Windowspackage and call