KamoCRM

Live Change Log

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

17,808
Total Changes
6,167
Features
5,369
Fixes
30
Projects
Filter by project
All Projects17,808AIService262APIService175BillingService158ConversionService110DaemonService140DocsService223ESigService91EmailService597InitializerService333KBService151KlusterServices747MCPGatewayService265MediaService604RAGService79SecurityService1,905TranslateService62VOIPService256VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,462kamo-login340kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,717kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild17CI523Chore786Docs3,275Feature6,167Fix5,369Other998Performance165Refactor278Revert23Style42Test164Upgrade1
August 11, 2026
Featurekamo-shared-library

Niepirający arcykarota w nadgodzinach z predysjami jurysdykcyjnymi

Zasady to DANE dotyczące kształtu Reguł RequirementU używany już w tej bibliotece, a nie Kodowanie gałęzi, więc Kalifornia jest wierszem konfiguracji zamiast pr...

Kamo·2mo ago
Featurekamo-internal

Dostarcz org timezone do przeglądarki

Model organizacji klienta nie miał pola strefy czasowej, useFormatters i next-intl Oba są skonfigurowane bez timeZone, a TimezoneService backend połączenia 404'...

kamo·2mo ago
FeatureSecurityService

GET .

timezoneService.ts nazwał ten punkt końcowy od czasu jego napisania i istniał Nie ma usługi Java; klient połknął 404 i postanowił do UTC. W międzyczasie UżywajF...

Kamo·2mo ago
Featurekamo-shared-library

WorkSite, kotwica jurysdykcłwina

Nazwany WorkSite, a nie WorkLocation: TeamMember. WorkLocation jest istniejący Biuro/zdalna enum i drugi symbol według tej nazwy zderzałyby się w każdym grepie....

Kamo·2mo ago
Featurekamo-shared-library

Zatrudnienie i efektywne zmiany w przydaniu

Wykrawanie będzie odnosić się do ASSIGNMENT, a nie członka. To właśnie tworzy Równocze pozycje, 29 CFR 778.115 wagowo regularnych stawek, Sejmia jurysdykcja wie...

Kamo·2mo ago
Featurekamo-shared-library

Skuteczna, dodana stawka wynagrodzenia

Na tej platformie nie istniało żadne odszkodowanie dla pracowników poza tym podmiotem. Jest to wymagane: nadgodziny są obliczane w stosunku do regularnej stawki...

Kamo·2mo ago
Featurekamo-shared-library

Wydarzenie dziennika i audytu tylko do Appendly

Obydwa obsługiwane przez interfejsy repozytorium NARROW, a nie JpaRepozytorium: deleteAllInBatch I masowe połączenia jednostki JPQL zmiksowane, więc kształt int...

Kamo·2mo ago
Featurekamo-shared-library

Timezone-recordret

Strona pracy porządku władzy -> członek -> org -> UTC. Strona robocza wygrywa, ponieważ Zasady płac i godzin pracy są zgodne z miejscem pracy PERFORMED. Spis p...

Kamo·2mo ago
Featurekamo-shared-library

Wspólny strażnik odmowny WORM

"Kolumna (updateable-false) NIE egzekwuje niestabilności - Hibernate cicho Pominie kolumnę z AKTUALIZACJA, a nieświeże pisanie wygląda na to, że się udało. Jedy...

Kamo·2mo ago
Featurekamo-shared-library

Domain enums i point-in-time version resolver

Enums są wszystkie ’Enumerated(STRING) na stronie połączenia: ORDINAL emituje numeryczny Zakres zawierający i który SchemaCleanupRunner's IN-list sweep Celowo p...

Kamo·2mo ago
Featurekamo-internal

Pokaż członkom, którzy płacą za swoje miejsce, i przestań oferować drugą

Punkt końcowy pokrycia był dostarczany z kluczami do tłumaczenia i bez komponentu, więc Pytanie, na które odpowiada – kto płaci za moje miejsce – wciąż nie było...

kamo·2mo ago
FeatureBillingService

Niech plan grupy zostanie anulowany i przestań płatować podwójnie za jedną osobę

