Predefinire l'obiettivo di un nuovo abbonamento
Un primo acquisto non ha abbonamento esistente per copiare targetOrganizationId da, e richiederlo incondizionatamente è quello che ha creato uno dalla console i...
Smettere di richiamare l'accesso di fatturazione di un membro quando li aggiunge altrove
add() cancellato la riga del membro su qualsiasi altro account per soddisfare un unico globale che non esiste più. Aggiungere qualcuno a un secondo conto di fat...
Acquistare un blocco quando un org opted-in esaurisce la stanza
Corre poco dopo lo spazzamento istantanee notturno, perché questo è ciò che produce figura di utilizzo su cui decide — l'espansione contro il numero di ieri com...
Lascia un cambio di prezzo di catalogo in realtà raggiungere Stripe
Stripe I prezzi sono immutabili e la mappatura contiene una riga per (org, tipo, codice, ciclo) dietro una chiave unica, quindi una volta che un prezzo esisteva...
Capacità di report accanto all'utilizzo
Il pannello di stoccaggio riportato dates immagazzinato contro nulla — nessuna indennità, nessuna percentuale, nessun denaro — quindi un proprietario che guarda...
Fai un primo piano acquistabile, e restituire i prezzi reali del piano
Due cose hanno fermato un'organizzazione a comprare un primo abbonamento. Le liste dei piani sono raggiungibili solo tramite il submarketId su un abbonamento g...
Lascia che un sub-org raggiunga l'account che lo paga
AccountSubscription separa deliberatamente il pagatore dall'organizzazione il cui i membri consumano i sedili, e i conti auto-provisionati siedono sul livello s...
Bill per-unit add-ons da unità acquistate, non da headcount
Filetta la nuova quantità di add-on tramite creare e aggiornare: un componente aggiuntivo FLAT prende la sua quantità Stripe da quello che l'abbonamento effetti...
Carica quello che il catalogo dice, una volta, per la giusta quantità
Cinque difetti che hanno spostato tutti i soldi reali, più l'IDOR sub-resource sotto di loro. Cicli di fatturazione. I prezzi ANNUAL sono stati spediti a Strip...
Verificare la modalità dio contro il database, non un intestazione forgiata
AccountOrgScopeInterceptor cortocircuitato ogni org e controllo membro sul grezzo X-God-Mode-Active intestazione, e le copie del proxy di fatturazione di kamo-i...
CockroachDB-solo SQL che PostgreSQL rifiuta
CockroachDB scrive il tipo di testo STRING; PostgreSQL e YugabyteDB usano TEXT. 25 getti attraverso query native stavano ancora emettendo CAST (x AS STRING) e :...
Ricostruisci contro la correzione condivisa @Lob LONGVARCHAR
Il dialetto PostgreSQL di Hibernate legge le colonne di stringa @Lob come OID via getLong(). Affetti note, contatti, calendario, OAuth tokens, password IMAP, ca...
Punta a YugabyteDB e usa PostgreSQLDialect
CockroachDB è stato sostituito da YugabyteDB. Le stringhe di connessione si muovono da scarroachdb-public:26257 a yb-tserver-service:5433, e il dialetto Hiberna...
Leggi l'utilizzo di immagini da un pass deduplicato
Segue la modifica della biblioteca condivisa a una carica per file distinti per organizzazione. Sia il riassunto che lo scrittore di snapshot giornaliero prendo...
Ricostruire per il dominio delle anteprime generate
Raccoglie il cambiamento condiviso-librario che fattura miniature e tracce per il organizzazione e legge byte derivate da img dat derivatives.
Ricostruire per i domini di marca e docs-workspace
Raccoglie il cambiamento condiviso-librario che legge sia da object storage days.
Ricostruire per il dominio dell'allegato del messaggio di testo
Raccoglie il cambiamento condiviso-librario che misura allegati MMS dai dati: URI memorizzati in linea in VOIP MESSAGES.
Ricostruire contro i domini di storage per-categoria
Raccoglie il cambiamento condiviso-librario che si divide in un dominio per ImageAssocType, così le registrazioni delle chiamate, i messaggi vocali, gli allegat...
Registra la casella di posta corretta semantica
EMAIL ora misura la posta Kamo realmente ospita, attribuita per casella di posta alla organizzazione che lo possiede, piuttosto che sommare un indice di ricerca...
Lasciare che un amministratore di piattaforma eseguire la scansione istantanea su richiesta
La spazzata è ciò che rende le rimozioni di periodo e i totali di vita per il domini discontinui rispondono a tutti, quindi i giorni persi a un outage sono pers...
Dare ad ogni organizzazione un limite reale di transazione
StorageSnapshotSweep.catchUp ha portato @Transactional(REQUIRES NEW) ed è stato chiamato da spazzare() sullo stesso fagiolo. La primavera applica @Transactional...
Segnala cosa sta memorizzando un'organizzazione
La scheda statistiche dell'account ha sempre detto "Nessun dato di utilizzo disponibile per questo periodo", per ogni organizzazione, perché ottenereCurrentUsag...
Fornire auto-o-proprietario su un conto, non solo il limite org
Seguire il cancello cross-org, ora che la regola è decisa: all'interno di un'organizzazione si può gestire il proprio account di fatturazione, e un proprietario...
Smettere una organizzazione raggiungere un'altra organizzazione fatturazione
/api/billing/accounts presenta il suo elenco dall'intestazione X-Org-Id, ma ogni percorso sottostante /{accountUid} ha preso il id direttamente dal percorso e n...
Ripristina la costruzione di librerie condivise, che il uplink LAN continua a corrompere
Tre edifici sono morti oggi su "Tag mismatch" tirando un vaso — e lo specchio aggiunto un'ora fa non ha fatto aiuto, perché kbservice, mcpgatewayservice e ragse...
Risposta "è questo vendibile" dal catalogo app, non l'enum
La disponibilità è diventata operatore-editable a runtime, quindi derivante da ServiceType.getStage() significa L'editoria di MLOS in Apps and Features l'ha las...
Mirror Maven Central tramite la copia GCS di Google
Costruire 19 falliti che catturano tomcat-embed-core da repo.maven.apache.org con 'Tag mismatch' — un trasferimento danneggiato, non un errore di codice: lo ste...
Convalida codici aggiuntivi prima di poter concedere un'app
active addon codes è stato scritto direttamente dal corpo della richiesta. E' stato innocuo mentre niente leggeva la colonna, ma è ora un ingresso di autorizzaz...
Nascondi applicazioni non pubblicate dal catalogo Plans & Billing
****************************************************************************************************************************************************************...
Tenere l'is-prefix su PlatformAccountSummary anche i nomi dei fili
Stesso pericolo Lombok/Jackson di PlatformOrgRow: isTopLevel() perde il suo `è` su serializzazione, così il DTO messo `topLevel`/`platformProduct` sul filo ment...
Tenere il prefisso sul filo per isTopLevel/isPlatformProduct
Lombok genera èTopLevel() per un campo `boolean isTopLevel` e Jackson striscia il prefisso `is`, quindi il endpoint live stava serializzando `topLevel` e `platf...
Dichiarare gli abbinatori di sicurezza esplicitamente in modo che il servizio possa iniziare
Il servizio non è dispiegato dal 2026-07-03; ogni capsula da allora ha colpito prima del contesto caricato: Questo metodo non può decidere se questi modelli so...
Servire la directory org come pagina filtrata, ordinata e impaginata
GET /orgs prende pagina/dimensione/q/sort/dir più sette filtri e restituisce la casa pagina busta con aggregati immobiliari. GET /orgs/{orgId} serve tutti i det...
L'idratazione della pagina a un conteggio costante delle query
Titolo principale, dominio primario, piano/mercato dietro il diritto e abbonamenti-catalogo bandiera sono ciascuno un lotto IN (:ids) su tutta la pagina, così u...
Directory riga / pagina DTO e il repository query nativo
PlatformOrgRow trasporta le due sfaccettature separatamente: diritto (sotto in entrata mirare l'org -- che cosa lo governa) e fatturazione tenuta (conti che l'o...
Org directory SQL con per-facet CTEs
Conti ceduti, abbonamenti in entrata, membri, licenziatari e bambini ciascuno aggregati nel proprio CTE prima di essere uniti a org. Unire loro in uno pass avre...
Richiesta di directory validata, bloccata
Dimensioni morsetti a [1.100] e un tipo non riconosciuto rientra al titolo, quindi un URL a mano non può richiedere l'intera proprietà né raggiungere la SQL com...
Modalità di denunce del diritto attraverso un risolutore condiviso e deterministico
TrialAdminService ha scelto il suo abbonamento di prova con findFirst() su un elenco non ordinato, quindi un org che tiene sia un processo in sospeso e attivo p...
Harden il kubectl download contro l'egresso sfacciato [skip ci]
dl.k8s.io sopra l'ingresso del corridore cade in modo intermittente metà del trasferimento: curl: (56) OpenSSL SSL read: decryption fail or bad record mac che f...
Serializzare id lunghi come stringhe per fermare la perdita di precisione org-id
Org ids sono CockroachDB valori unici rowid() che superano JS MAX SAFE INTEGER. BillingService li stava serializzando come JSON crudo numeri, così il JSON.parse...
Expose trialExpiresAt sulla piattaforma og sommario per le prove di amministrazione UI
L'abbonamento a pagamento cancella la scadenza del processo (prove dei supersedi a pagamento)
Piattaforma-admin applicare/escludere/status test endpoints + DTO trialExpiresAt
Lo spazzamento programmato reverte le prove scadute a Free con cache-bust
Migra a k1m1 (clone+registry+kubeconfig da k1m1, drop k2m1, semplice installazione kubectl)
Registrare i repository esign per la presentazione del contatore
EsignMeterSubmissionService ha bisogno di EsignUsageRecordRepository, ma @EnableJpaRepositories non ha scansionato com.kamo.z.shared.esign.repos, quindi il cont...
Misurazione di utilizzo E-sign + controllo self-serv del consumatore
#4 metro: - EsignMeterSubmissionService (@Scheduled day): aggrega API-origin EsignUsageRecords per org+period; primo 40/periodo incluso, il resto presentato com...
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.