Değişiklik Günlüğü
Yeni ne var?
Gemideki her iyileştirme.
· 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.
· kamo-internal
Sumark modifier (behind / yukarıdaki içerik) için katman pozisyonu seçeneği ekleyin
- SumarkModifier bir 'katman' alanı kazanır: 'behind' | 'above' (defaults to 'behind') - ModifierLayer şimdi bir 'pass' prop ('below' | 'above'): Aşağıdaki geçiş: sayfa numaraları, etiketler ve tabaka ile su işaretleri ='behind' Yukarıdaki geçiş: sadece tabaka ile su işaretleri ='above' - PdfCanvas iki ModifierLayer geçiş yapar - FieldOverlay /Annotasyondan önce biri Katman ve bir sonraki - bu yüzden su işaretleri ya arkaya ya da tüm yerleştirilen içeriklerin üstüne oturabilir - Toolbox WatermarkSettings: Segmented toggle "Behind Content / Above Content", Solid Color switch'in üstünde yer aldı
· kamo-internal
Sumark modifier to esign toolbox
- SumarkModifier türü: logoType (full/simple), başlangıçPage, endPage, rotasyon (-180-180), boyut (10–% 90 sayfa genişlik), opaklık (2-60%), sağlam renkli toggle, renk (hex) - Tam logoya dönerler, -45° rotasyonu,% 50 boyut,% 15 opaklık ModifierLayer: WatermarkOverlay sayfadaki org tema logo merkezini oluşturur + döndürür. KatıRenk etkinleştirildiği zaman, doğrusal bir SVG filtresi (feRenkMatrix) alfa kanalını korurken her pikselin rengini değiştirir - temiz bir silhouette tuval veya KURUMSALS endişeleri olmadan doldurur - Toolbox: WatermarkSettings Panel with - Logo tipi seçici (gerçek veyag logoları gösteren görsel karolar) - Page range inputs - Rotasyon, boyut ve opaklık kaydırıcıları - Solid Color toggle - Quick-set color presets (Primary, Secondary, Black, White) CSS varlarından oku - Katı mod aktif olduğunda ModernRenkPicker aktif renktedir modifier menüsü kazanç Watermark seçeneği; kart listesi opakity i + özetini gösterir
· kamo-internal
Etiket değiştiricisini LM/RM rotasyonu ile tam 8-pozisyon ızgarasını genişletin
EtiketModifier.position now uses ModifierPosition8 (same 8position grid as Page Numbers) - LM (Middle Left): Her satır yazı modu ile dikey bir hap olarak verilir: dikey-rl + döner (180deg) - metin okuma CCW (Yukarıda); satırlar sol tarafta sol-sağ o çizgi 1 sayfa kenarına en yakın, çizgi 3 en çok inward - RM (Middle Right): Her çizgi yazı-mode kullanır: dikey-rl ( ekstra rotasyon) - metin CW'ı okur (top-to-yüz); line-reverse so line 1 is at the right edge, lines come inward-ward-rl - TM/BM şimdi Etiketler üzerinde mevcut (standart yatay hap, merkezi) - Toolbox'tan Kaldırılan PozisyonGrid4; Etiketler kullanım PozisyonGrid8 LM/RM seçildiğinde gösterilen bir ipucu ile - İndirilen ModifierPosition4 türü (daha uzun gerekli değil)
· kamo-internal
Araçlar/Modifiers sekmelerini canlı tuval overlays ile esign Toolbox'a ekleyin
- Split Toolbox takım çubuğunu Araçlara bıraktı ve Modifiers sekmeleri Modifiers sekmesi: bölünmüş liste + ayarlar paneli (PP B) Sayfa Numaraları modifier: start/end page, 8-position grid (TL/TM/TR/LM/RM/BL/BM/BR), format presets + custom ({n}/{top} tokens) Etiket modifier: start/end page, 4-corner grid, 3 yığın metin hatlarına kadar - Her türün birden çok örneği desteklenen Kartlar Show type icon + summary (range, pozisyon, önizleme text) Seçilmiş kart birincil renkte işaret eder; daha düşük panelde ayarlar - ModifierLayer bileşeni: tanımlanmış aralığın içinde canlı tuval overlays, pointer-events: Hiçbir şey, z-index aşağıda alanlarda /annotations - DesignData modifiers[] ile genişletildi - kurtarma / yük/vers/undo-redo-redo-redo-redo
· kamo-marketing
Bugünün değişimlog sayılarını / değişimloguna bağlantı ile gösterir
· 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
· 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
· 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
· 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
· 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.
· 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}
· 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
· 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.
· kamo-internal
İlerleme göstergelerini yüklemek için başvuru adımını ekleyin, Jamesnails WS stage
· SecurityService
Notlar WS ilerleme ile yükleme sırasında sayfa başına pernail nesli
- PDFBox'u pom.xml'e bağımlılık ekleyin. PDF'yi depolamaktan sonra, PDFRenderer aracılığıyla tüm sayfaları etkinleştirin ve her birini {id} Cardano p{npng KLM - Publish creating Cardanonails WS ilerleme etkinliği sayfa başına (72-95 aralığı) "Generated prnail N of M" etiketi ile - Oda yapmak için önceki tüm aşama yüzdelerini yeniden ölçeklendirmek: 0-10, 10-15'i indirme, 1555'i doğrulama, 55-63'ü, 63-72'yi, başparmak 72-95'i, 95-100'i sonlandırdı
· SecurityService
Add GET **************** Sayfa başına hizmet etmek için son nokta PNGpars
· DaemonService
Generate per-page thumbnails for all PDF pages, store as {id}_thumb_p{n}.png
· kamo-shared-library
Konsolosluk arazisini ekleyin ve per-sayfa başı desteği içinPageThumbnails sorgusunu bulun
· 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.
· kamo-internal
Tasarım tuvali, işaretçiler ve sürümleme ile e-signature şablon editörü ekleyin
Tabbed arayüzü (Settings & Signers,) ile /doc /sign /edit sayfasının yeniden yazılması. Tasarım), PDF.js tuvali sürüklenebilir alan overlay, annotasyon araçları, işaretleyici Yönetim, sayfa baş tarafbar, sürüm tarihi ve geri alındı / Eklenenler Zustand mağazaları, API proxy rotaları ESigService ve 13 yeni bileşen.
· 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.
· kamo-shared-library
E-signature şablon varlıkları ekleyin, enums ve repositories
E-signature şablon tasarımı sistemi için yeni JPA varlıklar: ESignTemplate, ESignTemplateSigner, ESignTemplateDesignVersion ve ESignTemplateFieldLink Enums ve Spring Data repositories'i desteklemekle.
· kamo-marketing
Redact K8s değişimlog ekranında gizli isimler, ile değiştirin -
· kamo-marketing
Gerçek toplamlar için Server-side stats, sonsuz kaydırma, doğru filtre sayıları
Stats bar ve filtre hapı şimdi /api/changelog/public/stats / (real DB arsaları, yüklü sayfa sayısı değil). Değiştirilmiş Yük Daha Fazla Düğme IntersectionObserver sonsuz kaydırma ile 600px'i tetikleyen alt.
· SecurityService
Ekle /api/changelog/public/stats, tür ve proje tarafından toplam sayı için son nokta ekleyin
· kamo-shared-library
CommitLogRepository for stats endpoint
· SecurityService
Changelog endpoint için webhook gizli doğrulama ekle
Savunma-in-derinlemesine: doğrular - kafaları APIService Gateway doğrulama ek olarak güvenlik hizmetleri tarafı.
· 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.
· SecurityService
Tüm 23 Forgejo repos ile ortak projeler

Evreniniz sizi bekliyor.
Birkaç dakika içinde ücretsiz olarak başlatın. Hazır olduğunuzda ürünleri ekleyin - göç yok, yeni girişler yok.
Sonsuza kadar ücretsiz — kredi kartı gerekmiyor