====== 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-05-30  Levente Mészáros

	Fixed compilation with disabled IPv4 feature, reported by Michael Kirsche.

2017-02-13  Levente Mészáros

	Disabled displaying interface name, IP address and netmask length on the
	gate by default. This feature is replaced by the InterfaceTableVisualizer.

2017-02-13  Levente Mészáros

	Added IPv4Address field to InterfaceEntry msg file.

2017-02-09  Levente Mészáros

	Added InterfaceEntry class descriptor.

2017-01-13  Levente Mészáros

	Added guards to avoid crash when there's no IPv4 data.

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

2017-02-17  Rudolf Hornig

	build: removed OMNeT 5.0 compatibility code

2016-12-23  Rudolf Hornig

	build: removed deprecation warings

2016-10-20  Rudolf Hornig

	Refactoring: removed compatibility macros required for OMNeT++ 4.x builds
	+ warning fixes

2016-09-22  Zoltan Bojthe

	interfaceTable: fixes for refreshDisplay()
	omnetpp5: add/use refreshDisplay()

2016-08-01  Zoltan Bojthe

	IInterfaceTable/InterfaceTable: getter functions made const

2016-07-20  Zoltan Bojthe

	omnetpp5: replace deprecated cQueue functions: operator(), length(),
	empty()

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

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

2016-04-28  Zoltan Bojthe

	InterfaceEntry: also shows id in the info() method

2016-04-11  Zoltan Bojthe

	L3AddressResolver: show more info when errors are thrown

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-11-27  Zoltan Bojthe

	Made the code compile with OMNeT++ 5.0b3

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() function to
	IL3AddressType.

2015-01-05  Zoltan Bojthe

	Moved setName calls to InterfaceEntry constructor from all implementations
	of createInterfaceEntry.
	Replaced getParentModule calls in the MAC layer with parameters.

2015-01-21  Zoltan Bojthe

	Applied C++ source code modernizer.

2014-12-11  Levente Meszaros

	Moved interfaces from common to contract.

2014-12-10  Levente Meszaros

	Renamed getNetworkInterfaceModule to getInterfaceModule.

2014-12-05  Zoltan Bojthe

	Fixed defects found by static code analyzer (Coverity).

2014-12-05  Zoltan Bojthe

	Implemented info and detailedInfo in GenericNetworkProtocolInterfaceData.

2014-11-12  Levente Meszaros & Zoltan Bojthe

	Fixed memory management problems found by valgrind memcheck.

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 IRoute, IRoutingTable, IPSocket.h, L3Address, L3AddressResolver,
	  IL3AddressType, ModuleIdAddress, ModuleIdAddressType, ModulePathAddress,
	  ModulePathAddressType, NetworkProtocolBase, NetworkDatagramBase

	  - IPvXAddress is replaced by L3Address
	  - IPvXAddressResolver is L3AddressResolver
	  - new address types: MACAddress, ModuleIdAddress, ModulePathAddress

	- Motivation: allow uniform access to the IPv4, IPv6 and possibly other
	  routing tables; e.g. some wireless networks may use MAC address as
	  network address. Also, in simulation it sometimes makes sense to work
	  with simple abstract addresses like module names, indices or IDs.

	  Being able to uniformly access routing tables containing different
	  types of addresses makes it possible to implement routing protocols
	  in a generic way. I.e. the same DYMO module can work with IPv6, IPv6,
	  MAC and other addresses without change and recompiling.

	Added SimpleNetworkProtocol (Levente Meszaros)
	- SimpleNetworkLayer, SimpleNetworkProtocolControlInfo

	Added EchoProtocol (Levente Meszaros)
	- EchoPacket, EchoProtocol, EchoProtocol, EchoProtocol

	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

	Init stages (Zoltan Bojthe, Andras Varga)
	- init stages: reorganized by layers

	Signals (Zoltan Bojthe)
	- replace INotifiable and NotificationBoard by signals for
	  publish/subscribe communication

	Logging (Zoltan Bojthe, Benjamin Seregi)
	- EV log statements revised and categorized: EV_ERROR, EV_WARN,
	  EV_INFO, EV_DETAIL, EV_DEBUG, EV_TRACE

====== 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

	Moved classes shared by implementations from contract to common.
	Added NetworkProtocolBase.

2014-01-16  Zoltan Bojthe

	backport: backported RIP

2014-01-17  Zoltan Bojthe

	backport: added some IInterfaceTable functions

2014-01-17  Zoltan Bojthe

	backport: InterfaceEntry: add field id to change notifications

2013-08-30  Zoltan Bojthe

	backport: InterfaceEntry: send notification only when the new and old
	values differ

2014-01-15  Zoltan Bojthe

	backported xDymo

2014-01-14  Zoltan Bojthe

	backport: copied IPv4 and ARP codes from integration branch

2013-10-12  Benjamin Seregi (benmartin92)

	InterfaceEntry: IEEE8021DInterfaceData added to InterfaceEntry

2013-09-16  Zsolt Prontvai (prozsolt)

	Added VLANInterfacedata to InterfaceEntry

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