Trzy luki w tym, co zostało wysłane: Grupa z planem nigdy nie może zostać usunięta. delete() odmawia podczas zamieszkania Subskrypcja istnieje - poprawne, poni...

Kamo·2mo ago
Featurekamo-internal

Grupa, na którą możesz włożyć ludzi i zapłacić za

Tworzenie grupy wytworzyło nazwę i nic więcej – nie ma sposobu, aby dodawać kogokolwiek, nie ma mowy Za menedżera wybrać plan, nie ma nic do zapłacenia. Otwarci...

kamo·2mo ago
FeatureBillingService

Spraw, aby grupy rozliczeniowe działały na koniec i przestań za darmo za darmo za nic

Grupa może teraz gromadzić ludzi, kupować plan na własnej karcie swojego menedżera i ręcznie - Na zewnątrz. Nic z tego nie istniało: jedyne operacje były tworzo...

Kamo·2mo ago
FeatureInitializerService

Schemat dla grup, które faktycznie mogą zapłacić

Trzech biegaczy: BillingGroupRosterMigration tworzy billing_pay_group_members — kogo grupa oznacza za to, że zanim cokolwiek kupi. org_id jest na to denormaliz...

Kamo·2mo ago
Featurekamo-shared-library

Niech grupa rozliczeniowa będzie swoim własnym płatnikiem

Grupę można nazwać i nic więcej. Jego subskrypcja nigdy nie została ustawiona – Nic na platformie o nazwie setSubscription — więc subskrypcja_uid pozostał Null ...

Kamo·2mo ago
Featurekamo-internal

Edytor kursu HR, gracz w zakresie zadań i gracz kursu

/hr/szkolenie zastępuje swojego zastępstwa dwoma sub-tabami, o które prosiłem, oraz członkiem Przydzielona siatka treningowa zyskuje kolumnę akcji, którą wstrzy...

kamo·2mo ago
FeatureDaemonService

Godzinowe przypomnienie o treningu kleszcz

RZEczo o :10, w przeciwieństwie do legalnego zamiatania codziennie o 13:00. Szkolenie przypomina każdy org w jego OWN local send Godzina i strefa organizacyjna ...

Kamo·2mo ago
FeatureDocsService

Kompletny backend HR Training

Autoryzowanie kursu, publikowanie, przypisanie, gracz członkowski, ocena po stronie serwera, Dowody WORM i Zamiatanie przypomnienia — cały moduł za /api/docs/sz...

Kamo·2mo ago
Featurekamo-shared-library

Cztery szablony e-mail treningów

Ten sam podział stałego / kropkowanego klucza, co rodzina prawna HR: CONSTANT to nazwa pliku, templateKey platforma SENDS to wartość kropkowana w każdym .json. ...

Kamo·2mo ago
Featurekamo-internal

Jedna powierzchnia dla obu obowiązków, jedna odznaka dla obu

Zakładka zgodności z członkami miała dwa pod-tabs, oczekujące i kompletne, dla jednego rodzaju zobowiązania. Są to państwo, a nie rodzaj – więc zapadają się w f...

kamo·2mo ago
FeatureDocsService

Interfejs API szkolenia z członkostwom

com.kamo.z.shared.hr.training in .EnableJpaRepositories — EntityScan jest szeroki, więc Podmioty są w ten sposób znajdowane, ale repozytoria nie są. Dwa lejki ...

Kamo·2mo ago
FeatureInitializerService

Stwórz schemat szkolenia HR

Rejestry com.kamo.z.shared.hr.training w jawnej liście „EnableJpaRepositories) — EntityScan jest szeroki, więc jednostki są znajdowane w obie strony, ale repozy...

Kamo·2mo ago
Featurekamo-shared-library

Przesyłaj dokumenty i dodaj schemat szkolenia HR

ImageService zyskuje uploadDocumentStreaming, odpowiednik przesyłania strumieniowego przesyłaniaDokumentu. Formularz buforowany nie może w ogóle wyrazić dużego ...

Kamo·2mo ago
FeatureInitializerService

