
---------------------------------------
2024-01-02 n2disk 3.8.0

* Breakthroughs
 - New Smart Recording support (disk2disk service)
 - New n2disk multithreaded capture (support for RSS with NVIDIA/Mellanox adapters)
 - New ndedup utility for inline packet deduplication
   - Zero-copy batch traffic forwarding as transparent bridge
   - Support for multiple segments or RSS queues with mulththreading
   - Configurable window size

* n2disk
 - Add Device and Port ID to indexed metadata
 - Add support for Metawatch in packet capture mode
 - Add support for indexing tunneled traffic in VXLAN
 - Add support for IP-in-GRE-IP-in-VXLAN-in-IP encapsulation
 - Add support for ERSPAN
 - Add support for Arista 7280 headers
 - Add support for FT-driven slicing
 - Add threads for notifications (exec command) and queues to notify pcaps in order
 - Index L2 packets
 - Index ICMP protocol
 - Index Arista Metawatch Device and Port ID with --extended-index 4 (even without --hw-timestamp metawatch)
 - New options
   - Add --disable-rss option to disable RSS (send all traffic to queue 0)
   - Add --file-mode and --dir-mode options to set permissions on disk
   - Add --indexer-threads <cores> (same semantic of -k <cores> -K) to set indexer threads core affinity
   - Add --reader-priority, --writer-priority, --indexer-priority to set threads priority
   - Add --numa-affinity to set NUMA node affinity
   - Add --other-cpu-affinity option to set core affinity for auxiliary threads
   - Add --no-overwriting option to disable pcap recycling
   - Add --hole-detection <msec> option to detect traffic holes
   - Add --disable-chunk-mode option to disable chunk mode when automatically detected
   - Add --profiling option to enable pipeline profiling
   - Add --no-demo option to fail on no/expired license
 - Enable libpcap capture on Linux (fallback to libpcap when pf_ring is not available)
 - Improve Arista timestamps management to skip packets until the first keyframe is received
 - Disable dump to specific disks in case of write failure when multiple volumes are available
 - Fix standard BPF filters with zc interfaces
 - Fix used disk space computation with compressed npcap files
 - Fix exit status on failure
 - Fix fd leak
 - Fix DLT with vanilla pcap capture
 - Deprecate -n option
 
* Flow export
 - Add --probe-ip option to specify the probe ip
 - Reworked ZMQ export (now using ZMQ export support provided by PF_RING FT)
 - Fix exported flows stats

* npcapextract
 - Add match for Device and Port ID
 - Add support for time in epoch format in -b/-e
 - Add support for nanoseconds time interval
 - Handle extraction from pcap files which are not strictly honoring the timeline boundaries
 - Fix extraction filters on IPv6 addr
 
* npcap library (PF_RING timeline module)
 - Add support for nanoseconds time interval
 - Fix memory corruption with big pcap and big index files

* disk2n (replay)
 - Add --keep-crc option to keep the CRC
 - Fix --takeoff-time

* Misc
 - Add ARM support
 - Add Ubuntu 22/24 support and package
 - Add Debian 11/12 support and package
 - Add FreeBSD support and package
 - Add n2disk user to the ntop group
 - Add UNIT_NAME and INSTANCE_NAME env var to systemd services
 - Install binaries to /usr/bin

---------------------------------------
2020-10-19 n2disk 3.6.0

* n2disk
 - Add support for Metawatch Metamako packet trailer (timestamp is added to packet header and index, 
   device and port ID are exported as flow metadata using INPUT_SNMP/OUTPUT_SNMP/OBSERVATION_POINT_ID IEs)
 - Add support for Arista 7150 Series packet trailer and keyframes (timestamp is added to packet header and index)
 - New -E 2 option to enable applicaiton protocol (L7) indexing when ZMQ export is disabled
 - Add support for archiving to a slower storage (-O) when the --disk-limit dump schema is used
 - Set a default disk limit (auto computing 80% of free space + space already in use) when not configured
 - Increse maximum number of interfaces (up to 32)
 - Exporting FirstDumpedEpoch only when available
 - Fix access to latest deleted PCAP file epoch
 - Fix drop stats in PCAP mode (do not account drop in recv)
 - Fix index root folder (when a folder different from the dump folder is specified)
 - Fix -I<index path> with --disk-limit
 - Support for Ubuntu 20

* Flow export
 - Add --lifetime-timeout and --idle-timeout options to control flow expiration
 - Optimize flow export with batch mode
 - Fix ZMQ message ID

