NEWS
====

--------------------
0.7.6 (2014-01-18)
--------------------
  * Scan window:
    - complete redesign based on pthreads to fix terminal bug, as a result of better
      design the scan window now also can be suspended (details of fix are below),
    - add message for 'too much data' (E2BIG) error case,
    - use same formatting (3 digits) for 2/5 GHz,
    - support for changing sort order via keyboard shortcuts (see manpage, several
      ascending/descending sort orders are now available directly on the screen),
    - currently active sort order is now displayed on status line at the bottom,
    - stabilized by-channel sort to always use the same order for identical channels,
    - added 'sort by Essid' to selection of sort menus;
  * Info window:
    - add percentage for easier reading of link quality,
    - deprecate use of locale settings for 'discard' information (fixes display);
  * Configuration screen:
    - add support for Page Up/Down, Home, and End buttons to ease navigation,
    - added more information to '-v' version information (ncurses/WE versions);
  * Bug fixes:
    - fix bug in ranking top/bottom 3 channels in scan window,
    - complete redesign of scan process based on pthreads to fix bug that became
       visible on ncurses >= 5.9.20130504 (slackware 14.1 and debian jessie), caused
       by child/parent both updating the same screen (bug had been hidden by the
       internal buffering of ncurses which was then removed), reported by Nick Warne.

--------------------
0.7.5 (2012-05-04)
--------------------
  * Scan window:
    - added a summary status line to present summary statistics.
  * Bug fixes:
    - added additional keyboard shortcuts for each screen to cope with
      terminals which remap the function keys, fixing Ubuntu bug #725036;
    - the shortcut is the first character of the screen's name (F1: i,
      F2: l, F3: s, F7: p, F8: h, F9: a, F10: q), see manpage for details;
    - added work-around for terminals with broken terminfo entries (e.g.
      old aterm), now supporting the vt100 PF1..4 sequences in addition.

--------------------
0.7.4 (2012-02-03)
--------------------
  * General:
    - deprecate reliance on /proc/net/wireless, since tests on Tiny Core Linux
      showed that it no longer reliably lists available wireless interfaces,
    - instead use safe route of using /proc/net/dev, probing each interface
      in turn for wireless extensions;
  * Scan window:
    - configurable scan sort order (at runtime and via configuration file),
    - can sort by (combinations of) channel, signal strength, and openness,
    - visually distinguish 2.4GHz and 5.8GHz channels;
  * Fixes:
    - wavemonrc.5 manpage fixes thanks to Jonathan McCrohan,
    - support common options (-v/-h) even if no interfaces found,
    - but do not start operation unless at least 1 wireless interface exists.

--------------------
0.7.3 (2011-12-22)
--------------------
  * Scan window:
    - items are now sorted first by channel (ascending) then by signal
      strength (descending), as before
    - using one line per entry doubled the capacity of the scan window
    - refresh interval is made configurable (via 'Statistics updates')
  * Configuration screen:
    - memorizes the last-changed item to ease longer configuration tasks
  * Fixes:
    - better (cleaner) termination on error
    - fixed clear-line refresh in info screen
    - fixed bug in generator for random link quality (causing negative values)
    - reverted using separate process group (problems when running under sudo)
    - miscellaneous code reordering to decouple functional units

--------------------
0.7.2 (2011-02-25)
--------------------
  * General:
    - support SIGWINCH for resizing (thanks to Koniu)
    - reorganized screen handling to support resizing
    - make geometry checking optional and off by default
    - allow suspending wavemon (CTRL-Z) on most screens
  * Info screen:
    - suppress obvious broadcast address (deriving from prefix)
    - special case for "no interface address assigned"
    - display interface MTU if different from the default value
    - show interface flags and TX queue length if enough space
  * Scan window:
    - set up enable interface if it is down (otherwise no scan)
    - drop support for wireless extensions < 18 (minimum requirement)
    - clean up child scan process on error (avoid garbled screen)
  * Configuration screen:
    - support 'Cisco-style' MAC addresses (dots rather than colons)
  * Fixes:
    - do not report zero bitrates (Info screen, 802.11n interface)
    - remove unused timer in Scan window (data sampling is now
      confined to info/histogram screens)
    - fixed various compiler warnings
    - fixed several problems in and improved the random generator
    - use sigaction() rather than signal()
    - miscellaneous reorganization of the configuration menu code

