Before releasing the final v9.0.0 and making it the main branch we should make sure that all required breaking changes are applied.
When possible, migration should be simple:
- Removed API must be marked deprecated in v8
- Changed API should have a compatible API in v8
Current breaking changes
- Vue 2 -> Vue 3
- CJS dropped
- ✅ Forward-compatible via ESM
dist and .js extension dropped from import path
- ✅ Forward-compatible by just using the new paths like
@nextcloud/vue/components/NcButton.
NcSettingsSection: limitWidth prop was removed
NcAppSidebar: closing and opening events were removed
- ✅ Forward-compatible via
update:open
v-model related changes
- ✅ Forward-compatible via:
#default slot changed to #icon for the leading icon in Nc*Field
- ✅ Forward-compatible via:
isFullscreen and isMobile are removed
- ✅ Corresponding composables are available on both versions
exact prop removed from VueRouter-related components
- ✅ Comes from Vue Router migration
Proposals with breaking changes
Before releasing the final v9.0.0 and making it the
mainbranch we should make sure that all required breaking changes are applied.When possible, migration should be simple:
Current breaking changes
distand.jsextension dropped from import path@nextcloud/vue/components/NcButton.NcSettingsSection:limitWidthprop was removedNcAppSidebar:closingandopeningevents were removedupdate:openv-modelrelated changesv-modelprops/events #6172#defaultslot changed to#iconfor the leading icon inNc*Field#iconslot for forward compatibility with v9,#defaultslot is deprecated #6399isFullscreenandisMobileare removedexactprop removed from VueRouter-related componentsProposals with breaking changes
dist#6385dist#6385clickOutsideOptionsmixin and refactor using components #6429variantprop for design variant of buttons / chips #6472NcDateTimePicker- [next] refactor(NcDateTimePicker): migrate to@vuepicklibrary #6651rangeproperty #6738NcSelectsuper component intoNcSelectandNcSelectUsers#6732NcSelectUsersto v8