The The The The Kwa mazingira mapya
Huduma ya barua pepe inaendesha ddl-auto: hakuna, kwa hivyo hakuna safu inaweza kuonekana peke yake - chombo anatangaza yao na Hibernate kusoma meza furaha bila...
Ondoa aina ya baridi id CHECK ambayo ilizuia kila thread ya mdudu
"Vyombo vya habari" vinaundwa na ddl-auto ya Hibernate, sio kwa uhamiaji, kwa hivyo ni Kwa upande wake, Mbunge wa Jimbo la Ludewa Mhe. Katika majira ya joto ya ...
System bug.media session guid na index yake ya kuangalia
Kichwa nyuma ya thread ya maoni ya ripoti, vinavyolingana [TD="width: 456"] [FONT=&](2)[/FONT][FONT=&]Bila kuathiri masharti ya kifungu kidogo (1) cha kifungu h...
Kuongeza kukataa sababu, na kufagia majina matatu ya hali ya kustaafu
status name ina jina linalosoma nyuma kupitia @Enumerated (STRING), kwa hivyo mstari bado Baada ya kusema kuwa mara kwa mara ni gone haina kusoma kama default β...
Kuacha operator mbegu utoaji upya wa haki za jukwaa zilizofutwa
Haki zilizochukuliwa kutoka kwa msimamizi wa jukwaa kwenye Wasimamizi wa Jukwaa zilirudi katika siku zao za baadaye, ambao kusoma kutoka faraja kama kuokoa amba...
Seed the $99 per-seat startup fee on every paid tier
The loader passed null for setupFee on all four plans, so a freshly seeded environment priced onboarding at nothing while production charges $99 a seat β the ki...
System_bug.published, defaulting to TRUE
The column behind the Publish flag: a god-mode operator can now file a report that stays with god mode until somebody releases it. DEFAULT TRUE is the whole re...
Make hr_job_application.member_id nullable
ddl-auto adds columns; it never relaxes constraints. Flipping optional=false to true on the entity changes what the ORM believes and nothing about what the data...
Email_signature_badges, and the columns that order them
The footer badge library plus footer_badges / footer_badge_spacing / footer_badge_height on email_signature_templates. A runner and not just ddl-auto for the u...
Scan hr.careers, and drop the frozen work-location CHECK
Two changes, both required before the careers entities can reach the database. The @EnableJpaRepositories list is an explicit array while @EntityScan is wildca...
Commerce_quotes.setup_fee
A one-off setup fee on a quote that presents a single price. The fee already existed on QuoteOption, where each alternative carries its own; a flat sheet had no...
Reprice stored quote totals through the pricing engine
Quote money columns are written, not computed on read, so the two corrections that landed on 2026-09-02 β a unit price is a per-month rate the term multiplies, ...
The columns that let an event invite its guests
Three on calendar_events, because whether a meeting invites people belongs to the meeting rather than to the moment it was saved β an edit six weeks later that ...
Commerce_quotes.billing_basis
The per-quote snapshot of the org's quoteConversionBilling choice, so a quote keeps the terms it was raised under after an administrator changes the setting. Nu...
Scan the Report Studio's repositories
**************** holds the saved views, shares, favorites, recents, schedules and schedule runs. The reports themselves are code rather than rows β only a membe...
Columns for a market's quote contact and the per-quote snapshot
A market names its answer in QUOTE_CONTACT_MODE (+ QUOTE_CONTACT_MEMBER_ID when that answer is one explicit person), and each quote keeps the contact it was rai...
Migration for KB_ARTICLE_RELATIONS
Mirrors KbArticleRelation in kamo-shared-library. Written explicitly rather than left to ddl-auto so the UID and DATE_CREATED defaults live in the database, whi...
Keep every live domain routing once verification becomes mandatory
Host to organization resolution is about to require ownership_verified on the top-level domain row, so that a domain several organizations have merely named rou...
The three per-member-type home-screen columns on a security model
CHILD_ORG_SECURITY_MODELS gains DEFAULT_MEMBER_HOME_SCREEN, DEFAULT_TEAM_MEMBER_HOME_SCREEN and DEFAULT_ORG_OWNER_HOME_SCREEN. Each holds HOME_SCREEN_DEFAULT (t...
Create org_setup_wizard_progress for the Getting Started wizard
Let a seeded org omit its year established
createOrg took the year as a primitive int, so every seed had to supply one even though YEAR_EST is nullable and the field is optional platform-wide. Integer, s...
The invoice takes REVOKE DELETE, not REVOKE UPDATE
attachPdf writes PDF_BLOB_ID after the finalize transaction commits, on purpose: rendering inside it would hold the document-counter row lock across a MinIO rou...
The REVOKEs three entity javadocs already claimed existed
BillingWormGuard, BillingDispatch and BillingSyncIssue each cite "a REVOKE UPDATE, DELETE in the KamoInitializer migration". No such migration existed β the sta...
State the company phone column defaults where IF NOT EXISTS cannot swallow them
The 2026-08-27 run proved the ADD COLUMN ... DEFAULT FALSE never applied: ddl-auto builds the SessionFactory before any CommandLineRunner, so Hibernate had alre...
System_bug_view β who has read which report
Per VIEWER, not per bug, and that is the whole reason it is a table rather than a first_viewed_at column on system_bug: triage is worked by several people at on...
Land the company phone toggle columns before EmailService reads them
ADD COLUMN IF NOT EXISTS on **************** for user_company_phone_main and user_company_phone_toll_free. This service's ddl-auto: update would add both from ...
Volume bands stop pricing seats the plan does not sell
Starter admits 5 seats and Business 25, but the bands ran to 25 and 100 β four of the six priced seat counts nobody could reach. Starter's 10%-off-at-11 tier wa...
KI would not compile against the shared library on main
VendorDTO.uid became a String β a Long in the database, a string on the wire β and this call site still handed it to **************** which is a server-side req...
4 GB per seat on every plan, and seats rather than users
Storage stops being a tier differentiator. The 2/4/5 ladder put one gigabyte between Starter and Business on a page that then had to explain what "pooled" meant...
Drop the CountryType frozen ordinal checks
CountryType has 196 constants, AFGHANISTAN(0) through ZIMBABWE(195), and every check written over it froze at 0..195. They are not one value away from failing -...
Per-seat storage, and a flat Enterprise pool
2 GB per seat on Free, 4 on Starter, 5 on Business. Enterprise stops scaling with seats entirely - a flat 150 GB for the organization - which "N GB per seat" ca...
Seed KamoPBX platform defaults
Hibernate ddl-auto adds the SYSTEM_CONFIGURATION columns; @ColumnDefault only applies to newly inserted rows, so the existing singleton needs backfilling. Seed...
Seed Starter at 5 seats and Business at 25
The USERS rows read 25 and 100 while max_seats, the card headline and the plan quiz all said 5 and 25. The volume-discount bands that run past those ceilings ar...
Catalog rows that made the pricing page contradict itself
COMMERCE_POS is ServiceType.POS(21), whose real name is "Lines of Business" - the umbrella switch for what an org sells, rents, services or lends. It was labell...
Three catalog rows that made the pricing page contradict itself
Seat counts. The plan card headline reads max_seats ("Up to 5 users") while the feature list beneath it and the comparison table read the USERS feature row, whi...
Per-extension PBX billing schema, backfill and catalog
PbxBillingSchemaMigration is @Order(0) because it adds a column. The shared-library entity maps phone_cost_mode from the moment the build starts, so any runner ...
One shared calendar per org, one primary per member
Provisioning had nothing underneath it, so two simultaneous first loads both inserted. Collapses what that already made β twenty duplicate rows across seven org...
Schema for member-connected inboxes
The old member-only unique on member_imap_configs is discovered by shape rather than by its Hibernate-generated name, and dropped only after the wider key exist...
Both mail add-ons are priced per mailbox
Prices unchanged at $5 and $2; only the unit changes. Copy now states what actually counts, and that aliases are unlimited and free.
One primary member per mailbox
is_primary was unique per member only, so two members could both claim a mailbox β and PrimaryMailboxIdentityLookup returns null on an ambiguous address, so tha...
DDL for the per-member line-window gate
Adds **************** defaulting to false. A column rather than a feature flag because there is no flag system here and MemberCapabilities is a closed, fail-cl...
Widen the comms spine to an owner, in the order that keeps it safe
LEAD_CONTACT_POINTS and LEAD_COMMUNICATIONS gain the document manager's (assoc_type, assoc_object_id) pair so an account, a patient or a commerce record can own...
Add the RingCentral JWT and direct-number columns
Order 0, because the shared-library entities map both columns from the moment this build starts: every runner that loads a PhoneExtension or a MemberVoipOAuthTo...
Pin kamo-shared-library 1.6.0
The library moved to 1.6.0 while every consumer stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors...
Create member_availability_window, retire the dated slot table
Creates member_availability_window, adds **************** and rebuilds webinar_child_org_restriction around the type plus an optional weekday. Drops webinar_ava...
Read pointers for SMS, AI chat, webinars and missed calls
Three of the five conversation surfaces had no server-side notion of read at all. All four columns are nullable with no backfill: null means never looked, which...
Drop the frozen ordinal CHECK constraints Hibernate froze at create
Hibernate writes CHECK (col >= 0 AND col <= N) over an @Enumerated(ORDINAL) column at CREATE TABLE, where N is the highest ordinal that existed that day, and dd...
Move status off the ordinal and onto the name
Adds STATUS_NAME / STATUS_APPLIED_NAME, fills them from the ordinals, then drops the ordinal columns β in that order, which is the only order that keeps the dat...
A system report is a bug or an enhancement
ALTER rather than folded into the CREATE, because the table already exists everywhere this has reached. DEFAULT 0 is BUG, which is what every row filed before t...
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.