v1.2 - Mon oct 7 23:33:49 ART 2013 - Added BaseSniffer::begin and BaseSniffer::end. - BaseSniffer::next_packet uses pcap_loop instead of pcap_next, which doesn't work well on some linux distributions. - Added PPI PDU class. - Fixed a bug in EthernetII triggered when the size of the whole frame was lower than 60 bytes. - Added AddressRange class and IPv4Address, IPv6Address and HWAddress<>::operator/. - Added is_broadcast, is_multicast and is_unicast to IPv4, IPv6 and HWAddress. - Added is_private and is_loopback methods to IPv4 and IPv6 addresses. - Done some optimizations on TCP's constructor from buffer. - Added helper functions to Dot11Data to retrieve the source, destination and BSSID addresses. - Fixed bugs in DNS triggered when parsing MX and unknown records. - BaseSniffer::next_packet now iterates until a valid packet is found. - TCP::get_flag is now const. - The --disable-wpa2 now works as expected. v1.1 - Wed Jun 5 09:03:37 ART 2013 - Implemented std::hash specialization for IPv4, IPv6 and HWAddress<> types. - Added a RSNHandshakeCapturer class. - Added WPA2Decrypter class. - IEEE 802.11 frames are not parsed if the RadioTap FAILED_FCS flag is on. - RadioTap now calculates its size everytime it's serialized. - Splitted the dot11.h and dot11.cpp files into several files to speed up compilation times. - Added HWAddress<>::is_broadcast and HWAddress::operator[]. - Fixed a bug triggered when parsing Dot11QoSData frames. v1.0 - Tue Apr 23 20:40:57 ART 2013 - Link layer protocol PDUs now don't hold a NetworkInterface. This led to changes in their constructors. - Removed the obsolete PDU* parameter taken by several classes' constructors. - IP now sets the sender's address automatically when no link layer PDU is used. - IP, TCP and UDP now calculate the checksum everytime they're serialized. - Added PDU::rfind_pdu. - Defined several exception types. - Implemented matches_response on several protocols. - PacketSender is now movable. - Added an overload of add_option that takes an rvalue-reference in IP, TCP, DHCP, ICMPv6 and Dot11. - Added support for GNU/kFreeBSD. - Removed several deprecated methods, such as PDU::clone_packet. - Added PacketSender::send(PDU&, NetworkInterface). - Normalized the TLV options naming conventions in all of the classes that used them. - Added support for Dot1Q, STP, PPPoE protocols. - Made some important optimizations on PDUOption<>'s constructors. - Added Utils::resolve_domain and Utils::resolve_domain6 v0.3 - Thu Jan 31 16:47:27 ART 2013 - Added IPv6, ICMPv6 and DHCPv6 classes. - Added support for Loopback interfaces and the Linux Crooked Capture pseudo protocol. - Added support for IPv6 records in DNS. - Added Packet/RefPacket class. - Added support for FreeBSD, OSX and Windows. - Added C++11 move semantics to several classes. - Done a complete rewrite of the build system; it now uses libtool. - Fixed several bugs in DNS. v0.2 - Sat Oct 20 11:26:40 2012 - Added support for big endian architectures. - Simplified several interfaces. - Added IPv4Address and HWAddress class to simplify handling IP and hardware addresses. - Added NetworkInterface class to abstract network interfaces. - Added TCPStreamFollower class to follow TCP streams on the fly. - Added WEPDecrypter class to decrypt WEP-encrypted 802.11 data frames on the fly. - Added several new PDUs: Loopback, IEEE802_3, LLC, DNS. - Added support for reading and writing pcap files. - Moved to BSD-2 license.