release notes

SurveyJS v2.3.10

Released: October 7, 2025

SurveyJS v2.3.10 introduces better control over scale labels and tooltip visibility in Slider and Range Slider questions.

Slider and Range Slider Enhancements

Display Both Text and Value in Custom Labels

Custom labels let you override auto-generated scale labels and provide your own text for specific values. Previously, a custom text replaced the corresponding numeric value. Starting with v2.3.10, you can now enable the new showValue property for any label to display both the custom text and its numeric value.

SurveyJS Slider: Custom labels with text and value

Example configuration:

{
  "elements": [
    {
      "type": "slider",
      "name": "question1",
      "title": "Slider",
      "customLabels": [
        { "value": 0, "text": "Lowest", "showValue": true },
        20,
        40,
        60,
        80,
        { "value": 100, "text": "Highest", "showValue": true }
      ]
    }
  ]
}

In Survey Creator, this functionality is available through the new Display both text and value checkbox:

SurveyJS Slider: Custom labels with text and value

Open in Plunker

Display Thumb Tooltips at All Times

You can now make Slider and Range Slider tooltips always visible instead of showing them only on hover or focus. This makes it easier for respondents to read selected values at a glance.

SurveyJS Range Slider: Display thumb tooltips at all times

To enable this behavior, set the tooltipVisibility property to "always":

{
  "elements": [
    {
      "type": "slider",
      "name": "question1",
      "title": "Range Slider",
      "sliderType": "range",
      "tooltipVisibility": "always"
    }
  ]
}

In Survey Creator, you can control this through the Show tooltips property by selecting Always:

SurveyJS Range Slider: Display thumb tooltips at all times

Open in Plunker

New Help Topic

How to Use Data Validation in Your Forms

Bug Fixes and Minor Enhancements

Form Library

  • Expressions: Negating an anyof statement doesn't work when combined with other statements using and (#10412)
  • Panel: Required validation doesn't work in question-per-page mode (#10426)
  • Dynamic Matrix: A column's value is set to the default when clearing another row's value (#10436)
  • Setting a Single-Select Matrix's value using an object within an expression doesn't work (#10448)
  • Custom Date Picker widget is not automatically focused when it has a validation error (#10439)
  • Long Text in read-only mode: Field text is selected when the question is expanded (#10434)
  • Survey Creator: Single-Line Input lists validators that do not apply to the selected input type (#10440)
  • Multi-choice questions: attachData: true is ignored if the same request has been used in another question with attachData: false (#10463)
  • Survey-wide recursive numbering adds unnecessary levels when questionStartIndex is used (#10456)

Survey Creator

  • Design surface: "Question type" and "Input type" dropdowns do not focus the search box when they are opened (#7141)
  • Dropdown: The pop-up field is narrower than the input field in certain cases (#7183)
  • Choices table: Placeholders for the Text column do not copy values from the Value column (#7180)
  • [React in Strict Mode] Users can add more than the specified maximum number of choices using the Add Choice adorner (#7197)
  • Hiding the title for a Dynamic Panel also hides titles for the nested questions (#10452)
  • Specialized question affects the base question when inheritBaseProps is set to true (#10460)

Dashboard

  • Bars in the bar chart and segments in the pie chart don't preserve their colors when users switch between those charts (#643)
  • Table View: The resetState() method doesn't reset the table to the initial state (#636)
  • Table View: Column titles are cut off, making it difficult to distinguish between columns that visualize a composite or specialized question (#637)
  • Table View: Composite question's defaultQuestionTitle isn't used in column titles (#638)

How to Update SurveyJS Libraries in Your Application

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

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

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

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

<script src="https://unpkg.com/survey-pdf@2.3.10/survey.pdf.min.js"></script>
<script src="https://unpkg.com/survey-pdf@2.3.10/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.