batman-adv 2016.4

 * support latest kernels (3.2 - 4.9)
 * add GW selection algorithm for B.A.T.M.A.N. V
 * add support for querying most tables/lists via netlink
 * adjusted device modifications for easier handling via rtnl (ip-link)
 * disabled (bad) debugfs support in network namespaces
 * add improved compat-patches support (note the new build directory)
 * reduced translation table memory consumption
 * coding style cleanups and refactoring
 * bugs squashed:
   - avoid locking problems when modifying interfaces
   - fix sysfs errors on fast device deletion/creation events
   - add missing memory barriers for neighbor list modifications
   - fix tpmeter debug log output

 -- Thu, 27 Oct 2016 21:12:07 +0200

batman-adv 2016.3

 * support latest kernels (3.2 - 4.8)
 * multicast optimization support for bridged setups
 * initial, limited support for batman-adv netlink family
 * throughput meter implementation
 * support for frame priority in fragment packets
 * kernel doc updates and coding style cleanups
 * bugs squashed:
   - fix (re-)initialization of ELP tweaking options
   - fix elp packet data reservation
   - fix nullptr dereference after using vlan_insert_tag
   - fix various reference counting bugs in bonding, bla, tt and
     originator code
   - fix speedy join in gateway client mode

 -- Thu, 01 Sep 2016 16:12:26 +0200

batman-adv 2016.2

 * support latest kernels (3.2 - 4.7)
 * initial, limited support for network namespaces
 * kernel doc updates and coding style cleanups
 * cleanup of legacy kernel compat code
 * support for detection and reporting of complex bridge loops
 * bugs squashed:
   - fix some TT issues: double free for full table request structs
     (created problems on multi-core systems) and a double put of VLAN
     objects
   - fix various B.A.T.M.A.N. V issues: fix mac address after address
     change, ELP orig address on secondary interfaces, null pointer
     dereference in metric comparison, refcount issues, ...
   - fix skb deref after transmission
   - avoid duplicate neigh_node additions
   - replace WARN with rate limited output on non-existing VLAN
   - fix ICMP RR ethernet header access after skb_linearize
   - fix memleak of untagged vlan when removing interface via rtnl-link
   - fix build against Debian Stretch kernels

 -- Thu, 09 Jun 2016 15:37:44 +0200

batman-adv 2016.1

 * support latest kernels (3.2 - 4.6)
 * drop support for older kernels 2.6.29 - 3.1
 * B.A.T.M.A.N. V routing algorithm support
 * kernel doc updates and coding style cleanups
 * conversion to the kref based reference counting framework
 * bugs squashed:
   - fix endless loop in bat-on-bat netdevice check when using veth
   - fix various reference counting issues
   - init neigh node last seen field
   - fix integer overflow in batadv_iv_ogm_calc_tq
   - fix broadcast/ogm queue limit on a removed interface
   - fix DAT candidate selection to use VID
   - fix unexpected free of bcast_own on add_if error
   - check skb size before using encapsulated ETH+VLAN header

 -- Thu, 21 Apr 2016 14:10:38 +0200

batman-adv 2016.0

 * support latest kernels (2.6.29 - 4.5)
 * add list of unique single hop neighbors and export it via debugfs
 * massive kernel doc updates and coding style cleanups
 * redesign/fix RCU handling when cleaning up to avoid bad memory access
 * increase bridge loop avoidance wait time to 60 seconds
 * remove bridge loop avoidance state when it gets disabled
 * support for interfaces which switch from non-ethernet to ethernet mode
 * bugs squashed:
   - fix lockdep splat when doing mcast_free or batadv_tlv_container_remove
   - fix invalid memory access when shrinking buffer for the OGM-return-rate
     measurement on interface removal

 -- Tue, 19 Jan 2016 17:02:46 +0100

batman-adv 2015.2

 * support latest kernels (2.6.29 - 4.4)
 * cleanup of coding style and kernel docs
 * fix includes in various files
 * add lower layer head/tail room to avoid problems when slave devices
   encapsulate packets and have not enough space available
 * fix hard_header_len which allows sending packets shorter than 64byte
 * Remove obsolete deleted attribute for gateway node to simplify
   code and avoid delayed free of structures referenced by the gateway
 * Add lockdep asserts to find locking problems
 * bugs squashed:
   - Fix gw_bandwidth calculation on 32 bit systems
   - prevent potential hlist double deletion
   - fix soft interface access on unload
   - fix invalid stack access in DAT
   - lock CRC access in bridge loop avoidance
   - fix TT client duplicate detection with VLANs
   - fix excess VLANs in TT requests
   - avoid keeping false temporary TT entries
   - fix TT speedy join for DAT cache replies
   - fix TT memory leak on add with invalid VLAN
   
 -- Mon, 23 Nov 2015 20:25:19 +0100

