Skip to content

Releases: akifbayram/openbin

v0.2.7

01 Apr 19:31

Choose a tag to compare

OpenBin v0.2.7 — April 2026 Update

This update makes OpenBin more reliable for production self-hosting and adds scoped AI commands for working with multiple bins at once.

What's new:

  • Select multiple bins and ask AI questions about just those bins from the bin list toolbar
  • Rename and delete tags across all bins from the Tags page
  • Sortable quantity column in the Items table view
  • Dashboard settings menu with better AI command previews and query results
  • Terms of Service and Privacy Policy pages
  • Password visibility toggle and strength checklist on registration

Fixes and reliability:

  • Database restore now closes the DB connection first, uses busy timeouts, and recovers on failure
  • ZIP import rejects oversized uploads and decompression bombs
  • Admin account seeding uses secure defaults on first run
  • Server shuts down cleanly, finishing in-flight requests before exiting
  • Activity log and bin list pages show proper error states
  • Removing a location member requires confirmation

Page-level UX improvements:

  • Settings, Profile, Print, Locations, and Reorganize pages got accessibility, validation, and mobile layout passes

Behind the scenes, the server now has a database abstraction layer that will support PostgreSQL as an alternative to SQLite in a future release.

v0.2.6 — Bin Code Reassignment, Admin Panel & Security Hardening

31 Mar 04:58

Choose a tag to compare

This release adds the ability to reassign QR codes to existing bins, introduces a global admin panel for user management, and delivers significant security and UX improvements across the board.

Key improvements:

  • Reassign or swap QR codes on existing bins — scan a new label or enter a code manually from the bin detail menu
  • Configurable QR code payload mode with openbin:// URI scheme for cleaner deep links
  • Self-service forgot password flow with email-based reset
  • Global admin panel with user management, metrics dashboard, sortable user table, and create-user flow
  • ClamAV integration for optional malware scanning on file uploads
  • Keyboard navigation and prev/next bin browsing in the detail view
  • Sidebar reorganization and iframe embedding support via FRAME_ANCESTORS env var
  • Per-task AI model overrides and improved AI input sanitization
  • Unified error handling, improved touch targets, and accessibility polish
  • Replaced high-risk dependencies with safer alternatives; addressed 14 security audit findings and 6 best-practice issues
  • Cloud-hosted tier with Lite/Pro plans, quota enforcement, subscription lifecycle emails, and an admin management layer
  • Refreshed documentation site with updated screenshots and README

v0.2.5 — Guided Tour, In-App Camera, Nested Areas, and Import Overhaul

23 Mar 04:13

Choose a tag to compare

Release Note (Customer-Facing)

OpenBin v0.2.5 — Guided Tour, In-App Camera, Nested Areas, and Import Overhaul

This release introduces an interactive guided tour, in-app photo capture, hierarchical area nesting, and a completely rebuilt import/export system.

Key improvements:

  • Interactive guided tour walks new users through the app's core features step-by-step, with a "Replay Tour" option in Settings
  • In-app camera capture lets you take consecutive photos directly from OpenBin without leaving the app
  • Hierarchical areas now support nesting — organize areas inside other areas with a collapsible tree view
  • Full location export/import includes settings, areas, trash, pins, saved views, members, and tag colors
  • CSV and ZIP import with dry-run preview showing exactly what will be created before committing
  • AI reanalysis sends existing photos and previous results back to your AI provider for smarter, context-aware suggestions
  • Fuzzy search uses Levenshtein distance matching, so typos and partial matches now surface results
  • Inline quantity parsing — type "screws x10" or "screws (10)" in quick-add and quantities are extracted automatically
  • Undo swipe-delete — accidentally swiped an item away? A 5-second undo toast lets you recover it
  • Sort direction toggle and improved filter layout for more control over bin lists
  • Invite code preview on the registration page shows which location you're joining
  • Two-location quick switcher replaces the dropdown with a single-tap swap button when you have exactly two locations
  • Flat design system — renamed all glass-style tokens to flat tokens for a cleaner, more consistent look
  • Diffusion denoise animation replaces the old AI scan-line with a smoother, more polished visual effect
  • Custom field remapping when moving bins between locations preserves field values by matching field names

