Changelog
Este changelog segue as tags de release do repositório nomia-fe. As releases semver usam a tag v<versão> e, para o pacote Gutenberg, a tag nomia-blocks-v<versão>.
As entradas antigas mantêm um resumo simples baseado na mensagem da tag ou do commit associado. As próximas releases devem ter notas mais completas, escritas antes de publicar as tags.
Tag: v0.14.0 / nomia-blocks-v0.14.0
Data: 2026-06-21
Maior release de consolidação do sistema de blocos. Normaliza a nomenclatura dos blocos (breaking), remove um campo de contrato sem uso, refatora o editor e os renderizadores Astro, e resolve os últimos detalhes de compatibilidade nativa com o WordPress. Conclui os 16 tickets do plano plans/improvements.
Nomenclatura de blocos (T11, breaking):
- o nome WordPress (
blockName) passa a derivar sempre docatalogId(getquick/${catalogId}), tornando a relaçãoblockName ↔ catalogIdtrivialmente derivável; - 22 nomes PT ou inconsistentes foram renomeados para inglês alinhado com o
catalogId(podcasts-list→content-list,plataformas-grid→content-grid-filters,map-list-explorer→map-list,barometro-results→cta-results, famíliabioeconomia-*→EN, famíliaeconomia-circular-*→EN,indicadores→indicators-grid,oportunidades→opportunities-grid,biblioteca→library-grid,multimedia→multimedia-grid, famíliagraph-*→EN); - os
catalogIdsão mantidos estáveis, pelo que os briefs Markdown, as âncoras de/blockse os ids de componentes React ficam inalterados — não há migração depost_contentnemwp search-replace; getquick/grafico-donuté a única exceção documentada: o seucatalogIdem PT serve também de id do componente React para hidrataçãoclient:only;- o campo
astroComponentfoi removido do tipo de contrato e das 31 entradas (não era usado — o dispatcher resolve o componente Astro via um mapa de imports explícito emWpCustomBlock.astro).
Compatibilidade WordPress (T16):
- a lista de dependências de fallback do editor passa a espelhar
build/index.asset.php(adicionadoswp-dataereact-jsx-runtime), evitando sub-enqueue silencioso se oindex.asset.phpestiver em falta; - o
render_callbackemite um comentário HTML de debug para quecontent(format: RENDERED)e vistas non-headless sejam inspecionáveis (o Astro continua a renderizar viacontent(format: RAW)); - o
ArrayFieldpassa a usarMediaUploadButton, uniformizando o rótulo “Substituir imagem”; - o CSS do editor é colocado junto de cada componente (
editors/<Nome>.css) maislib/tematica.csspara o controlo de temática partilhado; os primitivos comuns continuam emeditor.css. O bundle final é idêntico ao anterior.
Editor Gutenberg (T04, T05, T06, T13):
- o editor é convertido de
createElement()manual para JSX (T04); - o
index.jsxmonolítico é dividido emeditors/,fields/elib/(T05); - a cadeia
ifdoEdit()é substituída por um registoCUSTOM_EDITORS(T06) — adicionar um editor customizado é agora uma linha no registo; - são extraídos os primitivos partilhados
UrlField,MediaUploadButtoneImageAltControl(T13).
Renderizadores Astro (T07, T08, T12):
- o ternário do
WpCustomBlock.astroé substituído por um mapaRENDERERS(T07); - os wrappers Astro passam a usar normalizadores partilhados (
textOr,firstArray,mapValid,enumText), eliminando duplicação em 27 renderizadores (T08); - o tipo
AttrsFor<N>passa a ser derivado do contrato, pelo que ler um campo fora do contrato falha noastro check(T12).
Catálogo e UX (T03, T09):
- são removidos os 11 blocos demo
bar-chart-*/interactive-area-chart(sem conteúdo editável, com “dados fictícios”), deixando o catálogo em 31 blocos (T03); - o
srcdo iframe de preview passa a ser debounced (300 ms), reduzindo o volume de pedidos ao digitar (T09).
Decisão de arquitetura (T10):
- documentada em
ARCHITECTURE.mda decisão de manter o registo de blocos via loop PHP a partir de uma fonte única, em vez de adotarblock.jsonpor bloco.
Testes (T15):
- adicionado um conjunto Pest ao plugin (stubs WordPress, sem DDEV) cobrindo bootstrap, contratos, filtro de categoria e config localizada; esta release traz 21 testes.
Versão e deploy:
nomia-fe,getquick/nomia-blocks, temanomia-blackenomia-docsalinhados em0.14.0;- o
composer.lockdo plugin foi regenerado.
Validação e deploy:
pnpm version:checkno workspaceapa-nomia;pnpm -C nomia-fe test(10 validadores),pnpm -C nomia-fe exec astro check(0 erros) e Pest (21 testes);- tags
v0.14.0enomia-blocks-v0.14.0publicadas emnomia-fe; - bump do tema em
nomia-admine denomia-docs, com pins de submódulo atualizados no workspace.
Tag: v0.13.0 / nomia-blocks-v0.13.0
Data: 2026-06-20
Limpa a duplicação de atributos espelho (*Href/*Url e *Src/*Url), deixa de versionar artefactos gerados do plugin e melhora a experiência de edição.
Contratos e editor:
- remove 17 chaves espelho em 12 contratos de blocos (forma canónica =
*Href/*Src); - apaga os helpers
setMirroredAttribute/attributeTextdo editor; os campos de CTA e imagem passam a escrever apenas a chave canónica; - centraliza os fallbacks de leitura legacy em
optionalText()(normalizers.ts); - o
altdas imagens passa a ser derivado da biblioteca de media; - cada bloco pode definir uma descrição própria no inserter do editor.
Build e versionamento:
- deixa de fazer tracking de artefactos gerados (
build/,contracts.json,contracts.php) via.gitignore(T01); - normalização de finais de linha para LF via
.gitattributes; - 12 briefs de blocos e 2 exemplos do
ARCHITECTURE.mdatualizados.
Validação e deploy:
pnpm version:check;- tags
v0.13.0enomia-blocks-v0.13.0emnomia-fe; - bump do tema
nomia-blackpara0.13.0e denomia-docspara0.13.0.
Tag: v0.12.0 / nomia-blocks-v0.12.0
Data: 2026-06-19
Corrige a integração headless do questionário do Barómetro com Gravity Forms e publica a primeira documentação estrutural das páginas principais do site.
Frontend e Barómetro:
- a página
/barometro/questionario/passa a carregar metadados do formulário através de uma rota server-side do Astro; GET /api/gravity-forms/1tenta primeiro a rota pública WordPressGET /wp-json/nomia/v1/gravity-forms/1, evitando depender de credenciais Gravity Forms para leitura pública;- o fallback autenticado para a REST API v2 do Gravity Forms continua disponível para ambientes que não tenham a rota pública activa;
- foi adicionado
GET /api/gravity-debug/[formId]para diagnosticar origem WordPress, credenciais configuradas e modo de autenticação sem expor o segredo; - a resolução de credenciais distingue ambientes locais e produção com variáveis
GRAVITY_REST_CONSUMER_KEY_LOCAL,GRAVITY_REST_CONSUMER_SECRET_LOCAL,GRAVITY_REST_CONSUMER_KEY_PRODUCTIONeGRAVITY_REST_CONSUMER_SECRET_PRODUCTION.
WordPress e Composer:
- adiciona a rota pública
nomia/v1/gravity-forms/{id}no WordPress para devolver a estrutura do formulário viaGFAPI::get_form(); - reforça as permissões do papel
administratorpara Gravity Forms quandoGFCommon::all_caps()está disponível; - actualiza o tema
nomia-blackpara0.12.0; - actualiza o
composer.lockdenomia-adminparagetquick/nomia-blocks 0.12.0.
Documentação:
nomia-docsfica alinhado em0.12.0;- a secção Páginas passa a documentar a navegação principal do site;
- adiciona a página Páginas > Barómetro > Questionário, descrevendo objectivo editorial, fluxo esperado, endpoints envolvidos e requisitos técnicos.
Validação e deploy:
pnpm version:checkno workspaceapa-nomia;tsc --noEmit,oxlinteoxfmt --checknos ficheiros frontend alterados;php -l web/app/mu-plugins/nomia-config.php;- deploy de
nomia-fepara Cloudflare Workers e purge de cache; - deploy de
nomia-docspara Cloudflare Workers; - smoke test em produção com
https://nomia.getquick.io/api/gravity-forms/1ehttps://nomia.getquick.io/barometro/questionario/.
Tag: v0.11.2 / nomia-blocks-v0.11.2
Data: 2026-06-16
Republica a release dos blocos Nomia com o mesmo conjunto funcional de 0.11.1, mas com a documentação técnica e os fixtures exigidos pelo workflow de packaging já incluídos no commit etiquetado.
Blocos afetados:
getquick/title-with-label: mantém o novo bloco editorial com etiqueta e título em uma ou duas linhas.getquick/page-hero-static: mantém os controlos de imagem, CTA e alinhamento adicionados na release anterior.
Impacto no WordPress e no frontend:
- a release Composer volta a apontar para o mesmo comportamento de frontend já publicado em
nomia-fe; - o workflow de registry passa a validar também os briefs Markdown e fixtures do bloco antes de publicar o pacote
getquick/nomia-blocks.
Validação de release:
pnpm version:checkpnpm testemnomia-feddev composer update getquick/nomia-blocks --no-installemnomia-admin
Tag: v0.11.1 / nomia-blocks-v0.11.1
Data: 2026-06-16
Adiciona o novo bloco Gutenberg getquick/title-with-label, baseado no componente aprovado em Figma, e melhora o bloco getquick/page-hero-static com controlos editoriais mais completos.
Blocos afetados:
getquick/title-with-label: novo bloco para combinar uma etiqueta curta com um título em uma ou duas linhas.getquick/page-hero-static: a seleção de imagem passa a existir na barra lateral e na barra de ferramentas, o CTA pode ser ocultado no inspector e o alinhamento do texto pode ser alternado entre esquerda, centro e direita.
Impacto no WordPress e no frontend:
- o plugin
getquick/nomia-blockspassa a expor o novo contratotitle-with-label; - o Astro em
nomia-fepassa a renderizargetquick/title-with-labele a respeitarshowCtaetextAlignemgetquick/page-hero-static.
Validação de release:
pnpm version:checkpnpm testemnomia-feddev composer update getquick/nomia-blocksemnomia-admin
Tag: v0.8.1 / nomia-blocks-v0.8.1
Data: 2026-06-11
Adiciona a documentação pública do Nomia Docs com Astro Starlight, tema Obsidian e deploy em Cloudflare Workers.
Inclui a categoria Blocos, com uma página em Português de Portugal para cada bloco Gutenberg personalizado existente, instruções de utilização e exemplos visuais. Também adiciona este changelog e reforça o processo de release para que futuras alterações a blocos Gutenberg actualizem a documentação correspondente antes da publicação.
Validação de release:
- versões alinhadas entre
nomia-docs,nomia-fe,getquick/nomia-blocksenomia-admin; pnpm --dir nomia-docs check;pnpm docs:build.
Tag: v0.8.0 / nomia-blocks-v0.8.0
Data: 2026-06-11
Adiciona templates de splash page ao conjunto Nomia.
Tag: v0.7.1 / nomia-blocks-v0.7.1
Data: 2026-06-03
Release de manutenção do pacote getquick/nomia-blocks.
Tag: v0.6.1 / nomia-blocks-v0.6.1
Data: 2026-06-03
Corrige rotas dinâmicas e páginas filhas de multimédia servidas pelo WordPress.
Tag: v0.6.0 / nomia-blocks-v0.6.0
Data: 2026-06-02
Carrega o menu de cabeçalho a partir do WordPress.
Tag: v0.5.1 / nomia-blocks-v0.5.1
Data: 2026-05-27
Release de manutenção do pacote getquick/nomia-blocks.
Tag: v0.5.0 / nomia-blocks-v0.5.0
Data: 2026-05-27
Liga os blocos Gutenberg de catálogo ao frontend.
Tag: v0.4.1 / nomia-blocks-v0.4.1
Data: 2026-05-27
Adiciona metadados de repositório ao pacote nomia-blocks.
Tag: v0.4.0 / nomia-blocks-v0.4.0
Data: 2026-05-23
Permite validação de versão em modo standalone.
Tag: v0.3.1 / nomia-blocks-v0.3.1
Data: 2026-05-23
Renderiza páginas WordPress a partir do JSON dos blocos.
Tag: v0.3.0 / nomia-blocks-v0.3.0
Data: 2026-05-23
Adiciona páginas WordPress on-demand e editor inline para o bloco home-intro.
Tag: v0.2.0 / nomia-blocks-v0.2.0
Data: 2026-05-19
Corrige o pacote de release ao excluir vendor e executar preflight antes de publicar.
Tag: v0.1.1
Data: 2026-05-19
Adopta semver para nomia-blocks e documenta o processo de incrementos .1.
Tag: v0.1.07
Data: 2026-05-19
Adiciona o bloco grafico-donut e organiza gráficos por tipo.
Tag: nomia-blocks-v0.1.05
Data: 2026-05-19
Corrige o bootstrap Composer do plugin em Bedrock.
Tag: v0.1.04
Data: 2026-05-19
Publica a versão 0.1.04 do plugin WordPress getquick/nomia-blocks.
Tag: v0.1.03
Data: 2026-05-18
Actualiza o plugin de blocos Nomia para 0.1.03.
Tag: v0.1.02
Data: 2026-05-17
Corrige o carregamento do plugin de blocos Nomia.
Tag: v0.1.01
Data: 2026-05-17
Actualiza workflows para usar Node 25.