* npcapextract
 - Add support for L7 filtering using nBPF

* disk2n (replay)
 - Add new --transmission-rate option to set the replay speed in bps, pps or % (relative to the original traffic speed)

* Misc
 - Add -a option to npcapmove to generate absolute paths
 - Fix npcapmanage in case of relative paths
 - Fix logrotate configuration file permission

---------------------------------------
2019-12-24 n2disk 3.4.0

* n2disk
 - New --l7-filter-conf option to enable l7 filtering (based on FT)
 - New --time-pulse-precision option to lower CPU load when high-precision is not required
 - Bulk/segment mode capture optimizations and fixes
 - Add support for multiple (more than 2) ZC interfaces
 - Add support for interface index encoding in timestamp (LSB)
 - Improve '--disk-limit' support to take into account multiple folders from the same volume
 - Improve exported flows (ZMQ) in JSON/TLV format, add PEN
 - Improve disk utilization monitoring
 - New option --kernel-cluster-id|-K to set a kernel cluster
 - Improve egress queue flushing when idle with --export-flow-offload
 - Improve /proc stats, add number of exported flows and timeline path
 - Fix exported stats (ZMQ) JSON format
 - Fix for mountpoints with no device (e.g. NFS)
 - Fix storage status check on NFS without no_root_squash
 - Fix disk limit check when indexing is not enabled

* disk2n
 - Add support for interface index encoding in timestamp (LSB) to select the egress interface
 - Add fully-cached mode to avoid continuously reading from disk when full pcap fits in memory

* npcapextract
 - Increased max number of timelines from 10 to 16
 - New -C <num> option to stop extraction after <num> packets
 - Fix for filesystems with no I_DIRECT support
 - Improve permission check

* Misc
 - Add -T option to print first/last TS only to npcapprintindex
 - Add more options to n2membenchmark

---------------------------------------                                                                                                                                                                             
2018-12-19 n2disk 3.2.0

* n2disk
 - Support for multithreaded dump to multiple volumes (multiple -o <volume> are allowed, and -w <cores> now accepts a comma-separated list of cores)
 - Support for interfaces aggregation (comma-separated list of interfaces in -i <interfaces>) also with non-standard interfaces (e.g. ZC/FPGA)
 - Pcap files permissions are now set by default to 640 to allow only n2disk and the n2disk group to read files
 - ZMQ support (new options: --zmq <socket>, --zmq-export-flows) to export traffic stats and flows (compatible with the ntopng ZMQ import)
 - Support for DPI when exporting flows with ZMQ, and add L7 protocol information to the index
 - Improved CPU utilization on low traffic rate
 - Improved uburst support
 - Added --dont-change-user option to prevent n2disk from changing user
 - Added --dump-fcs option to dump the FCS/CRC (when not stripped by the adapter)
 - Improved /proc stats: added FirstDumpedEpoch/LastDumpedEpoch/DumpedBytes to check the dump window, CaptureLoops as watchdog for the capture thread
 - Ability to specify a file with -f/-F <filter> to provide BPF filters
 - Improved memory allocation, removed minimum memory size 
 - Executing command specified with --exec-cmd <script> after pcap and timeline/index have been created
 - Improved simulation mode: forging real packets to test the index speed, printing stats including AVG capture speed, opening a dummy pf_ring socket to print statistics
 - Fixed --strip-header-bytes
 - Fixed volume info parsing in case of long block device name
 - Fixed root folder creation when dropping privileges
 - Fixed pcap flushing during termination  
 - Preventing n2disk from failing in case of mlock failure when o-direct is disabled
 - Fixed file size limit
 - Fixed segfault on startup binding to the NUMA node
 - Fixed hardware BPF (on supported adapters) when using bulk mode

* disk2n
 - New --takeoff-time|-T <date and time> option to schedule traffic generation (this can be used to synchronise multiple instances)

* npcapextract
 - Allow unprivileged users to run extractions as long as they have permissions on the filesystem
 - Fixed segfault in case of empty pcap files
 - Fixed extraction of packets not supported by the index (e.g. non IP)

* Other Tools
 - New uburst_live tool to detect microbursts on live traffic without recording traffic
 - Improved n2membenchmark benchmarking tool, added buffer size parameter
 - Fixed npcapmanage segfault

