Releases: NC3-TestingPlatform/quantumvalidator
v0.5.2
What's changed
Added
info groupssub-command — lists all quantum-safe TLS and SSH key exchange groups with their IANA codepoint and governing standard.pytest-mock>=3.12added to dev extras.
Changed
assessor.assess(): parameters aftertargetare now keyword-only (enforced by*,);timeouttype corrected frominttofloat(default10.0).- All
Optional[X]type hints replaced withX | None(PEP 604) throughoutassessor.py,cli.py,models.py, andtls_utils.py. cli:--versionshort flag changed from-vto-V(uppercase), consistent with all other platform modules.reporter:save_report()raisesValueErrorfor unsupported extensions instead of silently falling back to plain text.
Removed
reporter.print_reportdeprecated alias removed; useprint_full_reportdirectly.
Impact
Harmonization pass 2. Migration: replace print_report with print_full_report; update -v to -V in scripts; pass timeout as float if calling assess() directly.
Full changelog: https://github.com/NC3-TestingPlatform/quantumvalidator/blob/master/CHANGELOG.md
v0.5.1
What's changed
Changed
pyproject.toml: correctedauthorsfield tot0kubetsu, consistent
with all other platform modules.reporter: exposes a publicconsolealias (Console(record=True)) and
asave_report(path)function supporting.txt,.svg, and.html
extensions (unknown extensions fall back to plain text).- CLI migrated to use
reporter.console;print_report()now renders to
the module-level console sosave_report()captures the output correctly.
The private_save_report()helper incli.pyhas been removed.
Impact
Platform API alignment release. save_report() is now a first-class
public function consistent with all other NC3-TestingPlatform modules.
No changes to probe logic, verdict scoring, or PQC group detection.
Full changelog: https://github.com/NC3-TestingPlatform/quantumvalidator/blob/master/CHANGELOG.md
v0.5.0
What's changed
Added
- Extended STARTTLS protocol detection —
_fingerprint_bannernow
auto-detects FTP (220 … FTP …), LMTP (220 … LMTP …), NNTP (200/201),
and ManageSieve ("IMPLEMENTATION"/"SIEVE"/"STARTTLS"capability
lines) from server banners, dispatching to the correctopenssl -starttls
mode automatically. Protocols that send no opening banner (XMPP, LDAP,
MySQL, PostgreSQL) remain unsupported in auto-detect mode by design.
Changed
_probe_ftpgreeting/response reads are now loop-safe — replaced single
sock.recv(1024)calls with chunk-accumulation loops that read until\nor
1024 bytes, guarding against TCP segmentation on slow links._probe_ftpusesdataclasses.replace()instead of post-construction
field mutation when stampingdetected_starttls="ftp"onto the openssl result.- Empty AUTH TLS response now reports
"(no response)"in the error message
instead of a trailing bare colon.
Fixed
- FTP probe no longer hangs on servers that reject AUTH TLS —
openssl s_client -starttls ftpdoes not exit cleanly when the server replies with
e.g.500 AUTH not understood; it hangs until the subprocess timeout fires.
A new_probe_ftpfunction now sendsAUTH TLSover a raw socket first;
if the server responds with anything other than234, the error is returned
immediately without invokingopenssl.
Impact
Critical fix for FTP server probing: servers that reject AUTH TLS no longer
cause the tool to hang until the subprocess timeout. Four additional STARTTLS
protocols (FTP, LMTP, NNTP, ManageSieve) are now auto-detected from server
banners, covering a broader range of internet-exposed services without
requiring manual protocol selection.
Full changelog: https://github.com/NC3-TestingPlatform/quantumvalidator/blob/master/CHANGELOG.md