v2.1: API-smoothing and performance

Published by Marco on

Updated by Marco on

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

Quino 2 is finally ready and will go out the door with a 2.1 rather than a 2.0 version number. The reason being that we released 2.0 internally and tested the hell out of it. 2.1 is the result of that testing. It includes a lot of bug fixes as well as API tweaks to make things easier for developers.

On top of that, I’ve gone through the backlog and found many issues that had either been fixed already, were obsolete or had been inadequately specified. The Quino backlog dropped from 682 to 542 issues.

Breaking changes

The following changes are marked with Obsolete attributes, so you’ll get a hint as to how to fix the problem. Since these are changes from an unreleased version of Quino, they cause a compile error.

  • UseMetaSchemaWinformDxFeedback() has been renamed to UseMetaschemaWinformDx()
  • UseSchemaMigrationSupport() has been renamed to UseIntegratedSchemaMigration()
  • MetaHttpApplicationBase.MetaApplication has been renamed to BaseApplication
  • The IServer.Run() extension method is no longer supported.
  • GetStandardFilters, GetStandardFiltersForFormsAuthentication() and GetStandardFiltersForUnrestrictedAuthentication are no longer supported. Instead, you should register filters in the IOC and use the IWebFilterAttributeFactory.CreateFilters() to get the list of supported filters
  • The ToolRequirementAttribute is no longer supported or used.
  • AssemblyExtensions.GetLoadableTypesWithInterface() is no longer supported
  • AssemblyTools.GetValidAssembly() has been replaced with AssemblyTools.GetApplicationAssembly(); GetExecutableName() and GetExecutablePath() have removed.
  • All of the constant expressions on the MetaBuilderBase (e.g. EndOfTimeExpression) are obsolete. Instead, use MetaBuilderBase.ExpressionFactory.Constants.EndOfTime instead.
  • All of the global values on MetaObjectDescriptionExtensions are obsolete; instead, use the IMetaObjectFormatterSettings from the IOC to change settings on startup.
  • Similarly, the set of extension methods that included GetShortDescription() has been moved to the IMetaObjectFormatter. Obtain an instance from the IOC, as usual.