PcapPlusPlus v20.08 Release Notes

Release Date: 2020-08-25 // 8 months ago
  • ๐Ÿš€ August 2020 release of PcapPlusPlus (v20.08)

    ๐Ÿ“ฆ This package contains

    • Binaries compiled with Ubuntu 20.04 LTS, 18.04 LTS,16.04 LTS
    • Binaries compiled with CentOS 7
    • Binaries compiled with Fedora 29
    • ๐ŸŽ Binaries compiled with MacOS 10.15 (Catalina) , 10.14 (Mojave), 10.13 (High Sierra), 10.12 (Sierra), and 10.11 (El Capitan) using Xcode ranging from 8.0 to 12.0
    • Binaries compiled with FreeBSD 11.3 and 12.1
    • ๐Ÿ Binaries compiled with Windows using MinGW32 9.2.0 (32bit) and MinGW-w64 8.1.0 (32bit)
    • ๐Ÿš€ Binaries compiled with Windows using Microsoft Visual Studio 2019, 2017, 2015 (32bit + 64bit, Debug + Release configurations)
    • ๐Ÿง Source code + Linux installation scripts for DPDK, PF_RING and vanilla
    • ๐Ÿ“š Full documentation (both PcapPlusPlus web-site and API doxygen documentation) is available here: https://pcapplusplus.github.io/v2008/

    ๐Ÿš€ Release notes (changes from v19.12)

    • ๐Ÿ”’ Major security and quality improvements:
      • PcapPlusPlus was added to Google OSS-Fuzz which uses the Fuzz testing technique to discover security vulnerabilities and stability bugs (thank you @zlowram !)
      • Created a new regression test suite for OSS-Fuzz bugfixes under Tests/Fuzzers/RegressionTests (thank you @zlowram !)
      • Added LGTM integration to enable continuous code analysis and prevent critical vulnerabilities (thank you @alexey-tereshenkov-oxb !)
      • More than 60 issues were found by OSS-Fuzz and LGTM and fixed in this release
      • Revamped Packet++Test and Pcap++Test: tests are now more structured, divided into multiple files and use common and more intuitive test infrastructure
      • Added a new test suite (written in Python) for PcapPlusPlus examples under Tests/ExamplesTests
    • โž• Added Npcap support for Windows (in parallel to WinPcap support)
    • โž• Added DPDK 19.11 (LTS) support
    • ๐Ÿ†• New supported protocols:
      • BGP v4
      • IEEE 802.3 Ethernet
    • ๐Ÿ†• New platforms officially supported:
      • MacOS Catalina (10.15)
      • Ubuntu 20.04
    • A complete rewrite of the IP address classes IPv4Address, IPv6Address and IPAddress to make them more efficient and east to use (thank you @gx740 !)
    • In addition, new features were added to IP address classes:
      • Added "less than" comparison operator (thank you @maruu !)
      • Added subnet match for IPv6Address (thank you @DinoStray !)
    • ๐ŸŽ Performance optimization, readability improvements and code cleanup in various parts of the code (thank you @maruu and @gx740 !)
    • โ†” Integrated streaming ZStd compression for pcapng files (thank you @Dysl3xik !)
    • Pcap/pcapng files:
      • Read and write in nanoseconds precision for pcapng files (thank you @Akvinikym !)
      • Enable flush for pcap and pcapng file writers (thank you @rickyzhang82 and @l-henken !)
    • TCP reassembly returns status in every call to TcpReassembly::reassemblePacket() (thank you @starliiit !)
    • โž• Added port filter to HttpAnalyzer (thank you @makefriend8 !)
    • ๐Ÿ‘Œ Support for setting snapshot length in PcapLiveDevice (thank you @wongsingfo !)
    • GeneralFilter::matchPacketWithFilter() can now match packet of any link type (thank you @skorup101 !)
    • โž• Added user link types 147-162 to support custom protocols (thank you @l-henken !)
    • ๐Ÿ›  Tons of bug fixes (thank you everyone who reported issues and contributed bugfixes!)

    Contributors

    ๐Ÿš€ Thank you for everyone who contributed to this release:


Previous changes from v19.12

  • ๐Ÿš€ December 2019 release of PcapPlusPlus (v19.12)

    ๐Ÿ“ฆ This package contains

    • Binaries compiled with Ubuntu 18.04 LTS, 16.04 LTS,14.04 LTS
    • Binaries compiled with CentOS 7
    • Binaries compiled with Fedora 29
    • ๐ŸŽ Binaries compiled with MacOS 10.11 (El Capitan), 10.12 (Sierra), 10.13 (High Sierra) and 10.14 (Mojave) using Xcode ranging from 7.3 to 11.2
    • Binaries compiled with FreeBSD 11.2 and 12.0
    • ๐Ÿ Binaries compiled with Windows using MinGW32 5.3.0 (32bit) and MinGW-w64 6.3.0 (32bit)
    • ๐Ÿš€ Binaries compiled with Windows using Microsoft Visual Studio 2015, 2017, 2019 (32bit + 64bit, Debug + Release configurations)
    • Source code
    • ๐Ÿง Source code + Linux installation scripts for DPDK, PF_RING and vanilla
    • ๐Ÿ“š Full documentation (both PcapPlusPlus web-site and API doxygen documentation) is available here: https://pcapplusplus.github.io/v1912/

    ๐Ÿš€ Release notes (changes from v19.04)

    • โž• Added support for Visual Studio 2017 and 2019
    • โž• Added support for DPDK 19.08 (thanks @gx740 !)
    • Major improvements in TCP reassembly (thanks @gx740 !):
      • Reducing memory consumption by cleaning up old connections
      • A lot of performance and code optimizations
    • โž• Added out-of-the-box support for MacOS 10.14 Mojave and later
    • โž• Added support for FreeBSD (thanks @rickyzhang82 !)
    • โž• Added support for GTP v1 protocol
    • โž• Added DPDK KNI support (thanks @echo-Mike !)
    • โž• Added KniPong example to demo the new KNI API (thanks @echo-Mike !)
    • ๐ŸŽ Lots of performance optimizations and code cleanups (special thanks to @gx740 !)
    • ๐Ÿ‘ Major revamp of reading/writing pcapng files - use streaming instead of memory copies and added support for compression (thanks @Dysl3xik !)
    • ๐Ÿง Added support for pcap_setdirection in PcapLiveDevice (thanks @MrSiz !)
    • ๐ŸŽ Performance optimization and fixes in IPReassembly (thanks @gx740, @silviucpp !)
    • โž• Added a new BPFStringFilter pcap filter to handle raw BPF filter strings and deprecated the old IPcapDevice::matchPacketWithFilter() API (thanks @Dysl3xik !)
    • Let the user add custom LDFLAGS to the main Makefile (thanks @rom1sqr !)
    • โž• Added data validations in IPv4Layer before parsing the next layers (thanks @gx740 !)
    • โœ… Created a new unit-test framework to make it easier to write unit-tests
    • Replaced old 3rd-party debug-new with new homegrown MemPlumber
    • ๐Ÿ›  Tons of bug fixes (special thanks to @gx740 , @echo-Mike , @Dysl3xik !)

    Contributors

    ๐Ÿš€ Thank you for everyone who contributed to this release: