Changelog
Every user-visible change merged to pencorOS, newest first. Generated from git log.
September 2026
- v0.3480Sep 26, 2026Added9819784
procurement:the Procurement page adds a Subcontracts & POs status row with donut and a Master Buyout Log — every subcontract/PO on jobs in Construction with buyout budget vs contract value, Buyout Needed By (Required On Job minus lead time, manual or schedule-linked like submittals), past-due tracking and a Waiting on Sub Signature filter (#452)
- v0.3479Sep 26, 2026Added16306d2
procurement:submittals can link Required On Job and Lead Time to schedule activities — Required On Job follows the activity's start, lead time follows its duration (remaining once started) in working days and edits push back into the schedule with a full recalculation, and the Procurement page's float uses the schedule's own calendar (#451)
- v0.3478Sep 25, 2026Added7aebab2
procurement:a new company-wide Procurement page tracks every submittal on jobs in Construction — six status boxes with a donut chart, the most critical (least-float) submittal, project cards ranked by overdue items then float, and a groupable, filterable Master Submittal List; submittals gain Required On Job Date and Lead Time (#449)
- v0.3477Sep 25, 2026Fixede5c0af8
bug-reports:the bug tracker's Closed status filter shows closed reports again — the page loaded only the first 100 reports and closed ones sort last, so once open + resolved passed 100 the Closed filter came up empty; the tracker now loads every report (#448)
- v0.3476Sep 24, 2026Addedaa1cb8b
costs:the Costs page can now group by division (the cost code's 00–19 prefix), add a second-level "then by" grouping with the same options, and expand or collapse every group from a caret at the far left of the table header — PDF and Excel exports follow the same nesting (#447)
- v0.3475Sep 24, 2026Fixedd442364
ci:the per-run test-schema cleanup on the preview database no longer dies on its first stale schema — each DROP runs in its own transaction with the statement timeout lifted, a failed schema is logged and skipped, and the step ends with a summary plus a workflow warning (#446)
- v0.3474Sep 24, 2026Added6ecb1e5
costs:groups on the Costs page now collapse and expand (per group, plus Collapse all / Expand all), and the filter bar gains a Vendors multi-select alongside cost code, type, source and subcontract
- v0.3473Sep 24, 2026Added0bcebbd
costs:the Costs page can now group its transactions by vendor, cost code, cost type or subcontract / PO with a subtotal per group, sort by description, show / hide / reorder columns from a Columns editor, and export exactly the current view — same filters, sort, grouping and columns — as a landscape PDF or an Excel workbook with group subtotals and a grand total
- v0.3472Sep 24, 2026Added07e4530
costs:Import Costs From Foundation — the Agave connector pulls a job's posted job-cost ledger into a new Costs page (every transaction, sorted by cost code, multi-filter + sortable) and the budget's Job to Date column, with the JTD amount click-through to the itemized detail and subcontractor invoices applied to the matching subcontract / PO
- v0.3471Sep 24, 2026Fixedd9ee24a
cost-codes:the cost code picker's Project Budget section now shows each code's description as it reads on the project budget (the renamed, project-specific text) instead of the master list description; the UnBudgeted section still shows the master descriptions (BUG-258) (#442)
- v0.3470Sep 24, 2026Added75eabf9
change-orders:a project manager can now re-code the cost code on a line of an executed subcontract or owner change order straight from the order page — the amount stays locked, the dollars move to the new budget row, and the change is recorded in the order's history (BUG-257) (#441)
- v0.3469Sep 24, 2026Fixedbc6933f
budget:clicking a committed-cost amount on one of the budget's UnBudgeted rows — a cost code with subcontract or change-order dollars but no budget line, shown as "no budget set" — now opens the subcontract breakdown like any other row instead of a dialog that only said "No breakdown key provided", and each change order listed in that dialog now links through to the change order so a mis-coded line can be found and re-coded (BUG-256) (#440)
- v0.3468Sep 23, 2026Fixedc315954
budget:an executed subcontract change order coded to a cost code the project never budgeted now shows on the budget's UnBudgeted rows instead of disappearing — a credit change order was leaving total committed costs overstated while the committed-cost drill-down still showed it (BUG-253) (#438)
- v0.3467Sep 23, 2026Fixed01dad8f
drawings:the Disciplines dropdown on the drawings page now lets you pick several disciplines at once, and the sheet list and its PDF log put the title sheet and sheet index first whenever they are in the selection, so a batch opens on the cover instead of whichever sheet number sorts first (BUG-248) (#437)
- v0.3466Sep 23, 2026Fixedc5f42cc
oco:an approved owner change order no longer shows a Ball in Court — nothing is pending once everyone has signed — and its workflow card shows the executed document in that spot instead (the DocuSign signed PDF, or the wet-signed copy); Executed by Email now takes that signed copy as an upload, and it can also be added from the card afterwards (BUG-254) (#439)
- v0.3465Sep 23, 2026Fixedfbe0e43
submittals:the document preview on a submittal now opens with the whole page fitted to the window instead of at 100%, so a large shop drawing no longer shows just its top-left corner; zooming still works and a new Fit page button returns to the fitted view (BUG-247) (#436)
- v0.3464Sep 23, 2026Fixed92327b5
subcontracts:a Purchase Order no longer asks for insurance — a material vendor has no onsite crew, so a PO shows no smiley or bomb on the Subcontract/PO list, no Onsite or insurance answer, no Approve/Reject Insurance step once it is executed, and it no longer lands on the Insurance Admin's list waiting for a COI that was never coming (BUG-244) (#435)
- v0.3463Sep 23, 2026Fixed634358d
change-items:ACRE is now one of the Unit of Measurement options on a change item's cost lines, alongside the other area units (BUG-243) (#434)
- v0.3462Sep 23, 2026Added09b1e09
submittals:a reviewer who emails their review back can now be recorded on their own row — each pending reviewer has an Upload Response button next to Remind (submittal manager only) taking the response, notes and the reviewed files, so the manual entry lines up with the reviewer instead of sitting at the bottom of the page; the saved answer shows who entered it on whose behalf, and Manager Manual Answer can attach files too (BUG-241, BUG-242) (#433)
- v0.3461Sep 23, 2026Fixedd319b13
schedule:an activity marked finished from a daily log now shows the same date in the schedule that the log named, instead of a day earlier, and a milestone in a daily log is offered only the one mark that applies to it (#432)
- v0.3460Sep 23, 2026Fixedf7300fd
schedule:a milestone's late dates now read the same working day its early dates do — a start milestone (and any zero-day activity) is scheduled on the next available day after its predecessor finishes, so at zero float its Late Start matches its Start instead of showing the weekend boundary before it, while a finish milestone still lands exactly on the finish of the work it marks (BUG-255 follow-up) (#431)
- v0.3459Sep 23, 2026Fixed0c3c82f
schedule:an activity set to Start Milestone or Finish Milestone is now the zero-day event it is meant to be — it schedules as an instant whatever duration the row was carrying, a start milestone no longer pushes its successor a day and shows no finish date, and a finish milestone lands on the same date as the work it marks instead of a day after it, showing no start date (BUG-255) (#430)
- v0.3458Sep 23, 2026Fixed40b9e42
rfis:cost impact and schedule impact can now be edited on the RFI detail page, so a draft can be corrected before it is sent instead of voided and recreated
- v0.3457Sep 21, 2026Added63e6884
drawings:the Send dialog in the sheet viewer now offers Current Set, the current-set link can include the team's published markups burned into every sheet, and published markups carry forward onto a sheet's new revision when it is replaced (BUG-251) (#428)
- v0.3456Sep 21, 2026Fixed466b096
drawings:the drawings PDF button now offers a Current Drawing Log (sheet number, title, and current revision date) or an Audit Log that adds the original issue date and every revision with its set name (BUG-250 follow-up) (#427)
- v0.3455Sep 21, 2026Fixed68580e0
specifications:cancelling a specification book upload after it has been parsed now really deletes the PDF and its parsed page text, as the dialog promises (#426)
- v0.3454Sep 21, 2026Fixed895b719
storage:every remaining attachment commit accepts only an upload issued for that exact record and not already attached to anything else (#425)
- v0.3453Sep 21, 2026Fixeddba1f93
specifications:finishing a specification book upload now checks your access and that the uploaded PDF belongs to the same project before the file is read (#424)
- v0.3452Sep 21, 2026Fixede1f9101
storage:a photo, logo or spec upload can no longer be pointed at a file that belongs to something else and then deleted to destroy it (#423)
- v0.3451Sep 21, 2026Fixedb65ae60
specifications:a specification book — or any file — with a very long name can now be uploaded, and the spec parser's page-text file can no longer land on top of the PDF (#422)
- v0.3450Sep 21, 2026Fixedb449db4
storage:the five local-development upload endpoints can no longer be used in production to overwrite a stored file (#421)
- v0.3449Sep 21, 2026Addedc91dd16
drawings:a Current Set button on the drawings page emails one link that downloads every sheet at its current revision as a single PDF, with the title sheet and index first (BUG-249) (#420)
- v0.3448Sep 21, 2026Fixed9b35a8e
drawings:the drawings list PDF shows each sheet's current revision and that revision's date, instead of a running list of every revision with the original issue date (BUG-250) (#419)
- v0.3447Sep 16, 2026Added3c5182c
meetings:type @ in meeting minutes to tag a person and create an action item for them (BUG-239) (#417)
- v0.3446Sep 16, 2026Fixed002f420
timecards:PTO requests go only to the reviewers named under Timecards → Settings (up to two), who alone see the PTO queue and can approve or deny, and Pencor Administrators are no longer PTO approvers by role (BUG-238) (#418)
- v0.3445Sep 16, 2026Fixed86edb80
oco:changing the Architect checkbox in Owner Change Order Settings now updates every order that can still be sent instead of only orders created afterwards, and an order's pricing-backup attachments go out with the DocuSign envelope as a separate backup document, with a "PDF + attachments" button on the order page (BUG-240) (#416)
- v0.3444Sep 14, 2026Fixed80d4b4d
submittals:the New Submittal dialog pre-fills the next sequential number after each create, so creating several submittals in a row no longer needs a page refresh (BUG-237) (#415)
- v0.3443Sep 14, 2026Fixed90f9549
contracts:sending for signature with "Auto-place from document tags" on a PDF without pencorOS signature tags now says which tags are missing and to use manual placement, instead of DocuSign's raw ANCHOR_TAB_STRING_NOT_FOUND error (BUG-235) (#414)
- v0.3442Sep 11, 2026Fixedbc02da1
owner-contracts:moving a sent owner contract back to Contract Final voids its open DocuSign envelope, and the signature card gets a Void Envelope button (BUG-236) (#413)
- v0.3441Sep 10, 2026Fixedc3d41d5
budget:an Export CSV button on the budget page downloads the current budget as cost code, description, and revised amount (BUG-234) (#412)
- v0.3440Sep 8, 2026Fixed325892a
schedule:the company Schedule module's project picker no longer lists projects in the Warranty phase (BUG-232)
- v0.3439Sep 8, 2026Fixedb2c7f98
change-items:Request Pricing no longer offers or emails subcontractors whose subcontract is Void or Cancelled (BUG-231)
- v0.3438Sep 7, 2026Fixed72fb459
projects:a Show warranty switch on the project list hides Warranty-status projects in one click (BUG-230)
- v0.3437Sep 4, 2026Fixedf2f9397
timecards:Pencor Administrators can enter PTO on an employee's behalf (BUG-229)
- v0.3436Sep 4, 2026Fixedd373b78
oco:a change item's time-extension days carry onto the Owner Change Order it rolls into (BUG-228)
- v0.3435Sep 4, 2026Fixede32f621
contracts:clearing a subcontract's firm clears its firm-scoped people, and a stale contact can be cleared (BUG-226)
- v0.3434Sep 4, 2026Fixedda77ee7
contracts:DocuSign Title field is a plain text box the signer fills in (BUG-223)
- v0.3433Sep 4, 2026Fixed1106a1f
budget:Forecast to Complete cells are color-coded by forecast type (BUG-225)
- v0.3432Sep 4, 2026Fixedb2c2fc6
rfis:reviewer rounds are reorderable across all three workflow surfaces (BUG-222)
- v0.3431Sep 4, 2026Fixedb02b58d
budget:negative Change Item lines flow into the budget instead of being silently dropped (BUG-219, BUG-220)
- v0.3430Sep 4, 2026Fixed0522151
projects:Status filter on the Projects list is a multi-select (BUG-218)
- v0.3429Sep 4, 2026Fixed29256fb
projects:Permits card is editable — per-permit entries with notes, phone, weblink, and a QR code (BUG-216)
- v0.3428Sep 4, 2026Fixedc9f26f9
meetings:live-meeting note submits no longer produce phantom 404s (BUG-215)
- v0.3427Sep 4, 2026Fixed7ce958a
meetings:meeting note rows get a soft blue outline on hover (BUG-214)
- v0.3426Sep 4, 2026Fixed3fef932
schedule:Undo button + Ctrl+Z step back the last schedule edit in the scheduler (BUG-207)
August 2026
- v0.3425Aug 31, 2026Fixed812cc14
drawings:published markups always show in the sheet viewer, even with the markup layer off (BUG-213)
- v0.3424Aug 31, 2026Fixed66e741e
bug-reports:the 'Report sent' screen closes immediately instead of freezing (BUG-212)
- v0.3423Aug 31, 2026Fixeda8954a9
projects:project top-nav no longer sticks as a collapsed dropdown after opening a drawing sheet (BUG-211)
- v0.3422Aug 31, 2026Fixedab6d324
drawings:sheet viewer filmstrip stops glitching and downloading full PDFs; stuck thumbnail backlog drains itself (BUG-208)
- v0.3421Aug 28, 2026Fixedee4e86e
change-items:Void CIs hidden from the list by default with a Show Void toggle (BUG-202, BUG-203) (#391)
- v0.3420Aug 28, 2026Fixed5b4ff75
daily-logs:subcontract-party firms appear in the Manpower pickers without needing a portal user (BUG-205) (#392)
- v0.3419Aug 28, 2026Fixed66e1aea
team:Team page columns are sortable/filterable/dynamic and Add Member searches by company (BUG-206) (#390)
- v0.3418Aug 28, 2026Fixeda4499d3
oco:markup rows stay under all cost line items as more CIs are added (BUG-204) (#389)
- v0.3417Aug 28, 2026Fixed5ac1940
contracts:a draft subcontract's firm can be cleared back to unassigned (#388)
- v0.3416Aug 28, 2026Fixedd41bb16
contracts:remove the Sub Signer QR card from the subcontract sidebar (#387)
- v0.3415Aug 28, 2026Fixed2f40c19
rfis:the RFI list shows a new RFI immediately after create (BUG-201) (#386)
- v0.3414Aug 28, 2026Fixedc95e120
directory:duplicate-email errors say who already holds the email (BUG-199) (#385)
- v0.3413Aug 28, 2026Fixed3fe2440
sco:sub-signer dropdown shows every user until you type, and Add User joins the sub's firm (BUG-198) (#384)
- v0.3412Aug 26, 2026Addeddaad766
change-items:dynamic list columns — sort, toggle/reorder, and multi-select filters on every column (CI list) (#382)
- v0.3411Aug 25, 2026Fixed5422eea
budget:division group headers read as headers on the grouped budget (BUG-191) (#379)
- v0.3410Aug 25, 2026Fixed5ce4559
safety:Safety Documents opens the project Documents library instead of a 404 (BUG-188) (#378)
- v0.3409Aug 25, 2026Fixeda8da5b6
contracts:Title column on the Subcontract/PO list can be dragged narrower (BUG-187) (#377)
- v0.3408Aug 25, 2026Fixedbdf83c6
bug-reports:Still broken — send it back on the fix-verification page (BUG-186) (#376)
- v0.3407Aug 25, 2026Fixed279e5de
daily-logs:the list shows a new daily log immediately after create (BUG-197) (#381)
- v0.3406Aug 25, 2026Fixede462d3d
contracts:subcontract labels de-duplicated — Scope of Work + Notes (BUG-192) (#380)
- v0.3405Aug 25, 2026Fixed37baa88
owner-contracts:Contract Date + Original Contract Completion Date editable inline — the OCO signature gate is fixable in place (BUG-195, BUG-196) (#375)
- v0.3404Aug 25, 2026Fixedbef4544
contracts:change the Sub Signer at any subcontract status — Edit dialog saves no longer reject after Scope Final (BUG-185) (#374)
- v0.3403Aug 19, 2026Added0f0ff37
change-items:New Subcontract/PO pull on the cost-line toolbar — buy out new owner-change scope as a fresh draft agreement (#373)
- v0.3402Aug 19, 2026Added5f60ad6
oco:markup-line budget mapping + auto-persisting settings editor (#372)
- v0.3401Aug 19, 2026Addedf31046a
oco:Send back to Draft from Final Draft on OCP + OCO workflow cards (#371)
- v0.3400Aug 19, 2026Added17db7b2
change-orders:Pending Amount column on the OCO, OCP, and SCO list pages (#370)
- v0.3399Aug 19, 2026Added59449bf
oco:labeled multi-line standard CO markup — settings lines + editable markup line items on new orders (#369)
- v0.3398Aug 19, 2026Addedac9adf1
change-orders:list-page controls — search, multi-filters, sort, column picker + Approved/Executed Amount columns on OCO/OCP/SCO lists (#368)
- v0.3397Aug 19, 2026Added112e739
change-orders:Void/Cancel tool — Change Status menu on SCO/OCP/OCO cards; executed orders void with financial reversal (#367)
- v0.3396Aug 18, 2026Fixed2de4521
oco:one send path in Final Draft — manual Sent/Executed become Subcontract-style footer links on OCO/OCP workflow cards (BUG-193) (#366)
- v0.3395Aug 17, 2026Fixed043c9dd
oco:DocuSign send from Final Draft — envelope drives the Sent legs and the signature card appears (BUG-189) (#365)
- v0.3394Aug 17, 2026Fixed9693389
contracts:each sub change order has its own Sub CO Signer, pre-filled from the subcontract (BUG-185) (#364)
- v0.3393Aug 14, 2026Fixed5aea848
schedule:assign real calendars on template schedules by bootstrapping an empty company calendar catalog (#363)
- v0.3392Aug 14, 2026Fixedac645f4
submittals:Send button retries the page refresh and reloads if it never lands (BUG-177) (#362)
- v0.3391Aug 14, 2026Fixed002dc60
contracts:legacy imported change orders count toward the revised contract amount (BUG-183) (#361)
- v0.3390Aug 14, 2026Addedc50ed01
projects:star projects to pin them to the top of the list, per user (BUG-181) (#360)
- v0.3389Aug 14, 2026Fixedef11e5a
timecards:each week block's row total sums that week, not the whole period (BUG-180) (#359)
- v0.3388Aug 14, 2026Fixed21fb2c6
oco:configured signers render on OCO, OCP, and SCO PDFs (BUG-178, BUG-179) (#358)
- v0.3387Aug 14, 2026Fixedeadbbc4
submittals:Send button hidden when the server would refuse it + Assign BIC refreshes the list (#357)
- v0.3386Aug 14, 2026Fixedc67f607
daily-logs:weather comes from observed station readings instead of the forecast (BUG-182) (#355)
- v0.3385Aug 13, 2026Fixedc19ba0d
projects:contract value and budget hidden from everyone outside Pencor (BUG-184) (#354)
- v0.3384Aug 9, 2026Fixedea86324
submittals:audit trail on the submittal detail page - creation recorded + history card always visible (BUG-176) (#353)
- v0.3383Aug 9, 2026Fixed228629c
budget:forecast cell opens the forecast editor on click, yellow auto-calc indicator + auto-calc toggles (BUG-175) (#352)
- v0.3382Aug 8, 2026Added988aa13
rfis:RFI PDF embeds attachments as sheets + linked filenames (#351)
- v0.3381Aug 8, 2026Fixedd0ce4b9
pdf:Pencor LLC letterhead — RFI/Submittal branded headers + all document logo lines (#349)
- v0.3380Aug 8, 2026Fixed9551330
security:editor-gate directory party pickers + project-scope reference resolvers (#348)
- v0.3379Aug 8, 2026Fixed32cc0be
security:project-wide tenant gate in project layout + cross-project detail-page asserts (#347)
- v0.3378Aug 8, 2026Fixed79935f9
photos,submittals,daily-logs,change-items,sco,rfis:bug-triage batch — photo nav, multi-spec submittals, locked-view comments, CI cost-line fixes + bulk reopen/void, visible SCO overrides (#346)
- v0.3377Aug 7, 2026Addedb1d69dc
schedule:five-column company-standard view — ID, Name, Dur, Start, Finish for all users (#345)
- v0.3376Aug 6, 2026Fixed6d9cd43
change-items:Estimate Only flag beside Quantity, working Finalize, Final Quantity on OCP/OCO (#344)
- v0.3375Aug 6, 2026Added41e8e01
schedule:schedule templates with project import, template apply + pencorTrak menu (#343)
- v0.3374Aug 5, 2026Fixedec3ad8f
schedule:light theme no longer renders white text on light backgrounds (#342)
- v0.3373Aug 4, 2026Added3fef0eb
schedule:P6-parity CPM fixes, company-standard view defaults, project categories (#341)
- v0.3372Aug 4, 2026Added18759e4
timecards:New Timecard opens the period still needing submission (#340)
- v0.3371Aug 3, 2026Added3954149
directory:team-page Add User reuses the directory dialog with the project pre-checked (#339)
- v0.3370Aug 3, 2026Fixed9b54d7f
schedule:snap vertical sight lines to timescale boundaries (#338)
- v0.3369Aug 3, 2026Fixed53caa6a
schedule:walk Longest Path through finish milestones (#337)
- v0.3368Aug 3, 2026Fixed3699c92
schedule:horizontal sight lines respect the every-N-rows interval (#336)
- v0.3367Aug 3, 2026Fixedd14cf74
schedule:let the Name column shrink on the Relationships panel (#335)
- v0.3366Aug 3, 2026Added8948e93
schedule:stamp critical from the driving chain, not total float (#334)
- v0.3365Aug 2, 2026Added89f2c7a
schedule:drag-resizable columns on the Relationships third panel (#333)
- v0.3364Aug 2, 2026Added10bf6ba
schedule:name the three Relationships-panel lenses for what they measure (#332)
- v0.3363Aug 2, 2026Added41a9224
schedule:Longest Path mode on the Relationships tab (#331)
- v0.3362Aug 2, 2026Addede78f213
workflow:Pencor-only Manager on RFIs, Submittals + Change Items (#330)
- v0.3361Aug 1, 2026Fixedfa1eaf3
bugs:video playback, RFI notification delivery, schedule persistence + critical path (#329)
July 2026
- v0.3360Jul 30, 2026Fixed1e515ae
markup:distinct rect-shaped icon for the drag revision cloud (#328)
- v0.3359Jul 30, 2026Added904cb51
drawings:WEBP thumbnails + active-job nightly sweep so the filmstrip stops rasterizing PDFs (#327)
- v0.3358Jul 30, 2026Added12c9f01
markup:polygon cloud tool behind a Cloud variant flyout (#326)
- v0.3357Jul 30, 2026Added8f1b3bd
meetings:letterhead minutes PDF — logo header, left date column, old/new note distinction (#325)
- v0.3356Jul 30, 2026Fixed5d268c7
markup:port the inverse-op undo stack into the wired sheet viewer (#324)
- v0.3355Jul 30, 2026Fixedfb810d4
markup:replace tail-pop undo with an inverse-op undo stack (#319)
- v0.3354Jul 30, 2026Added37b90c0
markup:plain polyline + polygon tools, toolbar icon fixes, hyperlinks visible during markup (#323)
- v0.3353Jul 30, 2026Fixed258c252
pdf:refuse password-secured PDFs in split/merge paths instead of emitting corrupt output (#318)
- v0.3352Jul 30, 2026Fixed10aa899
drawings:gate module entry on drawings.view (lender loses access) (#322)
- v0.3351Jul 30, 2026Fixed7552089
markup:all markup authority rides drawings.markup — retire the drawings.manage gate (#321)
- v0.3350Jul 30, 2026Addedfc46119
markup:drawings-viewer markup — per-user persistence + Publish (drawings.manage) (#320)
- v0.3349Jul 29, 2026Addeddfbb87d
markup:PDF markup + measurement module (pen, shapes, dimensions, counts — sandbox port) (#317)
- v0.3348Jul 28, 2026Added67f7d70
meetings:WPR in-meeting editing — banner notes toggle, line rename, note edit/delete, 3-person nav icon (#316)
- v0.3347Jul 28, 2026Added5820806
daily-logs:PDF export (list + date-range detail), man-hours + incident columns (#315)
- v0.3346Jul 28, 2026Added3c6456c
photos:lightbox zoom controls, fullscreen toggle, shared viewer on daily logs (#314)
- v0.3345Jul 27, 2026Improved97a7fc9
query-dedup:share cached matrix + budgeted-code reads; close owner-contract neither-key holes (#313)
- v0.3344Jul 27, 2026Fixed86ee5a4
drawings:land sheet jumps at fit-page and stop the blank page past ~350% zoom (#312)
- v0.3343Jul 25, 2026Fixed610f86b
bugs:photo zoom + faster uploads, sent-status CO PDFs, CI description carry, next-orientation button (#311)
- v0.3342Jul 25, 2026Added91db6eb
ui:navy rail sidebar with pencorOS wordmark (#310)
- v0.3341Jul 24, 2026Addedaa861af
safety:company-wide safety director briefing, construction jobs only (#309)
- v0.3340Jul 24, 2026Added0c01d16
orientations:move operator-training question to documentation section (#308)
- v0.3339Jul 24, 2026Addeda10cea6
directory:clickable company link in the user detail header (#307)
- v0.3338Jul 24, 2026Added19311d7
oco:totals row on the OCO list page proposals + orders tables (#306)
- v0.3337Jul 24, 2026Added2ccaa79
ui:company combobox everywhere + fuzzy ranked search (#305)
- v0.3336Jul 23, 2026Added2f75b1c
change-orders:direct owner change order to change item link (#304)
- v0.3335Jul 23, 2026Added8cc13c5
safety:company-level safety module in the sidebar (#303)
- v0.3334Jul 23, 2026Addedfe40408
safety:orientation questions UX — rules-first layout, one-click Yes/No, training-complete signing gate (#302)
- v0.3333Jul 23, 2026Added951ff43
safety:previous daily summaries log on the safety hub (#301)
- v0.3332Jul 23, 2026Addedb3c997b
safety:incident classifications rework + hub card polish (#300)
- v0.3331Jul 23, 2026Addeda40f040
safety:required documentation checklist on the safety hub (#299)
- v0.3330Jul 23, 2026Added3248b38
safety:incidents module — merged report + investigation form (#298)
- v0.3329Jul 23, 2026Added39981f1
safety:orientations module + safety director daily briefing (#297)
- v0.3328Jul 22, 2026Added88a5a84
safety:first aid log + kit inventory module (#296)
- v0.3327Jul 22, 2026Fixed77e800b
tests:pin a canonical epoch-dated Pencor company — kills the shared-schema FK flake (#295)
- v0.3326Jul 22, 2026Fixed9f3ebcd
shell:tab + bookmark icon is now the login page's OS chip (#293)
- v0.3325Jul 22, 2026Addeda380d5e
shell:pencorOS tab icon on every page + complete tab titles (#291)
- v0.3324Jul 22, 2026Fixed399a1df
punch-lists:stop revalidatePath-during-render on the seeding first visit (#290)
- v0.3323Jul 22, 2026Added60613ac
bug-reports:'Resolved — not sent' status filter for the verification send-queue (#289)
- v0.3322Jul 22, 2026Fixed1d6fe8f
changelog:regenerate at Vercel build time — custom buildCommand bypassed the prebuild hook (#288)
- v0.3321Jul 22, 2026Fixed9aba2dc
photos:file photos by EXIF capture date — wire the dormant takenAt column (#286)
- v0.3320Jul 22, 2026Added45cb5cc
schedule:bulk calendar assign for selected activities (#285)
- v0.3319Jul 22, 2026Fixed8834274
submittals:stop column clipping on narrow screens — scrollable list with a min-width floor (RFI list too) (#283)
- v0.3318Jul 22, 2026Fixed78f6e66
punch-lists:iOS-tappable native selects in New Punch Item + assignee photo-attach carve-outs (#282)
- v0.3317Jul 22, 2026Fixedd23e362
change-items:CI list Budget/Cost columns walk the derivation ladder, matching the detail grid (#281)
- v0.3316Jul 22, 2026Fixed4e29462
subcontracts:list + PDF revised amounts derive from executed SCOs, not the dead denormalized column (#280)
- v0.3315Jul 22, 2026Fixed287104e
subcontracts:hide doomed Send CTA on stranded envelopes + auto-reconcile stuck DocuSign drafts (#279)
- v0.3314Jul 22, 2026Fixedcc7224a
action-items:advance to next item on complete, stop double-refresh hang, preserve punch source links (#278)
- v0.3313Jul 22, 2026Fixed88761a9
meetings:WPR warranty exit, custom-row close + show-all last week, Add-Row gating, note draft autosave (#276)
- v0.3312Jul 22, 2026Fixed08ba957
specifications:restore spec PDF opening — dedicated file-route branch for SpecSectionRevision (#277)
- v0.3311Jul 20, 2026Fixed65bdbec
drawings:stop viewer pan shake/lock when the whole sheet is visible (#275)
- v0.3310Jul 19, 2026Fixedae32c27
drawings:no-blank viewer — single fit raster, smooth zoom, ref-driven pan (#274)
- v0.3309Jul 19, 2026Fixed2e9d00f
drawings:callout accuracy — stacked-bubble links, circle hotspots, table filter + viewer load priority (#273)
- v0.3308Jul 19, 2026Addedc46e8d9
drawings:sheet-number hyperlinks — detect callouts, clickable viewer hotspots + backfill (#272)
- v0.3307Jul 19, 2026Added6bed975
drawings:revision compare (overlay difference + side-by-side) (#271)
- v0.3306Jul 19, 2026Added9cacd7e
drawings:flush-right mobile viewer header + recently-viewed Back button (#270)
- v0.3305Jul 18, 2026Addedfa8213d
drawings:combined-set PDF download/send, touch viewer, bulk-upload hardening (#269)
- v0.3304Jul 17, 2026Fixed06adde5
schedule:persist remaining duration + editable Dur/Rem Dur inputs + grid keyboard nav (BUG-124) (#268)
- v0.3303Jul 17, 2026Fixed653189b
storage,daily-logs:stop cold-start bucket-create log noise + restore deleted daily-log drafts on recreate (#267)
- v0.3302Jul 17, 2026Fixed9fd14aa
rfis:null history actor on token answers + token loophole hardening (#266)
- v0.3301Jul 16, 2026Fixed4b68a3c
oco:drop Field Change / Paid in Full from OCP details card, taller description box (#265)
- v0.3300Jul 16, 2026Fixedecc8e7e
submittals:auto-advance to Reviewed after workflow edits + manager email (#264)
- v0.3299Jul 16, 2026Added5ede402
sco:DocuSign-driven workflow (Draft -> Final Draft -> Sent -> Executed) (#263)
- v0.3298Jul 16, 2026Added79ed927
timecards:copy prior-period rows into new cards, add-row dialog, iOS submit fix (#262)
- v0.3297Jul 16, 2026Fixed3c66e8e
numbering:retry concurrent number collisions in CIs, OCPs/OCOs, SCOs, daily-log spawns (#260)
- v0.3296Jul 16, 2026Fixed0facca5
meetings:serialize meeting-number assignment with a per-scope advisory lock (#259)
- v0.3295Jul 16, 2026Fixed4c8a76e
change-items:edit the CI manager at any status (#258)
- v0.3294Jul 16, 2026Fixed8b7aca3
meetings:edit details, renumber, make one-offs recurring, delete voided (#257)
- v0.3293Jul 15, 2026Added1bff102
rfis:reviewer workflow editing parity with submittals (#256)
- v0.3292Jul 15, 2026Fixed8985d5e
submittals:delete a clean review round from Edit Workflow (#255)
- v0.3291Jul 15, 2026Fixedbb18379
owner-contracts:edit standard CO markup inline on the contract overview (#254)
- v0.3290Jul 15, 2026Added7c45fd3
change-management:editable-until-sent gates, budget source rules, CI Proceeding reorder, estimated-quantity lines, reopen flows (#253)
- v0.3289Jul 15, 2026Fixed1a0e87a
subcontracts:reconcile dead DocuSign envelopes in void + refresh (BUG-121) (#251)
- v0.3288Jul 15, 2026Fixed828ec7b
subcontracts:void signature request no longer clobbers a completed-webhook race winner (#250)
- v0.3287Jul 15, 2026Added7e23d73
oco:Owner Change Settings — signature config, OCPs-off direct pull, DocuSign envelope management (#252)
- v0.3286Jul 14, 2026Fixed54d96b7
action-items:typeable person pickers + app-wide combobox sweep (#248)
- v0.3285Jul 14, 2026Added6d07de1
meetings:close out WPR custom line items in place (#247)
- v0.3284Jul 14, 2026Added53facc5
action-items:bulk assign firm / person / due date from the list (#246)
- v0.3283Jul 14, 2026Fixed67692b2
api:mirror page-level carve-out scoping on record-serving API routes (#244)
- v0.3282Jul 14, 2026Fixeda0af94e
oco:entering Edit on the proposal Details card crashed the page (#245)
- v0.3281Jul 14, 2026Fixed59ecd11
drawings:OCR fallback no longer crashes the parse function on Vercel (#243)
- v0.3280Jul 14, 2026Fixed7c0dba5
permissions:matrix CSV — subs hold subview, not view-all (#242)
- v0.3279Jul 14, 2026Fixed017a385
drawings:revive sheet detection in production + cleaner titles (#241)
- v0.3278Jul 14, 2026Fixedbd0b1f4
rfis:export every matching row in the RFI list PDF (#240)
- v0.3277Jul 14, 2026Added543e19f
action-items:printable PDF export of the filtered list (#237)
- v0.3276Jul 14, 2026Fixedcf052d3
change-items:editable Details card on the change item detail page (#236)
- v0.3275Jul 14, 2026Fixed130425a
drawings:preselect the set when bulk-uploading from a set's menu (#235)
- v0.3274Jul 11, 2026Addedb371c0d
photos:MP4/MOV video upload with size limits in the gallery (#234)
- v0.3273Jul 11, 2026Addedc630657
action-items:Previous/Next stepping through the filtered list from the detail page (#233)
- v0.3272Jul 11, 2026Fixed63629a0
submittals:removable/replaceable primary file + editable All/Any reviewer mode post-create (#232)
- v0.3271Jul 11, 2026Added0fb6896
bug-reports:edit a report's description from the tracker detail dialog (#231)
- v0.3270Jul 11, 2026Fixed480cab9
safety:daily inspection — member picker maps to action item, N/A counts as reviewed, pinned summary banner (#230)
- v0.3269Jul 10, 2026Addede888c35
submittals:one-click Distribute & Create Revision on R&R/Rejected outcomes (#229)
- v0.3268Jul 10, 2026Fixed3b619c9
time-off:await PTO notification emails so serverless freeze can't drop them (#228)
- v0.3267Jul 10, 2026Added33b373f
team:curated Team roster with multiple Super/PM leads, decoupled from permissions (#227)
- v0.3266Jul 9, 2026Fixed4abf37c
scheduler:in-progress predecessors drive SS/SF off their actual start; render started bars from the actual start (#226)
- v0.3265Jul 9, 2026Added4498f12
team:leadership header + hide general Pencor staff + subcontract parties on roster (#225)
- v0.3264Jul 9, 2026Added40dbef7
team:gate Pencor roles to Pencor employees + add search-by-company to Add Member (#224)
- v0.3263Jul 9, 2026Addede455bf6
subcontracts:change sub signer / manager post-send — void + reopen to Contract Final (#222)
- v0.3262Jul 9, 2026Added591176b
submittals:Edit Workflow available in Draft & Final Draft (#221)
- v0.3261Jul 9, 2026Added27dc7ca
uploads:observation & action-item document files direct-to-Supabase (#220)
- v0.3260Jul 9, 2026Added8b9edea
uploads:direct-to-Supabase for all user files; imports to 4.5MB routes (#219)
- v0.3259Jul 8, 2026Addedaeba51e
bulk status edit + camera photos + budget builder tools + Brandon bug fixes (#217)
- v0.3258Jul 8, 2026Added3cab9c1
DocuSign envelope management + timecard leave rows + insurance/subcontract UX (#216)
- v0.3257Jul 8, 2026Fixed3a5ca8e
meetings:make company meeting-type cards fully clickable with a basic hover (#215)
- v0.3256Jul 8, 2026Added78485fb
projects:Pencor-only date chips + budget over/under chip on project cards (#214)
- v0.3255Jul 7, 2026Fixed67e0aac
schedule:redefine overdue (3 checks vs current date), fix stale-data-date lookahead divergence, Delays button in both schedule modules (#213)
- v0.3254Jul 7, 2026Addedd7c2bac
schedule:schedule enhancements — Daily Log column, overdue tracking, editable actuals & delay register (#212)
- v0.3253Jul 7, 2026Addedd68c3d1
submittals:parallel-safe reviewer answers, Edit Workflow, PDF download, viewer file access (#211)
- v0.3252Jul 7, 2026Addedce10d39
punch-lists:default the assignee from the responsible company (sub → field contact, Pencor → superintendent) (#210)
- v0.3251Jul 7, 2026Added0ebb54a
schedule:Daily Log write-back review fixes, "Daily Log Direct Update" rename, Act Start/Finish columns (#209)
- v0.3250Jul 7, 2026Added78d088e
schedule:tri-state Daily Log write-back — Off / Email approval / On (direct actuals, no reschedule) (#208)
- v0.3249Jul 6, 2026Added5994f14
schedule:per-activity Daily Log column — filters which activities the super reports on (#207)
- v0.3248Jul 6, 2026Added8999eff
schedule:per-project Daily Log schedule-reporting toggle in the Project dialog (#206)
- v0.3247Jul 6, 2026Fixedcdcfe8f
bugs:batch 4 — PO insurance-not-required, photo picker, safety button, team contact cards (#205)
- v0.3246Jul 6, 2026Fixed38167f6
docusign:resend signature reminder via the recipients collection endpoint (#204)
- v0.3245Jul 6, 2026Fixed69a3633
auth:verify reset & invite tokens on submit, not on the link GET (#203)
- v0.3244Jul 6, 2026Fixedcfbfdf9
submittals:reviewer attachment uploads go direct-to-storage (both internal & external) (#202)
- v0.3243Jul 6, 2026Added8d9b701
action-items:optional Contract reference — link a Subcontract or Owner Contract with a clickable number—title chip (#201)
- v0.3242Jul 6, 2026Fixedbd8d8ec
budget:pinning the Description column no longer rescales every column (#200)
- v0.3241Jul 5, 2026Improvedeb34ba6
auth:request-cache permission & Pencor lookups — ~45→~13 queries per page load (#199)
- v0.3240Jul 4, 2026Fixedee2fc18
budget,bugs:column separators, committed-cost contract summary, bug-filter count (#198)
- v0.3239Jul 4, 2026Addeded260c0
budget:user-resizable columns with per-user, per-project persistence (#197)
- v0.3238Jul 4, 2026Fixed24612f1
bugs:batch 2 — submittal register uploads + submitter autofill, trade optional at SENT, draft-OAC meeting delete (#195)
- v0.3237Jul 4, 2026Fixedc0936c5
bugs:batch 1 — RFI attachments direct-to-storage, sortable subcontract list, photo lightbox arrows, wider budget description (#194)
- v0.3236Jul 4, 2026Added26af345
subcontracts:per-signer DocuSign resend while out for signature (#193)
- v0.3235Jul 4, 2026Addedc408c32
photos:daily-log photos live in the gallery (Daily Log album) + drag-and-drop upload (#192)
- v0.3234Jul 4, 2026Added29d1c27
projects:sortable projects list + sticky header on the company People & Project Access matrix (#191)
- v0.3233Jul 3, 2026Added2228449
meetings:WPR flow upgrades — publish-review note context, one-click next-draft, attendee & line-item carry across the series boundary, line-item stage moves, all lanes always visible (#188)
- v0.3232Jul 3, 2026Addedfe7ae4a
meetings:WPR close-out tracks one line item per project — single-thread rows, full-width agenda, collapsed nav rail (#187)
- v0.3231Jul 3, 2026Added0a7f7e4
timecards:admin reminder roster - per-employee opt-out of biweekly reminder emails on the settings page (timecards.settings gated) (#186)
- v0.3230Jul 3, 2026Addedc24ce69
documents:drawing & spec parsing on the vendored pencorDocs engine — sheet/section auto-detection (#184)
- v0.3229Jul 3, 2026Added63a836d
timecards:biweekly reminder emails at 4pm ET on period-end Friday - missing-days reminder or thank-you per employee, secret-guarded cron (#185)
- v0.3228Jul 3, 2026Addedf8c0ebc
meetings:WPR line items carry week-to-week — series auto-attach, add/remove line rows, test-project exclusion (#183)
- v0.3227Jul 3, 2026Fixedbc5c783
projects:admin assignments save reliably — read-only Selects truly disabled + cycle-free BIC notification import (#182)
- v0.3226Jul 3, 2026Added1129f70
meetings:WPR grouped ledger — status-driven stage groups, sticky banner stack, dense rows, live status chips + line action items (#181)
- v0.3225Jul 2, 2026Fixed7129001
action-items:validate source links by direct lookup, not first-20 search scan (#179)
- v0.3224Jul 2, 2026Fixed9714eb8
action-items:automated items show provenance, project, and clickable source links (#178)
- v0.3223Jul 2, 2026Addedf5ec150
meetings:delete open meetings + fix hub type-filter links (#177)
- v0.3222Jul 2, 2026Added6c3060f
contracts:Mark Sent (outside pencorOS) override + pencorOS casing (#176)
- v0.3221Jul 2, 2026Added6ca535b
docusign:full e-signature — owner contracts, subcontracts, SCO/OCP/OCO with AIA documents + anchor tags (#175)
- v0.3220Jul 1, 2026Fixed647a6c2
subcontracts:route FieldContactCard through the shared hardened vCard builder (#174)
- v0.3219Jul 1, 2026Added6e72b9a
directory:user contact card (QR + save + email) and team Company/Phone columns (#173)
- v0.3218Jul 1, 2026Fixede37f1e0
submittals:validate uploadedFiles handles with Zod before create (#172)
- v0.3217Jul 1, 2026Fixedd01d709
submittals:upload attachments via directUpload to bypass 4.5 MB limit (#171)
- v0.3216Jul 1, 2026Fixed6960dac
directory,submittals,subcontracts:BUG-47/54/55 (#169)
- v0.3215Jul 1, 2026Fixedd45507a
subcontracts,directory:BUG-57/58 workflow + BUG-59 company dedup (#168)
- v0.3214Jul 1, 2026Added0cc30da
bug-tracker:bulk list actions + reassign reporter (#167)
- v0.3213Jul 1, 2026Fixeddf8aa12
bug-tracker:sequential BUG-# IDs + openable screenshot attachments (#166)
- v0.3212Jul 1, 2026Fixeddf39924
owner-contracts:direct-upload the contract draft (bypass 4.5 MB limit) (#165)
June 2026
- v0.3211Jun 29, 2026Added96c311f
account:profile menu + external-member project visibility fix (#164)
- v0.3210Jun 29, 2026Addedfb35708
subcontracts:reactivate DocuSign e-signature (#163)
- v0.3209Jun 27, 2026Fixed1d3694a
bell:wire the notification bell on company pages (#161)
- v0.3208Jun 27, 2026Fixed2d4da63
bugs:v5 batch — header/bell, upload crashes, budget fit, My Work (#160)
- v0.3207Jun 27, 2026Added7423635
email:branded layout standardization + RFQ attachments + bug-verify fix (#159)
- v0.3206Jun 26, 2026Fixedfd0df46
email:escape user input in timecard-reject + pricing-received emails (#158)
- v0.3205Jun 26, 2026Fixed3fd84e0
subcontracts:bottom buffer under the subcontracts list (#157)
- v0.3204Jun 26, 2026Added038971a
insurance:subcontract status + critical lens on the insurance hub (#156)
- v0.3203Jun 26, 2026Fixedeb2fd32
email:never dispatch to reserved/test domains + mock Resend in tests (#155)
- v0.3202Jun 26, 2026Fixedac3699d
projects:stop edit-form Save from silently re-activating a project (#154)
- v0.3201Jun 26, 2026Fixed3e71ada
change-items:route $0 and credit (negative) cost lines to Owner/Sub COs (#153)
- v0.3200Jun 26, 2026Addedabdc9c0
action-items:subcontract link shows firm+project; insurance items typed Insurance (#152)
- v0.3199Jun 26, 2026Added0615219
action-items:searchable company/responsible/project filters (#151)
- v0.3198Jun 26, 2026Addedf238b84
insurance:immediate reconcile on cert upload / expiration entry (#150)
- v0.3197Jun 26, 2026Addeddb15b97
insurance:link subcontractor names on the insurance hub to their company page (#148)
- v0.3196Jun 26, 2026Addede2abfb2
insurance:inline COI expiration field under the COI on Company Details (#146)
- v0.3195Jun 26, 2026Addedc3dec6e
subcontracts:link the subcontractor name to its company directory page (#145)
- v0.3194Jun 26, 2026Addedd0bf7eb
insurance:compliance hub, auto-approval, daily expiry scan + cascade (#144)
- v0.3193Jun 26, 2026Fixed57ec2b0
subcontracts:number regen on type change, combobox scrollbar + list scroll (#143)
- v0.3192Jun 25, 2026Added50d49d0
budget:drag-to-reorder column editor + table readability (#142)
- v0.3191Jun 25, 2026Addedb5b7518
subcontracts:show a paperclip document chip on the workflow stepper (#141)
- v0.3190Jun 25, 2026Added12d18e7
subcontracts:notify Contract/Insurance Admin (or the pool) when they become Ball in Court (#140)
- v0.3189Jun 25, 2026Fixed4efc889
subcontracts:show all attached files on the Documents tab + separate the executed contract (#139)
- v0.3188Jun 25, 2026Fixed1d144ee
auth:raise invite & magic-link expiry to the 24h Supabase maximum (#138)
- v0.3187Jun 25, 2026Addeddccaa9c
directory:external users can view their own company roster (OS-26) (#134)
- v0.3186Jun 24, 2026Addedf5f2b9d
contracts:PO PDF export, status step-back, sub-PM card, whole-dollar money inputs (OS-23/24/25/27) (#133)
- v0.3185Jun 24, 2026Added0df63a8
subcontracts:buyout-template bulk-create (OS-10) + draft/final-draft delete (#132)
- v0.3184Jun 24, 2026Addede1a1b96
cost-codes:searchable cost-code picker across CI/SCO/OCO grids + owner SOV (OS-09 PR 3/3) (#131)
- v0.3183Jun 24, 2026Addeda9599a2
cost-codes:searchable cost-code picker — shared component + Budget migration (OS-09 PR 1/3) (#129)
- v0.3182Jun 24, 2026Added376e0e8
bug-reports:sortable tracker columns + reporter self-close via tokenized email (OS-22) (#128)
- v0.3181Jun 24, 2026Added8b57e2f
company Abbreviated Name field + Closeouts route stub (OS-16, OS-18) (#127)
- v0.3180Jun 23, 2026Addedb031fa4
owner-contracts:wet-signed Draft→Executed, whole-dollar values, and OCP/OCO audit fixes (OS-19/20/21) (#126)
- v0.3179Jun 23, 2026Fixed9b5814b
PTO approvals tab + committed-cost, draft-edit, and date-display defects (OS-01/02/03/06/08) (#125)
- v0.3178Jun 23, 2026Addedaf5b7d6
bug-reports:dev-only bug tracker — status/priority triage, verify-fix email, manual entry (#124)
- v0.3177Jun 23, 2026Fixed1d2a930
projects:inherit default role on project-create + permission-filter the project nav (#123)
- v0.3176Jun 23, 2026Addedacf70b2
punch-list:server-rendered PDF print (filter/sort-aware, 3 items/page with photos) (#122)
- v0.3175Jun 23, 2026Added029f6a7
punch-list:mobile-first punch list module — 3 phase-lists, photos, each item an action item (#121)
- v0.3174Jun 22, 2026Addedf29903e
budget:budgeted/unbudgeted cost-code pickers on Budget Transfer From/To (#120)
- v0.3173Jun 22, 2026Addedf57db3c
directory:bulk user role edit + import default role Viewer (not Project Engineer) (#118)
- v0.3172Jun 22, 2026Addedb3cec9e
directory:Procore CSV user import + merge/replace resolution, company search, change-history audit (#117)
- v0.3171Jun 22, 2026Fixede9ce044
directory:show 0-contact firms in By-Company view + hide toggle (#116)
- v0.3170Jun 22, 2026Added424c1c0
companies:bulk company import from CSV with merge/ignore/replace (directory.admin) (#115)
- v0.3169Jun 22, 2026Added583b9f7
meetings:meetings module (project + company) — agendas, carry-forward minutes, action items, recurring series (#113)
- v0.3168Jun 20, 2026Added29eb183
photos:per-photo tags + description editing, and a tag filter box (#110)
- v0.3167Jun 20, 2026Addedfc0b9cd
photos:project photo gallery — albums, date tree, camera/upload, thumbnails (#109)
- v0.3166Jun 20, 2026Added3dd64d9
timecards:PTO permission model, auto-open pay periods, anchor fix + UI cleanup (#108)
- v0.3165Jun 20, 2026Fixede1599da
land Inspections, Timecards & PTO onto main (#104/#105/#106 mis-merged into stacked bases) (#107)
- v0.3164Jun 20, 2026Addedb1059ce
daily-logs:Daily Log module — activities, delays, manpower, weather, schedule-update approval (#103)
- v0.3163Jun 19, 2026Added897d6dc
projects:assign Superintendent + Project Manager (create dialog + editable detail card) (#102)
- v0.3162Jun 19, 2026Addeda1657d6
safety:daily-safety U items create action items in REVIEW status (#101)
- v0.3161Jun 19, 2026Fixed76f6c1e
safety:show real numbers on the Safety hub (drop placeholder counts) (#100)
- v0.3160Jun 19, 2026Fixed4d98038
submittals:widen the New Submittal dialog to match New RFI (#99)
- v0.3159Jun 19, 2026Fixedc47a935
submittals:scrollable token respond page + Current Reviews card (#98)
- v0.3158Jun 19, 2026Addedadd42e0
safety:show the inspector (performing user) on daily safety inspections (#97)
- v0.3157Jun 19, 2026Added5765bcb
safety:Daily Safety Inspections module (checklist, action items, photos) (#96)
- v0.3156Jun 19, 2026Fixedafee384
safety:Incident Reports card metric shows open count (#95)
- v0.3155Jun 19, 2026Added758993f
safety:Safety module hub page (Field Docs) (#94)
- v0.3154Jun 18, 2026Added2bba685
ui:responsive project header nav + view-only schedule polish (#92)
- v0.3153Jun 18, 2026Added50d9852
observations:Observations module — groups action items, PDF packet + print-to-email, settings (#89)
- v0.3152Jun 18, 2026Added2bcf2e7
action-items:priority field + full-field create dialog (photos/files) (#87)
- v0.3151Jun 18, 2026Added639497e
action-items:new Action Items module — project + company surfaces, cross-module spawn API (#86)
- v0.3150Jun 17, 2026Fixedaa6200b
schedule:fit keeps row height; consolidate column views into the Columns dialog (#85)
- v0.3149Jun 17, 2026Added5bc43f2
schedule:add per-user date format selector in the Columns dialog (#84)
- v0.3148Jun 17, 2026Addedd41a044
schedule:persist user theme per-account (follows across devices/sessions/projects) (#83)
- v0.3147Jun 17, 2026Fixed2f748f5
schedule:per-user view (incl. header height) persists in read-only view mode (#82)
- v0.3146Jun 17, 2026Added9ac64e5
schedule:add header band-height option (transfers to PDF) (#81)
- v0.3145Jun 17, 2026Fixed59948da
schedule:PDF header shows Data Date + Current Date (M/D/YYYY) (#80)
- v0.3144Jun 17, 2026Added6a2977b
schedule:company-global calendars + group categories, per-user-per-project views, copy-calendar + chips fix (#79)
- v0.3143Jun 16, 2026Added3f77568
schedule:add header text size + bold; gate gantt row-line on sight-lines toggle (#78)
- v0.3142Jun 16, 2026Fixed9445ff7
schedule:correct print/PDF rendering — colors, row height, window, dots, sight lines, logo (#77)
- v0.3141Jun 16, 2026Fixed8fe5726
drawings:sync thumbnail pan/zoom on the upload labeling page + pre-fill name on revisions (#76)
- v0.3140Jun 16, 2026Fixed5c8a112
schedule:re-tie the .xer import to the save schema; fix lite panel resize + header overlap (#75)
- v0.3139Jun 15, 2026Fixed2ad6d90
directory:inherit the user's default role when adding them to a project (#74)
- v0.3138Jun 15, 2026Addedaeb156a
profile:header initials chip linking to self profile, help chip, and self-edit (#73)
- v0.3137Jun 15, 2026Addedb2b3271
projects:add Due Diligence, Entitlement & Design statuses (#72)
- v0.3136Jun 15, 2026Fixed88ab28f
directory:require a valid email before enabling Add User (#71)
- v0.3135Jun 15, 2026Fixed6dae6f1
schedule:scale PDF bar-label font to the print row pitch (was oversized) (#70)
- v0.3134Jun 14, 2026Added3be5f9b
schedule:Gantt header color pickers, Schedule Guide tab, wheel-to-scroll (Ctrl+wheel zoom), light-theme button fixes (#69)
- v0.3133Jun 14, 2026Fixeda1926e3
schedule:data-date drag tracks the cursor 1:1 + re-draggable proposed line; topbar polish (badge by save-status, black Run) (#68)
- v0.3132Jun 14, 2026Addedecd28c3
schedule:PDF renderer overhaul (full style transfer + header/footer/legend), table-only group bands, unselectable gantt, current-date chip (#67)
- v0.3131Jun 14, 2026Addeddabeae3
schedule:gantt UX batch — category bar labels, past-fit zoom, group-inherit add, arrow cell nav, non-work shade toggle (#66)
- v0.3130Jun 14, 2026Addede3a2e8f
schedule:reorderable group categories/values + group-label options (#64)
- v0.3129Jun 14, 2026Addedd4038e9
schedule:Enter on a selected activity edits its name (#63)
- v0.3128Jun 14, 2026Fixedd890fd8
schedule:restore three-zone topbar so center buttons never shift (#62)
- v0.3127Jun 14, 2026Fixed92af19b
schedule:timescale fills the pane when zoomed out (no blank gutter) (#61)
- v0.3126Jun 14, 2026Addedaaa38dc
schedule:keyboard add/delete, hover relationship ports + drag-to-link, single DD label (#60)
- v0.3125Jun 14, 2026Fixed2153abf
schedule:pin the save-status chip width so the toolbar stops shifting (#59)
- v0.3124Jun 14, 2026Fixedf7d046d
schedule:embed UX + stuck-saving hardening (follow-ups to #57) (#58)
- v0.3123Jun 14, 2026Added1413a66
schedule:embed pencorTrak as the pencorOS schedule module (#57)
- v0.3122Jun 11, 2026Added4a4eeac
rfis:reviewer respond-flow fixes + Responsible Contractor on RFI & Submittal (#56)
- v0.3121Jun 11, 2026Addedf8abb80
ui:Pencor Design System + DetailPageShell — SCO is the first migrated module (#55)
- v0.3120Jun 10, 2026Fixedba931b7
change-items:subcontract number inline after the subcontractor name — clickable, wraps (#54)
- v0.3119Jun 10, 2026Fixed7e2fdd8
auth:close missing permission gates found by the full-repo role-gate audit (#53)
- v0.3118Jun 10, 2026Fixed106a3b5
change-items:right-align Link column + center Xfer/Fcst flag checkboxes (#52)
- v0.3117Jun 10, 2026Added1e598da
change-items:ROM holds the line amount — auto-fills from qty × rate, Subtotals column removed (#51)
- v0.3116Jun 10, 2026Fixed4b7c632
oco:markup flows contract→OCP→OCO + Pending OCO advance rolls into a real order (#50)
- v0.3115Jun 10, 2026Added2725110
change-orders:end-to-end change-order lifecycle — detail-page parity, budget drill-downs, contract rollups (#49)
- v0.3114Jun 10, 2026Addedc093d63
change-items:double-row cost-lines grid (Budget/Costs stacked rows) (#48)
- v0.3113Jun 9, 2026Fixed993bd70
change-items:compact cost-lines grid + drop RFI-header New Change Item stub (#47)
- v0.3112Jun 9, 2026Fixed11db631
team:project roles are read-only on the Team page — edit via Directory only (#46)
- v0.3111Jun 9, 2026Fixede41b766
directory:persist the Add User dialog's Default role as the user's defaultProjectRole (#45)
- v0.3110Jun 9, 2026Fixed1163dad
budget:lock freezes only the Original Budget column — forecasting stays available (#44)
- v0.3109Jun 9, 2026Addedb0dc337
oco-sco:2-column detail pages for OCP, OCO, and SCO; CI grid number input polish (#43)
- v0.3108Jun 9, 2026Added1545523
change-items:CI detail page rework — 2-col layout, edit-mode grid, Type-gated Open, forecast record view (#42)
- v0.3107Jun 8, 2026Addeddd1518d
budget:budget transfers permanently lock the budget (edits frozen, transfers stay open) (#41)
- v0.3106Jun 8, 2026Addedc01402e
change-items:CI/OCP detail refinements — stepper, real budget tools, OCP PCO fields, attachments (#40)
- v0.3105Jun 8, 2026Added9260071
change-items:pull-based provenance breakout + cost-line grid + OCO batch (#39)
- v0.3104Jun 8, 2026Fixedaf9d85d
change-items:show subcontractor name in Add Cost Line subcontract picker (#37)
- v0.3103Jun 8, 2026Added1338b43
owner-contracts:use UserCombobox for signers in Send Contract dialog (#36)
- v0.3102Jun 8, 2026Fixedbe2b2d4
subcontracts:Send-for-Signature in stepper header + contract-PDF upload at Contract Final (#35)
- v0.3101Jun 8, 2026Fixed769a900
owner-contracts:add contract-draft upload at Final Draft; drop 'scope sheet' wording (#34)
- v0.3100Jun 7, 2026Added0d35f17
users:bulk import users from .xlsx (Project/Pencor Admin only) (#33)
- v0.3099Jun 7, 2026Fixed11a4bd6
projects:relax admin id validators from .cuid() to .min(1) (#32)
- v0.3098Jun 7, 2026Addedf4d3978
users:add an 'Add User (No email)' option to the create-user dialog (#30)
- v0.3097Jun 7, 2026Fixed517123b
subcontracts:show the signed-copy PDF drag box at SENT for any editor (#28)
- v0.3096Jun 7, 2026Added42f63fa
change-items:DRAFT-only row delete for change items, OCOs, SCOs (#27)
- v0.3095Jun 7, 2026Addedeb08624
budget:Budget Transfer tool (Change Item Management target #4) (#26)
- v0.3094Jun 6, 2026Addedcb81557
change-items:CI-locked forecast / Proceeding flow (target #3.5) (#25)
- v0.3093Jun 6, 2026Added8140215
sco:build the Subcontract Change Orders module (target #3) (#24)
- v0.3092Jun 6, 2026Addedc5af3dc
oco:build the Owner Change Orders module (target #2) (#23)
- v0.3091Jun 6, 2026Added2a7d206
change-items:build the Change Items module (target #1) (#22)
- v0.3090Jun 5, 2026Added3bd010c
nav:Timecards company module + company side tools for all Pencor staff (#18)
- v0.3089Jun 5, 2026Added883066f
permissions:company-level access, derivative financials nav + RBAC consolidation (#17)
- v0.3088Jun 5, 2026Fixedb022a85
auth:repair invite & reset links via server-side token_hash verifyOtp
- v0.3087Jun 2, 2026Added3642d24
drawings:void sheets via hard-delete + append-only audit log (#12)
- v0.3086Jun 2, 2026Addedf259b58
security:finish auth/permission hardening — gate all built-module privileged actions (#11)
- v0.3085Jun 2, 2026Added218543b
drawings:void = hard-delete sheet + append-only VoidedDrawingLog
- v0.3084Jun 1, 2026Fixed8dd6690
email:resolve outbound link origin via getAppUrl() so links are always live (#10)
May 2026
- v0.3083May 31, 2026Added43c03da
users:edit-lock User Details + Resend Invitation in header
- v0.3082May 31, 2026Addedeeff999
users:strict-outrank rule for active toggle + Pencor Dev guard
- v0.3081May 31, 2026Fixed504f9b2
users:fall back to magiclink when invite-type rejects existing auth users
- v0.3080May 31, 2026Fixed917f6f6
directory:make Add Company button blue (default variant)
- v0.3079May 31, 2026Added93e08b1
directory:Add Company button next to Add User
- v0.3078May 31, 2026Fixed4de875d
companies:drop redundant Building2 icon next to company name
- v0.3077May 31, 2026Addedacb65df
companies:drag-and-drop logo frame left of the company title
- v0.3076May 31, 2026Fixed5328b14
companies:hide required-* on locked Company Basic Info
- v0.3075May 31, 2026Added14c2ab3
companies:collapse whitespace between users and project columns
- v0.3074May 31, 2026Addedee05480
companies:left-justify cells in the user×project matrix
- v0.3073May 31, 2026Addeddd17017
companies:tighten project access matrix — narrower columns, 2-line role labels
- v0.3072May 31, 2026Added201d6ec
companies:user×project access matrix + read-only-by-default Basic Info
- v0.3071May 31, 2026Added393b47c
users:rebuild Add User dialog + Resend-based invite + per-company Add-User entry
- v0.3070May 31, 2026Fixedf589211
lint:drop unused imports and dead vars blocking docs-centralization merge
- v0.3069May 31, 2026Fixed8564eb8
lint:drop unused imports and dead vars blocking docs-centralization merge
- v0.3068May 31, 2026Added61a0d74
projects:show owner-contract dates + full address on project cards
- v0.3067May 31, 2026Addedb0f8319
in-app bug reporter with screenshot upload + email
- v0.3066May 31, 2026Addedf043d74
changelog panel on login + /changelog public page
- v0.3065May 31, 2026Addeda7afd54
large-file uploads, drawing viewer Back-to control, spec set management
- v0.3064May 31, 2026Fixed109e156
meta:lowercase browser title to "pencorOS"
- v0.3063May 31, 2026Fixed7b03c40
ci:add DIRECT_URL env var for Prisma migrate deploy
- v0.3062May 31, 2026Fixed6da0be7
ci:reword "Contact" in custom-login README to pass docs linter
- v0.3061May 31, 2026Fixed4b78b6d
login:update tagline to "the operating system for Pencor Construction"
- v0.3060May 31, 2026Fixedb9bc722
login:wrap "//"-prefixed tagline as a string expression
- v0.3059May 31, 2026Added99a054f
login:redesign sign-in screen to cover + roadmap design
- v0.3058May 30, 2026Fixedba07819
ci:unbreak ESLint flat config under Node 24 / ESLint 9.39
- v0.3057May 30, 2026Fixed3932046
auth:hard-navigate after login/set-password + allow /auth callback unauthenticated (fixes Supabase login bounce)
- v0.3056May 30, 2026Fixed591d422
build:exclude .next/cache + public/uploads from serverless tracing
- v0.3055May 30, 2026Fixed210ddbd
owner-contracts:make getPencorCompanyId deterministic + pin test contractor to own company (kills shared-DB flake)
- v0.3054May 30, 2026Fixeda9749e3
build:force-dynamic on (dashboard) layout so auth-gated pages aren't prerendered
- v0.3053May 30, 2026Fixed277e9d0
build:rename useSupabaseStorage off the use* prefix (rules-of-hooks) + prefer-const in company test
- v0.3052May 30, 2026Fixeda6436d4
rfis:add key to sendButton in EditableQuestion to silence React key warning
- v0.3051May 30, 2026Fixedfbae609
rfis:widen New RFI dialog to prevent horizontal scroll from long attachment names
- v0.3050May 30, 2026Added2012279
permissions:gate directory pages/nav (view + carve-outs) + matrix editor
- v0.3049May 29, 2026Added1645e39
permissions:gate directory company actions + admin roster
- v0.3048May 29, 2026Addeda7a1326
permissions:gate directory user actions + role-assignment ladder
- v0.3047May 29, 2026Addede8f9f4a
permissions:UI gates for drawings/specs detail actions
- v0.3046May 29, 2026Addeda4e0b66
permissions:gate submittal create/edit/settings (+ rfi.settings)
- v0.3045May 29, 2026Addedf191cae
permissions:gate drawing-set delete (drawings.void)
- v0.3044May 29, 2026Addedd5cec18
permissions:gate specifications upload/edit/delete
- v0.3043May 29, 2026Added7935223
permissions:gate drawings upload/edit (drawings.upload / drawings.edit)
- v0.3042May 29, 2026Added6956b8a
permissions:gate subcontract create/edit (subcontract.create / .manage)
- v0.3041May 29, 2026Addedb2de862
permissions:gate project settings edit (project.settings)
- v0.3040May 29, 2026Added120fd5a
permissions:gate project settings edit (project.settings)
- v0.3039May 29, 2026Added889ae06
permissions:gate project settings edit (project.settings)
- v0.3038May 29, 2026Added8dd2d70
permissions:gate owner-contract create/edit (ownerContract.create / .manage)
- v0.3037May 29, 2026Added11267b6
permissions:gate RFI create/edit (rfi.create / rfi.edit)
- v0.3036May 29, 2026Addedcf50e61
permissions:gate contract terminal transitions (owner/subcontract .manage)
- v0.3035May 29, 2026Added881d277
permissions:gate budget settings (budget.settings)
- v0.3034May 29, 2026Added86f771a
permissions:gate budget lock/admin + edits (budget.admin/manage)
- v0.3033May 29, 2026Added02b7582
permissions:gate owner-contract execution/signature (ownerContract.sign)
- v0.3032May 29, 2026Addedc32d806
permissions:gate SSOV submit/approve (subcontract.subview/manage)
- v0.3031May 29, 2026Addedd56e290
permissions:gate subcontract SENT/EXECUTED (subcontract.sign)
- v0.3030May 29, 2026Fixed12e2214
perms:creator may delete own DRAFT (RFI + submittal)
- v0.3029May 29, 2026Added2c4c0ee
permissions:gate RFI + Submittal void/distribute
- v0.3028May 29, 2026Added2f30f70
auth:Pencor Dev capability + dev-mode toggle (replaces NODE_ENV gate)
- v0.3027May 29, 2026Added77ffd36
auth:membership-based requireProjectAccess + creator membership
- v0.3026May 29, 2026Addedb5efd74
permissions:companyRole + hasPermission (Option A, isPencor gate + carve-outs)
- v0.3025May 29, 2026Added847eef5
permissions:rebuild role matrix (16 roles · 143 keys · 30 modules)
- v0.3024May 29, 2026Fixeda03d14c
seed:correct name of internal user "Jared Phillips" to "Jared Penny" in seed data
- v0.3023May 29, 2026Addedd215160
directory:enhance user management with invite functionality and Pencor employee support
- v0.3022May 27, 2026Fixedbb917ce
documents:use plain <a> for Box OAuth start link
- v0.3021May 27, 2026Fixed040b596
subcontracts:allow empty subCompanyId at create
- v0.3020May 27, 2026Added4c9aa40
subcontracts:SendForSignatureButton with proactive missing-fields dialog
- v0.3019May 27, 2026Addedffc97d9
subcontracts:enforce SENT preconditions + preemptive SCO gate
- v0.3018May 27, 2026Addedb0d9eeb
subcontracts:standalone EditFieldPocDialog (not status-gated)
- v0.3017May 27, 2026Added726531e
subcontracts:only number + title required at create
- v0.3016May 27, 2026Fixed302a778
specifications:set workerSrc placeholder so pdfjs v5 doesn't throw
- v0.3015May 27, 2026Added6fa9b96
subcontracts:Card refactor + cost-code combobox uses shared primitive
- v0.3014May 27, 2026Addedcfdfccb
ui:UserCombobox always shows 'Add User' (in-place user creation)
- v0.3013May 27, 2026Fixedc5378bf
lint:escape apostrophes and quotes in subcontracts JSX strings
- v0.3012May 27, 2026Added880416d
budget:wire Group Totals + Unbudgeted/Uncoded + Collapse toolbar controls
- v0.3011May 27, 2026Addedf7bd229
budget:add Unbudgeted/Uncoded virtual-top toggles (default on)
- v0.3010May 27, 2026Added925e6ce
masterformat:sync labels with updated PDF (1995 17-19, 2004 00 reverted)
- v0.3009May 27, 2026Added1c498f3
budget:per-group summary rows + collapse + 'uncoded' sentinel sort
- v0.3008May 27, 2026Added4186e2c
budget:collapse chevron component (URL-driven toggle)
- v0.3007May 27, 2026Fixed220f1a8
budget:unify grand total into body table for pixel-perfect alignment
- v0.3006May 27, 2026Added1bd8667
budget:collapse-all / expand-all buttons
- v0.3005May 27, 2026Added904ba7d
budget:BudgetGroupTotalsToggle client component
- v0.3004May 27, 2026Addedea5fdfd
masterformat:rename division 00 to 'General Conditions' (Pencor convention)
- v0.3003May 27, 2026Addedee01acf
budget:sumBucket helper for per-group currency totals
- v0.3002May 27, 2026Added1cd3863
budget:parse groupTotals + collapsed URL params
- v0.3001May 27, 2026Addedd136d33
budget:resolve division labels at render time via MasterFormat lookup
- v0.3000May 27, 2026Improvedb4a592f
budget:keep masterFormatVersion lookup parallel in getBudgetView
- v0.2999May 27, 2026Added8592983
budget:expose masterFormatVersion on BudgetView
- v0.2998May 27, 2026Addeda4d7c89
cost-codes:derive division from code prefix during CSV import
- v0.2997May 27, 2026Added45cf4c0
cost-codes:auto-derive division on updateCostCode when code changes
- v0.2996May 27, 2026Added9c952ec
cost-codes:auto-derive division prefix in createCostCode
- v0.2995May 27, 2026Added058417e
cost-codes:restrict CostCode.division to 2-digit prefix (Zod)
- v0.2994May 27, 2026Addedacf2840
masterformat:static division lookup tables + helpers (1995/2004)
- v0.2993May 27, 2026Added6b35db8
subcontracts:Send-Back-with-Comments workflow (manager/contract-admin) + Insurance Reject
- v0.2992May 27, 2026Fixede2987a5
contracts:BIC clears once in-force; badges/ribbon show '—'; drop duplicate Executed chip
- v0.2991May 27, 2026Added67502ca
subcontracts:signed-copy drop zone at SENT + BIC band + terminal status menu
- v0.2990May 27, 2026Added85847d9
subcontracts:dev tools card — walk workflow without auth or files
- v0.2989May 27, 2026Addedc9231c7
subcontracts:nullable status actor + drop legacy companyId + versioned scope sheets
- v0.2988May 27, 2026Added30cd82b
Field POC column, project admin assignments, budget popup links, UI polish
- v0.2987May 27, 2026Addeda03f957
subcontracts:SCOPE_FINAL panel matches Owner Contract layout + expand edit permissions
- v0.2986May 27, 2026Addedfe4005b
subcontracts:scope-sheet drag-and-drop + Parties & Team relocation
- v0.2985May 27, 2026Added078959a
subcontracts:Scope Final manager review — send back, advance, edit
- v0.2984May 27, 2026Added013f75d
subcontracts:full Edit dialog on title card while in SCOPE_DRAFT (creator-gated)
- v0.2983May 27, 2026Added8220d28
subcontracts:Edit cost-code allocation from the Financials card
- v0.2982May 26, 2026Fixed97b4504
subcontracts:drop redundant Executed row + humanize Status in Workflow Summary
- v0.2981May 26, 2026Addedf5b1556
budget:click-through Committed Costs cell — per-subcontract breakdown dialog
- v0.2980May 26, 2026Added7ed4d9a
budget:committed costs now sourced from Subcontract.ContractLineItem + virtual rows
- v0.2979May 26, 2026Addedbc75af5
subcontracts:New dialog reworked — Contract Value + Cost Code Allocation + UnBudgeted picker
- v0.2978May 26, 2026Added0e43afe
subcontracts:split SSOV from cost allocation — new SSOVLineItem table
- v0.2977May 26, 2026Added6865884
subcontracts:server-rendered PDF export — matches RFI pattern
- v0.2976May 26, 2026Fixed72c5dd8
subcontracts:getProjectCostCodes — use isActive, not notDeleted()
- v0.2975May 26, 2026Fixeda1994fa
subcontracts:split numbering.ts so client components can import TYPE_ABBR
- v0.2974May 26, 2026Fixed1adc0b2
schemas:codebase-wide sweep of z.string().cuid() → z.string().min(1)
- v0.2973May 26, 2026Fixed4b472bd
subcontracts,companies:relax ID validators from .cuid() to .min(1)
- v0.2972May 26, 2026Addede0a8836
subcontracts:P8b SSOV tab UI — line editor + submit/approve flow
- v0.2971May 26, 2026Addeda0fa02b
subcontracts:P8a SSOV data layer — submit/approve/request-revisions
- v0.2970May 26, 2026Added30fa155
subcontracts:P7 detail page — colored title card, stepper, tabs, insurance buttons
- v0.2969May 26, 2026Added21e9b26
subcontracts:P6 list page — table + cards + customizer + print + create dialog
- v0.2968May 26, 2026Addedfdfb764
companies:P5 — Contract / Insurance Admin pickers on Company Details
- v0.2967May 26, 2026Added4452fef
subcontracts:P4 actions — CRUD, transitions, insurance gate, settings
- v0.2966May 26, 2026Added02048c2
subcontracts:P3 types + Zod schemas + queries + two-barrel exports
- v0.2965May 26, 2026Addedbf5d5a8
subcontracts:P2 pure logic — bic, transitions, numbering, readiness
- v0.2964May 26, 2026Addeda123661
subcontracts:P1 schema migration
- v0.2963May 26, 2026Fixedf9c42b6
documents:link to existing Box folder when name matches instead of crashing
- v0.2962May 26, 2026Addeda475188
budget:downloadable CSV template in import dialog
- v0.2961May 26, 2026Addeda860184
budget:print/pdf + rest api + docs
- v0.2960May 26, 2026Addedb8982a0
budget:settings page
- v0.2959May 26, 2026Added5aaf764
budget:lock/unlock + integration doc
- v0.2958May 26, 2026Added952c98a
budget:csv + template import dialogs
- v0.2957May 26, 2026Fixed9728be5
budget:forecast dialog shows $0 when item list is empty
- v0.2956May 26, 2026Fixedf7303d9
budget:AUTO forecast create no longer crashes the dialog
- v0.2955May 26, 2026Addedc6764b9
budget:cost forecast dialog + inline cell
- v0.2954May 26, 2026Fixed1577458
budget:pre-format Builder initialRows to plain DTO
- v0.2953May 26, 2026Fixed62443fd
budget:widen Builder Mode input columns
- v0.2952May 26, 2026Addedb3b0fab
budget:builder mode spreadsheet entry
- v0.2951May 26, 2026Added6f6863d
budget:read-only view + sticky grand total
- v0.2950May 25, 2026Addedda2d9ac
budget:forecast items + evaluator
- v0.2949May 25, 2026Added1b4478c
budget:module backend + column derivation
- v0.2948May 25, 2026Added1224cfd
cost-codes:import + preview the division column
- v0.2947May 25, 2026Addeda8e8faa
cost-codes:add downloadable CSV template + link in import dialog
- v0.2946May 25, 2026Added52519c6
cost-codes:drop seeded codes/templates + add CSV export button
- v0.2945May 25, 2026Addede3ad035
cost-codes:company settings pages
- v0.2944May 25, 2026Added1768828
cost-codes:module backend + CSV import
- v0.2943May 25, 2026Added683afa3
schema:budget module + company-scoped cost codes
- v0.2942May 25, 2026Fixed3f75e20
specifications:use unknown instead of any for pdfjs worker module (CI lint)
- v0.2941May 25, 2026Fixedd709ef9
deps:regenerate package-lock.json — resolve missing @testing-library/dom transitive deps
- v0.2940May 25, 2026Added3fda423
owner-contracts:Send Contract dialog (signers) + Manual Upload Signed Copy
- v0.2939May 25, 2026Added1afb21b
owner-contracts:status-aware execution stepper buttons
- v0.2938May 25, 2026Fixeda6563d6
specifications:set pdfjs worker via globalThis instead of pathToFileURL (Next server bundling)
- v0.2937May 25, 2026Fixede374cc8
owner-contracts:list page ignores unknown status URL params (handles stale bookmarks from pre-rename)
- v0.2936May 25, 2026Addedfce664e
owner-contracts:rename status enum — Scope/Contract lifecycle + RFI-style stepper
- v0.2935May 25, 2026Added399537c
owner-contracts:Draft Contract button in execution stepper (PDF upload placeholder)
- v0.2934May 25, 2026Added5237728
owner-contracts:SOV tab — add Set Contract Original button + inline quick-fix in mismatch banner
- v0.2933May 25, 2026Addeda919712
owner-contracts:Contract Execution stepper at top of Workflow card
- v0.2932May 25, 2026Added7dd6c2f
user-combobox:auto-flip dropdown direction based on viewport space
- v0.2931May 25, 2026Added4c9768a
owner-contracts:two-column Overview tab (left: Workflow + Value · right: General + Parties)
- v0.2930May 25, 2026Addedef877e0
owner-contracts:PartiesCard uses UserCombobox + move Workflow card to top of Overview
- v0.2929May 25, 2026Fixed2473447
owner-contracts:PartiesCard architect edit — use __none__ sentinel + allow clearing
- v0.2928May 25, 2026Fixed72abb31
owner-contracts:drop onJump* function props (cross server/client boundary)
- v0.2927May 24, 2026Fixede49f8b0
owner-contracts:move parseTab + ContractTabValue out of 'use client' file so server pages can call it
- v0.2926May 24, 2026Added669e62e
owner-contracts:add OC SeqNumChip to NewOwnerContractDialog
- v0.2925May 24, 2026Addeda857e35
owner-contracts:swap Owner picker to UserCombobox + inline NewUserInlineDialog
- v0.2924May 24, 2026Fixed11f2c98
owner-contracts:drop cuid() constraint on PartyRef IDs so non-cuid seed/legacy IDs work
- v0.2923May 24, 2026Fixed6dcb3e1
projects:make Project Details card read-only by default with Edit toggle
- v0.2922May 24, 2026Fixed0ae1039
owner-contracts:post-review fixes — use ALLOWED_TRANSITIONS, soft-delete filter on COs, explicit lockReason fallback
- v0.2921May 24, 2026Addedf834414
owner-contracts:OwnerContractsListShell + rewrite list page (cards/table toggle, filters)
- v0.2920May 24, 2026Added6971315
owner-contracts:OwnerContractCard + OwnerContractsTable (list-view presentational)
- v0.2919May 24, 2026Added0760ee3
owner-contracts:NewOwnerContractDialog — title + owner picker + amount + description (auto-numbered)
- v0.2918May 24, 2026Fixedd0bd4d1
owner-contracts:include uploadedBy on getPrimaryContractFile so DocumentsTab shows real uploader name
- v0.2917May 24, 2026Added947c8e2
owner-contracts:rewrite detail page — ContractHeader + URL-driven tabs
- v0.2916May 24, 2026Added18ca159
owner-contracts:ContractTabs — URL-driven tabs (?tab=…) + parseTab helper
- v0.2915May 24, 2026Added42dbaee
owner-contracts:ContractHeader — hero + status/executed/BIC badges + actions kebab
- v0.2914May 24, 2026Added0b6b2bc
owner-contracts:export tab components from module barrels (Documents, History, ChangeOrders, Billing) and new types
- v0.2913May 24, 2026Added6568ad2
owner-contracts:HistoryTab — status transition log
- v0.2912May 24, 2026Fixedfae3887
owner-contracts:DocumentsTab — reset file input after upload so same file can be re-selected
- v0.2911May 24, 2026Added6fe8198
owner-contracts:DocumentsTab — primary PDF + other attachments + set-as-primary
- v0.2910May 24, 2026Fixed92e184b
owner-contracts:BillingTab — use shadcn Button link variant
- v0.2909May 24, 2026Added5dcff3c
owner-contracts:ChangeOrdersTab + BillingTab placeholders (live data where available)
- v0.2908May 24, 2026Addedaa3b9e5
owner-contracts:export SovTableRow + SovTab from barrel
- v0.2907May 24, 2026Added956b6d2
owner-contracts:SovTab — full SOV feature (edit mode, lock, validation, seeding, cost code toggle)
- v0.2906May 24, 2026Addedaa1054a
owner-contracts:SovTableRow primitive (read/edit modes, negative-revisions style)
- v0.2905May 24, 2026Added15f29b5
owner-contracts:OverviewTab — General Info + Financials + Parties + Workflow
- v0.2904May 24, 2026Addeda8de9a9
owner-contracts:export ContractFinancialsCard and WorkflowSummary from module barrel
- v0.2903May 24, 2026Added14f0528
owner-contracts:WorkflowSummary card (live signatures + placeholder approvals)
- v0.2902May 24, 2026Added9080544
owner-contracts:ContractFinancialsCard (Original + Approved COs + Revised summary)
- v0.2901May 24, 2026Addede00d0b7
owner-contracts:PartiesCard component (inline-edit party slots, XOR preserved)
- v0.2900May 24, 2026Added0cec96c
owner-contracts:getContractWorkflowSummary query (pending signatures + placeholder counts)
- v0.2899May 24, 2026Added1b57e2a
owner-contracts:getSovWithRevisions query (approved-CO rollup, plain numbers)
- v0.2898May 24, 2026Addedb4e58f8
owner-contracts:getOwnerContractsListView query + list-view types
- v0.2897May 24, 2026Added64453f9
owner-contracts:isSovLocked helper (status + approved CO; invoice placeholder)
- v0.2896May 24, 2026Fixed164c05d
owner-contract:add primaryFile relation + FK constraint
- v0.2895May 24, 2026Added9dd349f
schema:rename PrimeContract to OwnerContract + parties + signatures + CO markup
- v0.2894May 24, 2026Fixed7e1a537
documents:natural-sort folder/file names (1,2,10 not 1,10,2)
- v0.2893May 24, 2026Added0a00610
documents:read-only Box folder browser with in-app downloads
- v0.2892May 24, 2026Fixed76b647d
box:accept full Box folder URL in folder-ID env vars
- v0.2891May 24, 2026Fixedaecc140
documents:import server actions directly from defining files
- v0.2890May 24, 2026Fixed3e92dc4
box:SECURITY — move internal helpers out of use-server file; cleanup on decrypt failure
- v0.2889May 24, 2026Fixeda116f10
documents:use Prisma's BoxConnection type directly (lint: no-empty-object-type)
- v0.2888May 24, 2026Added9c9788c
projects:fire-and-forget Box provisioning + rename sync hooks
- v0.2887May 24, 2026Added652becc
documents:global company library at /documents
- v0.2886May 24, 2026Added314d2da
documents:per-project Documents page orchestrator
- v0.2885May 24, 2026Added7c4fff2
documents:BoxFolderEmbed with lazy box-ui-elements load + token refresh
- v0.2884May 24, 2026Added124cd64
documents:ConnectBoxCard, ProvisionFolderCard, BoxOutOfSyncBanner
- v0.2883May 24, 2026Addedbb246b8
box:downscoped-token route with folder-membership authorization
- v0.2882May 24, 2026Added53c19c5
box:OAuth start + callback routes with CSRF state cookie
- v0.2881May 24, 2026Added2e2487d
documents:rewrite module around Box (queries, actions, provisioning, barrels)
- v0.2880May 24, 2026Added734d191
box:token lifecycle + module barrel
- v0.2879May 24, 2026Added12d184e
box:typed Box REST wrappers — getMe, copyFolder, renameFolder
- v0.2878May 24, 2026Added9d8515c
box:OAuth helpers — authorize URL, code exchange, refresh, downscope
- v0.2877May 24, 2026Added9588eae
box:AES-256-GCM token encryption with round-trip tests
- v0.2876May 24, 2026Added9ae18ae
box:config helper + error classes (hard-fail on missing env)
- v0.2875May 24, 2026Addeda82ff4b
schema:documents box integration — BoxConnection + Project Box columns, drop Folder/FileObject/FileLink
- v0.2874May 24, 2026Fixedaefb10c
projects:stack photo Replace/Remove buttons vertically
- v0.2873May 24, 2026Fixedb8a653b
projects:wire NewProjectForm, allow project-photo file downloads, clean up
- v0.2872May 24, 2026Added5dc2803
projects:seed 4 demo projects in YY.XXX format + Riverpark photo
- v0.2871May 24, 2026Fixedfcf0d29
projects:switch server-side consumers to index.server barrel
- v0.2870May 24, 2026Added20a2003
projects:detail page — photo slot, classification chips, permits card, edit panel
- v0.2869May 24, 2026Addedc90aa98
projects:list page — Show inactive toggle, filter dropdowns, neutral badges, photo thumbs
- v0.2868May 24, 2026Added18ccf83
projects:ProjectEditForm — full settings panel including actuals + warranty
- v0.2867May 24, 2026Added3acf46e
projects:NewProjectForm — single-screen sectioned dialog, Name+Number required
- v0.2866May 24, 2026Fixed4a17f83
projects:temporarily drop NewProjectForm re-export (added back in Task 10)
- v0.2865May 24, 2026Added366b14d
projects:ProjectPhotoUpload + ActiveToggle components
- v0.2864May 24, 2026Added45c7bd0
projects:photo upload API route (single-slot PROJECT_PHOTO)
- v0.2863May 24, 2026Added613d486
projects:actions — uniqueness check, setProjectActive, deleteProjectPhoto
- v0.2862May 24, 2026Added7f4279d
projects:queries.ts supports new filters + photo include
- v0.2861May 24, 2026Added58f4daa
projects:labels.ts — enum label + neutral badge style maps
- v0.2860May 24, 2026Addedc8bb9ac
projects:new Zod schema + types for redesigned model
- v0.2859May 24, 2026Added8f3bead
schema:project lifecycle redesign — 13-status enum, scope/sector/delivery, descriptor columns, photo FK