Changelog
Historico de versoes do advpl-specialist
Todas as mudancas notaveis deste projeto sao documentadas neste arquivo.
O formato e baseado no Keep a Changelog, e este projeto segue o Semantic Versioning.
[1.0.8] - 2026-04-07
Corrigido
- Corrigida geracao de codigo usando palavra-chave
Functionpura em vez deUser Functionem RPOs de cliente — palavra-chaveFunctionpura e reservada para o RPO core da TOTVS e falha ao compilar em ambientes de cliente - Corrigido
/generatevarrendo todos os arquivos-fonte do projeto a cada invocacao — o plugin e baseado em templates e nao precisa ler fontes.prw/.tlppdo cliente para gerar codigo
Adicionado
- Declaracao obrigatoria de
namespace custom.<agrupador>.<servico>para todo arquivo.tlppgerado (endpoints REST, classes, jobs) — inferido de--module+ nome do servico, ou perguntado ao usuario durante a Fase de Planejamento - Nova regra de revisao
[BP-009]: detecta palavra-chaveFunctionpura em codigo de cliente e sugere conversao paraUser Function/Static Function/Methodde classe - Nova regra de revisao
[BP-010]: detecta nomes de identificadores que excedem o limite efetivo de tamanho (User Function ≤ 8 chars, Static Function ≤ 10 chars, TLPP com namespace ≤ 255 chars) - Validacao bloqueante de tamanho de identificador na Fase de Planejamento do
/generatecom fluxo de duas opcoes: (A) encurtar nome seguindo convencoes Protheus ou (B) mudar para TLPP com namespace (disponivel a partir do release 12.1.2410 do Protheus) - Proibicao explicita de varredura de fontes do projeto no
/generate—Glob/Grep/Readem arquivos.prw/.tlppdo cliente nao e mais permitido (apenas arquivos internos do plugin, arquivo unico referenciado pelo usuario, ou escrita do arquivo final) - Documentacao sobre limites de tamanho de identificador, workaround legado
longnameclass, e TLPP com namespace como substituicao moderna
[1.0.7] - 2026-03-26
Adicionado
- Documentacao completa do TDN para 74+ classes e funcoes em 5 fases no native-functions.md
- Fase 1: 9 classes UI/Browse (FwBrowse, FWMarkBrowse, FWBrwColumn, FWBrwRelation, FWLegend, FWGridProcess, tNewProcess, FWCalendar, FWSimpEdit)
- Fase 2: 20 funcoes utilitarias de uso diario (FwGetArea, FwRestArea, FwGetUserName, UsrRetName, FWMsgRun, FWInputBox, FWFreeObj, FWFreeVar, Fw8601ToDate, FWDateTo8601, FWHttpEncode, FWURIDecode, MayIUseCode, MPCriaNumS, MsGetDAuto, SaveInter, RestInter, FWX3Titulo, FWX2CHAVE, FWX2Unico)
- Fase 3: 8 classes de seguranca/autenticacao (FWoAuth2Client, FWoAuth2Url, FWSafeVault, FWSecretVault, FwProtectedDataUtil, FwPDFieldRepository, FwPDFieldDetailRepository, FwPDGroupRepository)
- Fase 4: 12 funcoes de empresa/filial e scheduling (FWLoadSM0, FWModeAccess, FwListBranches, FWJoinFilial, FwCallApp, FWSchdAvaiable, FWSchdByFunction, FWSchdEmpFil, FwExecLocaliz, FwExistLocaliz, FwBranAltInf, FwComAltInf)
- Fase 5: 25+ classes e funcoes de nicho (FwChartFactory, XTree, ApWizard, FWCarolWizard, FWMsPrinter, PrinterVersion, FWBulk, FWQueryCache, FWExecCachedQuery, FWSX9Util, FWSM0Util, FWSXGUtil, FWUIWorkarea, MSProject, TKeyboard, FWBmpRep, MPFilesBinary, AddMashupAlias, AmIIn, ChkAdvplSyntax, MakeSqlExpr, PesqBrw)
- Integracao do Google Analytics 4 no site de documentacao
- Workflow de coleta diaria de metricas de trafego
Corrigido
- Corrigida geracao de codigo criando metodos inexistentes do JsonObject para iteracao case-insensitive de headers — agora usa padrao
GetNames()+Upper()(obrigado @edusfc15 por reportar #3) - Movidas todas as declaracoes Local para o topo das funcoes
[1.0.6] - 2026-03-23
Adicionado
- Nova regra de revisao
[BP-008]: detecta uso de variaveis reservadas do sistema (cFilial,cFilAnt,cEmpAnt) como Local/Static, com alternativas recomendadas (cCodFil,cCodEmp) - Nova regra de seguranca
[SEC-005]: detecta uso de 195+ funcoes, classes e variaveis restritas/internas da TOTVS com alternativas suportadas - Novo arquivo de referencia
restricted-functions.mdcom lista completa de funcoes de propriedade interna da TOTVS (fonte: Central de Atendimento TOTVS) - Nova secao
Company/Branch Management Functions (FW*)com 10 funcoes documentadas:FWCodFil,FWCodEmp,FWFilial,FWCompany,FWGrpCompany,FWUnitBusiness,FWAllCompany,FWAllFilial,FWAllGrpCompany,FWSizeFilial
Corrigido
- Substituido
cFilialporcCodFilecEmpresaporcCodEmpem todos os exemplos de codigo (nomes de variaveis Private reservadas nao podem ser usados como variaveis Local) - Atualizada documentacao do
StaticCall()para refletir status de compilacao bloqueada desde a release 12.1.33 - Adicionados avisos sobre variaveis reservadas na documentacao de
xFilial()eRpcSetEnv()
[1.0.5] - 2026-03-18
Corrigido
- Substituido acesso direto aos dicionarios SX (
DbSelectArea("SX1/SX2/SX3/SX5/SX6/SIX")) pelas classes recomendadas pela TOTVS:FWSX1Util,FWSX2Util,FWSX3Util,FWSX6Util,FWSIXUtil,FWGetSX5(),FwPutSX5()(obrigado @wesleywwf por reportar #1)
Adicionado
- Disclaimer TOTVS no rodape do site de documentacao (sem vinculo com a TOTVS S.A.)
- Imagem OG para preview de compartilhamento em redes sociais (1200x630px)
- Traducoes em portugues (pt-BR) para a UI do Fumadocs (pesquisa, sumario, navegacao, tema)
- Traduzidas todas as 10 paginas de documentacao de agentes para portugues
[1.0.4] - 2026-03-17
Adicionado
- Novo comando
/explainpara explicacao de codigo em 3 niveis de audiencia (junior, senior, funcional) - Novo comando
/refactorcom agentrefactorere skilladvpl-refactoring(6 padroes de refatoracao com before/after) - Novo comando
/documentcom agentdoc-generatore skilldocumentation-patterns(cabecalho Protheus.doc, documentacao completa, documentacao de API) - Novo comando
/changelogcom agentchangelog-generatore skillchangelog-patterns - Novo comando
/sxgencom agentsx-configuratore skillsx-configuration(scripts de dicionario SX3, SIX, SX1, SX5, SX7 a partir de linguagem natural) - Nova skill
code-explanationcom metodologia de 3 niveis para explicacao de codigo - Site de documentacao construido com Fumadocs (Next.js + MDX) hospedado no GitHub Pages
- Documentacao completa cobrindo todos os 12 comandos, 10 agentes, 14 skills, referencia e processos de negocio
Corrigido
- Removida chave
bugsnao suportada do manifesto plugin.json
[1.0.3] - 2026-03-11
Adicionado
- Novo comando
/reviewpara analise de qualidade de codigo (boas praticas, performance, seguranca, modernizacao) - Novo comando
/testpara geracao de testes unitarios ProBat (apenas TLPP) - Novo comando
/processpara consulta de processos de negocio ERP - Novo agent
code-reviewerpara analise de codigo ADVPL/TLPP com 21 regras de revisao - Novo agent
process-consultantpara processos de negocio ERP - Nova skill
advpl-code-reviewcom 4 categorias de regras (BP, PERF, SEC, MOD) - Nova skill
probat-testingcom referencia ProBat API e padroes de testes unitarios (validado no TDN) - Nova skill
protheus-businesscom referencia de 8 modulos ERP (COM, EST, FAT, FIN, CTB, FIS, PCP, MNT) - 4 novos padroes de geracao de codigo: TReport, FWFormBrowse, Jobs/Scheduler, Workflow/BPM
- 16 novas funcoes nativas validadas no TDN (TReport, FWFormBrowse, Jobs, classes de Email)
- 93 parametros MV_* validados em 8 modulos via TDN e Terminal de Informacao
- Anotacoes ProBat validadas via repositorio oficial TOTVS tlpp-probat-samples
Corrigido
- Removidos 90+ parametros MV_* fabricados das skills de modulos de negocio
- Corrigidos nomes de parametros incorretos (MV_ESTNEGA para MV_ESTNEG, MV_SPESSION para MV_USASPED, etc.)
- Removidos campos fabricados da tabela SC2 (C2_TESSION/C2_TESSION2) da skill PCP
[1.0.2] - 2026-03-09
Adicionado
- Fallback via Playwright MCP para todo acesso web a documentacao (agents: docs-reference, debugger, code-generator; skill: protheus-reference)
- Quando WebSearch ou WebFetch falham, os agents agora utilizam as ferramentas Playwright como fallback (browser_navigate, browser_snapshot, browser_take_screenshot)
- Abordagem hibrida: tenta snapshot de texto primeiro, usa screenshot para conteudo visual complexo
- Recomendacao de instalacao do Playwright MCP no hook session-start
[1.0.1] - 2026-03-05
Adicionado
- Padroes de Web Service SOAP (
patterns-soap.md) com WsService e TWsdlManager - Recomendacao do plugin superpowers no hook session-start e README
- Modo planejamento obrigatorio para os comandos
generateemigrate - Indicador 50+ no hook session-start quando a contagem de arquivos atinge o limite
- Convencoes oficiais de nomenclatura TLPP da TOTVS do TDN
- Deteccao de idioma em todos os comandos (responde no idioma do usuario)
- Skill de Embedded SQL com padroes BeginSQL/EndSQL e macros
Corrigido
- Substituido o obsoleto
#Include "Protheus.ch"por#Include "TOTVS.CH"em 10 arquivos - Corrigido includes TLPP para usar arquivos
.th(tlpp-core.th,tlpp-rest.th) em vez deTOTVS.CH - Removido
using namespace tlpp.*incorreto (tlpp.core,tlpp.rest,tlpp.log,tlpp.data) de todos os exemplos - Corrigido alvo de migracao para usar includes
.them vez deTOTVS.CH - Resolvido texto ambiguo em todo o repositorio
- Adicionado
SkilleBashfaltantes em allowed-tools de todos os comandos - Corrigido posicionamento de declaracoes de variaveis Local nos exemplos de native-functions
[1.0.0] - 2026-03-04
Adicionado
- Lancamento inicial
- 4 comandos:
generate,migrate,diagnose,docs - 4 agents:
code-generator,migrator,debugger,docs-reference - 5 skills:
advpl-code-generation,advpl-to-tlpp-migration,advpl-debugging,embedded-sql,protheus-reference - Hook SessionStart com deteccao automatica de projeto ADVPL/TLPP
- 165+ funcoes nativas documentadas
- Referencia de 9 tabelas SX
- Padroes de REST API (FWRest e WsRestFul)
- 50 erros comuns com causa e solucao
- 10 categorias de otimizacao de performance
- 16 pontos de entrada mais usados por modulo
- Templates de classes TLPP (Service, Repository, DTO)
- Padroes MVC completos (MenuDef, ModelDef, ViewDef, FWMVCRotAuto)
- Suporte ao Marketplace via
marketplace.json