Skip to content

Releases: werb-dev/werb

Werb v0.5.0

Choose a tag to compare

@github-actions github-actions released this 09 Jun 07:46

Second feedback-driven release. A third batch of forum testers (Eric974,
Stanovitch, and a returning Arwen) pushed on editor ergonomics, ingredient
search, and water chemistry; their notes were triaged into issues
#31–#38 plus a reopened
#7 and worked through together.

Headline: the recipe editor gains BeerSmith-style retargeting (scale to a
volume, solve to an OG or IBU, ± steppers), every recipe now shows grain-bill
percentages and a BU:GU balance gauge, and water chemistry can finally work
backwards — pick a target profile and let Werb suggest the salts.

Added

  • BU:GU gauge + grain-bill percentages. Every fermentable row shows its
    share of the bill by mass (read view + editor); the targets strip gains a
    sixth tile, BU:GU (IBU ÷ gravity units), with a soft in-style range derived
    from the style's IBU and OG ranges. Closes
    #32.
  • Editor retargeting tools. A toolbar under the live banner: Scale to…
    a new batch volume (proportional, opt-in — not a side effect of editing the
    volume field), Solve to OG… (scales the whole grain bill), and Solve
    to IBU…
    (scales the hops). Plus ± steppers on fermentable and hop amounts.
    Closes #33.
  • Water salt suggestion (inverse calc). Pick a target profile and hit
    Suggest additions: a non-negative least-squares solver over the salt→ion
    matrix proposes gypsum / CaCl₂ / Epsom / table salt / baking soda, fills the
    editable salt fields, and the existing forward strip shows how close the
    match lands. Shares the FRAC model with the forward calc so the two never
    disagree. Closes #10.
  • Personal per-ingredient prices. Click any price in the cost panel to set
    what you actually paid (€/kg grain, €/g hop, €/pack yeast). Overrides bypass
    the global inflation coefficient and are flagged "your price"; stored
    per-install, never written into the recipe (BeerJSON stays standard). Seeds
    the future inventory module. Closes
    #2.
  • Unsaved-changes guard. Leaving the editor — back button, or closing the
    tab/window — now warns when the draft has unsaved edits.
    Closes #35.
  • Out-of-sequence brew-step guard. Starting a step while earlier ones are
    still pending asks for confirmation (soft — real brew days skip and reorder).
    Closes #37.

