github surveyjs/survey-library v3.2.5

one hour ago

What's Changed

  • Dropdown popup is as narrow as the input when the question title is on the left [creator:8123] by @OlgaLarina in #12190
  • Update postcss test script and add postcss-surveyjs dependency; adjus… by @MarchTokenda in #12213
  • test(survey-core): scan each file once in the tester isolation test by @andrewtelnov in #12210
  • fix(core): report nested errors in getAllErrors of composite and sele… by @andrewtelnov in #12212
  • Fix #12214, clear errors on calling survey.clear function by @andrewtelnov in #12215
  • perf(paneldynamic): serialize the template once per batch of new panels by @andrewtelnov in #12216
  • test: serve test fonts locally and cache CDN files per Playwright worker by @andrewtelnov in #12217
  • test(e2e): replace fixed waits in e2e/questions by @andrewtelnov in #12218
  • test(e2e): replace fixed waits in e2e/survey and e2e/components by @andrewtelnov in #12219
  • test(survey-core): split the three long dynamic-data test files by @andrewtelnov in #12208
  • Fix flaky unit test: what a removed-event handler sees under paging > panel with an asynch… by @andrewtelnov in #12202
  • React: reactivity system refactor [creator:8124][adapters:53] by @dk981234 in #12204
  • A numeric mask treated min: 0 or max: 0 as no bound, so with `max… by @andrewtelnov in #12203
  • test(e2e): CI-only Playwright retries, e2e timeout, max failures and … by @andrewtelnov in #12221
  • fix(core): reset re-entrancy flags when user code throws by @andrewtelnov in #12207
  • perf(matrixdynamic): rebind the rows on a sort and a page move instead of rebuilding them by @andrewtelnov in #12205
  • Each matrix cell of the column's cell type was built from a fresh `to… by @andrewtelnov in #12206
  • fix(ui): cancel native form submit without an inline handler by @JaneSjs in #12224
  • Feature/ai request interfaces by @andrewtelnov in #12209
  • feat(survey-core): per-survey settings and constructor options by @andrewtelnov in #12235
  • fix(survey-core): completion clears a value hidden by clearing anothe… by @andrewtelnov in #12236
  • fix(survey-core): an escaped backslash in a pattern mask is a literal backslash by @andrewtelnov in #12239
  • fix(survey-core): a numeric mask with precision 0 truncates the fraction by @andrewtelnov in #12240
  • fix(survey-core): expressions accept an exponent in a number literal by @andrewtelnov in #12243
  • fix(survey-core): a text that only starts with 0x is not a number by @andrewtelnov in #12234
  • fix(survey-core): keep an edited matrix's rows in step with its array… by @andrewtelnov in #12232
  • fix(survey-core): a text value equals its own quoted text in conditions by @andrewtelnov in #12237
  • feature, fix #12241: a boolean question can require the true value [creator:8137] by @andrewtelnov in #12242
  • feat(survey-core): add the hasValue expression function by @andrewtelnov in #12248
  • Adds survey.clearEmptyValues(): it removes keys with empty values (… by @andrewtelnov in #12249
  • fix(survey-core): a fast resize across the mobile breakpoint no longe… by @andrewtelnov in #12229
  • SurveyModel had two public methods for one job: `tryGoNextPageAutom… by @andrewtelnov in #12251
  • Adds comparator.numericTextAsText (default false), a per-survey a… by @andrewtelnov in #12252
  • Refactor after change react reactivity system by @dk981234 in #12254
  • new Model(json, { events: { ... } }) adds the handlers before the J… by @andrewtelnov in #12250
  • feat(survey-core): the data.keepEmptyValues setting keeps a value th… by @andrewtelnov in #12253
  • ci: drop the Node 20 build and build releases on Node 22 by @andrewtelnov in #12223
  • Adds comparator.strictEquality (default false), a per-survey and … by @andrewtelnov in #12256
  • feat(converter): convert Form.io and JSON Schema definitions to SurveyJS JSON, fix #11593 by @andrewtelnov in #11594
  • fix(survey-core): the survey's own scroll check no longer closes a ju… by @andrewtelnov in #12228
  • fix(core): report matrix detail panel errors in getAllErrors by @andrewtelnov in #12225
  • fix(survey-core): assigning data to a sorted, paged Dynamic Panel wri… by @andrewtelnov in #12230
  • feat(survey-core): render an expression through a context of hooks (o… by @andrewtelnov in #12258
  • perf(paneldynamic): rebind the panels on a sort and a page move inste… by @andrewtelnov in #12227
  • fix: questionPerPage with a start page shows the first question after Next if clear() was called before start() by @JaneSjs in #12272
  • fix(survey-core): element roots render renderedId and are looked up by it (creator#8140) [creator:8148] by @andrewtelnov in #12268
  • chore(deps): bump bundled preact to 10.27.3 (GHSA-36hm-qxxp-pg3m), drop unused root devDependencies by @andrewtelnov in #12262
  • fix(survey-core): a checkbox recognises the Other text while every re… by @andrewtelnov in #12264
  • fix(survey-core): writing an Other comment no longer loops when a setValueIf rule clears the value by @andrewtelnov in #12267
  • Feature/12241 boolean require true [creator:8142] by @andrewtelnov in #12257
  • fix(survey-core): a copied Other choice displays the text typed in th… by @andrewtelnov in #12265
  • Implement a single loadingComponent property on the survey level instead of individual loadingComponent properties by @OlgaLarina in #12261
  • test(screenshots): fix the flaky "Check file question camera" screenshot by @andrewtelnov in #12274
  • fix(survey-core): add missing semicolon in nested composite header CS… by @andrewtelnov in #12277
  • test(perf): cut repeated scenarios and shorten the sample time by @andrewtelnov in #12275
  • The perf suites only measure; the perf server judges. Two things exis… by @andrewtelnov in #12276
  • Dynamic Panel: "Remove" button is misaligned when positioned to the right of the panel content by @OlgaLarina in #12185
  • Image Picker: a choice whose image failed to load keeps showing "no image" after its imageLink changes by @OlgaLarina in #12279
  • Survey header renders an empty logo image when logo contains dynamic text that resolves to an empty value by @novikov82 in #12288
  • Vue 3: progress bar width stays behind when a value is set in onAfterRenderPage by @andrewtelnov in #12287
  • Skip trigger does not work after a previous skip to the same question… by @andrewtelnov in #12289
  • #12269 If you leave the field empty, a panel's title won't appear and the following layout will be produced [creator:8160] by @novikov82 in #12282
  • Calculated value does not see a matrix row that has just become visible by @andrewtelnov in #12290

Full Changelog: v3.2.4...v3.2.5

Don't miss a new survey-library release

NewReleases is sending notifications on new releases.