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 ESignTemplate...
Mapeamento correto do nome do campo entre a infraestrutura e a interface para a API de nível de acesso
Segurança de backend do mapaLevelId→accessLevel, isOrganizationOwner→isOwner, memberType→isTeamMember in API route. Corrigir a verificação correta para usar EDI...
Adicionar back estático para página de oferta quando a API de assinatura não estiver disponível
A mesa ainda não existe em produção. então a API retorna um erro. Recuar para a promoção codificada e planejar dados assim, a página de oferta funciona independ...
Atualizar o tipo ApiPromotion para corresponder à nova resposta da infraestrutura List<String>
aplicávelPlanIds e AplicávelBillingCycles são agora arrays, não strings JSON.
Extend 18DOFF promotion end date to 2026-12-31
The April 14 end date was causing the offer page to show as expired.
Remover validação secreta do webhook redundante, APIService lida com a autenticação HMAC
Validate Forgejo HMAC-SHA256 signature instead of plain secret header
Forgejo sends webhook secret as X-Gitea-Signature / X-Forgejo-Signature HMAC-SHA256 hash, not as a plain header value. Read body, verify HMAC, then forward to S...
Redact K8s nomes secretos na exibição changelog, substituir por ***
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). Bo...
Remover KamoGamesRoboCluck de projetos públicos changelog, adicionar scripts de backfill
Adicionar /api/changelog/public/stats endpoint para contagem de agregados por tipo e projeto
Adicionar pesquisaByProjectIn query to CommitLogRepository for stats endpoint
Forçar a página changelog a renderizar dinamicamente, não estaticamente em tempo de compilação
Usar a porta 80 para o URL de serviço do SecurityService K8s, e não a porta de aplicação bruta 4201
Truncar títulos de commit superiores a 500 caracteres para evitar falhas de inserção DB
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.
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 / ...
Mover o Registo de Alterações para os Recursos nav/footer e adicionar a todos os Mapas de Sites
Atualizar data de lançamento do banner de pré-visualização para 20 de abril
Remover soluções de análise JSON para arrays ID do plano de assinatura
A infra- estrutura agora retorna arrays apropriados ao invés de strings JSON, então o já não é necessária a lógica de recurso try/parse/catchback no pacote adic...
Use List<String> instead of manual JSON strings for promotion plan/cycle IDs
Update KamoCRMPricingLoader to use List.of() for applicablePlanIds and applicableBillingCycles, matching the shared library's migration from JSON strings to ent...
Migrar os campos da subscrição JSON para relações @ManyToMany baseadas na entidade
Substituir as colunas de texto jsonb (planIds compatíveis, incluídosInPlanIds, aplicáveisPlanIds, AplicávelBillingCycles) com JPA adequado @ManyToManyJunta tabe...
Configurar projetos públicos changelog com todos os 23 repos Forgejo
Adicionar substituições de texto insensíveis a maiúsculas para a exibição changelog
Substitui nomes de ferramentas internas por nomes de face pública (Docs-> Doutores, Conheça->Meet, Capcha->Capcha, Criador Avatar->Avatar Creator, etc.) em títu...
Adicionar página Live Change Log com interface temporal, filtros e estatísticas
O servidor obtém changelog do SecurityService, componente cliente fornece filtragem de projeto/tipo, agrupamento de datas, descrições expansíveis, e mais carga ...
Adicionar o CommitType enum, a entidade CommitLog e o CommitLogRepository para o sistema changelog
Adicionar editor de nível de acesso às configurações de membros com substituição de etiquetas específicas para org
Renomear CLIENT→MEMBER e INTERNAL→TEAM MEMBER em ImageAccessLevelType.ts com placeholders {var}. Adicione a seção de nível de acesso a RolesPermissionsTab com c...
Adicionar nível de acesso dos membros e parâmetros de status dos proprietários
Adicione GET e PATCH Endpoints para leitura e atualização dos níveis de acesso com autorização total. Atualizar criação de organização para usar createOrganizaç...
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 Image...
Adicione o sistema de nível de acesso do membro com controle de promoção e segurança do proprietário
Renomear CLIENT→MEMBER e INTERNAL→TEAM MEMBER em ImageAccessLevelType com {var} placeholders para etiquetas específicas de org. Mova o nível de segurança de mem...
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...
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
Handle image files (JPG, PNG, TIFF, etc.) directly via PDFBox instead of Docs
Docs can't convert images to PDF. Added ImageToPdfService that embeds images into a PDF page using PDFBox. Docs is only used for office document formats (DOC, D...
Use imgRepository.findByDat() instead of lazy imgDat.getImages()
Quartz jobs run outside JPA sessions, so lazy collection access on ImgDat.images throws LazyInitializationException. Use explicit repository query instead.
Add extensive logging to synchronous conversion flow, fix bucket lookup
Use img.getAssocId() for bucket instead of local assocType variable. Add step-by-step logging for download, conversion call, and result.
Mostrar mensagem de erro específica na página de edição em vez de falha genérica
Usar o botão React JSX no AG Grid cellRenderer em vez do elemento DOM bruto
Atualizar todas as assinaturas da função imagingApi para aceitar o imgId do número string
Reconstruir o gatilho para obter a biblioteca compartilhada JPQL consulta corrigir
Passe SYSTEM WIDE como parâmetro em vez de FQCN na consulta JPQL
Hibernate pode não resolver nomes de enum totalmente qualificados em JPQL em todos versões. Passe ImageAssocType.SYSTEM WIDE como um parâmetro nomeado.
Como o que vês no transporte?
Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.