Changed

  • Ingredient picker ordering (#7,
    reopened from v0.4). An empty query now lists alphabetically instead of in
    catalog order (no more surprise "Pilsner malt" default); a prefix on the
    visible name outranks a prefix on a hidden alias; and when an alias drove the
    match the picker shows it (e.g. "Honey — miel") so the ordering reads sensibly.
  • Category-scoped fermentable search — setting a row's type to "sugar"
    lists only sugars, etc. Closes
    #34.
  • Richer bundled examples + refreshed README screenshots. Added a flagship
    "West Coast IPA" sample that exercises most of the app end-to-end (stepped
    mash, full boil + dry-hop schedule, salt + fining miscellaneous additions, a
    sugar adjunct, and the complete BJCP envelope) and an "Oatmeal Stout" for
    dark-colour contrast; backfilled full BJCP style ranges onto the existing
    four so every sample now renders the in-style gauges. Regenerated the README
    screenshots against the flagship so they show BU:GU, the in-style gauges, and
    grain-bill percentages. A new test asserts every bundled example is valid
    BeerJSON (the app silently skips invalid samples, so this guards the "Import
    samples" path).

Fixed

  • Style-fit gauges agree between the recipe view and the editor banner.
    Both judge fit on the computed recipe (grain bill + hops), so the level
    bars sit at the same spot whether you're viewing or editing. The read view
    used to feed the gauge the file's claimed OG/FG/IBU/etc. while the editor
    used the live compute, so the needles jumped when you toggled edit mode. The
    big numbers still show the claimed values with the ≈computed sanity line +
    divergence warning; only the fit gauge follows the computed reality.
    Regression-guarded by an e2e that asserts the gauges are identical across
    both screens.
  • macOS "Werb is damaged" on Apple Silicon
    (#31). Documented the
    quarantine workaround (xattr / right-click → Open) and the no-install PWA
    in the README and release notes. Proper Developer ID signing + notarization
    is tracked for a future release.

Deferred

  • Inline-editable recipe view (#36)
    — kept the v0.4 view/edit split + the new unsaved guard; full inline editing
    is its own design effort.
  • Recipe layout density (#38) —
    awaiting reproduction details (device / resolution) from the reporter.

Werb v0.4.0

Choose a tag to compare

@github-actions github-actions released this 26 May 17:36
f09b10e

A feedback-driven release. Two batches of forum tester input got triaged into docs/ROADMAP.md and worked through in order: twelve issues closed across Phases 1–3.

The recipe editor stops being a write-only screen. Targets update live, hopstand finally bitters something sensible, sub-boil hops have a real kinetic model behind them, and ingredient pickers work in French.

Headlines

  • Live OG / FG / IBU / ABV / Color banner sticky at the top of the recipe editor — no more toggling between edit and view to see how a grain-bill tweak lands (#6).
  • Whirlpool / hopstand is a real hop USE with a temperature input. The IBU calc routes sub-boil additions to a Malowicki kinetic path (two-step Arrhenius), calibrated against Tinseth at 100 °C × 60 min so boil-hop behavior doesn't drift (#16).
  • Editor ingredient picker rebuilt — tiered matching (name prefix > name contains > secondary fields), no more 10-item cap, no more clipping by section cards on phones (#7).
  • French aliases on the picker — "blé" finds Wheat malts, "gypse" finds gypsum, "mousse d'Irlande" finds Irish moss. Canonical names stay verbatim per SPEC §i18n (#14).
  • BIAB persists across navigation, and the Quick start wizard auto-flips mash_mode when you pick the BIAB layout. Unused vessel sections hide automatically (#3, #4, #5).
  • Mash thickness (L/kg) is now an equipment-level default (#15).
  • Discoverability sweep — "View in Journal →" CTA after completing a brew, Library onboarding hints at where recipes live + GitHub sync, Export button names its formats inline (#13, #17, #18).
  • Water chemistry: Burton/Munich source-vs-target preset now reports a real match (#11).
  • Yeast pitch message names the actual missing input (fermentables / batch size) and derives OG from the grain bill (#8).
  • Behavioural Playwright smoke suite layered onto CI on top of the existing screenshot capture step.

Full notes: CHANGELOG.md.

Which file do I download?

Platform Bundle
macOS (Apple Silicon, M1 / M2 / M3 / M4) Werb_0.4.0_aarch64.dmg
Linux (Debian / Ubuntu) Werb_0.4.0_amd64.deb
Linux (Fedora / RHEL) Werb-0.4.0-1.x86_64.rpm
Linux (other distros, portable) Werb_0.4.0_amd64.AppImage
Windows Werb_0.4.0_x64-setup.exe
werb CLI (macOS Apple Silicon) werb-aarch64-apple-darwin.tar.gz
werb CLI (macOS Intel) werb-x86_64-apple-darwin.tar.gz
werb CLI (Linux, fully static) werb-x86_64-unknown-linux-musl.tar.gz
werb CLI (Windows) werb-x86_64-pc-windows-msvc.zip

Or skip the install and run the PWA.

Known gaps

  • #19 — Import errors on some standard BeerJSON / BeerXML files. Blocked on reproducer files; please share a failing sample if you've hit one.
  • #27 — Full SMPH IBU model. Malowicki kinetics ship in this release (the highest-leverage piece); the rest is gated on extending BeerJSON upstream with the SMPH inputs.
  • Phase 4 features still open — PDF brew sheet, inventory module, per-ingredient pricing, water source-profile loading + salt-suggestion solver. See the ROADMAP.

Werb v0.3.0

Choose a tag to compare

@github-actions github-actions released this 18 May 13:28
Werb v0.3.0 — brewing math + maintainability release

Werb v0.2.0

Choose a tag to compare

@github-actions github-actions released this 12 May 16:36

See CHANGELOG for the full list of changes.

Downloads below — pick the one that matches your OS. macOS builds are Apple Silicon only (aarch64); Intel Mac users can run the web PWA for now.

Werb v0.1.0

Choose a tag to compare

@github-actions github-actions released this 12 May 13:07

See CHANGELOG for the full feature list.

Downloads below — pick the one that matches your OS. macOS builds are Apple Silicon only (aarch64); Intel Mac users can run the web PWA for now.

Verify your download

Platform Suggested asset
macOS (Apple Silicon) Werb_0.1.0_aarch64.dmg
Windows Werb_0.1.0_x64-setup.exe (NSIS) or Werb_0.1.0_x64_en-US.msi
Linux (Debian/Ubuntu) Werb_0.1.0_amd64.deb
Linux (any distro) Werb_0.1.0_amd64.AppImage
Linux (Fedora/RHEL) Werb-0.1.0-1.x86_64.rpm
Anything else The web PWA — full feature parity, installable to your home screen