Skip to content

Releases: jacksonbicalho/os-camera

v0.15.0-rc

v0.15.0-rc Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Jul 22:05
59dac52

✨ Novidades

  • preferences: add "Testes" section with Telegram/Web Push notification test buttons (68957db)
  • preferences: T2 — seção Testes com cards de teste Telegram/Web Push (133f5c9)
  • server: T1 — gates de notificação + endpoints de teste (Telegram/Web Push) (f7b6d74)
  • about: integrate update alert into server info + blocking progress modal (b8661c4)
  • about: T3 — modal de progresso bloqueante consumindo o SSE do apply (81772a2)
  • about: T2 — mover alerta de update para última linha do card, changelog expansível (81e10be)
  • updater: T1 — OnStep de progresso + SSE /api/updates/apply/live (ed3735b)
  • events: módulo central de eventos + auto-recuperação de recorder/transmissão (6584b52)
  • alerts: T4 — internal/alerts traduz eventos operacionais em notificação (f844276)
  • transmission: T3 — HLSStreamer publica eventos de parada/recuperação (3b14bf6)
  • events: T1 — internal/events, barramento in-process (5a200f0)
  • notifications: web push real para notificações de movimento (ce1eb56)
  • notifications: T4 — Service Worker + fluxo de subscribe na UI (ba16576)
  • notifications: T3 — endpoints de subscribe/unsubscribe/chave pública (119e38b)
  • notifications: T2 — chaves VAPID + Sender webpush + wiring em NotifyCameraMotion (250e7d8)
  • notifications: T1 — migration + CRUD de push_subscriptions (9bed16b)
  • frontend,server: force reload on stale build when app reopens (31c917d)
  • frontend,server: T1 — force reload when reopened app has a stale build (cfea140)
  • frontend: T1 — Sidebar libera Gravações/Histórico/Relatórios pra viewer (e40629c)
  • workflow: T3 — closes_refs/close_ticket_issues + push-pr + /act (5117950)
  • workflow: T2 — resolve issue<->ticket + espelha review na Issue (52af611)
  • workflow: T1 — issue template + create-ticket-issues.sh (bc0bf2d)
  • extensions: adiciona a extensão Face Detector (esqueleto liga/desliga) (80c6b3a)
  • extensions: T2 — card Face Detector no frontend (c4c71be)
  • extensions: T1 — extensão face-detector no backend (31ef5ca)
  • telegram: T5 — MotionTelegramNotify vira ExtensionCard (9f842ca)
  • telegram: T4 — atualiza o vínculo sem reload via push por usuário (f4ce91e)
  • frontend: T3 — mostra dados do chat Telegram vinculado (1e9af51)
  • telegram: T2 — captura e expõe dados do chat vinculado (a7aa2ea)
  • frontend: T1 — TelegramLinkSection segue o padrão do ExtensionCard (54a53f6)
  • telegram: T7 — ícone de marca em Extensões, Perfil e Detecção de movimento (7f57fa4)
  • telegram: T8 — link clicável pro evento + validação de gravação disponível (802c832)
  • telegram: T6 — canal dedicado, mensagem formatada, snapshot e public_url (5614bf3)
  • telegram: T5 — bloco de opt-in de notificação em CameraMotionSection (3df7285)
  • telegram: T4 — resolução de destinatários e wiring do Sender/onMotionEvent (6b0f34a)
  • telegram: T3 — rotas de opt-in por câmera + telegram_active em /api/me/preferences (68c2539)
  • telegram: T2 — Sender de notificações Telegram (extensão ativa + chat_id vinculado) (0a5c65a)
  • telegram: T1 — persistência do opt-in de notificação de movimento por (usuário, câmera) (40d9a35)
  • fullstack: badge "sem gravação" nos cards de Momentos, antes do clique (78e5cfa)
  • fullstack: badge "sem gravação" nos cards de Momentos, antes do clique (7d9b334)
  • fullstack: badge "sem gravação" nos cards de Momentos, antes do clique (e0ac9dd)
  • fullstack: badge "sem gravação" nos cards de Momentos, antes do clique (35f5c8c)
  • frontend: ícone dedicado para Detectores de objetos no sidebar (365dea4)
  • frontend: ícone dedicado para Detectores de objetos no sidebar (d4965ba)
  • telegram: T4 — UI de vínculo em ProfilePage (3a408ce)
  • telegram: T3 — poller de long-polling resolve /start e confirma (318ec43)
  • telegram: T2 — endpoints de vínculo/desvínculo + telegram_linked (41f70ff)
  • telegram: T1 — persistência de código de vínculo + chat_id por usuário (67e5931)
  • frontend: T3 — símbolo novo (favicon/ícone/banner/CameraLogo) (a8fc301)
  • server: T1 — meta tags Open Graph/Twitter Card pro compartilhamento (bce0d92)
  • capture: T2 — opção MJPEG no formulário de câmera (976f351)
  • capture: T1 — capture_type=mjpeg como protocolo de 1ª classe (4acfd94)
  • frontend: T4 — câmera fica sempre editável, remove rota Editar (b89b9ee)
  • frontend: T3 — Gravação/Transmissão sempre editáveis, Aplicar próprio (586a5cf)
  • frontend: T2 — CameraCaptureSection sempre editável, Aplicar próprio (83b8709)
  • extensions: T5 — excluir a config do S3 (47aa15e)
  • extensions: T4 — frontend generalizado + tela Configurar do S3 (08c2214)
  • extensions: T3 — migração drives→retention_extensions (singleton) + s3 na lista de extensões (a609a45)
  • extensions: T1 — modelo genérico de extensões (lista com categoria/descrição/disponível/ativo) (492b1f6)
  • extensions: T4 — each extension in its own card (b886b62)
  • extensions: T3 — PreferencesTabs sub-item hierarchy (da04167)
  • extensions: T2 — Preferences/Extensions page + Sidebar link (85cf42f)
  • extensions: T1 — Telegram module + config + instance toggle (2e61a42)
  • notifications: T3 — email sender + notify_email preference (676163f)
  • notifications: T2 — migrate the 3 existing call sites to the Dispatcher (1c0d5cc)
  • notifications: T1 — dispatch foundation + application sender (bb3afa8)
  • cameras: T4 — remove aba "Movimento", funde como sessão em CameraDetailSettingsPage (d5c1bbf)
  • cameras: T3 — Captura/Gravação/Transmissão sessions, remove Configurações avançadas (78bf4f4)
  • cameras: T2 — capture_type section in CameraForm (76d6da9)
  • cameras: T1 — fix camera-create navigation, hide list on /new (b5b0c2c)
  • capture: T5 — move camera stats section to ServerSettingsPage (2e6a047)
  • capture: T4 — gate ShouldPublish/ShouldRunHLS by capture_type and live_enabled (d4467c6)
  • capture: T3 — dispatch capture_type in internal/ffprobe (e003cfd)
  • capture: T2 — dispatch capture_type in internal/motion (ecfa164)
  • capture: T1 — camera live_enabled backend schema (872721f)
  • capture: T4 — dispatch capture_type in internal/transmission/hls (8e3bd48)
  • capture: T3 — dispatch capture_type in internal/recorder (77aadeb)
  • capture: T2 — internal/capture/hls package (d541312)
  • capture: T1 — camera capture_type backend schema (793b0c6)
  • capture: T2 — migra takeSnapshot pro pacote capture/rtsp (d1652d4)
  • capture: T1 — internal/capture/rtsp conexão + decisão de transcode (b227af7)
  • estados: T5 — Relatórios usam a categoria composta (dc8abe2)
  • estados: T4 — Gravações/Momentos usam a categoria composta (34e3784)
  • estados: T2 — chave composta em eventCategory.ts (inclui T3) (3e2db3d)
  • estados: T1 — unicidade de nome de classificador por câmera (b2700b7)
  • analysis: T5 — frontend /settings/trainers + seletor + Sidebar (7df7904)
  • analysis: T4 — finetune.go resolve o trainer cadastrado (trainer_id) (04d01e9)
  • analysis: T3 — internal/server/trainers.go, CRUD do cadastro (99dc0f4)
  • analysis: T2 — internal/trainer, interface Trainer + New + adapter yolo (2feb3c0)
  • analysis: T1 — trainers/trainer_config + accessors Go (25a2d39)
  • analysis: T10 — breadcrumb e botão de voltar na tela de teste de detector (0339198)
  • analysis: T9 — análise huggingface usa snapshot do evento de movimento (f1a76ce)
  • analysis: T8 — adapter Hugging Face extrai frame de vídeo antes de enviar (22b0b04)
  • analysis: T7 — corrige URL default HF + campo editável + Content-Type do upload (a551809)
  • analysis: T6 — seletor de tipo e campos condicionais no cadastro de detector (f0d1a83)
  • analysis: T4 — validação por tipo, mascaramento de token e dispatch via internal/detector (64d6c81)
  • analysis: T3 — adapter Hugging Face (Inference API hospedada) (f1dc1ea)
  • analysis: T2 — internal/detector com adapter YOLO (5489691)
  • analysis: T1 — coluna type em object_detectors (aditivo) (e4c12f5)
  • analysis: T7 — limiar efêmero na tela de teste de detector (23cd2ea)
  • analysis: T6 — remove limiar do cadastro de detector (e34e953)
  • analysis: T5 — remove toggle e limiar globais da tela de análise (6a039ca)
  • analysis: T4 — seletor de detector e limiar por câmera (1e4c864)
  • analysis: T3 — aposenta enabled/confidence_threshold globais (7b4882f)
  • analysis: T2 — analyzeNewRecordings usa detector por câmera (0562855)
  • analysis: T1 — camera_analysis_config detector_id/confidence_threshold (936ab18)
  • detectors: T5 — tela de teste (upload + detecções) para object detectors (595e33d)
  • detectors: T4 — frontend listagem + form criar/editar object detectors (dbb609a)
  • detectors: T3 — endpoint de teste (upload multipart) para object detectors (1970b18)
  • detectors: T2 — handlers REST CRUD para object detectors (76f9128)
  • detectors: T1 — migration + CRUD internal/db para object detectors (1fc4bdb)
  • ui: T5 — DiscoverPage em Card (corrige corte da coluna no mobile) (fd53cfc)
  • ui: T4 — CamerasSettingsPage em Card com Badge e botões com texto (a139bf9)
  • ui: T3 — header do Ao vivo numa linha só no mobile (PageHeader.actionsWrap) (373bc23)
  • server: T2 — analysis_enabled na listagem de câmeras (settings + /api/cameras) (08b84ec)
  • ui: T1 — componente Badge (cva) + migração RoleBadge/DiscoverPage (32fc1b3)
  • frontend: T3 — campos de hora/minuto do filtro viram dropdown (6fd88df)
  • frontend: T3 — player responsivo + LiveViewPage colunas por viewport (af48626)
  • frontend: T2 — Sidebar como drawer mobile + ajustes no Layout (79322c3)
  • frontend: T1 — MobileNa...
