Skip to content

Latest commit

 

History

History
160 lines (144 loc) · 18.5 KB

File metadata and controls

160 lines (144 loc) · 18.5 KB

🗺️ Dext Framework: Master Roadmap

This is the centralized roadmap for the Dext Framework. It tracks the progress of core features, architectural specifications, and the path to the V1.0 Stable release.

Tip

This document is the Single Source of Truth for project status. Individual language-specific guides in the Book point here.


🇬🇧 English: Roadmap & Backlog

🟢 Wave 1: Quick Wins & Visibility (Immediate)

Status Task Spec Description
Dynamic Port Binding S08 Support for Port 0 (OS chooses free port) for Demos and CI.
DataAPI Conventions S04 Auto-discovery, 'T' prefix stripping, and Smart Attributes.
DataAPI Observability - CRUD diagnostic logs and mapping tracking.
🟡 Examples Roadmap Ref Create high-fidelity examples for existing features.
🟡 Agent Guidelines AI Finalize CONTRIBUTING_AI.md and related Workflows.

🔵 Wave 2: Performance & Productivity (Foundation)

Status Task Spec Description
High-Perf Reflection S07 Thread-safe RTTI cache with lock-free fast paths, zero-boxing type handlers, and ISO 8601 date binding.
Advanced Scaffolding S01 New CLI template engine (dext new, dext add).
Template Engine S09 Zero-dependency AST-based template engine (Razor-like).
Advanced Template Engine S12 Phases 1-6 complete: layouts, partials, inheritance, AST cache, smart positions, @encoded, and high-performance TDataSet/Streaming iterators.
Schema Migrations S11 Attribute-based renaming detection and CLI automation.
Prop & Nullable Convergence S22 Interoperability between Smart Properties and Nullable values via composition.
DbContext Auto-Hydration S30 Eliminate generic IDbSet boilerplate getters.
Fluent Validation API S31 Strong-typed fluent validation engine integrated with Prop and Web model binding.
Resilience Pipeline S32 Polly-style transient-fault handling (Retry, Circuit Breaker, Fallback, Timeout) for generic I/O.
Persistent Background Jobs S33 Out-of-process scheduled/recurring background tasks with database/SQLite/InMemory persistence.
Dynamic Query Filters S34 Bypassing global query filters (soft-delete, multi-tenancy) dynamically via IgnoreQueryFilters.
Soft Delete Evolution S21 Soft Delete based on nullable timestamps for audit trails.
Database Sequences & HiLo S46 Database sequences and thread-safe HiLo pre-allocation registry for client-side ID assignment, unlocking high-performance bulk inserts.
FluentQuery Join Evolution S19 Unified strongly-typed fluent SQL joins (Inner, Left, Right, Full, Cross).
Fluent REST Evolution S20 Enhanced TRestClient factories and native record/array payload support.
DbSet Batch UPDATE & DELETE S59 Single-statement dialect-aware batching for PostgreSQL (unnest/VALUES), MySQL (CASE-WHEN), and Tuple-IN deletes.
Native Delphi IDE Test Runner S36 Native IDE Test Runner expert with decoupled DUnitX, DUnit, DUnit2, and TestInsight integrations and rich reporting.
Public Symbol Indexing [dext index] Extract and generate public symbol maps (Markdown, JSON, CSV) with line numbers for AI agents and NotebookLM.
Performance Benchmarks S18 Benchmark suite for core Reflection, JSON, FastPath, and ORM components.
FastPath ORM Hydration S57 Direct cursor dataset streaming, DbSet ExecuteToUtf8Proc streaming, and pre-compiled RTTI mappers.
Generic Object Pooling S58 High-performance thread-safe generic object pool, automatic TDbContext recycling, TRestClient pooling, and FastPath integration.
TBcd & ftFMTBcd Support S60 First-class end-to-end TBcd / ftFMTBcd support across FireDAC driver, ORM hydration, type converters, and Smart Properties.
Feature Flags & Management S63 Dynamic toggle keys, rollout percentage filters, time windows and [FeatureGate] attributes.
Forwarded Headers Middleware S64 Zero-Trust reverse proxy header parsing (X-Forwarded-For/Proto/Host).
Antiforgery CSRF Protection S65 HMAC-SHA256 tokens, constant-time validation, and Origin/Host verification.
Testing WebApp Factory S66 Lightweight integration testing factory for Dext Web Applications.
CommandLine & UserSecrets Config S67 Enterprise 5-layer configuration pipeline with CLI argument parsing and isolated developer secrets.
🔴 Dext Studio (Expert) S15 Visual IDE Expert for schema mapping and continuous syncing via YAML.
Production Middleware S06 Hardened Web Middlewares: HTTP Logging redaction, Problem Details RFC 9457, strict CORS preflight & Vary merge, RFC 9333 Rate Limiting, and secure Response Cache.
🟡 Book Review Framework Gaps S68 P0+P1 executable backlog delivered (Problem Details, Accepted, ValidateModel, ValidateOnStart, Domain 422, health probes, TestClient, MaxPageSize, feature reload, tenant DML filters). P2 remains design-review only.

🔴 Wave 3: Enterprise & Modernization (Stability)

