Mabadiliko
Nini kipya.
Kila kuboresha jukwaa, kama ni meli.
· kamo-marketing
Add case-insensitive text replacements for changelog display
Replaces internal tool names with public-facing names (Docs->Docs, Meet->Meet, Capcha->Capcha, Avatar Creator->Avatar Creator, etc.) in titles and descriptions before rendering.
· kamo-marketing
Add Live Change Log page with timeline UI, filters, and stats
Server-side fetches changelog from SecurityService, client component provides project/type filtering, date grouping, expandable descriptions, and paginated load-more. Added nav and footer links.
· SecurityService
Add changelog webhook controller and sanitization service
· kamo-shared-library
Add CommitType enum, CommitLog entity, and CommitLogRepository for changelog system
· kamo-internal
Add access level editor to member settings with org-specific label substitution
Rename CLIENT→MEMBER and INTERNAL→TEAM_MEMBER in ImageAccessLevelType.ts with {var} placeholders. Add access level section to RolesPermissionsTab with edit controls gated by EDIT_MEMBER_ACCESS_LEVEL right and level hierarchy rules. Update DocManager access level labels to use org-specific custom labels from useUserInfo.
· SecurityService
Add member access level and owner status endpoints
Add GET and PATCH **************** endpoints for reading and updating access levels with full permission enforcement. Update organization creation to use createOrganizationOwner.
· InitializerService
Use createOrganizationOwner for admin members, rename INTERNAL to TEAM_MEMBER
Update owner creation to use new createOrganizationOwner method which handles admin role assignment and PRIVILEGED access level automatically. Replace all ImageAccessLevelType.INTERNAL references with TEAM_MEMBER.
· kamo-shared-library
Add member access level system with owner promotion and security controls
Rename CLIENT→MEMBER and INTERNAL→TEAM_MEMBER in ImageAccessLevelType with {var} placeholders for org-specific labels. Move securityLevel from TeamMember to Member for universal access control. Add isOrganizationOwner flag to TeamMember. Add EDIT_MEMBER_ACCESS_LEVEL right to RoleRightType. Add createOrganizationOwner and updateMemberAccess methods to MemberService with full business rule enforcement.
· ConversionService
Proper image-to-PDF conversion with sizing, centering, and multi-page TIFF
- Images scaled to fill page (max width or height) maintaining aspect ratio - Images centered on the page - Multi-page TIFF: one PDF page per TIFF page - Letter/Legal aspect ratio detection: if a TIFF page matches US Letter (8.5x11) or Legal (8.5x14) aspect ratio, that page size is preserved - Landscape images get landscape PDF pages - Added TwelveMonkeys ImageIO TIFF plugin for multi-page TIFF reading
· SecurityService
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
· kamo-shared-library
Add findByDat query to ImgRepository for non-lazy Img lookup
· kamo-internal
Redesign support page and webinar wizard to match account page layout
Both pages now use the same gradient hero header with embedded tab navigation, matching the /account page pattern. The webinar scheduling wizard uses numbered step indicators in the header tabs and full-width content with enterprise-grade card layouts for each step.
· kamo-internal
Add support dropdown with sections, extract webinar scheduling to dedicated page
Support nav button now has a dropdown arrow and Popover with two sections: "Online Support" (Contact Support, View Active Tickets) and "Training" (Request Webinar, My Scheduled Webinars). Webinar scheduling moved from a dialog in MyWebinarsTab to a standalone /support/schedule-webinar page with sequential wizard tabs (Select Type, Choose Time, Confirm).
· kamo-internal
Real-time conversion progress via WebSocket with dual percentages
- Add useConversionWebSocket hook supporting both member and template topics - Create page connects WebSocket before upload, shows live conversion progress from server with dual bars (current step % + overall %) - Stage flow: Hash → Upload (XHR %) → Convert (WebSocket %) → Done - Edit page loads converted PDF immediately (sync conversion) with WebSocket fallback for edge cases
· DaemonService
Add NATS progress publishing for background document conversion
ConversionProgressPublisher publishes real-time progress events for each conversion stage. DocumentConversionJob and ThumbnailGenerationJob now emit progress for WebSocket relay to frontend clients.
· MediaService
Add conversion progress NATS-to-STOMP relay
Relays document conversion progress from NATS to WebSocket clients. Supports both imgId-based and member-based topic routing for real-time progress updates during e-signature template conversion.
· SecurityService
Synchronous PDF conversion for e-signature template uploads
Template uploads now convert directly via ConversionService during the upload request. Publishes NATS progress events for real-time WebSocket updates on the frontend. Falls back gracefully if conversion fails.
· kamo-internal
Implement e-signature template management UI
- Replace E-Signatures tab placeholder with full template datagrid (AG Grid) with sub-tabs for Pending/Completed/Archived and Create New Template button - Add /doc/sign/create page with template name, scope selector, file upload dropzone, hash computation, and password dialog for restricted PDFs - Add /doc/sign/edit page with PDF.js viewer and conversion polling - Add Next.js API proxy routes for template upload, list, status update, and converted PDF streaming
· SecurityService
Add e-signature template API endpoints
- POST **************** — upload template with scope control - POST **************** — list templates by context and status - PATCH **************** — update template lifecycle - GET **************** — stream converted PDF - Add UploadTemplateRequest, TemplateListRequest, UpdateTemplateStatusRequest, TemplateMetadata DTOs
· DaemonService
Add document conversion and thumbnail generation background jobs
- DocumentConversionJob: polls for unconverted files, sends to ConversionService, stores converted PDFs with deduplication - ThumbnailGenerationJob: renders first page of converted PDFs as 300px PNG thumbnails - Add PDFBox dependency for thumbnail rendering - Register both jobs in QuartzConfig with configurable cron schedules
· kamo-shared-library
Add e-signature template support to imaging system
- Add SigTemplateStatusType enum (PENDING, COMPLETED, ARCHIVED) - Add SYSTEM_WIDE ImageAssocType for cross-context templates - Add isSigTemplate, sigTemplateStatus, sigTemplateName fields to Img entity - Add convertedDatId, isConverted, conversionError fields to ImgDat entity - Add repository queries for sig templates and unconverted/thumbnailless files - Add uploadSigTemplate, updateSigTemplateStatus, listSigTemplates to ImageService
· ConversionService
Create ConversionService for document-to-PDF conversion
New Spring Boot microservice that converts documents to PDF using Docs and removes PDF security restrictions using Apache PDFBox. Includes K8s manifests and Forgejo CI/CD pipeline.
· kamo-capcha-widget
Change verified label to 'Human Verified'
· kamo-capcha-widget
Change widget label from 'Verify' to 'I am Human'
· kamo-login
Change widget label to 'Verify', update unverified login error message
· kamo-capcha-widget
Change widget label from 'I'm not a robot' to 'Verify' across all locales
· kamo-login
Replace Capcha npm package with private-labeled kamo-capcha-widget fork
Switched from upstream Capcha npm package to our MIT-forked kamo-capcha-widget with all branding stripped at source. Removed shadow DOM hacks and CSS overrides that were trying to hide branding — no longer needed.
· kamo-capcha-widget
Fork Capcha v3.0.2 widget with branding removed for private labeling
· kamo-capcha
Upgrade to Capcha-lib v2 with PBKDF2/SHA-256 and deterministic effort
- Algorithm: PBKDF2/SHA-256 (recommended for production) - Deterministic effort: counter range 5000-10000 - Cost: 5000 PBKDF2 iterations - Challenge expiry: 300s (5 minutes)
· kamo-capcha
Respond with ROFL on home page

Ulimwengu wako unasubiri.
Kuanza bure katika dakika. Ongeza bidhaa wakati wowote wewe ni tayari - hakuna uhamiaji, hakuna logins mpya.
Bure milele - hakuna kadi ya mkopo inahitajika