SurveyJS v2.5.33
Released: July 8, 2026
This release adds an API event to control the visibility of inline description editors on the Survey Creator design surface and includes bug fixes and minor enhancements. 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
[Survey Creator] Inline Description Editors on the Design Surface
A survey, page, panel, or question description provides additional information about the element's purpose, instructions, or context. By default, Survey Creator doesn't show inline description editors for questions and panels when their descriptions are empty.
Survey Creator v2.5.33 introduces the onBeforeShowInplaceDescriptionEditor event, which allows you to control the visibility of inline description editors based on custom conditions. For example, the following code enables inline description editors for all survey elements except Panels and for Panels that already have a description.
creator.onBeforeShowInplaceDescriptionEditor.add((_, options) => {
const element = options.element;
const isPanel = element.getType() === "panel";
const hasDescription = !!element.description;
options.show = !isPanel || hasDescription;
});
New Blog Post
Top 5 Vue Form Libraries in 2026
Bug Fixes and Minor Enhancements
Form Library
- Dropdown: Item highlighted in the drop-down menu is not the actually selected item (#10907)
- Validation errors are not announced to screen readers until focus moves to the invalid field (WCAG 2.1 Success Criterion 4.1.3) (#11523)
onGetChoiceDisplayValueis not raised if a question'sdefaultValueExpressionis invalid and the question value is set insurvey.data(#11531)
Survey Creator
- Translations tab: Remember the last selected source language in the Auto-Translate All dialog (#7849)
- A page copy cannot be selected on the design surface after duplication (#7846)
surveyLocalization.defaultLocaleleaks into the Survey Creator UI when itslocaleproperty is undefined (#7847)- Logic tab: Question name placeholder in the condition editor uses the survey locale instead of the Survey Creator locale ()
How to Update SurveyJS Libraries in Your Application
Angular
npm i survey-core@v2.5.33 survey-angular-ui@v2.5.33 --save
npm i survey-creator-core@v2.5.33 survey-creator-angular@v2.5.33 --save
npm i survey-analytics@v2.5.33 --save
npm i survey-pdf@v2.5.33 --save
React
npm i survey-core@v2.5.33 survey-react-ui@v2.5.33 --save
npm i survey-creator-core@v2.5.33 survey-creator-react@v2.5.33 --save
npm i survey-analytics@v2.5.33 --save
npm i survey-pdf@v2.5.33 --save
Vue.js
npm i survey-core@v2.5.33 survey-vue3-ui@v2.5.33 --save
npm i survey-creator-core@v2.5.33 survey-creator-vue@2.5.33 --save
npm i survey-analytics@2.5.33 --save
npm i survey-pdf@2.5.33 --save
HTML/CSS/JavaScript
<link href="https://unpkg.com/survey-core@2.5.33/survey-core.min.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="https://unpkg.com/survey-core@2.5.33/survey.core.min.js"></script>
<script type="text/javascript" src="https://unpkg.com/survey-js-ui@2.5.33/survey-js-ui.min.js"></script>
<script src="https://unpkg.com/survey-core@2.5.33/themes/index.min.js"></script>
<script src="https://unpkg.com/survey-creator-core@2.5.33/themes/index.min.js"></script>
<link href="https://unpkg.com/survey-creator-core@2.5.33/survey-creator-core.min.css" type="text/css" rel="stylesheet">
<script src="https://unpkg.com/survey-creator-core@2.5.33/survey-creator-core.min.js"></script>
<script src="https://unpkg.com/survey-creator-js@2.5.33/survey-creator-js.min.js"></script>
<link href="https://unpkg.com/survey-analytics@2.5.33/survey.analytics.min.css" rel="stylesheet">
<script src="https://unpkg.com/survey-analytics@2.5.33/survey.analytics.min.js"></script>
<script src="https://unpkg.com/survey-pdf@2.5.33/survey.pdf.min.js"></script>
<script src="https://unpkg.com/survey-pdf@2.5.33/pdf-form-filler.min.js"></script>