Prepared for release 0.0.8
[gnucomo.git] / ChangeLog
1 Sep 04, 2003 - Release 0.0.8
2 ====================================
3
4 Database
5 ---------
6
7 - Fixed a few typos in the database creation script.
8 - BUGFIX: Secondary indices on log_notification were unique.
9 - Additional information in the 'usr' table: 'display_name' and 'email'.
10 - Added new issues and services.
11
12 gcm_input
13 ---------
14
15 - Fixed a namespace problem in message.cpp
16 - Fixed a gcc 2 vs. gcc 3 problem in gcm_input.cpp
17 - Reject log entries that are found to be invalid.
18 - A date without the time for the '-d <date> option will
19   assume midnight on that date.
20
21 gcm_dameon
22 ----------
23
24 - In PHP, the method configuration::read() will also read
25   a user-specific configuration from the home directory if a 
26   PHP script is not run through the web server.
27 - Accept command argument '-c config' to use an alternate
28   gnucomo configuration.
29 - New PHP methods:
30    db::Result() - Returns the result from the last query.
31    db::Field()  - Returns the value of a single field.
32    db::new_notification() - Create a new notification in the database.
33 - Check the log table against the servies running on an object and
34   create notifications if a service is not supposed to be available
35   or is not known at all.
36
37 libgnucomo
38 ----------
39
40 - Changed the gnucomo_database class to the new PostgreSQL
41   library, libpqxx
42 - Overloaded gnucomo_database::Field() to include the Result
43   from a query as an argument.
44
45 web interface
46 --------------
47
48 - New page to enter and modify services.
49 - The objects page provides an interface to edit the list of
50   services and users for an object.
51
52 Test
53 ----
54
55 - Reduced the amount of output from test scripts.
56 - Added output data that is expected from test scripts.
57 - New test: tests the database upgrade with gcm_daemon
58 - Overall test script: gcm_test. Runs all tests in sequence.
59
60
61 Aug 15, 2003 - Release 0.0.7
62 ====================================
63
64 Database
65 ---------
66
67 - Added index to the history table to improve performance.
68
69 gcm_input
70 ----------
71
72 - Added a new section 'logging' with three configuration parameters:
73    method       - Output method to use for logging.
74    destination  - Name of the log output destination.
75    level        - Log level: Verbose output if greater than 0.
76 - Added '-i' option for incremental parameter updates.
77 - Debug output to the log stream instead of cerr.
78 - Fixed namespace problems in XPath searches of the DOM.
79 - Moved string utility functions to a separate file.
80 - Different kinds of log files are parsed by a collection of objects
81   of different classes, derived from the base class line_cooker
82   Depending on the message content or the message_type element in
83   XML, one of these objects is selected.
84 - Logrunner is integrated with gcm_input. Although its functionality
85   is still limited, a connection between logrunner and gcm_input
86   is beginning to form.
87
88 gcm_daemon
89 ----------
90
91 - BUGFIX: Print an error message if a parameter does not have
92   any history.
93 - BUGFIX: undefined variables and indices when processing sendmail logs.
94
95 web interface
96 --------------
97
98 - BUGFIX: Convert special characters for HTML (<, >, and &) into
99   their entities.
100 - BUGFIX: Removed parameters were somtimes shown on the wrong side
101   of the parameter difference page.
102 - Added performance measurement to the parameters page.
103 - Added editing of detailed object information.
104
105 Jul 15, 2003 - Release 0.0.6
106 ====================================
107
108 - Gcm_input reads IRIX system logs.
109 - Gcm_input exits without reading any input if the database connection fails.
110 - Gcm_input extracts the hostname out of the 'From:' or 'Message-Id:' line
111   of an email header.
112 - New member C++ function gnucomo_database::is_conected().
113 - New columns in the table 'log_adv_daemon_email': size, pri, relay,
114   status_details and dsn.
115 - Added several indices for the table 'log_adv_daemon_email'.
116 - In phpclasses/db.class.php: Added the database connection string as
117   an argument to the function copy_db_class.
118 - Gcm_daemon processes logs from sendmail.
119 - Fixed the PHP member function db::db_connect(). The Postgres connection
120   string is now passed as an argument to that function.
121 - Gcm_input reads cooked log entries from an XML input stream.
122 - New database tables: notification_check, notification_check_buffer,
123   notification_check_line and object_statistics.
124 - PHP function db::query() returns the result index.
125 - PHP function db::num_rows() accepts a result index as argument
126   (default = 0 -> use result from the previous query).
127 - New PHP function db::fetch_object().
128 - Gcm_daemon gathers statistics on parameters, notifications, etc. for all objects.
129 - The Objects web page uses the new object_statistics table.
130 - The Log web page shows the log one day at a time.
131 - Removed parameters are displayed in a shaded style.
132
133 Feb 21, 2003 - Release 0.0.5
134 ====================================
135
136 - The notifications web page keeps a record of each time a notification
137   is displayed. Either on a listing or in detail.
138 - Improved the table layout of the objects web page.
139 - In the users page of the web interface, you can add a new user and
140   make him/her a member of a group.
141 - Users can change their password through the users page of the web interface.
142 - Gcm_input also detects packages that are removed from the system.
143 - In gcm_input, determining the version number of a package in a RPM
144   list is improved. Only the last one or two parts of the string that
145   begin with a '-' and a number are considered the version.
146 - The C++ function gnucomo_database::new_notification() uses the SQL
147   function currval() to obtain the identification number
148   of the most recently created notification.
149 - The C++ class gnucomo_database prints the query on cerr, along
150   with the error message when the query results in an error.
151 - Removed the 'Change Password' image from the main menu.
152   Changing passwords is integrated in te users page.
153 - Added the 'form' class on table and td elements. This class is intended
154   for borderless tables that are used to layout HTML forms.
155 - A new style 'h2.error' for error reports in the stylesheet.
156   Put borders around the tables and cells in the web interface.
157   Added right-alignment for numbers and fixed width for timestamps.
158 - Gcm_daemon maintains the last notification identifier.
159 - Setup the groups and database permissions. The three groups
160   are: view, ops and admin.
161 - Added two new entries to the action table.
162 - All web interface pages use the page class. This provides for a
163   uniform session and database handling.
164 - Use our own error handler for PHP errors and warnings in the web interface.
165 - Added log, notification and parameter counters to the 'object' table.
166   Counting these things at the time a user interface needs them is
167   too slow. Other programs, like gcm_daemon en gcm_input should prepare
168   these counters for quick retrieval.
169 - Show the total number of Log entries, parameters and notifications
170   on the object page of the web interface.
171 - Added new tables to the database : log_adv_daemon and log_adv_daemon_email.
172 - Made gcm_daemon a 'proper' executable.
173 - Paths of included files in PHP scripts are more flexible.
174 - Gcm_daemon recognizes important start and stop events of various daemons
175 - Gcm_daemon checks for exiting daemons in the log entries.
176 - Directory structure of PHP scripts reorganized. PHP scripts that are included in
177   both gcm_daemon and the web interface are now in the directory src/phpclasses.
178
179
180 Feb 05, 2003 - Release 0.0.4
181 ====================================
182
183 - Added style parameters for diff-like table views and textarea elements.
184 - Display and handle notifications in the web interface.
185 - Display the difference of all package class parameters for two objects
186   in the web interface.
187 - New PHP class added: 'page'. This is a (sort-of abstract) base class
188   for all Gnucomo web interface pages. It hanldes the session, login,
189   opening the database and the head and tail of the web page.
190 - gcm_input creates notifications when a new package is discovered
191   in a 'rpm -qa' list or when the version of a package is changed.
192 - Bug fix: action.statuscode was in upper case.
193 - Added new tables to the database: parameter_class and parameter_notification.
194 - New C++ function: gnucomo_database::new_notification(). retruns the id number
195   of the newly created notification record.
196 - Added new records to the 'type_of_issue' table.
197 - Changed semantics of actionid 9 in the 'action' table.
198 - Bugfix in gcm_input: The hostname in a system log may contain
199   digits as well as letters.
200 - Added new fields to the 'type_of_issue' table.
201
202 Dec 06, 2002 - Release 0.0.3
203 ====================================
204
205 - Directory structure is reorganized and prepared for GNU configure.
206 - gcm_input sets the value of log.processed to FALSE when inserting a
207    new log entry into the database
208 - When a syslog entry arrives from last year, gcm_input subtracts one from the
209    year of arrival to create the year of the log entry.
210 - Gcm_input reads output from "rpm -qa" and enters packages in the parameter table.
211 - Changes to log and log_adv tables described in the manifest.
212 - Added description of gcm_daemon in the design.
213 - Added new program (in PHP): gcm_daemon.
214 - Added a check on the database version in gcm_damon.
215 - Database-login in gcm_damon can be done using TCP/IP or UNIX-sockets.
216 - Gcm_daemon processes iptables-records including ICMP support.
217 - Returning values with ICMP (bounced) are seperate and linked to the same logfile.
218 - Which each new version records that haven't been recognized are processed again
219   through gcm_daemon.
220 - Added program-specific database user and password in config file.
221 - Added new arguments to gnucomo_config::Database(): user and password.
222   If empty, default values are taken from the config file.
223 - Implemented a slightly functional web interface that shows some
224   output from the database.