shelf@2.0.0
🚀 Shelf 2.0
Shelf 2.0 introduces Quantitative Assets, bringing inventory-style asset tracking to Shelf while preserving everything that makes individual asset management great. Alongside it comes major booking improvements, a dramatically more capable Companion app, and dozens of performance, reliability, and security improvements across the platform.
📦 Quantitative Assets (Major Feature)
Until now, every asset in Shelf represented a single physical item.
With Quantitative Assets, a single asset can now represent multiple units while still supporting bookings, custody, locations, reporting, audits, and activity history.
Examples:
- 50 HDMI cables
- 200 Batteries
- 30 Microphones
- 500 Safety Helmets
Instead of creating hundreds of identical assets, you can now manage quantities directly.
Highlights include:
- ➕ Quantity-aware assets throughout the platform
- 📊 Quantity-aware reporting and analytics
- 📦 Quantity-aware custody
- 📅 Quantity-aware bookings
- 📱 Full Companion app support
- 📄 Quantity-aware exports
- 💰 Quantity-aware valuation calculations
- 🔍 Quantity support across search, filters and availability
This fundamentally expands the kinds of inventories Shelf can manage.
📱 Companion App
The Companion app received its largest update yet.
Native booking management
You can now:
- Create bookings
- Edit bookings
- Check assets in and out
- Manage booking lifecycle
- Better booking lists and workflows
Native scanner parity
The scanner now supports nearly everything available on the web, including:
- Batch scanning
- Kit workflows
- Booking workflows
- Check-in / Check-out
- Scan Asset Mode
Better authentication
- Native SSO login
- PKCE authentication
- Universal Links / Android App Links
- Better password reset flow
Quality of life
- Asset tags
- Quantity support
- Kit improvements
- Camera selection
- Deep linking
- In-app review prompt
- Better telemetry and reliability
🚀 Features
- feat: Quantitative Assets
- feat(booking): progressive checkout
- feat(bookings): keep assets available when added to an ongoing booking
- feat(bookings): context-aware bulk actions on booking item list
- feat(bookings): let users set start/end dates in the duplicate dialog
- feat(bookings): improve item sorting and per-slice QT checkout status
- feat(bookings): add require explicit check-in setting
- feat(booking): show asset tags in booking list
- feat(webapp): add kit-as-unit option for booking check-in progress
- feat(reports): add Top Booked Kits report
- feat(locations): add sorting and multi-field search to locations index
- feat(audits): create audits from selected locations
- feat(audits): create audits from selected kits
- feat(asset): qty-aware value display across UI, aggregates, exports & mobile
- feat(companion): native scanner parity
- feat(companion): mobile booking create, edit & lifecycle
- feat(companion): kit detail parity
- feat(companion): add tags to asset create/edit
- feat(companion): quantity display & quantity custody actions
- feat(companion): inline tag creation
- feat(companion): Universal Links & App Links
- feat(companion): in-app review prompt
- feat(auth): SSO login for native mobile app
- feat(mobile-sso): PKCE support
- feat(security): baseline security response headers
- feat(analytics): server-side PostHog funnel events
- feat(webapp): track mobile companion adoption
- feat(bulk-actions): clear selection after successful bulk actions
🐛 Fixes
- fix(webapp): prevent P2028 timeouts on bulk asset/booking operations
- fix(webapp): eliminate N+1 when saving asset custom-field values
- fix(bookings): adding a kit to an ongoing booking no longer checks out other kits
- fix(bookings): enforce overlap conflict checks on scan-add and mobile checkout
- fix(bookings): kit duplication, quick-checkout progress and asset search
- fix(bookings): lifecycle progress improvements
- fix(bookings): sync start date during navigation
- fix(assets): bulk QR download reused stale assets
- fix(assets): advanced availability improvements
- fix(custom-fields): reject invalid ISO date imports
- fix(server): cap runaway loader revalidations
- fix(database): enable RLS on MobileAuthCode
- fix(storage): multiple stability improvements
- ...plus dozens of additional fixes across bookings, assets, kits, mobile, QR workflows, imports, Stripe, Sentry and server reliability.
🧹 Chores
- Companion 1.0.3 release
- React Router updates
- Dependency updates
- Build tooling improvements
- Documentation improvements
❤️ New Contributors
Full Changelog
https://github.com/Shelf-nu/shelf.nu/compare/shelf@1.20.3...shelf@2.0.0