--------------------
0.7.1 (2010-12-24)
--------------------
  * Scan window:
    - improved and more consistent formatting of entries
    - better responsiveness by running scan operation as child process
  * Security capabilities:
    - display capabilities supported by the driver
    - display current and available key sizes
    - decode relevant IE information
  * check and warn about insufficient permissions (CAP_NET_ADMIN) that
    are required for several wireless operations (e.g. scanning)
  * Bug Fixes:
    - avoid triggering assertion on large screens
    - require minimum version (18) of the wireless extensions
    - better clearing of info screen
    - various cleanups
  * overhaul of manpages

--------------------
0.7.0 (2010-10-18)
--------------------
  * NEW Scan Window: this replaces the old access point screen. It displays
    a sorted list (in descending order of signal quality) of access points
    and other wireless clients within range, periodically refreshed at a
    configurable rate.
  * Access Point screen: finally deprecated this - the SIOCGIWAPLIST
    ioctl itself is deprecated and works only on some older kernels.
  * Info Window: clear screen to erase stale data.
  * Bug Fixes: fixed a compiler warning in string-tolower operation.

--------------------
0.6.11 (2010-06-14)
--------------------
 * Info screen:
   - fixed a bug in the freq/channel display: some drivers, such as ipw2100,
     only return the channel number, requiring to look up the frequency;
   - added a warning to indicate the absence of data from the interface.
 * Histogram screen:
   Tag the grid lines with the corresponding dBm levels:
   - no levels are shown if there is no valid interface data (screen empty);
   - level tags are restricted to the signal level graph only:
     o if both signal and noise level data are valid, there are three graphs
       (signal level, noise level, SNR), which would cause ambiguity,
     o many cards (e.g. ath5k, rt73usb, iwl3945) do not supply noise data,
       so that the histogram screen will then only contain the level graph;
   - since the scale is adjustable, while the grid lines are fixed, the tags
     are dynamically recomputed based on the y position and current scale;
   - the min/max bounds of the scale are also shown.
   Thanks to Sean Muir for this suggestion.
 * Updated manpage regarding access point screen; as soon there is time, the
   outdated and restricted SIOCGIWAPLIST ioctl should be replaced by a scan.

--------------------
0.6.10 (2009-10-25)
--------------------
 * Bug Fixes:
   - fixed installation bug which caused manpages to be installed in /man;
   - fixed mode of installation to support sandbox-builds on Gentoo (Lovelace);
   - improved (automated) linking process, now possible to pass LDFLAGS (Boeck);
   - bail out when no statistics are available, instead of flagging an error.

--------------------
0.6.7 (2009-07-09)
--------------------
 * Screen geometry:
   Reduced the screen size again, to 24x80, since this is a widely used default
   size (thanks to Nelson A. de Oliveira). Removed the "wireless extensions"
   information from the information screen, to reduce the minimum required
   number of lines from 25 to 24. The wireless extension information however
   remains still available, via the "wavemon -d" dump option.

 * Histogram screen improvements:
   - a new revised approach to fix several old bugs and limitations,
   - new code better observes the boundaries and the configured ranges,
   - better visibility, signal/noise are now plotted in bold.

 * Better separation of error messages, into:
   - informational warning messages (outside ncurses mode),
   - fatal errors unrelated to system calls,
   - fatal errors following a system call (with interpretation of errno(3)).

 * Bug Fixes:
   - fixed a bug in the histogram initialisation (producing ghost values);
   - fixed a bug which caused non-ASCII encryption key strings to be garbled;
   - key string length is now checked to avoid spilling over the right border
     into the next line; curtailing long keys in a pretty-printing manner.

--------------------
0.6.6 (2009-06-01)
--------------------
 * Access point screen:
   Overly long access point lists (more than 6 peer access points) are now
   truncated, so as not to overwrite screen borders.

 * Histogram screen:
   The bottom 'key' window used to replicate the configured range values which
   are available also via the configuration screen. This replication has now
   been superseded by a dynamic range-tracking feature:
   - for each of the three ranges (signal level, noise level, SNR), it shows
     the min..max values on the screen or 'unknown' if the driver reports
     values as unknown (e.g. noise levels on iwl3945),
   - these values correspond to the current histogram and are updated
     dynamically, thus complementing the visual display.

 * Bug Fixes:
   - histogram screen no longer tracks values that the driver reports as invalid;
   - fixed off-by-one bug which caused the bottom access-point border to be erased;
   - miscellaneous code clean-ups:
     o unified description of window sizes via header file constants,
     o updated and extended source code documentation.

