Applied-model is the read-time source of truth for feature availability
Closes the "stale DB leaks a disabled feature" gap by gating every surface that touches OrgFeature / ServiceType through the applied security model. - ********...
Wire applied-model enforcement across every controller
Every non-role setting on the applied security model is now enforced at the exact controller boundary it governs, and the scalar settings round-trip cleanly thr...
Enforce system-role assignment and auto-admin for team-member owners
MemberSecurityController now enforces the three assignment invariants defined in the brainstorm spec: - saveMemberSecurity: before persisting the caller's requ...
Master-model + applied-model endpoints and template-aware org seeding
Adds the controllers that surface the new branch-type security flow: - /api/security/master-model (GET/PUT) manages the current org's master model; only writ...
Supplement session rights with all known rights for grant-all roles
Add SSE endpoint for real-time email verification + improve welcome email logging
Add resetCode to password reset email, add emailVerifyByCode endpoint, send WELCOME_MEMBER after email verification
Pass human-readable expiry time to email verification template
Add humanizeMinutes() helper that formats minutes as days/hours/minutes (e.g. "1 day" for 1440 min). Pass as {{expiryText}} to match updated canonical template ...
Add code-based email verification path to /verify-email endpoint
The endpoint now handles both token (link click) and userId+code (manual 6-digit entry). Token path unchanged; code path hashes the supplied code and matches ag...
Add register-photo endpoint for unauthenticated post-registration avatar upload
POST **************** accepts userId + file/fileSm/fileMd/fileLg without a session. Guards: user must be unverified and have no avatar yet, preventing abuse aga...
Add GET /api/security/geoip/me for client IP country lookup
Reads real client IP from X-Forwarded-For / X-Real-IP headers, does a GeoLite2 lookup, and returns { country_code, country_name }. Used by kamo-register's count...
Implement SP4 email verification and registration wiring
- Delete legacy email/VerificationEmail.java (hardcoded SMTP stub) - Add **************** (mirrors recovery package pattern) - Add **************** — token gene...
Add AccountSettingsController + Service for phone + security questions (SP3)
Allows logged-in users to set/verify phone and configure 3 security questions. Routes to /api/account/* (session-authenticated via KSESSION_DATA).
Add BulkTextSmsClient + EmailTemplateServiceClient + PasswordRecoveryController (SP3)
Full password recovery flow: email-link, SMS OTP, security questions, seed phrase. Routes to /api/recover/* (unauthenticated). Uses SP1 email pipeline + VOIPSer...
Wire EmailTemplateSeedClient into ****************
Thin RestTemplate client that POSTs to EmailService's **************** after an org + owner TeamMember are persisted. Retries twice with backoff; failure throws...
Add public known-aliases endpoint for kamo-nowww build-time bake-in
Add analytics → analytics text replacement in changelog sanitization
Redact tokens ≥32 chars in changelog sanitization
Any word (run of non-whitespace) that is 32 characters or longer is replaced with **************** before titles and descriptions are sent to the translation se...
Generate TXT verification token on domain create, check in verify-dns
- createDomain: generate 32-char UUID token and store via setVerificationToken - verifyDns: check _kamo-verify TXT record for kamo-site-verification=<token> - T...
Update required aliases — add app, capcha, docs, sign; remove legacy
Add /setup/dns backend — one-domain enforcement, SSL probe, new aliases
- Enforce one custom domain per org in POST /api/security/domains - Add capcha, docs, sign to standard aliases; remove legacy aliases - Update verify-dns to tra...
Move changelog word replacement to backend before translation
Text replacements (Docs→Docs, Meet→Meet, etc.) and secret name redaction (K8s secret names→***) were previously applied client-side in ChangelogClient.tsx, mean...
Добавьте асинхронный перевод для changelog и планов подписки, добавьте общедоступные API с локальным знанием
Добавить управление потреблением свинца и контроллеры общественного приема
Добавляет два контроллера для автоматизированной системы впуска свинца: - LeadIntakeController: аутентифицированный CRUD для конечных точек потребления, поле от...
Добавить GET **************************** Конечная точка с использованием SQL Count
Участник StoreType в сессии Redis при входе в систему
Если e.id не является полноценным, тогда «TEAM MEMBER» Логин SQL запрос и передает результат через createSession в Redis, Фронтенд может отличать членов команды...
Синхронная генерация миниатюр на странице во время загрузки шаблона с гранулированным прогрессом WS
Добавить зависимость от PDFBox в pom.xml После хранения преобразованного PDF, отобразите все страницы через PDFRenderer и загрузите каждую как {id} thumb p{n}.p...
Добавить GET **************************** конечная точка для обслуживания миниатюр PNG на странице
Добавить конечную точку /api/changelog/public/stats для совокупных показателей по типам и проектам
Добавить валидацию Webhook Secret для changelog endpoint
Оборона в глубину: проверяет *** заголовок на Сторона SecurityService в дополнение к проверке шлюза APIService.
Настройка общественных проектов Changelog со всеми 23 репо Forgejo
Добавить уровень доступа участников и конечные точки статуса владельца
Добавить GET и PATCH **************** конечные точки для считывания и обновления уровней доступа с полным разрешением. Обновить создание организации с помощью c...
Add granular conversion progress stages with 8 distinct WebSocket updates
Stages: downloading (0-15%) → preparing (15-20%) → converting (20-65%) → verifying (65-75%) → storing (75-90%) → finalizing (90-100%) → complete
Синхронное преобразование PDF для загрузки шаблонов электронной подписи
Загрузка шаблонов теперь конвертируется непосредственно через ConversionService во время Запрос на загрузку. Опубликованы события прогресса NATS для WebSocket в...
Добавление конечных точек API шаблона электронной подписи
- POST **************** - загрузите шаблон с контролем области действия — POST **************** — шаблоны списков по контексту и статусу — PATCH ***************...
Заменить Google re*** проверкой Capcha***
Удалите Re***Service и все настройки Google re***. Добавить CapchaVerificationService, который проверяет *** полезные нагрузки kamo-capcha service's /api/verify...
Добавьте конечные точки интеграции розничных поставщиков для тестирования соединения, синхронизации, возможностей и веб-хуков
Улучшить POST / Клиенты для приема контактной информации и поиска пользователя по электронной почте
Создать учетную запись теперь принимает электронную почту, контактное имя, телефон, принимает маркетинг, освобождается от налогов. Если электронная почта предос...
Добавить 18 конечных точек детализации для управления коммерческими клиентами
Новые конечные точки на AccountController в /api/security/account/: - Клиент CRUD: GET/POST/PUT/DELETE/клиенты, GET/клиенты/{uid} - Связанные данные: GET/custom...
Добавить 111 конечных точек розничной торговли в CommerceMarketController
Все конечные точки в /{marketId}/retail/... пространства имен: - Категории, бренды, атрибуты (со значениями), изображения, варианты, теги, отзывы - Клиенты, адр...
Expand CommerceMarketController with nested market-centric endpoints
Replace flat POS endpoints with market-scoped REST hierarchy: - Products, inventory, vendor categories under /{marketId}/products, /inventory, /vendor-categorie...
Как вы видите судоходство?
Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.