Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
258 changes: 133 additions & 125 deletions CHANGELOG.md

Large diffs are not rendered by default.

20 changes: 10 additions & 10 deletions docs/source/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@ All notable changes to PyPCAPKit are recorded here.
carry something real, it is called out.

Releases are listed newest first. The repository root's :file:`CHANGELOG.md`
carries only the version being released; this page is the whole history.
carries only the version being released; this page is the whole recorded history.

* **1.5.0** (unreleased) -- The largest release since 1.0, and the first
recorded here as it happened rather than reconstructed: three more
extraction engines, ESP with payload decryption, SCTP and NGAP over SCTP,
recorded here as it happened rather than reconstructed: more extraction
engines, ESP with payload decryption, SCTP and NGAP over SCTP,
and a logger that no longer hijacks the consumer's. :doc:`Full changelog
<changelog/1.5.0>`.
* **1.4.1** (2026-08-22) -- Release engineering only -- no library behaviour
Expand Down Expand Up @@ -78,12 +78,11 @@ carries only the version being released; this page is the whole history.
day earlier in 1.2.0. :doc:`Full changelog <changelog/1.2.1>`.
* **1.2.0** (2023-08-26) -- Added streaming input through
``SeekableReader``, so a capture can be read from ``stdin`` or a pipe
(:issue:`156`), and fixed reassembly, broken since 0.16.3 (:issue:`155`). :doc:`Full
changelog <changelog/1.2.0>`.
* **1.1.1** (2023-08-15) -- Fixed ``AppType`` enumeration lookups,
``typing.TypeAlias`` compatibility on older interpreters, the flow-tracing
output file name, and ``Schema`` dumping through a custom dumper. :doc:`Full
changelog <changelog/1.1.1>`.
(:issue:`156`). :doc:`Full changelog <changelog/1.2.0>`.
* **1.1.1** (2023-08-15) -- Fixed reassembly, broken since 0.16.3 (:issue:`155`),
``AppType`` enumeration lookups, ``typing.TypeAlias`` compatibility on older
interpreters, the flow-tracing output file name, and ``Schema`` dumping through
a custom dumper. :doc:`Full changelog <changelog/1.1.1>`.
* **1.1.0** (2023-07-09) -- Rebuilt the schema and field classes on
metaclasses, with ``EnumSchema`` for enum-dispatched schemas, and revised
the IPv4, HOPOPT, IPv6-Opts, IPv6-Route, HIP, MH, TCP, HTTP/2 and PCAP-NG
Expand All @@ -101,7 +100,8 @@ carries only the version being released; this page is the whole history.
* **1.0.0** (2023-05-09) -- The 1.0 rewrite: parsing and construction became
one declarative schema and field definition per protocol, the extraction
backend became pluggable (with PCAP-NG support and the DPKT, Scapy and
PyShark engines), and roughly 55,000 lines changed across 617 files.
PyShark engines), and roughly 55,000 lines added and 15,000 removed across
617 files.
:doc:`Full changelog <changelog/1.0.0>`.
* **0.16.3** (2022-10-31) -- Fixed import crashes on some interpreters (:issue:`114`,
:issue:`116`), the reassembly property caches, and README rendering for PyPI; the
Expand Down
5 changes: 3 additions & 2 deletions docs/source/changelog/0.16.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ A project-wide revision, and the last release of the pre-1.0 design.
* **Added** -- ``pcapkit.foundation.registry``, so protocols can be subscribed
by name; ``Protocol.analyze`` for analysing a payload directly, used by the
reassembly classes; ``pcapkit.corekit.multidict``, adapted from Werkzeug.
* **Changed** -- reassembly became a package (IP, IPv4, IPv6, TCP) with revised
data models; PCAP and the auxiliary protocols moved under ``pcapkit.misc``.
* **Changed** -- reassembly moved from ``pcapkit.reassembly`` into
``pcapkit.foundation.reassembly``, with revised data models; PCAP and the
auxiliary protocols moved under ``pcapkit.protocols.misc``.
* **Removed** -- the ``validators`` module, several decorators from
``pcapkit.utilities``, and multiprocessing support in ``Extractor``.
* **Fixed** -- the DPKT toolkit (:issue:`101`), IP reassembly, and missing ``id``
Expand Down
2 changes: 1 addition & 1 deletion docs/source/changelog/1.0.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

The 1.0 rewrite: parsing and construction are one declarative definition per
protocol, and the extraction backend became pluggable. Roughly 55,000 lines
changed across 617 files, released after 21 beta builds and a release candidate.
added and 15,000 removed across 617 files, released after 21 beta builds and a release candidate.

* **Added** -- the schema and field layer, ``pcapkit.protocols.schema`` and
``pcapkit.corekit.fields``. A protocol declares its wire format once, as
Expand Down
10 changes: 8 additions & 2 deletions docs/source/changelog/1.1.1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@

**Fixed** -- ``AppType`` enumeration lookups; ``typing.TypeAlias`` compatibility
on older interpreters; the output file name chosen by flow tracing; dumping of
``Schema`` objects through a custom dumper.
``Schema`` objects through a custom dumper; reassembly, broken since 0.16.3
(:issue:`155`). ``Extractor`` now raises an explicit unsupported-call error, and
logs a notice, when reassembly or flow tracing is requested where it cannot be
provided.

*Also released:* ``1.1.1.post1``, ``1.1.1.post2`` (through 2023-08-23).
*Also released:* ``1.1.1.post1``, ``1.1.1.post2`` (through 2023-08-23);
``post2`` renamed the ``strict`` argument of ``Extractor`` and ``extract()`` to
``reasm_strict``, inserting ``reasm_store`` after it, and ``TraceFlow.register``
to ``register_dumper``.
3 changes: 0 additions & 3 deletions docs/source/changelog/1.2.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,3 @@
* **Added** -- streaming input. ``pcapkit.corekit.io.SeekableReader`` buffers a
non-seekable stream so a capture can be read from ``stdin`` or a pipe, which
is what live ``tcpdump`` output needs (:issue:`156`).
* **Fixed** -- reassembly, broken since 0.16.3 (:issue:`155`). ``Extractor`` now raises
an explicit unsupported-call error, and logs a notice, when reassembly or flow
tracing is requested where it cannot be provided.
6 changes: 4 additions & 2 deletions docs/source/changelog/1.3.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,7 @@ A redesign of the extension points, on metaclasses.
class that are imported lazily on first use rather than at registration; the
registry functions accept it throughout. ``VersionInfo`` gained a ``version``
property.
* **Changed** -- ``_Engine`` renamed ``EngineBase``; the ``beholder`` decorator
logs the error it swallows under devmode and verbose mode.
* **Changed** -- what ``Engine`` defined moves into a new base, ``EngineBase``,
and ``Engine`` stays the class to subclass, registering an engine under its
``name=`` class keyword; the ``beholder`` decorator logs the error it swallows
under devmode and verbose mode.
5 changes: 4 additions & 1 deletion docs/source/changelog/1.4.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ a test suite.
the extraction engines, reassembly and flow tracing, the protocol schemas, the
CLI and the utility modules.
* **Fixed** -- PCAP-NG option dispatch regressions; the fallback name generated
by the ``linktype`` vendor crawler.
by the ``linktype`` vendor crawler; TCP option construction, where building a
Window Scale or any Multipath TCP option, or passing a prebuilt option schema,
raised, and the TCP Fast Open cookie's length check accepted lengths
:rfc:`7413` rules out.
* **Changed** -- CI tests current Python versions again; every GitHub Actions
job carries an explicit permissions block; the conda and cron release tooling
was repaired, and Anaconda uploads use the official upload action.
Loading
Loading