Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Last call for @nextcloud/vue v9 breaking changes #6384

Open
ShGKme opened this issue Jan 14, 2025 · 9 comments
Open

Last call for @nextcloud/vue v9 breaking changes #6384

ShGKme opened this issue Jan 14, 2025 · 9 comments
Labels
discussion Need advices, opinions or ideas on this topic
Milestone

Comments

@ShGKme
Copy link
Contributor

ShGKme commented Jan 14, 2025

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
    • ✅ Deprecated in v8
  • NcAppSidebar: closing and opening events were removed
    • ✅ Forward-compatible via update:open
  • v-model related changes
  • 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

@ShGKme ShGKme added the discussion Need advices, opinions or ideas on this topic label Jan 14, 2025
@Antreesy
Copy link
Contributor

IIRC there were some changes with box-sizing: border-box in next branch only (for modals and popovers)

@ShGKme ShGKme pinned this issue Jan 14, 2025
@ShGKme

This comment was marked as resolved.

@ShGKme

This comment has been minimized.

@Antreesy

This comment has been minimized.

@raimund-schluessler
Copy link
Contributor

raimund-schluessler commented Jan 14, 2025

There was the idea to remove icon class support. Don't know whether this is still planned or not #3007

See #5048 as well.

@raimund-schluessler raimund-schluessler added this to the 9.0.0 milestone Jan 14, 2025
@susnux
Copy link
Contributor

susnux commented Jan 14, 2025

There was the idea to remove icon class support

Yes but not now I think, there is too much old stuff that simply would break.
We also do not have agreed yet on an alternative, especially if icons are set by e.g. PHP API.
There is a discussion somewhere what to do (always inline SVG, custom icon library, etc), also a problem is we use MDI a lot but thats not where we want to go so even that is only a intermediate step.

Do we want to rename exports like Components to components or remove dist part?

Would love to see all of that, but it does not have to be breaking, we can support both without any new files (just add an alias to the exports in the package json).

Remove plugin #6349

💯

@ShGKme

This comment was marked as resolved.

@ShGKme

This comment has been minimized.

@ShGKme
Copy link
Contributor Author

ShGKme commented Jan 17, 2025

Proposal: get rid of other mixins:

  • clickOutsideOptions
    • Remove
    • I haven't found usage anywhere, used internally
  • userStatus
    • Remove?
    • I haven't found usage anywhere
    • Alternatively can be migrated to composable/library
  • richEditor
    • Remove?
    • Used in Talk and server/apps/comments
    • Can be replaced with NcRichText

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Need advices, opinions or ideas on this topic
Projects
None yet
Development

No branches or pull requests

4 participants