Skip to content

Releases: openbeehive-org/openbeehive-app

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 21:55
v0.4.0
fa010a1

The repository, the image and the Go module live under the openbeehive-org
organisation, the container runs as an unprivileged user and every release is
signed. No schema migration. One manual step for self-hosters: a Docker volume
created by 0.3.x or earlier must be chowned to uid 65532 once (see
"Upgrading" in the docs).

Added

  • Signed releases. The image carries BuildKit SLSA provenance and SBOM
    attestations, is signed keyless with cosign (Fulcio certificate bound to the
    release workflow, logged in Rekor) and gets a GitHub build-provenance
    attestation; the GitHub release ships the SPDX SBOM. Verification commands
    are in the release workflow header and in the docs.
  • Engineering baseline. make check is the single definition of green
    (proto lint and breaking-change check, golangci-lint, prettier, eslint,
    svelte-check, tests with coverage gates, govulncheck, licence allowlists,
    gitleaks, build, fleetlint); prek hooks run the fast subset on commit;
    CodeQL and Renovate run on the repository. ADRs and an architecture
    overview are in docs/.

Changed

  • Container runs as uid 65532 with /data as its working directory and a
    read-only-root-friendly layout; base images are pinned by digest. The
    defaults for the SQLite file and the blob directory therefore resolve to
    /data.
  • New home. Image: ghcr.io/openbeehive-org/openbeehive-app
    (ghcr.io/johnnycube/openbeehive-app keeps the tags up to 0.3.1). Go
    module: github.com/openbeehive-org/openbeehive-app/server. Links and
    Docusaurus references follow.
  • Toolchain. Go 1.27.2; SvelteKit 3 with adapter-static 4 (config lives
    in vite.config.ts, #lib imports, service worker in its own TypeScript
    project and precaching the prerendered shell as well as the immutable
    assets); Vite 8.3, Vitest 5, Svelte 5.57; buf 1.74 with pinned remote
    plugins (protocolbuffers/go 1.36.12, connectrpc/go 1.21.1, bufbuild/es
    2.16). All Go modules and npm packages at their latest releases; TypeScript
    stays on 6.x until svelte-check and typescript-eslint accept 7.
  • UI icons. The app uses Lucide icons instead of emoji for pins, edit,
    delete, camera, print, keys and the inspection chips, which now read as
    text ("Honey 3 kg") in lists and on the printable hive card.
  • Messages. Server and app messages use plain ASCII punctuation; the
    demo read-only and invite-only errors were reworded accordingly.
  • Types. The frontend no longer uses any for Leaflet, SQLite, the sync
    payloads and the WebAuthn options; the data layer's row types are used
    throughout.

Security

  • Go 1.27.2 and golang.org/x/net 0.60 clear every open stdlib and x/net
    advisory govulncheck reported against 1.26; npm audit is clean on the
    updated frontend and the cookie override is gone with SvelteKit 3.

Changes

  • fix(proto): connectrpc/go remote plugin v1.21.0, the newest 1.x the registry has (8cbdfa2)
  • chore(release): 0.4.0 (95ab984)
  • build: duplication gate for the app and a reproducible release image (5687e74)
  • chore: enable the fleetlint slop preset and baseline the reviewed suppressions and history (27dda7a)
  • build: release tag carries the changelog section, fmt runs each half in a subshell (84b833f)
  • refactor(app): Lucide icons, ASCII punctuation and typed rows instead of any (23f6368)
  • refactor(server): ASCII punctuation in comments and messages (e2aacf5)
  • build(app): SvelteKit 3 and the latest npm packages (bd0280f)
  • build(server): Go 1.27.2 and the latest Go modules (d0183e9)
  • build: latest tool pins, base images, buf plugins, hooks and actions (e6539b6)
  • build(server): Go 1.26.9 and x/net v0.60.0 for the fixed stdlib and x/net advisories (aafe3a2)
  • build: keep the dist placeholder across make build (0774a7d)
  • fix(server): keep the dist placeholder so the embed compiles before the app is built (e962b72)
  • build(server): require Go 1.26.7, the floor of buf v1.73 (f012dba)
  • build(server): require Go 1.26, the floor of golangci-lint v2.14 (c04ff1e)
  • build: task-runner contract, hooks, pinned image, CI and fleetlint (fa35e8b)
  • docs: architecture, ADRs, code of conduct and contributor setup (1aefcf6)
  • chore(app): prettier, eslint, strict tsconfig and coverage gate (7ab19d2)
  • refactor(server): satisfy golangci-lint (d28898d)
  • chore: point changelog and versioned docs links to openbeehive-org (f54cd7e)
  • fix(proto): pin Go buf plugins to go.mod versions (8ec5bc5)
  • chore: move repository to openbeehive-org (5626cef)

