From dd61f44de62ed0b449e1217f3280d90842762adf Mon Sep 17 00:00:00 2001 From: Fabian Clemenz Date: Mon, 14 Sep 2026 15:04:05 +0200 Subject: [PATCH] fix(docs): repair the frameworks.svg comment and clarify the image footer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The header comment added when the generator script was dropped contained a command-line flag. XML comments may not contain a double hyphen, so the file stopped parsing as XML — invisible on the site, which serves the PNG, but the file documented as the editable source would not open in a browser or editor. Rewrite the comment without literal flags and note why. Also: the footer listed SQL DDL as a sixth bullet under a headline counting five frameworks. SQL DDL is an input format, not a Python model framework (MODEL_SOURCES is still exactly five), so it now reads "and raw SQL DDL" and the two numbers no longer look like they disagree. --- CHANGELOG.md | 11 +++++++++++ docs/examples/frameworks.png | Bin 71563 -> 71912 bytes docs/examples/frameworks.svg | 27 +++++++++++++++++---------- 3 files changed, 28 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a3a3c69..f5db60d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Fixed + +- `docs/examples/frameworks.svg` is well-formed XML again. Its header comment + contained a command-line flag, and XML comments may not contain a double + hyphen, so the file failed to parse — harmless for the site, which serves the + PNG, but the file documented as "the editable source" would not open in a + browser or vector editor. +- The image footer reads "and raw SQL DDL" rather than listing it as a sixth + bullet. The headline counts five *frameworks*; SQL DDL is an input format, and + the flat list made the two numbers look like they disagreed. + ### Changed - The README and the documentation home page now open with a "five frameworks, diff --git a/docs/examples/frameworks.png b/docs/examples/frameworks.png index f5f5107fe158d7d747836eb20b8be578a83af27a..4ae8c8c695bc02f1892f2245235950327b2fc1b7 100644 GIT binary patch delta 14944 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 o$rGx0BvQH- @@ -98,5 +105,5 @@ user_id -SQLModel · SQLAlchemy · Django · Pydantic · dataclasses · SQL DDL +SQLModel · SQLAlchemy · Django · Pydantic · dataclasses · and raw SQL DDL