CHANGES
-------

The current (stable) version is available at
  http://freshmeat.net/projects/npulse/   (default)
  or
  http://www.horsburgh.com/h_npulse.html

Pre-release versions (the ones with a 'p' in the version number)
are available at
  http://freshmeat.net/projects/npulse/   (development)
  or
  http://www.horsburgh.com/h_npulsedev.html


Version 0.54:
-------------

This version bundles together all of the changes in the developmental
releases of nPulse since version 0.52. The primary visible updates are
better EventLog handling and a major bug fix of the historical
record-keeping and display graphics. Internally, the code has been
substantially rewritten (except autorecheck.pl). There are 5 new features,
1 deleted feature, 5 bug fixes, and 4 miscellaneous changes.

1. New Feature: added a large text field on the Detail page for extra notes.
   --First suggested by Ed Ferrageau <ed.ferr at geau.nl>

2. New Feature: added an edit shortcut to the filter overview display.

3. New Feature: the server now supports over 105 host/os types.

4. New Feature: now uses the CGI.pm Perl module to increase portability

5. New Feature: The event log display is now in a scrolling box
   (IE browsers only). The height is controlled by the
   Settings/HTML/ELHeight parameter.

6. Deleted Feature: DEMO mode has been disabled.

1. Bug Fix: fixed a history graph bug
   --First reported by Adam Walker <walkera at fosterfarms.com>

2. Bug Fix: fixed a bug on the port configuration page which caused a
   display problem on Netscape browsers.
   -- First reported by Andriy Rozeluk <arozeluk at home.com>

3. Bug Fix: fixed a bug in the Time::Local check in the setup routine
   which caused an installation error on some machines.

4. Bug Fix: fixed a form submission bug on the Device Detail Pages.

5. Bug Fix: fixed a typo in prefs.pl which affected the display of the
   Settings Page.

1. Misc: Substantial rewrite and cleanup of all code except autorecheck.

2. Misc: Cleaned up the HTML code produced

3. Misc: Updated setup.sh to check for and remove 0.52 history files.

4. Misc: Perl version 5.005 or greater is now required.


Version 0.52 (stable):
----------------------

This version bundles together all of the changes in the developmental
releases of nPulse since version 0.50. There are 7 major new features,
6 bug fixes, and 5 miscellaneous changes.

1. New Feature: Changed the GUI for the Detail Pages and other minor
   GUI updates to other pages.

2. New Feature: Added the ability to specify time periods for historical
   graphs.
   --First suggested by Brian Jensen <bfj at dansksystemcenter.dk>

3. New Feature: Added support for Global Filters. Now the admin
   user can define filters for use by all users. Regular users
   cannot edit/delete global filters although they can create
   a filter of their own with the same name/style that overrides
   a Global filter (for their use only).
   --First suggested by Keith Washington <kwashington at weather.com>

4. New Feature: Added the ability to configure when the Email notification
   happens on a port-by-port basis. nPulse normally sends an Email alert
   whenever a port transitions from down to up or from up to down.
   By using this form you can specify when nPulse sends the alerts.
   For example, if a device is a server that disables the FTP port
   except during normal working hours you could set port 21 (FTP) to
   Days = Mon - Fri, Hours = 8a - 5p

5. New Feature: Added the ability to save the preferences during an upgrade.
   --First suggested by Brian Jensen <bfj at dansksystemcenter.dk>

6. New Feature: Added a "Reset Defaults" option to the Settings page to reset
   all of the preferences to their default values.

7. New Feature: Added the ability to selectively delete events associated with
   a device. Click on the "Delete Log" link on a device's Detail
   Page to delete all events associated with that device only.
   --First suggested by Brian Jensen <bfj at dansksystemcenter.dk>

1. Bug Fix: Script icons were not properly displayed on the detail page.

2. Bug Fix: The device name was not displayed properly on the overview
   pages if the device failed. The IP address was displayed regardless
   of the "UseAliases" setting.
   --First reported by Kevin Hanrahan <khanrahan at cypresscom.net>

3. Bug Fix: Removed the "hostname -i" command from setup.sh which did
   not work properly on some operating systems.
   --First reported by Mike Scheidler <c23mts at eng.delcoelect.com>

4. Bug Fix: Changed the "post" method to "get" in detail.pl to solve
   the problem when SSL was enabled, but not session authentication.
   In such cases, some browsers did not correctly handle the
   authentication process resulting in a "Not Found" error.

5. Bug Fix: Fixed a cross browser form submission bug related to both the
   preferences and the filters. This bug did not affect all browsers.
   --First reported by Keith Washington <kwashington at weather.com>

