KamoCRM

Live Change Log

Every feature, fix and improvement, posted as it ships. Nothing is held back for a launch.

17,662
Total Changes
6,080
Features
5,341
Fixes
30
Projects
Filter by project
All Projects17,662AIService261APIService174BillingService158ConversionService110DaemonService138DocsService223ESigService91EmailService587InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService604RAGService79SecurityService1,874TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,413kamo-login340kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,682kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild16CI523Chore776Docs3,257Feature6,080Fix5,341Other998Performance165Refactor278Revert23Style42Test162Upgrade1
August 14, 2026
Performancekamo-internal

Poproś o nieprzeczytaną liczbę, a nie o całe drzewo folderów

Odznaka mailowa wymaga jednej liczby i pobierała każdy folder w skrzynce pocztowej Znajdź to, co u dostawców IMAP jest najdroższym połączeniem zaplecza pocztowe...

kamo·2mo ago
Performancekamo-internal

Przestań czekać na dwie odbiorki, na co może zobaczyć odpowiedź

Dwie podróże w obie strony wciąż siedziały przed wyrenderowaną skrzynką odbiorczą, a do tego momentu Była to jedyna rzecz, która tam została - drzewo folderów i...

kamo·2mo ago
Performancekamo-internal

Zapytaj wcześniej, zapytaj raz i przestań pytać o to, co się nie zmieniło

Trzy kolejne rzeczy stoją między otwarciem /messages a oglądaniem poczty. Nic nie było żądane, dopóki paczka nie wylądowała. /messages wyciąga kilka megabajty ...

kamo·2mo ago
Performancekamo-internal

Przestań płacić za klucz nic nie czyta i przestań czekać, aby zapytać

Trzy rzeczy zwalniały /mess w dół, zanim pobrano jedną wiadomość. Każdy telefon e-mail wykonał podróż w obie strony do /api/generate-otk jako pierwszy i wysłał...

kamo·2mo ago
PerformanceEmailService

Przestań otwierać każdy folder i przestań refetchingu każdej wiadomości

Dwa problemy w obie strony na ścieżce krytycznej /messages, oba niewidoczne w Kod, który je spowodował. ListFolders otworzył każdy folder tylko do odczytu, aby...

Kamo·2mo ago
August 12, 2026
Performancekamo-shared-library

Wyłać skojarzenia podsumowującego do jednego i policzyć zamiast skanowania

Uwaga The Overview i ostatnie plastry odczytują tytuł na wiersz z LAZY WieleToOne, kosztujący do 16 dodatkowych opcji na blok w ramach otwartej sesji wejściowej...

Kamo·2mo ago
August 10, 2026
PerformanceDaemonService

Odśwież dane statystyczne po odbudowie GeoLite

YugabyteDB nie analizuje auto-analizy, a inscenizacja + wymiana nazw zastępuje Geolite_bloki hurtowe - więc po każdej niedzieli synchronizacja planner nie miał ...

Kamo·2mo ago
PerformanceDaemonService

Indeks geolitetu musi być ASC, a nie domyślna domyślna gotówka YugabyteDB

Odszukanie IP jest skanem zasięgu: Gdzie jest network_start? Zamówienie przez sieć_start DESC LIMIT 1 YugabyteDB dzieli kolumnę indeksu LEADING przez HASH, c...

Kamo·2mo ago
Performancekamo-shared-library

Indeks geolitetu musi być ASC, a nie domyślna domyślna gotówka YugabyteDB

Odszukanie IP jest skanem zasięgu: Gdzie jest network_start? Zamówienie przez sieć_start DESC LIMIT 1 YugabyteDB dzieli kolumnę indeksu LEADING przez HASH, c...

Kamo·2mo ago
PerformanceKlusterServices

Daj YugabyteDB prawdziwe zasoby i przypieprzyj jego pamięć

Działał w stosunku do mniej niż CockoachDB, który zastąpił - 20Gi/6cpu przeciwko CockroachDB 32Gi/8cpu - jednocześnie potrzebując więcej, ponieważ YSQL działa o...

Kamo·2mo ago
PerformanceKlusterServices

