SurveyJS v2.5.13
Released: February 27, 2026
SurveyJS v2.5.13 enables caching for custom asynchronous functions in expressions by default and introduces support for preserving randomized choice order across survey sessions. Bug fixes and minor enhancements are also included.
Expressions: Caching for Custom Async Functions is Enabled by Default
Introduced in SurveyJS v2.5.10, caching for custom asynchronous functions is now enabled by default. This change enhances performance and should not have any negative impact on existing applications. However, if you want your custom function to perform a server request on every call instead of using the cache, set the useCache option to false when registering the function:
import { registerFunction } from "survey-core";
function myFunc (params) {
// ...
}
registerFunction({
name: "foo",
func: myFunc,
isAsync: true,
useCache: false
});
Preserve Randomized Choice Order
Checkboxes, Radio Button Group, Dropdown, and other choice-based question types support the choicesOrder property, which allows options to be displayed in a random order for each respondent. If respondents can save their progress and return later, you may want to preserve this randomized order across sessions.
Starting with SurveyJS v2.5.13, the uiState object includes information about the choice order. Persist this object when a respondent pauses the survey and reapply it when they return to restore the original randomized order.
New Help Topics
How to Add Custom Survey Elements Using HTML
Bug Fixes and Minor Enhancements
Form Library
- Progress bar flickers at certain viewport widths (#10940)
Survey Creator
- Survey Creator doesn't auto-generate matrix column names like it does for question titles (#7415)
- Dynamic Panel: Nested question's
valueNameisn't updated when duplicating the Dynamic Panel (#7455) - Dynamic Panel: Nested question's validation rules aren't updated when duplicating the Dynamic Panel (#7457)
Dashboard
- Table View:
onStateChangedis triggered unnecessarily when loadingchoicesByUrl(#691)
How to Update SurveyJS Libraries in Your Application
Angular
npm i survey-core@v2.5.13 survey-angular-ui@v2.5.13 --save
npm i survey-creator-core@v2.5.13 survey-creator-angular@v2.5.13 --save
npm i survey-analytics@v2.5.13 --save
npm i survey-pdf@v2.5.13 --save
React
npm i survey-core@v2.5.13 survey-react-ui@v2.5.13 --save
npm i survey-creator-core@v2.5.13 survey-creator-react@v2.5.13 --save
npm i survey-analytics@v2.5.13 --save
npm i survey-pdf@v2.5.13 --save
Vue.js
npm i survey-core@v2.5.13 survey-vue3-ui@v2.5.13 --save
npm i survey-creator-core@v2.5.13 survey-creator-vue@2.5.13 --save
npm i survey-analytics@2.5.13 --save
npm i survey-pdf@2.5.13 --save
HTML/CSS/JavaScript
<link href="https://unpkg.com/survey-core@2.5.13/survey-core.min.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="https://unpkg.com/survey-core@2.5.13/survey.core.min.js"></script>
<script type="text/javascript" src="https://unpkg.com/survey-js-ui@2.5.13/survey-js-ui.min.js"></script>
<script src="https://unpkg.com/survey-core@2.5.13/themes/index.min.js"></script>
<script src="https://unpkg.com/survey-creator-core@2.5.13/themes/index.min.js"></script>
<link href="https://unpkg.com/survey-creator-core@2.5.13/survey-creator-core.min.css" type="text/css" rel="stylesheet">
<script src="https://unpkg.com/survey-creator-core@2.5.13/survey-creator-core.min.js"></script>
<script src="https://unpkg.com/survey-creator-js@2.5.13/survey-creator-js.min.js"></script>
<link href="https://unpkg.com/survey-analytics@2.5.13/survey.analytics.min.css" rel="stylesheet">
<script src="https://unpkg.com/survey-analytics@2.5.13/survey.analytics.min.js"></script>
<script src="https://unpkg.com/survey-pdf@2.5.13/survey.pdf.min.js"></script>
<script src="https://unpkg.com/survey-pdf@2.5.13/pdf-form-filler.min.js"></script>