HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Forms 2 - Breaking changes

Describes the breaking changes from Optimizely Forms version 1 to version 2.



Optimizely Forms is supported by MVC-based websites only.

Some changes are binary breaking but do not necessarily require code changes but rather just a project recompilation.

  • AFORM-455 Forms.DLL is now signed.
  • AFORM-540 Actor can now run sync or async with the submission process. With sync-Actor, a developer can modify the response return to the Visitor. See also Implement a customized Actor.
  • AFORM-551 Autofill API
    • Introduce IAutofillProvider and AutofillService.
    • Change IFormElement.GetDefaultValue().
  • AFORM-472] The intention of RichTextWithPlaceholder is Recall field value in previous-step. With this feature, RichTextWithPlaceholder element works like a normal XHTML block (even when no placeholder exists).
  • AFORM-418 Progressive Profiling for Forms BETA.
  • AFORM-480 Built-in Submit button now has a Progressive Profiling feature.
  • AFORM-526 Option to not load the default style sheet (EPiServerForms.css).

API changes


  • IFormElement interface has a method: IFormElement.GetDefaultValue().
  • AFORM-533 IPostSubmissionActor interface has properties to provide information about Field mapping to external systems.
    • Actor can be sync or async
    • Only sync-actor can have/modify the ResponseBase object
    • If a third-party developer uses PostSubmissionActorBase, their class is not affected.
  • AFORM-534 Feed API should be for internal use only.
  • AFORM-541 Renamed IElementTittle to IElementTitle, (fixing a typographical error in naming).
  • AFORM-488 Refactored static functions of validation, moved to ValidationService.

Marked as obsolete

  • Method of FormsExtensions should be treated as Internal use only. They are helper functions and are not critical to providing services to third-party developers.
  • Properties
    • FieldMapping.Name
    • FormElement.Code
    • FormElement.AttributesString
    • IFormElement.Code
    • IFormElement.AttributesString
  • Methods
    • ElementBlockBase.FindParentForm
    • FormsExtensions.GetSelectedDatasource
    • FormsExtensions.GetMatchedValidator
  • Types
    • EPiServer.Forms.Core.FieldMapping
    • EPiServer.Forms.Implementation.DataSubmissionEngine
    • EPiServer.Forms.Implementation.FileSaveItem
    • EPiServer.Forms.Implementation.ProgressiveSubmitInfoService
    • EPiServer.Forms.Implementation.ProgressiveSubmitInfoService