harlan-zw/nuxt-simple-sitemap (nuxt-simple-sitemap)
### [`v4.1.0`](https://togithub.com/harlan-zw/nuxt-simple-sitemap/releases/tag/v4.1.0)
[Compare Source](https://togithub.com/harlan-zw/nuxt-simple-sitemap/compare/v4.0.1...v4.1.0)
##### Notable Changes
##### AutoLastmod Disabled By Default
Previous to this version, `autoLastmod` was enabled by default. Recently it was announced that Google will only respect `lastmod` when you are accurately setting it, otherwise, it will start ignoring it.
For this reason `autoLastmod` is now disabled by default. However, you can still opt-in to this feature if you'd like to.
With this, when prerendering your pages, the module will now extract the `article:modified_time` to safely set the `lastmod` for you.
To learn more, see the new [Sitemap.xml Best Practices](https://nuxtseo.com/sitemap/guides/best-practices) and [Nuxt Prendering](https://nuxtseo.com/sitemap/guides/prerendering) docs.
##### Changelog
##### Bug Fixes
- apply route rules ([f733261](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/f733261))
- avoid inserting `dynamicUrlsApiEndpoint` route ([3fcac13](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/3fcac13))
- disable `autoLastmod` by default for best practices ([51e739e](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/51e739e))
- exclude `/_nuxt/**` and `/api/**` paths by default ([c7f4ce0](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/c7f4ce0))
- filter i18n URLs based on non-prefixed path ([94a5214](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/94a5214))
- only filter `_sitemap` with multi sitemaps ([e662cad](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/e662cad)), closes [#165](https://togithub.com/harlan-zw/nuxt-simple-sitemap/issues/165)
- sitemap title not rendering correctly in XSL ([8fb2388](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/8fb2388))
- **devtools:** tidy up hints ([083789d](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/083789d))
- **i18n** support i18n strategy `prefix_and_default` ([8bb8adc](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/8bb8adc))
- **i18n** match non-prefixed route for i18n route rules ([da59a9a](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/da59a9a))
##### Features
- support `experimentalWarmUp` ([da07f0d](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/da07f0d))
- **prerenderer:** extract lastmod from `article:modified_time` ([3ec3667](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/3ec3667))
### [`v4.0.1`](https://togithub.com/harlan-zw/nuxt-simple-sitemap/compare/v4.0.0...v4.0.1)
[Compare Source](https://togithub.com/harlan-zw/nuxt-simple-sitemap/compare/v4.0.0...v4.0.1)
### [`v4.0.0`](https://togithub.com/harlan-zw/nuxt-simple-sitemap/releases/tag/v4.0.0)
[Compare Source](https://togithub.com/harlan-zw/nuxt-simple-sitemap/compare/v3.4.1...v4.0.0)
#### Background
Over the last couple of months I've had many issues reported with similar themes:
- Dynamic URLs are hard to work with
- It's difficult to get multiple sitemaps to show the correct URLs
- I18n has many small issues
I hope this release can resolve these. It has required replacing much of the underlying logic, please test your sitemaps after upgrading.
#### Features
##### π₯« Sitemap Sources
The v4 introduces the official concept of 'sources' to your sitemaps.
Every URL within your sitemap will belong to a source. A source will either be a User source or a Application source.
This concept existed before v4 in different forms, v4 aims to clean them up and make working with them much easier.
For full documentation see [Sitemap Sources](https://nuxtseo.com/sitemap/getting-started/data-sources).
##### π€ Nuxt Dev Tools Integration
Nuxt Simple Sitemap now has a dedicated tab in Nuxt Dev Tools to help you debug.
[nuxt-simple-sitemap-devtools.webm](https://togithub.com/harlan-zw/nuxt-simple-sitemap/assets/5326365/269d8421-0704-4336-81a6-dd597fe80d38)
##### π¬ More i18n Improvements
- Locale domain support ([#155](https://togithub.com/harlan-zw/nuxt-simple-sitemap/issues/155))
- Support pages opt-outed using `defineI18nRoute(false)` ([#126](https://togithub.com/harlan-zw/nuxt-simple-sitemap/issues/126))
- Only add trusted i18n routes, will use meta tags when prerendering
- Less aggressive filtering
- Opt-in to transform dynamic URLs `__i18nTransform: true`
See the updated [i18n documentation](https://nuxtseo.com/sitemap/integrations/i18n)
##### π Caching Improvements
Now utilises native route rules. By default will set up SWR rules for 10 minutes.
Learn more on the [Sitemap Caching](https://nuxtseo.com/sitemap/guides/cache) guide.
#### Other Improvements
##### Nitro Composables for better types
When creating an API endpoint that returns URLs you should use the new `defineSitemapEventHandler` function for full TypeScript support.
```ts
// api/sitemap.ts
export default defineSitemapEventHandler(() => {
return ['/foo']
})
```
##### Prerendering Improvements
Previously prerendering was done in a Node context, this will now run in a Nitro context which will provide better consistency between prerender and runtime environments.
##### Video Support
Video entries are now supported properly. ([#159](https://togithub.com/harlan-zw/nuxt-simple-sitemap/issues/159))
#### β οΈ Deprecations
- `cacheTtl` is deprecated, you should use `cacheMaxAgeSeconds` which is more explicit.
- `inferStaticPagesAsRoutes` is deprecated, if you were using this to opt-out of pages, you should use `excludeAppSources: true`
#### β οΈ Breaking Changes
##### Nuxt Hooks no longer supported
If you were using Nuxt hooks to modify the prerendered sitemap, you will need to migrate these to Nitro hooks.
```ts [nuxt.config.ts]
export default defineNuxtConfig({
hooks: {
// old - no longer supported
'sitemap:resolved': function (ctx) {},
'sitemap:output': function (ctx) {}
},
})
```
```ts [server/plugins/sitemap]
export default defineNitroPlugin((nitroApp) => {
nitroApp.hooks.hook('sitemap:output', async (ctx) => {
// supported!
})
})
```
##### Removed deprecations
- The hook `sitemap:prerender` has been removed. You should use `sitemap:resolved` instead.
- The config `trailingSlash` and `siteUrl` has been removed. You should use site config, see [Setting Site Config](https://nuxtseo.com/site-config/guides/setting-site-config).
- The config `autoAlternativeLangPrefixes` has been removed. If you'd like to set up automatic alternative language prefixes use `__i18nTransform`.
#### π Support my work
This release took over 40 hours.
If technical SEO developer experience in Nuxt is important to you, consider [supporting my work](https://togithub.com/sponsors/harlan-zw) on [Nuxt SEO](https://nuxtseo.com).
Configuration
π Schedule: Branch creation - At any time (no schedule defined), 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.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
:warning: We detected 3 security issues in this pull request:
Vulnerable Libraries (3)
Severity | Details
:-: | :--
High | [pkg:npm/nuxt-simple-sitemap@4.0.1](https://github.com/manastalukdar/manastalukdar.github.io/blob/6d36c58041388933b9204f7e9166e17e5954c66c/website/package.json) (t) upgrade to: *> 4.0.1*
High | [pkg:npm/nuxt@3.8.1](https://github.com/manastalukdar/manastalukdar.github.io/blob/6d36c58041388933b9204f7e9166e17e5954c66c/website/package.json) (t) upgrade to: *> 3.8.1*
High | [pkg:npm/@vueuse/nuxt@10.6.0](https://github.com/manastalukdar/manastalukdar.github.io/blob/6d36c58041388933b9204f7e9166e17e5954c66c/website/package.json) (t) upgrade to: *> 10.6.0*
More info on how to fix Vulnerable Libraries in [JavaScript](https://docs.guardrails.io/docs/en/vulnerabilities/javascript/using_vulnerable_libraries.html?utm_source=ghpr).
This PR contains the following updates:
^3.4.1
->^4.0.0
Release Notes
harlan-zw/nuxt-simple-sitemap (nuxt-simple-sitemap)
### [`v4.1.0`](https://togithub.com/harlan-zw/nuxt-simple-sitemap/releases/tag/v4.1.0) [Compare Source](https://togithub.com/harlan-zw/nuxt-simple-sitemap/compare/v4.0.1...v4.1.0) ##### Notable Changes ##### AutoLastmod Disabled By Default Previous to this version, `autoLastmod` was enabled by default. Recently it was announced that Google will only respect `lastmod` when you are accurately setting it, otherwise, it will start ignoring it. For this reason `autoLastmod` is now disabled by default. However, you can still opt-in to this feature if you'd like to. With this, when prerendering your pages, the module will now extract the `article:modified_time` to safely set the `lastmod` for you. To learn more, see the new [Sitemap.xml Best Practices](https://nuxtseo.com/sitemap/guides/best-practices) and [Nuxt Prendering](https://nuxtseo.com/sitemap/guides/prerendering) docs. ##### Changelog ##### Bug Fixes - apply route rules ([f733261](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/f733261)) - avoid inserting `dynamicUrlsApiEndpoint` route ([3fcac13](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/3fcac13)) - disable `autoLastmod` by default for best practices ([51e739e](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/51e739e)) - exclude `/_nuxt/**` and `/api/**` paths by default ([c7f4ce0](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/c7f4ce0)) - filter i18n URLs based on non-prefixed path ([94a5214](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/94a5214)) - only filter `_sitemap` with multi sitemaps ([e662cad](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/e662cad)), closes [#165](https://togithub.com/harlan-zw/nuxt-simple-sitemap/issues/165) - sitemap title not rendering correctly in XSL ([8fb2388](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/8fb2388)) - **devtools:** tidy up hints ([083789d](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/083789d)) - **i18n** support i18n strategy `prefix_and_default` ([8bb8adc](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/8bb8adc)) - **i18n** match non-prefixed route for i18n route rules ([da59a9a](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/da59a9a)) ##### Features - support `experimentalWarmUp` ([da07f0d](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/da07f0d)) - **prerenderer:** extract lastmod from `article:modified_time` ([3ec3667](https://togithub.com/harlan-zw/nuxt-simple-sitemap/commit/3ec3667)) ### [`v4.0.1`](https://togithub.com/harlan-zw/nuxt-simple-sitemap/compare/v4.0.0...v4.0.1) [Compare Source](https://togithub.com/harlan-zw/nuxt-simple-sitemap/compare/v4.0.0...v4.0.1) ### [`v4.0.0`](https://togithub.com/harlan-zw/nuxt-simple-sitemap/releases/tag/v4.0.0) [Compare Source](https://togithub.com/harlan-zw/nuxt-simple-sitemap/compare/v3.4.1...v4.0.0) #### Background Over the last couple of months I've had many issues reported with similar themes: - Dynamic URLs are hard to work with - It's difficult to get multiple sitemaps to show the correct URLs - I18n has many small issues I hope this release can resolve these. It has required replacing much of the underlying logic, please test your sitemaps after upgrading. #### Features ##### π₯« Sitemap Sources The v4 introduces the official concept of 'sources' to your sitemaps. Every URL within your sitemap will belong to a source. A source will either be a User source or a Application source. This concept existed before v4 in different forms, v4 aims to clean them up and make working with them much easier. For full documentation see [Sitemap Sources](https://nuxtseo.com/sitemap/getting-started/data-sources). ##### π€ Nuxt Dev Tools Integration Nuxt Simple Sitemap now has a dedicated tab in Nuxt Dev Tools to help you debug. [nuxt-simple-sitemap-devtools.webm](https://togithub.com/harlan-zw/nuxt-simple-sitemap/assets/5326365/269d8421-0704-4336-81a6-dd597fe80d38) ##### π¬ More i18n Improvements - Locale domain support ([#155](https://togithub.com/harlan-zw/nuxt-simple-sitemap/issues/155)) - Support pages opt-outed using `defineI18nRoute(false)` ([#126](https://togithub.com/harlan-zw/nuxt-simple-sitemap/issues/126)) - Only add trusted i18n routes, will use meta tags when prerendering - Less aggressive filtering - Opt-in to transform dynamic URLs `__i18nTransform: true` See the updated [i18n documentation](https://nuxtseo.com/sitemap/integrations/i18n) ##### π Caching Improvements Now utilises native route rules. By default will set up SWR rules for 10 minutes. Learn more on the [Sitemap Caching](https://nuxtseo.com/sitemap/guides/cache) guide. #### Other Improvements ##### Nitro Composables for better types When creating an API endpoint that returns URLs you should use the new `defineSitemapEventHandler` function for full TypeScript support. ```ts // api/sitemap.ts export default defineSitemapEventHandler(() => { return ['/foo'] }) ``` ##### Prerendering Improvements Previously prerendering was done in a Node context, this will now run in a Nitro context which will provide better consistency between prerender and runtime environments. ##### Video Support Video entries are now supported properly. ([#159](https://togithub.com/harlan-zw/nuxt-simple-sitemap/issues/159)) #### β οΈ Deprecations - `cacheTtl` is deprecated, you should use `cacheMaxAgeSeconds` which is more explicit. - `inferStaticPagesAsRoutes` is deprecated, if you were using this to opt-out of pages, you should use `excludeAppSources: true` #### β οΈ Breaking Changes ##### Nuxt Hooks no longer supported If you were using Nuxt hooks to modify the prerendered sitemap, you will need to migrate these to Nitro hooks. ```ts [nuxt.config.ts] export default defineNuxtConfig({ hooks: { // old - no longer supported 'sitemap:resolved': function (ctx) {}, 'sitemap:output': function (ctx) {} }, }) ``` ```ts [server/plugins/sitemap] export default defineNitroPlugin((nitroApp) => { nitroApp.hooks.hook('sitemap:output', async (ctx) => { // supported! }) }) ``` ##### Removed deprecations - The hook `sitemap:prerender` has been removed. You should use `sitemap:resolved` instead. - The config `trailingSlash` and `siteUrl` has been removed. You should use site config, see [Setting Site Config](https://nuxtseo.com/site-config/guides/setting-site-config). - The config `autoAlternativeLangPrefixes` has been removed. If you'd like to set up automatic alternative language prefixes use `__i18nTransform`. #### π Support my work This release took over 40 hours. If technical SEO developer experience in Nuxt is important to you, consider [supporting my work](https://togithub.com/sponsors/harlan-zw) on [Nuxt SEO](https://nuxtseo.com).Configuration
π Schedule: Branch creation - At any time (no schedule defined), 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 has been generated by Mend Renovate. View repository job log here.