batman-adv 2015.1

 * support latest kernels (2.6.29 - 4.2)
 * cleanup of coding style
 * cleanup of the compatibility layer
 * convert to the Linux source directory structure
 * adjust default configuration
   - disable network coding
   - enable bridge loop avoidance
 * bugs squashed:
   - avoid DAT to mess up local LAN state
   - fix race conditions in DAT/NC/TT/MCAST TVLV handlers
   - fix build system POSIX compatibility
   - fix gateway selection in fast connection (1) gw_mode
   - fix initialization of detected gateway, which caused hangs on unloads
   - fix race conditions in the translation table
   - fix kernel crash due to missing NULL checks in vlan handlers
   - fix potentially broken header access by multicast optimization
   - fix broadcast packets cleanup for purged outgoing interface

 -- Tue, 04 Aug 2015 14:34:42 +0200

batman-adv 2015.0

 * support latest kernels (2.6.29 - 4.1)
 * cleanup of coding style and add kerneldoc
 * bugs squashed:
   - fix incorrect lockdep warning in network coding
   - fix condition when bonding should be used
   - fix support of bridged batman-adv devices with kernel < 2.6.39

 -- Tue, 28 Apr 2015 20:20:02 +0200

batman-adv 2014.4.0

 * support latest kernels (2.6.29 - 3.19)
 * double default hop penalty
 * bugs squashed:
   - fix wrong size calculations and out of order support in
     fragmentation (fixes CVE-2014-9428)
   - fix double fetch in RCU for old kernels (<3.9)
   - fix NULL dereference and check in gateway code
   - fix multicast counters
   - fix network coding SKB control block initialization
   - fix last_seen initialization for orig nodes

 -- Mon, 05 Jan 2015 20:03:39 +0100

batman-adv 2014.3.0

 * support latest kernels (2.6.29 - 3.16)
 * drop QinQ claim frames in bridge loop avoidance
 * fix a bogus warning from batadv_is_on_batman_iface()
 * removed SET_ETHTOOL_OPS
 * style improvements:
   - remove semi-colon after macro definition
   - add blank line between declarations and the rest of the code

 -- Mon, 21 Jul 2014 16:02:17 +0200

batman-adv 2014.2.0

 * support latest kernels (2.6.29 - 3.15)
 * add multicast optimization for certain type of multicast networks
   to send data only to nodes actually registered using new TVLVs
   and the translation table
 * use ether_addr_copy instead of memcpy
 * remove obsolete reset mac headers
 * bugs squashed:
   - fix various (reference counting) bugs introduced by the multi
     interface optimization
   - fix a reference count problem when sending fragmented packets
   - count references for originator nodes referenced by gateway
   - fix local TT check for outgoing arp requests in DAT
   - fix TT inconsistencies when VLANs are re-created very fast
   - update TT entries for each VLAN when the MAC address of the
     parent interface is changed
   - improve documentation of DAT, TT and general kerneldoc

 -- Thu, 15 May 2014 19:36:10 +0200

batman-adv 2014.1.0

 * support latest kernels (2.6.29 - 3.14)
 * add mesh wide multi interface optimization, which replaces the old
   interface alternating and bonding features with a new network wide
   implementation
 * add mesh wide client isolation based on fwmark by using and
   propagating the new isolation flag in TT
 * send every DHCP packet as bat-unicast when gateway feature is used
 * add new build checks for packet sizes to avoid architecture dependent
   problems
 * bugs squashed:
   - deselect current gateway when switching away from client mode
   - fix batman-adv header MTU calculation
   - fix potential paging error for unicast transmissions
   - fix vlan refcounter imbalance on failure paths
   - fix TT-TVLV parsing and a TVLV leak
   - fix TT CRC computation by ensuring byte order
   - fix function names, paranthesis, comments, warnings, chachacha ...

 -- Thu, 13 Mar 2014 12:08:00 +0100