* Packages/Misc
 - Packages improvements: reworked user/group creation and removed userdel for security reasons when removing the package
 - Improved service dependencies, n2disk and disk2n services are now 'PartOf' the pf_ring service
 - Package for Ubuntu 18
 - PF_RING "timeline" module extraction fixes and improvements
 - Fixed init.d PID check, status and is-active

---------------------------------------                                                                                                                                                                             
2017-12-19 n2disk 3.0.0

* n2disk
 - Dynamic disk management: new --disk-limit option to specify the max amount of disk space to use (MByte or %),
   instead of using -m (max number of files) and -n (max number of directories) which is less flexible.
 - Raw packets and flow updates export based on the new PF_RING 7 flow offload support.
   This also includes a feedback queue for raw packets shunting (when used in combination 
   with nProbe Cento and with DPI enabled for instance).
 - Support for kill -USR1 to close and flush the current pcap in order to make live traffic immediately available
 - Microburst detection now works also in multithreaded capture mode (ZC) and segment mode (FPGA capture) 
 - New --reader-threads-queue-len option to configure the queue len in multithreaded capture
 - Printing microseconds in timeline file names always with 6 digits now
 - Fixed drop percentage stats
 - Fixed threads synchronisation

* disk2n
 - Fixed nanosecond pcap files replay

* npcapextract
 - Support for PAM authentication for running extractions
 - New -o - option to write to stdout
 - Fixed extraction of huge packets (e.g. captured with gro)
 - Fixed npcap open mode from 'read/write' to 'read only'
 - Fixed extraction on compressed pcaps

* Tools
 - New npcapdecompress -o - option to write to stdout
 - New npcapprintindex option -c to check index sanity
 - New npcaprepair tool for reparing indexes and timeline
 - npcapmode now creates relative paths

* Misc 
 - Fixed a few corner cases in the init.d scripts
 - Fixed systemd dependencies

---------------------------------------                                                                                                                                                                             
2017-04-24 n2disk 2.8.0

* n2disk
 - n2disk renamed to n2disk5g, n2disk10g renamed to n2disk, n2disk10g and n2disknt are now symlinks to n2disk
 - Support for micro-burst detection
 - Fast BPF support for rules with relative byte match (e.g. udp[9]!=0x0a)
 - Improved tunnels parsing, support for PPTP GRE
 - Implemented --exec-cmd <cmd> for executing a command when a pcap file has been dumped
 - Improved systemd scripts
 - New --daemon option
 - Maximum supported Napatech segment size moved from 1MB to 4MB
 - Changed -z N limit from "num files - 1" to "num files", to improve indexing load distribution
 - 64bit counters print fix

* npcapextract (extraction)
 - Fixed extraction with empty filter
 - Fix for -P option

* Tools
 - New npcapmanage utility to delete pcap files from timeline in a time interval
 - New npcapmove utility to move a pcap file with its index and timeline to a new storage path
 - New myritool utility for Myricom cards
 - Improved nttool utility for Napatech cards, added card S/N, removed ntlib dep (dlopen support)
 - Fixed index header dump v2 in npcapindex

---------------------------------------                                                                                                                                                                             
2016-06-07 n2disk 2.6.0 

* n2disk (recording)
 - Cento integration for metadata import (including L7 proto and flow-ID)
 - Added L7 protocol support to the index (when used in combination with Cento)
 - New flow-based index (-1 2) including support for flow-ID (64-bit)
 - New --not-promisc|-3 flag to capture traffic without promisc mode
 - New --capture-direction|-2 for specifying the capture direction
 - New --packet-slicing <level> option for cutting packets after the specified header
 - Extended -n/-m options: -n/-m -1 means unlimited number of folders/files
 - Support for Ubuntu 16
 - Removed n2disk10gdna, n2disk10gzc is now n2disk10g

* npcapextract (extraction)
 - Extended Fast-BPF filters with L7 support (syntax: l7proto <nDPI protocol>)
 - New -g option to set core affinity for the extraction thread
 - New -s option to set extraction snaplen
 - Filtering improvements: falling back to standard BPF in case of estraction filter not supported by Fast-BPF
 - New -O option to write pcap to stdout (i.e. pipeline result to tshark -i - / wireshark -k -i -)
 - New -0 option to write an empty file on empty result (useful with -O))
 - Support for legacy and new index (both standard with L7 support and flow-based index)
 - Improved extraction with O_DIRECT support
 - Compressed .npcap extraction fix
 - Index file descriptors leak fix
 - Memory leak fix

* Tools
 - New n2membenchmark tool for benchmarking system performance

