Published by Marco on 5. Aug 2016 16:20:40
------------------------------------------------------------------------

The summary below describes major new features, items of note and breaking
changes. The "full list of issues"

is also available for those with access to the Encodo issue tracker.

[Highlights]

This release is a "bridge" release that has the entire new Metadata API as well
as the older version, which is marked as obsolete. It is intended that projects
upgrade to this version only temporarily in order to more easily migrate to the
4.0 Metadata API. At that point, projects should immediately upgrade to Quino
4.0, from which all obsolete methods have been removed. Once 4.0 is available,
there will be no more bug-fix releases for this release.

[Metadata construction]

  * Remove MetaId/Guid parameters from all metadata-building APIs
  * Remove all dependencies and requirement for the MetaBuilder; make
    MetaBuilder obsolete.
  * Drastically reduce the surface of the MetadataBuilder and base classes and
    improve dependency-resolution
  * Replaced AddClassWithDefaultPrimaryKey("A") with AddClass("A").AddId()
  * Added AddForeignKeys() step to builders and AddForeignKey() APIs
  * Moved a lot of the builder-related extension methods from Quino.Meta to
    Quino.Builders.
  * Added API to make it easier to add paths: AddPath(classA.FromOne(),
    classTwo.ToMany("OneId"))
  * Fixed generation of extension classes (e.g. PunchclockUser).

[Data & Schema]

  * Made all GenericObject constructors without an IDataSession obsolete.
  * Removed last reference to the GlobalContext from the data driver
  * Improved flexibility of caching subsystem and added default
    global/immutable-data cache (in addition to the session-based cache).
  * Fixed schema-migration for SQL Server: not-null constraints are now properly
    added and trigger-migration works with pure SQL statements and has been
    drastically simplified.

[Configuration]

  * Added BootstrapServices to the application to clearly delineate which
    objects are needed during the boostrap phase of configuration and startup
  * Re-added all satellite assemblies for all Quino Nuget packages (ch-DE
    translations)

[GUI]

  * Replaced all usages of DevExpress TreeList with GridControl/GridView.
  * Added a lot of WPF controls and application implementation with a
    Sandbox.WPF project


[Breaking changes]

  * PersistentEventHandlerAspect has been renamed to
    PersistentEventHandlerAspectBase


[Roadmap]

The next step is to bring out the 4.0 release, which will include the following
features,

  * Remove all currently obsolete code
  * Reshape the metadata API to be more task-based and to significantly reduce
    the surface revealed to the application developer. This includes a drastic
    reduction of extension methods in Quino.Meta
  * Finish implementation and support for layouts everywhere (specifically as
    they are used for titles).
  * Split Quino.Data.Backend out of Quino.Data to reduce the surface exposed to
    application developers.
  * Deprecate IMetaReadable, IMetaWritable and IPersistable and replace with a
    more appropriate and slimmer API.