batman-adv 2014.0.0

 * support latest kernels (2.6.29 - 3.13)
 * This release contains major rework to allow better backward compatibility
   in the future. Unfortunately these changes require a bump of the compat
   version to 15, making this and future releases incompatible to the previous
   releases.
 * add TVLV container infrastructure for OGMs and TT packets
 * remove vis functionality (replaced by userspace tool alfred)
 * reorder packet types and flags in packet types
 * move some packet members (gw flags, TT, ...) into TVLV containers
 * rewrite the fragementation code for more fragments (up to 16), more
   general usage (not only unicast packets) and reassembly on the way
 * add VLAN awareness to TT, DAT and AP isolation
 * use CRC32 instead of CRC16 for TT
 * generalize many functions (neighbor comparison, etc) to prepare
   code-sharing of BATMAN IV and BATMAN V
 * set SKB priority according to content (for correct WMM classification)
 * add a dummy soft-interface rx mode handler to allow static multicast
   listeners
 * bugs squashed:
   - various packet alignment and size fixes (especially on ARM)
   - white space, typos, kernel doc, etc
   - improve backward compatibility code

 -- Sat, 04 Jan 2014 20:20:05 +0100

batman-adv 2013.4.0

 * support latest kernels (2.6.29 - 3.12)
 * bugs squashed:
   - fix potential kernel paging errors for unicast transmissions
   - fix network coding initialization for multiple soft interfaces
   - fix BLA VLAN handling regression
   - improve backward compatibility code

 -- Sun, 13 Oct 2013 18:50:11 +0200

batman-adv 2013.3.0:

 * support latest kernels (2.6.29 - 3.11)
 * send each broadcast only once on non-wireless interfaces
 * change VID handling to prepare enhanced VLAN features
 * bugs squashed:
   - forward late OGMs from best next hop
   - avoid double free of bat_counters
   - fix rcu barrier miss
   - use the proper header len when checking the TTVN
   - make DAT drop ARP requests targeting local clients
 * style improvements, code moving and refactoring

 -- Sat, 20 Jul 2013 22:06:46 +0200

batman-adv 2013.2.0:

 * support latest kernels (2.6.29 - 3.10)
 * add network coding feature
 * add rtnl interface configuration support
 * fix rtnl and sysfs locking issue
 * avoid duplicate interface enslaving
 * bugs squashed:
   - verify tt len to not exceed packet len
   - fix identification of own mac addresses
 * style improvements (change seq_printf to seq_puts)

 -- Sat, 20 Apr 2013 16:42:51 +0200

batman-adv 2013.1.0:

 * support latest kernels (2.6.29 - 3.9)
 * add lots of kerneldoc in types.h
 * clean up (kerneldoc alignment, group tt definitions, renaming, ...)
 * TT improvements:
   - add CRC to debugging tables
   - ignore multicast addresses
   - reduce local TT timeout from 1 hour to 10 minutes
 * Initialize lockdep class keys for hashes
 * unbloat bat_priv if debug is not enabled
 * bugs squashed
   - fix possible sysfs/rtnl deadlock when deregistering
   - fix some DAT bugs (skb leak, invalid MAC addresses, NULL pointer dereference)

 -- Sat, 02 Mar 2013 16:02:00 +0100

batman-adv 2013.0.0:

* support latest kernels (2.6.29 - 3.8)
* cleanup of coding style and add kerneldoc
* add new distributed ARP table feature to cache ARP entries
* remove __packed attribute whenever possible to allow better compiler
  optimizations
* use kernel-registered BATMAN Ethernet type
* block ECTP traffic to remove integration problems when using BLA
* allow roaming multiple times in TT
* bugs squashed
  - fix lockdeps for interfaces
  - disallow batman-over-batman configurations
  - various BLA fixes (wait at startup, hashing, duplist, ...)
  - fix TT roaming cases
  - fix TT packet rerouting
  - fix TT flags handling
  - fix speedy join/BLA interaction bug
  - fix random jitter calculation

 -- Sat, 12 Jan 2013 12:00:16 +0100

batman-adv 2012.4.0:

