Expose repricing as a static so a backfill can reuse it
Quote money columns are written, not computed on read, so an engine correction leaves existing rows carrying the old arithmetic until something saves them. A mi...
The per-plan allowance is per seat, and says so
Rename only — PlanStorage.gbPerUser is private to this class and the three call sites are all in it. The comment above it was the misleading half: the allowance...
Lift the free/busy engine out of the webinar feature
The interval arithmetic — expand, restrictionMask, candidateStarts, and the whole of AvailabilityInterval — was never webinar-specific. All the coupling sat in ...
Retire Sent to AI, and store the status by name
Removing SENT_TO_AI is not a one-line enum edit. It sat at ordinal 3, and system_bug.status was an ORDINAL column: dropping it shifts AWAITING_INFO onto 3, CANN...
One modified record with two layers, not two records
A document had up to two derived rows — CLASSIC for edited bytes, FORM_FILLABLE for fields — and something had to decide which was based on the other, repointin...
Resolve deprecation through the app catalog
An app the operator retires has to disappear everywhere, not just from the apps page — otherwise it keeps showing up in the security-model editor and in entitle...
Shiriki azimio la barua kati ya ukurasa wa umma na wafanyakazi
The staff preview has to show exactly what the customer receives, so branding, the document term and the link host now resolve in one place. Two copies would dr...
Backward-compatible 6-arg LeadFieldPatch constructor (isVeteran defaults null)
Keeps existing 6-arg consumers (e.g. SecurityService LOS-apply tests) compiling on the shared-lib bump without a lockstep change.
Generic MortgageProviderConfig inachukua nafasi ya AUS-only config (D40)
One integration-credential store keyed by VendorCategory+vendorKey (credit, AUS, eSign, closing-docs, title, flood, …) behind a single Integrations tab — the Mo...
Tumia jina la chombo rahisi katika JPQL ya calibration (D32)
countCalibrationSamples referenced AiDecision by fully-qualified class name in the FROM clause; Hibernate resolves that, but every other @Query in the shared-li...
Declare Slice-2a indexes via @Table(indexes) on entities
Move the mlos_orchestration_state and mlos_steward_task index definitions from KamoInitializer's SchemaCleanupRunner onto the entities themselves (@Table(indexe...
Loan.engagementUid → Long + originatingOrderUid
Engagement extends BaseEntity (Long PK) so engagementUid must be Long, not UUID — this is consistent with the existing AgreementDTO / WorkOrderDTO pattern of "L...
Split account-level admins from per-sub members; subs gain target_org
Adds SubscriptionMember (per-subscription licensee + sub-manager flags) so an Account on the KamoCRM org can hold multiple subscriptions, each targeting a diffe...
Make Account the group; replace User-set with Member-set + AccountMember
The Account is now itself the "group" — there's no separate billing-group concept. Members (org-scoped) belong to the Account directly via the new AccountMember...
Migrate from BillingGroup to Account as billing principal
Account is now the single Stripe customer principal. A Member needing to pay (e.g. for a subscription) auto-creates an Account; that Account then holds one or m...
Orient live records to Account address profile, snapshot historical addresses
Orient live commerce records to reference the Account profile's primary shipping/billing addresses, with snapshots taken only when records become historical (pl...
Switch Account.java to embeddables; add AccountAddress entity for shipping/billing lists
- Add AccountAddressType enum (SHIPPING, BILLING) - Add AccountAddress entity (account FK, type, label, EmbAddress, timestamps) - Add AccountAddressRepository -...
Drop teamMemberPayFeesSetting
Employee self-pay fee policy is gone — the BillingGroup refactor handles billing per-group, not via the security model. Removes the teamMemberPayFeesSetting col...
Drop RegistrationPhoneCode entity + repository
Self-service registration no longer uses SMS-code verification for the phone field — the register form collects the phone number as plain text and stores it as-...
Remove DB CHECK on SubscriptionEvent.event_type (fixed in initializer)
Remove eager feature-loading from getOrganizationByDomain
Features are an org-level concern unrelated to most callers of this method (e.g. registration, login domain resolution). Force-loading them via setFeatures() re...
Migrate subscription JSON fields to entity-based @ManyToMany relationships
Replace jsonb string columns (compatiblePlanIds, includedInPlanIds, applicablePlanIds, applicableBillingCycles) with proper JPA @ManyToMany join tables and @Ele...
Replace RetailCustomer with Account-based customer model
Account.java was already the commerce customer entity but was too minimal. RetailCustomer duplicated this concept. This commit: - Enhances Account with commerc...
Convert internal entity IDs from Long/unique_rowid() to UUID/gen_random_uuid()
Improves CockroachDB write performance by using randomly-distributed UUIDs for internal entity primary keys instead of sequential unique_rowid() values. User-fa...
Remove clientId/clientSecret from VoipProviderConfig
These are platform-level credentials shared across all orgs. Only jwtKey and mainPhoneNumber are per-org.
Split ageReqType into ageReqTypeMember and ageReqTypeTeamMember
Separate age requirement tracking for members vs team members in Organization entity.
Rename Employee to TeamMember and Employment to TeamMembership
Rename all Employee/Employment references to TeamMember/TeamMembership across classes, variables, methods, DB annotations, enum values, and display text. Also u...
Change name to title and add description field to LeadVendor and LeadVendorProduct
Update EmploymentStatusType to use STRING enum storage instead of ID
Simplify Avatar model - avatars belong only to User
- Removed member field from Avatar class - avatars now belong only to users - Removed OneToMany avatars from Member class - members don't own avatars - Members ...
Remove redundant isSet field from Avatar class
- Removed isSet field since User/Member classes already have ManyToOne avatar relationship - The active avatar is determined by the avatar field in User/Member,...
Replace UserPhoto with Avatar inheritance hierarchy and update UserBackground
- Renamed UserPhoto to Avatar (base class) using JPA JOINED inheritance - Created AvatarPhoto subclass for uploaded photos (stores file extension only) - Create...
Remove SessionUtilityService to avoid duplicating Redis infrastructure
Je, unaona nini kuhusu usafiri?
Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.