What's Changed

  • chore: move repository to openbeehive-org by @johnnycube in #5
  • chore: onboard fleetlint by @johnnycube in #6
  • Release 0.4.0: latest dependencies, slop cleanup, signed non-root image by @johnnycube in #7

Full Changelog: v0.3.1...v0.4.0

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 29 Sep 14:48
v0.3.1
831b555

openbeehive v0.3.1 — dependency maintenance

No functional changes and no migration. devalue 5.9.4 clears
GHSA-9rgm-9g3h-6x36 (denial of service via malformed input); cookie and
the esbuild pulled by svelte-i18n are lifted through npm overrides, and
postcss, vitest and @sveltejs/kit are updated within their ranges. The app
is prerendered and served as a static bundle, so none of these packages
run on the server.

Changes

  • changelog for v0.3.1 (831b555)
  • chore(app): resolve Dependabot alert on devalue (74a3885)
  • chore(app): resolve Dependabot alerts (4518e7a)

Full Changelog: v0.3.0...v0.3.1

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 15 Sep 08:58
v0.3.0
4ddbaa0

openbeehive v0.3.0 — integration API, API keys, English proto contract

Every entity now has a served Connect-RPC service (Apiary, Hive, Queen,
Inspection, Task, Treatment, Harvest, Event, Stats, Sync). API writes go
through the same per-field merge and change log as the app's sync, so a
hive scale posting CreateInspection shows up on every device at its next
sync. Scripts and devices authenticate with API keys created in Settings
(read-only scope and expiry optional; tenant admins can revoke members'
keys). page_token is honoured.

Breaking for external clients generated from the old protos: SetTaskDone,
only_open, only_active, events, per_*, GetDashboard/GetHoneyStats,
AddInspectionPhoto/RemoveInspectionPhoto replace the old names. Existing
deployments need no manual step; migration 0014 runs on boot.

Changes

  • changelog for v0.3.0 (4ddbaa0)
  • feat(app): API keys section in Settings (54aa47c)
  • feat(server): API keys with read-only scope, expiry and tenant admin management (0b02264)
  • feat(server): serve every proto service through the sync write path (3359579)
  • feat(proto): English contract for every entity, harvest service, offset pagination (ace55b3)
  • docs: correct README, SECURITY and CONTRIBUTING (ca224d5)
  • chore(app): remove dead client code, the server hook and unused locale strings (892ac3e)
  • refactor(server): drop first-run leftovers, dead blob/plan code and German comments (4e72fb8)

Full Changelog: v0.2.3...v0.3.0

v0.2.3

Choose a tag to compare

@github-actions github-actions released this 11 Sep 15:44
v0.2.3
73b1fcb

openbeehive v0.2.3 — first-sync feedback, progressive pulls, reload resilience

Pages no longer flash their empty states before the first local read or
while a fresh device is still downloading: the dashboard and the apiary,
hive and task lists show skeletons, then a syncing hint, and the real
empty state only once the data is known. Pulls refresh open pages after
every applied batch, so a large first sync fills the screen as it
arrives. Reloads no longer start from an empty store when the OPFS pool
install races the previous worker — the install is retried, and a toast
says so when the in-memory fallback does kick in. The auth session is
resolved in parallel, so sync starts one round-trip earlier, and the
hive page action icons are centered again.

