Back to Changelog
Feature
0.1.1Release v0.1.1 - Foundation & Stability
Version 0.1.1 fixes critical billing issues including crew day rates, volume pricing, and contractor reimbursements. Performance optimizations reduce page load times up to 75%. New schema validation prevents data integrity issues. Automated release management streamlines workflows.
What's new
- Added Duration field to quote and invoice line items, enabling proper rental pricing calculations (quantity × rate × duration). Documents now clearly show daily/weekly rates multiplied by rental periods. (#1307, #1308)
- Fixed crew day rate billing to charge one rate per shift instead of per calendar day. An overnight load-out that crosses midnight is now correctly billed as one call at one rate, not doubled. (#1196, OVA-386)
- Fixed volume pricing brackets to evaluate across the entire quote/rental period instead of per-row. Twelve units of the same equipment now correctly trigger a '10+ units' discount instead of being priced as twelve separate single-unit orders. (#1189, OVA-516)
- Crew day add-ons (per diem, kit fees, travel day rates, buyouts) now appear on client quotes and invoices. Previously these were paid to crew but never billed to clients. (#1173, OVA-525)
- Fixed crew assignments showing zero members in every group. Group member lists are now populated correctly. (#1217, OVA-578)
- Client portal now shows project managers and correct invoice counts. Previously showed blank managers and zero invoices despite having project-linked invoices. (#1211, #1254, #1266, #1267, OVA-574, OVA-584, OVA-617, OVA-461)
Billing, invoices & payments
- Fixed quote/invoice crew billing to use an allow-list for billable assignment statuses. New statuses now default to non-billable instead of being charged to clients automatically. (#1164, OVA-513)
- Contractor travel expense auto-creation now works. Mileage, per diem, and stipend reimbursements are created when contractors submit work with configured travel terms. (#1274, #1277, OVA-624)
- Fixed equipment and surcharges being truncated off client quotes at 1,000 rows. Projects with large equipment lists now include all items on quotes. (#1180, OVA-534)
- Quote crew sync now respects sent/accepted quote status and will not reprice quotes that have been delivered to clients. Prevents retroactive price changes on accepted proposals. (#1191, OVA-554)
- Fixed equipment billing to stop pooling gear across different rental dates. Six microphones out March 1-4 and six out June 1-4 are now correctly billed as two separate line items instead of one twelve-unit line. (#1208, OVA-568)
- Crew day type rules (holiday multipliers, travel day overrides, non-working days) now reach client invoices, not just contractor payouts. (#1174, OVA-525)
- Added jobs.job_assignments.include_on_quote column to support excluding assignments from client quotes without deleting them from schedules. (#1286, OVA-513)
Fixed & restored
- Fixed fleet calendar and vehicle search returning no results. Both now display vehicles correctly. (#1209, #1270, OVA-571, OVA-620)
- Fixed workspace calendar schedule section showing no entries despite having schedule data. Schedule entries now appear correctly. (#1213, OVA-573)
- Restored job creation from templates, which was returning 500 errors on every attempt. Template-based job creation now works. (#1279)
- Fixed create-job and create-from-template webhooks shipping without job dates. Webhook subscribers now receive start_date and end_date. (#1280, OVA-549)
- Fixed shared folder file listings showing zero files. Public folder shares now display their file contents. (#1226, OVA-582)
- Fixed client portal comments on invoices and quotes rendering with no resource name. Comments now show which invoice or quote they're attached to. (#1212, OVA-573)
- Fixed crew load plan share links showing no job header (name, dates, call time). Crew members loading trucks can now see critical job details. (#1269, OVA-579)
- Fixed all employee SMS notifications resolving to null. Text messages to employees now send correctly by resolving phone numbers from user profiles. (#1238, OVA-605)
- Fixed project locations and managers display. Project reports now show primary location flags and project manager names. (#1275, OVA-626)
- Fixed workspace Stripe Connect onboarding which was failing on every attempt. Independent-billing workspaces can now complete payment account setup. (#1292, OVA-627)
- Fixed duplicate client detection never finding duplicate clients. The detector now properly identifies clients with matching email, company name, or phone number. (#1227, OVA-582)
- Fixed contractor portal showing tasks in wrong sections. Tasks now correctly appear in pending/active tiles based on their actual status. (#1236, OVA-602)
- Mobile contractor app now properly captures mileage expense distance and trip details instead of asking for manual dollar amounts. Amounts are calculated from workspace reimbursement rates. (#1235, OVA-593)
- Fixed unauthenticated iCal feeds showing no shifts or leave entries. Crew members can now see their schedule and time-off in calendar subscriptions. (#1218, OVA-580)
- Fixed project-managed quote sections that had no way to detach. Sections can now be detached to stop automatic equipment syncing. (#1160, OVA-515)
- Fixed quote expiration and reply matching reading phantom contact_id column. Quote notifications and auto-matching now work correctly. (#1216, OVA-573)
- Fixed identity reads across multiple routes that were querying non-existent tables. Names and emails now display correctly in projects, jobs, scans, and other areas. (#1225, OVA-573)
- Fixed employee and contractor display columns across scheduling, crew groups, and utilization reports. Names, emails, and active status now resolve correctly. (#1271, OVA-621)
- Fixed independent-billing workspaces unable to access their Stripe accounts. Workspace-level Connect account reads now work. (#1272, OVA-622)
Security & permissions
- Tasks are now scoped to the viewing user by default. Members only see their own tasks unless granted the new tasks.view_all permission. Previously any member could read, edit, and delete all workspace tasks including personal ones. (#1288, #1294, OVA-647)
- Fixed organization ownership detection which was returning false for every user including actual owners. Organization owners now correctly identified. (#1284)
- Deleted stale TeamCity configuration file that exposed 17 production credentials in cleartext (Stripe live keys, webhook secrets, API tokens). Authoritative config is in the separate private repository. (#1179, OVA-536)
Speed & reliability
- Document template editor first load reduced 75% (671 KB → 167 KB). PDF rendering library now loads only when generating previews instead of on page load. (#1299)
- Ten routes including customer portals reduced by 86-120 KB each by deferring the 542 KB country/state reference dataset until actually needed. (#1300)
- Settings and organization pages reduced by 48-61% by lazy-loading tab content. Only the visible tab loads initially instead of all tabs. (#1301, #1303, OVA-667, OVA-669)
- Eliminated 105 KB icon library from the build by enumerating the specific icons used in permission templates instead of namespace-importing the entire library. (#1302, OVA-668)