DEV Community

CrabPascal
CrabPascal

Posted on

Changelog 2026: A Year of Sprints | Changelog 2026: um ano de sprints

Bilingual post · Post bilíngue

Jump to: English · Português


English {#english}

Changelog 2026: A Year of Sprints

Series — Part 2: Previous: Teaching Pascal in 2026 with CrabPascal (059-teaching-pascal-with-crabpascal). Sources: essentials/changelog, roadmap/sprints-overview, releases/release-v2-22-0.

2026 transformed CrabPascal from a capable interpreter into a governed, sprint-tagged compiler approaching Delphi parity in measured steps. This year-end review walks the changelog — not every micro-commit, but the release arc that defined the project. Current binary: v2.22.0 per essentials/project-status.

January–May: Foundation before the sprint wave

Early 2026 consolidated v2.x internals: runtime heap, VMT, preprocessor FPC alignment, VS Code integration docs. Blog Part 1 (posts 001–031) covered fundamentals for Dev.to readers joining mid-year.

The sprint convention — one sprint, one version, one review — formalized in roadmap/sprints-overview, setting up the release train starting v2.9.9.

Sprint releases (2026 arc)

Sprint Version Headline
1 v2.9.9 Real diagnostic spans in check
2 v2.10.0 System.* namespace resolution
3 v2.11.0 System.Classes minimum surface
4 v2.12.0 Exception handling in runtime
5 v2.13.0 Delphi string helpers (pascal_*)
6 v2.14.0 OO properties
7 v2.15.0 Generics.Collections + var params
8 v2.16.0 Unicode UTF-16 groundwork
9 v2.17.0 Run/build parity initiative
10 v2.18.0 String semantics in C codegen
11 v2.19.0 Parser hardening
12 v2.20.0 Method-based properties
13 v2.21.0 Honest build (no fake exceptions)
14 v2.22.0 System.IOUtils, dotted unit names

Each row has a matching sprint-N-review.md and release-v2-XX-0.md in Mintlify — blog Part 2 posts 041–048 narrated several of these.

Themes across the year

Diagnostics you can trust

Sprint 1 replaced placeholder 1:1 errors with file/line/column spans. IDE integration still catching up (Rafael audit TD-IDE-001), but CLI check became classroom-ready.

RTL as product surface

Sprints 2, 3, 7, and 14 expanded rtl/sys/ — the layer Delphi developers feel first. IOUtils in v2.22.0 unblocks file-centric Horse modules.

Honest dual-mode

Sprints 9–13 attacked the dangerous gap where run succeeded and build-exe lied. v2.21.0 refuses exception codegen instead of emitting fake C — a philosophy win documented in blog post 024.

Parser maturity

Sprint 11 closed enum/multi-field/inherited class of bugs reminiscent of v2.8.3 hotfixes — now with regression tests in parser_hardening.rs.

v2.22.0 — Current state of the art

releases/release-v2-22-0 highlights:

  • Minimal System.IOUtils RTL
  • Parser: unit System.X dotted names
  • Semantic resolver finds System.* via RTL files

Still open per audits: full Unicode IO, property codegen parity, IDE Problems panel, Horse CI harness offline mode.

Technical debt transparency

Posts 049–054 translated technical-debt/audit-overview into Dev.to narrative. The changelog shows what shipped; audits show what remains — together they replace marketing fog.

Metrics that matter (qualitative)

  • Examples: examples/crud remains flagship; new e2e fixtures added in sprints
  • Tests: parity gates when GCC present; Marina audit drives build coverage
  • Docs: Mintlify reorganization (posts 032–033) mapped to live paths
  • Community: 61 bilingual blog posts staged — education + ops + audits

Looking at the full changelog

essentials/changelog spans v1.0 through v2.22.0 — thousands of lines. For daily work, prefer:

  1. essentials/project-status — consolidated snapshot
  2. Latest sprint review for your version
  3. technical-debt/backlog — open TD-IDs

Contributor reflection

If you merged a PR in 2026, you likely tied it to a sprint acceptance bullet. That discipline is the year's legacy — compiler construction as sequence of shippable wins, not a mythical v3.

Takeaway

2026 was the year CrabPascal learned to release honestly. From v2.9.9 diagnostics to v2.22.0 IOUtils, each tag tells a story in Mintlify. Read the changelog when debugging version skew; read sprint reviews when planning upgrades.

Final post in series: Docs, Blog, and 2027 (061-year-end-docs-blog-2027).


Português {#portugus}

Changelog 2026: um ano de sprints

Série — Parte 2: Anterior: Ensinando Pascal em 2026 (059-teaching-pascal-with-crabpascal). Fontes: essentials/changelog, roadmap/sprints-overview, releases/release-v2-22-0.

2026 transformou CrabPascal de interpretador capaz em compilador governado com tags sprint aproximando paridade Delphi em passos medidos. Este review de fim de ano percorre o changelog — não cada micro-commit, mas o arco de releases que definiu o projeto. Binário atual: v2.22.0 segundo essentials/project-status.

Janeiro–Maio: fundação antes da onda sprint

Início de 2026 consolidou internals v2.x: heap runtime, VMT, alinhamento preprocessor FPC, docs integração VS Code. Blog Parte 1 (posts 001–031) cobriu fundamentos para leitores Dev.to entrando mid-year.

A convenção sprint — um sprint, uma versão, um review — formalizou em roadmap/sprints-overview, preparando trem de releases a partir de v2.9.9.

Releases sprint (arco 2026)

Sprint Versão Manchete
1 v2.9.9 Spans de diagnóstico reais no check
2 v2.10.0 Resolução namespace System.*
3 v2.11.0 Surface mínima System.Classes
4 v2.12.0 Tratamento de exceptions no runtime
5 v2.13.0 Helpers string Delphi (pascal_*)
6 v2.14.0 Properties OO
7 v2.15.0 Generics.Collections + params var
8 v2.16.0 Base Unicode UTF-16
9 v2.17.0 Iniciativa paridade run/build
10 v2.18.0 Semântica string no codegen C
11 v2.19.0 Parser hardening
12 v2.20.0 Properties por método
13 v2.21.0 Build honesto (sem exceptions falsas)
14 v2.22.0 System.IOUtils, unit names com ponto

Cada linha tem sprint-N-review.md e release-v2-XX-0.md correspondentes no Mintlify — posts 041–048 da Parte 2 blog narraram vários.

Temas ao longo do ano

Diagnósticos confiáveis

Sprint 1 substituiu erros placeholder 1:1 por spans arquivo/linha/coluna. Integração IDE ainda alcançando (auditoria Rafael TD-IDE-001), mas check CLI ficou pronto para sala de aula.

RTL como surface de produto

Sprints 2, 3, 7 e 14 expandiram rtl/sys/ — camada que desenvolvedores Delphi sentem primeiro. IOUtils em v2.22.0 desbloqueia módulos Horse centrados em arquivo.

Dual-mode honesto

Sprints 9–13 atacaram gap perigoso onde run passava e build-exe mentia. v2.21.0 recusa codegen de exception em vez de emitir C falso — vitória de filosofia documentada no blog post 024.

Maturidade de parser

Sprint 11 fechou classe de bugs enum/multi-field/inherited lembrando hotfixes v2.8.3 — agora com testes de regressão em parser_hardening.rs.

v2.22.0 — Estado da arte atual

releases/release-v2-22-0 destaca:

  • RTL mínimo System.IOUtils
  • Parser: unit names com ponto unit System.X
  • Resolver semântico acha System.* via arquivos RTL

Ainda aberto por auditorias: IO Unicode completo, paridade codegen properties, painel Problems IDE, modo offline harness CI Horse.

Transparência de débito técnico

Posts 049–054 traduziram technical-debt/audit-overview em narrativa Dev.to. Changelog mostra o que shipou; auditorias mostram o que resta — juntos substituem neblina de marketing.

Métricas que importam (qualitativo)

  • Exemplos: examples/crud permanece flagship; fixtures e2e novos em sprints
  • Testes: gates paridade com GCC; auditoria Marina drive cobertura build
  • Docs: reorganização Mintlify (posts 032–033) mapeada a paths vivos
  • Comunidade: 61 posts bilíngues staged — educação + ops + auditorias

Olhando changelog completo

essentials/changelog abrange v1.0 até v2.22.0 — milhares de linhas. Para trabalho diário, prefira:

  1. essentials/project-status — snapshot consolidado
  2. Sprint review mais recente da sua versão
  3. technical-debt/backlog — TD-IDs abertos

Reflexão para contribuidores

Se você mergeou PR em 2026, provavelmente ligou a bullet de aceitação de sprint. Essa disciplina é legado do ano — construção de compilador como sequência de wins shippáveis, não v3 mítico.

Conclusão

2026 foi o ano em que CrabPascal aprendeu a release honesto. De diagnósticos v2.9.9 a IOUtils v2.22.0, cada tag conta história no Mintlify. Leia changelog ao debugar skew de versão; leia sprint reviews ao planejar upgrades.

Post final da série: Docs, blog e 2027 (061-year-end-docs-blog-2027).


Published on dev.to/@crabpascal · Código em CrabPascal

Top comments (0)