Skip to content
KAMOUniverse

Changelog

What's new.

Every improvement to the platform, as it ships.

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

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

  3. · SecurityService

    Add changelog webhook controller and sanitization service

  4. · kamo-shared-library

    Add CommitType enum, CommitLog entity, and CommitLogRepository for changelog system

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

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

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

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

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

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

  11. · kamo-shared-library

    Add findByDat query to ImgRepository for non-lazy Img lookup

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

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

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

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

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

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

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

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

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

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

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

  23. · kamo-capcha-widget

    Change verified label to 'Human Verified'

  24. · kamo-capcha-widget

    Change widget label from 'Verify' to 'I am Human'

  25. · kamo-login

    Change widget label to 'Verify', update unverified login error message

  26. · kamo-capcha-widget

    Change widget label from 'I'm not a robot' to 'Verify' across all locales

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

  28. · kamo-capcha-widget

    Fork Capcha v3.0.2 widget with branding removed for private labeling

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

  30. · kamo-capcha

    Respond with ROFL on home page

Your universe is waiting.

Start free in minutes. Add products whenever you are ready — no migration, no new logins.

Free forever — no credit card required