Releases: nextcloud-libraries/nextcloud-vue
v9.0.0-rc.9
What's Changed
🚀 Enhancements
🐛 Fixed bugs
- fix(NcAssistantIcon): adjust gradient for dark theme #7426 (susnux)
- fix(NcCheckboxContent): limit wrapper width #7445 (Antreesy)
- fix(NcRichText): correctly render empty children list #7447 (Antreesy)
- fix: revert renaming template refs resulting in a breaking change #7448 (ShGKme)
- fix(NcDateTimePicker): use proper day names #7473 (susnux)
- fix(NcCheckboxRadioSwitch): ensure label less radio has proper size #7471 (susnux)
- fix(NcDateTime): adjust for bidi support #7484 (susnux)
- fix(NcAppNavigationItem): ensure to pass boolean where needed #7489 (susnux)
- fix(NcReferenceWidget): harden checks for reference = null #7478 (Antreesy)
- fix(NcAvatar): make min status size visually accessible #7476 (DorraJaouad)
- fix(NcRadioGroup): fieldsets always need a label for accessibility #7483
- fix(usernameToColor): restore original color algorithm #7470
Other Changes
- docs: enhance NcAppSidebar documentation #6913 (Antreesy)
- chore!: deprecate and remove
NcSettingsInputText
component #7486 (susnux) - chore(NcCheckboxRadioSwitch): deprecate button variant in favor of
NcRadioGroup
#7490 (susnux)
Full Changelog: v9.0.0-rc.8...v9.0.0-rc.9
v8.31.0
Changelog
v8.31.0 (2025-09-11)
📝 Notes
The NcSettingsInputText
component was deprecated,
it is no longer used by Nextcloud or Nextcloud apps and not recommended to be used for design reasons.
🚀 Enhancements
🐛 Fixed bugs
- fix(NcAssistantIcon): adjust gradient for dark theme #7430
- fix(NcPopover): regression with
this.getPopoverTriggerContainerElement is not a function
#7443 (max-nextcloud) - fix(NcCheckboxRadioSwitch): ensure label less radio has proper size #7477
- fix(NcDateTime): adjust for bidi support #7485
- fix(NcReferenceWidget): harden checks for reference = null #7493
- fix(NcRadioGroup): fieldsets always need a label for accessibility #7495
- fix(NcAvatar): make min status size visually accessible #7480
- fix(NcAppNavigationItem): ensure to pass boolean where needed #7491
Other Changes
- chore(NcCheckboxRadioSwitch): deprecate button variant in favor of
NcRadioGroup
#7492 - chore: deprecate
NcSettingsInputText
component #7488 - chore: migrate to ESLint 9 and @nextcloud/eslint-config 9 #7418 (ShGKme)
- chore(lint): fix #7425 (ShGKme)
- chore(test): explicitly import from jest/globals to simplify migration to/from Vitest #7424 (ShGKme)
- docs: typos in 8.30.0 changelog #7422
v9.0.0-rc.8
What's Changed
🚀 Enhancements
- feat: add NcKbd component by @ShGKme in #7401
- feat(NcAssistant*): provide components for consistent integrations design by @susnux in #7398
Full Changelog: v9.0.0-rc.7...v9.0.0-rc.8
v8.30.0
What's Changed
🚀 Enhancements
- feat(NcPopover): auto return focus to trigger button on close by @ShGKme in #5155
- [stable8] feat(NcAssistant*): provide components for consistent integrations design by @backportbot[bot] in #7413
- [stable8] feat(NcCheckboxRadioSwitch): Add support for a description field by @backportbot[bot] in #7395
Other Changes
- [stable8] refactor: migrate reference widget related function to Typescript by @backportbot[bot] in #7417
- [stable8] prepare release v8.30.0 by @susnux in #7420
Full Changelog: v8.29.2...v8.30.0
v9.0.0-rc.7
What's Changed
🚀 Enhancements
- feat: add new border design for NcInputField and NcTextArea #7351 (susnux)
- feat(NcCheckboxRadioSwitch): Add support for a description field #7378 (CarlSchwan)
🐛 Fixed bugs
- fix(NcEmojiPicker): scope styles #7334 (ShGKme)
- fix(NcPopover): scope styles to avoid leak #7330 (ShGKme)
- fix(NcReferencePickerModal): scope styles #7333 (ShGKme)
- fix(NcActionButtonGroup): scope styles #7332 (ShGKme)
- fix(NcAppNavigationItem): icon-collapse has wrong colour #7329 (GretaD)
- fix(NcAppNavigation): warn if neither
ariaLabel
norariaLabelledby
is set #7350 (susnux) - chore: revert breaking changes and keep Nextcloud 31 support #7353 (susnux)
- fix(NcAppNavigationSearch): add space before ellipsis #7372 (ShGKme)
- fix(NcHeaderMenu): pause trap stack on opening #7370 (Antreesy)
- fix(NcAppNavigationSettings): bring back filled icon for Nextcloud 31 #7397 (susnux)
- fix(NcHeaderMenu): apply
ariaLabel
prop and add proper default values #7367 (susnux)
Other Changes
- docs: fix CSS Modules support in Styleguidist #7331 (ShGKme)
- refactor: use properly types injection keys instead of plain names #7349 (susnux)
- Updates for project Nextcloud vue library #7357 (transifex-integration[bot])
- Updates for project Nextcloud vue library #7360 (transifex-integration[bot])
- Updates for project Nextcloud vue library #7362 (transifex-integration[bot])
- Updates for project Nextcloud vue library #7369 (transifex-integration[bot])
- chore: add missing docblock comments #7365 (susnux)
- refactor(NcButton): use proper prop type for
pressed
to allowundefined
#7368 (susnux) - refactor(NcAppNavigationList): migrate to Typescript #7364 (susnux)
- chore(NcAppNavigationItem): fix linting warnings #7366 (susnux)
- Updates for project Nextcloud vue library #7376 (transifex-integration[bot])
- Updates for project Nextcloud vue library #7377 (transifex-integration[bot])
- Updates for project Nextcloud vue library #7382 (transifex-integration[bot])
- chore(docs): fix css modules export names in styleguidist #7385 (ShGKme)
- fix(NcUserStatusIcon): adjust icon colors #7392 (Antreesy)
- Updates for project Nextcloud vue library #7391 (transifex-integration[bot])
- fix(NcUserStatusIcon): adjust scoped names for style variables #7396 (Antreesy)
Full Changelog: v9.0.0-rc.6...v9.0.0-rc.7
v8.29.2
What's Changed
🐛 Fixed bugs
- fix(NcUserStatusIcon): legacy 32 check by @skjnldsv in #7320
- [stable8] fix(NcDateTimePicker): lost styles in docs by @ShGKme in #7344
- [stable8] fix(NcPopover): scope styles to avoid leak by @backportbot[bot] in #7341
- [stable8] fix(NcReferencePickerModal): scope styles by @backportbot[bot] in #7347
- [stable8] fix(NcEmojiPicker): scope styles by @backportbot[bot] in #7343
- [stable8] fix(NcActionButtonGroup): scope styles by @backportbot[bot] in #7348
- [stable8] fix(NcAppNavigationItem): icon-collapse has wrong colour by @GretaD in #7346
- fix(NcNoteCard): adjust colors to work with Nextcloud 32+ by @susnux in #7361
- [stable8] fix(l10n): add non-breaking space before ellipsis by @backportbot[bot] in #7373
- [stable8] fix(NcHeaderMenu): pause trap stack on opening by @Antreesy in #7384
- [stable8] feat: add new border design for NcInputField and NcTextArea by @backportbot[bot] in #7383
- [stable8] fix: change icon cog into outline version on 32+ by @GretaD in #7394
Other Changes
- [stable8] docs: fix CSS Modules support in Styleguidist by @backportbot[bot] in #7342
- [stable8] chore(docs): fix css modules export names in styleguidist by @backportbot[bot] in #7387
- [stable8] fix(NcUserStatusIcon): adjust icon colors by @backportbot[bot] in #7393
- [stable8] fix(NcUserStatusIcon): adjust scoped names for style variables by @backportbot[bot] in #7400
- [stable8] chore: v8.29.2 by @skjnldsv in #7321
Full Changelog: v8.29.1...v8.29.2
v9.0.0-rc.6
What's Changed
Notes
- The package has dropped compatibility with Nextcloud before version 32.
This mostly affects the visual appearance of components.
NcButton
now does no longer hasrole="button"
when used as a link (passing thehref
prop or a router link (to
)).
Instead, for accessibility and semantical correctness, has thelink
role.NcColorPicker
- The deprecated
close
event was removed in favor of theclosed
event, this was done for consistent event names.
- The deprecated
🚀 Enhancements
- fix(NcDateTimePicker): adjust input padding inline end #7208 (raimund-schluessler)
- feat(NcColorPicker): add proper open-state handling #7212 (susnux)
- feat(NcAppNavigationItem): add
active
as slot property to the "icon"-slot #7273 (susnux) - feat(NcButton): add border with a bottom shadow #7282 (susnux)
🐛 Fixed bugs
- fix(NcAvatar): contacts menu is broken #7194 (ShGKme)
- fix(NcActionInput): lazy load large children #7195 (ShGKme)
- fix(NcButton): use correct type for
to
prop from VueRouter #7201 (susnux) - fix(NcButton): render with "to" and prevent wrong context crash #7100 (ShGKme)
- fix(NcContent): flip skip action image in rtl mode #7202 (skjnldsv)
- fix: remove asterisk from filename allowing checkout on Windows #7211 (ShGKme)
- fix: correctly apply types so that type definitions are generated during build #7207 (susnux)
- fix(NcColorPicker): use proper directional arrow icon for submit #7217 (susnux)
- fix(NcBreadCrumb): correctly pass container for
NcActions
#7237 (susnux) - ci: use correct base branch when doing styling update on stable* #7256 (susnux)
- fix(NcAvatar): orbital best-fit adaptive status icon #6004 (ShGKme)
- fix(NcLoadingIcon): prevent height change from rotate transformation #7275 (Antreesy)
- fix: 'Set operation on key "value" failed: target is readonly' #7239 (ShGKme)
- fix(NcInputField, NcTextArea): remove placeholder on Nextcloud 32+ #7283 (susnux)
- fix: auto-resolve focus trap stack, if was changed outside of controller #7277 (Antreesy)
- fix: adjust color variable to work with Nextcloud 32+ #7311 (susnux)
- fix(utils): legacy version detection #7313 (skjnldsv)
Other Changes
- refactor(NcProgressBar): migrate component to Typescript and update docs #7138 (susnux)
- fix: remove asterisk from filename #7215 (raimund-schluessler)
- docs: clarify application containers and especially NcGuestContent #7160 (susnux)
- refactor(NcAppNavigation): migrate component to Typescript and
script-setup
#7200 (susnux) - feat(NcUserStatusIcon): update status icons #7218 (Antreesy)
- chore: work around bug in
corepack
blocking dependency updates #7213 (susnux) - fix(NcListItem): drop legacy check #7234 (Antreesy)
- feat(NcHeaderMenu): apply alpha mask to icon slot #7242 (susnux)
- docs: v9 will only provide visual compatibility with Nextcloud 32+ #7287 (susnux)
- feat: change cog icon into the outline version #7299 (GretaD)
- refactor(NcButton, NcNoteCard): use status text color for icons and text #7300 (susnux)
- fix(utils): legacy check syntax adjust #7314 (skjnldsv)
Full Changelog: v9.0.0-rc.5...v9.0.0-rc.6
v8.29.1
What's Changed
🐛 Fixed bugs
- [stable8] fix(NcButton): ensure correct padding by @susnux in #7305
- [stable8] fix: adjust color variable to work with Nextcloud 32+ by @backportbot[bot] in #7312
- [stable8] fix(NcCheckboxRadioSwitch): ensure component has correct box sizing by @susnux in #7306
- [stable8] fix(utils): legacy check syntax by @skjnldsv in #7315
- [stable8] fix(NcColorPicker): fallback to zero color if no current color is set by @susnux in #7317
Other Changes
Full Changelog: v8.29.0...v8.29.1
v8.29.0
v8.29.0 (2025-08-18)
📝 Notes
NcColorPicker
The update:open
event was undeprecated, instead proper open state handling of the component was added.
This means it is now possible to pass the open
prop directly to the component,
it is implemented as two-way binding with the corresponding update:open
event.
It is now discouraged to use the previous solution of relying on the shown
prop of the underlying component.
Additionally for consistent event naming the close
event was deprecated in favor of the closed
event.
The closed
event will be emitted after update:open
(with payload false
) was emitted and all transitions have finished.
🚀 Enhancements
- feat(NcThemeProvider): allow to override the current theme for parts of the UI #7152
- feat(dialogs/spawnDialog): separate spawning options from dialog props and allow Element as a container #6768
- feat(NcColorPicker): add proper open-state handling #7214
- feat(NcAppNavigationItem): add
active
as slot property to the "icon"-slot #7274 - feat: add visual border for buttons on Nextcloud 32+ #7291
- feat(NcUserStatusIcon): update status icons #7223
- feat(NcHeaderMenu): apply alpha mask to icon slot #7243
🐛 Fixed bugs
- perf(NcAvatar): ensure avatar does not add mutation observer #7168
- perf(utils): ensure only 64px or 512px avatars are loaded #7153
- fix(NcButton): force cursor pointer #7158 (ShGKme)
- fix(NcInputField): remove browser injected clear button #7169
- fix(NcModal): use
--border-radius-container
#7178 - fix(useIsDarkTheme): provide default value to silence runtime warnings #7189
- fix(NcAppSidebar): remove slot styling for buttons in the description #7190
- fix(NcActionInput): register used NcColorPicker component #7198
- fix(NcActionInput): lazy load large children #7197
- fix(NcContent): flip skip action image in rtl mode #7205
- fix(NcColorPicker): use proper directional arrow icon for submit #7219
- fix(NcAvatar): orbital best-fit adaptive status icon #7260
- fix(NcLoadingIcon): prevent height change from rotate transformation #7276
- fix(NcInputField, NcTextareaField): remove placeholder on Nextcloud 32+ #7286 (susnux)
- fix: migrate from _oc_config to initial state #7235 (Antreesy)
- fix: auto-resolve focus trap stack, if was changed outside of controller #7304 (Antreesy)
Other Changes
- refactor(functions): Make sure only named exports are used (usernameToColor) #7170 (susnux)
- refactor: use secondary colors for buttons on Nextcloud 32+ #7301 (susnux)
- chore: copy diff from stable8 changelog #7159
- chore: align sorting of package.json #7162 (susnux)
- docs: clarify application containers and especially NcGuestContent #7216
- ci: update workflows from organization #7166 (susnux)
v9.0.0-rc.5
What's Changed
💥 Breaking Changes
- The
usernameToColor
function is named exported instead of a default export.
This was done to have consistent export types.
Useimport { usernameToColor } from '@nextcloud/vue/functions/usernameToColor'
instead
🐛 Fixed bugs
- perf(NcAvatar): ensure avatar does not add mutation observer by @ShGKme in #7157
- refactor(NcButton): remove redundant style by @skjnldsv in #7154
- fix(NcInputField): remove browser injected clear button by @susnux in #7167
- fix(NcModal): use
--border-radius-container
by @susnux in #7176 - fix(useIsDarkTheme): provide default value to silence runtime warnings by @susnux in #7185
- fix(NcAppSidebar): remove slot styling for buttons in the description by @susnux in #7182
Other Changes
- chore: copy diff from stable8 changelog by @Antreesy in #7156
- chore(NcAppSidebar): correctly define and document exposed CSS variables by @ShGKme in #5861
- chore: add current Node (upcoming) LTS 24.0.0 to supported engines by @susnux in #7163
- refactor(functions): Make sure only named exports are used (
usernameToColor
) by @susnux in #7161 - ci: update workflows from organization by @susnux in #7165
- ci: also update sever styles for styleguide on
stable8
by @susnux in #7164 - chore(NcRichText): remove unused remark plugin by @susnux in #7172
- refactor(NcRichText): migrate helpers to Typescript by @susnux in #7173
- refactor(NcRichText): use
debounce
instead of custom delay function by @susnux in #7174 - Updates for project Nextcloud vue library by @transifex-integration[bot] in #7179
- refactor: replace deprecated CSS variables and legacy fallbacks by @susnux in #7177
- refactor: use Typescript for l10n dummy import by @susnux in #7171
Full Changelog: v9.0.0-rc.4...v9.0.0-rc.5