Repository navigation
Releases: leemac/sizzle
Release list
Sizzle v0.3.1
Sizzle is early in development. Expect rough edges and breaking changes between releases.
What's new
- Fill the Write a recipe form from pasted, dropped or selected screenshots using Claude. Review and save the result yourself; existing typed fields are preserved. Up to four images, 5 MB each. Screenshots are sent to Anthropic and are not retained by Sizzle. #61
- Import Sizzle cookbook exports with recipes, photos, notes and cooking history. Existing recipes are skipped rather than overwritten. Enable with SIZZLE_COOKBOOK_IMPORT=true; it is off by default. #67
- Ingredient icons and a choice of recipe order or grouping by type, remembered in your browser. #64
- Parse quantities, units and preparation from plain ingredient lines for better serving scaling. An optional dry-run-first backfill task handles existing recipes. #65
- Source previews on imports and recipes, including titles, descriptions and original links. #62
- Failed-import header badge, Needs attention section and dismissal; older retries stay visible through completion. #60
- Web imports default to automatic Claude fallback when configured, after local extraction. Existing saved browser preferences remain effective; Settings can disable Claude. API charges may apply. #62
Fixes
- Preserve method sections when saving a written recipe.
- Harden extraction against hostile page content and tighten outbound URL protections.
- Ignore malformed optional source metadata rather than failing imports.
- Update image_processing to 2.2.0 with an explicit libvips backend.
- Refresh marketing screenshots and installation guidance, and strengthen manual-recipe/browser tests.
Upgrade
Four migrations run automatically: source metadata, dismissed-import timestamps, recipe IDs and cookbook-import tracking. No Compose changes are required. Cookbook import is opt-in through SIZZLE_COOKBOOK_IMPORT=true. Screenshot extraction requires ANTHROPIC_API_KEY.
Before upgrading, stop Sizzle and back up the complete storage volume using the documented stop/copy/start procedure: https://github.com/leemac/sizzle/blob/main/docs/self-hosting.md#back-up
Pin SIZZLE_VERSION=0.3.1, then run docker compose pull and docker compose up -d. Rollback requires restoring the pre-upgrade storage backup and pinning 0.3.0; switching images alone does not reverse migrations.
Known limitations
Sizzle has no login; keep it on a trusted network or behind authentication. Existing recipes do not receive source metadata retroactively. Ingredient backfilling is optional and is not performed automatically.
Changes reviewed: v0.3.0...a873b24
Sizzle v0.3.0
Sizzle is early in development. Expect rough edges and breaking changes between releases.
What's new
- Pick a theme and light, dark or automatic mode for each browser. Enable the optional editor to create shared custom themes. #50
- Use SOS to find recipes for the current meal, with seasonal recipes first. Edit meal times and seasons on your recipes. #51
- Set cooking text size, screen wake lock, recipe order and Claude import permission in Settings. Download a portable cookbook archive with recipes, photos and cooking history. #56
- Install and connect the optional prebuilt iPhone Shortcut without copying the server API token; revoke individual connections from Sizzle. #52
- Printed recipes show when they were added, cooked and printed. The logo gains a hover animation, and the landing page has refreshed seasonal recipe previews. #54, #55, #57
Fixes
- Share an import budget across web requests, the API and retries; bound image download attempts and redact imported content and URLs from application logs. #53
Upgrade
Before upgrading, stop Sizzle, copy the complete storage volume using the backup procedure, then restart it. Do not copy a live SQLite database.
Set SIZZLE_VERSION=0.3.0 in .env, then run docker compose pull && docker compose up -d. Four migrations run automatically: custom themes, per-import AI permission, shortcut connections, and recipe meal times/seasons. Existing recipes receive initial meal times from their course and seasons from matching tags.
The Compose files and dependency locks are unchanged. Two optional settings are new and default off: SIZZLE_THEME_EDITOR=true and SIZZLE_SHORTCUT_PAIRING=true. Add either to .env and recreate the container to enable it. Anyone who can reach the web UI can edit shared themes or pair shortcuts when enabled. The existing token-protected script API remains available.
Web imports now ask for Claude permission by default; browser Settings can allow automatic fallback. Phone and script imports retain the server's AI configuration.
To roll back, stop Sizzle, restore the complete pre-upgrade storage backup and pin the previous image version. Changing the image alone does not undo database migrations.
Known limitations
- Sizzle has no login. Keep it on a trusted private network or behind an authenticating reverse proxy.
- Cookbook exports are bounded portable downloads, not complete server backups; importing an export into Sizzle is not yet supported.
- Keeping the screen awake requires browser support and HTTPS or localhost.
- iPhone Shortcut installation and manual execution have been confirmed; end-to-end pairing and recipe import on a physical iPhone remain unverified. The shortcut stores one cookbook connection per Apple account in iCloud Drive; reverse-proxy authentication may need additional setup.
Full changes: v0.2.0...v0.3.0
v0.2.0
Sizzle is early in development. Expect rough edges and breaking changes between releases.
What's new
- Group ingredients with headings when writing recipes, and adjust quantities with half/double controls or a target serving count. Scaling leaves the saved recipe unchanged. #44
- Print a recipe card with your selected servings, designed to fit A4 or Letter. Very long recipes can continue onto more pages. #49
- Review duplicate links before importing, choose whether to restore archived recipes, and follow progress beside the import form. #41
- Open YouTube directions from recipes. New imports retain video duration, description chapters, and a written-recipe link when available. Existing recipes get the video link without a metadata backfill. #46
- Use a dark cookbook with photo-colored recipe headers and a version link in the footer. The marketing site gains seasonal recipe stacks and screenshots that follow system appearance.
Fixes
- Recognize tracking variants and historical redirect aliases during duplicate review.
- Preserve manual recipe fields when a source link already belongs to a saved recipe.
- Correct quantity scaling for spaced Unicode mixed fractions.
Upgrade
Before upgrading, stop Sizzle and back up the complete storage volume using the documented stop/copy/start procedure.
Set SIZZLE_VERSION=0.2.0 in .env, then run docker compose pull and docker compose up -d. Startup automatically adds the recipe video-metadata column. No new settings or Compose changes are required.
The /setup page has been removed. Optional AI remains configured through ANTHROPIC_API_KEY on the server; the running version appears in the footer.
To roll back, restore the complete pre-upgrade storage backup and pin the previous image version. Changing the image alone does not undo the migration.
Known limitations
- There is no login. Keep Sizzle on a private network or behind an authenticating reverse proxy.
- YouTube imports read descriptions and linked recipe pages, not spoken audio.
- Very long unbroken text can overflow the recipe screen on narrow displays.
Full changes: v0.1.0...v0.2.0
Sizzle v0.1.0
Sizzle v0.1.0
Sizzle is early in development. Expect rough edges and breaking changes between releases. Keep it on a home or private network: there is no login yet.
What's new
- Import several recipe links at once: paste up to 20 links into Add recipe.
- Import recipes from YouTube video descriptions, including a recipe page linked from the description. Recipes that are only spoken in a video are not supported. #22
- Record when you make a recipe with I made this, see how often and when you last made it, and undo an accidental entry. #26
- Choose a grid or list for your cookbook; Sizzle remembers the choice in your browser. Gallery cards have a new layout. #21
- Follow sharing instructions for iPhone, Android, or computer, with clearer server addresses for setting up the iOS Shortcut. #25
Improvements and fixes
- Page titles are correct on the first load. #24
- A simpler empty cookbook and clearer recipe details, including relative added and edited times.
- Updated installation documentation and website previews. #20, #28, #29
- Development setup installs a pinned secret scanner and fixes its PATH fallback. #19
Upgrade from v0.0.1
- Back up the complete
sizzle-storagevolume with Sizzle stopped, following the backup instructions. - To pin this release, set
SIZZLE_VERSION=0.1.0in your existing.env. - Run
docker compose pullfollowed bydocker compose up -d.
The database migration runs automatically on startup. It adds cooking-history records, a cook count, and an edited timestamp. No new environment settings or Compose changes are required relative to v0.0.1.
To roll back, restore your backup and pin SIZZLE_VERSION=0.0.1 before starting Sizzle. Changing only the image version does not reverse a database migration.
Known limitations
- There is no login. Use a home network or a private network such as Tailscale.
- YouTube imports need a recipe in the description or its linked page; Sizzle does not transcribe videos. Some videos may be unavailable from your server.
- Pages without usable recipe data and unstructured pasted text require the optional Anthropic API key, or manual recipe entry.
Full changes: v0.0.1 to v0.1.0.
v0.0.1
What's Changed
- Resolve launch review findings and add regression coverage by @leemac in #2
- Replace placeholder seeds with complete recipes and drink samples by @leemac in #3
- Add animated pixel wordmark to the app header by @leemac in #4
- Add sizzle animation to marketing wordmark by @leemac in #6
- Cache-bust marketing site CSS and JS so the logo survives stale caches by @leemac in #8
- Add onboarding and make AI recipe extraction optional by @leemac in #9
- Marketing site: GitHub mark on links and early-development banner by @leemac in #11
- Architecture pass: trust checks, security lint rules, review skill by @leemac in #10
- Import recipe URLs from the gallery with Enter or Import by @leemac in #5
- Keep the source link on manually written recipes by @leemac in #13
- Publish release images to GHCR and install from them by @leemac in #14
- Scan for committed secrets with gitleaks by @leemac in #15
- Let people favorite recipes by @leemac in #16
- Publish versioned multi-platform release images safely by @leemac in #18
- Edit a recipe's details and archive recipes by @leemac in #17
New Contributors
Full Changelog: https://github.com/leemac/sizzle/commits/v0.0.1