Skip to content

Releases: nextcloud-libraries/nextcloud-vue

v8.29.0

18 Aug 18:58
72338ac

Choose a tag to compare

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

21 Jul 15:51
9e0d671

Choose a tag to compare

v9.0.0-rc.5 Pre-release
Pre-release

What's Changed

πŸ’₯ Breaking Changes

  • The usernameToColor function is named exported instead of a default export.
    This was done to have consistent export types.
    Use import { 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

15 Jul 15:19
4befd73

Choose a tag to compare

v9.0.0-rc.4 Pre-release
Pre-release

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

14 Jul 15:02
dfef9fe

Choose a tag to compare

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

25 Jun 14:06
2cf1fb4

Choose a tag to compare

v9.0.0-rc.3 Pre-release
Pre-release

What's Changed

πŸ“ Notes

  • NcColorPicker
    • The update:open event is removed in favor of the already available close event.
  • NcTextField:
    • The value 'arrowRight' for the trailingButtonIcon property was deprecated is now removed in favor of arrowEnd.

πŸ› 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

28 May 18:34
3d9be68

Choose a tag to compare

v9.0.0-rc.2 Pre-release
Pre-release

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 from NcAction* by @susnux in #6961
  • chore(NcRichContenteditable)!: remove title prop in favor of label 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 with directional 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

28 May 18:41
92fa8ff

Choose a tag to compare

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 with directional 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

13 May 10:17
97ce6bd

Choose a tag to compare

v9.0.0-rc.1 Pre-release
Pre-release

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 to watch 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

v8.26.1

07 May 16:53
bdd3eca

Choose a tag to compare

What's Changed

πŸ› Fixed bugs

  • [stable8] fix(NcIconSvgWrapper): center svg span wrapper by @backportbot in #6880

Other Changes

Full Changelog: v8.26.0...v8.26.1

v9.0.0-rc.0

25 Apr 08:43
9085fb9

Choose a tag to compare

v9.0.0-rc.0 Pre-release
Pre-release

What's Changed

πŸš€ Enhancements

  • feat(NcDateTimePicker): add time range picker and align naming by @susnux in #6728
  • feat(dialogs/spawnDialog): separate spawning options from dialog props and allow Element as a container by @ShGKme in #6756
  • feat(dialogs/spawnDialogs)!: do not toRaw the result by @ShGKme in #6760
  • Adjust all styles for RTL support and add directional prop to NcIconSvgWrapper by @susnux in #6733
  • feat(dialogs/spawnDialog): return promise with the result by @ShGKme in #6758
  • feat(dialogs/spawnDialog)!: replace onClose callback with Promise by @ShGKme in #6759
  • [next] feat(NcAvatar): implement custom javascript hook action for the contacts menu by @backportbot in #6306
  • feat!: split NcSelect super component into NcSelect and NcSelectUsers by @susnux in #6732
  • feat(NcPopover): document all properties and remove transparent floating-vue wrapper by @susnux in #6802

πŸ› Fixed bugs

  • fix(NcDateTimePicker): adjust padding to prevent horizontal scrolling by @susnux in #6722
  • fix(dialogs/spawnDialog): dialog cannot be closed by @ShGKme in #6729
  • fix(NcDateTimePicker): prevent emitting [Date, null] by @susnux in #6726
  • fix(dialogs/spawnDialog)!: support vue-devtool but lose appContext by @ShGKme in #6752
  • fix(dialogs/spawnDialog): do not teleport dialog from root by @ShGKme in #6757
  • fix(dialogs/spawnDialog): enhance spawnDialog types by @mattersj in #6781
  • fix(NcRichContenteditable): add correct tooltip by @susnux in #6778
  • fix(NcRichContenteditable): bring back error style on overflow by @susnux in #6785
  • fix(NcPopover): regression with incorrect size on RTL by @Antreesy in #6796
  • fix(NcRichText): references prop type by @julien-nc in #6799
  • fix(NcAppContent): don't remove list when showing details in mobile or no-split mode by @backportbot in #6801
  • fix(NcAvatar): do not load avatar from server, if iconClass was provided by @Antreesy in #6831
  • fix(NcMentionBubble): position selectable text aligned with the component by @Antreesy in #6835
  • fix(NcSelectUsers): add missing search event by @susnux in #6811

Other Changes

  • Updates for project Nextcloud vue library by @transifex-integration in #6721
  • Updates for project Nextcloud vue library by @transifex-integration in #6724
  • docs(NcDateTimePicker): add prop documentation for all props by @susnux in #6727
  • Updates for project Nextcloud vue library by @transifex-integration in #6739
  • chore: drop remaining cypress files by @susnux in #6735
  • chore: adjust package engines versions by @susnux in #6725
  • chore: update pull_request_template.md by @ShGKme in #6736
  • Updates for project Nextcloud vue library by @transifex-integration in #6762
  • refactor: deprecate Tooltip directive for accessibility by @susnux in #6761
  • refactor!(NcModal): adjust to boolean props with default false by @susnux in #6719
  • refactor: drop string-length dependency and replace with native solution by @susnux in #6779
  • chore: type check project on CI by @susnux in #6737
  • refactor: adjust code to fix all SASS deprecations by @susnux in #6734
  • refactor: Migrate NcButton from render function to template by @susnux in #6033
  • Updates for project Nextcloud vue library by @transifex-integration in #6783
  • Updates for project Nextcloud vue library by @transifex-integration in #6784
  • chore!: do not export mixins anymore by @susnux in #6790
  • chore!: drop tooltip directive by @susnux in #6787
  • Updates for project Nextcloud vue library by @transifex-integration in #6795
  • Updates for project Nextcloud vue library by @transifex-integration in #6803
  • feat(NcPopover): add new noFocusTrap prop by @susnux in #6807
  • Updates for project Nextcloud vue library by @transifex-integration in #6809
  • ci: use conventional commits in /*-update commands by @susnux in #6810
  • Updates for project Nextcloud vue library by @transifex-integration in #6828
  • refactor(NcSavingIndicatorIcon): migrate component to vue by @susnux in #6823
  • chore: adjust vite plugin for vue <docs> by @susnux in #6824
  • refactor(NcTimezonePicker): migrate component to Typescript by @susnux in #6821
  • chore: prepare release of v9.0.0-rc.0 by @susnux in #6788

New Contributors

Full Changelog: v9.0.0-alpha.8...v9.0.0-rc.0