Master model applies to all three member types on init
provisionMaxedOutMasterModel now sets appliesToMembers, appliesToTeamMembers, and appliesToOwners all true so every member type sees the master model's branch t...
Replace static launch date with live countdown to 2PM PST Apr 20 2026
Ticks every second showing Xd XXh XXm XXs; falls back to static date until client hydrates, shows "Now" when target is reached.
Administrator default role template starts with all rights GRANTED
provisionMaxedOutMasterModel now populates the Administrator template with every RoleRightType set to GRANTED. The other three templates (Team Member, Member, D...
Provision a maxed-out master security model for KamoCRM on init
DataLoader now creates and assigns a master ChildOrgSecurityModel to KamoCRM immediately after the org is created, with every setting maxed out to the most perm...
FeaturesManager honors applied-model force-enabled state
Accepts the new modelAvailability + locked fields from FeatureController and surfaces them in the UI: - Features whose modelAvailability is FORCE_ENABLED rende...
Applied-model is the read-time source of truth for feature availability
Closes the "stale DB leaks a disabled feature" gap by gating every surface that touches OrgFeature / ServiceType through the applied security model. - ********...
Effective-feature resolver for applied-model read-time gating
Adds the read-time gate that makes the applied security model the final source of truth for feature availability, so stale DB state can't leak a disabled featur...
Add per-assocType docs settings tabs with doc types, stacking orders, and config panels
Replaces ComingSoonTab on /settings/features/docs with a full settings interface: - General overview tab + one tab per ImageAssocType (Account, Service Applicat...
Add ImagingSettingsController with doc type, stacking order, and assoc config CRUD
Add ImgAssocConfig entity, repository, and sortOrder to ImgStackingOrderDt
Add FEATURE_REQUESTS to Support category and all plan-feature mappings
Free: Community vote, Starter: Vote & request, Business: Priority requests, Enterprise: Custom dev included
Add /requests direct nav links, homepage section, and plan feature comparison row
- Header: Requests added as top-level direct link between Pricing and Company - Footer: Requests added to Product column for direct visibility - Pricing page: c...
Round-trip appConfigs + surface applied-model settings + private-org toggle
- BranchSetupManager: mapBackendModel now hydrates the persisted appConfigs returned by the backend (availability + allowedCommerceTypes per service type) i...
Enforce team-member pay-fees setting at Stripe customer creation
Bumps kamo-shared-library dependency to 1.5.0 so BillingService can resolve the new AppliedModelEnforcementService, and wires team-member vs org pay-fees enforc...
Wire applied-model enforcement across every controller
Every non-role setting on the applied security model is now enforced at the exact controller boundary it governs, and the scalar settings round-trip cleanly thr...
Enforce every non-role setting on ChildOrgSecurityModel
Adds end-to-end enforcement for the remaining settings on an org's applied security model. Every setting that was previously only read (or dropped on save) now ...
Lock mandatory system roles in member role-assignment UI
- PublicProvider: admit branchTypeID/masterModelID on the incoming organization payload so the branch-types tab can reliably gate the "Edit Master Model" bu...
Enforce system-role assignment and auto-admin for team-member owners
MemberSecurityController now enforces the three assignment invariants defined in the brainstorm spec: - saveMemberSecurity: before persisting the caller's requ...
Apply template force rules and DEFAULT fallback to member rights resolution
**************** now overlays the applied model's 4 default-role templates on top of the existing cascade (org roles → department → job title → member): - Role...
Add master model editor, role templates, and force-rule gating
Surfaces the new branch-type security model in the UI: - branch-types tab gains an "Edit Master Model" button (hidden when the org has a branchTypeID assigne...
Master-model + applied-model endpoints and template-aware org seeding
Adds the controllers that surface the new branch-type security flow: - /api/security/master-model (GET/PUT) manages the current org's master model; only writ...
Add master model, default role templates, and applied-model resolver
Introduces the data layer for the new branch-type security model flow: - Organization gains nullable branchTypeID and masterModelID columns. - New RoleRightTem...
Add branch type chip-input field to security model editor
- BranchTypeChipField with colored dot toggle, edit-on-click label, and X delete - BranchTypeEditDialog for name/description editing - Autocomplete dropdown pul...
Expand ChildOrgSecurityModelDTO with full fields and branchTypes
Update BranchSetupManager subtitle to reference dynamic branch type label
Rename Branch Setup tab to dynamic {branchLabel} Types and update URL to branch-types
Reset Capcha *** after every failed login attempt
Users must re-verify they are human after each incorrect password. Calls widget.reset() and clears CapchaVerified/payload state on both credential failures and ...
Auto-inject logoUrl, logoSimpleUrl, and orgName variables at send time
EmailTemplateService now merges base variables (logoUrl, logoSimpleUrl, orgName) derived from the org's primary domain before rendering, so all transactional te...
Add permission gates for user-level fields and password change section in MyAccountTab
Add access gate and MANAGE_MEMBER_SECURITY tab guard to member settings page
Lock form and auto-proceed after Capcha when submitting early
If the user submits before the Capcha widget is verified, the form is now disabled and the widget is triggered programmatically. Once verification completes the...
Supplement session rights with all known rights for grant-all roles
Remove @Enumerated — RoleRightTypeConverter autoApply takes over
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.