KamoCRM

直播更改日志

每个功能,固定和改进, 张贴在船。 发射时没有任何东西被挡住.

17,588
变动共计
6,045
特征
5,307
修补
30
项目
按项目过滤
所有项目17,588AIService258APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService582InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService602RAGService79SecurityService1,863TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,373kamo-login339kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,673kamo-signer-monorepo56kamolos114
按类型过滤
所有类型Build16CI523Chore775Docs3,257Feature6,045Fix5,307Other994Performance165Refactor278Revert23Style42Test162Upgrade1
April 18, 2026
FixSecurityService

Use getReferenceById to avoid cascade orphanRemoval flush error on registration

Loading Organization via findById inside @Transactional caused Hibernate to detect the features collection was de-referenced during auto-flush, throwing JpaSyst...

Kamo·6mo ago
FeatureSecurityService

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...

Kamo·6mo ago
FixSecurityService

Align registration field names and response shape with frontend contract

Frontend sends nameFirst/nameLast but controller read firstName/lastName, causing 400 "First name is required". Success response now returns {status, userId, al...

Kamo·6mo ago
FixSecurityService

Add SecurityService and dao.repositories to EnableJpaRepositories scan

UserPhoneLookupRepository in recovery package was not picked up because EnableJpaRepositories only listed dao.repos and commerce. Added the SecurityService base...

Kamo·6mo ago
FeatureSecurityService

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...

Kamo·6mo ago
FixSecurityService

Resolve duplicate emailTemplateServiceClient bean conflict

**************** and **************** were identical @Components with the same default bean name, causing **************** at startup. Delete the duplicate in r...

Kamo·6mo ago
FixSecurityService

Address 4 code-review findings in registration and login paths

- Hide raw exception message in /register 500 path; log instead - Fail-closed (503) on email-verified DB check failure in login - verifyEmailToken throws if use...

Kamo·6mo ago
FeatureSecurityService

Implement SP4 email verification and registration wiring

- Delete legacy email/VerificationEmail.java (hardcoded SMTP stub) - Add **************** (mirrors recovery package pattern) - Add **************** — token gene...

Kamo·6mo ago
FeatureSecurityService

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).

Kamo·6mo ago
FeatureSecurityService

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...

Kamo·6mo ago
FeatureSecurityService

Wire EmailTemplateSeedClient into ****************

Thin RestTemplate client that POSTs to EmailService's **************** after an org + owner TeamMember are persisted. Retries twice with backoff; failure throws...

Kamo·6mo ago
FixSecurityService

Append Z to dateCommitted so JS parses it as UTC

LocalDateTime.toString() produces no timezone designator, causing JavaScript's new Date() to treat the UTC value as local time and display timestamps 7-8 hours ...

Kamo·6mo ago
FixSecurityService

Convert PT midnight cutoff to UTC for today-count query

Commits are stored in UTC but the cutoff was a naive LocalDateTime in PT, causing yesterday-evening PT commits (00:00–06:59 UTC) to be counted as today.

Kamo·6mo ago
April 17, 2026
FeatureSecurityService

Add 'meet' as a required DNS alias

Kamo·6mo ago
OtherSecurityService

Change to configmap to add kamo-nowww

Kamo·6mo ago
OtherSecurityService

Change to configmap to add kamo-analytics

Kamo·6mo ago
FeatureSecurityService

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...

Kamo·6mo ago
FeatureSecurityService

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...

Kamo·6mo ago
FixSecurityService

Bound translation concurrency to 3 threads to prevent DB pool exhaustion

Unbounded @Async (SimpleAsyncTaskExecutor) created 50 threads simultaneously when the retry scheduler fired, each opening a DB transaction and draining HikariCP...

Kamo·6mo ago
FixSecurityService

Three bugs preventing changelog translations from being saved

1. **************** was discarding events because handleWebhook() had no @Transactional — save + publishEvent() ran outside any transaction. Add @Transact...

Kamo·6mo ago
FeatureSecurityService

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...

Kamo·6mo ago
FixSecurityService

Apply word replacement at translation time, not ingestion

Original text is preserved in the DB so that adding a new rule and re-triggering translation is all that is needed to update existing records. Changes: - Chang...

Kamo·6mo ago
FeatureSecurityService

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...

Kamo·6mo ago
FixSecurityService

Check TeamMember.isOrganizationOwner flag for owner detection in my-networks endpoint

The previous check only looked at org.getOwner() (user_id_owner column) which can be null for existing orgs. The authoritative owner flag lives on the TeamMembe...

Kamo·6mo ago
FixSecurityService

Include parent org in /org/domain response

The getOrganizationByDomain endpoint manually builds a response map but never included the parent organization reference. This prevented the frontend from knowi...

Kamo·6mo ago
FixSecurityService

Don't let null translated description hide the English original in changelog

The translation lookup for non-en locales was unconditionally overwriting description with **************** which is null when: - the translation was saved befo...

Kamo·6mo ago
FeatureSecurityService

在更改日志的公共项目中添加帐单服务

Kamo·6mo ago
April 16, 2026
FixSecurityService

将服务机密输入到 pock env

Kamo·6mo ago
FixSecurityService

将翻译服务配置添加到 K8s 配置图

Kamo·6mo ago
CISecurityService

添加货币组以防止工作流程重复运行

当一推触发一个工作流程,工作流程 发送程序也被发射 (或两个推手接连赶来) 两跑将执行 同时。 添加货币组将取消任何在建工程 当新的工作流程开始时,运行同一工作流程+分支.

Kamo·6mo ago
FeatureSecurityService

添加铅摄入管理和公共接收控制器

为自动取铅系统增加两个控制器: - 领带摄入控制器:经认证的CRUD,用于取入端点、字段 绘图、有效载荷排队管理、积压处理和统计 - 领队接收控制员:接受第三方的公开终点 采用限制Redis率、有效载荷尺寸的 JSON 平整,每个端点可配置功能/功能

Kamo·6mo ago
FixSecurityService

在登录 SQL 中正确的安全级别引用

security level在成员席上(m),而非成员-团队-成员(e). 错误的化名 e.security level 导致整个SQL无声地失败, 因此成员Type从未被从查询结果中设定.

Kamo·6mo ago
FeatureSecurityService

在登录时将成员Type存储于 Redis 会话

当 e.id 不 NULL 时添加 Case, 然后“ TEAM Member” 其他“ Member” 结束为 登录 SQL 查询并通过创建会议将结果传递到 Redis, 因此前端可以通过会话数据区分出团队成员与正会成员.

Kamo·6mo ago
April 12, 2026
RefactorSecurityService

删除 Imaging 控制器和豆子/ maging —— 移至 Conversion Service 和 DocsService

上传端点现在位于转换服务站/api/转换/成像/*。 所有管理和下载端点现在都以DocsService at /api/docs/image/*为单位.

Kamo·6mo ago

就像你看到的运输?

所有东西都是靠自己运入你的工作空间的 从免费计划开始,一个月后再读这页.

永远开始自由查看定价