packetgen 3.1.0 has been released.
PacketGen provides simple ways to generate, send and capture network
Supported protocols are: Ethernet, Dot11, Dot1x, ARP, IP, IPv6, GRE,
ICMP, IGMP, ICMPv6, MLD, MLDv2, OSPFv2, OSPFv3, UDP, TCP, SNMP, DNS,
EAP, BOOTP, DHCP, TFTP, HTTP and MDNS.
### 3.1.0 / 2018-11-28
* Add Types::Fields.field_defs to get field definitions for a Fields
* Deprecate Types::TLV in favor of Types::AbstractTLV. This new class is
a class generator to generate TLV classes with given class for type,
length and value attribute. It also defines as expected accessors.
** Fix Packet#calc_length. Compute length from inner most packet to
** Fix Types::Fields.define_field. This should not overwrite attribute
accessor if it is already defined by a class. This was not the case...
** Rename Header::HTTP::Request#method into #verb to not mask Object#method.
### 3.0.2 / 2018-11-05
* Add Headerable module to specify minimal API for a class to act as a
header in PacketGen::Packet.
* Types::Array#from_hash now uses #real_type to infer object from hash.
** Header::DNS::Question is now a subclass of Types::Fields instead of
** Fix a typo in Header::TCP::Options#real_type: replace OPtion by Option.
### 3.0.1 / 2018-10-31
* Fix Header::DNS: use of PacketGen.force_binary instead of #force_binary