Ticku v2.0.0
Release date: 2026-07-23
Ticku becomes a shared multi-tenant platform. One deployment now hosts many organizations, each isolated from the others, with self-serve onboarding by email domain. This release also brings project types, dynamic roles, worklog/time tracking, escalation, analytics, a master calendar, and more.
⚠️ Breaking / Migration Steps
- Multi-tenancy. Ticku is no longer single-tenant. Every tenant-scoped table gained a
tenantId, and queries run through a tenant-scoped Prisma client. See Multi-Tenancy. User.roleandUser.isAdminwere dropped. Per-tenant role and admin status now live on the newMembershipmodel — a user can belong to several tenants with different roles in each. See Roles & Permissions.- Fixed project roles → dynamic roles. The
CREATOR/MEMBER/VIEWERenum is replaced by editableProjectRolerows scoped to a project type, built from a permission catalog. - Deployment model changed from dedicated-instance-per-client to one shared platform. See Deployment Architecture and Tenant Provisioning.
- Run
npm run db:migrate(migrate deploy) after updating. Bootstrap the first platform admin at/setup. Do not rundb:push/db:reseton real data.
✨ New
- Multi-tenancy — tenants,
/t/{slug}routing, tenant switcher, per-tenant data isolation, cross-tenant platform admin. - Self-serve onboarding — organizations register at
/register-organization(email-OTP), users join by email domain, guest invitations for outside collaborators. - Project types — Support, Consulting, Dev, and Epic, each with its own hierarchy, workflow, priorities, and roles. See Project Types.
- Subjects & Epics — Subject folders group tickets; Epic projects roll up delivery projects. See Subjects & Epics.
- Dynamic roles — admin-editable per-project roles and permissions (Roles & Permissions).
- Escalation — flag tickets urgent with a reason (Escalation).
- Work Log & Time Tracking — a daily work log and per-ticket time entries (Work Log, Time Tracking).
- Analytics — dashboards for volume, status, priority, resolution time, top assignees, timesheets (Analytics).
- Master Calendar — regions, working hours, weekend rules, and holidays (Master Calendar).
- Notes, Reminders, Meeting Logs — lightweight productivity tools alongside tickets.
- Bulk Upload — Excel-style paste grid to create Subjects/tickets/sub-tasks (Bulk Upload).
- Notification preferences — per-user levels (mentions-only → high) and per-channel toggles (Notifications).
🛠 Improved
- Dashboard search — Gmail-style query bar (
+= AND,,= OR, whole-word matching). - Ticket planning — start/end windows, estimate/actual/billable hours, on-hold time tracking, deferred status, timeline & date-range views.
- Email-to-ticket — per-tenant Azure app registration, per-project mailbox config, domain allow/block lists, and a health circuit breaker.
- Statuses — richer per-type workflows (On Hold, Deferred; Epic "Active").
- Notifications — tenant-scoped, with read/unread and more event types.
🗑 Removed
- Groups — replaced by tags and project membership. See Tags.
Known Issues
See Known Issues & Limitations — notably: SLA still uses flat wall-clock hours (master calendar not yet applied to SLA maths), and notification delivery is not retried.
Release Notes Template (for future releases)
---
title: Ticku vX.Y.Z
slug: vX.Y.Z
tags: [release]
---
**Release date:** YYYY-MM-DD
## ✨ New
- …
## 🛠 Improved
- …
## 🐛 Fixed
- …
## ⚠️ Breaking / Migration Steps
- Run `npm run db:migrate` after updating.
- …
## Known Issues
- …