6. Bug Fix: Fixed a bug in the ssh.conf file.
   --First reported by Brian Jensen <bfj at dansksystemcenter.dk>

1. Misc: Simplified the Email fail/recovery message for SMS and Pagers.
   --First requested by Kevin Hanrahan <khanrahan at cypresscom.net>

2. Misc: Setup now checks if the distribution directory is the same as
   the target installation directory. If so, an error is printed.

3. Misc: Removed the "AlwaysShowNums" preference (no longer needed).

4. Misc: Fixed some problems with the history graphs. The graphs now
   display more precise data values and the time axis now
   has the date displayed.

5. Misc: The event log is now displayed by default on the Detail Pages.


Version 0.50 beta3:
------------------
Thanks to all who participated in the beta2 test of nPulse!
Version 0.50 adds 20 new features, most at the request of users.
There are also many updates to the existing features.

 1. New Feature: Added a "Notify" field to the infofile.txt file and
    the "Information" area on the "Detail" Page. Using this parameter
    you can send email notifications to multiple addresses in addition
    to the default admin address on a per-device basis.
    For example, to send notification messages to two additional users
    when device 192.168.0.5 fails enter each user's email address
    (separated by commas) in the Notify field on the Detail page of
    192.168.0.5.
    --First suggested by Keith Washington <kwashington at weather.com>

 2. New Feature: Added a "list" view style to the existing "basic" and
    "compact" views. The display style is controlled by the new ListStyle
    parameter in Settings/HTML.

 3. New Feature: Included a data import utility "adddata.pl" that converts 
    a tab-delimited text file into nPulse format. This allows quick
    population of ip addresses, port numbers, customer info, and
    custom data. The utility should be run from the distribution
    directory after the setup.sh routine is run.
    --First suggested by Brian Johnson <brian at netcom.duke.edu>

 4. New Feature: Added Telnet and SSH support to connect to any monitored
    device via a Java telnet applet. To do this a relay daemon is required.
    Note: I've included a perl relay daemon which could be a security
    risk on some systems. The (Java) Telnet window parameters can be
    configured via "Settings/Telnet."

 5. New Feature: A Port Sweep (port status search) is now available from
    the "Status" page. Enter a port number and nPulse will search for
    open/closed values for each host specified (or the currently
    monitored list). The resulting output will only list the port status
    on responsive machines.
    --First suggested by Gary Harris <grimster at grimster.org>

 6. New Feature: Port/Service Scripting capabilities.
    nPulse now has the ability to query individual services and ports via
    a script (see Settings/Scripts for more information). Two sample
    scripts are provided. The scripting API (sapi) can be used by user
    routines so that netadmins can create their own "custom commands"
    (see backdoors.pl).
    --First suggested by Kenneth Ekdahl <kenneth at rit.se>

 7. New Feature: Custom commands via the "Details" page. The admin
    user can now define any number of custom commands that users
    can perform via a pull-down menu on the "Details" page. To
    define the commands go to the 'Settings/Commands' page. To admin
    user can show/hide selected custom commands for ordinary users.
    Three example custom commands are included:
    1) "nmap -v -sU $IP$"  which reports udp ports,
    2) "snmpstatus $IP$    public" which reports SNMP status info,
    3) "backdoors.pl $IP$" which is a perl script that uses the
                           sapi API to find typical security problems.
    NOTICE: The backdoors.pl is an example program only.

 8. New Feature: The "Home" page now displays the Event Log for
    the admin user and optionally for a regular user.

 9. New Feature: The "Home" page now displays an overview icon
    for each of the defined filters. This lets you see at a
    glance which of the "groups" of devices need attention.

10. New Feature: Added the ability to create/update/delete users on the
    "Settings" Page: "Settings/Users". Note that the admin user
    cannot be deleted, but the password can change.

11. New Feature: Added the ability to modify nPulse's web server parameters.
    See "Settings/Web Server/"

12. New Feature: Added logging capability to track nPulse usage. The
    log file created is /usr/local/npulse/log/miniserv.log and can
    be analyzed by any web server log analyzer.
    See "Settings/Web Server/Logging"

13. New Feature: Added access control capability via ip address/mask.
    See "Settings/Web Server/Access Control"

14. New Feature: Added password timeouts and automatic host blocking
    to combat "brute-force password cracking attacks."
    See "Settings/Web Server/Authentication"

15. New Feature: Added session authentication and inactivity
    auto-logout. Enabling session authentication also allows "user
    switching" from within nPulse without leaving the browser.

16. New Feature: Added a "logout" capability that allows you to
    switch users or simply log out of nPulse. The logout link is
    at the bottom of the page after the user name. It only works
    if you have enabled "session authentication."

