unstale

npm / sitemap

sitemap

What changed in sitemap 7 to 9, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.

8 breaking11 security14 new APIs and options2 behavior and defaults2 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

sitemap 926 changes

Breaking changes 6

  • Rejects absolute paths to prevent arbitrary file writes.

    7.1.3, 8.0.3, 9.0.1release notesrelease notesrelease notes

  • Enforces a 50,000 URL hard limit in the parser.

    9.0.1release notes

  • Parser and stream inputs now receive security validation and resource limits; invalid data may be rejected, including disallowed URL protocols, overlong strings, and excessive sitemap resources.

    9.0.0release notes

  • Direct imports of library files from ESM contexts require .js extensions; TypeScript adds these automatically.

    9.0.0release notes

  • Node.js >=20.19.5 is now required; Node.js 14, 16, and 18 are no longer supported.

    9.0.0release notes

  • npm >=10.8.2 is now required.

    9.0.0release notes

Security 4

  • Caps the parser error array at 100 entries to prevent memory DoS.

    8.0.3, 9.0.1release notesrelease notes

  • Escapes xslUrl in the stylesheet processing instruction to prevent XML injection.

    7.1.3, 8.0.3, 9.0.1release notesrelease notesrelease notes

  • A public security limits object is available, covering maximum URL length and sitemap, video, news, and image constraints.

    9.0.0release notes

  • XML generation adds safe attribute and element generation and protection against XML injection attacks.

    9.0.0release notes

New APIs and options 13

  • A public constant provides the default items per sitemap file: 45,000.

    9.0.0release notes

  • An allow/deny type guard is now part of the public API.

    9.0.0release notes

  • A price type guard is now part of the public API.

    9.0.0release notes

  • A resolution type guard is now part of the public API.

    9.0.0release notes

  • A change frequency type guard is now part of the public API.

    9.0.0release notes

  • A yes/no type guard is now part of the public API.

    9.0.0release notes

  • The SimpleSitemapAndIndexOptions interface is now exported.

    9.0.0release notes

  • A limit validation function is now part of the public API.

    9.0.0release notes

  • A path validation function is now part of the public API.

    9.0.0release notes

  • A public base path validation function is now part of the public API.

    9.0.0release notes

  • A URL validation function is now part of the public API.

    9.0.0release notes

  • An XSL URL validation function is now part of the public API.

    9.0.0release notes

  • An object containing regex validators for all sitemap fields is now part of the public API.

    9.0.0release notes

Behavior and default changes 2

  • Destroys source and parser streams immediately when the maxEntries limit is exceeded.

    8.0.3, 9.0.1release notesrelease notes

  • The package now declares module type, with dual ESM/CJS output and conditional exports; both ESM and CommonJS imports continue to work.

    9.0.0release notes

Fixes and other changes 1

sitemap 89 changes

Breaking changes 1

  • The parser now stops emitting items and emits an error when the 50,000 URL hard limit is exceeded, rather than merely logging a warning.

    8.0.3release notes

Security 7

Fixes and other changes 1

  • Custom namespace validation now accepts namespace-qualified attributes such as xsi:schemaLocation, in addition to xmlns:prefix="uri".

    8.0.2release notes

sitemap 72 changes

Breaking changes 1

  • Stops emitting items when the 50,000 URL hard limit is reached, rather than only logging a warning.

    7.1.3release notes

New APIs and options 1

  • Accepts a maxEntries limit, defaulting to 50,000, and destroys source and parser streams immediately when the limit is breached.

    7.1.3release notes