root / pykota / trunk / NEWS @ 1458

Revision 1458, 31.8 kB (checked in by jalet, 20 years ago)

Fix for file handles unregistered twice from the polling object

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