* support latest kernels (2.6.29 - 3.7)
* cleanup of coding style
* integration of remaining packet counters in ethtool statistic
* speedy join of new non-mesh clients based on broadcast packets
* added bridge loop avoidance backbone gateway debugfs table
* workaround for kernel bug when running on top of vlan device
* bugs squashed
  - announcement of own MAC address after modification
  - wrong counting of received OGMs on x86
  - route flapping in multiple interfaces setup
  - receiving of translation table requests for foreign nodes
  - invalid memory access after failure during the interface appending
  - wrong calculation of packet crc which lead to dropping of broadcast
    packets when bridge loop avoidance is enabled

 -- Mon, 29 Oct 2012 16:47:05 +0100

batman-adv 2012.3.0:

* support latest kernels (2.6.29 - 3.6)
* added namespace-like prefix for all batman-adv symbols
* integrated extended statistic support using ethtool
* important bugs fixed
  - correct endianness for translation table crc
  - avoid race condition in translation table replacements
  - ensure gateway gets selected
  - allow broadcasts with enabled AP isolation
  - fix vis output for multiple interface configurations
  - fix race condition during adds in hashes
  - fix dropped DHCP packets with enabled bridge loop avoidance and gateway
    support
  - don't leak information through uninitialized packets fields

 -- Sun, 19 Aug 2012 21:28:23 +0200

batman-adv 2012.2.0:

* support latest kernels (2.6.29 - 3.5)
* cleanup of coding style (use of named constants instead of values, refactored
  code to reduce readability, replace bitarrays with kernel functionality, ...)
* tweaking hop penalty to reduce route flapping
* enhanced the framework to support multiple routing algorithms
* reimplemented the bridge loop avoidance with support for multiple active
  backbone gateways
* some bugs fixed (translation table flag handling, correct unicast rerouting,
  endianness fixed for translation table crc, avoid of routing loops by being
  strict on forwarded ogms, ...)

 -- Tue, 12 Jun 2012 18:21:54 +0200

batman-adv 2012.1.0:

* support latest kernels (2.6.29 - 3.4)
* makefile rewrite (install target, cleanups, new selection system for features)
* cleanup of coding style (explicit marking of common headers, common unit for
  time specific defines, ...)
* Added framework to switch between different routing algorithms
* some bugs fixes (distinguish between wrap-around ttvn and uninitialized ttvn
  value, ...)

 -- Fri, 30 Mar 2012 19:31:12 +0300

batman-adv 2012.0.0:

* support latest kernels (2.6.29 - 3.3)
* Fix bat_socket_read memory corruption (CVE-2011-4604)
* Cleanup of gateway handling code
* many bugs (hang when softif creation fails, memory leaks when hashes
  table cannot be filled, wrong filter for missed ogms, many smaller
  translation table problems, ...) fixed

 -- Sun, 05 Feb 2012 15:06:08 +0100

batman-adv 2011.4.0:

* support latest kernels (2.6.29 - 3.2)
* starting of code refactoring to support multiple protocol versions
* added support for AP-isolation to prevent non-mesh WIFI clients to talk to
  each other over the mesh
* some bugs (memory leaks in the translation table, wrong initialization of
  ethernet addresses of translation table entries, ...) squashed

 -- Sun, 13 Nov 2011 20:40:05 +0100

batman-adv 2011.3.1:

* don't send all packets to selected gateway as broadcast
* prevent translation table corruptions caused by uninitialized memory and
  invalid sizes send through client announcement mechanism

 -- Tue, 18 Oct 2011 20:40:59 +0200

batman-adv 2011.3.0:

* support latest kernels (2.6.29 - 3.1)
* remove compat code for < 2.6.29
* cleanup of coding style
* improve client and roaming announcement mechanisms
* add framework to inform userspace of gateway changes using uevent
* improve gateway handling to filter out incoming DHCP renewal requests
* many bugs (acceptance of delayed rebroadcasts, unsigned char on powerpc used
  to store -1, ...) squashed

 -- Sun, 21 Aug 2011 14:49:20 +0200

batman-adv 2011.2.0:

* support latest kernels (2.6.21 - 3.0)
* cleanup of coding style
* rename of HNA to TT
* support for multi vlan in bridge loop detection
* many bug fixes (rcu protection of router/primary_if/softif_neigh,
  race condition in TQ calculation, deadlock when creating new mesh
  interfaces, ...)

 -- Sun, 19 Jun 2011 20:07:47 +0200

