You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+15-46Lines changed: 15 additions & 46 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,16 @@
2
2
3
3
All notable changes to Http11Probe are documented in this file.
4
4
5
-
## [2026-02-15]
5
+
## [2026-02-14]
6
6
7
7
### Added
8
+
-**RFC Level indicator row** — result tables now show a translucent capsule (MUST/SHOULD/MAY/N/A) for each test, indicating the RFC 2119 requirement level
9
+
-**Method indicator row** — result tables show the HTTP method (GET, POST, etc.) for each test in an outlined monospace badge style
10
+
-**Method filter** — filter result tables by HTTP method (GET, POST, HEAD, etc.) on all category pages
11
+
-**RFC Level filter** — filter result tables by RFC requirement level (MUST, SHOULD, MAY, N/A) on all category pages
12
+
-**Method & RFC Level in popup** — server detail modal now includes Method and RFC Level columns alongside Test, Expected, Got, and Description
13
+
-**`RfcLevel` enum** — `Must`, `Should`, `May`, `OughtTo`, `NotApplicable` classification for every test case
14
+
-**RFC Level annotations** — all tests across Compliance, Smuggling, MalformedInput, and Normalization suites annotated with their RFC 2119 requirement level
8
15
-**Verbose Probe workflow** — new `probe-verbose.yml` GitHub Action for manual single-server probing with `--verbose` output, triggered via `workflow_dispatch` with a server name input (#60)
9
16
-**9 new RFC 9110 compliance tests** sourced from [mohammed90/http-compliance-testing](https://github.com/mohammed90/http-compliance-testing):
10
17
-`COMP-HEAD-NO-BODY` — HEAD response must not contain a message body (RFC 9110 §9.3.2, MUST)
@@ -21,55 +28,17 @@ All notable changes to Http11Probe are documented in this file.
21
28
-**AGENTS.md** — added Step 5 (RFC Requirement Dashboard) to the "Add a new test" task; added Step 5 (server documentation page) to the "Add a framework" task
22
29
-**RFC Requirement Dashboard** — updated with all 9 new tests, counts, and cross-references
23
30
-**Landing page cards** — removed hardcoded test count from RFC Requirement Dashboard subtitle
31
+
-**Score calculation** — warnings now included in the overall score (#66)
24
32
25
33
### Fixed
26
34
-**Caddy server** — fixed POST body echo using Caddy Parrot pattern; updated Caddyfile, Dockerfile, and docs page
27
35
-**Lighttpd server** — fixed POST body echo implementation (#57)
28
-
29
-
## [2026-02-14]
30
-
31
-
### Added
32
-
-**RFC Requirement Dashboard** — all 148 tests classified by RFC 2119 level (MUST/SHOULD/MAY/"ought to"/Unscored/N/A) with exact RFC quotes proving each classification (`docs/content/docs/rfc-requirement-dashboard.md`)
33
-
-**Add a Test guide** — step-by-step documentation for contributing new tests to the platform (`docs/content/add-a-test.md`)
34
-
-**AI Agent contribution guide** — machine-readable `AGENTS.md` at repo root with precise instructions for LLM agents to add tests or frameworks (`docs/content/add-with-ai-agent.md`)
35
-
-**Contribute menu** — top nav "Add a Framework" replaced with a "Contribute" dropdown containing Add a Framework, Add a Test, and Add with AI Agent
36
-
-**Landing page cards** — RFC Requirement Dashboard card in hero section; Add a Test and Add with AI Agent cards in Contribute section
37
-
-**Glossary card** — RFC Requirement Dashboard linked from the glossary index page
38
-
-**Server configuration pages** — per-server docs pages showing Dockerfile, source code, and config files for all 36 tested servers (`docs/content/servers/`)
39
-
-**Clickable server names** — server names in the probe results table and summary bar chart now link to their configuration page
40
-
-**Sticky first column** — server name column stays pinned to the left edge while scrolling horizontally through result tables
41
-
-**Collapsible sub-groups** — group headers in result tables are now clickable to collapse/expand, with a chevron indicator and a "Collapse All / Expand All" toggle button
42
-
-**Row-click detail popup** — clicking a server row opens a modal showing that server's results for the current table in a vertical layout (Test, Expected, Got, Description) with section and table name in the header
43
-
-**Truncation notice** — tooltip and modal now show a `[Truncated]` notice at the top when raw request/response data exceeds the 8,192-byte display limit
44
-
-**Filter box** — text input above result tables to filter by server name, language, or test name; supports multiple comma-separated keywords
45
-
-**`--verbose` CLI flag** — prints the raw server response below each test result when enabled (`--verbose` or `-v`)
46
-
-**Giscus comments** — every glossary page now has a GitHub Discussions-powered comments section at the bottom
47
-
48
-
### Changed
49
-
-**Horizontal column headers** — test name headers are now displayed horizontally instead of rotated at -55°, improving readability
50
-
-**Zebra striping** — alternating row backgrounds for easier scanning
51
-
-**Softer borders** — lighter table borders in both light and dark mode, plus vertical separators between test columns
52
-
-**Expected row styling** — CSS-only background with dark mode support (fixes light gray leak in dark mode), thicker bottom border for visual separation
53
-
-**Scored/unscored separator** — heavier vertical border line between scored and unscored test columns
54
-
-**Larger pills** — increased padding, min-width, and border-radius for result badges
55
-
-**Improved readability** — larger base font (13px), bigger column headers with heavier weight and letter-spacing, more cell padding throughout
56
-
-**Group header refinement** — added padding and bottom border to collapsible group headers
57
-
-**Toggle button polish** — reduced border-radius from pill to button shape
58
-
-**Scroll overflow hint** — "Scroll to see all tests" label and right-edge fade gradient appear when tables overflow horizontally
59
-
-**Language suffix dark mode** — improved contrast for language labels in dark mode
60
-
-**Mobile bottom-sheet modal** — modal slides up from bottom on small screens with full width and rounded top corners
61
-
-**Touch-friendly targets** — larger buttons and invisible hit-area expansion on pills for touch devices
62
-
-**Smooth momentum scroll** — added `-webkit-overflow-scrolling:touch` for iOS
63
-
-**Stronger sticky shadow on mobile** — increased shadow intensity for the pinned server name column
64
-
-**Scrollable tooltips** — hover tooltips are now interactive and scrollable for large payloads (removed `pointer-events:none`, increased `max-height` to `60vh`)
65
-
-**Larger click modal** — expanded from `max-width:700px` to `90vw` and `max-height` from `80vh` to `85vh` to better accommodate large request/response data
66
-
-**Landing page section rename** — "Add Your Framework" heading renamed to "Contribute to the Project" with updated copy emphasizing community contributions
67
-
-**Uniform card sizing** — CSS rule forces all home page card grids to `repeat(2, 1fr)` so every card is the same width
68
-
-**Sidebar reordering** — RFC Requirement Dashboard at weight 2 (after Understanding HTTP), RFC Basics bumped to 3, Baseline to 4
69
-
-**Kestrel HEAD/OPTIONS support** — added explicit HEAD and OPTIONS endpoint handlers to ASP.NET Minimal server so smuggling tests evaluate correctly instead of returning 405
70
-
-**Add a Framework docs** — documented HEAD and OPTIONS as required endpoints
71
-
- Raw request capture now includes truncation metadata when payload exceeds 8,192 bytes (`TestRunner.cs`)
72
-
- Raw response capture now includes truncation metadata when response exceeds 8,192 bytes (`ResponseParser.cs`)
36
+
-**HAProxy server** — fixed POST / endpoint (#64)
37
+
-**Echo validation** — empty body now correctly returns Fail; body mismatch returns Fail; chunked transfer encoding properly decoded before comparison (#61)
38
+
-**Validator ordering** — fixed 8 tests where connection-state check ran before response-status check, preventing false passes when server returned 2xx then closed (COMP-POST-CL-UNDERSEND, RFC9112-2.3-HTTP09-REQUEST, MAL-BINARY-GARBAGE, MAL-INCOMPLETE-REQUEST, MAL-EMPTY-REQUEST, MAL-WHITESPACE-ONLY-LINE, MAL-H2-PREFACE, MAL-POST-CL-HUGE-NO-BODY)
39
+
-**COMP-CHUNKED-NO-FINAL validator** — fixed same ordering bug where connection close was accepted even when server returned 2xx
40
+
-**Method extraction** — handles leading CRLF in raw requests and tab-delimited request lines; non-HTTP pseudo-methods (PRI) shown as '?'
41
+
-**Category-scoped filters** — Method and RFC Level filters now only show options relevant to the current category page
0 commit comments