Skip to content

Release Notes

08 Jun 2026: ver. 4.0.8 Beta

Theming

  • User-selectable theme: set Theme/UserSelection: True and drop a Controller: ThemeSwitcher anywhere in the GUI — the end user picks Light / Auto / Dark live, persisted per-app in localStorage, FOUC-safe boot, no page reload
  • Theme is now a structured config block discoverable by KIDEx: Theme/Mode (Auto/Light/Dark), shared font/icon settings, and per-mode Light:/Dark: palettes (each with its own Primary-Color) — replaces the old flat Theme: <mode> value (existing configs still load)

Login

  • Full-width footer and side-panel layout refinements; optional per-section theme switcher

KIDEx

  • Boolean [YamlNode] defaults now carry the inverse of the runtime default, so the "Add node" menu writes the meaningful value instead of a no-op

MCP-KittoX

  • Many new tools added — full CRUD on Models / Views / Layouts, database introspection (connections, tables, columns), config read/update, locale (.po) reading, metadata validation, and grid/list view scaffolding (40+ tools total, up from 16)

18 May 2026: ver. 4.0.7 Beta

  • Controller/AutoOpen and Controller/PagingTools based on model's IsLarge flag
  • A Reference field whose target Model has IsLarge: True renders as a searchable lookup popup

JWT / ACL hardening

  • Auth: JWT no longer emits the legacy <AppName> session-id cookie nor kx_db — the JWT sid and db claims carry the same info
  • Server-side ACL enforcement on every HandleKX* route (view/data/save/delete/form/lookup/blob/upload/tool/detail*/wizard)
  • New auth gate in DoHandleRequest returns 404 on protected routes for unauthenticated requests (public views excluded)
  • Toolbar Add/Edit/Delete/Dup stay disabled for ACL-denied users
  • Per-thread JWT context cache uses TObjectDictionary<TThreadID, ...>

IDE / wizard

  • New RAD Studio IDE plugin gallery: KittoXIDE.bpl registers 4 entries under File > New > Other > KittoX Projects (Standalone .exe / Desktop .exe / ISAPI .dll / Apache .dll)
  • Three paths to scaffold a new app: KIDEx standalone, the new IDE gallery, and MCP-KittoX project_create_app
  • New project default: Auth: TextFile with a ready-to-use Home/FileAuthenticator.txt (admin/admin demo accounts) so the generated app authenticates out of the box, no users table required. JWT envelope kept as default. AccessControl default switched to Null to avoid deny-all post-login on a brand-new project. DB.FD.yaml template now sets ODBCAdvanced: TrustServerCertificate=yes so SQL Server ODBC Driver 17/18 connects on first try
  • Model Wizard Beautify names option now also handles DB names with spaces (Northwind-style: Quarterly OrdersQuarterlyOrders, Sales by CategorySalesByCategory); the original name is preserved in PhysicalName for the SQL layer
  • Model Wizard — new editable DisplayLabel and Hint fields on every Add/Update Field action: auto-populated from the database's native column comment when present (MSSQL MS_Description, PostgreSQL pg_description, Firebird RDB$DESCRIPTION, MySQL COLUMN_COMMENT, Oracle USER_COL_COMMENTS), fully editable before Apply
  • Action "New TreeView..." on the Views folder is now idempotent: pointing it at an existing MainMenu.yaml merges the Models that aren't yet referenced under the Folder: Menu block, preserving every hand-edited entry, instead of raising a duplicate-object error

MCP-KittoX

  • New tool models_create_from_db — the headless equivalent of the Model Wizard. AI agents can reverse-engineer Models from a database connection conversationally: defaults to dry_run: true (preview only); pass dry_run: false to commit. Output is byte-identical to what the visual wizard writes. DisplayLabel auto-populated from the database's native column comments; optional field_descriptions array lets the agent inject labels from a non-DB source (CSV, glossary, prior YAML) with per-property override precedence
  • New tools models_list / models_read / views_list / views_read / resources_list / resources_read — enumerate and read project metadata and static resources headlessly
  • New tool menu_generate_main_menu — create or refresh MainMenu.yaml with one entry per Model under a top-level Folder: Menu; idempotent (existing entries preserved, only missing Models appended)
  • Database column comments are now auto-fetched for all 5 supported engines (MSSQL, PostgreSQL, Firebird, MySQL, Oracle) and flow into both the KIDEx wizard and the MCP tool
  • 16 tools now implemented (was 9)
  • Better error reporting from MCP tools: errors are now propagated verbatim to the JSON-RPC client (class name + message) instead of being replaced by a generic fallback

Setup / tooling

  • Setup installer ships MCPKittoX.exe alongside KIDEX.exe sharing OnGuard license
  • Tools/SetVersion.ps1 now also bumps the 12 dprojs of the 3 official examples (HelloKitto, TasKitto, KEmployee — 4 deployment variants each), and inserts <VerInfo_Release> and other VerInfo tags when the .dproj has them stripped (Delphi removes VerInfo tags whose value is 0)