Engineering Note (Technical)

Tour system, camera capture, hierarchical areas, and import/export rebuild

Guided Tour:

  • 573184c: Tour system with TourOverlay, TourProvider, useTour hook, step definitions in tourSteps.ts, data-tour attributes on target elements, tour preferences in userPreferences.tsx, replay button in SettingsPage.tsx (19 files)

In-App Camera:

  • c0880ae: CapturePage.tsx + useCapture.ts using getUserMedia, capturedPhotos.ts store, auto-open-on-capture hook (9 files)
  • 784cd98: Extract duplicated auto-open effect into useAutoOpenOnCapture.ts
  • b655e99: Direct return to summary when editing photo from bulk-add summary step

Hierarchical Areas:

  • 34430fe: parent_id column in schema.sql, recursive tree queries in areas.ts, buildAreaTree utility, AreaDialogs.tsx parent picker, AreasPage.tsx tree UI (20 files)

Import/Export:

  • 5fb0b6f: CSV import with csvParser.ts, unified export/import dialogs in DataSection.tsx (7 files)
  • 478bf5c: ZIP import via adm-zip, polished dialog UI (7 files)
  • 468954f: Full location export/import — settings, areas, trash, pins, views, members in exportHelpers.ts and export.ts (5 files)
  • 26d06be: Dry-run preview for JSON/CSV/ZIP import in export.ts (3 files)
  • c952483: Inline location selector in export/import dialogs (4 files)

AI Enhancements:

  • d4f8aaa: Context-aware reanalysis with photos and previous results in aiProviders.ts, aiStream.ts, AiSuggestionsPanel.tsx (13 files)
  • 6665268, 8d8e300, 04476ca, 0840701: Diffusion denoise animation replacing scan-line (index.css, AiStreamingPreview.tsx, QRCodeDisplay.tsx)

Search & Filtering:

  • 1042a71: fuzzy_match with Levenshtein distance in db.ts, replacing word_match (3 files)
  • c5d7fae: Sort direction toggle in SortMenu.tsx, area filter layout in BinFilterDialog.tsx (4 files)
  • 23eff63: Simplified filter dialog, removed color filter (11 files)

UX Improvements:

  • 694ec90: Inline quantity parsing in itemQuantities.ts with parseQuantityFromInput() (3 files)
  • d976ddf: Undo swipe-delete with 5s delay in ItemList.tsx
  • b8deb70: Invite code preview via GET /api/auth/invite-preview/:code (4 files)
  • bcebf08: 403/410 differentiation for bin access errors, improved scan/create UX (6 files)
  • 4275d17: Fix focus loss when clicking add-item button (2 files)
  • 5324e07: Fix sidebar item shift with transparent border on inactive items
  • bffff27: Clear bulk selection when switching locations

Design System:

  • 16d344e: Flatten design system, improve onboarding transitions (34 files)
  • 67b717d: Rename glass-* tokens to flat-*, show member usernames (53 files)
  • f486509, 4167303: Dashboard full bin cards, print preview fidelity, name card typography
  • d97e74f, 3244855: Settings page polish, consistent dashboard section headers

Data & Backend:

  • 8bd815e: Custom field remapping on cross-location bin move in customFieldHelpers.ts, server tests (6 files)
  • 14a2f26: Expanded demo seed with quantities, custom fields, nested areas, viewer role (2 files)

Documentation:

  • 33db99b, c425875: OpenAPI spec audit and corrections (16 files)
  • 8e01ea8: Docs trimmed of redundant UI narration (27 files)

Cleanup:

v0.2.4 — Name Cards, Flat Design, and Admin Password Reset

18 Mar 03:38

Choose a tag to compare

This release introduces a new name card print mode, a refreshed flat visual design, and several quality-of-life improvements across the application.