Status Task Spec Description
gRPC & Protobuf S02 Code-first Protobuf services and TEntityDataSet/TEntitygRpcProvider integration.
Native Server Engine S39 100% Pascal High-performance server engine (http.sys, epoll sockets).
WebSocket & SignalR S40 RFC 6455 protocol codec and SignalR-compatible Hub transport integration.
HTTP/2 Framing S41 HTTP/2 HPACK compression, frame codec, and stream multiplexing for gRPC.
OAuth2 & OIDC S06 Native support for JWT, Google, and Microsoft Login.
Live Tracing (Core) S03 Real-time instrumentation infrastructure (TDiagnosticSource).
🟡 Observability Dashboard - Built-in web UI for real-time log and SQL visualization.
EntityDataSet Providers S51 Pluggable providers (REST/gRPC) for EntityDataSet.
Redis Client (Dext.Redis) S13 High-performance async Redis client with RESP3 and RedisJSON support.
🟡 SOA via Interfaces S14 Transparent Code-First gRPC mapping for Delphi Interfaces.
APM & Telemetry Sinks S35 Asynchronous batch-oriented telemetry sinks targeting Seq and OpenTelemetry (OTLP) collectors.
Indy HTTP Fallback S37 Abstract HTTP Client layer to support Indy fallback on older Delphi versions.
Delphi Hub Client S42 Native Delphi client connection library for Dext Hubs (WebSocket/SSE).
Processor Groups S48 Windows Processor Groups optimization (NUMA-Aware scaling) for >64 logical cores.
Expose TCP/UDP & MQTT S47 Decouple core IOCP/Epoll engine for raw sockets and native MQTT client/broker.
HTTP QUERY Method S49 Standardized HTTP QUERY method support (RFC 10008) on client and server.
Linux Epoll Evolution S50 CPU Pinning, TCP_DEFER_ACCEPT, TFO, zero-copy sendfile, lock-free buffer pooling, and keep-alive timing wheels.
Direct Codecs & Static Code Generation S54 Runtime finalized: shared direct-offset and generated-code codecs for gRPC, REST/JSON, ORM hydration, and EntityDataSet sync. Expert DX deferred.
Model Context Protocol (MCP) S23 Native MCP v2025-03-26 server integration with builder API and HTTP.sys support.
Net-Advanced & Native TLS S43 Unified TLS abstraction, http.sys HTTPS, OpenSSL 3.x, dev-certs CLI, and fluent TRestClient SSL validation.

🔮 Future / Post-V1

  • OData Support: Full OData query support.
  • GraphQL: Native layer for data graphs.
  • Microservices Mesh: Service discovery and native Load Balancing.
  • SOCKS5 Proxy Support: S52 client tunnels, Socks over TLS, and SOCKS5 server backlog.
  • Cloud Object Storage & Services: S53 S3-Compatible storage (AWS, OCI, MinIO) and cloud integrations backlog (Queues, Email, Document DBs).

🇧🇷 Português: Roadmap & Backlog

🟢 Onda 1: Quick Wins & Visibilidade (Imediato)

Status Tarefa Spec Descrição
Portas Dinâmicas S08 Suporte a Porta 0 (SO escolhe porta livre) para Demos e CI.
Convenções DataAPI S04 Auto-discovery, remover prefixo 'T' e Smart Attributes.
Observabilidade DataAPI - Logs de diagnóstico CRUD e rastreamento de mapeamento.
🟡 Roadmap de Exemplos Ref Criar exemplos de alta fidelidade para features existentes.
🟡 Agent Guidelines AI Finalizar o CONTRIBUTING_AI.md e Workflows.

🔵 Onda 2: Performance & Produtividade (Fundação)