Utwórz billing_pay_groups wyraźnie i cofnie starą kolizją

Tworzenie go w migracji, a nie pozostawienie go ddl-auto, który wytworzył W połowie zbudowany stół, gdy jednostka została wycelowana w istniejących wcześniej bi...

Kamo·2mo ago
FeatureEmailService

Rozmiar każdej skrzynki pocztowej w stosunku do miejsca przechowywania organizacji

Dovecot wymusza teraz limit na skrzynkę pocztową i nic nie ustawiało jej kolumny Czytam. To pisze to co noc, po migawce magazynu, więc pojemność jest Podzielona...

Kamo·2mo ago
FeatureKlusterServices

Wzmocnij limit przechowywania na dostawie przychodzące i przestań wysyłać hasło DB

Przechowywanie obiektów już odrzuca treści, które przenoszą organizację poza nią sufit, który obejmuje każdą domenę przechodzącą przez sklep obiektowy. Poczta d...

Kamo·2mo ago
FeatureKlusterServices

Wzmocnij limit przechowywania na dostawie przychodzące i przestań wysyłać hasło DB

Przechowywanie obiektów już odrzuca treści, które przenoszą organizację poza nią sufit, który obejmuje każdą domenę przechodzącą przez sklep obiektowy. Poczta d...

Kamo·2mo ago
Featurekamo-internal

Pozwól członkowi licencjonuj własne miejsce z konsoli

Panel, który zamyka pętlę na samopłatnie. Pojawia się tylko tam, gdzie Polityka organizacji na to pozwala, a tylko dla osób, które jeszcze nie kupują W imieniu ...

kamo·2mo ago
FeatureBillingService

Powiedz ludziom, że ich płatność nie powiodła się i zachwić subskrypcję

Wyniszczenie, które nie istniało. invoice.payment_failed napisało wiersz i zwróciło: Nie skonfigurowano e-maila, bez flagi, brak zmiany stanu, a billing.email-s...

Kamo·2mo ago
FeatureInitializerService

Dodaj kolumny zegara ociekającej

past_due_since i suspension_notified_at, oba zniweczone. Null oznacza płacenie i Nie tylko opowiedziany.

Kamo·2mo ago
Featurekamo-shared-library

Wykonaj nieudaną płatność oznacza coś

PAST_DUE liczony jako w pełni żywy w obu delegujących uprawnieniach, bez znacznika czasu I brak czapki, więc klient, którego karta nie powiodła się, zachował ka...

Kamo·2mo ago
FeatureBillingService

Pozwól członkowi kupić własne miejsce i zamknąć otwór na karpas.

Samopłacenie nie miało drogi wewnątrz konsoli. Wszystko na powierzchni rozliczeniowej jest W kształcie konta – musisz już posiadać wiersz kontaMemior, zanim Pla...

Kamo·2mo ago
Featurekamo-internal

Pozwól właścicielowi zdecydować, kto może zapłacić i zarządzaj grupami, które to robią

Właściciel miał dokładnie jedną dźwignię nad samopłatnością i był to niewłaściwy kształt: Nieodwracalny gest promujący, bez możliwości wcześniejszego powiedzeni...

kamo·2mo ago
FeatureBillingService

Org polityka i grupy rozliczeniowe APIs

Kto w organizacji może zapłacić Kamo jest teraz odpowiedzialny i ustawiony. Oba Trasy są lubg-scoped i dlatego celowo na zewnątrz /api/billing/konta/ . I jego p...

Kamo·2mo ago
Featurekamo-internal

Konsola Planów i rozliczenia, która właściciel może znaleźć

Nie było sposobu, aby kupić pierwszą subskrypcję w dowolnym miejscu w produkcie. Listy planów Były dostępne tylko dzięki subskrypcji, którą już posiadałeś, więc...

kamo·2mo ago
FeatureBillingService

Domyślić docelową org nowej subskrypcji do dzwoniący

Pierwszy zakup nie ma istniejącej subskrypcji, aby kopiować targetOrganizationId od, I wymaganie go bezwarunkowo jest tym, co stworzyło jeden z konsoli Niemożli...

