Обновление конечных точек доступности для использования MemberAvailability Статус
Разрешить повышенный доступ к getDomainById и верифицировать конечные точки DNS
Владельцы и члены системы высшего уровня получили 403 на getDomainBy Ид и проверяем DNS, потому что эти конечные точки проверены Организовать напрямую. Добавляе...
Разрешить владельцам и членам системы верхнего уровня управлять доменами любой организации
Предотвращение дублирования корневых доменов и исправление дисплея первичного домена
ONE DOMAIN PER ORG неправильно исключил .kamocrm.com web-alias домены, позволяющие оргу накапливать несколько корневых доменов (и 10 Для каждого из них есть сво...
Уменьшить задержку создания орга и исправить каскадные сбои перевода
- OrganizationController: замените ensureTeamMembersForAllOrgs (полная организация) Сканирование стола) с помощью обеспеченияTeamMemberForOrg (единственная орга...
Добавьте конечную точку загрузки для уже существующих оргов
POST **************** триггеры одинаковые idempotent setup as the sub-org creation hook (англ.) (недоступная ссылка — история). .setupForSubOrgCreation) но може...
Автоматическое назначение первого места, Бесплатно в качестве пола, более широкая форма признания недействительным
BillingSetupService активирует первый слот с открытой лицензией при посеве суборг подписки (и то же для промо-биллинг-владельца) — В противном случае новый влад...
Члены организации верхнего уровня получают план владельца платформы, минуя платежные ворота
Члены KamoCRM (высшего уровня) не подчиняются системе выставления счетов. получить матрицу функций OWNER UNLIMITED (с Free as a) защитный откат, если план владе...
Авто-предоставление кресла KamoCRM для создания суборгов; конечная точка владельца рекламного биллинга
EntitlementService использует SubscriptionMember (не AccountMember) для вычислений членские права — объединение функций между активными сублицензиатами, плюс Св...
AccountGroup -> AccountTier; конечные точки / группы -> / уровни
Конечные точки группы счетов (уровни сегментации клиентов, а не выставление счетов) переименовывается по всему миру, чтобы использовать терминологию «уровня» в ...
Бросьте пользователей / MasterAccountHolder, используйте Account.members + PrimaryMember
AccountController отражает модель Account-as-group: - computeDisplayName / extractEmail / extractPhone resolve through the Основной участник (член) вместо выпав...
Постоянный язык/временная зона/валюта при регистрации
Конечная точка /register теперь принимает язык, часовую зону и частоту по умолчанию. Наряду с существующим регионом. Регистрационный сервис устанавливает страну...
Переход от BillingGroup к учетным лицензиям
EntitlementService разрешает членские права против AccountLicense Записи, принадлежащие счету участника. Права членов Форма теперь выставляет аккаунтUid + аккау...
Поддержка вложенного имени/электронной почты/телефонаЧисла + конечные точки управления адресами
- AccountController принимает вложенное имя/email/phoneNumbers JSON на POST/PUT Начальный адрес на POST создает SHIPPING (и BILLING при использовании набора AsB...
Добавить GET /{id}/history и /{id}/history/filters конечные точки
Назначенная, фильтруемая, доступная для поиска конечная точка с лид-историей с загрузкой пакетного актера (без N + 1). Конечная точка фильтра возвращает различн...
Добавить конечные точки назначения свинцовой учетной записи, обновить AccountController для CurrencyType
Перераспределение триггеров для правильного самоисцеления ASSIGN LEADS
Расширение Backfill TeamMember phoneWork от MemberVoipConfig для стартапа
System-config recording stats + настроек для обработки записей
- Получить **************** Возвращает четыре стойки экспонируется на камо-внутренних настройках → Платформа → Конфигурация → VoIP/SMS Закладка (vmPending, call...
Обновление OrgThemeProvisionServiceTest для параметра описания buildConfigJson
Включите расширение phoneWork в ответ отдела; примите расширение phoneWorkExtension на члене PUT
Включить описание формы в config.json
Добавить поле описания для сборкиConfigJson() и пройти org.getDescription(). от writeConfigFiles() так что тематический config.json несет Описание для интерфейс...
Экспозиция включает Компанию в ответах на впуск-конфигурацию и рыночную конфигурацию
*************************** ************************* Теперь включите флаг компании, чтобы фронтенд знал, показывать ли Название компании по созданию свинца.
Добавить запись диагностики в /names endpoint
Log orgId, количество членов и разрешение на имя каждого члена для диагностики Почему имя назначенного члена не решается правильно.
Приоритет реального имени / фамилии пользователя для отображения
usernameAlias - это функциональная ручка входа (часто равная имени пользователя), Не отображаемое имя. Настоящие человеческие имена живут на User.name (EmbNameF...
Добавить /names endpoint return id→name для всех участников независимо от состояния
Фильтры конечных точек для активных членов команды, но расширение Задания могут ссылаться на базовых членов или неактивных членов. Используйте /имя для Разрешен...
Добавить ******************* конечная точка
Возвращает SalesType, subType и customForms для рынка по рыночному принципу Форма Add Lead может отображать поля подтипа и пользовательские формы ввода без пред...
Решите имя дисплея с правильным приоритетом в конечной точке отдела
Приоритет: member.usernameAlias → user.name.formatFull() → user.alias → user.username
Сериализация длинной строки для предотвращения потери точности JS на больших идентификаторах CockroachDB
Добавить доступно для ответов отдела и меня / конечных точек доступности
Добавить logging для загрузки Background endpoint
Log org/index, информация о файлах, userId, решения auth и постановка MinIO Ключ, чтобы проследить, почему фоновые загрузки не появляются в ковше для постановки...
Восстановление личности участника JsonIdentity Обсуждение Kamo-shared-library
kamo-shared-library b57d156 fixes @JsonIdentityInfo (собственность = "уникальный") • «id» на элементе, разрешающий 400 ошибок на PUT/api/security/org/{id}.
Удалите дубликат CorsFilter, вызывающий двойной заголовок Access-Control-Allow-Origin
Явная фасоль CorsFilter вызвала второй CORS-фильтр вместе с Spring. Встроенная поддержка CORS (с использованием CorsConfigurationSource) Оба фильтра решили шабл...
Позволить пользователю системы управлять брендингом Org и исправлять логотип
- Добавить обход пользователя системы в качестве первой защиты в canManageOrgBranding Пользователь системы имеет полный контроль над всеми неродительскими орган...
Конечные точки System-config + Platform-overview
Поверхность конфигурации всей платформы, закрытая существующим владельцем верхнего уровня Защита (соответствует шаблону SystemUserConfigController’s requireTopL...
Реальная причина ошибки GoDaddy 400
GoDaddy теперь возвращает HTTP 400 с кодом = UNABLE TO AUTHENTICATE «Плохой запрос: плохой запрос», когда учетная запись не соответствует их текущему Производст...
Добавить GET/api/security/org/all-networks для администраторов платформ
Владельцы организаций верхнего уровня теперь могут получить все организации в системе. Информация о членстве относительно абонента. Органы, в которых у абонента...
Drop teamMemberPayFeesНастройка параметра
Зеркало изменения общей библиотеки — SecurityModelController MasterModelController и AppliedModelController перестали читать и писать Разработчик:MemberPayFeesS...
Eager-load domains via findByIdWithDomains, drop @Transactional
@Transactional на методе контроллера держит соединение DB открытым Вся загрузка MinIO, а также риск LazyInitializationException внутренняя GetOrganizationById т...
Фильтрация видимости Alias + автопроверка владения поддоменом
Контролер организации: - Создание Web-alias org теперь автоматически отмечает право собственности isDnsVerified=true on the created OrgDomain — с тех пор запись...
Загрузить непосредственно в public/{domain-folder}/img/ вместо постановки ведра
Конечная точка загрузкиLogo писала в жестко закодированный заполнитель «sumtingwong» (незаполненная настройка) вместо фактического публичного тематического пути...
Удаление сбитого узла k2m1 из краевых узлов по умолчанию
k2m1 (10.8.2.1) постоянно снижается. Оставить его в списке отказов Это привело к тому, что повторные загрузки зависли до тех пор, пока новый тайм-аут OkHttp не ...
Конфигурация уровня организации, клиент GoDaddy и web-alias org создают путь
Проводит новые ветви Subdomain сквозной на бэкэнде: - SubdomainBranchesController for org-level enable + GoDaddy creds (live-verified) GoDaddyDnsClient выполняе...
Бросьте проверку SMS для поля телефона при регистрации
Номер телефона, полученный при регистрации самообслуживания, теперь является простое дополнительное текстовое поле — нет /регистрации/телефона/инициативы, нет S...
Явный статус команды + префикс имени / каталоги суффиксов
GET **************** теперь возвращает имя ИмяSuffixes, полученное от NamePrefixType и NameSuffixType Добавить член / Добавить член команды формы не должны жест...
Сделайте электронную почту + юридическое имя необязательным для регистрации в возрасте до 13 лет
Конечная точка /api/security/register ранее отклоняла любой запрос Отсутствие электронной почты, имени или фамилии. Это сделало путь до 13 (KIDS ONLY orgs, или ...
Как вы видите судоходство?
Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.