Skip to content

Commit 857f2d1

Browse files
committed
update changelog
1 parent 9436317 commit 857f2d1

1 file changed

Lines changed: 15 additions & 46 deletions

File tree

CHANGELOG.md

Lines changed: 15 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,16 @@
22

33
All notable changes to Http11Probe are documented in this file.
44

5-
## [2026-02-15]
5+
## [2026-02-14]
66

77
### 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
815
- **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)
916
- **9 new RFC 9110 compliance tests** sourced from [mohammed90/http-compliance-testing](https://github.com/mohammed90/http-compliance-testing):
1017
- `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.
2128
- **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
2229
- **RFC Requirement Dashboard** — updated with all 9 new tests, counts, and cross-references
2330
- **Landing page cards** — removed hardcoded test count from RFC Requirement Dashboard subtitle
31+
- **Score calculation** — warnings now included in the overall score (#66)
2432

2533
### Fixed
2634
- **Caddy server** — fixed POST body echo using Caddy Parrot pattern; updated Caddyfile, Dockerfile, and docs page
2735
- **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
7342

7443
## [2026-02-12]
7544

0 commit comments

Comments
 (0)