Bump version to 1.10.0; Update ChangeLog.
[liboping.git] / ChangeLog
1 2017-05-11, Version 1.10.0:
2         * Build system: Search the "rt" library for clock_gettime(). This
3           fixes build issues on Mac OS X. Thanks to Yann E. Morni for this
4           fix. #9
5         * Build system: The "--with[out]-ncurses" option has been added and
6           allows to enforce/disable the building of "noping". Thanks to Thomas
7           Deutschmann for the patch. #15
8         * Build system: Compatibility code to work with pkg-config < 0.27 has
9           been added. #22
10         * liboping: Creation of ICMPv4 packets has been fixed: due to an
11           incorrect sizeof() the payload may have been prefixed by 20 zero
12           bytes, resulting in larger packets than desired. Thanks to Kyle Zhou
13           for reporting and fixing this. #10
14         * liboping: The number of file descriptors used has been reduced to at
15           most two (from one per host). This and a few other optimizations
16           significantly improve performance. Thanks to Luke Heberling for the
17           patch. #11
18         * oping, noping: Handling of the "-O" command line flag has been
19           fixed.
20         * oping, noping: The "-b" option has been added and enables a bell
21           whenever an echo reply is received. Thanks to Antoine Beaupré for
22           the patch. #6
23         * noping: The background color has been changed to use the terminal
24           default. Thanks to @middleO. #18
25         * noping: The ability to add hosts after noping has started (the "a"
26           key) has been added. Thanks to Hamish Coleman for the patch. #20,
27           #23
28
29 2016-06-27, Version 1.9.0:
30         * liboping: The new "PING_OPT_MARK" option allows to mark packets,
31           which can be used for filtering and routing such packets on Linux.
32         * oping, noping: The new "-m" command line option allows to set a mark
33           on packets sent by the tool.
34         * oping, noping: The new "-O" command line option allows to write
35           measurements to an CSV file.
36         * oping, noping: The new "-w" command line option allows to specify
37           the timeout after which a packet/reply is considered "dropped".
38
39 2014-11-20, Version 1.8.0:
40         * oping, noping: Average and standard deviation have been removed from
41           the status output, which show median and 95th percentile instead.
42           The percentile can be chosen with the "-P" option.
43         * noping: The additional graph types "histogram" and "boxplot" have
44           been added, which can be selected with the "-g" option.
45
46 2014-09-25, Version 1.7.0:
47         * oping, noping: The new -Z option allows the exit status to indicate
48           the number of failing hosts. Thanks to Barak Pearlmutter for the
49           patch.
50         * noping: The ability to print a "prettyping" style graph has been
51           added. Thanks to Antoine Beaupré for his work!
52         * src/liboping.c: Build issues on Solaris have been fixed. Thanks
53           Scott Severtson for the fix!
54         * Build system: Creation and installation of a pkg-config file has
55           been added. Thanks to Barak Pearlmutter for the patch.
56
57 2012-01-31, Version 1.6.2:
58         * Build system: Setting capabilities and the set-UID bit has been made
59           more fault-tolerant, so that it will work with Debian's fakeroot(1)
60           utility.
61         * src/liboping.c: Fixed a compiler warning about an non-static format
62           string. Thanks to Brian Edwards for pointing this out.
63         * src/liboping.c: Fixed compilation under Mac OS X and Solaris. Thanks
64           to Clayton O'Neill for his patch.
65
66 2011-03-06, Version 1.6.1:
67         * Build system: If "make install" is executed as root, the CAP_NET_RAW
68           capability is added to the binary (on Linux) or the set-UID bit is
69           set (other Unixes).
70         * src/oping.c: Fix compiler warnings which may abort the build. Thanks
71           to James Bromberger for reporting the problem.
72         * noping: Compatibility with ncurses 5.8 has been fixed. Thanks to
73           Gaetan Bisson for his patch.
74
75 2011-01-26, Version 1.6.0:
76         * liboping: Improve timing of received network packets using
77           SO_TIMESTAMP if available. Thanks to Bruno Prémont for his patch.
78
79 2010-11-17, Version 1.5.1:
80         * oping, noping: Alias for the “Voice Admit” DSCP has been added.
81         * src/oping.c, src/liboping.c: Compiler warnings / errors have been
82           fixed. Thanks to James Bromberger for reporting one of them.
83
84 2010-10-27, Version 1.5.0:
85         * src/liboping.c: The possibility to set the QoS byte of outgoing IPv4
86           and IPv6 packets and read the byte from incoming packets has been
87           added. Thanks to Vladimir Melnikov for his patch.
88         * oping, noping: Add the ability to configure the QoS field on the
89           command line. If either the QoS field of outgoing or incoming
90           packets is non-standard, the QoS byte of incoming packets will be
91           printed.
92         * liboping: The library has been relicensed under the LGPL 2.1.
93
94 2010-06-13, Version 1.4.0:
95         * noping: A new front-end to liboping, using the ncurses library, has
96           been added. The new command line application displays ping
97           statistics online and highlights aberrant round-trip times.
98
99 2009-12-20, Version 1.3.4:
100         * src/liboping.c: When one file descriptor was in an error state, the
101           select(2) loop would run indefinitely. Error handling has been
102           improved so the loop ends gracefully now in this case.
103         * src/liboping.c: Drop privileges before reading files if supported by
104           the system. This way files are opened using the user's original
105           privileges when using the “-f” option.
106         * Net::Oping: An off-by-one error has been fixed in the Perl bindings.
107           Thanks to Fredrik Soderblom for his patch.
108
109 2009-09-29, Version 1.3.3:
110         * oping: Disable the “-f” option if the real and effective user IDs
111           don't match. If that is the case the program is probably running
112           SetUID and should not read foreign files. Unfortunately, dropping
113           privileges before reading the file is not possible, because they are
114           required for opening raw sockets.
115
116           Reading from STDIN using “-f -” is still possible.
117
118           Thanks to Steve Kemp for reporting this issue as Debian bug #548684.
119
120 2009-07-27, Version 1.3.2:
121         * src/oping.h: Remove `HAVE_*_H' macros for system headers. Those
122           macros should not be used in system wide installed header files.
123           Thanks to Sebastian for fixing this.
124
125 2009-07-20, Version 1.3.1
126         * src/liboping.c: Fix too eager argument validation that prevented the
127           library to work as documented. Thanks to Sebastian for catching this
128           bug.
129
130 2009-07-18, Version 1.3.0
131         * oping: Documentation and messages have been improved.
132         * oping: Support for the `-D' command line option has been added.
133           Using this new option, the outgoing network device can be set.
134           Thanks to Sebastian Harl for the patch.
135         * src/liboping.c: The value of the `received TTL' information after
136           missing packets has been corrected.
137         * src/liboping.c: A bug when matching received packets to configured
138           hosts has been fixed. This regression was introduced after 1.0, we
139           believe. Thanks to Sebastian Harl for noticing and fixing this bug.
140         * src/liboping.c: Support for the `PING_OPT_DEVICE' option has been
141           added. This option can be used to set the outgoing network device.
142           Thanks to Sebastian for his patch.
143
144 2009-07-15, Version 1.2.0
145         * `oping': Implement the `-f' command line option to read hostnames
146           from a file (or STDIN).
147         * src/liboping.c: No longer export `sstrerror'.
148
149 2009-04-05, Version 1.1.2
150         * liboping.c: A NULL-pointer dereference has been fixed in the IPv4
151           code. This led to a segmentation fault when an ICMPv4 paket could
152           not be associated with any host. This usually happened when one or
153           more hosts were unreachable for some time. Thanks to Tomasz Pala for
154           discovering the problem and finding a way to reproduce it.
155
156 2009-03-23, Version 1.1.1
157         * liboping.c: Use libxnet when available. The `normal' version of
158           `recvmsg' does not provide the `auxiliary data' on some or all
159           versions of Solaris.
160
161 2009-03-15, Version 1.1.0
162         * liboping.c: Eliminate the use of `strerror' and use `strerror_r'
163           instead, removing the (hopefully) last thread-unsafe function.
164         * liboping.c: Provide the TTL of received IP packets.
165         * oping.c: Allow setting of the TTL using the `-t' command line
166           option.
167
168 2009-02-17, Version 1.0.0
169         * oping.h: Provide the OPING_VERSION to easily determine the library's
170           version at compile time.
171         * liboping.c: Fixed an off-by-one error in `ping_iterator_get_info':
172           When determining the buffer size to hold the hostname, the function
173           would return one byte too little.
174         * liboping.c: Fix an incorrect assertion in `ping_timeval_add'. Thanks
175           to Alex Brooks for reporting the issue.
176         * liboping.c: Make sure `EAI_SYSTEM' is defined at compile time.
177           Although specified by POSIX, Cygwin apparently doesn't have it.
178         * liboping.c: Add compatibility code for AIX. Thanks to Doug
179           MacEachern for the patch.
180         * liboping.c: Store and possibly return the host name as provided by
181           the user.
182         * liboping.c: The number of timed out packets is now counted and can
183           be retrieved with `ping_iterator_get_info'.
184         * Perl bindings: The Net::Oping Perl package has been added to
185           bindings/ and is built along with liboping.
186
187 2007-03-27, Version 0.3.5
188         * liboping.c: Close the filedescriptor in `ping_free', not
189           `ping_host_remove'. Thanks to Esteban Sanchez for submitting this
190           patch.
191         * oping.h: Include <sys/types.h> so that `size_t' is defined. Thanks
192           to Alex Brooks for pointing this out.
193         * oping.h: Use `extern "C"' when being used with C++. Thanks to Alex
194           Brooks for pointing this out.
195
196 2006-12-01, Version 0.3.4
197         * Fixes a bug in `ping_host_remove': Due to an incorrect hostname
198           checking the wrong host would be removed.
199
200 2006-07-16, Version 0.3.3
201         * `sendto(2)' now catches `EHOSTUNREACH' and `ENETUNREACH' if they're
202           defined.
203
204 2006-07-13, Version 0.3.2
205         * `oping' now drops root privileges as soon as possible.
206         * `liboping' now contains an `soname' and a version.
207
208 2006-07-09, Version 0.3.1
209         * Removed `libltdl' from the distribution since it's not used.
210         * More nonsense has been removed from the build system. Thanks to
211           Sebastian Harl for pointing it out :)
212
213 2006-07-09, Version 0.3.0
214         * The ability to set the source address from which the packets
215           originate has been added to the library and the oping application.
216
217 2006-07-16, Version 0.2.3
218         * `sendto(2)' now catches `EHOSTUNREACH' and `ENETUNREACH' if they're
219           defined.
220
221 2006-06-05, Version 0.2.2
222         * The `oping' application didn't exit if no hosts could be resolved.
223           This release fixes it's behavior.
224
225 2006-06-01, Version 0.2.1
226         * Fix the behavior for non GNU-Linux systems. liboping tried to
227           `bind(2)' to the raw-socket it uses to send ICMP packets. Apparently
228           (decided by majority vote ;) this is not the right thing to do.
229           GNU/Linux never complained about it, but works find without the bind.
230           Other operating systems don't work at all with the bind.
231         * Build fixes for non-GNU/Linux platforms: Mac OS X doesn't define
232           `size_t' as `unsigned int' and therefore needs casting and FreeBSD
233           needs to have `sys/types.h' included before `netinet/*.h'
234
235 2006-05-29, Version 0.2.0
236         * It's now possible to set the data to be send to the remote host and
237           to get the data received from the host.
238         * The `oping' binary now calculates the standard deviation. Also, it
239           displays the number of byes that were received and other output
240           changes.
241         * Hosts are now returned in the same order as they were added by
242           `ping_host_add'. This is not guaranteed, but makes `oping' prettier.
243
244 2006-05-12, Version 0.1.1
245         * A bug in the library has been fixed: When the sequence got higher
246           than 2^16 the counter in the packets wrapped around, but the
247           internal counter didn't, causing the library to ignore all further
248           ICMP packets. This affected both, ICMPv4 and ICMPv6.
249
250 2006-05-08, Version 0.1.0
251         * Initial release.