17. New Feature: Added the ability to alter how nmap runs, see 
    "Settings/NMAP." These values should only be altered by expert users.

18. New Feature: Added the ability to perform a full port scan during the
    "discovery" process. This allows nPulse to check every port on all
    hosts for a response. Note that choosing this option slows down the
    discovery process quite a bit.

19. New Feature: Added the ability to change the displayed OS for each
    device (admin user only).

20. New Feature: Added port/service recovery information to the Event Log.

21. Update: Events are now written to the Event Log ONLY when a transition
    occurs. For example when a device transitions from responding
    to not responding or when a port/server transitions from
    not responding to responding.

22. Update: Events are now written to the Event Log even if the email
    capability is turned off.

23. Update: EventLog now displays "discovery" processes.

24. Update: Added links to the Port Scan and Ping Sweeps that will
    directly connect to the device's 'Details' page by clicking on the
    IP address.

25. Update: Added ability to detect host "timeout" conditions. When a
    timeout occurs the host is assumed down and an email is sent
    indicating the device timed-out. This condition occurs when a host
    actually responds on some level, but is unable to respond fully to
    the scan.

26. Update: Updated the autorecheck.pl code (it needed a cleanup). It's
    now faster, easier to modify, and now has a new port 
    failure/recovery Email notification feature.
    --Based on code input from Lai, Wai Kong <eddy at ModernTerminals.com>

27. Update: Substantially changed when and how nPulse looks for OS values.
    This should speed up some of the initial calls to the home and default
    pages.

28. Update: In order to speed up the display of the Home Page 
    (with the filters) and the "basic/compact/list" pages the Operating
    System detection feature now only automatically occurs during the
    "discovery" process, when a new device is added in "Setup", when a
    device responds for the first time, or when the "Recheck Operating
    System" link is clicked on the device's "Detail" page.
    --First reported by Gary Barrueto <gary at qbiquity.com>

29. Update: Added additional explanatory information to the Home page,
    Help page, and the Setup page.

30. Bug Fix: Changed the name of the PINGHOST subroutine to PINGHOSTS.
    --First reported by John Bateman <JBateman at intelliquest.com>


Version 0.42:
-------------

1. Fixed an OS sorting error. When OS was chosen as the sort parameter,
   the display became garbled.


Version 0.41:
-------------

1. A number of users reported LAYER problems with various versions
   of Netscape Navigator/Communicator. I've eliminated the LAYER
   html code and have checked the results on Linux, Macintosh,
   and Windows 9x/NT for NS 4.5, 4.72, 4.75 and the problem seems
   to be fixed.


Version 0.40 beta2:
-------------------
Many thanks to all those who participated in the beta1 test.
The suggestions and bug reports were invaluable! nPulse is
now a much better program due to your responses.
Long Live Open Source!

 1. Minor changes to the User Interface.
 2. The 'Basic' and 'Compact' pages are now dynamic and based on
    user settings. (So icon changes and custom settings now change
    the overview pages immediately.)
 3. Now have over 50 device icons. --Many logos provided by Chris
    Winter <cwinter at mentortech.com> My graphic skills are limited
    at best! Anyone who can create realistic (32x32 pixel) icons, please
    email them to me and I'll add the best of the bunch.
 4. An icon subdirectory has been placed under the 'images' directory.
    This is the location of all available icons. If you want to include
    your own, simply at 32x32 gif file with a '.gif' extension into this
    directory.
 5. Added limited multi-user capability. Users other than 'admin' will
    only be allowed access to the home, help, copyright, basic, compact,
    and detail pages. There is limited access to the detail page as well.
 6. Added a 'TruePing' preference parameter to speed scanning by using
    only ICMP scans rather than both ICMP/TCP ACK scans. This is useful
    for networks with multiple devices that are down. On my network the
    scans are about 5 times faster. Note: some networks/firewalls block
    ICMP scans, so set TruePing to zero (0) for those situations.
 7. Added a 'Ping Sweep' command to the status page. You can quickly
    check the status (up/down) of any network, sub-net (using ranges),
    or current saved set. -- First suggested by Scott Stout 
    <skout at 121-17.waldenweb.com>
 8. Added a 'sort' capability to the Basic and Compact displays. 
    --First suggested by Brian Johnson <brian at netcom.duke.edu>
    Note: Sorting initiates another scan to recreate the appropriate
    HTML pages.
 9. Added SSL support to the nPulse server. The 'pem' file is generic
    and the private key does not have a pass-phrase. So you might want
    to replace it with one of your own 'pem' files. Note that the server
    requires RSA keys. I've tested it with OpenSSL (www.openssl.org)
    and SSLeay.pm (www.cpan.org).
