Releases: akifbayram/openbin
v0.2.7
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
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_ANCESTORSenv 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
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,useTourhook, step definitions intourSteps.ts,data-tourattributes on target elements, tour preferences inuserPreferences.tsx, replay button inSettingsPage.tsx(19 files)
In-App Camera:
- c0880ae:
CapturePage.tsx+useCapture.tsusinggetUserMedia,capturedPhotos.tsstore, 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_idcolumn inschema.sql, recursive tree queries inareas.ts,buildAreaTreeutility,AreaDialogs.tsxparent picker,AreasPage.tsxtree UI (20 files)
Import/Export:
- 5fb0b6f: CSV import with
csvParser.ts, unified export/import dialogs inDataSection.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.tsandexport.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_matchwith Levenshtein distance indb.ts, replacingword_match(3 files) - c5d7fae: Sort direction toggle in
SortMenu.tsx, area filter layout inBinFilterDialog.tsx(4 files) - 23eff63: Simplified filter dialog, removed color filter (11 files)
UX Improvements:
- 694ec90: Inline quantity parsing in
itemQuantities.tswithparseQuantityFromInput()(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 toflat-*, 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
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/healthendpoint 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
v0.2.3
Viewer Role & Access Control
- Three-tier role system — locations now support
admin,member, andviewerroles. 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
memberorviewerin location settings. - Registration modes — new
REGISTRATION_MODEenv var with three options:open(default),invite(require a location invite code to register), andclosed(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
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
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
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-javascriptRCE vulnerability (override to 7.0.3) - Fix
multerDoS 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_codecolumn) - 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
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