--------------------
0.6.5 (2009-05-08)
--------------------
 * Several improvements in displaying driver parameters:
   - ESSID: support for indexed ESS identifiers,
   - nickname: no longer present empty/void nicknames,
   - nwid: added support for displaying it (even if is pre-802.11),
   - IP-address: collapse netmask information into shorter CIDR prefix length,
   - mode: preliminary support to display 802.11s mesh mode (2.6.26),
   - retry: new code to display information about MAC-layer retransmissions,
   - frequency: suppress trailing zeroes, unified conversion,
   - channel: now also prints the number of the current channel,
   - encryption keys: added pretty-printing, suppress always-present '0' index,
   - sensitivity: only print if card supports it, now also supports dBm values,
   - tx-power: better support for the various formats (relative | mW | dBm),
   - power management: improved output formatting.

 * Mode-sensitive display:
   - when operating in 'monitor' or 'access point' mode, the 'access point'
     field is not necessary or redundant (in AP mode, it is the same as the
     mac address shown in the network window), hence omitted;
   - when operating in 'master', 'repeater' or 'secondary' mode, the bitrate
     information is also not needed and hence suppressed;
   - wavemon is now able to distinguish auto-configured values (using upper-case
     labels) from manually configured values (using standard lower-case labels).

 * Encryption keys (only with CAP_NET_ADMIN privileges): display of all-ASCII
   keys is now in cleartext, otherwise the hex format is now pretty-printed.

 * Screen Layout: redundancies (repeated interface name) have been removed, the
   whole screen fits again into a 25x80 console window. In addition, wavemon
   tests if the screen size and bails out if the screen is too small for a
   readable layout.

 * Better display of MAC addresses:
   - detects the "not associated" state of a managed client and then
   - displays 'non-associated' state instead of showing zero MAC address,
   - sanity checks on access point addresses (broadcast address is invalid),
   - Ethernet addresses are automatically translated to symbolic names if a
     mapping  exists for the MAC address in /etc/ethers.

 * The Access Point List is now sorted in descending order of signal strength.

 * The LC_NUMERIC locale is honoured: when displaying large numbers (e.g. packet
   counters, numbers are now grouped according to the locale.

 * Bug Fixes:
   - fixed several conditions which caused the window borders to be punctured;
   - fixed a bug in the display of MAC addresses on the access point screen;
   - RTS/CTS threshold suffered from the same problem - also fixed,
   - fixed broken display of frag[mentation] threshold;
   - fixed a bug which caused empty nicknames ("") to be displayed;
   - fixed several smaller bugs, thanks to sparse.

--------------------
0.6 (2009-04-01)
--------------------
 * Update to the latest wireless extension API (number 22),
   As a consequence of updating the wireless extensions, more
   information is now displayed, including
   - excessive TX MAC reassembly retries,
   - missed beacon count
   - display of wireless extension version used by the driver
   - the driver's internal WE version

 * wavemon now uses ioctl to obtain IW statistics and falls back
   to /proc/net/wireless only as a last resort. (It is planned
   to add netlink support in a later release.)

 * Linear scales (-l option) no longer supported, since levels
   are always reported both in log (dBm) and lin (mW).
   (NB: in case of using an old version of ~/.wavemonrc, it is
        necessary to remove the line containing 'linear_scale',
	which is the option that has been removed.)

 * Added sanity checks to the display of level information:
   - noise level is only displayed if valid signal levels exist;
   - some cards set a magic number to mean an invalid noise level - a
     constant has been added to catch such cases;
   - if the noise level (and hence the SNR value) is undefined, spread
     out the  display of quality/signal levels over the info window.

 * Added gui option for smoothing level meters (better readability).

 * Much better and more accurate information in the Access Point List.

 * Bug Fixes:
   - it is finally possible to use the Access Point List as start screen,
   - updated and fixed display of operation modes,
   - selecting the wireless interface now works with multiple interfaces,
   - header inclusion bug fix for Puppy Linux (thanks to Tom Gordon).

 * Updated all components of the autoconf build system:
   - DESTDIR is now supported for building packages
     (thanks to Christoph J. Thompson),
   - now using autoconf to set package version and build date.

 * Reorganised source tree organisation:
   - merged many small (one-line) header files into one,
   - created a 'contrib' directory for contributed scripts,
   - added 'config' directory for autoconf auxiliary scripts
   - reinstated standard GNU autoconf listing of files

--------------------
0.5 (2009-01-17)
--------------------
Update on the build process, new maintainer, git tree
to keep the changes. Fixes in this release include
 * minor bug fixes
 * build fixups and fixes for the build process
 * a stub handler for SIGWINCH (still not fully supported)
 * adding units to the levels (lin/log)
 * tidied up code

--------------------
0.4.0b (2002-12-21)
--------------------
Last release by the original author, Jan Morgenstern.
