# CHANGELOG

#### nDPId 1.7 (Oct 2024)

 - Read and parse configuration files for nDPId (+ libnDPI) and nDPIsrvd
 - Added loading risk domains from a file (`-R`, thanks to @UnveilTech)
 - Added Filebeat configuration file
 - Improved hostname handling; will now always be part of `analyse`/`end`/`idle` events (if dissected)
 - Improved Documentation (INSTALL / Schema)
 - Added PF\_RING support
 - Improved nDPIsrvd-analyse to write global stats to a CSV
 - Added global (heap) memory stats for daemon status events (if enabled)
 - Fixed IPv6 address/netmask retrieval on some systems
 - Improved nDPIsrvd-collect; gauges and counters are now handled the right way
 - Added nDPId Grafana dashboard
 - Fixed `detection-update` event bug; was thrown even if nothing changed
 - Fixed `not-detected` event spam if detection not completed (in some rare cases)
 - Improved InfluxDB push daemon (severity parsing / gauge handling)
 - Improved zLib compression
 - Fixed nDPIsrvd-collectd missing escape character

#### nDPId 1.6 (Nov 2023)

 - Added Event I/O abstraction layer (supporting only poll/epoll by now)
 - Support for OSX and *BSD systems
 - Added proper DLT_RAW dissection for IPv4 and IPv6
 - Improved TCP timeout handling if FIN/RST seen which caused Midstream TCP flows when there shouldn't be any
 - Fixed a crash if `nDPId -o value=''` was used
 - Added OpenWrt packaging
 - Added new flow event "analyse" used to give some statistical information about active flows
 - Added new analyse event daemon which generates CSV files from such events
 - Fixed a crash in nDPIsrvd if a collector closes a connection
 - Support `nDPId` to send it's data to a UDP endpoint instead of a nDPIsrvd collector
 - Added events and flow states documentation
 - Added basic systemd support
 - Fixed a bug in base64 encoding which could lead to invalid base64 strings
 - Added some machine learning examples
 - Fixed various smaller bugs
 - Fixed nDPIsrvd bug which causes invalid JSON messages sent to Distributors

#### nDPId 1.5 (Apr 2022)

 - Improved nDPId cross compilation
 - zLib flow memory compression (Experimental!)
 - Memory profiling for nDPId-test
 - JSMN with parent link support for subtoken iteration
 - Refactored nDPIsrvd buffer and buffer bloat handling
 - Upgraded JSMN/uthash
 - Improved nDPIsrvd.(h|py) debugging capability for client apps
 - Advanced flow usage logging usable for memory profiling
 - Support for dissection additional layer2/layer3 protocols
 - Serialize more JSON information
 - Add TCP/IP support for nDPIsrvd
 - Improved nDPIsrvd connection lost behaviour
 - Reworked Python/C distributor API
 - Support read()/recv() timeouts and nonblocking I/O


#### nDPId 1.4 (Jun 2021)

 - Use layer4 specific flow timeouts for nDPId
 - Reworked layer4 flow length names and calculations (use only layer4 payload w/o any previous headers) for nDPId
 - Build system cleanup and cosmetics


#### nDPId 1.3 (May 2021)

 - Added missing datalink layer types


#### nDPId 1.2 (May 2021)

 - OpenWrt compatible build system


#### nDPId 1.1 (May 2021)

 - Added License information


#### nDPId 1.0 (May 2021)

 - First public release