2013-08-23  Andras Varga

	InterfaceTable: revert to earlier behavior of determining networkLayerGateIndex.
	Now the module connected to a NIC *must* have gate vectors called ifIn and ifOut.
	If they don't, the code decides that the NIC is *not* directly connected to
	a network layer, and leaves networkLayerGateIndex unfilled.

	ASSUMPTIONS:
	 1. The NIC module (ifmod) may or may not be connected to a network layer
	    module (e.g. IPv4NetworkLayer or MPLS)
	 2. If it *is* connected to a network layer (or a relay unit), the network
	    layer module's gates must be called ifIn[] and ifOut[], and NIC must be
	    connected to identical gate indices in both vectors.
	 3. If the NIC module is not connected to another modules ifIn[] and ifOut[]
	    gates, we assume that it is NOT connected to a network layer, and leave
	    networkLayerGateIndex in InterfaceEntry unfilled.
	4. The NIC may or may not connect to gates of the containing host compound module.

2013-07-05  Zoltan Bojthe

	InterfaceTable: remove explicit registration of a loopback interface;
	it will be done by the newly introduced LoopbackInterface module

2013-07-25  Tamas Borbely

	InterfaceEntry: renamed protocol3data/protocol4data to isisdata/trilldata
	(they will be needed by the ANSA project)

2013-07-31  Zoltan Bojthe

	InterfaceEntry: bugfixes

	- resetInterface() and destructor code were different
	- uses resetInterface() in destructor
	- always check owner of protocoldata pointer before deleting it
	- removed some unnecessary type conversions
	- setProtocol[34]Data(): deletion of old data was missing

2013-05-15  Alfonso Ariza Quintana

	InterfaceEntry leaks fixed: InterfaceEntry now deletes protocol-specific
	data in the destructor

2013-05-10  Levente Meszaros

	InterfaceTable: Changed the way how interfaces are registered.

	Interfaces are unconditionally registered from initialize. Interfaces
	are no longer registered during node startup. Interfaces are no longer
	removed during node startup.

2013-04-27  Andras Varga

	InterfaceTable: added lifecycle support

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

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

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

2012-06-15  Zoltan Bojthe

	- InterfaceEntry constructor changed: Now it stores a pointer to related
	  interface module

	- InterfaceTable uses the stored interfaceModule ptr in InterfaceEntry instead
	  of taking it as a parameter

	- modified gate/connection validation in InterfaceTable

	- bugfix: cGate::getDisplayString() has a side effect by creating an
	  empty channel when there was no channel attached to the gate previously.
	  solution: if no channel is connected to the gate do not call the getDisplayString()
	  method at all.

2012-04-13  Tamas Borbely

	Added getInterfaceByInterfaceModule(cModule*) method to InterfaceTable.
	It returns the InterfaceEntry* that belongs to the interface
	containing the specified module.

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

2012-03-04  Levente Meszaros

   Added "displayAddresses" parameter to InterfaceTable. Setting it to true
   will display all IP addresses on the connected links.

2012-02-14  Tamas Borbely

	Added getFirstMulticastInterface() to the InterfaceTable

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

2012-01-31  Andras Varga

	InterfaceEntry: const changes

2012-01-12  Andras Varga

	InterfaceTable: added getHostModule() method

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-09-16  Zoltan Bojthe

	fixes for bug #137: order of modules in ned leads to segfault in
	inet-EtherMacBase/InterfaceTable

	I added a test for InterfaceTable::addInterface() function
	for checking initialization of 'nb' member. When 'nb' is NULL, the
	InterfaceTable not yet initialized ('nb' setted in stage 0).

2011-11-04  Zoltan Bojthe

	IPv6 comment

2011-09-14  Zoltan Bojthe

	bug #347: fixes some compiler warnings.

2011-07-19  Andras Varga

	cPolymorphic -> cObject (cPolymorphic became cObject in OMNeT++ 4.0)

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-04-28  Rudolf Hornig

	Added Mesh network support to Ieee80211

2011-03-18  Zoltan Bojthe

	changes in includes

2011-03-10  Rudolf Hornig

	Moved NAMTrace and NAMTraceWriter to the obsolete directory.

2011-03-04  Zoltan Bojthe

	Features: add more features

2011-03-03  Zoltan Bojthe

	features: add *_examples features, add SCTP feature

	correcting some #include, etc

2011-03-03  Zoltan Bojthe

	features: TCP_NSC, TCP_lwip, IPv6 completed

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

2011-03-02  Zoltan Bojthe

	change opp_error to throw cRuntimeError

2011-03-01  Rudolf Hornig

	Dropped EmptyHook. Nop is used instead.

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.)

2010-09-26  Andras Varga

	typos

2010-06-21  Zoltan Bojthe

	indent changes - from Thomas Reschka

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

2008-07-07  Andras Varga

	* introduced IInterfaceTable, to allow users implement their own
	InterfaceTables and plug them into INET simulations, without any
	change to the base INET.

2008-07-01  Andras Varga

	* created this package, by moving files from contract/

	* InterfaceEntry: setter methods made virtual. This has near zero
	performance cost (calls to setters are rare, and the class already
	has a vptr due to cObject). Also added backpointer to containing
	InterfaceTable.

	* InterfaceTable: implemented NotificationBoard-based notifications
	about interface changes: NF_INTERFACE_CREATED, NF_INTERFACE_DELETED,
	NF_INTERFACE_STATE_CHANGED, NF_INTERFACE_CONFIG_CHANGED.
	The detail object for all four are the InterfaceEntry.

	* InterfaceTable: created a getInterfaceById() method, NOT to be
	confused with getInterface(pos)! Ids are stable after deletions,
	unlike 0..getNumInterfaces()-1 indices

	See contract/ChangeLog for earlier history of this code.
