SurveyJS v2.5.34

Released: July 14, 2026

This release introduces an API for registering question type aliases. Alongside this release, SurveyJS v3.0 Beta is available as a major upcoming milestone that introduces a unified styling system across products, a redesigned Dashboard, enhanced PDF customization, and a no-code editor for Survey Creator UI and behavior.

What's New in SurveyJS v3.0 Beta

API for Registering Question Type Aliases

Starting with v2.5.34, you can register aliases for predefined question types. Aliases allow you to use custom type names in survey JSON while preserving the original SurveyJS question implementation.

When deserializing JSON, the Serializer treats an alias as its original type and creates the corresponding question model. When serializing the model back to JSON, it writes the registered alias instead of the original type name. Both the original type name and its alias are accepted when deserializing survey JSON.

Use the following Serializer methods to work with question type aliases:

  • setAlias(type, alias)
    Registers an alias for an existing element type. Each element type can have only one alias.

  • getTypeByAlias(alias)
    Returns the original element type associated with a registered alias, or undefined if the specified value is not an alias.

  • getAliasByType(type)
    Returns the alias registered for the specified original element type, or undefined if no alias is registered.

  • removeAlias(alias)
    Removes an alias previously registered with the setAlias method.

The following example registers "longtext" as an alias for the "comment" question type:

import { Serializer } from "survey-core";

Serializer.setAlias("comment", "longtext");

Registering an alias has the following effects:

  • Survey Creator uses "longtext" as the question's type when users add a "comment" question.
  • You can use "longtext" instead of "comment" when authoring survey JSON manually.
  • All SurveyJS components, including Dashboard and PDF Generator, recognize "longtext" as a "comment" question automatically.
{
  "elements": [
    {
      "name": "question1",
      "type": "longtext"
    }
  ]
}

The getType() method always returns the original question type, regardless of whether the question was created using an alias.

New Blog Posts

Nested Forms — Part 1: Collect Related Records in One Submission

Nested Forms — Part 2: Add Readable Summaries to Repeatable Subforms

Nested Forms — Part 3: Link Parent Answers to Nested Subforms

Bug Fixes and Minor Enhancements

Form Library

  • [Performance] SurveyModel creation is considerably slower than in previous releases for JSON schemas containing a Multi-Select Matrix with a visibleIf condition (#11567)
  • survey-core throws an exception during import in React Native: window.addEventListener is not a function (#11573)

Survey Creator

  • Dynamic Panel: Nested panel's in-place description editor remains visible after the description text is removed (#7861)
  • Condition popup displays a redundant editor title and lacks a placeholder for the calculated value (#7862)
  • File Upload: Default values for file placeholder text properties do not appear in the Property Grid when the survey locale differs from the default locale (#7867)

How to Update SurveyJS Libraries in Your Application

Angular
npm i survey-core@v2.5.34 survey-angular-ui@v2.5.34 --save
npm i survey-creator-core@v2.5.34 survey-creator-angular@v2.5.34 --save
npm i survey-analytics@v2.5.34 --save
npm i survey-pdf@v2.5.34 --save
React
npm i survey-core@v2.5.34 survey-react-ui@v2.5.34 --save
npm i survey-creator-core@v2.5.34 survey-creator-react@v2.5.34 --save
npm i survey-analytics@v2.5.34 --save
npm i survey-pdf@v2.5.34 --save
Vue.js
npm i survey-core@v2.5.34 survey-vue3-ui@v2.5.34 --save
npm i survey-creator-core@v2.5.34 survey-creator-vue@2.5.34 --save
npm i survey-analytics@2.5.34 --save
npm i survey-pdf@2.5.34 --save
HTML/CSS/JavaScript
<link href="https://unpkg.com/survey-core@2.5.34/survey-core.min.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="https://unpkg.com/survey-core@2.5.34/survey.core.min.js"></script>
<script type="text/javascript" src="https://unpkg.com/survey-js-ui@2.5.34/survey-js-ui.min.js"></script>

<script src="https://unpkg.com/survey-core@2.5.34/themes/index.min.js"></script>
<script src="https://unpkg.com/survey-creator-core@2.5.34/themes/index.min.js"></script>

<link href="https://unpkg.com/survey-creator-core@2.5.34/survey-creator-core.min.css" type="text/css" rel="stylesheet">
<script src="https://unpkg.com/survey-creator-core@2.5.34/survey-creator-core.min.js"></script>
<script src="https://unpkg.com/survey-creator-js@2.5.34/survey-creator-js.min.js"></script>

<link href="https://unpkg.com/survey-analytics@2.5.34/survey.analytics.min.css" rel="stylesheet">
<script src="https://unpkg.com/survey-analytics@2.5.34/survey.analytics.min.js"></script>

<script src="https://unpkg.com/survey-pdf@2.5.34/survey.pdf.min.js"></script>
<script src="https://unpkg.com/survey-pdf@2.5.34/pdf-form-filler.min.js"></script>

Your cookie settings

We use cookies to make your browsing experience more convenient and personal. Some cookies are essential, while others help us analyse traffic. Your personal data and cookies may be used for ad personalization. By clicking “Accept All”, you consent to the use of all cookies as described in our Terms of Use and Privacy Statement. You can manage your preferences in “Cookie settings.”

Your renewal subscription expires soon.

Since the license is perpetual, you will still have permanent access to the product versions released within the first 12 month of the original purchase date.

If you wish to continue receiving technical support from our Help Desk specialists and maintain access to the latest product updates, make sure to renew your subscription by clicking the "Renew" button below.

Your renewal subscription has expired.

Since the license is perpetual, you will still have permanent access to the product versions released within the first 12 month of the original purchase date.

If you wish to continue receiving technical support from our Help Desk specialists and maintain access to the latest product updates, make sure to renew your subscription by clicking the "Renew" button below.