Changes

  • changelog for v0.2.3 (73b1fcb)
  • perf(app): resolve the auth session with parallel requests (c72e1a7)
  • fix(app): retry the OPFS pool install and surface the in-memory fallback (b052a6c)
  • feat(app): skeletons and a syncing hint instead of premature empty states (d82d8d4)
  • feat(app): track initial-sync state and apply pulls progressively (d13680f)
  • fix(app): center the action icons on the hive page (b9b2da7)

Full Changelog: v0.2.2...v0.2.3

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 01 Aug 19:58
v0.2.2
1b7b53b

openbeehive v0.2.2 — offline storage self-repair, sync resilience, visible save/geocoding feedback

Fixes the SQLITE_CANTOPEN error that blocked saving on devices with an
old OPFS storage pool (demo add button), keeps pull running while push
fails, drops read-only-rejected pushes instead of retrying forever, and
makes OR-Set removes carry observed tags so concurrent photo re-adds
survive. Adds the apiary map location picker with lookup states, visible
save errors, account-bound passkeys, and web + server test suites for
the offline-first core.

Changes

  • changelog for v0.2.2 (1b7b53b)
  • test: web + server suites for the offline-first core (2e285e7)
  • feat(app): surface failed local writes instead of dying silently (8592081)
  • feat(apiaries): visible geocoding states in the location picker (36b2644)
  • fix(sync): pull even when push fails; stop retrying rejected pushes (bcd3551)
  • fix(sync): OR-Set removes carry the origin's observed tags (cdef8bf)
  • fix(local): grow pre-existing OPFS SAH pools and recover from CANTOPEN (3bb4318)
  • interactive apiary location with geocoding map (259ddc6)
  • raise OPFS SAH pool capacity to 24 slots (abaf347)
  • passkeys bound to registered accounts (9b97f06)

Full Changelog: v0.2.1...v0.2.2

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 31 Jul 14:39
v0.2.1
ab8ebd0

Invite management (link display, open-invite list, revoke, invite emails), tenant deletion with full data + photo-blob purge, and a path-traversal fix in the FS blob store.

Changes

  • release notes: strip tag signature from body (ab8ebd0)
  • changelog for v0.2.1 (f115f9d)
  • security: prevent path traversal in the FS blob store (79c81f0)
  • Tenant deletion with full data and photo-blob purge (d1f999f)
  • Email the invite link to the invitee (8321b15)
  • invite visibility: show the link, list & revoke open invites (fd027a9)
  • add automatic changelog creation (cb4804b)

Full Changelog: v0.2.0...v0.2.1

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 31 Jul 09:38
v0.2.0
f225fd9

openbeehive v0.2.0 — demo coexists with registration; mandatory env-defined instance admin

BREAKING: BEEHIVE_ADMIN_EMAIL/BEEHIVE_ADMIN_PASSWORD are required whenever password auth is enabled (cloud profile, demo, or explicit); set them before upgrading. BEEHIVE_DEMO_AUTOLOGIN=true restores showcase auto-entry.

Changes

  • Demo coexists with registration; mandatory env-defined instance admin (bcc786f)

Full Changelog: v0.1.6...v0.2.0

Full Changelog: v0.1.6...v0.2.0

v0.1.6

Choose a tag to compare

@github-actions github-actions released this 31 Jul 08:20
v0.1.6
6bf942a

Full Changelog: v0.1.5...v0.1.6

v0.1.5

Choose a tag to compare

@github-actions github-actions released this 30 Jul 22:17
v0.1.5
32dbc7a

Full Changelog: v0.1.4...v0.1.5

v0.1.4

Choose a tag to compare

@github-actions github-actions released this 18 Jul 21:48
v0.1.4
639ae8b

Full Changelog: v0.1.3...v0.1.4