]> git.ipfire.org Git - thirdparty/lldpd.git/blame - NEWS
daemon: enable recent systemd directive by default
[thirdparty/lldpd.git] / NEWS
CommitLineData
d14b0665
VB
1lldpd (0.9.8)
2 * Changes:
3 + "Station" capability is only set if no other bit is set.
4
52767c4d
VB
5lldpd (0.9.7)
6 * Changes:
78346c89 7 + Attach remote TTL to port instead of chassis.
06987a24
VB
8 + JSON support is now built-in and unconditionally enabled. Use
9 --enable-json0 to keep the pre-0.9.2 json-c format.
52767c4d 10 + When logging to syslog and daemonizing, don't log to stderr.
aed57880 11 + vxlan interfaces are now ignored as they are multi-point interfaces.
a9c7618f 12 + Maximum number of neighbors for an interface is increased from 4 to 32.
52767c4d 13
20edc61c 14lldpd (0.9.6)
bd10ce9d 15 * Changes:
20edc61c
VB
16 + Add a compile-time option to restore pre-0.9.2 JSON format (when
17 using json-c). Use `--enable-json0` to enable this option.
38cbcf2b 18 + Support for newer ethtool interface on Linux
e0d9719f 19 (ETHTOOL_GLINKSETTINGS) and additional speed settings.
72cf4bba 20 + Current MAU type is displayed even when autoneg is off.
568a0d73
VB
21 + Increase netlink receive buffer by default. Can be changed at
22 compile-time through ./configure.
bd10ce9d 23 * Fixes:
23ce0513
VB
24 + Correctly parse LLDP-MED civic address when the length of the
25 TLV exceeds the length of the address.
54cccdd4 26 + Fix 100% CPU on some rare error condition.
92c6dcfe 27 + Fix lost timer when an interface is enslaved on Linux.
20edc61c 28
340f159c 29lldpd (0.9.5)
bd10ce9d 30 * Changes:
2fb135c8
VB
31 + More Ethernet media supported. However, RFC4836 is quite
32 out-of-date with respected to 10G+ speeds, bringing some
33 inaccuracies.
a92e6f01
VB
34 + Directly get media information for an interface without using
35 the privileged process.
03d178b6
VB
36 + LLDP-MED capability TLV is not sent when LLDP-MED is not enabled,
37 even if other LLDP-MED TLV are present.
bd10ce9d 38 * Fixes:
340f159c 39 + Compilation fix with older versions of GCC.
0b7f8847
VB
40 + Don't use ethtool at all to get real MAC address for enslaved
41 devices (always use /proc).
340f159c 42
7b6cbfe2 43lldpd (0.9.4)
bd10ce9d 44 * Changes:
7b6cbfe2 45 + Make lldpd accepts a `-p` option to specify the PID file.
d3b81cc5
VB
46 + Ability to change multicast MAC address to two additional values
47 to reach customer bridges.
35cc2de4 48 + lldpcli will now display chassis TTL when detailed view is enabled.
bd10ce9d 49 * Fixes:
e1717397 50 + Fix setting of local value for port ID.
e8ffca58 51 + Fix compilation with BSD make.
fe64f8e5 52 + Ensure lldpcli returns an error code on invalid commands.
7b6cbfe2 53
d954509e 54lldpd (0.9.3)
bd10ce9d 55 * Changes:
d954509e 56 + Do not rely on support of constructors for liblldpctl.
b5463687 57 + Always log to stderr (even in addition to syslog).
d12b1391 58 + `lldpcli watch` accepts a limit on the number of received events.
bd10ce9d 59 * Fixes:
69d4aed5 60 + `lldpcli -f {xml,json} watch` should work now.
2958b9d4 61 + Consider `veth` interfaces as physical interfaces.
d954509e 62
4d99c9cf 63lldpd (0.9.2)
bd10ce9d 64 * Changes:
4d99c9cf 65 + Ability to add/remove/replace custom TLV from lldpcli.
1f8742dd 66 + LLDP-MED capabilities are displayed differently in lldpcli.
e7e6676e 67 + Limit the maximum depth (5) when trying to apply a VLAN.
c8b8b858
VB
68 + Change JSON output format when using json-c to match Jansson
69 output.
abced782
VB
70 + Integration tests for the major parts of lldpd, including use of
71 address and leak sanitizer.
bd10ce9d 72 * Fixes:
60ad2804 73 + LLDP-MED POE TLV are now displayed in lldpcli.
c04fafa7 74 + Ignore lower link when it is in another namespace.
2fdba99c 75 + Fix various problems with interfaces being enslaved.
809498b5 76 + Fix a memory leak when modifying port-related settings.
4d99c9cf 77
87bb9a1b 78lldpd (0.9.1)
bd10ce9d 79 * Changes:
87bb9a1b
VB
80 + Rework packaging for OS X to make it work with El Capitan. To
81 simplify a bit, it is not possible anymore to build fat
82 binaries. Latest version of OS X supporting 32bit was 10.6.
bd10ce9d 83 * Fixes:
a403df66
VB
84 + By default, when using port alias as description, use port name
85 as port ID.
652d72dd 86 + Miscellaneous fixes with netlink cache.
522acf33 87 + Ensure large netlink messages can be received.
87bb9a1b 88
0fa2254b 89lldpd (0.9.0)
bd10ce9d 90 * Changes:
b5a71b24
VB
91 + Don't rely on libnl3 for netlink. Reuse the previous code and
92 implement a lighweight cache.
0fa2254b 93
59b4cc6d 94lldpd (0.8.0, never released)
bd10ce9d 95 * Changes:
a8add742
VB
96 + PIE is now disabled by default. It's too difficult to reliably
97 detect if it works. Use --enable-pie to enable it.
d535fe05 98 + Retrieve the permanent MAC address of an interface through
1a3ec373 99 ethtool for Linux if /proc/net/bonding is not available.
9856f279
VB
100 + Running lldpd with "-d" will keep the process in foreground but
101 logs will still go to syslog. To log to the console, add at
102 least one "-d".
aedb840f
VB
103 + Fix minimal kernel version to 2.6.39. Add a runtime warning when
104 this is not the case.
31c9173a 105 + Remove old bridge code (the one using ioctl).
36080cdc
VB
106 + Don't discard down interfaces. Notably, this enables us to keep
107 their specific configuration if any.
13181ede
VB
108 + For Linux, switch to libnl3. Be aware of the licensing issues in
109 case of static linking.
9da663f7
VB
110 + Introduce the notion of default local port. New interfaces will
111 use it as a base. This allows setting various MED stuff.
cd7ee899 112 + Provide an apparmor profile (untested).
bd10ce9d
VB
113 * Fixes:
114 + Fix a buffer overflow when receiving a too large management
115 address TLV. Unless hardening has been disabled, this overflow
116 cannot be used for arbitrary code execution.
117 + Update LLDP-MED policy L2 priority values to match
118 802.1Q-2005. This may be a breaking change.
13181ede 119
b52ec8a0 120lldpd (0.7.17)
bd10ce9d
VB
121 * Fixes:
122 + Fix the way libevent configure is called.
b52ec8a0
VB
123 + Fix an infinite loop when using veth on Linux 4.1+ kernels.
124 + Make CDP advertise the appropriate kernel name as platform,
125 not just "Linux".
b52ec8a0 126
45eec1ff 127lldpd (0.7.16)
bd10ce9d 128 * Changes:
16eacc5b
VB
129 + For Linux, 2.6.32 is now the minimal required kernel. When using
130 an older kernel, use `--enable-oldies`.
131 + For Linux, use netlink to retrieve information about bridges,
132 VLAN and bonds. The code was contributed by Cumulus Networks.
45eec1ff 133 + Use symbol versioning for liblldpctl.so.
88301db1
VB
134 + Ability to get local chassis information with "show
135 chassis".
136 + The library also has the same ability with the
137 `lldpctl_get_local_chassis()` function. It is also possible to
138 get a chassis atom from a port with `lldpctl_k_port_chassis`
139 key. This is now the preferred way to retrieve chassis related
140 information.
bd10ce9d 141 * Fixes:
d8367e17 142 + Fix build on OS X.
451b0c3c 143 + Accept "language" when configuring MED location as a civic address.
d8367e17 144
fa9b12c5 145lldpd (0.7.15)
bd10ce9d 146 * Changes:
fa9b12c5 147 + Optional features can be configured with "auto" to autodetect if
dd8c9fe3 148 they are usable. This is the default value for JSON and XML support.
d0e76b5f
VB
149 + Ability to send and decode custom/unknown TLV. Thanks to Alexandru
150 Ardelean.
63e52965
VB
151 + Modify checksum function. While this should be strictly
152 equivalent, if you notice CDP packets not accepted anymore, this
153 change is the first culprit.
fa9b12c5 154
efdd6718 155lldpd (0.7.14)
bd10ce9d 156 * Changes:
efdd6718 157 + Shutdown LLPDU are sent on MSAP change and when lldpd exits.
abfea7d0
VB
158 + When an exact IP is provided as a management pattern, use it
159 unconditionally.
a8382e7f
VB
160 + Ability to set port ID and description to an arbitrary value,
161 thanks to Alexandru Ardelean.
bd10ce9d 162 * Fixes:
ac07e7e4
VB
163 + Incorrect boundary check when decoding management address and
164 protocol identity may lead to lldpd crash when processing
165 malformed LLDPDU.
5683586e
VB
166 + Many edge cases where lldpd was leaving hanging processes after
167 crashing.
efdd6718 168
da9c551a 169lldpd (0.7.13)
bd10ce9d 170 * Fixes:
da9c551a
VB
171 + Unbreak customization of Unix socket path from command line.
172
6d2c29c7 173lldpd (0.7.12)
bd10ce9d 174 * Changes:
6dd83015
VB
175 + Interface pattern, management pattern, system description,
176 system platform and system hostname can be unconfigured to their
177 default values.
bd10ce9d 178 * Fixes:
08ced6b4 179 + Don't complain when parsing a commented line.
22a53755
VB
180 + Correctly persist configuration changes for "system interface
181 promiscuous", "system interface description" "med fast-start
182 enable", "pause" and "resume".
148a1efe 183 + Fix listening on bond devices for old kernels (< 2.6.27).
6d2c29c7 184
9bc3d50e 185lldpd (0.7.11)
bd10ce9d 186 * Changes:
9bc3d50e 187 + Ship bash and zsh completion.
9b11faad 188 + Abort when some command-line options are repeated.
bd10ce9d 189 * Fixes:
62f2faac 190 + Handle correctly read failures in liblldpctl.
9bc3d50e 191
f84199dd 192lldpd (0.7.10)
bd10ce9d 193 * Changes:
f84199dd
VB
194 + Ability to set promiscuous mode to work around bugs of some
195 switches encapsulating LLDP frames inside 802.1Q frames.
87ebf13d
VB
196 + JSON support for lldpcli can use json-c instead of jansson,
197 thanks to Michel Stam.
bd10ce9d 198 * Fixes:
806eaef4 199 + Fix checksum computation for Cisco CDP.
1059a20e 200 + Fix ability to disable LLDP.
5e23c6b9 201 + Fix seccomp sandbox, thanks to Patrick McLean.
f84199dd 202
5133ce2f
VB
203lldpd (0.7.9)
204 * Changes:
205 + Default location for chroot, socket and PID are now configurable
206 in `./configure`. The default location is based on the value of
207 `runstatedir` which in turn may be based on the value of
208 `localstatedir` which defaults to `/usr/local/var`. Therefore,
209 to get the previous locations, lldpd should be configured with
210 `./configure --localstatedir=/var`.
a85eea84 211 + Add support for shutdown LLDPU.
622d14bb 212 + Ability to configure IP management pattern from lldpcli.
e82818d1 213 + Ability to choose what port ID should be (MAC or interface name).
bd10ce9d
VB
214 * Fixes:
215 + Fix `configure system bond-slave-src-mac-type local`. Also use
216 it as default.
5133ce2f 217
12313820 218lldpd (0.7.8)
bd10ce9d 219 * Changes:
8b0ca98e 220 + Android support
71a7dbb3
VB
221 + Add the possibility to disable privilege separation (lower
222 memory consumption, lower security, don't do it).
8b53fc2c
VB
223 + Interfaces can now be whitelisted. For example, *,!eth*,!!eth1
224 is a valid pattern for all interfaces except eth ones, except
627e31c4
VB
225 eth1. Moreover, on exact match, an matching interface
226 circumvents most sanity checks (like VLAN handling).
724d71ea 227 + Ability to override the hostname.
bd10ce9d
VB
228 * Fixes:
229 + Don't hard-code default values for system name, system
230 description and port description. When the field is not present,
231 just don't display it.
232 + Fix lldpcli behaviour when suid.
233 + On OSX, don't use p2p0 interfaces: it would break WLAN.
234 + Fix SNMP support on RHEL.
12313820 235
f730f6c5 236lldpd (0.7.7)
bd10ce9d 237 * Changes:
87bc6683 238 + Use a locally administered MAC address or an arbitrary one
d7166588
VB
239 instead of null MAC address for bond devices on Linux. This is
240 configurable through `lldpcli`.
f5a0a15e 241 + Add support for "team" driver (alternative to bond devices).
bdfe4193 242 + Preliminary support for DTrace/systemtap.
00e40dba 243 + Preliminary support for seccomp (for monitor process).
b6312220 244 + Setup chroot inside lldpd instead of relying on init script.
f730f6c5
VB
245 * Fixes:
246 + Various bugs related to fixed point number handling (for
247 coordinates in LLDP-MED)
12baf781
VB
248 + Fix a regression in how MAC address of an enslaved device is
249 retrieved.
f730f6c5 250
2523da3a 251lldpd (0.7.6)
bd10ce9d 252 * Changes:
b708297c 253 + Provide a way to build packages for OSX.
bb37268d 254 + Add an option to update interface description with neighbor name.
2523da3a
VB
255 * Fixes:
256 + Compilation fix for OSX 10.6.
257
2169efb2
VB
258lldpd (0.7.5)
259 * Fixes:
260 + Segfault while tokenizing in lldpcli.
261
655145c0
VB
262lldpd (0.7.4)
263 * Fixes:
264 + Segfault in lldpcli.
bea70314 265 + Memory leak in liblldpctl when using a custom log handler.
d8234294 266 + Fix some unaligned memory accesses.
13812178 267 + Fix frame reception on OpenBSD.
bd10ce9d 268 * Changes:
0093777b
VB
269 + Allow to configure hold value from lldpcli (and hence the TTL).
270 + Allow to configure pattern for valid interfaces from lldpcli.
decaec0d 271 + Allow to override system description from lldpcli.
96b97fac
VB
272 + Display the neighbor connected as the process title (or the
273 number of connected neighbors).
655145c0 274
de461f15 275lldpd (0.7.3)
bd10ce9d 276 * Changes:
1b3eea3d 277 + DragonFly BSD support.
a1728b7d 278 + Solaris support (incomplete).
d0787f4e 279 + LLDP-MED fast start support (thanks to Roopa Prabhu).
adcb76f8
VB
280 + Provide global statistics through "show statistics summary"
281 command (thanks to Roopa Prabhu).
de461f15
VB
282 * Fixes:
283 + Fix IPv4/IPv6 address discovery in Linux.
284
e735a319 285lldpd (0.7.2)
bd10ce9d 286 * Changes:
29095198
VB
287 + lldpd can be configured through /etc/lldpd.conf and
288 /etc/lldpd.d. All commands accepted by lldpcli are accepted.
e735a319
VB
289 + Lock BPF interfaces before handing them to chrooted process on
290 BSD.
42589660 291 + Limit the number of neighbors for each port to 4 (per protocol).
43d10956 292 + Force CDPv2 protocol with argument `-ccc`.
ced5eed1
VB
293 + Provide port statistics through "show statistics" command
294 (thanks to Roopa Prabhu).
29095198
VB
295 * Fixes:
296 + Driver whitelisting is done before checking if an interface has
297 a lower interface in Linux.
3333d2a8 298 + Expire remote ports and chassis in a timely manner.
e735a319 299
8172214f 300lldpd (0.7.1)
bd10ce9d 301 * Changes:
e66b7f34
VB
302 + Mac OS X support, sponsored by Xcloud, Mac cloud server hosting
303 provider. http://xcloud.me/
322aafc9 304 + Upstart and systemd support.
8172214f
VB
305 + Remove Unix socket when there is no process listening.
306
a0665efa 307lldpd (0.7.0)
bd10ce9d 308 * Changes:
fda729fd 309 + FreeBSD support.
690b944c 310 + OpenBSD support.
2565eae6 311 + NetBSD support.
9a775667 312 + Detect interface changes.
fe80711e 313 + CLI for lldpctl: lldpcli.
46baf627
VB
314 + Allow to disable LLDP protocol (with `-ll`). In this case, the
315 first enabled protocol will be used when no neighbor is detected.
43b82d6e 316 + Allow to filter debug logs using tokens. Add more debug logs.
8b7150e4 317 + lldpctl can now output JSON.
fda729fd
VB
318 + Use netlink to gather interface information on Linux.
319 + Don't use ioctl for bridges anymore on Linux. The configure
320 option `--enable-oldies` allow to reenable their uses for
321 systems not supporting sysfs.
46baf627 322
4b292b55 323lldpd (0.6.1)
bd10ce9d 324 * Changes:
4b292b55
VB
325 + Provide liblldpctl.so, a library to interface with lldpd. The
326 documentation is provided through Doxygen. See src/lib/lldpctl.h
327 which contains all the exported functions.
328 + Make lldpctl uses liblldpctl.so.
4e90a9e0 329 + Add a "watch" option to lldpctl to monitor neighbor changes.
47287a61
VB
330 + Add the possibility to display the current configuration of
331 lldpd with lldpctl. Also add the possibility to reset the
332 current transmit delay.
4b292b55 333
4e22da4c 334lldpd (0.6)
bd10ce9d 335 * Changes:
9c43aeb4 336 + Allow lldpctl to display hidden ports.
5339e725 337 + Add a switch to specify interfaces to use to get chassis ID.
2135cce1
VB
338 + Support for multiple management addresses and IPv6 management
339 addresses. Contributed by João Valverde.
68b375c3 340 + Switch to libevent. See README.md for details.
da92cd57
VB
341 + Partial rewrite of the SNMP part. Less code.
342 + Unit tests for SNMP.
343 + Major rewrite of the protocol between lldpd and lldpctl. Less
344 code.
4e22da4c 345 * Fixes:
4e22da4c
VB
346 + Several small SNMP fixes (discovered by unit tests).
347
c520cb14
VB
348lldpd (0.5.7)
349 * Fixes:
350 + Configure issue with NetSNMP and some linkers
351 + Fix infinite loop for the receive part: on certain conditions,
352 lldpd will stop sending packets and stop updating local data.
353
aff85bf3 354lldpd (0.5.6)
bd10ce9d 355 * Changes:
2a19e9ea 356 + Send and receive native VLAN TLV with CDP
10935633 357 + Add a whitelist for some drivers (currently: dsa and veth)
ab2d1c1f
VB
358 * Fixes:
359 + Compilation issues with NetSNMP 5.7 (and with earlier versions too)
a2606cac 360 + Small optimization of BPF filter
aff85bf3 361
84e06882 362lldpd (0.5.5)
bd10ce9d 363 * Changes:
f17501b6 364 + Support for PPVID and PI Dot1 TLV, thanks to Shuah Khan.
5abfffc2 365 + Extend whitelist with possibility to blacklist.
84e06882
VB
366 * Fixes:
367 + Key/value output was incorrect when a dot was present in
368 interface names. This is fixed but it is preferable to use XML
369 output since the parsing is more difficult in this case.
0265b1e5 370 + Only grab DMI information once. Only uses DMI for x86 platform.
a8818344
VB
371 + Padding issues with socket protocol. This introduces a change in
372 the socket protocol!
bf89e7e0
VB
373 + Fix a segfault when neither /etc/os-release nor lsb_release
374 are available.
84e06882 375
e02afca4 376lldpd (0.5.4)
bd10ce9d 377 * Changes:
e02afca4
VB
378 + Get OS information from /etc/os-release if available. Patch from
379 Michael Tremer.
ba85f9f4 380 + Add a flag to specify which interfaces lldpd should listen to.
e02afca4 381
05eacc7a 382lldpd (0.5.3)
bd10ce9d 383 * Changes:
09721cce
VB
384 + Handle Dot3 POE-MDI TLV (802.3af and 802.3at).
385 + Allow to set Dot3 POE-MDI from lldpctl.
bd10ce9d
VB
386 * Fixes:
387 + Allow root to change configuration of lldpd when lldpctl has suid set.
05eacc7a 388
8482abe9 389lldpd (0.5.2)
bd10ce9d 390 * Changes:
8482abe9 391 + More flexible smart mode and new default. Manual page has been updated.
537a8043 392 + Add a "receive-only" mode with "-r" switch.
8482abe9 393
93108f71 394lldpd (0.5.1)
bd10ce9d 395 * Changes:
93108f71
VB
396 + Allow to force a protocol even when no peer for this protocol is
397 detected.
42b39485
VB
398 + Add a smart mode that allows to discard bogus port information,
399 for example CDP packets that are flooded through a switch that
400 does not support CDP.
0d606289 401 + Allow to set LLDP-MED network policy from lldpctl, thanks to a patch from
40d6a8d2 402 Philipp Kempgen.
0d606289 403 + Allow to set LLDP-MED POE-MDI from lldpctl.
93108f71 404 + Add a summary of available options in "lldpd -h" and "lldpctl -h",
999509a3
VB
405 thanks to a patch from Jorge Boncompte.
406 + Add a new output (keyvalue) for lldpctl.
49697208
VB
407 + Listen on VLAN using an appropriate BPF filter, VLAN
408 decapsulation. Older "listen on vlan" feature is discarded. See
409 README for more information on the new feature.
c036b15d 410 + Use output of lsb_release if available for system description.
58fe6128 411 * Fixes:
5b3214aa
VB
412 + Ignore interface with no queue. It should filter out interfaces
413 like "vnet0" that would fail if we try to send something on them.
4ea50809
VB
414 + Don't check CDP checksums (not really a fix but it appears that
415 Cisco checksum have some difficult corner cases).
58fe6128 416
775d49a0 417lldpd (0.5.0)
bd10ce9d 418 * Changes:
0bded858
VB
419 + lldpd can now handle several systems on the same port. This
420 modification also allows to speak to a switch using CDP and LLDP
421 for example.
422 + The way that lldpd gathers information for each port has been
423 abstracted. This should allow to support more systems (BSD for
424 examples) or switch cores in the future. Sending/receive support
425 is also abstracted.
426 + Add "-k" switch to avoid to emit too much information on running
427 kernel.
428 + Support of ifAlias with kernel >= 2.6.28
429 + Lot of portability stuff. lldpd can now be compiled on RHEL
430 2.1. Still Linux-only though.
740d517e 431 + Add an option to specify AgentX socket (-X).
0bded858 432 + Add some unit tests
4f602042
V
433 + lldpctl has been reworked; it is now able to output data in XML
434 format for easier parsing. Patches were provided by Andreas
435 Hofmeister.
bd10ce9d 436 * Fixes:
0bded858
VB
437 + Fix EDP VLAN handling
438 + Silent warnings about bridge stuff.
c0ce5d1a
V
439 + Copy /etc/localtime into chroot before starting lldpd daemon to
440 ensure correct timestamps for logs.
775d49a0 441
b7eb76b7 442lldpd (0.4.1)
b7eb76b7
VB
443 * Fix EDP handling when there is no VLAN
444 * Fix CDP version to not always be 1
445 * Misc fix:
446 + incorrect number of arguments for a LLOG_INFO call
447 + fix SNMP last change in case this change occurs before start time
448
a8105c1b 449lldpd (0.4)
a8105c1b
VB
450 * Rewrite of packet builder and parser to be able to cope with
451 architecture that cannot do unaligned read. For decoder, we don't
452 cast structures any more since they can be unaligned. For encoder,
453 we use memcpy through the use of macro that build packets step by
454 step.
455
34602f3b 456lldpd (0.3.2)
34602f3b
VB
457 * Fix LLDP-MED support
458
d32c8944 459lldpd (0.3.1)
d32c8944
VB
460 * Misc fixes, including memory leaks
461
b193e97e 462lldpd (0.3)
efe3f9b0 463 * Initial support of LLDP-MED
43655386 464 * Fix for bridge detection (don't send bridge ioctl on random interfaces)
1d291522
VB
465 * For bonded devices, get the real hardware address. For inactive
466 slaves, transmit using a random MAC address.
b193e97e 467
ff1910c8 468lldpd (0.2.1)
ff1910c8
VB
469 * Fix a syntax error in manual page
470 * Fix open() calls
471
ee92ac46 472lldpd (0.2)
b752ebcb 473 * Add privilege separation
ee92ac46
VB
474 * Add FDP support
475 * Support CDP encapsulated into native VLAN
476 * Various fixes
477
ee92ac46 478lldpd (0.1)
ee92ac46 479 * Initial release