Key improvements

  • Name card printing — A new "Names" print mode generates large-format name cards for bins, with configurable font size, layout options, and PDF export. Great for labeling shelves and storage areas at a glance.
  • Flat design refresh — Reduced blur, shadows, and rounded corners across the entire interface for a cleaner, more readable look. New heading font and semantic color tokens improve visual hierarchy.
  • Admin password reset — Location admins can now generate a one-time password reset link for any member directly from the members dialog.
  • Large item list handling — Bins with many items now show a collapsible list with inline search, making it easier to find specific items without scrolling.
  • Item sorting — Sort items within a bin by name, quantity, or date added.
  • Health endpoint — New GET /api/health endpoint with database connectivity check, useful for Docker health checks and monitoring.
  • Hardened security — Stricter security headers and cookie policy for self-hosted deployments behind reverse proxies.
  • iOS print fix — Short codes now center correctly under QR codes in Safari print preview.
  • New documentation — Added reverse proxy setup guide, backup/restore guide, and updated all existing docs to reflect recent features.

v0.2.3

07 Mar 18:23

Choose a tag to compare

v0.2.3

Viewer Role & Access Control

  • Three-tier role system — locations now support admin, member, and viewer roles. Viewers have read-only access and cannot create, edit, delete, or pin bins.
  • Configurable default join role — admins can set whether new members join as member or viewer in location settings.
  • Registration modes — new REGISTRATION_MODE env var with three options: open (default), invite (require a location invite code to register), and closed (no sign-ups). Invite codes can be shared via QR code.

AI Improvements

  • Tag reuse enforcement — AI prompts now enforce reuse of existing tags across suggestions and reorganization.
  • Reorganize with tags — the reorganize tool now supports tag changes in its suggestions.

Export & Import Improvements

  • Tag colors, custom fields, and visibility are now included in JSON exports and restored on import.
  • CSV export changed to one row per item with a quantity column for better spreadsheet compatibility.

UI Polish

  • Unified popover styling across the app.
  • Bins grouped by area in the bin selector card.
  • Improved loading states with skeleton placeholders.
  • Fixed first-load visual flash.

v0.2.2 - Item Quantities, AI Reorganization

07 Mar 04:19

Choose a tag to compare

This release introduces item quantity tracking, an AI-powered bin reorganization system, and a sweeping UI refinement pass across the application.

Key improvements

  • Item quantities — track how many of each item you have with inline editable quantity fields on both desktop and mobile
  • AI-powered reorganization — select bins and let AI suggest optimal reorganization across your storage; review and apply changes with a single click
  • Item list printing — new print mode generates clean item checklists alongside existing QR label printing
  • Custom fields — define location-scoped custom fields for bins (e.g., "Purchased Date", "Value") with full AI integration
  • Custom reorganization prompts — tailor AI reorganization instructions in AI settings to match your organizing preferences
  • AI progress indicators — visual progress bars during AI operations provide clear feedback on streaming responses
  • Improved demo experience — revamped seed data, guided onboarding tour, and household member support for the demo instance
  • Touch device fix — resolved double-tap-to-edit issue on mobile item lists
  • Security hardening — configurable AI rate limits, full API key masking, enhanced CSP, and improved auth/crypto safety
  • UI polish — removed entrance animation flicker, refined card shadows, and modernized selection indicators

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

v0.2.1 — Demo Mode

01 Mar 21:41

Choose a tag to compare

This release introduces a fully automated demo experience for demo.openbin.app, making it effortless for new users to explore OpenBin without creating an account.

Key improvements:

  • Instant demo access — Visitors to the demo site are automatically logged in with a pre-populated account featuring 12 realistic storage bins across 5 areas, complete with items, tags, and color-coded labels
  • Demo toast notification — A dismissible banner informs visitors they're in a demo environment with a link to self-host OpenBin
  • Automatic data reset — Demo data is freshly seeded on every server restart, keeping the demo environment clean
  • Improved onboarding flow — Fixed duplicate print button in the setup wizard and refined item input styling
  • Updated login screen — Added the OpenBin logo to the sign-in page

Demo mode is entirely opt-in via the DEMO_MODE environment variable and has no effect on self-hosted instances.

v0.2.0

01 Mar 20:34

Choose a tag to compare

Release Note

This release delivers a major UI redesign, pre-built Docker images, a full documentation site, and dozens of quality-of-life improvements across the entire application.