Read more

v0.14.1-dev

Choose a tag to compare

@github-actions github-actions released this 25 Jun 07:45
a96e3d4

🐛 Correções

  • db: instalação nova não cria o usuário admin (backup pré-migration criava o banco) (0ca8aca)

Commits: v0.14.0-dev...v0.14.1-dev

v0.14.0-dev

Choose a tag to compare

@github-actions github-actions released this 25 Jun 07:05
ed1ef56

✨ Novidades

  • updates: UI de atualização na página Sobre (status, novidades, botão atualizar) (50a4b44)
  • updater: wiring do self-replace — endpoint apply, re-exec e recuperação no boot (83d4d61)
  • updater: engine de apply/rollback do update (marcador, orquestração, recuperação) (4650d41)
  • updater: primitivos de download verificado e troca atômica do binário (8e8c7ed)
  • updater: detecção de ambiente e apply_mode no /api/updates (6c2387c)
  • dbbackup: snapshot/restore do SQLite e backup automático antes de migrations (d35b081)
  • updates: checagem de nova versão e endpoint /api/updates (36368a7)
  • release: campo image no manifesto version.json (c5a32b6)
  • release: manifesto version.json no fluxo de release (2a2eca2)

Commits: v0.13.0-dev...v0.14.0-dev

v0.13.0-dev

Choose a tag to compare

@github-actions github-actions released this 25 Jun 00:14
544cbfa

✨ Novidades

  • cli: comando camera config lista a configuração atual (dcccaa7)

🐛 Correções

  • install: Termux via proot-distro (remove termux-elf-cleaner) + autostart (c663898)

🔧 Manutenção

  • workflow: story sempre preenchida, pós-revisão só aprovação, e scripts/release-pr.sh (e76f780)

Commits: v0.12.1-dev...v0.13.0-dev

v0.12.1-dev

Choose a tag to compare

@github-actions github-actions released this 24 Jun 21:57
f194c30

🐛 Correções

  • dist: binário PIE (Android/Termux) + termux-elf-cleaner no install (b5b6a4e)

🔧 Manutenção

  • dist: publicar no Docker Hub (em vez de GHCR) + enxugar o README (6ab18a6)

Commits: v0.12.0-dev...v0.12.1-dev

v0.12.0-dev

Choose a tag to compare

@github-actions github-actions released this 24 Jun 19:48
93b4c77

✨ Novidades

  • install: suporte a Termux + autostart (termux-services) (246c5d1)
  • install: install.sh sem root e sem systemd (modo usuário + sem serviço) (46d38dd)
  • docker: imagem multi-arch publicada no GHCR (amd64/arm64/arm-v7) (2cc98a6)
  • reports: rótulo das linhas do mapa de atividade em dd/mm/yyyy + dia da semana (f8c09bc)
  • ui: mover o sino "Eventos" para o topo do sidebar (1º item) (f17d6d0)
  • reports: período = data (fim) + janela; heatmap coerente + horas rotuladas (4e9192b)
  • recordings: modo "Gravações" lista todas as gravações do dia (7c9524d)
  • reports: heatmap temporal (dia da semana × hora) em /reports (ee26e3b)
  • recordings: busca por conteúdo em /recordings (288456d)
  • recordings: página global /recordings — navegador de momentos (MVP) (8a0f26a)
  • reports: período flexível (dropdown) e relatório por hora de um dia (6b13a8a)
  • reports: gráfico de eventos por dia como linha do tempo contínua (cdf1f72)
  • reports: tela de Relatórios — seletor de câmera, estados e redesenho (db9c075)
  • filmstrip: clicar no thumb seleciona o evento do chunk na hora (6194884)
  • events: unificar transições de estado no feed de eventos (e2f7f28)
  • pages: Fase 3 — Dispositivos e Relatórios (MVP de cada) (e7f8e30)
  • timeline: seleção do evento e filmstrip seguem o playback (409614c)
  • events: aba "Linha do tempo" com card de detalhe do evento (479bd94)
  • camera: filmstrip responsivo + seletor "Câmeras" no header do player (1b9331f)
  • timeline: filmstrip de miniaturas abaixo da timeline horizontal (9ca4dec)
  • timeline: ponteiro sincronizado e seek/scrub na timeline horizontal (69b3351)
  • timeline: timeline horizontal (escala) abaixo do player (d957b5d)
  • events: painel de eventos com chips de filtro, cards e calendário empilhado (5afd88a)
  • player: header do player com identidade redesenhada (badge AO VIVO pulsante) (792430f)
  • stats: barra de status do sistema no rodapé (CPU, memória, rede, conexão) (43f8a1b)
  • nav: nav rail global com itens rotulados, recolher menu e bloco de usuário (56cee47)
  • nav: link Estatísticas no settings e dropdown de configurações no header da câmera (a9ef9c5)
  • states: box do player ao vivo no tamanho real com loading e tela de Estados reorganizada (22f05ce)
  • states: tela de histórico de estados com thumbnails que rodam a gravação (2451ba3)
  • states: rodapé exibe o estado dos classificadores ao vivo + pisca na mudança (b63a5e2)
  • ui: notificação/rodapé do classificador com destinatários por usuário (f30124b)
  • states: notificação de estado condicional + destinatários por canal (notify/footer) (4b45719)
  • states: carrossel multi-seleção/filtro/ESC, fallback de gravação e URL de edição (02d3614)
  • ui: BboxCanvas com X de remover maior e prop rotatable (d87fe90)
  • states: slug nas pastas de classe + persiste o frame de origem das amostras (98c4d62)
  • states: treinar classificador a partir da lista (amostras já salvas) + "Treinar todos" (7009c8c)
  • ui: carrossel de eventos marca a última imagem selecionada ao reabrir (4f47b83)
  • ui: carrossel de eventos lembra a posição de rolagem ao reabrir (1897466)
  • ui: estado do classificador ao vivo + notificação na transição (c4b0f6a)
  • ui: configurar classificador de estado (crop + classes + gatilho) + wiring vivo (577e61f)
  • analysis: agendador de inferência de estado + verificação de N consecutivos (3ac4722)
  • server: config de classificador de estado por câmera (schema + API CRUD) (3278a9a)
  • yolo: modo classificação no serviço (treino + inferência yolov8n-cls) (830465a)
  • ui: padronizar botões das telas de settings + ajustes de UX (8d5d981)
  • timeline: régua/ponteiro coerente com o tema (shadcn) em dark e light (e77c395)
  • ui: CameraPage com Button shadcn nos controles (97118a1)
  • ui: Settings com componentes shadcn (2431d4a)
  • ui: Sidebar e Header com Button shadcn (b5adf9a)
  • ui: fundação shadcn/ui (setup + tokens + Button) (624a316)
  • timeline: régua mostra as 24h legíveis como uma régua (3a5e764)
  • timeline: navegação frame a frame com ← e → (d90d88e)

🐛 Correções

  • ui: glow de seleção do filmstrip invisível no modo claro (bb10264)
  • server: rota /recordings da SPA dá 401 no refresh/URL direta (0c47958)
  • states: histórico abre a gravação certa + data dd/mm e título com classificador (d52f6a2)
  • cameras: atualizar o nome da câmera não persiste (c4390dd)
  • filmstrip: estado verde, hover branco+zoom e ordem do card de estado (58f69a0)
  • nav: alinhar o sidebar ao mockup (Mapa, Configurações no topo) (eb90ccc)
  • states: histórico de estados refletido na URL (deep-link, reload e Voltar do navegador) (17e4698)
  • yolo: desabilitar flip horizontal no treino de classificação de estado (cffeb0b)
  • ui: criar classificador de estado não duplica ao salvar duas vezes (9024e37)
  • yolo: /classify 404 limpo p/ modelo não treinado + teste usa MODEL_DIR (df8354f)
  • yolo: modelo de classificação por classificador (estados não se misturam) (96e06a7)
  • recorder: reduzir reconnect padrão de 10s para 2s (fe808a5)
  • ui: normalizar avisos amarelos do AnalysisSettingsPage para warning/amber (17af43e)
  • ui: fechar o menu de modo de cor ao selecionar (sidebar) (6cc910a)
  • timeline: Ctrl+←/→ segurado não trava nem salta (98b0dc2)
  • timeline: gravação ativa sempre destacada (bloco azul) na régua (9c2555a)
  • timeline: frame a frame usa Ctrl+← / Ctrl+→ (9c61c4c)
  • server: playlist .m3u8 do HLS servida com no-cache (a47a55d)
  • timeline: régua e reprodução contínua respeitam o filtro apenas com movimento (eeee835)