batman-adv 2011.1.0:

* support latest kernels (2.6.21 - 2.6.39)
* cleanup of coding style
* removal of the big orig_hash lock and usage of fine grained locking
* many bug fixes (fragmented packets linearisation, fragments numbering,
  verification of added interfaces, ...)

 -- Sun, 17 Apr 2011 17:41:53 +0200

batman-adv 2011.0.0:

* support latest kernels (2.6.21 - 2.6.38)
* conversion of reference counting to kref
* allow merging and refragmentation of unicast packets during transfers
* add softif bridge loop detection
* make hop_penalty configurable through sysfs
* reimplement most of the batman-adv hash functionality
* support for optimized DHCP based gateway selection
* cleanup of the sysfs code

 -- Sat, 29 Jan 2011 20:08:05 +0100

batman-adv 2010.2.0:

* support latest kernels (2.6.21 - 2.6.37)
* further cleanup of coding style
* new rcu and referenced based interface management
* support for multiple mesh clouds
* create packets directly in socket buffers
* add layer2 unicast packet fragmentation
* usage of optimised kernel functionality for ogm counting
* many bugs (false warnings, processing of big ogms, ...) squashed

 -- Sun, 21 Nov 2010 21:02:40 +0100

batman-adv 2010.1.0:

* support latest kernels (2.6.21 - 2.6.36)
* further cleanup of coding style
* recording of routes for batman icmp messages
* move of complex sysfs files to debugfs
* change output of all sysfs files to single-value-only
* reintroduce virtual file for the debug log
* bonding and alternating added
* add ttl to broadcasts
* change all sequence numbers to 32 bit
* show last-seen in originator table
* many bugs (rounding issues, locking, netdev event handler, ...) squashed

 -- Sat, 04 Sep 2010 13:56:38 +0200

batman-adv 2010.0.0:

* support latest kernels (2.6.21 - 2.6.35)
* further code refactoring and cleaning for coding style
* move from procfs based configuration to sysfs
* reorganized sequence number handling
* limit queue lengths for batman and broadcast packets
* many bugs (endless loop and rogue packets on shutdown, wrong tcpdump output,
  missing frees in error situations, sleeps in atomic contexts) squashed

 -- Fri, 18 Jun 2010 21:34:26 +0200

batman-adv 0.2.1:

* support latest kernels (2.6.20 - 2.6.33)
* receive packets directly using skbs, remove old sockets and threads
* fix various regressions in the vis server
* don't disable interrupts while sending
* replace internal logging mechanism with standard kernel logging
* move vis formats into userland, one general format remains in the kernel
* allow MAC address to be set, correctly initialize them
* code refactoring and cleaning for coding style
* many bugs (null pointers, locking, hash iterators) squashed

 -- Sun, 21 Mar 2010 20:46:47 +0100

batman-adv 0.2:

* support latest kernels (2.6.20 - 2.6.31)
* temporary routing loops / TTL code bug / ghost entries in originator table fixed
* internal packet queue for packet aggregation & transmission retry (ARQ)
  for payload broadcasts added
* interface detection converted to event based handling to avoid timers
* major linux coding style adjustments applied
* all kernel version compatibility functions has been moved to compat.h
* use random ethernet address generator from the kernel
* /sys/module/batman_adv/version to export kernel module version
* vis: secondary interface export for dot draw format + JSON output format added
* many bugs (alignment issues, race conditions, deadlocks, etc) squashed

 -- Sat, 07 Nov 2009 15:44:31 +0100

batman-adv 0.1:

* support latest kernels (2.6.20 - 2.6.28)
* LOTS of cleanup: locking, stack usage, memory leaks
* Change Ethertype from 0x0842 to 0x4305
  unregistered at IEEE, if you want to sponsor an official Ethertype ($2500)
  please contact us

 -- Sun, 28 Dec 2008 00:44:31 +0100

batman-adv 0.1-beta:

* layer 2 meshing based on BATMAN TQ algorithm in kernelland
* operates on any ethernet like interface
* supports IPv4, IPv6, DHCP, etc
* is controlled via /proc/net/batman-adv/
* bridging via brctl is supported
* interface watchdog (interfaces can be (de)activated dynamically)
* offers integrated vis server which meshes/syncs with other vis servers in range

 -- Mon, 05 May 2008 14:10:04 +0200
