Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Changelog

All notable changes to StyleGrab are documented here.

[1.2.0] - 2024-01-15

Added

  • Snapshot diffing — Compare any two snapshots to see exactly what changed
  • Webhook events — New diff.detected event for change notifications
  • Team support — Create teams and share extractions with collaborators
  • Element selectors — Target specific DOM elements for extraction

Changed

  • Improved color extraction accuracy for CSS variables
  • Faster extraction times (avg 40% improvement)
  • Better handling of web fonts

Fixed

  • Fixed timeout issues on slow-loading pages
  • Fixed duplicate colors when using shorthand properties
  • Fixed webhook retry not respecting exponential backoff

[1.1.0] - 2024-01-01

Added

  • Webhook support — Get notified when extractions complete
  • API keys — Create multiple keys with optional expiration
  • Export formats — CSS variables, Tailwind config, SCSS

Changed

  • Extraction results now include usage counts for each token
  • Improved typography detection for system fonts
  • Rate limits increased for Pro plan

Fixed

  • Fixed extraction failing on pages with Content-Security-Policy
  • Fixed spacing values not being deduplicated
  • Fixed API key not working after password change

[1.0.0] - 2023-12-15

Added

  • Initial release
  • CSS extraction from any URL via headless browser
  • Color, typography, and spacing token extraction
  • Asset (image) detection
  • JWT authentication
  • Stripe billing integration
  • Browser extension (Chrome)

Migration Guides

Upgrading to 1.2.0

New diff endpoint: If you were manually comparing snapshots, use the new diff endpoint:

- // Old: Fetch both snapshots and compare client-side
- const snap1 = await fetchSnapshot(id1);
- const snap2 = await fetchSnapshot(id2);
- const diff = compareTkens(snap1, snap2);

+ // New: Use the diff endpoint
+ const diff = await fetch(`/api/extractions/${id}/diff?from=${snap1}&to=${snap2}`);

Webhook secret: If you created webhooks before 1.2.0, regenerate them to get HMAC signatures:

# Delete old webhook
curl -X DELETE https://api.stylegrab.dev/api/webhooks/wh_old123 \
  -H "Authorization: Bearer YOUR_API_KEY"

# Create new webhook with signature support
curl -X POST https://api.stylegrab.dev/api/webhooks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"url": "https://...", "events": [...]}'

Upgrading to 1.1.0

Webhook format change: The webhook payload structure changed:

{
- "type": "extraction_completed",
- "extraction": { ... }
+ "event": "extraction.completed",
+ "data": { ... }
}

Versioning

StyleGrab follows Semantic Versioning:

  • Major (X.0.0) — Breaking changes
  • Minor (1.X.0) — New features, backward compatible
  • Patch (1.0.X) — Bug fixes, backward compatible

Subscribe to Updates

Get notified of new releases: