Documentação

Changelog

Histórico de versões do Ringly em formato Keep a Changelog.

Formato baseado em Keep a Changelog — versionamento SemVer. Histórico completo no CHANGELOG.md do repositório.

v0.6.0 — 2026-05-26

Adicionado

  • Resumo amigável no /ringly-update — antes de pedir confirmação, o slash command agora mostra um resumo curto (≤10 linhas) do que mudou na nova versão, lido do CHANGELOG.md empacotado e reescrito em linguagem comum. Estrutura: Novidades / Mudou / Correções / ⚠ Pode quebrar coisas.
  • Novo slash command /ringly-help — mostra a saída de ringly help direto no chat do Claude Code, com aviso visível de que comandos rodam no terminal externo.
  • Subcomando ringly help traduzido — substitui o output yargs em inglês fixo por uma versão que respeita o language configurado.

Mudado

  • /ringly-update agora respeita o idioma em todas as mensagens. O JSON snapshot do ringly update --check embute o idioma resolvido (nunca “auto”), e o .md do slash usa esse campo como fonte única de verdade.
  • Schema do ringly update --check ampliado pra {current, latest, hasUpdate, reachable, language, notes}. Os 4 antigos seguem idênticos — sem breaking change.

Testes

  • +30 testes novos (de 133 pra 163). changelog.test.ts (18 cenários do parser), help.test.ts (5 cenários renderizados), update.test.ts (6 cenários do buildNotesFor).

v0.5.2 — 2026-05-26

Mudado

  • Bundle do hook ficou mais enxuto. claudeSettings.ts virou strictly read-only; claudeSettingsWrite.ts carrega tudo que escreve. Mesma separação aplicada a config.ts vs configWrite.ts. Resultado: o hook (caminho quente) não puxa mais chmodSync / copyFileSync / readdirSync, e os warnings de tree-shake do Rollup somem.

v0.5.1 — 2026-05-26

Corrigido

  • ringly update --yes quebrava no Windows com spawn EINVAL antes de tocar no npm. Causa: Node ≥ 20.12 recusa spawn direto de .bat/.cmd por design (CVE-2024-27980). Fix: passa shell: true no Windows; macOS/Linux seguem com shell: false.

v0.5.0 — 2026-05-26

Mudança incompatível

  • Removido o userConfig do plugin.json. A tela /plugin → Installed → Ringly → Configure deixa de existir por causa de limitações conhecidas do schema oficial (sem enum, Enter não toggla boolean, sem atomic write). Toda config vai pra ringly config. Valores existentes em pluginConfigs.ringly.options continuam sendo lidos — sem migração necessária.

v0.4.0 — 2026-05-26

Adicionado

  • Slash command /ringly-update dentro do Claude Code: detecta CLI, consulta npm, mostra diff, pede confirmação, instala, lembra do /reload-plugins.
  • Hook SessionStart com checagem de update em background, throttled a 1x/dia. Toast nativo quando há versão nova.
  • Subcomando ringly update (também rodável fora do Claude Code) com modos --check (JSON) e --yes (skip prompt).
  • Opção check_updates: boolean no userConfig (default true).

v0.3.0 — 2026-05-25

Mudanças incompatíveis

  • Removido o sistema legacy (legacy.ts, flags --migrate-legacy / --legacy).
  • Removido fallback do ~/.config/ringly/config.json. Config agora vive apenas em ~/.claude/settings.json.

Segurança & robustez

  • Atomic write no settings.json (temp + atomic rename, defesa contra race conditions).
  • Validação de payload do hook (256 KB stdin, 500-char strings, 1024-char paths, regex no appId).
  • Permissão 0600 no settings.json em Unix.
  • GC automático de backups com mais de 7 dias.
  • Rotação de log a 5 MB.

Comportamento

  • Detecção de idioma reordenada: CLAUDE_PLUGIN_OPTION_LANGUAGEIntl.DateTimeFormatLANG/LC_*en-US.

v0.2.4 — 2026-05-26

Corrigido

  • Falso positivo de BLOCKED: no Windows 11 / PowerShell 5.1 (bug conhecido do IInspectable vs IDispatch). Agora usa $notifier.Setting.value__ (campo intrínseco do enum .NET) em vez de passar pelo COM adapter quebrado.

v0.2.1 — 2026-05-25

Mudanças importantes

  • Internacionalização completa da TUI e dos comandos CLI (doctor, uninstall, test, init --non-interactive).
  • Hooks agora leem ~/.claude/settings.json diretamente em vez de depender de variáveis de ambiente que o Claude Code não exporta.
  • Filtro de eventos respeitado em todos os caminhos (antes só o caminho “rico” filtrava).
  • sound: false agora silencia o fallback embedded via <audio silent="true"/> no XML.
  • spawn EINVAL no Windows corrigido no tryCliBinary (shell: true em .cmd/.bat).

v0.2.0

  • ringly config agora escreve no settings.json (em pluginConfigs.ringly.options) em vez do antigo config.json local. Backup automático com timestamp.
  • Novo módulo claudeSettings.ts com merge seguro.
  • ringly doctor ganhou check separado pro plugin settings.

Veja o CHANGELOG.md completo no GitHub pra histórico anterior.

Editar no GitHub Atualizado em: 2026-05-26