Skip to content

v2.6.0

Choose a tag to compare

@vc-ci vc-ci released this 22 Sep 14:59
· 26 commits to main since this release

2.6.0 (2026-09-22)

Features

Bug Fixes

  • a11y: announce the VcRating error message (VM-1794) (#366) (d46f8f2), closes #366
  • a11y: bring the reported colour-contrast failures up to AA (#356) (477cb52), closes #356
  • a11y: darken the hint ink so it holds up on a tinted row (#360) (0541f36), closes #360 #525252 #a3a3a3
  • a11y: give popup focus restore a fallback when there is no opener (#346) (896b810), closes #346
  • a11y: give the scheduler's anchored popovers a role, a name and focus (#350) (d1a02a5), closes #350 #304
  • a11y: hide teleported popovers behind a maximized blade (#345) (1196a81), closes #345 #306
  • a11y: keep focus on a button that disables itself on activation (#347) (3f614e2), closes #347
  • a11y: let an overlay keep the Escape it handles (VM-1792) (#365) (2c69f43), closes #365
  • a11y: make blade-toolbar buttons announce that they are unavailable (#355) (8f5c54f), closes #355 #347
  • a11y: raise the dashboard stat values to AA on the widget card (#358) (6d4c2b9), closes #358 #356 #154
  • a11y: rescue focus when maximizing a blade inerts the region holding it (#353) (7418348), closes #353 #344 #306
  • a11y: stop the dashboard grid announcing a pointer-only instruction (#348) (d28b53d), closes #348 #272 #272
  • auth: sign out on a 401 that arrives outside /api/ (#333) (68250ab), closes #333
  • blade-header: hand off expand focus on the state change, not the click (VCST-5812) (#344) (83ca915), closes #344 #286
  • blade-navigation: correct five URL and query defects in the legacy adapter (VM-1777) (#321) (b08e392), closes #321
  • blade-navigation: drop adapter URL sync tests that #317 made obsolete (#320) (5c35752), closes #317 #320 #313 #317 #317 #313 #317 #317
  • blade-navigation: make the blade stack own URL sync (VM-1761) (#317) (1a1eecf), closes #317
  • blade-navigation: sync the URL only after a mutation that happened (VM-1784) (#325) (dfc7bc1), closes #325
  • core: stop the interceptor aborting API requests after 30s (#368) (1919c06), closes #368
  • create-vc-app: drop an unknown property, and let the gate see it (#341) (d25219b), closes #341
  • create-vc-app: drop the unknown projectType arg from the init test (#354) (76e38e8), closes #354 #302 #302
  • create-vc-app: guard the scaffolded list against a stale response (#337) (c3ce159), closes #337
  • create-vc-app: use latest() in the scaffolded list (#340) (d98494d), closes #340 #337 #337 #339 #337 #339
  • dashboard: make Escape revert a keyboard move that displaced a neighbour (#349) (b62eeef), closes #349 #303
  • notification-template: keep the icon beside the text on mobile (#363) (2760c77), closes #363
  • pagination: restore the restoredPage declaration on the return type (#369) (4f4b638), closes #369 #364
  • scheduler: stop an all-day event with End = Start saving into the void (#351) (9cf874d), closes #351
  • vc-auth-layout: give the unauthenticated pages a focus target (VCST-5813) (#343) (87b4bc0), closes #343 #286
  • vc-blade: arm the skeleton latch after mount so the first load shows skeletons (#328) (e9e29aa), closes #328 #301 #301
  • vc-blade: keep skeletons up when a second load starts before a paint (#352) (bf43467), closes #352 #330
  • vc-blade: show an overlay once content exists, skeletons only before it (#330) (6bdc42b), closes #330 #301 #329
  • vc-data-table: export useCellRegistry and register built-in cells once (VM-1756) (#316) (2b4e004), closes #316
  • vc-data-table: release mobile selection mode when the selected row leaves the list (#362) (a761774), closes #362
  • vc-dynamic-property: pick the control the value strategy agrees with (VM-1774) (#342) (2f3e810), closes #342
  • vc-editor: connect the error message to the editable region (VM-1782) (#338) (07e2c5e), closes #338
  • vc-select: page the rendered results while a search is active (VCST-6028) (#367) (04c064e), closes #367
  • vite-config: decide the framework source alias from resolution, not layout (#327) (883ca4b), closes #327

Code Refactoring

  • assets: one upload transport for useAssets and useAssetsManager (VM-1766) (#332) (e8ca749), closes #332
  • blade-navigation: derive breadcrumbs from the blade stack (VM-1763) (#326) (bbc9db6), closes #326
  • blade-navigation: one root-route resolver, and correct a stale comment (VM-1762) (#331) (e9a3f1d), closes #331
  • composables: deprecate useModificationTracker in favour of useBladeForm (VM-1767) (#336) (6809e6a), closes #336
  • sidebar: fold useMenuExpanded into useSidebarState (VM-1758) (#314) (61d4b93), closes #314