Highlights

  • Docker images on GHCR — pre-built multi-arch images (amd64/arm64), no build required
  • Documentation site — comprehensive VitePress-powered docs with guides, API reference (per-resource), and MCP server docs covering 43 tools across 9 categories
  • Redesigned navigation — collapsible sidebar with keyboard shortcut on desktop, mobile drawer replacing bottom nav, QR scanner overlay replacing the full-page scanner
  • QR code styling — customizable dot and corner styles with color options for printed labels
  • Print label overhaul — new label format system with Avery product number search, mm/in unit toggle, text alignment, and saved presets
  • Server logs — live-streaming request logs in settings via SSE with auto-scroll
  • View modes — compact and table views with server-side pagination, configurable column visibility, and bidirectional sorting
  • AI enhancements — advanced parameter tuning (temperature, max tokens, top-p, timeout), expanded command actions with richer context
  • Bin management — duplicate bins, copy & paste styles in bulk actions, unsaved changes warnings, live appearance preview
  • UI polish — smooth expand/collapse animations, sliding indicator for option groups, tooltips on all icon buttons, redesigned onboarding with purple accent, improved dark mode contrast
  • Security fixes — resolved multer DoS, serialize-javascript RCE, SSRF protection, JWT algorithm pinning
  • Platform upgrades — Node 22, Vite 6, bcrypt v6, unified Biome configuration

Fixes

  • Fix SSE stream compression causing dropped connections
  • Fix auto-scroll reliability in log viewer
  • Fix dark mode contrast for option groups and pagination
  • Fix serialize-javascript RCE vulnerability (override to 7.0.3)
  • Fix multer DoS vulnerability (update to 2.1.0)
  • Fix SSRF protection, JWT algorithm pinning, query token removal
  • Fix bcrypt v6 upgrade and npm audit vulnerabilities
  • Fix bin card sizing and dashboard spacing
  • Fix input radius consistency (radius-sm for inputs, pickers, swatches)
  • Fix label overflow on compact print formats

Architecture Changes

  • Replace bottom navigation with mobile drawer
  • Replace QR scanner page with dialog overlay
  • Decompose BinDetailPage into focused sub-components and action hooks
  • Overhaul print label system with shared layout model and composable hooks
  • Unify segmented controls into shared OptionGroup component
  • Extract reusable components: DismissibleBadge, EmptyState, SearchInput, usePopover, useInlineEdit
  • Use short code as bin ID (remove separate short_code column)
  • Add exit animations to badges, dialogs, and toasts

Docker

services:
  openbin:
    image: ghcr.io/akifbayram/openbin:latest
    ports:
      - "1453:1453"
    volumes:
      - openbin_data:/data

volumes:
  openbin_data:

v0.1.0

22 Feb 20:30

Choose a tag to compare

v0.1.0 Pre-release
Pre-release

What's Changed

  • docs: update CLAUDE.md with missing conventions by @akifbayram in #33
  • feat: refactor locations page into card-based layout by @akifbayram in #34
  • feat: centralize env config and consolidate to single-container Docker by @akifbayram in #38
  • Fix PWA dark mode color desync and refine UI by @akifbayram in #39
  • feat: inline filter badges, lazy-load retry, and utility page consistency by @akifbayram in #40
  • feat: add admin/member roles and tabbed location switcher by @akifbayram in #41
  • feat: admin/member roles, location tabs, and bin visibility by @akifbayram in #42
  • Add sidebar location switcher and admin-only guards by @akifbayram in #45
  • feat: server-side pagination, filters, and httpOnly cookie auth by @akifbayram in #47
  • feat: sidebar location switcher and UI polish by @akifbayram in #46
  • feat: horizontal photo gallery, bulk bin actions, keyboard shortcuts by @akifbayram in #49
  • feat: add MCP server for OpenBin by @akifbayram in #50
  • Fix admin page redirect race and track API key identity in activity logs by @akifbayram in #51
  • Add customizable card styles for bins by @akifbayram in #52

Full Changelog: https://github.com/akifbayram/openbin/commits/v0.1.0