Skip to content

Release v1.18.0

Choose a tag to compare

@github-actions github-actions released this 01 Sep 10:44
· 11 commits to main since this release

Replaces the per-switch feed profiles (v1.17.0) with a central, user-
maintained feed list.

  • New global native.feeds: {id, name, vendor, size, protein, fat, fibre,
    ash, url}. New "Feed list" admin tab (FeedsTab.jsx) to maintain it; the
    offer/purchase link is an optional, collapsible field.
  • Per switch: activeFeed is now a feed id (string, was a numeric profile
    index). SwitchTab gets a "Currently loaded feed" dropdown reading the
    central list; the feed-profiles editor is removed. Dispense rate stays
    per switch (dispenseGramsPerSec, calibration helper unchanged).
  • main.js: feedList()/feedById()/activeFeedOf(); dispenseRateFor() now
    returns the per-switch rate; recomputeFeedAmount writes the new
    status.activeFeed* states; info.feeds mirrored as JSON in
    createGlobalObjects; SWITCH_SETTINGS.activeFeed is a string (settings
    state type migrated via extendObject); NUMERIC_BOUNDS.activeFeed removed.
  • One-time migrateFeedList(): merges existing feedProfiles into native.feeds
    (dedup by name), backfills dispenseGramsPerSec from the active profile,
    maps activeFeed index -> id, drops feedProfiles. Guard feedListMigrated.
  • New states: info.feeds and per switch status.activeFeedName / Vendor /
    Size / Protein / Fat / Fibre / Ash / Url. Widget reads these later
    (widget repo issue #33). Closes #25, #26.
  • Docs updated in all 11 languages + German PDF handbook; admin i18n +21/-3
    keys x11. Gates green (lint, tsc, admin build, 72 js, 57 package,
    integration incl. migration).

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com