KamoCRM

บันทึกการเปลี่ยนแปลงชีวิต

ทุกคุณสมบัติ แก้ไขและปรับปรุง โพสต์เป็นเรือ ไม่มีอะไรยึดเหนี่ยวไว้ สําหรับการเปิดตัว.

17,500
เปลี่ยนแปลงทั้งหมด
5,986
คุณสมบัติต่าง ๆ
5,284
แก้ไข
30
โครงการ
กรองโดยโครงการ
ทุกโครงการ17,500AIService251APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService576InitializerService329KBService151KlusterServices740MCPGatewayService251MediaService602RAGService79SecurityService1,847TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,349kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,657kamo-signer-monorepo56kamolos114
กรองตามประเภท
ทุกประเภทBuild16CI523Chore774Docs3,254Feature5,986Fix5,284Other994Performance165Refactor278Revert23Style42Test160Upgrade1
April 20, 2026
FeatureSecurityService

Add GET /branch-types/creatable and /{id}/usages endpoints

/creatable returns branch types filtered by the caller's creator-type (OWNERS/TEAM_MEMBERS/MEMBERS) via AppliedModelEnforcementService. /{id}/usages returns th...

Kamo·6mo ago
FixSecurityService

Use correct session key 'memberID' instead of 'MID'

KSessionService stores member ID under key 'memberID' but both **************** and OrganizationController were reading session.get("MID") which always returned...

Kamo·6mo ago
FixSecurityService

Exclude master model from models list; add debug log to child-org creation check

SecurityModelController now filters out the org's master model (identified by org.getMasterModelID()) from the /api/security/models response — it is managed exc...

Kamo·6mo ago
FixSecurityService

Read session rights as List<String> names, not CSV of integer IDs

Session rights are stored as a JSON array of RoleRightType name strings. Both **************** and OrganizationController were casting them to String (causing C...

Kamo·6mo ago
April 19, 2026
FeatureSecurityService

Add GET /branch-types/creatable endpoint with creator-type filtering

Returns only the branch types the calling member is permitted to create a child org under, based on their OWNERS/TEAM_MEMBERS/MEMBERS classification against the...

Kamo·6mo ago
FeatureSecurityService

Gate /network child-org creation by right + member-type applicability

Wires the applied-security-model child-org creation gate end-to-end: - SecurityModelController + MasterModelController round-trip the three new apply-to flag...

Kamo·6mo ago
ChoreSecurityService

Rebuild for kamo-shared-library update (appConfig upsert-only fix)

Pulls the hardened **************** that no longer deletes appConfig rows whose service types are absent from the caller's payload — prevents silent data loss w...

Kamo·6mo ago
FeatureSecurityService

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

Kamo·6mo ago
ChoreSecurityService

Surface root-cause on MasterModelController GET failure

When GET /api/security/master-model 500s, log the full stack trace to stderr (captured by kubectl logs) and include the root-cause message on the wire rather th...

Kamo·6mo ago
FeatureSecurityService

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

Kamo·6mo ago
FeatureSecurityService

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

Kamo·6mo ago
FeatureSecurityService

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

Kamo·6mo ago
FeatureSecurityService

Wire branch types into security model CRUD endpoints

Kamo·6mo ago
FeatureSecurityService

Add POST **************** endpoint

Kamo·6mo ago
FeatureSecurityService

Auto-sync missing role rights on startup

Kamo·6mo ago
FixSecurityService

Use core NATS pub/sub for email-verified SSE fan-out

Replaces in-memory ConcurrentHashMap broadcast with NATS core pub/sub so all pods receive verification events regardless of which pod handled the token. Falls b...

Kamo·6mo ago
FixSecurityService

Use avatarType field + JDBC for photo URL generation to handle Hibernate proxies

**************** previously used instanceof AvatarPhoto to determine avatar type and cast to read fileExtension. When Hibernate returns a base-class proxy (e.g....

Kamo·6mo ago
FeatureSecurityService

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

Kamo·6mo ago
April 18, 2026
FeatureSecurityService

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

Kamo·6mo ago
FixSecurityService

Populate all EMAIL_VERIFICATION template variables

Was sending only {token, code} — template also needs orgName, firstName, verifyLink, and expiryMinutes. Load org and user to build the full vars map, and resolv...

Kamo·6mo ago
FixSecurityService

Use subdomain-aware SQL to match findByDomain JPQL logic

Org domain lookup in resendVerification was doing an exact-match query that failed for subdomains stored as child records (e.g. 'api' with parent 'kamocrm.com')...

Kamo·6mo ago
FixSecurityService

Correct EmailService URL port in configmap (4203 -> 80)

EmailService K8s service exposes port 80, not 4203. Verification emails were timing out on every registration attempt.

Kamo·6mo ago
FixSecurityService

Bypass JPA org lookup to avoid Hibernate cascade flush error

**************** triggers **************** which causes a Hibernate auto-flush. That flush fails because Organization.features was previously replaced with a pl...

Kamo·6mo ago
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

เหมือนที่คุณเห็นการขนส่ง?

ทั้งหมดของมันมาถึง ในที่ทํางานของคุณเอง เริ่มที่แผนฟรี และอ่านหน้านี้อีกครั้งในเดือน.

เริ่ม เป็น อิสระ ตลอด ไปแสดงพริ้นซ์