Skip to content

Commit b42e6ca

Browse files
authored
Update release notes (#1566)
1 parent 9860b12 commit b42e6ca

File tree

1 file changed

+110
-61
lines changed

1 file changed

+110
-61
lines changed
Lines changed: 110 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,123 @@
1-
Release notes (changes from v22.11)
1+
Release notes (changes from v23.09)
22
-----------------------------------
33

4-
- PcapPlusPlus moved from a custom build system to CMake! (thanks @clementperon !)
5-
- Added IP/IPv4/IPv6 network classes to better support netmask and subnets
6-
- Add support for opening NFLOG live device (thanks @MrPeck !)
7-
- MAC address OUI Lookup (thanks @egecetin !)
8-
- Intel oneAPI compiler support (icpx) (thanks @egecetin !)
9-
- DPDK improvements:
10-
- Properly support no RSS mode in `DpdkDevice`
11-
- Make DPDK app name configurable (thanks @szokovacs !)
12-
- More generic search of DPDK KNI kernel module in `setup_dpdk.py`
13-
- New protocols:
14-
- NFLOG (Linux Netfilter NFLOG) (thanks @jafar75 !)
15-
- SLL2 (Linux cooked capture v2) (thanks @jiangjiongyu !)
16-
- TPKT (thanks @wivien19 !)
17-
- COTP (thanks @wivien19 !)
18-
- VRRP (thanks @wangchong2023 !)
19-
- Existing protocols improvements:
20-
- HTTP - refactor and improve `HttpResponseStatusCode` (thanks @tigercosmos !)
21-
- SSL/TLS - better detection of possible encrypted handshake messages (thanks @axmahr !)
22-
- DNS - support parsing of resources with larger data (thanks @aengusjiang !)
23-
- STP - add editing/crafting support (thanks @egecetin !)
24-
- ARP - add `isRequest` and `isReply` methods (thanks @tigercosmos !)
25-
- FTP-DATA support (thanks @egecetin !)
26-
- NTP - support Kiss of Death (thanks @egecetin !)
27-
- SIP - refactor status codes + add a few missing ones
28-
- Modernize the codebase to use `nullptr` instead of `NULL` (thanks @clementperon !)
29-
- Remove usage of unsupported `pcap_compile_nopcap()` (thanks @yushijinhun !)
30-
- Internal tools:
31-
- Codecov integration for coverage reports (thanks @egecetin !)
32-
- Enable Clang-Tidy (thanks @clementperon !)
33-
- Enable `cppcheck` (thanks @egecetin !)
34-
- Improve the test framework
35-
- Increase test coverage
36-
- Remove deprecated methods (due to typos):
37-
- `DhcpLayer::getMesageType()` -> replaced by `DhcpLayer::getMessageType()`
38-
- `DhcpLayer::setMesageType()` -> replaced by `DhcpLayer::setMessageType()`
39-
- `SSLHandshakeMessage::createHandhakeMessage()` -> replaced by `SSLHandshakeMessage::createHandshakeMessage()`
40-
- `SSLClientHelloMessage::getExtensionsLenth()` -> replaced by `SSLClientHelloMessage::getExtensionsLength()`
41-
- `SSLServerHelloMessage::getExtensionsLenth()` -> replaced by `SSLServerHelloMessage::getExtensionsLength()`
42-
- Tons of bug fixes, security fixes, major and minor improvements (thanks @egecetin, @clementperon, @sashashura, @tigercosmos, @kolbex, @traversebitree, @JasMetzger, @tbhaxor, @yishai1999, @aengusjiang, @Heysunk, @jpcofr !)
4+
- Added support for eBPF AF_XDP
5+
- New protocols:
6+
- SMTP (thanks @egecetin !)
7+
- ASN.1 encoding and decoding
8+
- Enabled ASN.1 root record parsing in x509 certificates
9+
- LDAP
10+
- S7COMM (thanks @wivien19 !)
11+
- DPDK improvements:
12+
- DPDK 22.11 support (thanks @clementperon !)
13+
- Jumbo frames support (thanks @gyl30 !)
14+
- Added an option to disable hugepages and driver verification on initialization (thanks @MatteO-Matic !)
15+
- NUMA awareness (thanks @SesomB !)
16+
- Examples and utils:
17+
- Added `XdpExample-FilterTraffic` to demonstrate `XdpDevice` usage
18+
- `PcapSplitter`: updated output filenames with 5-tuple information (thanks @hidd3ncod3s !)
19+
- Added support for nanosecond precision in reading and writing pcap files (thanks @egecetin !)
20+
- Blocking mode packet capture now uses `poll()` (thanks @tigercosmos !)
21+
- Added millisecond precision timeout in `RawSocketDevice` (thanks @tigercosmos !)
22+
- Extended `IPFilter` to support IPv6 where possible (thanks @Dimi1010 !)
23+
- Boosted build time with Ccache (thanks @clementperon !)
24+
- Fixed precision issue in pcapng file reader (thanks @mserdarsanli !)
25+
- Improved method for retrieving the default gateway on macOS (thanks @zhengfeihe !)
26+
- Added security and code of conduct guidelines (thanks @egecetin !)
27+
- Refactoring and modernization of the code base:
28+
- Refactored and cleaned up live devices (thanks @Dimi1010 !)
29+
- Added a getter for fetching all IP addresses as `IPAddress` objects.
30+
- Refactored IP address classes `IPv4Address`, `IPv6Address`, `IPAddress` (thanks @tigercosmos , @Dimi1010 !)
31+
- Added equality operators between `IPAddress` and `in_addr` types
32+
- Refactored the MAC address class `MacAddress` (thanks @tigercosmos !)
33+
- Ported PcapPlusPlus libraries to C++11 (thanks @Dimi1010 , @tigercosmos , @egecetin , @WojtekMs , @rtmeng !)
34+
- Ported most of the examples and tutorials to C++11 (thanks @jpcofr , @merttozer !)
35+
- Refactored and cleaned up PF_RING devices (thanks @Dimi1010 !)
36+
- Refactored and cleaned up the `PointerVector` class (thanks @Dimi1010 !)
37+
- Converted Macro Guard to `pragma once` (thanks @clementperon !)
38+
- Replaced `std::map` with `std::unordered_map` (thanks @tigercosmos !)
39+
- Refactored large parts of the packet filtering code (thanks @Dimi1010 !)
40+
- Supported platforms update:
41+
- Ubuntu: added 24.04 LTS and dropped 18.04 LTS (thanks @tigercosmos !)
42+
- Added support for RHEL 9.4 (thanks @clementperon !)
43+
- Fedora: added support for 39 and removed 37 (thanks @clementperon !)
44+
- Removed support for CentOS 7
45+
- FreeBSD: added support for 14.0 and dropped 12 (thanks @clementperon !)
46+
- Internal tools:
47+
- Reformatted the entire code base using `clang-format` (thanks @tigercosmos , @Dimi1010 !)
48+
- Added `dependabot` to keep GitHub Actions and Python packages up-to-date (thanks @egecetin !)
49+
- Added OpenSSF Scorecard automation to monitor and enhance security (thanks @egecetin !)
50+
- Transitioned from CirrusCI to GitHub Actions for all workflows (thanks @tigercosmos !)
51+
- Scheduled regular CI builds (thanks @tigercosmos !)
52+
- Replaced deprecated `netifaces` by `scapy` (thanks @zhengfeihe !)
53+
- Improved fuzzing coverage and added Fuzz CI (thanks @sashashura !)
54+
- Added a template for opening GitHub issues (thanks @tigercosmos !)
55+
- Upgraded `LightPcapNg` to the latest from `master` (thanks @tigercosmos !)
56+
- Fixed unhandled exceptions crashing the entire test suite (thanks @Dimi1010 !)
57+
- Tons of bug fixes, security fixes and small improvements (thanks @sashashura , @tigercosmos , @clementperon , @egecetin , @kraj , @liu0hy , @lucashc , @axmahr, @Double0101, @prudens , @MCredbear, @rahagal, @nadongjun !)
58+
59+
60+
Breaking changes
61+
----------------
62+
63+
This version includes a small number of breaking changes:
64+
- Removed `isValid()` from `MacAddress,` `IPAddress`, `IPv4Address`, `IPv6Address`, instead they throw an exception if the input argument is invalid
65+
- Introduced a new `TcpOptionEnumType`
66+
- Removed the `dummy` argument in `PayloadLayer`'s constructor
67+
68+
69+
Deprecation list
70+
----------------
71+
72+
The following methods that were marked as deprecated in previous versions were removed:
73+
- `IPv4Address::matchSubnet()`
74+
75+
The following methods are now marked as deprecated and will be removed in future versions:
76+
- `PointerVector::getAndRemoveFromVector()` -> replaced by `PointerVector::getAndDetach()`
77+
- `HttpResponseLayer::HttpResponseLayer(version, statusCode, statusCodeString)` -> use other constructors
78+
- `HttpResponseLayer::setStatusCode(newStatusCode, statusCodeString)` -> use the other overload
79+
- `TcpOptionType` enum -> replaced by `TcpOptionEnumType`
80+
- `TcpOption::getTcpOptionType()` -> replaced by `TcpOption::getTcpOptionEnumType()`
81+
- `TcpOptionBuilder::TcpOptionBuilder()` -> use other constructors
82+
- `TcpLayer::getTcpOption(TcpOptionType option)` -> use the other overload
83+
- `TcpLayer::addTcpOptionAfter()` -> replaced by `TcpLayer::insertTcpOptionAfter()`
84+
- `TcpLayer::removeTcpOption()` -> use the other overload
85+
- `PcapLiveDevice::getAddresses()` -> replaced by `PcapLiveDevice::getIPAddresses()`
86+
- `PcapRemoteDeviceList::getRemoteDeviceList()` -> replaced by `PcapRemoteDeviceList::createRemoteDeviceList()`
4387

4488

4589
Collaborators
4690
-------------
4791

48-
- @clementperon
92+
- @tigercosmos
93+
- @Dimi1010
4994
- @egecetin
95+
- @clementperon
96+
- @seladb
5097

5198

5299
Contributors
53100
------------
54101

55-
- @sashashura
56-
- @tigercosmos
57-
- @wivien19
58-
- @jafar75
59-
- @MrPeck
60-
- @szokovacs
61-
- @axmahr
62-
- @yishai1999
63-
- @traversebitree
64-
- @jiangjiongyu
65-
- @wangchong2023
66-
- @kolbex
67-
- @JasMetzger
68-
- @yushijinhun
69-
- @aengusjiang
70-
- @tbhaxor
71-
- @Heysunk
72-
- @jpcofr
73-
74-
**Full Changelog**: https://github.com/seladb/PcapPlusPlus/compare/v22.11...v23.09
102+
- @sashashura
103+
- @zhengfeihe
104+
- @wivien19
105+
- @gyl30
106+
- @MatteO-Matic
107+
- @SesomB
108+
- @jpcofr
109+
- @liu0hy
110+
- @merttozer
111+
- @lucashc
112+
- @axmahr
113+
- @Double0101
114+
- @prudens
115+
- @rtmeng
116+
- @hidd3ncod3s
117+
- @WojtekMs
118+
- @mserdarsanli
119+
- @MCredbear
120+
- @rahagal
121+
122+
123+
**Full Changelog**: https://github.com/seladb/PcapPlusPlus/compare/v23.09...v24.09

0 commit comments

Comments
 (0)