diff --git a/CHANGELOG.md b/CHANGELOG.md index 116a81c..2ad60eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,8 @@ # Changelog -## Unreleased +## 1.12.0 -- **Dark surfaces: links, `
` / `` and `` now use dark-surface colors** ([#23](https://github.com/brewkits/hyper_render/issues/23)). In 1.11.0 only the default text color followed a dark theme; these built-in colors were still tuned for light surfaces and measured 4.1:1 (links), 3.9:1 (``) and **2.5:1** (``) on `#121212`. They now keep at least 4.5:1, and the inline `` / `` chips become dark chips instead of bright blocks. The palette is chosen from the *effective text color*: light text means a dark surface, so a dark `Theme` with `textColor: Colors.black87` (a white pane) keeps the light-surface palette, and a light `Theme` with a light `textColor` gets the dark one. Light-surface output is unchanged. Author CSS and inline styles still win. ``, `` and table headers keep their light backgrounds (their text is kept readable by the 1.11.0 contrast guard). Requires the matching `hyper_render_core` (`StyleResolver.darkSurface`).
+- **Dark surfaces: links, ``, `` / `` and `` now use dark-surface colors** ([#23](https://github.com/brewkits/hyper_render/issues/23)). In 1.11.0 only the default text color followed a dark theme; these built-in colors were still tuned for light surfaces and measured 4.1:1 (links), 3.9:1 (``) and **2.5:1** (``) on `#121212`. They now keep at least 4.5:1, and the inline `` / `` chips become dark chips instead of bright blocks. The palette is chosen from the *effective text color*: light text means a dark surface, so a dark `Theme` with `textColor: Colors.black87` (a white pane) keeps the light-surface palette, and a light `Theme` with a light `textColor` gets the dark one. Light-surface output is unchanged. Author CSS and inline styles still win. ``, `` and table headers keep their light backgrounds (their text is kept readable by the 1.11.0 contrast guard). **Requires `hyper_render_core` `^1.12.0`** (`StyleResolver.darkSurface`). `hyper_render_epub` 0.1.3 needs no update: it goes through `HyperViewer`, so it picks this up automatically.
## 1.11.0
diff --git a/README.md b/README.md
index b761425..8cb42d3 100644
--- a/README.md
+++ b/README.md
@@ -34,7 +34,7 @@ Already using `flutter_html`? You don't need to rewrite your widget tree or lear
```dart
// 1. In your pubspec.yaml:
// dependencies:
-// hyper_render: ^1.11.0
+// hyper_render: ^1.12.0
// 2. In your Dart file — replace this single line:
// ❌ import 'package:flutter_html/flutter_html.dart';
@@ -68,7 +68,7 @@ Html(
```yaml
dependencies:
- hyper_render: ^1.11.0
+ hyper_render: ^1.12.0
```
```dart
diff --git a/ROADMAP.md b/ROADMAP.md
index b0ee0ce..11c1458 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -12,7 +12,8 @@ This document outlines the architectural roadmap for **HyperRender** to become t
| **v1.8.0** | Shipped | **AI & LLM Token-Streaming Engine** | Frame-throttled token updates with adaptive backoff, transient syntax auto-repair, auto-scroll locking. Tail-only layout invalidation remains a separate, unscheduled epic — see below. |
| **v1.9.0** | Shipped | **Wrapping Flexbox** | `flex-wrap: wrap` on a dedicated `RenderFlexWrap` (#15). |
| **v1.10.0** | Shipped 2026-10-02 | **DevTools v2 & Stylesheet CSS Correctness** | Timeline / Selection / live CSS-variable / snapshot DevTools tabs; stylesheet `var()`, `url()`, `calc()` and `:root` fixed. |
-| **v1.11.0** | Release candidate | **Dark Mode & Root Colors** | Dark-`Theme` text default, `HyperViewer(textColor:)` / `EpubReader(textColor:)`, `body`/`html` `color`, `:root` fix, contrast guard (#20). |
+| **v1.11.0** | Shipped 2026-10-04 | **Dark Mode & Root Colors** | Dark-`Theme` text default, `HyperViewer(textColor:)` / `EpubReader(textColor:)`, `body`/`html` `color`, `:root` fix, contrast guard (#20). |
+| **v1.12.0** | Shipped 2026-10-04 | **Dark-Surface Element Colors** | Links, ``, `` / ``, `` keep >= 4.5:1 on dark surfaces (#23). |
| **Next** | Unscheduled | **Native Vector Diagramming & Headless Export** | Pure Canvas/Vector Mermaid.js & GraphViz (Zero-WebView), Headless Image & PDF byte stream generator. |
| **v2.0.0** | Q1 2027 | **Interactive Editorial & Magazine Typography** | Medium-style Text Annotation/Highlighting layer, Multi-column layout (`column-count`), Z-Index Stacking Context, Vertical Text (`writing-mode: vertical-rl`). |
diff --git a/doc/CSS_PROPERTIES_MATRIX.md b/doc/CSS_PROPERTIES_MATRIX.md
index 40415e5..0a65ac3 100644
--- a/doc/CSS_PROPERTIES_MATRIX.md
+++ b/doc/CSS_PROPERTIES_MATRIX.md
@@ -1,7 +1,7 @@
# CSS Properties Support Matrix
-Last Updated: October 3, 2026
-Version: 1.11.0
+Last Updated: October 4, 2026
+Version: 1.12.0
This document lists CSS property support in HyperRender.
diff --git a/doc/MIGRATION_GUIDE.md b/doc/MIGRATION_GUIDE.md
index 7796efc..2d8f97a 100644
--- a/doc/MIGRATION_GUIDE.md
+++ b/doc/MIGRATION_GUIDE.md
@@ -1,6 +1,15 @@
# Migration Guide
-> **Current version: v1.11.0**
+> **Current version: v1.12.0**
+
+## Upgrading to v1.12.0
+
+No API changes, but on a **dark surface** (a dark `Theme`, or a light `textColor`) the built-in colors of links, ``, `` / `` and `` change to dark-surface variants with at least 4.5:1 contrast ([#23](https://github.com/brewkits/hyper_render/issues/23)); inline `` and `` become dark chips instead of bright blocks. Light-surface output is unchanged. The palette is chosen from the effective text color, so a dark `Theme` with `textColor: Colors.black87` (a white pane) keeps the light-surface palette. Your own CSS (`a { color }`, inline `style`) still wins.
+
+```yaml
+dependencies:
+ hyper_render: ^1.12.0
+```
## Upgrading to v1.11.0
@@ -207,6 +216,9 @@ These APIs are stable and will remain backward-compatible in v2.0:
## Version History
+### v1.12.0 (October 2026)
+- Dark-surface colors for links, ``, `` / `` and `` ([#23](https://github.com/brewkits/hyper_render/issues/23))
+
### v1.11.0 (October 2026)
- Dark-theme text default, `HyperViewer(textColor:)`, `body`/`html` `color`, `:root` fix, contrast guard ([#20](https://github.com/brewkits/hyper_render/issues/20))
diff --git a/doc/ROADMAP.md b/doc/ROADMAP.md
index c608121..a03ac6e 100644
--- a/doc/ROADMAP.md
+++ b/doc/ROADMAP.md
@@ -1,7 +1,7 @@
# HyperRender — Product Roadmap
**Last Updated**: 2026-10-03
-**Current Stable**: v1.10.0 (v1.11.0 is the release candidate)
+**Current Stable**: v1.12.0
**Repository**: [github.com/brewkits/hyper_render](https://github.com/brewkits/hyper_render)
This document tracks the long-term direction of the HyperRender ecosystem.
@@ -33,7 +33,8 @@ For detailed CSS property tracking, see [`CSS_PROPERTIES_MATRIX.md`](CSS_PROPERT
`hyper_render_markdown`, `hyper_render_highlight`, `hyper_render_clipboard`
- **`hyper_render_devtools` v1.0.0** — UDT Tree inspector, Computed Style panel, Layout fragment/line data, demo mode (no live app required); published to pub.dev
- **`hyper_render_devtools` v1.8.0** (2026-10-02) — the panel actually connects now (#17), plus Timeline, Selection debugger, live CSS-variable editing and JSON snapshot export. Requires `hyper_render_core` 1.10.0.
-- **Dark mode & root colors** (1.11.0, release candidate) — unstyled text follows a dark `Theme`, `HyperViewer(textColor:)` / `EpubReader(textColor:)`, `body`/`html` `color` honoured, `:root` matches only the document root, readable text on light UA surfaces (#20). Block plugins on custom tags (``) now render (#22).
+- **Dark-surface element colors** (1.12.0) — links, ``, `` / `` and `` switch to dark-surface variants (>= 4.5:1) when the effective text color is light (#23).
+- **Dark mode & root colors** (1.11.0) — unstyled text follows a dark `Theme`, `HyperViewer(textColor:)` / `EpubReader(textColor:)`, `body`/`html` `color` honoured, `:root` matches only the document root, readable text on light UA surfaces (#20). Block plugins on custom tags (``) now render (#22).
- **Stylesheet CSS correctness** (core 1.10.0) — `var()`, `url()`, `calc()` in `