chore(deps): update dependency vue-i18n-legacy to v9 [security] #103
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
8
->9.14.2
GitHub Vulnerability Alerts
CVE-2024-52809
Vulnerability type
XSS
Description
vue-i18n can be passed locale messages to
createI18n
oruseI18n
.we can then translate them using
t
and$t
.vue-i18n has its own syntax for local messages, and uses a message compiler to generate AST.
In order to maximize the performance of the translation function, vue-i18n uses bundler plugins such as
@intlify/unplugin-vue-i18n
and bulder to convert the AST in advance when building the application.By using that AST as the locale message, it is no longer necessary to compile, and it is possible to translate using the AST.
The AST generated by the message compiler has special properties for each node in the AST tree to maximize performance. In the PoC example below, it is a
static
property, but that is just one of the optimizations.About details of special properties, see https://github.com/intlify/vue-i18n/blob/master/packages/message-compiler/src/nodes.ts
In general, the locale messages of vue-i18n are optimized during production builds using
@intlify/unplugin-vue-i18n
,so there is always a property that is attached during optimization like this time.
But if you are using a locale message AST in development mode or your own, there is a possibility of XSS if a third party injects.
Reproduce (PoC)
Workarounds
Before v10.0.0, we can work around this vulnerability by using the regular compilation (
jit: false
of@intlify/unplugin-vue-i18n
plugin configuration) way instead of jit compilation.References
Release Notes
intlify/vue-i18n (vue-i18n-legacy)
v9.14.2
Compare Source
What's Changed
🔒 Security Fixes
Full Changelog: intlify/vue-i18n@v9.14.1...v9.14.2
v9.14.1
Compare Source
What's Changed
🐛 Bug Fixes
deepCopy
mutatessrc
arguments by @BobbieGoede in https://github.com/intlify/vue-i18n/pull/1975Full Changelog: intlify/vue-i18n@v9.14.0...v9.14.1
v9.14.0
Compare Source
What's Changed
⚡ Improvement Features
Full Changelog: intlify/vue-i18n@v9.13.1...v9.14.0
v9.13.1
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🐛 Bug Fixes
Full Changelog: intlify/vue-i18n@v9.13.0...v9.13.1
v9.13.0
Compare Source
This changelog is generated by GitHub Releases
What's Changed
⚡ Improvement Features
📝️ Documentations
New Contributors
Full Changelog: intlify/vue-i18n@v9.12.1...v9.13.0
v9.12.1
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🐛 Bug Fixes
👕 Refactoring
Full Changelog: intlify/vue-i18n@v9.12.0...v9.12.1
v9.12.0
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🌟 Features
Full Changelog: intlify/vue-i18n@v9.11.1...v9.12.0
v9.11.1
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🐛 Bug Fixes
.d.ts
by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1794Full Changelog: intlify/vue-i18n@v9.11.0...v9.11.1
v9.11.0
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🌟 Features
scope
prop by @BobbieGoede in https://github.com/intlify/vue-i18n-next/pull/1786New Contributors
Full Changelog: intlify/vue-i18n@v9.10.2...v9.11.0
v9.10.2
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🐛 Bug Fixes
message-compiler
by @BobbieGoede in https://github.com/intlify/vue-i18n-next/pull/1766New Contributors
Full Changelog: intlify/vue-i18n@v9.10.1...v9.10.2
v9.10.1
Compare Source
This changelog is generated by GitHub Releases
What's Changed
⚡ Improvement Features
📝️ Documentations
New Contributors
Full Changelog: intlify/vue-i18n@v9.10.0...v9.10.1
v9.10.0
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🌟 Features
te
behavior compatibility before v9.6 by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1751📝️ Documentations
New Contributors
Full Changelog: intlify/vue-i18n@v9.9.1...v9.10.0
v9.9.1
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🐛 Bug Fixes
📝️ Documentations
New Contributors
Full Changelog: intlify/vue-i18n@v9.9.0...v9.9.1
v9.9.0
Compare Source
This changelog is generated by GitHub Releases
What's Changed
⚡ Improvement Features
📈 Performance Fixes
📝️ Documentations
New Contributors
Full Changelog: intlify/vue-i18n@v9.8.0...v9.9.0
v9.8.0
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🌟 Features
Full Changelog: intlify/vue-i18n@v9.7.1...v9.8.0
v9.7.1
Compare Source
This changelog is generated by GitHub Releases
What's Changed
⚡ Improvement Features
@intlify/core
conditional exports by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1639Full Changelog: intlify/vue-i18n@v9.7.0...v9.7.1
v9.7.0
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🌟 Features
Full Changelog: intlify/vue-i18n@v9.6.5...v9.7.0
v9.6.5
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🐛 Bug Fixes
New Contributors
Full Changelog: intlify/vue-i18n@v9.6.4...v9.6.5
v9.6.4
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🐛 Bug Fixes
Full Changelog: intlify/vue-i18n@v9.6.3...v9.6.4
v9.6.3
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🐛 Bug Fixes
/* #__PURE__*/
comment timing by @newives in https://github.com/intlify/vue-i18n-next/pull/1623New Contributors
Full Changelog: intlify/vue-i18n@v9.6.2...v9.6.3
v9.6.2
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🐛 Bug Fixes
Full Changelog: intlify/vue-i18n@v9.6.1...v9.6.2
v9.6.1
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🐛 Bug Fixes
te
logic strictly by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1612te
fallback to root by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1613Full Changelog: intlify/vue-i18n@v9.6.0...v9.6.1
v9.6.0
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🌟 Features
@intlfy/core-base
(@intlify/core
) by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1594🐛 Bug Fixes
@vite-ignore
magic comment by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1590setLocaleMessage
by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1601te
by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1602⚡ Improvement Features
📝️ Documentations
Full Changelog: intlify/vue-i18n@v9.5.0...v9.6.0
v9.5.0
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🌟 Features
🐛 Bug Fixes
📝️ Documentations
🍭 Examples
New Contributors
Full Changelog: intlify/vue-i18n@v9.4.1...v9.5.0
v9.4.1
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🐛 Bug Fixes
📝️ Documentations
Full Changelog: intlify/vue-i18n@v9.4.0...v9.4.1
v9.4.0
Compare Source
This changelog is generated by GitHub Releases
What's Changed
🌟 Features
🐛 Bug Fixes
⚡ Improvement Features
New Contributors
Full Changelog: intlify/vue-i18n@v9.3.0...v9.4.0
v9.3.0
Compare Source
We are excited to announce the release of Vue I18n v9.3, finally !! This release includes some new features, bug fixes, improvements, and document fixes.
We had commited with 37 contributors. Thanks for your contributing ❤️
In the following, we introduce some of the new features:
🌟 Features
Node.js Dual packages (
cjs
/mjs
)We provide CommonJS and Native ESM dual module packages for Node.js. This supports both
require
andimport
for loading modules in Node.js.JIT Style Compilation
Supports JIT (Just In Time) style compilation of message formats. This mean, removes the CSP limitation and allows for use in environments such as Service worker, Web worker, and Edge.
It mean also now supports the use-case where locale messages are dynamically retrieved from the backend via the API.
For more information, please see the docs
The performance of JIT-style compilation is close to that of conventional AOT (Ahead Of Time) style compilation, and you can improve the performance to nearly 3x with combination of JIT + AOT.
Below are the compile performance benchmark results for vue-i18n:
You can clone Vue I18n and run the benchmark with
pnpm build:type && pnpm benchmark
to check.Custome message format
Starting with v9.3, Vue I18n will give message format customization as an experimental feature. This will allow for extending to the message format:
About details, please see the docs
messageCompiler
option by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1497Exports type definition and API
Export
v-t
type definitions and API$te
to support Vue I18n extending for third vendors and your Vue applications.v-t
directive type by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1511$te
as global on composition mode by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1222❗ Important Changes: 1
allowComposition
optionThe
allowComposition
option will be removed in Vue I18n v10. We have accordingly output a warning if you are using it.If you are using Vue I18n Legacy API to migrate to the Composition API, please make sure you have done so with the Vue I18n v9 version.
allowComposition
option by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1496Deprecate vue-i18n official bundle plugins
The following plugin or loader for bundler is deprecated because it can be replaced by the
unplugin-vue-i18n
.rollup-plugin-vue-i18n
vite-plugin-vue-i18n
vue-i18n-loader
These will only be taken as hot fixes in the future, and no additional functionality will be added.
⚡ Improvement Features: 15
globalThis
with bundler by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1413TranslateVNodeSymbol
by @DamianGlowala in https://github.com/intlify/vue-i18n-next/pull/1236optionalDependencies
by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1184🐛 Bug Fixes: 17
isMessageAST
more strictly by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1509rt
by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1455<i18n-t>
,<i18n-n>
and<i18n-d>
by @kazupon in https://github.com/intlify/vue-i18n-next/pull/1416📝️ Documentations: 28
🧑🤝🧑 Contributers: 37
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.