♻️ Refatoração

  • ui: remover a página /devices (redundante com o detalhe da câmera) (d72e39e)
  • ui: quebrar tokens de tema em arquivos (primitivos / tema / base) (13e46b3)
  • timeline: aposentar a VerticalTimeline (40b48cc)
  • ui: Calendar/DatePicker unificado + Configurações aceso em /stats (6f1c75a)
  • ui: remover dependência lucide-react inlinando os ícones (d24cf7e)
  • ui: padronizar botões de nav/ícones no componente Button (fase 2) (df4e35c)
  • ui: padronizar botões de ação no componente Button (fase 1) (5d476de)

📚 Docs

  • states: documentar rodapé ao vivo dos classificadores no CLAUDE.md (5ba0288)
  • analysis: plano versionado do epic State Classification (e9f12a4)
  • workflow: extrai o fluxo de trabalho para docs/workflow.md (56d82ef)

🔧 Manutenção

  • yolo: aumenta shm_size do container para 4gb (b834445)
  • workflow: release file de ponta a ponta + remoção gated em [✓] (d8898f1)
  • workflow: merge-when-green acha o release file _next + remove story stray (1c27279)
  • workflow: merge-when-green apaga o story file ao deletar a branch (541eafc)
  • workflow: scripts await-review e await-approval para os gates (9d38e1c)
  • release: release file _next carimbado no corte (e125487)
  • workflow: push-pr.sh mergeia automaticamente ao final (5a5ed22)
  • workflow: gate de revisão da história antes da implementação (acac5b7)

Commits: v0.11.0-dev...v0.12.0-dev

v0.11.0-dev

Choose a tag to compare

