root / pykota / trunk / NEWS @ 1362

Revision 1362, 28.7 kB (checked in by jalet, 20 years ago)

Note added about small fix wrt empty user groups

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