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, orundefinedif the specified value is not an alias.getAliasByType(type)
Returns the alias registered for the specified original element type, orundefinedif no alias is registered.removeAlias(alias)
Removes an alias previously registered with thesetAliasmethod.
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'stypewhen 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]
SurveyModelcreation is considerably slower than in previous releases for JSON schemas containing a Multi-Select Matrix with avisibleIfcondition (#11567) survey-corethrows an exception during import in React Native:window.addEventListeneris 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>