Releases: nextcloud-libraries/nextcloud-vue
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
v9.0.0-rc.4
What's Changed
🚀 Enhancements
- feat: add
useFormatRelativeTime
composable by @susnux in #7067 - feat(NcPasswordField): allow to set visibility state by @susnux in #7135
- feat(NcThemeProvider): allow to override the current theme for parts of the UI by @susnux in #6764
🐛 Fixed bugs
- fix(NcActions + NcEmojiPicker): no focus-trap when needed, extra focus-trap when not by @ShGKme in #7096
- fix(NcDateTimePicker): make clearable work by @raimund-schluessler in #7103
- fix(NcRichText): adjust markdown styles after migration by @Antreesy in #7106
- fix(NcActionText): remove br between action name and action long text by @GretaD in #7116
- fix(NcNoteCard): too large icon padding by @raimund-schluessler in #7118
- [main] fix(NcAppNavigationItem): TypeError: this.$refs.actions.$refs.menuButton is undefined by @backportbot[bot] in #7143
- fix(useHotKey): try to derive latin keys from key codes of non-latin characters by @Antreesy in #7110
- style(NcRichText): consider reference widgets in markdown styles by @Antreesy in #7142
- fix(NcDateTimePicker): correctly import library CSS by @raimund-schluessler in #7051
- fix(NcListItem): correctly handle unmounting by @Antreesy in #7151
- perf(utils): ensure only 64px or 512px avatars are loaded by @susnux in #6749
Other Changes
- Updates for project Nextcloud vue library by @transifex-integration[bot] in #7098
- Updates for project Nextcloud vue library by @transifex-integration[bot] in #7101
- refactor: migrate reference widget related function to Typescript by @susnux in #6969
- chore(NcActions): fix type annotation of
NodeList
by @susnux in #7060 - Updates for project Nextcloud vue library by @transifex-integration[bot] in #7104
- Updates for project Nextcloud vue library by @transifex-integration[bot] in #7108
- refactor(NcSettingsSection): migrate to Typescript and script-setup by @susnux in #7111
- Updates for project Nextcloud vue library by @transifex-integration[bot] in #7109
- Updates for project Nextcloud vue library by @transifex-integration[bot] in #7112
- Updates for project Nextcloud vue library by @transifex-integration[bot] in #7113
- Updates for project Nextcloud vue library by @transifex-integration[bot] in #7114
- Updates for project Nextcloud vue library by @transifex-integration[bot] in #7115
- Updates for project Nextcloud vue library by @transifex-integration[bot] in #7125
- Updates for project Nextcloud vue library by @transifex-integration[bot] in #7126
- Updates for project Nextcloud vue library by @transifex-integration[bot] in #7127
- Updates for project Nextcloud vue library by @transifex-integration[bot] in #7130
- refactor!: remove
useFormatDateTime
by @susnux in #7129 - Updates for project Nextcloud vue library by @transifex-integration[bot] in #7132
- Updates for project Nextcloud vue library by @transifex-integration[bot] in #7134
- refactor!: make all events camelcase and drop deprecated events by @susnux in #7059
- chore(NcAppContent): rename NcAppDetailsContent to remove from docs by @susnux in #7137
- refactor(NcAppContent): clarify props documentation and use capabilities over initial state by @susnux in #7057
- chore: prepare v9.0.0-rc.4 by @susnux in #7155
Full Changelog: v9.0.0-rc.3...v9.0.0-rc.4
v8.28.0
What's Changed
🚀 Enhancements
- [stable8] feat: add
useFormatRelativeTime
composable by @backportbot[bot] in #7128 - [stable8] feat(NcPasswordField): allow to set visibility state by @backportbot[bot] in #7148
🐛 Fixed bugs
- [stable8] fix(NcAppNavigationItem): multi level padding by @backportbot[bot] in #6919
- [stable8] fix(NcTextField): make trailing button icon for confirmation also work on RTL by @backportbot[bot] in #7002
- [stable8] fix(NcAppContent): incorrect page title from a different core.apps format in Nextcloud 30 by @julien-nc in #7011
- [stable8] fix(NcDialog): deprecated nativeType usage check by @skjnldsv in #7031
- [stable8] fix(NcSelectUsers): fix using of v-model in Vue 2 by @Antreesy in #7032
- [stable8] fix(NcAvatar): update 'hasStatus' flag if changed by @backportbot[bot] in #7037
- [stable8] fix(NcCheckboxRadioSwitch): align icons with the first row of label by @backportbot[bot] in #7047
- [stable8] fix(actions): use pointer cursor for action button text by @backportbot[bot] in #7049
- [stable8] fix(NcRichText): always render code blocks in LTR direction by @Antreesy in #7061
- [stable8] fix(NcListItem): let
active
prop take higher priority by @backportbot[bot] in #7089 - [stable8] fix(NcActionText): remove br between action name and action long text by @backportbot[bot] in #7119
- [stable8] fix(useHotKey): try to derive latin keys from key codes of non-latin characters by @backportbot[bot] in #7147
- [stable8] fix(l10n): adjust for
@nextcloud/l10n
3.4.0 by @susnux in #7150
Other Changes
- [stable8] refactor: deprecate events not comply with Vue event naming rules by @backportbot[bot] in #7078
- [stable8] chore(NcColorPicker): deprecate duplicated
update:open
event by @backportbot[bot] in #7095 - [stable8] chore(NcActions): fix type annotation of
NodeList
by @backportbot[bot] in #7105 - [stable8] chore(NcAppContent): rename NcAppDetailsContent to remove from docs by @backportbot[bot] in #7139
- [stable8] refactor(NcAppContent): clarify props documentation and use capabilities over initial state by @backportbot[bot] in #7141
- chore: prepare v8.28.0 by @susnux in #7149
Full Changelog: v8.27.0...v8.28.0
v9.0.0-rc.3
What's Changed
📝 Notes
NcColorPicker
- The
update:open
event is removed in favor of the already availableclose
event.
- The
NcTextField
:- The value
'arrowRight'
for thetrailingButtonIcon
property was deprecated is now removed in favor ofarrowEnd
.
- The value
🐛 Fixed bugs
- fix(NcAppNavigationToggle): restore button design and remove wrong attribute #6984 (susnux)
- fix(NcInputField): unresolved component and state color #6994 (susnux)
- fix(NcAppNavigationItem): multi level padding #6861 (GretaD)
- fix(NcTextField)!: make trailing button icon for confirmation also work on RTL #6993 (susnux)
- fix(NcAppContent): incorrect page title from a different
core.apps
format in Nextcloud 30 #7010 (julien-nc) - fix(NcButton): correctly apply reverse padding #7029 (raimund-schluessler)
- fix(NcAvatar): update 'hasStatus' flag if changed #7033 (Antreesy)
- fix(NcCheckboxRadioSwitch): align icons with the first row of label #7043 (Antreesy)
- fix(actions): use pointer cursor for action button text #7042 (ChristophWurst)
- fix(NcAvatar): migrate from deprecated
showUserStatus
prop #7053 (Antreesy) - fix(NcAppNavigationSettings): adjust style and padding of button #7018 (raimund-schluessler)
- fix(NcRichText): always render code blocks in LTR direction #7056 (Antreesy)
- fix(NcHeaderMenu): bring caret back #7071 (ShGKme)
- fix(NcChip): adjust default prop declaration #7074 (Antreesy)
- fix(NcPopover): component crash when unmounted shown #7077 (Antreesy)
- fix(NcListItem): let
active
prop take higher priority #7086 (DorraJaouad)
Other Changes
- refactor(NcTextArea): migrate component to Typescript and script-setup #6986 (susnux)
- refactor(NcNoteCard): migrate component to Typescript and script-setup #6985 (susnux)
- refactor(NcDialog): migrate to script-setup and use Typescript for module #6968 (susnux)
- refactor: migrate Nc*Field to Typescript #6951 (susnux)
- refactor(NcUserBubble): migrate components to Typescript #6946 (susnux)
- refactor(NcHeaderMenu): export as Typescript module and reorder script tags #7000 (susnux)
- fix(NcAppNavigationSettings): button left full width #6999 (raimund-schluessler)
- refactor: migrate NcAppNavigationToggle / NcAppNavigationSpacer to Typescript #7004 (susnux)
- refactor(NcContent): migrate to Typescript and script-setup #7003 (susnux)
- chore: adjust vitest config to be consistent on CI and locally #7065 (susnux)
- refactor(NcLoadingIcon): migrate component to Typescript and script-setup #7076 (susnux)
- refactor(NcDateTimePickerNative): migrate component to Typescript and script-setup #7075 (susnux)
- refactor: deprecate events not comply with Vue event naming rules #7058 (susnux)
- fix(NcModal): correctly handle when trying to activate non-existing focus-trap #7084 (Antreesy)
- refactor(NcHighlight): migrate component to Typescript #7073 (susnux)
- refactor(NcColorPicker): migrate component to Typescript #7080 (susnux)
Full Changelog: v9.0.0-rc.2...v9.0.0-rc.3
v9.0.0-rc.2
What's Changed
🚀 Enhancements
- feat(NcChip): allow to define the actions container by @susnux in #6813
- feat(NcActionButton): introduce
description
prop by @Antreesy in #6932
🐛 Fixed bugs
- fix(NcEmptyContent): description styling for mobile by @Plesin in #6936
- style(NcAppSidebar): remove custom styles from close button by @Antreesy in #6944
- fix: add missing
NcSelectUsers
export by @susnux in #6947 - fix(NcAppContent): adapt to new emitted event object with splitpanes ^4.0.0 by @wofferl in #6950
- fix(NcActionInput): register used NcColorPicker component by @susnux in #6956
- fix(NcRichText): filter links based on protocol by @max-nextcloud in #6966
- fix(NcActions): allow to close popover on click outside by @susnux in #6959
- fix(NcSelectUsers): use correct type for model and add tests for model-value handling by @susnux in #6957
Other Changes
- refactor(NcUserStatusIcon): migrate component to Typescript by @susnux in #6820
- refactor(NcAppDetailsToggle): migrate to Typescript by @susnux in #6909
- fix(NcAppSidebar): make buttons pixel perfect by @Antreesy in #6938
- fix(docs): NcContent with skip-actions crashes styleguidist by @ShGKme in #6923
- refactor(NcAppContentDetails): migrate component to Typescript by @susnux in #6910
- refactor(NcGuestContent): migrate component to Typescript by @susnux in #6948
- chore(dev-deps): bump @nextcloud/stylelint-config from 3.0.1 to 3.1.0 and fix errors by @ShGKme in #6955
- test: drop useless console output by @susnux in #6958
- chore: remove
todo
from NcSelect by @susnux in #6963 - chore: remove deprecated
aria-hidden
prop fromNcAction*
by @susnux in #6961 - chore(NcRichContenteditable)!: remove
title
prop in favor oflabel
by @susnux in #6962 - refactor(NcCounterBubble): migrate component to Typescript and script-setup by @susnux in #6970
- refactor: remove
ScopeComponent
the scope is not used and already added by Vue by @susnux in #6965 - refactor(NcIconSvgWrapper): migrate component to Typescript and script-setup by @susnux in #6967
- refactor: use
NcIconSvgWrapper
withdirectional
property where needed by @susnux in #6767 - chore: prepare v9.0.0-rc.2 by @susnux in #6960
New Contributors
Full Changelog: v9.0.0-rc.1...v9.0.0-rc.2
v8.27.0
What's Changed
🚀 Enhancements
- [stable8] feat(NcChip): allow to define the actions container by @backportbot in #6964
- [stable8] feat(NcActionButton): introduce
description
prop by @backportbot in #6975
🐛 Fixed bugs
- [stable8] fix(NcEmptyContent): description styling for mobile by @backportbot in #6943
- [stable8] style(NcAppSidebar): remove custom styles from close button by @backportbot in #6945
Other Changes
- [stable8] refactor(useIsFullscreen): migrate to Typescript by @ShGKme in #6912
- [stable8] refactor(useHotKey): migrate code to Typescript by @backportbot in #6911
- [stable8] refactor(Focus): migrate directive to Typescript by @backportbot in #6914
- [stable8] refactor: use
NcIconSvgWrapper
withdirectional
property where needed by @backportbot in #6976 - [stable8] feat(NcRichText): filter links based on protocol by @max-nextcloud in #6977
Full Changelog: v8.26.1...v8.27.0
v9.0.0-rc.1
What's Changed
🚀 Enhancements
🐛 Fixed bugs
- fix(NcIconSvgWrapper): center svg span wrapper by @skjnldsv in #6869
- fix(NcChip): do not rerender slots to check if they are available by @susnux in #6903
- fix(dialog/spawnDialog): incorrect return type for optional result by @ShGKme in #6905
- [next] add fallBackFocus to NcPopover by @backportbot in #6679
Other Changes
- Updates for project Nextcloud vue library by @transifex-integration in #6844
- chore: update workflows from organization by @susnux in #6841
- Updates for project Nextcloud vue library by @transifex-integration in #6862
- refactor(NcChip): properly document and type slots and emits by @susnux in #6812
- chore: move from
dev:watch
towatch
by @skjnldsv in #6888 - Updates for project Nextcloud vue library by @transifex-integration in #6895
- refactor(NcVNodes): migrate component to Typescript by @susnux in #6822
- refactor(Focus): migrate directive to Typescript by @susnux in #6786
- refactor(NcEmptyContent): migrate component to Typescript by @susnux in #6904
- Updates for project Nextcloud vue library by @transifex-integration in #6908
- chore: prepare v9.0.0-rc.1 by @susnux in #6906
Full Changelog: v9.0.0-rc.0...v9.0.0-rc.1