* feat(cli): check plugin versions for incompatibilities check core plugin versions for incompatibilities between Cargo and NPM releases a plugin NPM/cargo version is considered "incompatible" if their major or minor versions are not equal on dev we show an warning on build we error out (with a `--ignore-incompatible-plugins` flag to prevent that) this is an idea from @oscartbeaumont we've seen several plugin changes that require updates for both the cargo and the NPM releases of a plugin, and if they are not in sync, the functionality does not work e.g. https://github.com/tauri-apps/plugins-workspace/pull/2573 where the change actually breaks the app updater if you miss the NPM update * Use list to get multiple package versions at once * Fix for older rust versions * Clippy * Support yarn classic * Support yarn berry * Use `.cmd` only for `npm`, `yarn`, `pnpm` * Use yarn list without --pattern * rename * Extract function `check_incompatible_packages` * Check `tauri` <-> `@tauri-apps/api` * incompatible -> mismatched * run build check in parallel * rename struct * Switch back to use sync check and add todo * Extract to function `cargo_manifest_and_lock` --------- Co-authored-by: Tony <legendmastertony@gmail.com>
Changes
via https://github.com/jbolda/covector
As you create PRs and make changes that require a version bump, please add a new markdown file in this folder. You do not note the version number, but rather the type of bump that you expect: major, minor, or patch. The filename is not important, as long as it is a .md, but we recommend that it represents the overall change for organizational purposes.
When you select the version bump required, you do not need to consider dependencies. Only note the package with the actual change, and any packages that depend on that package will be bumped automatically in the process.
Use the following format:
---
'package-a': 'patch:enhance'
'package-b': 'patch:enhance'
---
Change summary goes here
Summaries do not have a specific character limit, but are text only. These summaries are used within the (future implementation of) changelogs. They will give context to the change and also point back to the original PR if more details and context are needed.
Changes will be designated as a major, minor or patch as further described in semver.
Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards compatible manner, and
- PATCH version when you make backwards compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format, but will be discussed prior to usage (as extra steps will be necessary in consideration of merging and publishing).
Additionally you could specify a tag for the change file to group it with other changes by prefixing the bump with :<tag>, for example:
---
'package-a': 'patch:enhance'
---
Change summary goes here
which will group this change file with other changes that specify the bug tag.
For list of available tags, see the changeTags key in ./config.json