01 May 2026: ver. 4.0.6 Beta

  • New Auth: JWT wrapper authenticator (signed kx_token cookie, sliding expiration, programmatic key registration)
  • New AccessControl: JWT reading grants from kx_acl claim snapshotted at login, with optional DB fallback
  • Updated examples to JWT Auth (TasKitto / HelloKitto / KEmployee)
  • Updated TasKitto example with three-tier ACL (admin / user / viewer)
  • Multi-database support on TasKitto and HelloKitto: SQL Server / PostgreSQL / Firebird
  • Cross-dialect macros: %DB.TRUE% / %DB.FALSE%, %DB.DATEDIFF, %DB.DATETIME_FROM
  • Login form with optional "Environment" combo for multi-database apps (Auth/DatabaseChoices)
  • Native boolean types on the three sample DBs (BIT / BOOLEAN); Firebird setup is now SQL-script-only
  • Firebird Activity Dashboard views translated from the SQL Server originals
  • TasKitto SQL Server DDL split (tables / views in separate scripts because of T-SQL batch rules)
  • New Tools/SetVersion.ps1: one-shot version bump across constant, dproj, README and Inno Setup
  • New Projects/BuildAllPackagesD{10_4,11,12,13}.ps1 wrappers: rebuild Core + Enterprise per Delphi version
  • YAML metadata files included in every .dproj (visible in Project Manager, KIDEx highlighting)
  • EF.Logger.TextFile active out-of-the-box for the standalone Indy hosts

23 Apr 2026: ver. 4.0.5 Beta

  • Architectural refactor: DB connection ownership unified in TKConfig
  • New API TKConfig.DatabaseFor(Name) and TKConfig.CreateStandaloneDBConnection(Name)
  • CreateDBConnection moved from public to protected
  • ClearDatabase / DestroyInstance now clear both FDatabase and FDatabases
  • New InDBConnection / InDBTransaction helpers

22 Apr 2026: ver. 4.0.4 Beta

  • Manual column resize in grids
  • Tooltip on truncated grid cells (only when actually truncated)
  • Fix: in-memory lookup popup closing on resize
  • Tooltip on TreePanel menu nodes
  • Multi-column sort in grids
  • Multi-page form validation
  • Edit-mode accent border for combobox and other non-text-editable fields
  • SunEditor readonly rendering
  • Checkbox styled like other form inputs
  • DetailTables Style (Tabs/Bottom/Popup)
  • Added CSS .disabled class

23 Apr 2026: ver. 4.0.3 Beta

  • Editing-mode field borders
  • Form toolbar anchoring
  • DateTime field fixes
  • Fixed KittoEmailSenderSrvc
  • Grid keyboard navigation
  • SunEditor theming and resize
  • Dialog focus
  • DetailTables Style (Tabs/Bottom/Popup)
  • ExportExcel / ExportFlexCel
  • Fixed Date/time filters SQL conversion
  • Date/time filter trigger
  • Error dialog consistency
  • Controller: Window restored backward-compatibility

19 Apr 2026: ver. 4.0.2 Beta

  • Simplified Apache/IIS deployment: static resources served internally, no RewriteRule needed
  • New deployment mode: Windows Service + reverse proxy (nginx/Apache/IIS) with install/uninstall scripts
  • Fixed ViewMode to EditMode save bug in master-detail forms
  • Implemented Apply*Rules event chain (EditRecord, NewRecord, Duplicate, AfterShowEditWindow)
  • Master-detail: "Confirm" button (save-cache) and "Save All" only visible in ViewMode
  • HTTP error feedback (htmx:responseError) with Retry/Reset dialog
  • Updated Italian localization (.po/.mo) with all KittoX strings
  • Extensive documentation updates (deploy, proxy, localization, form state machine, routing)
  • Added DDL and DML script for Example databases

09 Apr 2026: ver. 4.0.1 Beta

  • Fixed Field Rules client-side (ForceUpperCase, ForceCamelCaps, MinValue/MaxValue)
  • Fixed PackageGroup
  • Fixed modal lookup for Reference fields
  • Fixed Example for Apache modules

07 Apr 2026: ver. 4.0.0 Beta (first public release)

First public release of Kittox, the fourth generation of the Kitto framework: complete rewrite of the client from ExtJS to HTMX + AlpineJS + TemplatePro, with a new modular server architecture.

  • HTMX + AlpineJS client: server-generated HTML, partial page updates, no heavy JS framework
  • Attribute-Based Routing via RTTI (MARS/WiRL-style), DI request context, dynamic JS/CSS injection
  • Open Core licensing: Core (Apache 2.0), Enterprise (AGPL-3.0 / Commercial), KIDEx (Commercial)
  • Server-Side Store: record state tracking, transactional master-detail save, blob lazy-load
  • Controllers: List, GroupingList, Form, Wizard, BorderPanel, TabPanel, FlexPanel, TreePanel, TilePanel, HtmlPanel, StatusBar, ToolBar
  • Enterprise controllers: ChartPanel, CalendarPanel, GoogleMap, Dashboard
  • Card View (List with custom HTML template) and Desktop Embedded Mode (WebView2)
  • Database agnostic (FireDAC / DBExpress / ADO)
  • Master-detail transactional save with in-memory detail CRUD
  • Form state machine (ViewMode / EditMode) with save-cache + Save All workflow
  • Custom Grid and Form layouts (multipage, collapsible regions)
  • Mobile support: auto-detection, fullscreen dialogs, TilePanel, per-size Home views
  • Filter Panel: FreeSearch, List, DynaList, ButtonList, Date/Time/Numeric/Boolean search
  • Toast notifications, draggable dialogs, double-click to open, session-lost detection, timeout handling
  • Authentication: DB, DBCrypt, TextFile, DBServer, OSDB, Null; BCrypt + Google OTP (2FA)
  • Access control: DB, Null
  • Tools: CSV / Excel export, file download/upload, FlexCel, ReportBuilder, Debenu PDF (Enterprise)
  • Deployment: Standalone, Desktop Embedded, Console, IIS (ISAPI), Apache (module)
  • KIDEx visual IDE: RTTI property discovery, SVG icons, DB reverse engineering, project wizard, validators
  • Examples: HelloKitto, TasKitto, KEmployee
  • Supported on Delphi 10.4 → latest (Win64)

Supporting Delphi

Released under Apache License, Version 2.0.