Version Specific Upgrade Notes
Version specific documentation for upgrading to new major versions of Umbraco Forms.
This page covers specific upgrade documentation for when migrating to major 12 of Umbraco Forms.
If you are upgrading to a new minor or patch version, you can find information about the breaking changes in the Release Notes article.
Version Specific Upgrade Notes History
Version 12 of Umbraco Forms has a minimum dependency on Umbraco CMS core of 12.0.0
. It runs on .NET 7.
Breaking changes
Version 12 contains a number of breaking changes. If you do run into any, they should be straightforward to adjust and recompile.
For reference, the full details are listed here:
Behavior
The default value for configuration of request IP tracking has been changed to
None
fromRemoteIpAddress
.The session variable
ContourMemberKey
is no longer set.Exception handling in the Forms API has been aligned with the CMS Delivery API. This leads to subtle differences in the population of the
ProblemDetails
exposed.Use of the Forms API has to be enabled in configuration, via setting the
Umbraco:Forms:Options:EnableFormsApi
key totrue
.The Swagger document for the Forms API has been removed and is now combined with that for the CMS Delivery API, at
umbraco/swagger/index.html
.The Forms API paths have had the
/v1.0/
segment renamed to/v1/
, to align with the CMS Delivery API.
Dependencies
Umbraco CMS dependency was updated to
12.0.0
.The dependency on
Hellang.Middleware.ProblemDetails
was removed.The dependency on
NSwag.AspNetCore
was removed and replaced withSwashbuckle.AspNetCore
.
Code
The following updates describe the more significant changes to the codebase and public API:
The interfaces that previously defined entity model classes have been removed. These were
IFormEntity
,IFolderEntity
,IWorkflowEntity
,IDataSourceEntity
andIPrevalueSourceEntity
. All code now refers to the concrete classes.The interfaces that previously defined application model classes have been removed. These were
IFieldPreValueSource
,IFormDataSource
,IFormDataSourceField
,IWorkflow
,IRecordField
andIRecord
.These changes affect service, repository and other interfaces and classes that previously used these interfaces. All methods have been updated to use the concrete classes as parameters and return values.
The now unused class
InterfaceJsonConverter
was removed.
These updates are more minor. We don't expect many projects to be affected by them as they are in areas that are not typical extension points:
The obsolete constant
FormsConfigPath
was removed.Obsolete constructor was removed on
DictionaryHelper
.Obsolete overloads of
StringExtensions.ParsePlaceHolders
was removed.Unused parameter in the constructors of
DatabaseIntegrityHealthCheck
andMsSqlAnalyzer
were removed.Default interface implementations were removed from the
MessageOnSubmitIsHtml
,DisplayDefaultFields
andSelectedDisplayFields
properties defined onIFormEntity
.The
SearchForms
method, previously defined in the implementation ofIFormService
, has been added to the interface.An obsolete method on
IPlaceholderParsingService
were removed.An obsolete method on
IWorkflowService
were removed.Obsolete methods on
UmbracoBuilderExtensions
were removed.The obsolete constructors on
BaseEmailWorkflowType
,SendEmail
,SendRazorEmail
andSendXsltEmail
workflows were removed.The obsolete constructors on
FormsApiControllerBase
,DefinitionsController
andEntriesController
API controllers were removed.The obsolete constructors on
UmbracoFormsController
were removed.The obsolete constructors on
FieldController
andRecordController
were removed.The obsolete overload on the
ViewHelper.RenderPartialViewToString
method was removed and theFakeController
class used in this method was made private.The obsolete
Build
method overload was removed inFormViewModel
.The obsolete constructor on
FormRenderingService
was removed.The Forms API model classes and serialization customizations were moved from
Umbraco.Forms.Web
intoUmbraco.Forms.Core
.The
ISupportFileUploads
interface was moved toUmbraco.Forms.Core.Interfaces
.Additional parameters were added to the constructors of
FormPickerPropertyValueConverter
andFormDtoFactory
.The setting properties available on all field, workflow and other provider types have been made virtual.
Legacy version specific upgrade notes
You can find the version specific upgrade notes for versions out of support in the Legacy documentation on Github.
Last updated