Daj YugabyteDB prawdziwe zasoby i przypieprzyj jego pamięć

Działał w stosunku do mniej niż CockoachDB, który zastąpił - 20Gi/6cpu przeciwko CockroachDB 32Gi/8cpu - jednocześnie potrzebując więcej, ponieważ YSQL działa o...

Kamo·2mo ago
August 9, 2026
Performancekamo-internal

Hash tylko z BLAKE3, więc pominięcie przesyłania faktycznie oszczędza czas

Dedup zadziałał — serwer zalogował się "linked WITH BEZ przesłania", a 358 MB nigdy nie opuściło Maszyna — ale członek nadal czekał, ponieważ przetwarzanie SHA3...

kamo·2mo ago
PerformanceMediaService

Zaakceptuj tylko BLAKE3 claim, więc dedup jest szybszy niż przesyłanie

Punkt końcowy linku wymagał obu hashe. Przeglądarka nie ma szybkiego SHA3-256, więc udowadniając to Plik 358 MB trwał już 20 sekund w porównaniu do 18,8 sekundy...

Kamo·2mo ago
Performancekamo-shared-library

Dopasuj przechowywane treści tylko na BLAKE3, aby przeglądarka mogła sobie pozwolić na pytanie

Udowodnienie posiadania wymagało zarówno machnięć, jak i przeglądarki nie ma szybkiego SHA3-256 — js-sha3 Jest czystym JavaScript w 25 MB/s. Zmierzony na 358 MB...

Kamo·2mo ago
Performancekamo-shared-library

Przeczytaj najnowszą datę migawki bez ładowania historii

Podsumowanie wymaga jednej daty. Odczytał go, ładując dwuletni zakres. Migawki i biorąc max - pięć domen razy w każdej historii, w dniu Każda strona ładuje się,...

Kamo·2mo ago
August 8, 2026
PerformanceSecurityService

Jedno z plan-matryce skanowanie na życzenie aplikacji-katalog

Również zrzuca nieużywany DevelopmentStageType importuje i koryguje Komentarz automatycznego przewidywania, który nadal opisuje regułę sceny katalogu Zastąpiony...

Kamo·2mo ago
Performancekamo-shared-library

Odpowiedz na pytanie plan-matrix dla każdej aplikacji w jednym przepustkę

Zakładka Aplikacje i funkcje pyta, czy każda aplikacja pojawia się w matrycy planu, oraz Formularz na aplikację skanuje tabele planu i dodatków raz na aplikację...

Kamo·2mo ago
August 5, 2026
PerformanceVOIPService

Zatrzymaj ponownie w momencie, gdy dostawca jest cały instancja

Punkt końcowy RingCentral jest rozszerzony i ignoruje argument, więc zwraca To samo dziennik dla każdego rozszerzenia. Gdy strona nie dodaje nic nowego, pozosta...

Kamo·2mo ago
July 6, 2026
June 26, 2026
PerformanceInitializerService

Stop per-boot customer_id FK holg-powojenny w SchemaCleanupRunner

