Paperplate v1.0.1
First tagged release. Apple Silicon only.
What's in 1.0.1
Editor
- Sub-recipe sections for both ingredients and instructions (e.g. "Cake" + "Frosting"). Section headers render on the recipe detail page and in print.
- Rich text on step instructions: bold, italic, underline, and an 8-color palette tuned for light + dark themes. Ingredient lines stay plain text so scaling and shopping-list aggregation keep working.
- Separate "Description" and "Notes" fields — description renders at the top of a recipe, notes at the bottom.
Library
- Categories split into TYPE (Main, Soup, Dessert, ...) and COOKING METHOD (Oven, Grill, Air-Fryer, ...).
- Source domain (e.g.
nytimes.com) shown next to the Source link. - Recipes and categories alphabetized by default.
- HTML entities (
',&, etc.) decoded consistently at scrape and render time.
Meal Plans
- Multiple recipes per slot. Drag a main + a side into the same slot and the shopping list aggregates correctly.
- Per-day notes field above each day's meal slots.
- Rename + duplicate plans from the plan header.
Shopping
- "Add to main list" / "Remove from main list" on per-plan shopping lists so the per-plan and Global lists can stay synced.
- Per-row aisle reassignment with persistent ingredient→aisle override.
- Full CRUD over aisles in Settings, alphabetized.
- Recipe multiplier shown and editable inline on the Shopping List (1x / 2x / 3x / 4x).
Capitalization & polish
- "Meal Plans" and "Shopping List" capitalized everywhere.
Security
Step-instruction rendering is gated by DOMPurify with a strict allowlist (bold, italic, underline, span with palette class, br). 22 unit tests pin allow/deny behavior — scripts, event handlers, styles, anchors, images all stripped.
Install
- Download
Paperplate_1.0.1_aarch64.dmg. - Open it and drag Paperplate into
Applications. - First launch: right-click
Paperplate.appinApplicationsand choose Open (ad-hoc signed, not notarized — one-time bypass).
Known limitations
- Apple Silicon only; no Intel build attached.
- Not notarized, so Gatekeeper requires the right-click → Open dance on first launch.