Ir para o conteúdo
KAMOUniverse

Changelog

O que há de novo.

Cada melhoria para a plataforma, como ele envia.

  1. · APIService

    Add /api/esig/** gateway routing to ESigService

    Route all /api/esig/** requests through the existing API gateway to the dedicated ESigService (kamowsesig-service) instead of the non-existent proxy target. Adds esig.service.url config property with the correct K8s internal service URL as default.

  2. · kamo-internal

    Adicionar a opção de posição da camada ao modificador Watermark (atrás / acima do conteúdo)

    - WatermarkModifier ganha um campo de 'camada': 'atrás' (por omissão para 'atrás') - ModifierLayer agora leva um 'pass' prop ('abaixo'': - abaixo passe: renderiza números de página, rótulos e marcas d'água com camada='atrás' - acima da passagem: só dá marcas d'água com camada='acima' - PdfCanvas renderiza dois ModifierLayer passes - um antes FieldOverlay/Annotação Camada e uma depois — para que as marcas de água possam sentar-se atrás ou em cima de todo o conteúdo colocado - Caixa de Ferramentas WatermarkSettings: segmentado para alternar "Conteúdo atrás /Conteúdo acima" inserido acima do interruptor Solid Color

  3. · kamo-internal

    Adicionar modificador de marca de água à caixa de ferramentas de esign

    - Marca d'águaTipo de modificador: logoType (full/simples), startPage, endPage, rotation (−180–180), tamanho (10–90% da largura da página), opacidade (2–60%), cor sólida, cor (hex) - Padrão para logotipo completo, −45° rotação, 50% de tamanho, 15% opacidade - ModificadorLayer: WatermarkOverlay renderiza o logotipo do tema org centrado + girado na página. Quando solidColor está habilitada, um filtro SVG em linha (feColorMatrix) substitui cada cor de pixel enquanto preserva o canal alfa — dá um preenchimento de silhueta limpo sem preocupações de tela ou CORS - Caixa de ferramentas: WatermarkSettings painel com - Selector de tipo logótipo (telhas visuais que mostram os logótipos de org) - Entradas de gama de páginas - Rotação, tamanho e opacidade deslizantes - Alternar cor sólida - Predefinições de cor rápidas (Primário, Secundário, Preto, Branco) lidas de vars CSS - ModernColorPicker para cores personalizadas quando o modo sólido está ativo - Adicionar menu modificador ganha opção Watermark; lista de cartões mostra ícone de opacidade + resumo

  4. · kamo-internal

    Estenda o modificador de etiqueta para uma grade completa de 8 posições com rotação LM/RM

    - LabelModifier.position agora usa ModifierPosition8 (mesma grade de 8 posições como Números de Página) - LM (Médio-Esquerdo): cada linha renderizada como uma pílula vertical com modo de escrita: vertical-rl + rotação(180deg) — texto lê CCW (baixo-para-top); linhas empilhar esquerda-para-direita assim linha 1 é mais próxima da borda da página, linha 3 é mais para dentro - RM (Middle Right): cada linha usa modo de escrita: vertical-rl (sem rotação extra) - texto lê CW (top-to-bottom); linha-reverso assim que a linha 1 está na borda direita, linhas vêm para dentro - TM/BM agora disponível em Etiquetas (pílula horizontal padrão, centrada) - Removido PositionGrid4 da Caixa de Ferramentas; Etiquetas usam PositionGrid8 com uma dica mostrada quando LM/RM está selecionado - Modificador RemovidoPosição4 tipo (já não é necessário)

  5. · kamo-internal

    Adicionar abas Ferramentas/Modificadores para assinar a Caixa de Ferramentas com sobreposições de tela ao vivo

    - Dividir a barra lateral esquerda da caixa de ferramentas nas abas Ferramentas e Modificadores - Guia de modificadores: lista dividida + painel de configurações (Opção B) - Modificador de números de página: página inicial/fim, grade de 8 posições (TL/TM/TR/LM/RM/BL/BM/BR), predefinições de formato + tokens personalizados ({n}/{total}) - Modificador de etiquetas: página inicial/final, grade de 4 cantos, até 3 linhas de texto empilhadas - Várias instâncias de cada tipo suportadas - Cartas mostram tipo ícone + resumo (intervalo, posição, texto de antevisão) - Destaques de cartões selecionados na cor primária; configurações carregar no painel inferior - ModifierLayer component: live canvas overlays renderizados por página dentro do intervalo definido, ponteiro-eventos: nenhum, índice z abaixo campos/anotações - DesignData estendido com modificadores[] - persistiu através de save/load/version/undo-redo

  6. · kamo-marketing

    Mostrar a contagem do changelog de hoje no banner de antevisão com link para / changelog

  7. · kamo-internal

    Fix floating zoom control visibility and polish thumbnail placeholders

    - Move floating zoom controls outside the scroll container and use position:absolute so they remain visible at all times regardless of scroll position; offset 28px from right to account for scrollbar gutter - Rewrite ThumbnailCanvas placeholder logic: containers now render at US Letter aspect ratio before any image loads, then animate to the true aspect ratio once the thumbnail resolves; paddingTop is applied imperatively via a ref to bypass MUI's spacing system - Aspect ratio transitions smoothly with a spring curve when rotation changes (portrait ↔ landscape morph) - Spinner fades/shrinks out and thumbnail fades/scales in with a polished keyframe sequence on load

  8. · kamo-internal

    Page selection with animated glow border synced between canvas and thumbnail sidebar

    - DesignTab holds selectedPageIndex as the single source of truth - Clicking any page in the main canvas selects it (onPageSelect) - Clicking a thumbnail selects the page AND scrolls to it in the main canvas - Selected page in the main canvas gets a 2.2s pulsing theme-colored glow: three-layer box-shadow (solid ring + spread + ambient) breathing from dim to bright - Selected thumbnail in the sidebar gets a matching but proportionally smaller glow - When a page is selected via the main canvas, the thumbnail sidebar auto-scrolls the corresponding thumbnail into view (scrollIntoView nearest) - Replaced the broken useVisiblePage stub (always returned 0) with real selectedPageIndex prop - Page container converted from plain <div> to MUI Box to support sx/@keyframes - Unselected pages gain a subtle hover shadow for discoverability

  9. · kamo-internal

    Auto-select first signer, fix zoom control scrollbar gap, animate properties panel

    - Toolbox auto-selects the first signer's UID when signers go from 0→1 - Canvas container uses scrollbar-gutter: stable so the sticky zoom/undo control maintains a consistent right-edge gap regardless of scrollbar visibility - Properties panel slides up (spring easing, 380ms) on open and slides down (ease-in, 240ms) on close using MUI Slide with cubic-bezier(0.34,1.56,0.64,1) - Switching between fields triggers a subtle fade+translate keyframe (220ms) via React key on the inner content wrapper, keeping the outer container mounted - Panel gains a soft top shadow (0 -8px 32px) to lift it visually off the canvas

  10. · kamo-internal

    Reorder tabs, gate field tools by signer, redesign Settings & Signers tab

    - Design is now the first tab; Settings & Signers is second - Toolbox shows "Add Signer" CTA (navigates to Settings) when no signers exist - Signature Tools, Identity Fields, and Input Fields are disabled (grayed out with lock icon) until a signer is selected; Annotation Tools remain always available - Settings & Signers tab fully redesigned: two-column full-height layout — left panel (380px) for template name, scope selector, and association type; right panel (flex) for the scrollable signers list with sticky header, empty state, and add-another footer

  11. · kamo-internal

    Render field controls as actual-looking form elements with signer color tinting

    Each field type now renders a visual representation of the real control (text input, checkbox, toggle, dropdown, radio group, date picker, etc.) tinted with the assigned signer's color. Resize handles are now 4 corner-only circular dots instead of 8 directional handles.

  12. · DocsService

    Add imaging management endpoints — move all non-upload imaging from SecurityService

    - Add 17 imaging DTOs to beans/imaging/ (folders, documents, templates, updates) - Add ImagingController at /api/docs/imaging with all management + download endpoints: - Folders: GET/POST list+create, PATCH rename, DELETE, POST move-doc - Config: GET assoc-config, GET doc-types - Documents: GET download, DELETE delete, GET metadata, POST list - Updates: PATCH update/description, filename, hidden, access-level, doc-type, folder - Trash: PATCH trash/restore - History: GET history/changes, GET history/downloads - Templates: POST templates/list, PATCH templates/{id}/status, GET templates/{id}/converted-pdf, GET templates/{id}/thumbnail/{page}

  13. · ConversionService

    Add imaging upload endpoints — move all upload logic from SecurityService

    - Add JPA, Redis, NATS, kamo-shared-library, JJWT, commons-io, jackson-hibernate6 to pom.xml - Add datasource, Redis master/replica, NATS, MinIO config to application.yml - Add OTKPreAuthFilter + KSessionService for OTK-based auth - Add ImagingUploadController at /api/conversion/imaging: - POST /upload — regular document upload - POST /templates/upload — full synchronous pipeline (upload → Docs convert → thumbnail generation → NATS WebSocket progress events) - Fix thumbnail object naming to use originalDat.getId() consistently with DaemonService and the download endpoint

  14. · ConversionService

    Add ThumbnailService and POST **************** endpoint

    Accepts a PDF file, renders each page at 150 DPI via PDFBox, packs per-page PNGs into a ZIP (thumb_p0.png, thumb_p1.png, …) and returns it. Centralises all thumbnail generation logic in ConversionService; callers store the ZIPed results themselves.

  15. · kamo-internal

    Adicionar passo de miniaturas para carregar indicador de progresso, track generating thumbnails WS stage

  16. · SecurityService

    Geração de miniaturas sincronizadas por página durante o upload do modelo com progresso granular WS

    - Adicionar dependência PDFBox para pom.xml - Depois de armazenar PDF convertido, renderizar todas as páginas via PDFRenderer e enviar cada como {id} thumb p{n}.png - Publique evento de progresso WS gerating thumbnails por página (variação de 72-95%) com a etiqueta "Generation thumbnail N of M" - Redimensionar todas as percentagens do estágio anterior para dar espaço: baixar 0-10, preparar 10-15, converter 15-55, verificar 55-63, armazenar 63-72, miniaturas 72-95, finalizar 95-100

  17. · SecurityService

    Adicionar GET **************************** Endpoint para servir as miniaturas de PNG por página

  18. · DaemonService

    Generate per-page thumbnails for all PDF pages, store as {id}_thumb_p{n}.png

  19. · kamo-shared-library

    Adicionar o polegarPageCount field and findNeedingPageThumbnails query for per-page thumbnail support

  20. · ESigService

    Add template init endpoint to find-or-create templates by imgId

    The create page uploads to the imaging system and redirects with imgId. The edit page now calls POST /api/esig/templates/init with the imgId to find an existing template or create a new one in DRAFT status.

  21. · kamo-internal

    Adicionar editor de modelo de assinatura eletrônica com tela de design, sinalizadores e versão

    Reescrita completa da página /doc/sign/edit com interface de tabulação (Configurações & Signers, Design), PDF.js canvas com sobreposição de campo arrastável, ferramentas de anotação, signater gestão, barra lateral de miniaturas de página, histórico de versões e desfazer/refazer. Inclui Lojas Zustand, rotas proxy API para ESigService e 13 novos componentes.

  22. · ESigService

    Initial ESigService Spring Boot project for e-signature template management

    New microservice with REST API for e-signature template CRUD, signer management, design version snapshots, and field link tracking. Includes OTK auth filter, Forgejo CI/CD pipeline, and K8s deployment manifests.

  23. · kamo-shared-library

    Adicionar entidades de modelo de assinatura eletrónica, enums e repositórios

    Novas entidades JPA para o sistema de projeto de modelo de assinatura eletrónica: ESignTemplate, ESignTemplateSigner, ESignTemplateDesignVersion e ESignTemplateFieldLink Com apoio a enums e repositórios de dados da Primavera.

  24. · kamo-marketing

    Redact K8s nomes secretos na exibição changelog, substituir por ***

  25. · kamo-marketing

    Estatísticas do lado do servidor para totais reais, rolos infinitos, contagens precisas de filtros

    Barra de estatísticas e contagem de comprimidos de filtro agora vêm de /api/changelog/public/stats (agregados DB reais, não contagens de páginas carregadas). Botão Carregar Mais Substituido com o pergaminho infinito IntersectionObserver que desencadeia 600px antes do No fundo.

  26. · SecurityService

    Adicionar /api/changelog/public/stats endpoint para contagem de agregados por tipo e projeto

  27. · kamo-shared-library

    Adicionar pesquisaByProjectIn query to CommitLogRepository for stats endpoint

  28. · SecurityService

    Adicionar validação secreta do webhook ao endpoint do changelog

    Defesa em profundidade: valida o cabeçalho *** no SegurançaService lado além de validação de gateway APIService.

  29. · APIService

    Expose changelog webhook through APIService with secret key auth

    Adds POST /api/changelog/webhook route that validates *** header before forwarding to SecurityService. Secret configured via CHANGELOG_WEBHOOK_SECRET env var / K8s secret.

  30. · SecurityService

    Configurar projetos públicos changelog com todos os 23 repos Forgejo

Seu universo está esperando.

Comece gratuitamente em minutos.Adicione produtos sempre que estiver pronto — sem migração, sem novos logins.

Gratuito para sempre — não é necessário cartão de crédito