Repository navigation
PyPCAPKit v1.5.0b2
Pre-release
Pre-release
·
1195 commits
to main
since this release
What's Changed
🏕 Features
- interface: dispatch follow_tcp_stream on the engine, and fix the dpkt crash by @JarryShaw in #402
- pcap/pcapng: fix frame bytes, output filenames, and timestamp timezones by @JarryShaw in #403
- protocols: honour layer=/protocol= limits, and forward the packet context by @JarryShaw in #404
- engines: add the pcap_ct engine, and make unsupported_reason a real preflight by @JarryShaw in #405
- gitignore: add .bench-venvs to ignore list by @JarryShaw in #407
- scapy: load the layer registry, so the engine actually dissects by @JarryShaw in #409
- docs: prune the Help Wanted page, fix the uninstallable docs extra, quiet 5 Sphinx warnings by @JarryShaw in #408
- docs: resolve ambiguous cross-references and the five autodoc signature failures by @JarryShaw in #416
- examples: add a Dockerised engine benchmark covering every supported Python version by @JarryShaw in #410
- chore: mark vermin's guarded-import false positives, close the engine handle by @JarryShaw in #411
- interface: add the three missing engine constants, and guard dpkt/scapy tracing by @JarryShaw in #412
- docs: fix 45 places where the documentation contradicts the code by @JarryShaw in #413
- protocols: implement NGAP over SCTP, decoding aligned PER through pycrate by @JarryShaw in #417
- docs: record the protocol, reassembly and crypto gaps on the Help Wanted page by @JarryShaw in #419
- protocols: stop next-layer dispatch writing to shared registries, and fix two transport defects by @JarryShaw in #426
- perf: cut extraction time by ~46% on an HTTP capture, with byte-identical output by @JarryShaw in #420
- reassembly: make the four IPv6 adapters agree, and analyse datagram payloads lazily by @JarryShaw in #424
- perf: stop the flow dumper re-dissecting every frame, and options being parsed twice by @JarryShaw in #427
- protocols: stop option, chunk and block dispatch writing to shared registries by @JarryShaw in #428
- schema: install the generated typed init, so construction runs post_init by @JarryShaw in #430
- corekit: stop the option and list loops spinning forever on a truncated area (#431) by @JarryShaw in #432
- protocols: migrate IPv4 option and HIP parameter dispatch to the registry pattern (#429) by @JarryShaw in #434
- protocols: bind FTP-DATA, HTTP-alt, OSPF, L2TP and the 802.1ad S-Tag, and fix four dispatch defects by @JarryShaw in #436
- tests: round-trip 258 option codes from the registries, recording the 86 that cannot close the cycle by @JarryShaw in #440
- foundation: give IP reassembly the RFC timeout, and trace TCP flows bidirectionally by @JarryShaw in #435
- protocols: drop ipv6_opts' stray SMF_DPD test field, fix two length underflows by @JarryShaw in #449
- corekit: unpack a ListField's schema items from the configured field by @JarryShaw in #453
- protocols: real routing type in IPv6-Route diagnostics, and fix HTTP's drained explicit version= buffer by @JarryShaw in #451
- utilities: let @prepare read length/packet by keyword, not position by @JarryShaw in #450
- protocols: complete the Mobility Header registry -- all 24 message types, 70 of 71 options, all 4 CGA extensions by @JarryShaw in #437
- protocols: floor CALIPSO, MPL and REG_INFO's wire-derived lengths at zero by @JarryShaw in #460
- schema: a forward match consumes nothing, so bill it nothing in len(schema) by @JarryShaw in #456
- protocols: bind HTTP.make to a real instance, and wrap SETTINGS' item schema by @JarryShaw in #462
- protocols: size MH's MN-ID option from its subtype, not identifier's Python type by @JarryShaw in #464
- utilities: reject @prepare's extra arguments, and stop treating a declared zero length as EOF by @JarryShaw in #461
- protocols: floor four more HIP list-length callbacks at zero by @JarryShaw in #466
- schema: give every Schema subclass its own ABCMeta cache, and delete the version guard at its cause by @JarryShaw in #471
- corekit: raise FieldValueError, not a bare ValueError, for a malformed IP field value by @JarryShaw in #470
- protocols: size HIP NAT_TRAVERSAL_MODE and ESP_TRANSFORM list entries at 16 bits, not 8 by @JarryShaw in #475
- protocols: reject an int MN-ID identifier for every subtype but IPv6_Address by @JarryShaw in #468
- corekit: let a nested schema's field callbacks reach the enclosing schema by @JarryShaw in #457
- corekit: narrow interface fields' post_process return type via isinstance by @JarryShaw in #479
- schema: let ListField.pack accept the tuple its own data models declare by @JarryShaw in #480
- mh: reject a wrong-type MN-ID identifier in-library, not as a stdlib leak by @JarryShaw in #481
- reassembly: record IP fragment overlap conflicts instead of losing them silently by @JarryShaw in #482
- tests: pin ipv6-route Source Route tuple/list address packing by @JarryShaw in #485
- tests: close two IP conflict coverage gaps from #482's review by @JarryShaw in #486
- toolkit(scapy): scale IPv4 fragment offset to octets before reassembly by @JarryShaw in #484
- reassembly: resolve conflicting TCP overlaps first-write-wins, per RFC 9293 by @JarryShaw in #478
- fix(ipv6-route): compute Hdr Ext Len in 8-octet units on both sides by @JarryShaw in #489
- release: bump to 1.5.0b1, the wave-1 beta by @JarryShaw in #488
- release: bump to 1.5.0b2 to reship the beta PyPI rejected by @JarryShaw in #497
Full Changelog: v1.5.0a1...v1.5.0b2