Kamo·2mo ago
Featurekamo-internal

Pokaż sufit, nie tylko bajty

Panel przechowywany, dodany, dodano, usunięty i bajtów życia na brak W ogóle odniesienie - więc właściciel patrząc na 400 GB nie miał możliwości, aby stwierdzić...

kamo·2mo ago
FeatureSecurityService

Promocja bramy na politykę właściciela, uczynij go idempotentem, dodaj jej odwrotną

Promowanie członka do płacenia za siebie było bezwarunkowe, jednokierunkowe i niebezpieczne. Powtarzam. Teraz odmawia, gdy polityka organizacji mówi, że organi...

Kamo·2mo ago
FeatureInitializerService

Zrezygnuj z ograniczenia, które ograniczyło członka do jednego konta rozliczeniowego

Ustala ograniczenie przez kształt, a nie z imienia i nazwiska - Hibernate go wygenerował i Nazwa nie jest stabilna w różnych środowiskach, więc wszelkie unikaln...

Kamo·2mo ago
Featurekamo-shared-library

Niech członkowie i grupy płacą za siebie, zgodnie z zasadami właściciela

Brakowało trzech rzeczy, a jedna była aktywnie szkodliwa. Członkowie account_members mieli globalny unikalny namember_id — członek mógłby administrować Dokładn...

Kamo·2mo ago
FeatureSecurityService

Wyrażanie otwartego wpływu na operatora

Strona katalogu aplikacji już odpowiada na pytanie niezależne od orgów — robi dowolne Plan wspomina tę aplikację - i podnosi ostrzeżenie, gdy tego nie robi. To ...

Kamo·2mo ago
Featurekamo-shared-library

Pokaż, ile kosztowałoby wyłączenie, awaria -

kamo.entitlement.fail-open zapewnia dowolną aplikację, o której wersja planowa matryca nigdy nie wspomina. To jest Udokumentowany jako tymczasowy zawór na zasyp...

Kamo·2mo ago
Featurekamo-internal

Pokaż, czy ktoś tam jest, i jego przedłużenie

Każdy rząd teraz nosi kropkę obecności i słowo obok nazwy i jej rozszerzenia w linii szczegółów – więc wybór osoby nie oznacza już wybrania imienia i nazwiska o...

kamo·2mo ago
FeatureSecurityService

Przenieś dostępność, obecność i rozszerzenie w wierszu katalogu

Wybór osoby jest łatwiejszy, gdy rząd mówi, czy tam jest i jak to zrobić Dotarcie do nich, więc każdy z nich teraz nosi to, co ostatnio zadeklarowali, czy cokol...

Kamo·2mo ago
FeatureBillingService

Kup blok, gdy wybiega się z org

Biegnie wkrótce po nocnym zamiataniu, ponieważ to właśnie produkuje Liczba użytkowników, na które decyduje się – rozszerzenie na wczorajszy numer kupi Blokada o...

Kamo·2mo ago
FeatureInitializerService

Dodaj kolumny automatycznego rozszerzanie

Kamo·2mo ago
Featurekamo-shared-library

Zdecydowanie o automatycznej ekspandie z sufitem

Dwie kolumny na subskrypcji, która zawiera bloki: czy kupić inną Automatycznie, gdy organizacji zabrakło miejsca, a najbardziej może Zawsze kup. Celowo domyśln...

Kamo·2mo ago
FeatureBillingService

Niech zmiana ceny katalogowej faktycznie dotrze do Stripe

Ceny Stripe są niezmienne, a mapowanie zawiera jeden wiersz na (org, typ, kod, Cykl) za unikalnym kluczem, więc gdy tylko cena istniała, nigdy nie mogła się zmi...

Kamo·2mo ago
FeatureInitializerService

Dodać kolumny, które sprawiają, że zmiana ceny jest wykrywalna

Order(0), nieważne, bez zasypiania — nie ma broni łamania brzmi tak, jak "nie wiemy, co Cena ta została stworzona z" a gornik traktuje ją jako niewiadomą, a nie...

Kamo·2mo 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