10. Added the ability to change the device icon from the 'detail' page.
11. Added a 'ScanDelay' timing variable that controls the scanning
    speed of nPulse. (This is the --scan_delay option to nmap.)
    Increasing this value reduces network load and possible machine
    crashes (especially Macintoshes!). Decreasing this value speeds up
    the scan at the expense of missed devices or possible device crashes.
12. Added the ability to change the 'welcome' pages for both regular
    and admin users. (See Settings/Files)
13. Added a new 'Filter' capability which allows users to specify
    different IP address filters to limit the devices shown.
    --Similar capability first suggested by Brian Johnson
    <brian at netcom.duke.edu>
14. Added an 'Service/Event Log' which keeps track of when devices
    fail/recover and also when specific ports (services) fail to respond.
    The log is displayed on the overview pages. The settings that control
    the event log are in Settings/Configuration: MaxEvents,
    MaxEventLogSize, and EventSeverity. The filename is specified by
    Settings/Configuration:Eventlogfile. To turn off the event log
    display, set MaxEvents to zero (0). --First suggested by Keith
    Washington <kwashington at weather.com>
15. Included a new utility 'usermod' allows user create/delete/modify
    capabilities.
16. Included a program to update old infofile.txt files from any
    previous version to 0.40. To run the update program issue the
    following command: 
      # perl updateinfofile.pl
    If all goes well the infofile will be updated.
    If any problems occur your original infofile is renamed
    /usr/local/npulse/data/infofile.txt.bak which you can restore from.
17. Fixed a bug in the 'Information' section on the 'Detail' page
    that did not properly handle quotes, slashes, and other non-
    alphanumeric characters.
18. Fixed an 'alias' bug which would not display an alias name if the
    device did not have a DNS entry.
19. Fixed a bug on the Status page which would display an error
    message if the user had not defined any devices to monitor.
20. Fixed a bug in the history graph in which the numbers did not always
    add up to 100%. --First reported by Brian F. Jensen
    <Mnemonic at paradis.dk>
21. Fixed a bug in the 'discover' code which incorrectly handled
    commas in the discover ip specification. 
    --First reported by Brian F. Jensen <Mnemonic at paradis.dk>
22. Fixed a bug where a device which was operational but with no ports
    responding would appear in the 'Fully Operational' area on the
    overview page.
    --First reported by Brian F. Jensen <Mnemonic at paradis.dk>
23. Fixed an OS detection bug which gave an invalid OS if the device
    was down during its first scan.

Version 0.31 beta:
------------------

1. Fixed the 'alias bug' which displayed scan data instead of alias/name
   information. 
   -- First reported by Vito Sansevero <vsansevero at linksys.com>
2. Added ability to 'Add New Hosts Only' when using the 'discover' feature. 
   -- First suggested by Scott Stout <skout at 121-17.waldenweb.com>
3. Added a 'Status' page (suggestions for additional content on this
   page are welcome).
   -- First suggested by Vito Sansevero <vsansevero at linksys.com>
4. Fixed reference to nSite in Readme and autorecheck.pl files.
   (That's what happens when you reuse code!)
5. /usr/local/npulse/etc/restart now has execute privs.
6. Put instructions into the README file on how to change the admin
   password.


Version 0.3 beta:
-----------------
Overall the automatic device checking is much improved and much more stable.

1. Fixed known autorecheck.pl bugs:
   a. Multi-device check error (dumb bug).
   b. Restart errors (total restart code rewrite).
   c. Conflict with manual recheck (using a lock file).
2. Added debugging code for developers (see $ADEBUG in preferences.pl).
3. The auto recheck function now regenerates the HTML pages so
   a manual recheck is no longer necessary.
4. Added a 5 minute (default) screen refresh meta tag
   (does not work with all browsers).
5. Included additional OS type identifications
6. Added a 'restart' option in addition to the stop/start options.
7. Added additional (configurable) timing parameters.
8. Added 'overall network status' to basic and compact pages.
9. Minor changes in the setup.sh routine.
10. Other minor display and code bug fixes.

Version 0.2 alpha:
------------------
1. Added support to detect the FreeBSD 4.0 operating system.
2. Removed reliance on GD::Graph::bars module. nPulse now
   generates its own bar graphs!
3. Fixed a bug in setup.sh which did not properly over-write
   the miniserv.conf file during an upgrade or re-run of setup.
4. Setup now deletes the config file if the user selects 'no'
   during the confirmation section.
5. Fixed a bug in autorecheck.pl which would generate multiple
   entries for the same timestamp.
6. Fixed the Auto Check stop/restart bug.

Version 0.1 alpha:
------------------
Initial Release.
