The API authentication header has been renamed from X-API-Key to Authorization: Bearer <token>. Update all API calls before upgrading. Legacy X-API-Key support will be removed in v4.0.0.
๐ Migration Guide from v3.1.x โ v3.2.1
Update Authentication Header
Replace all instances of X-API-Key with the new Bearer token format.
Update Dependencies
Run the dependency update command to pull in the new version of all sub-packages.
Regenerate Sitemap Index
After updating, regenerate your sitemap index to apply the new URL encoding standards.
New Features (7)
Real-time Multi-site Synchronization
NewAdded WebSocket-based synchronization across multiple sites. When content changes on one site, all linked sitemaps update instantly within the cluster.
// Enable multi-site sync
const sync = new MultiSiteSync({
sites: ['site-a', 'site-b', 'site-c'],
syncInterval: 'realtime', // 'realtime' | 'every-5m' | 'hourly'
autoResolve: true,
});
sync.start();
AI-Powered URL Priority Scoring
NewIntegrates an ML model that analyzes page content, link depth, and historical crawl data to automatically assign optimal priority scores to every URL in your sitemap.
Edge-Deployed Sitemap Rendering
NewSitemaps can now be rendered at the edge via Cloudflare Workers, Vercel Edge Functions, or Deno Deploy. Eliminates cold-start latency for large sitemap requests.
Bulk URL Submission to Bing & Yandex
NewNew native integrations for bulk URL submission to Bing Webmaster Tools and Yandex Webmaster. Submit up to 10,000 URLs per batch.
// Submit to multiple engines at once
client.submit({
urls: urlList,
engines: ['google', 'bing', 'yandex'],
batchSize: 10000,
});
Sitemap Visualizer Dashboard
NewNew interactive dashboard that renders your sitemap as a navigable tree graph. Click any node to see indexing status, crawl date, and performance metrics.
Webhook Events for Indexing Lifecycle
NewConfigurable webhook endpoints for url.added, url.indexed, url.removed, and sitemap.regenerated events. Includes retry logic with exponential backoff.
GraphQL API Query Support
NewThe API now supports GraphQL alongside REST. Query sitemaps, URLs, and indexing stats with a single flexible request.
Improvements (12)
40% Faster XML Generation for Large Sitemaps
ImprovedRefactored the XML streaming pipeline using async generators. Sitemaps with 1M+ URLs now generate in under 8 seconds (was ~13s). Memory footprint reduced by 60%.
Improved Hreflang Tag Validation
ImprovedEnhanced validation logic for hreflang attributes now catches 15+ previously undetected edge cases, including circular references and invalid region codes.
Retry Logic for Failed Indexing Submissions
ImprovedAdded exponential backoff with jitter for API calls to search engine indexing endpoints. Failed submissions now retry up to 5 times before marking as errored.
Node.js 22 LTS Support
ImprovedFull compatibility with Node.js 22 LTS including improved worker thread utilization and native fetch support for API calls.
Compressed Sitemap Index Files
ImprovedSitemap index files are now automatically gzip-compressed when served, reducing bandwidth usage by up to 75% for large index files.
Improved TypeScript Definitions
ImprovedAll public APIs now have complete TypeScript type definitions. Generic support for custom URL objects and configuration types.
Reduced Bundle Size for Browser SDK
ImprovedTreeshaking improvements and code splitting reduced the browser SDK bundle from 48KB to 29KB (minified + gzipped).
Bug Fixes (9)
Fixed: Duplicate URLs in Sitemap with Pagination
FixedResolved an issue where paginated URLs (e.g., /page/1 and ?page=1) were incorrectly deduplicated, causing valid alternate URLs to be excluded.
Fixed: Incorrect LastMod Dates After Redirect Resolution
FixedWhen resolving 301/302 redirects during crawling, the <lastmod> field now correctly reflects the final destination's modification date, not the redirect chain's first entry.
Fixed: Memory Leak in Long-Running Crawl Sessions
FixedFixed a memory leak in the crawler's URL queue that caused gradual memory growth during sessions lasting more than 4 hours. Memory now stabilizes after initial warmup.
Fixed: Video Sitemap Thumbnail URLs Not Encoded
FixedVideo thumbnail URLs containing special characters (e.g., ?, &, #) are now properly percent-encoded before XML serialization.
Fixed: Rate Limit Not Respected for Google Indexing API
FixedGoogle's indexing API rate limit (100 requests/day per property) is now correctly tracked and enforced across all concurrent submissions within the same project.
Fixed: WordPress Plugin Conflict with Yoast SEO
FixedResolved conflict where both plugins attempted to register the same /sitemap.xml rewrite rule, causing 404 errors on WordPress 6.5+.
Fixed: Cron Job Overlap on Multi-Instance Deployments
FixedAdded distributed locking via Redis for scheduled sitemap regeneration tasks. Prevents duplicate regeneration when multiple server instances are running.
Security Fixes (2)
CVE-2025-0142: XML Entity Injection in Custom URL Processing
SecurityFixed an XXE (XML External Entity) injection vulnerability in the custom URL processing pipeline. Malicious URLs could have triggered SSRF attacks when passed through the sitemap generator. Users upgrading from any version before 3.2.0 should upgrade immediately.
Authentication Bypass in Webhook Configuration API
SecurityFixed a logic flaw in the webhook configuration endpoint (/api/v2/webhooks) that allowed unauthenticated POST requests under specific conditions. All webhook configurations should be re-audited after upgrading.
Deprecated (1)
SitemapGenerator.addUrl() deprecated in favor of addUrlAsync()
Deprecated
The synchronous addUrl() method is deprecated. Use addUrlAsync() for non-blocking URL additions. The synchronous method will be removed in v4.0.0.