Usuń nieaktualny RetailCustomer->Pomnogotowanie konta commerce_carts.customer_id, /> Te Kolumny są teraz na żywo, kolumny FK należące do Hibernate (Cart.custome...

Kamo·4mo ago
June 21, 2026
Performancekamo-capcha

Niższy poziom trudności PoW (koszt 1000, licznik 2000-4000)

Koszty rozwiązania są produktem CHALLENGE_COST x x zakres licznika; oba były Przesadne (pociski PBKDF2 37,5 M, 40-75x za zapas Capcha), tworząc Widget wolniej n...

Kamo·4mo ago
May 28, 2026
Performancekamolos

Tier 2 — Hikari + RestTemplate timesouts + Stripe SDK + Redis cache

- RestClientConfig: pojedyncze współdzielone z fasola RestTemplate z 5s connect / 30s Czytające timeouty. MediaServiceClient / NotificationpatchService / Of...

Kamo·5mo ago
Performancekamo-shared-library

Zapytania redpo w Paged + hrabstwoByStatus dla gorących ścieżek

- KredytyRepozytorium: powiatByStatus / hrabstwoByOrganizationAndStatus + ZnajdźByStatus(...) / / / + + - do numeracji odpornej na kolizję - LoanPaymentRe...

Kamo·5mo ago
May 15, 2026
Performancekamo-internal

Połącz częściowe DTO w stan lokalny, drop refetch-after-patch

Każdy automatyczny zaratowany (lazy nazw, zatrudnienie, aktywa, pasywa, REO, REO, Deklaracje, wojsko, demografia HMDA, pomysłodawca) używane do wydania pełnego ...

kamo·5mo ago
Performancekamo-shared-library

Załamania rurociągu kanban N+1 do pojedynczej pogrupowej liczby zapytań

ListForOrganization() używany do wydawanie jednego warunku-fetch na pożyczkę (201 zapytań Przy 200 pożyczkach). Teraz pojedynczy zgrupowany JPQL łączne kluczowa...

Kamo·5mo ago
April 25, 2026
PerformanceMediaService

Przechowuj geo na bilecie przy tworzeniu, drop GeoLite czyta

Teraz przechwytuje geo odwiedzającego Raz (za pośrednictwem GeoLookupService) i utrzymuje się ip/kraj/miasto/rozpodział/subdivision w sprawie Sama SupportTicket...

Kamo·6mo ago
PerformanceMediaService

Odwiedzający masowe obciążenia i pomiń GeoLite lookup na liście

Punkt końcowy /api/support/support/tickets, na stronę 20 wierszy: - 20 - wywołania (N+1) - 20 zamieszknięcia do GeoLookupService.lookup, z których każdy jes...

Kamo·6mo ago
Performancekamo-shared-library

Dodaj findBSessionGuidIn dla obciążenia luzem

Używany przez punkt końcowy listy support-ticket, aby pozyskać wszystkich odwiedzających dla Strona w jednym zapytaniu zamiast N oddziel dojazdów ZnajdźBySessio...

Kamo·6mo ago
March 12, 2026
PerformanceMediaService

Pomiń posążnie posącze DB dla wiadomości auth check

Wyciąg getMemberIdFromRequest(), który odczytuje memberID z Redis Sesja bez trafienia w DB. Użyj go w getMessages() zamiast getCurrentMember() — jednostka człon...

Kamo·7mo ago
Performancekamo-internal

Wyeliminuj OTK Redis overhead i dźwiękowy szum dziennika proxy dla przesłania wiadomości

- Obejmij generację OTK w trasie proxy MediaService: forward the . Plik cookie bezpośrednio zamiast generowania jednorazowego klucza, usuwając 4 Redis Na ży...

kamo·7mo ago
PerformanceMediaService

Wyeliminuj zadowoźce powrotne logowanie i odświeżenie TTL

- k8s konfig (rzeczywisty konfig produkcyjny): niższe bezpieczeństwo / hikari Wyloguj się z INFO/DEBUG do WARN, dodaj konfig HikariCP (max 20) - KSessionServi...

Kamo·7mo ago
PerformanceMediaService

Zmniejsz hałas kłód i dostrojenie basenu

- Niższe zabezpieczenia sprężynowe od TRACE do WARN i HikariCP z DEBUG do WARN — eliminuje dziesiątki napisów dzienników synchronicznego na żądanie - Dodawani...

Kamo·7mo ago
Performancekamo-shared-library

Odsłać komunikat macierzysty w tym samym zapytaniu, aby wyeliminować odpowiedź N+1

Alias m.msg i lewym JOIN FETCH msg.parent tak, aby odpowiedzieć gwintowane Wiadomości mają swojego rodzica załadowanego w początkowym zapytaniu, a nie Wywoływan...

Kamo·7mo ago
Performancekamo-internal

Popraw wydajność ładowania wiadomości czatu

- Kaczki podręcznikowe otrzymująCurrentMemId() skutkuje ref, aby uniknąć powtarzania /api/user-info Odwołaj połączenia każdego komunikatu WebSocket i wskaźnik...

kamo·7mo ago
PerformanceMediaService

Usuwanie logowania do wiadomości per-message z punktu końcowego czatu

Usuwanie połączeń System.out.println wewnątrz mapy strumieniowej wiadomości, które były Wystrzelenie raz na wiadomość (100 operacji I/O na żądanie) i ostateczne...

Kamo·7mo ago
Performancekamo-shared-library

Napraw zapytanie N + 1 i dodaj indeks złożony do ładowania wiadomości czatu

- Dodaj LENY JOIN FETCH m.msg do obu zapytań repozytorium, aby chętnie załadować MediaObjMsg w tym samym zapytaniu, eliminując do 100 dodatkowych zapytań SQL ...

Kamo·7mo ago
March 11, 2026
PerformanceSecurityService

Niestandardowe dane formularzy w getAllLeads (eliminuj N + 1)

Zamień na oliwę getCustomFormDataForLead wywołania (N+1 zapytania) Pojedyncze obciążenie wsadowe poprzez getCustomForDmataForLeads, pogrupowane przez lead ID Ko...

Kamo·7mo ago
Performancekamo-shared-library

Wyeliminuj skanowanie w pełnym stołach i zapytania N+1 na punkcie końcowym leadów

- LeadRepository: add findBOrganizationId JPQL query (używanie indeksu ORG_ID) Zamiast załadunku całego stołu LEADS i filtrowania w Javie - LeadCustFormDataRe...

Kamo·7mo ago
January 3, 2026
December 14, 2025
Performancekamo-login

Zoptymalizuj wydajność strony przez 40-50% przy zachowaniu atrakcyjności wizualnej

- Lazy nośna karuzela tła Swiper w celu zmniejszenia początkowego rozmiaru wiązki - Zapomieszczaj komponenty (ThemeLogo, BrandIcon, LazySwiperBackground), aby z...

snadjafinia·10mo ago
December 12, 2025
Performancekamo-marketing

Optymalizacja strony kalkulatora dla poprawy wydajności o 40% +

snadjafinia·10mo ago
Performancekamo-marketing

Optymalizuj witrynę marketingową dla poprawy wydajności o 40% +

snadjafinia·10mo ago
PerformanceSecurityService

Reaktor do równoległego rozmieszczenia dla k1m1 i k2m1

- Podziel budowę i wdrożenie w oddzielne zadania - Wdrażanie do k1m1 i k2m1 równolegle po zakończeniu budowy - Skraca całkowity czas rozmieszczenia

snadjafinia·10mo ago
PerformanceMediaService

Reaktor do równoległego rozmieszczenia dla k1m1 i k2m1

- Podziel budowę i wdrożenie w oddzielne zadania - Wdrażanie do k1m1 i k2m1 równolegle po zakończeniu budowy - Skraca całkowity czas rozmieszczenia

snadjafinia·10mo ago
PerformanceAPIService

Reaktor do równoległego rozmieszczenia dla k1m1 i k2m1

- Podziel budowę i wdrożenie w oddzielne zadania - Wdrażanie do k1m1 i k2m1 równolegle po zakończeniu budowy - Skraca całkowity czas rozmieszczenia

snadjafinia·10mo ago
Performancekamo-register

Reaktor do równoległego rozmieszczenia dla k1m1 i k2m1

- Podziel budowę i wdrożenie w oddzielne zadania - Wdrażanie do k1m1 i k2m1 równolegle po zakończeniu budowy - Skraca całkowity czas rozmieszczenia

snadjafinia·10mo ago
Performancekamo-marketing

Reaktor do równoległego rozmieszczenia dla k1m1 i k2m1

- Podziel budowę i wdrożenie w oddzielne zadania - Wdrażanie do k1m1 i k2m1 równolegle po zakończeniu budowy - Skraca całkowity czas rozmieszczenia

snadjafinia·10mo ago
Performancekamo-login

Reaktor do równoległego rozmieszczenia dla k1m1 i k2m1

- Podziel budowę i wdrożenie w oddzielne zadania - Wdrażanie do k1m1 i k2m1 równolegle po zakończeniu budowy - Skraca całkowity czas rozmieszczenia

snadjafinia·10mo ago

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing