====== inet-3.x ======

2017-10-02  ------ inet-3.6.2 released ------

2017-07-06  ------ inet-3.6.1 released ------

2017-06-09  ------ inet-3.6.0 released ------

2017-02-20  ------ inet-3.5.0 released ------

2016-08-01  Zoltan Bojthe

	IInterfaceTable/InterfaceTable: getter functions made const

2016-08-03  Zoltan Bojthe

	MSG: @fieldNameSuffix("_var") removed when @omitGetVerb(true) not used

2016-06-15  ------ inet-3.4.0 released ------

2016-06-01  ------ inet-3.3.0 released ------

2016-04-06  ------ inet-3.2.4 released ------

2016-03-16  ------ inet-3.2.3 released ------

2016-03-11  ------ inet-3.2.2 released ------

2016-01-21  ------ inet-3.2.1 released ------

2015-12-16  ------ inet-3.2.0 released ------

2015-10-26  ------ inet-3.1.1 released ------

2015-10-15  ------ inet-3.1.0 released ------

2015-06-22  ------ inet-3.0.0 released ------

2015-05-13  ------ inet-2.99.1 released ------

2015-03-23  Zoltan Bojthe

	Added getAddressBitLength() and getAddressByteLength() functions to
	IL3AddressType.

2015-03-18  Levente Meszaros

	Moved IARP interface under contract.

2015-02-10  Zoltan Bojthe

	Fixed packet length in IPv6NeighborDiscovery.

2015-01-21  Zoltan Bojthe

	Applied C++ source code modernizer.

2014-12-16  Zoltan Bojthe

	Fixed defects found by static code analyzer (Coverity).

2014-12-11  Levente Meszaros

	Moved interfaces and module interfaces from common to contract.

2014-11-07  ------ inet-2.99.0 released ------

2014-09-18  Andras Varga

	Moved all sources under the src/inet directory, so that all #include
	statements begin with "inet/". The motivation is to rule out potential
	filename clashes when multiple model frameworks are used together.

	HINT: You can use the "opp_githist" command in inet/_scripts to find
	all previous locations of the sources in this directory, and to view
	the full history in gitk. Normal invocations of gitk can only show
	file history back to the most recent move operation.

2014-07-30  Andras Varga

	Changes on the inet-3.x branch so far:

	Network layer abstraction (Levente Meszaros, Andras Varga):
	- added INetworkDatagram, INetworkLayer, INetworkProtocol,
	  INetworkProtocolControlInfo, NetworkProtocolCommand

	Directory restructuring:
	- contents split to ipv4/, ipv6/, generic/

	Code formatting (Zoltan Bojthe)
	- using uncrustify, see _scripts/reformat/*
	- common style for header guards

	Namespace (Zoltan Bojthe, Zsolt Prontvai)
	- code has been moved into the inet namespace

====== inet-2.x ======

2015-03-04  ------ inet-2.6 released ------

2014-11-07  ------ inet-2.5.1 released ------

2014-10-29  ------ inet-2.5.0 released ------

2014-06-12  ------ inet-2.4.0 released ------

2014-03-19  ------ inet-2.3.0 released ------

2014-01-22  Levente Meszaros

	Added a new purely virtual contract that defines the interface of network protocols.
	Moved classes shared by implementations from contract to common.
	Moved the IPv4 and IPv6 contracts into separate directories.

2014-01-16  Zoltan Bojthe

	backport: backported RIP

2014-01-15  Zoltan Bojthe

	backported registerProtocol

2014-01-16  Zoltan Bojthe

	bugfix for IPv4Address::doPacking() (by Ingmar Baumgart)

2013-08-22  ------ inet-2.2.0 released ------

2013-06-14  Tamas Borbely

	IPProtocolId.msg: added new constant: IP_PROT_PIM

2013-05-15  Alfonso Ariza

	IPvXAddressResolver: added findHostWithAddress() method (was called
	findModuleWithAddress() in the original patch)

2013-05-15  Levente Meszaros

	IPvXAddressResolver: Extended interface IPv4 address lookup: when the
	interface is not yet configured for IPv4, it tries to get the address
	from IPv4NetworkConfigurator.

2013-02-01  Andras Varga

	IPv4Address: renamed getBroadcastAddress() to makeBroadcastAddress()

2013-01-30  ------ inet-2.1.0 released ------

2012-10-24  Zoltan Bojthe

	IPv6Address:
	- Removed Uint128 related functions
	- Added an additional constructMask() method
	- The convert to Uint128 operator has been replaced with
	  converter function

2012-08-07  ------ inet-2.0.0 released ------

2012-06-25  ------ inet-1.99.5 released ------

2012-06-15  Zoltan Bojthe

	IPv4Address:
	- added a parameter to str() function that allows choosing
	  between "0.0.0.0" and "<unspec>" when the address is unspecified
	  (when its value is 0)
	- made the uint32 constructor explicit

	IPvXAddressResolver: resolving netmask if needed
	- added support for 'x.x.x.x/' syntax
	  (which will return the netmask instead of the ip address)
	- added ADDR_MASK enum (to get the netmask instead of the address)
	- NOTE: netmask resolving is implemented only for IPv4

2012-05-15  Tamas Borbely

	Added DSCP and ECN accessors to IPv4/IPv6ControlInfo.

2012-03-20  ------ inet-1.99.4 released ------

2012-03-04  Zoltan Bojthe

	IPvXAddressResolver::tryResolve() uses a new syntax:
	host
	host(protocol)
	host%interfacename
	host%interfacename(protocol)
	host>destmodule
	host>destmodule(protocol)
	address: host [ { '%' interfacename | '>' destmodule } ] [ '(' protocol ')' ]
	protocol: { 'ipv4' | 'ipv6' | 'routerId' }

2012-02-28  Andras Varga

	'const char*' ctors of IPv4Address/IPv6Address/MACAddress made explicit

2012-02-24  ------ inet-1.99.3 released ------

2012-02-10  Rudolf Hornig

	IPv4Address/IPv6Address: added LL_MANET_ROUTERS (224.0.0.109, FF02::6D),
	used by MANET code [taken from INETMANET]

2012-02-09  Andras Varga

	IPv4/IPv6: added QoS support
	- IPv4: replaced DSCP with TypeOfService
	- IPv6: added Traffic Class to packet and controlInfo

2011-12-15  Tamas Borbely

	IPv6Address: added isSolicitedNodeMulticastAddress() method

2012-02-05  Andras Varga

	IPv6Address: fixed UInt128 conversions (assumed wrong word order);
	comments revised

	The bad Uint128 conversions were added just a few commits earlier.

2012-02-04  Andras Varga

	IPv4Address: keepFirstBits() was bogus, removed; new methods

	keepFirstBits() was actually "keep first 32-n bits"

	New methods:
	- makeNetmask(int)
	- isValidNetmask()

	Use isValidNetmask() in RoutingTable

	IPv4Address,RoutingTable: various fixes.

	Fixed IPv4Address::getNetmaskLength, it couldn't return 1. Fixed
	RoutingTable route validation, it rejected 0.0.0.0/x routes where x is
	not 0.

2011-11-16  Zoltan Bojthe

	int128/uint128: removed IP address and MAC address related functions
	from int128/uint128 classes

2012-01-31  Zoltan Bojthe

	IPvXAddressResolver: bugfix: findRoutingTableOf(), findRoutingTable6Of()
	functions should return NULL if routing table not found

2012-01-27  Zoltan Bojthe

	networklayer/ipv4/contract and networklayer/ipv6/contract merged back to
	networklayer/contract

	Contract is now always available, regardless of feature settings. This
	reduces the amount of ifdefs needed.

2012-01-27  Tamas Borbely

	IPv4: add IPv4Address::isLimitedBroadcastAddress()

2012-01-05  Zoltan Bojthe

	IPv4Address: added AddressCategory enum, getAddressCategory() function

2011-11-18  ------ INET-1.99.2 released ------

2011-11-13  Levente Meszaros, Zoltan Bojthe

	Refactored operator= and copy constructor in all INET classes.
	See base/ChangeLog for details.

2011-08-03  Andras Varga

	IPvXAddress fix: a blank IPvXAddress was not equal to a blank
	IPv6Address

2011-07-24  Andras Varga

	cosmetics

2011-07-24  Andras Varga

	IPvXAddress: added isMulticast()

2011-07-19  Andras Varga

	Use cStringTokenizer and IPvXAddressResolver for parsing.

2011-06-03  Andras Varga

	cosmetics: space usage made somewhat more consistent throughout the code

	Notes:
	- if you have an INET fork and want to compare the code, use the
	 "Ignore spaces" option of your visual diff tool. Most tools have
	 this option; Meld and Araxis Merge certainly do.

	- I used omnetpp/_scripts/tidymodel/spaces.pl, plus some manual tweaks

2011-05-30  ------ INET-1.99.1 released ------

2011-05-27  Andras Varga

	tab-to-space in all source files

2011-05-26  Zoltan Bojthe

	fixing IPv6Address test

	also some include optimisation

2011-05-26  Zoltan Bojthe

	Renamed IP... classes to IPv4... or IPvX...

2011-03-30  Zoltan Bojthe

	#include, code style, strtok -> cStringTokenizer

2011-03-18  Zoltan Bojthe

	correcting #ifdefs

2011-03-03  ------ INET-1.99.0 released ------

2011-03-02  Zoltan Bojthe

	eliminate warnings: comparison between signed and unsigned integers

2011-03-02  Zoltan Bojthe

	change opp_error to throw cRuntimeError

2011-03-01  Zoltan Bojthe

	IPvAddress optimalisation, code styling

2010-11-22  Rudolf Hornig

	Added GlobalARP support (from INETMANET)

2011-02-22  Andras Varga

	Swiched NED documentation comments to explicit hyperlinking of NED
	type names, using tilde. Example: "TCP" was changed to "~TCP"
	wherever the module and not the protocol was meant.

	The reason for the switch was that autolinking produced too many
	false hits (e.g. "TCP connection" and "IP address" would link
	to the TCP and IP modules.)

2011-01-10  Zoltan Bojthe

	Code style changes:

	- tab-to-space conversion
	- '{' to new line
	- too long lines
	- remove trailing whitespace from lines
	- indentation

2010-12-15  Zoltan Bojthe

	(M)IPv6: add constants

2010-12-13  Zoltan Bojthe

	IPv6: extension header in controlinfo

2010-08-05  Andras Varga

	checked in BGPv4 code contributed by Helene Lageber

2010-06-21  Zoltan Bojthe

	indent changes - from Thomas Reschka

2009-12-21  Andras Varga

	minor: improved IPControlInfo/IPv6ControlInfo documentation + added
	getOrigDatagram() method

2009-12-21  Andras Varga

	fix: IPControlInfo and IPv6ControlInfo destructors often crashed on exit
	when trying to delete origDatagram [fix suggested by vire]

2009-12-15  Andras Varga

	IPvXAddress improvements:

	added words() and wordCount() functions bugfix in the equals() function

	Author: Zoltan Bojthe

2009-03-25  ------ INET-20090325 released ------

2008-09-12  Tamas Borbely

	* DLL export IPControlInfo and IPv6ControlInfo.

2008-09-09  Tamas Borbely

	* IPAddress: isLinkLocalMulticast() fixed. It accepted
	  244.0.0.x instead of 224.0.0.x.

2008-07-01  Andras Varga

	* InterfaceTable and associated files moved to new directory common/

2008-06-30  Andras Varga

	* IPAddress: internal representation changed to use a single int32
	instead of unsigned char[4], for more efficient code; several methods
	made inline [code from Ingmar Baumgart, OverSim]

	* parsim: added pack/unpack functions for IPAddress, IPv6Address,
	IPvXAddress

	* InterfaceTable: added deleteInterface()

2008-01-01..2009-03-25  Andras Varga, Rudolf Hornig

	Porting of INET to OMNeT++ 4.0, and some general face lift:
	* better directory structure (names changed to lowercase; moved sources
	  under src/; better names, e.g. networkinterfaces -> linklayer)
	* build system to use a deep makefile
	* updated the C++ code for the 4.0 API (follow name changes; use
	  int64-based simtime_t; use cPacket; etc.)
	* NED files converted to 4.0 syntax
	* make use of new features in NED files (module interfaces, inout
	  gates, @unit, etc.)

2005-10-28  Andras Varga

	* IPControlInfo.msg: added outputPort field

2005-08-04  Andras Varga

	* created Network/Contract/ directory by moving files from
	Network/IPv4/ and Network/IPv6/

2005-07-12  Andras Varga

	* IPAddress, IPv6Address, IPvXAddress: renamed isNull() to
	isUnspecified()

	If you are interested in the early history of the code, change
	to the project root and type

	$ gitk -- Network/IPv4 Network/IPv6 Network/Contract INET/src/networklayer/contract