Status Tarefa Spec Descrição
High-Perf Reflection S07 Cache de RTTI thread-safe com fast paths lock-free, handlers sem boxing e binding ISO 8601.
Scaffolding Avançado S01 Novo motor de templates CLI (dext new, dext add).
Motor de Templates S09 Motor de templates baseado em AST, zero dependência (estilo Razor).
Motor de Templates Avançado S12 Fases 1-6 completas: layouts, partials, herança, cache de AST, posições inteligentes, @encoded e iteradores TDataSet/Streaming de alta performance.
Migrations de Schema S11 Detecção de renomeação por atributos e automação CLI.
Convergência Prop/Nullable S22 Interoperabilidade entre Smart Properties e valores Nullable via composição.
Auto-Hidratação de DbContext S30 Eliminar boilerplate getters de IDbSet genéricos.
API de Validação Fluent S31 Motor de validação fluente fortemente tipado com suporte a Prop e model binding Web.
Resilience Pipeline S32 Tratamento de falhas estilo Polly (Retry, Circuit Breaker, Fallback, Timeout) genérico para I/O.
Persistent Background Jobs S33 Processamento de tarefas em background agendadas/recorrentes fora do processo com persistência em BD/SQLite/InMemory.
Filtros Dinâmicos de Query S34 Bypass dinâmico de filtros globais de query (soft-delete, multi-tenancy) via IgnoreQueryFilters.
Evolução do Soft Delete S21 Soft Delete baseado em timestamps anuláveis para trilhas de auditoria.
Database Sequences & HiLo S46 Mapeamento de sequences e pré-alocador HiLo thread-safe para geração de IDs no cliente, desbloqueando inserções em lote (bulk).
Evolução de Joins FluentQuery S19 Joins fluentes e fortemente tipados unificados (Inner, Left, Right, Full, Cross).
Evolução REST Fluente S20 Factories aprimoradas para TRestClient e suporte nativo a records/arrays.
Test Runner Nativo na IDE S36 Plugin Expert nativo de Test Runner na IDE com integração DUnitX, DUnit, DUnit2 e TestInsight desacoplada e relatórios ricos.
Indexador de Símbolos Públicos [dext index] Extrair e gerar mapas de símbolos públicos (Markdown, JSON, CSV) com números de linha para agentes de IA e NotebookLM.
📝 Otimização de Hydration FastPath ORM S57 Hidratação zero-alloc em structs/records, streaming ExecuteToUtf8Proc no DbSet e mappers RTTI pré-compilados.
🟡 Dext IDE Explorer S05 Ferramenta visual inicial para Migrations na IDE (Somente scaffolding de TFDConnection implementado).
🔴 Dext Studio (Expert) S15 Expert visual na IDE para mapeamento de schema e sync contínuo via YAML.
🟡 Middleware Pack - SPA Fallback, Forwarded Headers e Resiliência.
Provedores CommandLine & UserSecrets S67 Pipeline enterprise de configuração em 5 camadas com parsing de argumentos CLI e segredos de desenvolvimento isolados.
🟡 Gaps da revisão do livro S68 Backlog executável P0+P1 entregue (Problem Details, Accepted, ValidateModel, ValidateOnStart, Domain 422, health probes, TestClient, MaxPageSize, reload de features, filtros tenant em DML). P2 só com design review.

🔴 Onda 3: Enterprise & Modernização (Estabilidade)

Status Tarefa Spec Descrição
gRPC & Protobuf S02 Motor nativo IOCP/EPOLL para comunicação binária.
Motor de Servidor Nativo S39 Motor de servidor de alta performance 100% Pascal (http.sys, epoll sockets).
WebSocket & SignalR S40 Codec do protocolo RFC 6455 e integração do transporte de Hub compatível com SignalR.
HTTP/2 Framing S41 Compressão HPACK HTTP/2, codec de frames e multiplexação de streams para gRPC.
OAuth2 & OIDC S06 Suporte nativo a JWT, Google/Microsoft Login.
Live Tracing (Core) S03 Infraestrutura de instrumentação em tempo real.
🟡 Dashboard Log Live - Interface web para visualização de logs e SQL em tempo real.
Provider de EntityDataSet S51 Providers plugáveis (REST/gRPC) para o EntityDataSet.
Redis Client (Dext.Redis) S13 Client Redis async de alta performance com suporte a RESP3 e RedisJSON.
🟡 SOA via Interfaces S14 SOA e RPC via gRPC Code-First transparente para interfaces Delphi.
APM & Telemetry Sinks S35 Envio assíncrono em lotes de telemetria e logs para Seq e coletores OpenTelemetry (OTLP).
Indy HTTP Fallback S37 Abstração do cliente HTTP para suporte a fallback com Indy em versões antigas.
Cliente Hub Delphi S42 Biblioteca cliente nativa em Delphi para conexão com Dext Hubs (WebSocket/SSE).
Processor Groups S48 Otimização de Windows Processor Groups (escala NUMA-Aware) para >64 cores lógicos.
Expor TCP/UDP & MQTT S47 Desacoplar motor core IOCP/Epoll para sockets puros e client/broker MQTT nativo.
Método HTTP QUERY S49 Suporte ao método HTTP QUERY padronizado (RFC 10008) no cliente e no servidor.
Evolução do Epoll Linux S50 CPU Pinning, TCP_DEFER_ACCEPT, TFO, zero-copy sendfile, buffer pools lock-free e keep-alive timing wheels.
Codecs Diretos & Geração Estática S54 Runtime finalizado: codecs compartilhados por offset direto e geração estática para gRPC, REST/JSON, hidratação ORM e sync do EntityDataSet. Expert DX adiado.
Suporte a Base Path (#182) S55 Suporte a hospedagem sob prefixo de caminho (HTTP.sys prefix, TDextPathBaseMiddleware e Request.ToAppUrl).
Model Context Protocol (MCP) S23 Integração nativa do servidor MCP v2025-03-26 com API builder e suporte a HTTP.sys.

🔮 Futuro / Pós-V1

  • Suporte a OData: Suporte completo a queries OData.

  • GraphQL: Camada nativa para exposição de grafos de dados.

  • Microservices Mesh: Service discovery e Load Balancing nativo.

  • Proxy SOCKS5: S52 suporte a túneis de cliente, Socks over TLS e servidor SOCKS5.

  • Cloud Object Storage & Serviços: S53 armazenamento S3-Compatível (AWS, OCI, MinIO) e backlog de integrações cloud (Filas, E-mail, Document DBs).

  • UI Nativo com Skia


Last update: July 2026