root / pykota / trunk / NEWS @ 1353

Revision 1353, 28.4 kB (checked in by jalet, 20 years ago)

maildomain pykota.conf directive added.
Small improvements on mail headers quality.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1# $Id$
2
3PyKota - Print Quota for CUPS
4
5(c) 2003-2004 Jerome Alet <alet@librelogiciel.com>
6This program is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2 of the License, or
9(at your option) any later version.
10
11This program is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with this program; if not, write to the Free Software
18Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
19
20============================================================
21
22PyKota NEWS :
23
24    - 1.18alpha6 :
25       
26        - New configuration directive added : maildomain
27          to specify the domain to send mail to when user
28          email address is not set in PyKota database.
29         
30        - More complete email message headers. 
31         
32    - 1.18alpha5 :
33   
34        - Debian packaging specific files, contributed by
35          Peter Hawkins are now included in the project's tree.
36         
37        - Preliminary work on future low-level LDAP caching to speed
38          up modifications (at least).
39         
40    - 1.18alpha4 :
41   
42        - Applied some of the modifications suggested by
43          Peter Hawkins, for better Debian integration.
44          Most notably cupspykota, pykota, and the shell
45          scripts are now installed into /usr/share/pykota
46          instead of into /usr/bin
47          BEWARE : double check that your symbolic link
48          to cupspykota is correct, and that your pykota.conf
49          file use correct path for the shell scripts like
50          waitprinter.sh and al.
51         
52        - pkhint command added, to help in configuring correct
53          accounting method for PyKota.
54         
55    - 1.18alpha3 :
56   
57        - Fixed a rare bug in cupspykota backend which gave
58          incorrect "CUPS backend died abnormally" messages.
59       
60    - 1.18alpha2 :
61   
62        - Added the pkprinters command line tool to manage printers
63          exclusively.
64       
65    - 1.18alpha1 :
66   
67        - Preliminary work on Relationnal Database Independance.
68       
69        - Sample report made from OpenOffice.org added as PDF and SXC.
70       
71    - 1.17 :
72   
73        - Finalized release.
74       
75    - 1.17alpha2 :
76   
77        - Fix stupid software accounting bug in the CUPS backend.
78       
79    - 1.17alpha1 :
80   
81        - User/Group deletion code in edpykota rewritten.
82       
83    - 1.16 :
84   
85        - Preliminary documentation on how to use OpenOffice.org
86          to create personnalized reports for PyKota + PostgreSQL.
87         
88        - Spanish installation guide for CUPS+PyKota+PostgreSQL
89          added to the documentation. Doesn't yet document v1.16
90          though.
91       
92        - Portuguese Portuguese translation replaces Brasilian
93          Portuguese Translation. Brasilian portuguese
94          translation is still available under the 'br' locale.
95       
96    - 1.16beta3 :
97   
98        - Swedish translation added.
99       
100        - Small fix in documentation.
101       
102    - 1.16beta2 :
103   
104        - Small fix for job cancelling code while job already
105          printing in CUPS backend.
106         
107        - Big fix wrt printing policies for unknown users. 
108       
109    - 1.16beta1 :
110   
111        - Manpages upgraded.
112       
113    - 1.16alpha26 :
114   
115        - Job price is now computed like this :
116       
117          SUM((NbPages * PricePerPage) + PricePerJob)
118         
119          For current printer and all the printers groups it is
120          a member of, if any.
121         
122          This may be difficult to grasp, but offers unprecedented
123          flexibility.
124         
125    - 1.16alpha25 :
126   
127        - Email address can be set at user creation time,
128          using the following syntax :
129         
130            $ edpykota --add username/email@yourdomain.com
131       
132    - 1.16alpha24 :
133   
134        - CGI script now can show the printing history.
135       
136        - Bug wrt number of copies should be fixed.
137       
138        - Major code refactoring => It is now possible to
139          automatically add printers on first print.
140       
141    - 1.16alpha23 :
142   
143        - Fixed potential accuracy problem if a user printed on
144          several printers at the very same time.
145       
146    - 1.16alpha22 :
147   
148        - edpykota now allows adding printers to printer groups
149       
150    - 1.16alpha21 :
151   
152        - Allows the dot in user and printer names.
153       
154        - Printer groups are now cached too.
155       
156    - 1.16alpha20 :
157   
158        - Fixed several small bugs with the help of PyChecker.
159       
160    - 1.16alpha19 :
161     
162        - Fixed a bug in PostgreSQL backend's code.
163       
164    - 1.16alpha18 :
165   
166        - Initial code for printer groups support. Printer groups have
167          to be added with external tools like psql or gq for example.
168          Printer groups seems to work fine with users. Untested with user
169          groups for now.
170
171        - Several minor visual problems fixed in reports.
172       
173        - Fixed a bug in LDAP date handling.
174       
175        - Fix for LDAP problem with some combination of OpenLDAP + Python-LDAP
176          + some particular settings.
177         
178        - mailandpopup.sh shell script added. See sample configuration file
179          for details.
180       
181        - Several environment variables are now exported when executing
182          external commands (accounters, requesters, mailers) :
183           
184            PYKOTAUSERNAME => user who is printing
185            PYKOTAPRINTERNAME => printer on which the job is being sent
186            PYKOTATITLE => Job's title
187            PYKOTAFILENAME => Job's filename
188            PYKOTACOPIES => number of copies asked
189            PYKOTAOPTIONS => print command options (-o with CUPS)
190         
191    - 1.16alpha17 :
192   
193        - Added portugues translation.
194       
195        - Major code refactoring in accounters.
196       
197    - 1.16alpha16 :
198   
199        - Code refactoring, and addition of a real HTML reporter, to
200          have nice looking and useful web based reports (in the future).
201       
202        - Added utolower configuration option to convert all usernames
203          to lowercase during printing.
204         
205    - 1.15alpha15 :
206   
207        - Now includes the papwaitprinter.sh shell script to wait for
208          AppleTalk enabled printers.
209         
210    - 1.16alpha14 :
211   
212        - Now printing on a printer not defined in the Quota Storage,
213          results in the job being cancelled or stopped, depending
214          on the printing system.
215         
216    - 1.16alpha13 :
217   
218        - Small bugfix wrt Python v2.1
219       
220        - If username is an empty string, user root is assumed.
221       
222        - 'postgresql' is not recognized anymore as a storage backend,
223          you have to use 'pgstorage' instead. 'postgresql' used to
224          be supported for compatibility with very old PyKota versions,
225          this is not the case anymore.
226         
227    - 1.16alpha12 :
228   
229        - Job price added to job history, to keep accounting correct
230          if a printer price per page or per job is modified and the
231          history is not reset : the history would have given a false
232          amount of money charged before the printer's prices were
233          modified, this addition solves the problem.
234         
235    - 1.16alpha11 :
236   
237        - Some preliminary modifications to the database structure for
238          PostgreSQL and OpenLDAP. A script to upgrade a PostgreSQL
239          database is now provided. LDAP attributes now support
240          eq, pres and sub indexes.
241         
242        - Job history now contains additional informations : 
243          number of copies, filename, title and print options.
244         
245    - 1.16alpha10 :
246       
247        - Some modifications done to external policy handling.
248          See sample configuration file for details.
249   
250        - Spanish translation added.
251       
252    - 1.16alpha9 :
253   
254        - mailto can be set to external(...) to warn users above
255          quota with any command of your choice (e.g. linpopup).
256          Several parameters are available, see sample configuration
257          file for details.
258         
259    - 1.16alpha8 :
260   
261        - Now cupspykota transmits SIGTERMS to the original 
262          backend when the user deletes a job being processed.
263         
264        - The documentation is now licensed under the terms of the
265          GNU GPL too.
266         
267    - 1.16alpha7 :
268   
269        - The CUPS backend is now fully functionnal (it seems).
270       
271        - From now on, the use of the pykota filter with CUPS
272          is deprecated. The pykota filter still has to be
273          used with LPRng though.
274       
275    - 1.16alpha6 :
276   
277        - Bug fixed : when edpykota was used to add a printer
278          with no user or group name, a bad user/group name "*" was
279          added to the database.
280         
281    - 1.16alpha5 :
282   
283        - New CUPS backend supports device enumeration !
284          This means that NO manual CUPS configuration has to
285          be done. All can now be done from CUPS web interface.
286       
287    - 1.16alpha4 :
288   
289        - New CUPS backend added.
290       
291    - 1.16alpha3 :
292       
293        - Minimal FAQ document added.
294       
295    - 1.16alpha2 :
296   
297        - CGI script now partially supports browser's language preference
298       
299    - 1.16alpha1 :
300   
301        - Ensures that the LDAP connection is really closed at end.
302       
303        - More complete error messages in case of LDAP operation failure.
304       
305    - 1.15 :
306     
307        - Documentation improved.
308       
309    - 1.15beta :
310   
311        - Command line tools now accept multiple printer
312          names or wildcards, separated with commas.
313         
314    - 1.15alpha9 :
315   
316        - External policy can be used to auto-add unknown users
317          and any other interesting things you may want to do.
318          WARNING : You can't auto-add printers for now.
319          They have to be created manually before.
320          Look at sample configuration file for examples.
321         
322    - 1.15alpha8 :
323   
324        - Job history can be disabled if needed.
325          This feature may be useful for people who use the LDAP
326          backend and don't want their LDAP tree to grow out of
327          control.
328       
329    - 1.15alpha7 :
330   
331        - More work done on caching wrt groups.
332       
333    - 1.15alpha6 :
334   
335        - Performance bottleneck with LDAP solved.
336       
337    - 1.15alpha5 :
338   
339        - Caching mechanism for all database queries.
340
341    - 1.15alpha4 :
342   
343        - Problem with Python 2.3 fixed. Needs some definitive
344          modification.
345         
346    - 1.15alpha3 :
347   
348        - CGI script now tries to restrict view when the
349          REMOTE_USER environment variable is set. This allows
350          people to protect its use with .htaccess files.
351          When unprotected, or if REMOTE_USER is 'root', then
352          unrestricted access is granted.
353          NB : REMOTE_USER is automatically set by the web server
354          (e.g. Apache) when a page with restricted access is viewed.
355         
356    - 1.15alpha2 :
357   
358        - Better detection of LPRng.
359       
360        - Outputs a warning if printing system is unknown.
361       
362    - 1.15alpha1 :
363   
364        - Bug fix in SQL code.
365       
366    - 1.14 :
367   
368        - The PostgreSQL database connection is now always closed before
369          exit. The LDAP database connection too, but it didn't suffer
370          from the problem anyway, AFAICT.
371       
372    - 1.14beta2 :
373   
374        - An LDAP-specific configuration field was introduced, usermail.
375          Use it to specify which LDAP attribute contains a valid email
376          address for the user. See sample configuration file for
377          details.
378       
379    - 1.14beta :
380   
381        - Two new LDAP-specific configuration fields were introduced,
382          newuser and newgroup. Use them to specify if you want to add
383          quota information to existing entries or elsewhere.
384          See sample configuration file for details.
385         
386    - 1.14alpha9 :
387   
388        - Documentation improved.
389       
390        - pykotme now also prints the user's account balance value
391          if the user is registered in the Quota Storage and his
392          limiting factor is "balance".
393         
394    - 1.14alpha8 :
395   
396        - bin/waitprinter.sh is now included to wait for
397          SNMP enabled printers to be idle again before
398          asking for their internal page counter.
399          See sample configuration file for details.
400         
401    - 1.14alpha7 :
402   
403        - edpykota now doesn't check if the user/group is above
404          quota. The check is only done at print time. This
405          prevents the sending of email messages when creating
406          user quotas if quota is already reached at creation
407          time.
408         
409    - 1.14alpha6 :
410   
411        - Configuration file split and moved to /etc/pykota/pykota.conf
412          and /etc/pykota/pykotadmin.conf to prevent simple users to
413          have Read/Write access to the Quota Database.
414          Don't forget to :
415         
416                $ chmod 640 /etc/pykota/pykotadmin.conf
417               
418        - storageuser and storageuserpw configuration fields reintroduced
419          for the same reason.
420         
421        - Code cleaning for future implementation of email addresses
422          support in the PostgreSQL and LDAP backends.
423         
424    - 1.14alpha5 :
425       
426        - Big bug fixed when changing the prices for a printer
427       
428    - 1.14alpha4 :
429   
430        - When adding an user, the user itself and its account balance
431          are now added in the same LDAP entry. Before they were added
432          as two different LDAP entries.
433         
434    - 1.14alpha3 :
435   
436        - Email field added to PostgreSQL database. An upgrade script
437          is included in initscripts/postgresql.
438       
439    - 1.14alpha2 :
440   
441        - Typo fixed when using the --prototype option to edpykota
442       
443    - 1.14alpha1 :
444   
445        - Poor man's treshold included : users with a low account
446          balance (below 1.0 by default, configurable) are sent
447          a warning message.
448         
449        - All warning messages to users are now configurable. 
450          NB : Warning messages to the administrator are not.
451       
452    - 1.13 :
453   
454        - Some small fixes wrt group handling.
455       
456        - The whole module code was passed through PyChecker and
457          several small code inconsistencies were fixed,
458          as well as a bug in the groups code.
459         
460    - 1.13alpha1 :
461   
462        - Bug fix wrt LDAP.
463       
464    - 1.12 :
465   
466        - More complete test added in edpykota.
467       
468    - 1.12alpha2 :
469   
470        - The previous bug fix was incomplete. This is corrected.
471       
472    - 1.12alpha1 :
473   
474        - Small bug fix.
475       
476    - 1.11 :
477   
478        - Now includes the pykotme command line tool, to produce
479          printing quotes for users.
480         
481    - 1.10 :
482   
483        - Bug fixed wrt quota reports when print limiting is by
484          account balance.
485         
486    - 1.09 :
487   
488        - Translations finalized.
489       
490        - Manpages updated.
491       
492        - Installation documentation improved wrt LDAP support.
493       
494    - 1.09beta2 :
495   
496        - The CGI script for quota reports works again, and
497          is much more powerful.
498       
499    - 1.09beta :
500   
501        - edpykota finalized
502       
503    - 1.09alpha2 :
504   
505        - LDAP schema modified a bit. Please upgrade.
506       
507        - LDAP backend works !
508       
509        - repykota and warnpykota allow the root user to pass
510          users or groups names on the command line. Users
511          and groups names may contain wildcards.
512         
513        - repykota and warnpykota only reports or warns the
514          current user when launched by non-root users.
515         
516        - Minor bug fixes. 
517   
518    - 1.09alpha1 :
519   
520        - More work on LDAP storage backend. Many options
521          were added to /etc/pykota.conf to give some
522          hints to the LDAP storage backend.
523         
524        - Severe database access optimizations were done by
525          rewriting most of the Quota Storage backends drivers.
526     
527    - 1.08 :
528   
529        - Major bug fix wrt LPRng support for remote jobs.
530       
531        - Major bug fix wrt increase/decrease account balances.
532       
533    - 1.08alpha8 :
534   
535        - Code refactoring.
536       
537        - A single user/password pair is used to connect
538          to the database backend. The storageuser configuration
539          field, and its associated passwords storageuserpw, are
540          not used anymore.
541         
542        - You can now set PyKota in debug mode, see sample configuration 
543          file for details.
544          WARNING : only Quota Storage backend queries are logged in
545          debug mode, for now.
546       
547    - 1.08alpha7 :
548   
549        - Very latest LDAP schema.
550       
551        - Code enhancement wrt easy pluggability of PyKota attributes
552          and object classes into an existing LDAP directory.
553       
554    - 1.08alpha6 :
555   
556        - Minor bug corrections
557       
558        - More work on LDAP : new schema
559       
560    - 1.08alpha5 :
561   
562        - More good work on LDAP storage.
563          repykota now works reasonably well with the sample LDAP directory.
564       
565    - 1.08alpha4 :
566   
567        - LDAP schema included.
568          THIS IS JUST FOR PEOPLE TO DISCUSS ABOUT THIS.
569          LDAP SUPPORT DOESN'T WORK YET, AND THE SCHEMA
570          MAY CHANGE IN THE FUTURE. PLEASE TELL US
571          WHAT YOU THINK ABOUT THIS SCHEMA ON THE
572          MAILING LIST.
573         
574    - 1.08alpha3 :
575   
576        - External accounting methods were partly rewritten :
577         
578          - No more "broken pipe" should happen.
579         
580          - They now take care of the number of copies
581            This may be unneeded though, if the postscript
582            file already does this, because this would
583            overcharge users (number of copies counted
584            two times). NEEDS MORE TESTING.
585           
586          - The sample configuration file now contains 
587            an external accounting method example which should
588            work with all DSC compliant Postscript files.
589           
590        - Some small bugs were fixed.   
591       
592    - 1.08alpha2 :
593   
594        - Now works with net-snmp v5.0 and above.
595          It already worked, but the sample configuration
596          file didn't contain appropriate values...
597       
598    - 1.07 : Release of the Shame !
599   
600        - The external accounting methods driver was left out of
601          the CVS tree. Nobody could use it since it wasn't included !
602         
603    - 1.06 :
604   
605        - Severe bug fixed : if you had a printer in
606          power saving state which couldn't answer immediately,
607          a bug was triggered.
608          It was caused by a bad copy/paste which
609          forgot to import a Python module at run time.
610         
611    - 1.05 :
612   
613        - External accounters are finally available !
614          This means that you can plug any page accounting
615          method you like by setting the appropriate
616          'accounter' field in /etc/pykota.conf
617          See the sample conf/pykota.conf.sample to
618          learn how to do.
619         
620          NB : Both 'external' and 'stupid' accounting methods
621               account a job size just before *this* job is
622               sent to the printer.
623               The original 'querying' method accounts a job
624               size just before *the next* job is sent to
625               the printer.
626       
627    - 1.05alpha3 :
628   
629        - A 'stupid' and unreliable accounting method was
630          implemented to serve as an example on how to
631          do this sort of things. This method only counts
632          the 'showpage' statements in the input data.
633          See sample configuration file for details.
634          Pluggable accounting methods work, but I advise
635          you TO NOT USE THIS ONE WHICH IS JUST AN EXAMPLE.
636          It is not reliable enough to be used.
637          Use the 'querying' accounting method instead.
638         
639    - 1.05alpha2 :
640   
641        - Pluggable accounting methods.
642       
643        - Better error handling.
644       
645    - 1.05alpha1 :
646   
647        - SECURITY file added to help improve PyKota's security.
648       
649        - Extracting the printer's internal page counter is now
650          tried several times, waiting several seconds between
651          two tries. This lets the time to warm up for some printers
652          which don't answer when they are sleeping (my Apple
653          LaserWriter 16/600 PS is in this case, maybe others too)
654         
655        - Small display bug fixed in repykota
656         
657    - 1.04 :
658   
659        - Default print policy for users/groups unknown from
660          the print quota system is now DENY instead of ALLOW,
661          since ALLOW can generate inaccurate results
662          (incorrect job sizes charged to the wrong persons)
663         
664        - LPRng support works !
665       
666        - A bug was introduced some time ago wrt printers' default
667          policy for unknown users. It is now corrected.
668       
669        - repykota now displays prices per job and per page for each
670          printer, if they are defined.
671         
672        - Minor display bug fixed in repykota.
673       
674        - Problem when running repykota with an empty database was fixed.
675       
676    - 1.03 :
677   
678        - Upgrade script included for earlier versions.
679          Please look inside the initscripts subdirectory.
680          THE DATABASE SCHEMA HAS CHANGED, PLEASE UPGRADE.
681         
682        - repykota now reports account balances too.
683       
684        - PyKota now has a nice logo, see the logos
685          subdirectory.
686       
687        - Manual pages were finally updated.
688       
689        - Group quotas seem to work now !
690       
691        - The new database schema allows to keep an history of all
692          jobs as well as charge users per page and/or per job,
693          and track users' account balance.
694         
695        - edpykota now accepts much more command line options to 
696          use the new functionnalities. See edpykota --help for
697          details.
698         
699        - The installation script now allows to install the sample
700          configuration file during first installation.
701         
702        - More group quota code works, but still not finished. 
703       
704        - The CGI script displays a link to PyKota's website.
705       
706        - The job history is now kept, this will allow per-period
707          reports in the future.
708         
709        - After having modified the quota for an user with edpykota,
710          a quota check is done to eventually warn the user/admin about
711          a quota which is too low to print.
712         
713        - A workaround is provided for HP Printers : their internal
714          page counter is only saved to NVRAM in a 10 increment, so
715          if you switch them off and then on, the reported page counter
716          may be lower than the real number of pages printed.
717          See http://web.mit.edu/source/third/lprng/doc/LPRng-HOWTO-15.html
718          We unconditionnally set the last job's page count to
719          abs(int((10 - abs(lastcounter(snmp) - lastcounter(storage)) / 2))
720          in this case.
721          For a more accurate accounting, never switch your HP printers
722          off.
723         
724        - A fix is provided for printers which only have a volatile 
725          page counter (reset to 0 every time you switch the printer on)
726          This should allow PyKota to work reasonably fine with HP Laserjet
727          4L/5L/6L, not perfect, but better than nothing.
728          See http://web.mit.edu/source/third/lprng/doc/LPRng-HOWTO-15.html
729          For a more accurate accounting, never switch your HP printers
730          off. This is untested, please report any problem.
731         
732        - A bug was fixed when edpykota --add was used with users who already
733          had a quota on the specified printer.
734         
735        - A small display bug in repykota was introduced in preliminary
736          1.03 versions, and fixed later on.
737         
738        - Some minor bugs which happened in rare situations were fixed.
739       
740        - Support for AppleTalk printers was added, see sample configuration
741          file for details.
742         
743        - Users and group printing can now be controlled (limited) either by 
744          print quota or by account balance.
745       
746    - 1.02 :
747   
748        - The installation script now checks for software availability
749          and in case a software is missing asks the user if he
750          wants to continue with the installation or abort it.
751         
752        - The configuration file pykota.conf is now expected to be
753          found in /etc instead of in /etc/cups
754          The installation script prompts the user to see if he
755          wants to move an old configuration file to the new location
756          if needed.
757         
758        - Improved documentation.
759       
760        - You can now set the tcp/ip port on which the Quota Storage
761          Server is listening, see sample configuration file for details.
762       
763        - Better general error handling.
764       
765        - Upgrade script for pre 1.01 PostgreSQL database schema is now
766          included as well.
767       
768    - 1.01 :
769   
770        - The configuration file now accepts an option   
771          to choose the recipient(s) of the email messages :
772         
773            - DevNull means no one will receive them.
774            - User means only the user will receive them.
775            - Admin means only the admin will receive them.
776            - Both means the User and the Admin will receive them.
777           
778        - The configuration file now uses hard-coded default values
779          when an option is not set. See sample configuration file
780          for details.
781         
782        - Manual pages are included since 1.00, but I forgot to   
783          add this information to this file.
784         
785        - Redistribution terms for the official package have 
786          softened and are now fully GPL compatible :
787          unrestricted modification is now allowed even for
788          the version number.
789         
790    - 1.00 :
791   
792        - edpykota now accepts a --noquota option. This
793          disable quota checking while still doing page
794          accounting. This is really useful for people
795          who don't want to limit their users but want
796          to know how much pages they print.
797         
798        - Some untested scripts were added to retrieve
799          the life time page counter of non-SNMP printers.
800         
801        - Every directory now has a specific README file. 
802       
803    - 0.99 :
804   
805        - Under some circumstances while the user wasn't allowed
806          to print, he didn't receive any email message. It is
807          now fixed.
808         
809        - When an user wasn't allowed to print, the quota for
810          the previous user wasn't updated. This is now fixed.
811         
812    - 0.98 :
813   
814        - Correctly handle the case where the printer is switched off.
815       
816        - Small bug wrt syslog fixed.
817       
818    - 0.97 :
819   
820        - edpykota accepts wildcards on its command line for users/groups too
821          if the --add option is not set, e.g. :
822         
823              $ edpykota --printer lp --softlimit 50 --hardlimit 100 "jer*"
824             
825        - If no user name is passed at all, then a default wildcard of "*"
826          which means apply the command on ALL users for this printer is used.
827         
828        - Small bug fixes.
829       
830    - 0.96 :
831
832        - Options requester, policy, admin, adminmail and gracedelay can now
833          be set either globally or per printer. The printer option has
834          priority if both are defined.
835
836        - More powerful configuration parser.
837       
838        - If all options are defined globally, there's no need to
839          define a section for each printer in the configuration
840          file anymore. Just define a [global] section and it's ok.
841
842    - 0.95 :
843
844        - External requesters for printers finally added.
845
846        - Full internationalization (english and french are supported)
847 
848        - More complete quota usage report
849
850        - CGI script to access to the quota usage report
851
852        - Several bugs fixed.
853
854
855    - 0.9 :
856
857        - First public version
Note: See TracBrowser for help on using the browser.