Releases: Gabriel-Freitas-S/CGPDI.StudyLab
Releases · Gabriel-Freitas-S/CGPDI.StudyLab
Release list
CGPDI StudyLab v1.0.14
Adicionado
- Screenshots e GIF Animado Automatizados na Documentação:
- Novo script PowerShell
scripts/capture-screenshots.ps1que compila o app, o inicia, navega por todas as 7 abas via UIAutomation e captura cada uma comPrintWindow(GDI32 P/Invoke), salvando emdocs/public/screenshots/. - GIF animado
docs/public/gifs/demo.gifgerado automaticamente via FFmpeg a partir dos frames de cada aba (slideshow 2 s/frame, paleta otimizada, escala 1280px). - Novo workflow GitHub Actions
capture-screenshots.ymlque dispara a cada push emmain(alterações emCGPDI.StudyLab/**), instala FFmpeg via Chocolatey e commita os assets atualizados com[skip ci]. - Galeria visual interativa na homepage da documentação Astro (
index.mdx) com abas (Tabs) mostrando screenshot de cada módulo. - Seção "📸 Interface" no
README.mdcom o GIF animado e tabela de screenshots em<details>, servidos pelo GitHub Pages emcgpdi.gabrielfs.dev.
- Novo script PowerShell
- Versionamento automático no desenvolvimento com MinVer: builds locais agora derivam a versão do histórico git (tags
v*+ altura de commits), eliminando a parametrização manual de versão para pacotes de desenvolvimento. O GitHub Actions continua usando versão explícita (MinVerSkip=true), sem impacto nos instaladores publicados. - Personalização Visual dos Instaladores:
- Tela Splash temática Dark Slate (
#0D0E18) com barra de progresso em Ciano Elétrico (#38BDF8) e logotipo 3D cristalino para o instalador Velopack (Setup.exe). - Banner superior personalizado (
493x58 px) e tela de diálogo com logotipo (493x312 px) no padrão WiX para o instalador corporativo MSI (.msi). - Textos de boas-vindas (
installer_welcome.txt), introdução (installer_readme.md) e conclusão (installer_conclusion.txt) customizados com informações sobre o .NET 10 e a plataforma.
- Tela Splash temática Dark Slate (
- Página de Documentação — Fluxo de Desenvolvimento & Ferramentas:
- Novo capítulo detalhando todas as 11 tecnologias e ferramentas do projeto (.NET 10, WPF, Roslyn Scripting, Velopack, WiX, SonarQube, Snyk, Graphify, MinVer, xUnit, Astro Starlight), explicando seu papel no ecossistema com diagrama interativo Mermaid.
- Identidade Visual e Favicon na Documentação:
- Configuração do favicon vetorial oficial transparente (
/favicon.svg) e padronização do portal Astro sem uso de emojis nos títulos e diagramas, priorizando ícones nativos e tipografia limpa.
- Configuração do favicon vetorial oficial transparente (
Segurança
- Blindagem contra Ataques na Cadeia de Suprimentos (Supply Chain Hardening):
- Ecossistema .NET / NuGet:
- Criação de
nuget.configcom<clear />ePackage Source Mappingpara prevenção contra Dependency Confusion e Typosquatting. - Ativação de
RestorePackagesWithLockFilee geração de lockfilespackages.lock.jsoncom hashes criptográficos SHA-512 de todas as dependências diretas e transitivas. - Ativação de
NuGetAuditcom auditoria em tempo de restore para todas as dependências (NuGetAuditMode=all).
- Criação de
- Ecossistema Node.js / npm:
- Criação de arquivos
.npmrc(raiz edocs/) comignore-scripts=true(bloqueio de execução arbitrária de código empreinstall/postinstall),save-exact=true,package-lock=trueeaudit=true. - Fixação determinística de versões exatas no
docs/package.json.
- Criação de arquivos
- Testes Automatizados de Conformidade:
- Criação de
SupplyChainSecurityTests.cs(4 testes automatizados) e integração à suíte de testes xUnit (118 testes totais).
- Criação de
- Ecossistema .NET / NuGet:
Alterado
- Modernização de expressões regulares para geradores de código em tempo de compilação com
[GeneratedRegex], eliminando riscos de ReDoS e melhorando a performance na renderização de sintaxe C#/XAML e fórmulas matemáticas. - Refatoração de comparadores de ponto flutuante em conversões de espaços de cores para tolerâncias seguras com epsilon (
1e-9). - Otimização do gerenciamento de recursos gráficos WPF com congelamento (
Freeze()) de pincéis estáticos, reduzindo alocação e prevenindo retenção desnecessária de memória.
Corrigido
- Falha de empacotamento MSI no GitHub Actions (
There is a release in channel win which is equal or greater to the current version): o diretórioReleases-msi/(comreleases.win.jsonobsoleto) foi removido do controle de versão — o Velopack agora empacota sempre em canal limpo no runner, permitindo republicar a mesma versão sem conflito de canal. - Compatibilidade e Transparência dos Ícones Multi-Resolução: Refatorada a estrutura interna do arquivo
app_icon.icopara a especificação DIB 32bpp nativa do Windows com cabeçalhoBITMAPINFOHEADERe máscara AND de transparência nas resoluções 16x16 a 128x128 e stream PNG em 256x256, eliminando definitivamente o fundo preto nos atalhos da Área de Trabalho, Menu Iniciar, barra de tarefas e instaladores Velopack/MSI. - Resolução de Conflito de Versão BAML/Assembly na Inicialização: Removido o MinVer do build de publicação e unificada a parametrização de versão via MSBuild (
Version,AssemblyVersion,FileVersion,InformationalVersion), garantindo que o compilador BAML do WPF e a compilação C# usem exatamente o mesmoAssemblyVersion, eliminando a falha fatal (FileNotFoundExceptionnoApp.InitializeComponent) na abertura do aplicativo após a instalação via EXE ou MSI. - Ícones da aplicação com fundo transparente no gerador vetorial
AppIconHelpere nos assets SVG/PNG/ICO. - Resiliência na inicialização pós-instalação (EXE e MSI): implementado tratamento global de exceções (
DispatcherUnhandledException,AppDomain.UnhandledException,TaskScheduler.UnobservedTaskException) com gravação de diagnóstico em%LocalAppData%\CGPDI.StudyLab\logs\crash.loge diálogo informativo em caso de falhas de hardware ou permissões. - Inclusão dos arquivos de
Assetsdiretamente na distribuição do executável (CopyToOutputDirectory="PreserveNewest"), evitando tentativas desnecessárias de escrita em diretórios protegidos comoProgram Files. - Tratamento explícito de cancelamento e descarte seguro de
CancellationTokenSourceno diálogo de atualizações. - Correção de operações binárias em métodos de teste dinâmico do compilador em tempo de execução.
- Responsividade e Contenção de Layout no Astro Docs: adicionado sistema global de contenção de grid (
min-width: 0,overflow-wrap: anywhere), scroll horizontal seguro para tabelas e quebra responsiva de cards e código inline, evitando colisões com o sumário lateral. - Renderização de Componentes Starlight: migração de arquivos com imports JSX para extensão
.mdxe ajuste da configuração do Astro para execução adequada de<CardGrid>,<Steps>e<Tabs>. - Formato de Imagens para o Instalador WiX MSI: geração dos assets
msi_banner.bmp(493x58) emsi_dialog_logo.bmp(493x312) no formato nativo Windows Bitmap (.bmp) exigido pelo WiX Toolset / Velopack, corrigindo a falha de empacotamento no GitHub Actions.
CGPDI StudyLab v1.0.12
Adicionado
- Personalização Visual dos Instaladores:
- Tela Splash temática Dark Slate (
#0D0E18) com barra de progresso em Ciano Elétrico (#38BDF8) e logotipo 3D cristalino para o instalador Velopack (Setup.exe). - Banner superior personalizado (
493x58 px) e tela de diálogo com logotipo (493x312 px) no padrão WiX para o instalador corporativo MSI (.msi). - Textos de boas-vindas (
installer_welcome.txt), introdução (installer_readme.md) e conclusão (installer_conclusion.txt) customizados com informações sobre o .NET 10 e a plataforma.
- Tela Splash temática Dark Slate (
- Página de Documentação — Fluxo de Desenvolvimento & Ferramentas:
- Novo capítulo detalhando todas as 11 tecnologias e ferramentas do projeto (.NET 10, WPF, Roslyn Scripting, Velopack, WiX, SonarQube, Snyk, Graphify, MinVer, xUnit, Astro Starlight), explicando seu papel no ecossistema com diagrama interativo Mermaid.
- Identidade Visual e Favicon na Documentação:
- Configuração do favicon vetorial oficial transparente (
/favicon.svg) e padronização do portal Astro sem uso de emojis nos títulos e diagramas, priorizando ícones nativos e tipografia limpa.
- Configuração do favicon vetorial oficial transparente (
Segurança
- Blindagem contra Ataques na Cadeia de Suprimentos (Supply Chain Hardening):
- Ecossistema .NET / NuGet:
- Criação de
nuget.configcom<clear />ePackage Source Mappingpara prevenção contra Dependency Confusion e Typosquatting. - Ativação de
RestorePackagesWithLockFilee geração de lockfilespackages.lock.jsoncom hashes criptográficos SHA-512 de todas as dependências diretas e transitivas. - Ativação de
NuGetAuditcom auditoria em tempo de restore para todas as dependências (NuGetAuditMode=all).
- Criação de
- Ecossistema Node.js / npm:
- Criação de arquivos
.npmrc(raiz edocs/) comignore-scripts=true(bloqueio de execução arbitrária de código empreinstall/postinstall),save-exact=true,package-lock=trueeaudit=true. - Fixação determinística de versões exatas no
docs/package.json.
- Criação de arquivos
- Testes Automatizados de Conformidade:
- Criação de
SupplyChainSecurityTests.cs(4 testes automatizados) e integração à suíte de testes xUnit (118 testes totais).
- Criação de
- Ecossistema .NET / NuGet:
Alterado
- Modernização de expressões regulares para geradores de código em tempo de compilação com
[GeneratedRegex], eliminando riscos de ReDoS e melhorando a performance na renderização de sintaxe C#/XAML e fórmulas matemáticas. - Refatoração de comparadores de ponto flutuante em conversões de espaços de cores para tolerâncias seguras com epsilon (
1e-9). - Otimização do gerenciamento de recursos gráficos WPF com congelamento (
Freeze()) de pincéis estáticos, reduzindo alocação e prevenindo retenção desnecessária de memória.
Corrigido
- Ícones da aplicação com fundo preto: removido o retângulo escuro opaco do gerador vetorial
AppIconHelpere arquivos SVG/PNG/ICO, passando a usar canal alfa transparente (Alpha = 0) para exibição limpa em qualquer tema ou papel de parede do Windows. - Resiliência na inicialização pós-instalação (EXE e MSI): implementado tratamento global de exceções (
DispatcherUnhandledException,AppDomain.UnhandledException,TaskScheduler.UnobservedTaskException) com gravação de diagnóstico em%LocalAppData%\CGPDI.StudyLab\logs\crash.loge diálogo informativo em caso de falhas de hardware ou permissões. - Inclusão dos arquivos de
Assetsdiretamente na distribuição do executável (CopyToOutputDirectory="PreserveNewest"), evitando tentativas desnecessárias de escrita em diretórios protegidos comoProgram Files. - Tratamento explícito de cancelamento e descarte seguro de
CancellationTokenSourceno diálogo de atualizações. - Correção de operações binárias em métodos de teste dinâmico do compilador em tempo de execução.
- Responsividade e Contenção de Layout no Astro Docs: adicionado sistema global de contenção de grid (
min-width: 0,overflow-wrap: anywhere), scroll horizontal seguro para tabelas e quebra responsiva de cards e código inline, evitando colisões com o sumário lateral. - Renderização de Componentes Starlight: migração de arquivos com imports JSX para extensão
.mdxe ajuste da configuração do Astro para execução adequada de<CardGrid>,<Steps>e<Tabs>. - Formato de Imagens para o Instalador WiX MSI: geração dos assets
msi_banner.bmp(493x58) emsi_dialog_logo.bmp(493x312) no formato nativo Windows Bitmap (.bmp) exigido pelo WiX Toolset / Velopack, corrigindo a falha de empacotamento no GitHub Actions.
CGPDI StudyLab v1.0.10
Adicionado
- Migração do auto-update para o Velopack: instalador moderno em
%LocalAppData%(sem UAC), atualizações delta (baixa apenas as alterações, frequentemente < 5 MB) e notas da release embutidas no pacote. - Fallback inteligente de atualização para laboratórios universitários: caso a máquina esteja em modo machine-wide (
Program Files) e o aluno/professor não possua permissão de administrador nem tarefa SYSTEM disponível, o app faz fallback automático e aplica a versão mais recente no diretório local do usuário (%LocalAppData%) ou pacote portátil, garantindo atualização instantânea sem depender de chamados de TI. - Badge informativo de ambiente de instalação (
Instalação da TI (Zero-Admin),Instalação por Usuário (Zero-Admin)ouModo Portátil) no diálogo de atualizações. - Guia completo e análise de segurança de TI para laboratórios universitários em
docs/src/content/docs/iniciantes/cenario-universitario-sem-admin.mdabordando conformidade com CIS Benchmarks, NIST SP 800-53, AppLocker e prevenção de escalação de privilégios. - Diálogo de atualização reformulado: changelog formatado com seções coloridas (Adicionado/Corrigido/Alterado), destaque de código e negrito; modo delta mostra o tamanho do download otimizado.
- Botão "Ignorar esta versão" no diálogo de atualização — a versão ignorada não é mais oferecida em verificações automáticas.
- "Lembrar mais tarde" agora é persistente: a notificação fica suspensa por 7 dias por versão.
- Tamanho dos pacotes (instalador/portátil) exibido no diálogo de atualização.
CHANGELOG.mdcomo fonte única de notas de release: o pipeline CI extrai a seção da versão e a publica no GitHub Releases e dentro dos pacotes Velopack.- Instalação com escolha entre "apenas este usuário" e "todos os usuários (requer administrador)" no instalador.
- Instalador MSI (
CGPDI-StudyLab-MachineWide.msi) para implantação machine-wide via GPO/Intune pela equipe de TI. - Atualização automática em instalações para todos os usuários sem depender da TI: ao clicar em "Atualizar Agora", o app aplica tudo em segundo plano via tarefa agendada SYSTEM (criada na instalação) ou reiniciando-se com permissão de administrador — sem janelas extras e sem downloads manuais.
Corrigido
- Reutilização de
HttpClientnoUpdateManager(evita esgotamento de conexões a cada verificação). - Notificação de atualização não incomoda mais a cada inicialização quando o usuário já adiou/ignorou a versão.
- Atualização manual de pacote
.zipem diretórios somente leitura (comoProgram Filesexecutado por usuário não-administrador) agora redireciona a extração com segurança para o diretório de usuário sem falhas de permissão.
Segurança
- Atualizações verificadas via HTTPS (TLS 1.3) com hashes de integridade do GitHub Releases oficial e proteção contra injeção de parâmetros arbitrários na tarefa agendada SYSTEM.
Removido
- Instalador Inno Setup (
installer/) — substituído pelo instalador Velopack (Setup.exe).
CGPDI StudyLab v1.0.4
🔄 CGPDI StudyLab v1.0.4
✨ Novidades
- Atualização automática: o app agora verifica novas versões no GitHub Releases e oferece download com barra de progresso, instalador automático ou versão portátil.
- Estrutura WPF consolidada e organizada.
📚 Documentação
- Documentação abrangente de todos os módulos de estudo e pipeline de deploy.
⬇️ Downloads
- Instalador:
CGPDI-StudyLab-Setup.exe - Portátil (zip):
CGPDI-StudyLab-Portable-win-x64.zip
CGPDI StudyLab v1.0.3
🎨 CGPDI StudyLab v1.0.3
✨ Novidades
- Estúdio de Projetos: nova interface com renderização de fórmulas matemáticas e compilação de código ao vivo (C#/XAML).
- Viewport 3D avançado (
WpfViewport3DManager): câmera arcball e geometria 3D paramétrica. - Configuração de release no CI/CD com testes unitários como gate de qualidade.
🔧 Melhorias
- Base de testes ampliada para garantir estabilidade das novas funcionalidades.
⬇️ Downloads
- Instalador:
CGPDI-StudyLab-Setup.exe - Portátil (zip):
CGPDI-StudyLab-Portable-win-x64.zip
CGPDI StudyLab v1.0.0
🚀 CGPDI StudyLab v1.0.0
Lançamento inicial do Estúdio de Computação Gráfica e Processamento Digital de Imagens (.NET 10 / WPF).
✨ Novidades
- PDI: filtros espaciais, histogramas, morfologia matemática (Otsu), detecção de bordas (Canny) e operações pontuais.
- Rasterização 2D: reta de Bresenham, círculos, elipses, preenchimento e recorte.
- Computação Gráfica 3D: pipeline MVP, iluminação Blinn-Phong e renderizador em software.
- Ray Tracing: interseções de raios, reflexões e refrações.
- Central de Estudos: quizzes de fixação por conteúdo.
- Laboratório interativo de C#/WPF.
📚 Documentação
- Site completo com Astro Starlight, diagramas Mermaid e deploy no GitHub Pages.
🔄 Infraestrutura
- Sistema de atualização do aplicativo.
- CI/CD: GitHub Actions com build, empacotamento (portátil + instalador) e release automática.
- Análise de segurança CodeQL.
⬇️ Downloads
- Instalador:
CGPDI-StudyLab-Setup.exe - Portátil (zip):
CGPDI-StudyLab-Portable-win-x64.zip - Executável único:
CGPDI-StudyLab-Portable.exe