@github-actions github-actions released this 13 Jun 04:17
960849d

✨ Novidades

  • theme: paleta Material UI (Blue+Purple) nos tokens e rampas (3555d03)
  • appearance: abrir flyout de modo de cor por hover (abc4022)
  • deviceinfo: device-info panel on camera settings page (4305034)
  • deviceinfo: capture camera device metadata on register/update/boot (0be3c28)

🐛 Correções

  • timeline: ctrl+shift+seta avança segundo a segundo sem dar play (919a86b)
  • camera: desabilitar checkboxes ao fechar o modal de análise de limiar (3faa5a8)
  • theme: coerência do modo light na página de câmera (7aac02e)
  • workflow: corpo do PR a partir do Contexto e Solução da story (b8f4e88)
  • camera: satisfazer react-hooks/exhaustive-deps no CameraPage (f6650eb)
  • workflow: resolver caminho dos hooks via $CLAUDE_PROJECT_DIR (0d01ce9)

♻️ Refatoração

  • nav: câmeras no topo do sidebar e status dentro de configurações (5d57b98)
  • theme: aplicar tema na página de câmera ao vivo (d4eb14e)
  • theme: base estrutural de design tokens (tipografia e cores), tema atual como padrão (41ed4d2)

🔧 Manutenção

  • workflow: guardrails refletem merge automático quando verde (58f9275)
  • workflow: hook SessionStart que injeta os guardrails do fluxo (a7b4d36)
  • atualizar URLs do repositório para os-camera (a99493b)
  • workflow: automatizar gate de aprovação, commit e PR via scripts (3c1b651)

Commits: v0.10.0-dev...v0.11.0-dev

v0.10.0-dev

Choose a tag to compare

@github-actions github-actions released this 11 Jun 09:00
30e19fb

✨ Novidades

  • timeline: Ctrl+Shift+Arrow steps the pointer by one second (2611407)
  • timeline: 24h ruler with draggable scrubber pointer (001b794)
  • appearance: add theme mode selector to settings popup (abff997)
  • theme: replace "moderno" with a modern Light theme (3f4a4b1)
  • notifications: label the sidebar bell "Eventos" to match the panel (e534c59)
  • notifications: redesign events bell panel — Eventos title, inline actions (db9e624)

🐛 Correções

  • notifications: mark events read and decrement unread count on playback (5812d1f)
  • motion: align snapshot box with subject via full-res detection frame (a8e15eb)
  • recorder: roll output directory at day boundary (12f1287)

📚 Docs

  • claude: unify workflow into one top section; require unique front ids (91e342c)

🧪 Testes

  • storage: fix flaky cleaner test at UTC day boundary (9a02e07)

🔧 Manutenção

  • scripts: add frontend-check.sh helper for Dockerized frontend checks (da74204)

Commits: v0.9.0-dev...v0.10.0-dev

v0.9.0-dev

Choose a tag to compare

@github-actions github-actions released this 08 Jun 04:42
0dcb68e

✨ Novidades

  • camera: digital zoom on the video player (47f5b31)
  • camera: download the recording(s) for an event (5b4baff)
  • analysis: apply the YOLO label to the recording's events (904442f)

🐛 Correções

  • camera: recordings tab count respects the motion filter (6e6d26e)
  • storage: don't let analysis block recording retention (6754a2f)
  • camera: closing the snapshot dialog no longer downloads (9c89b6b)

Commits: v0.8.0-dev...v0.9.0-dev

v0.8.0-dev

Choose a tag to compare

@github-actions github-actions released this 08 Jun 00:10
8276e05

✨ Novidades

  • camera: "only with motion" filter in the recordings list (a311bfe)
  • camera: add a download button for the current recording (4e559a1)
  • camera: ephemeral "analisar limiar" tool in the live debug panel (5441111)
  • zones: show live score / threshold anchored to the selected zone (cbca6a0)
  • ui: theme selector (Dark / Moderno light / System) (55f3920)
  • server: per-user theme preference backend (6666793)
  • storage: unify retention destination into one dropdown (Apagar + drives) (fc42fbb)

🐛 Correções

  • scripts: wait on the PR head commit's check-runs (post-push race) (3d2e1ae)

🔧 Manutenção

  • ci: add a commits (compare) link to the release notes (0e6da2c)

Commits: v0.7.2-dev...v0.8.0-dev