Practice
Stacks
Home
About
Features
Pricing
Contact
Resources
Log in
Start Free Trial
Toggle menu
Release v1.128.0 Changelog | PracticeStacks
All Releases
Release
v1.128.0
v1.128.0
17 May 2026
Bug Fixes
replace non-null assertion with truthy check for openedAt in EmailRow
make BusinessCommunications interface internal (only used in hook itself)
use buildComplianceReminderEmail builder and parse DD-MM compliance date for real due label
use rm relation connect/disconnect instead of scalar rmId in PATCH
update glitchgrab to version 1.19.2 and add it to dependencies
update version from 4.1.1 to 4.1.2 in bun.lock
add glitchgrab to ignoreDependencies and remove from existing ignoreDependencies list
add glitchgrab to ignoreDependencies in knip.json
make EmailLogContext type internal (no external consumers, satisfies pruny)
Features
add overview aggregation endpoint with financials, compliances, and activity
add useBusinessOverview TanStack hook
communications API merging EmailLog, WhatsApp, manual entries with phone/email matching and OTP filter
compliance remind endpoint sends email to orgEmail and contacts, auto-logged to EmailLog
add business identity header card with avatar, status badge, and ID strip
add Communication tab UI with email/WhatsApp/manual rows and template label rendering
add log communication dialog with channel chips, contact picker, templates, tags, link-to
add overview tab with needs-attention, upcoming compliances, activity, team, and contacts sections
redesign detail page with header card, stats grid, and parent-card tabs
show upcoming compliances and recent activity side-by-side on overview tab
wire Communication tab into business detail page
wire Needs attention Remind button to compliance remind endpoint with pending state and toast
include rm relation in business detail GET
useBusinessCommunications TanStack hook
pass logContext (businessId, source=INVOICE) when sending invoice email
pass logContext (leadId, businessId) when sending daily lead emails
add buildComplianceReminderEmail builder using wrapEmail with branding, urgency callout, signature
add businessKeys.communications query-key factory
add businessKeys.overview query-key factory
add WhatsApp template label formatter for friendly Communication tab rendering
instrument deliverEmail to write unified EmailLog rows with logContext
pass logContext when sending onboarding invite email
add EmailLog and ManualCommunication models for unified communication tracking
migration adding EmailLog table with EmailSource enum
migration adding ManualCommunication table with ManualCommType enum
migration extending ManualCommunication with contactId, tags, linkedInvoiceId, linkedProposalId
pass logContext (businessId, proposalId) when sending proposal notification
add underline variant to PageTabSwitcher
v1.127.0
v1.129.0