Changelog — página 5
Tag: 0.55.0
Data: 2026-09-14
Atualiza a documentação para as versões mais recentes do Astro e do Starlight, mantendo o deployment estático em Cloudflare Workers com prerenderização Node.
Validação:
pnpm release:check;pnpm test,pnpm check,pnpm validateepnpm docs:build;pnpm --dir apps/docs checkepnpm --dir apps/docs test.
Tag: 0.54.0
Data: 2026-09-13
Release minor que simplifica o workflow de desenvolvimento e mantém a
cobertura visual através dos previews Astro, do catálogo de fixtures e dos
previews Gutenberg. A identidade React no SSR Astro também foi corrigida para
que a integração @astrojs/react seja a única responsável pela otimização dos
módulos React.
Validação:
pnpm release:check;pnpm test,pnpm check,pnpm validateepnpm docs:build;pnpm test:astro-preview(37 testes).
Tag: 0.53.9
Data: 2026-09-13
Release de correção após a validação do workflow identificar uma regra de formatação PHP no utilitário de backups do CMS. Mantém a instalação do Português (Portugal, AO90) e a atualização das traduções no deployment Ploi.
Validação:
pnpm release:check;pnpm test,pnpm check,pnpm validateepnpm docs:build.
Tag: 0.53.8
Data: 2026-09-13
Correção do deployment do CMS em Ploi para garantir a instalação e ativação do Português (Portugal, AO90) e a atualização das traduções do core, plugins e temas WordPress.
Validação:
pnpm release:check;pnpm test,pnpm checkepnpm validate.
Tag: 0.53.7
Data: 2026-09-12
Primeira release coordenada preparada para o produto Bioeconomia.pt. A versão SemVer canónica é validada no monorepo e o workflow protegido publicará o frontend, o WordPress e a documentação a partir do mesmo commit etiquetado. Deployment: pendente de configuração e aprovação dos providers.
- O manifesto de release regista as versões de produto e dos plugins CMS com ciclo próprio.
- O deployment Ploi recebe a tag e o SHA exatos através de
RELEASE_REFeRELEASE_SHA, em vez de depender de uma revisão móvel demain. - Frontend, CMS e documentação expõem endpoints de smoke para confirmar que a versão publicada é a esperada.
- Tags de pré-release validam o código sem alterar produção.
Validação:
pnpm release:check;pnpm test,pnpm check,pnpm validateepnpm docs:build;- checks CMS e plugin do workflow de release.
Tag: v0.53.6 / nomia-blocks-v0.53.6
Data: 2026-09-02
Auditoria dos 35 blocos estruturados Gutenberg ↔ Astro, com contratos, previews dos blocos e renderização WordPress sincronizados.
Blocos afetados:
- o inventário completo de blocos
getquick/*mantém as chaves canónicas separadas das leituras legacy e passa a exigir conteúdo de preview não vazio; getquick/page-hero-media-grid,getquick/page-hero-staticegetquick/page-hero-sliderdeixam de expor opções de apresentação indevidas no contrato, mantendo apenas os controlos visuais intencionais do hero media grid;- os blocos de gráficos validam intervalos e descartam linhas inválidas;
getquick/urban-waste-geo-chartpassa a aceitar regiões tipadas egetquick/grafico-donutusa preenchimentos posicionais do frontend; - listas, eventos, mapas, PAEC, PABS e cartões requerem conteúdo mínimo válido antes de renderizar.
Impacto no WordPress e no frontend:
- o editor Gutenberg ganhou controlos de media, URLs, alinhamento, raios e partilha para o hero media grid, com IDs de media emparelhados com os respetivos URLs;
- os adapters Astro deixam de preencher blocos editoriais com dados de demonstração quando o conteúdo WordPress está ausente ou inválido; os fallbacks de arquivo de plataformas e podcasts continuam explícitos;
- URLs legacy (
*Url,url) continuam a ser lidos sem substituir as chaves canónicas (*Href,*Src), evitando migrações destrutivas; - eventos sem
hrefouslugutilizável, e dados quantitativos fora do intervalo, deixam de receber identidade ou valores fabricados.
Migração:
- conteúdo existente continua compatível através de
legacyReads; novas gravações devem usar as chaves canónicas do contrato; - preencha os IDs de media ao selecionar imagens no editor e forneça
regions/slices/linhas de dados válidas nos blocos de gráficos; - os valores de cor, preenchimento, classes e IDs de Figma são derivados pelo frontend e não devem ser adicionados como atributos Gutenberg.
Validação:
pnpm cms:buildepnpm contract:checkna raiz debioeconomia.pt;pnpm testepnpm validatena raiz debioeconomia.pt;- deploy não executado nesta preparação.
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