umask
[PyX/mjg.git] / CHANGES
blobf92a4556a18ab1fee011521894f9fe670cd93f24
1 PyX
3 - ATT: refactoring of attributes in progress!!!
5 TODO:
6   - graph module
7     - rect style (and errorbars?) should use clipping (TODO: should they or do the now?)
8     - do not include unneeded line segments when the axis range is set manually
9     - allow for an iteration of a graph style, when it is used several times
10     - common bboxes for different graphs
11     - automatic datafile key title
12     - exceptions in drawsymbol & friends...
13     - 3d graphs, circular graphs
14     - symbols + lines -> symbollines (??). Symbols should not allow setting lineattrs, and
15       lines not symbolattrs
16     - allow for graph.changesymbol.square(size=0.15) etc.
17     - rect style (and errorbars?) should use clipping
18     - paths are to be drawn instead of inserted
19   - style module:
20     - default patterns
21     - make dash length available
22   - text module:
23     - split into two modules: text and dvi 
24     - SlantFont & Co support
25   - mathtree module:
26      - consider rewrite using the python compiler module
27   - bbox module:
28      - __iadd__ and inplace enlarge, transform,...
29   - path module:
30     - reverse needs to be fixed
31     - there should be a path._at, path._begin, path._end
32   - data module:
33     - data.data should add line number like data.datafile
34     - use csv module (new in 2.3)
36 0.5 (????/??/??):
37   - setup.py and distribution:
38     - allow customization of the extension modules built (via setup.cfg)
39     - disable building pykpathsea module by default
40     - more detailed description of install process in INSTALL
41     - include example data files in distribution (suggested by Andrea Riciputi)
42     - force dvips to write ps files instead of printing them (suggested by Otto Tronarp)
43   - text module:
44     - improved is-readable test for lfs files and pyx.def file
45     - explicitly quit (La)TeX in cleantmp (helps when quitting with <Ctrl>C)
46     - showwaitfortex implemented following a suggestion by Fernando Perez
47       (waitfortex is increased to 60 seconds now)
48     - support of TeX extention --ipc for reading dvi results while TeX keeps running
49     - configurable font mapping files (via pyxrc or parameter of the texrunner constructor)
50     - markers to get access to positions within TeX expressions
51     - fix: allow for e-tex in texmessage.start (reported by Andrea Riciputi)
52     - fix: print warning at syntax errors in font mapping file and continue (cf. bug #795271)
53     - remove limitation on number of fonts in dvi file
54     - added native virtual font support
55     - dvicopy support not needed anymore (it is still available, but obsolete and
56       removed from the documentation)
57     - do not include too many glyphs in the eps file
58   - dvifile module (NEW):
59     - separated from the text module
60     - dvifile class returns standard pyx canvas instances on readpage
61   - graph module:
62     - removed manualpart and partitioners mix keyword
63     - results of the splitting at "=" in graph.function were not stripped
64     - skip title=None in key (cf. bug #821284), properly align a single key entry
65     - another (the last?!) axis redesign: axispos -> class of its own
66     - some axispos name have changed slightly (zeroline -> zeropath etc.)
67     - tick/data-vmin/vmax removed (TODO: documentation)
68     - pathaxis (TODO: example and documentation)
69     - various linkaxis (TODO: example and documentation, FAQ?)
70   - canvas module:
71     - stroke and fill now support trafos (TODO: documentation)
72     - uppercase version of a4, a3, ... paperformats
73   - config module:
74     - new module for loading PyX configuration information
75   - pyx module:
76     - automatically import main modules into pyx namespace as suggested by Fernando 
77       Perez.
78   - path module:
79     - check for sorting of parameter list passed to path.split method
80   - deco module (NEW): 
81     - contains decoratedpath and decorators from canvas module
82     - all predefined arrows are classes now (like all decorators) and
83       attributes have to be passed explicitely (e.g. earrow.small(attrs=color.rgb.red))
84     - TODO: document me
85   - style module (NEW):
86     - contains all line- and fillstyles which formerly had been defined in the canvas module
87     - dash now supports relative dash lengths (as suggested by Otto Tronarp)
88     - TODO: document me
89   - mathtree module:
90     - fixed incorrect handling of - (for instance -x**2 was not negative)
91   - attrlist module:
92     - contents have been moved to the (obsolete) tex module, which was the only user anyhow, and
93       the module itself was removed
95   TODO for PyX 0.5 (please feel free to move items up to the general TODO list)
96   - path module:
97     - path.split takes several points (as *args) while lentopar takes a list of points
98     - path.tangent is missing in the documentation
99   - color module:
100      - should colors and palettes exclude each other?
101   - graph module:
102     - multiple finish calles in linkaxis!
103   - documentation!!!
104   - check FAQ
106 0.4.1 (2003/09/17):
107   - canvas module:
108     - "in" to "inch" in paperformats
109   - text module:
110     - fix pyx.def hack occuring whenever \ProcessOptions* was used by a package
111   - pykpathsea module:
112     - implement different file formats for Python version of module
113   - t1strip module:
114     - python fallback solution should behave the same way as c extension module (closes SF bug #799182 reported
115       by Marcus Mendenhall)
116   - __init__.py:
117     - added "connector" to __all__
119 0.4 (2003/08/22):
120   - graph module:
121     - separate texter out of the axispainter
122     - axis/partitioner/texter/painter/axispos redesign & interfaces
123     - tick.text is renamed to tick.label
124     - ticks and labels are renamed to tickpos/tickdist and labelpos/labeldist in partitioning
125     - ticks can be used in the part to mix a partitioner with some manual ticks
126       -> manualpart and the mix technique is not needed anymore
127          (both things are still available and working, but they will be removed in the future)
128     - _ensurefrac is implemented inside the frac constructor now; initialization is possible by:
129       - a (enum, denom) tuple now (previously there were two arguments)
130       - a string (as before via _ensurefrac)
131       - exponential strings are allowed as well (e.g. "1e10" etc.)
132       - a float (precision is determined by floatprecision -- the number of decimal places)
133     - dense -> density
134     - axis.maxworse
135     - axis interface
136   - text module:
137     - reset() method for the texrunner
138     - automatic restart of a TeX instance with the same preamble (preamble changes are not possible)
139     - texmessage.loadfd for accepting font description loading
140     - don't bail out on width_index == 0, but mark character invalid instead
141     - dvicopy flag
142     - support for specials; pyxgraphics flag
143     - support psfonts.map: font names, font encodings
144     - bugfix \def\ProcessPyXBox -> \long\def\ProcessPyXBox
145     - improved lfs handling
146   - data module:
147     - full documentation via doc strings
148   - connector module:
149     - some preliminary version
150   - box module:
151     - multiple radii (up to two per point) and softnesses
152     - ensurecenter added --- do we always force the creation of a center?
153   - path module:
154     - lentopar methods added including some tests
155   - epsfile module:
156     - new parameter bbox allows to override the bounding box of the eps file
158   bugfixes:
159   - text module:
160     - derive TFMError and DVIError correctly from exceptions.Exception
161     - close files and pipes, if they are no longer used (thanks to Marcus Mendenhall)
162     - remove DeprecationWarning in Python 2.3 (thanks to Marcus Mendenhall)
163   - box module:
164     - correct rounding algorithm (Michael Schindler)
165   - graph module:
166     - refer to the graphs texrunner instead of the defaulttexrunner (cf. #728209)
167     - rounding towards zero bugfix in autolinpart
168     - log axis range rating bugfix
169   - mathtree module:
170     - addarg bugs (#738724)
171   - epsfile module:
172     - fix mixing up of height and width in scale calculation
173   - and various other fixer here and there
175 0.3.1 (2003/04/04):
176   - text module:
177     - fix bug in dvi rule code where width was height
178     - fix preamble attribute checking bug
179     - fix texmessage.load pattern search instead of pattern match bug
180     - renamed vbox to parbox (was done in 0.3 partially only)
181   - data module:
182     - allow for tuples in arguments of the data class
183     - convenience: exchanged order of named parameters in data.data
184   - graph module:
185     - convenience: allow for part=None in _axis (base of linaxis and logaxis)
186   - examples:
187     - added a latex example (requested)
188     - added a attributechange example (requested)
189     - added back the integral example (requested; prior PyX 0.3 it was part of the user manual)
190     - small change in vector example (allow for the access to the texrunner)
191     - examples included in source distribution
192   - canvas module:
193     - correct arrow template calculation for very short paths
195 0.3 (2003/03/31):
196   - examples
197     - new easy to use example generation (will hopefully lead to nice examples)
198   - unit box:
199     - new module for handling of convex polygons (taken out of the graph module)
200   - unit helper:
201     - new module containing a collection of helper functions (taken out of the graph module)
202     - moved the attrlist into helper -- as plain functions; attrlist becomes obsolete
203   - text module:
204     - new module: a new and preferable integration of TeX/LaTeX
205   - t1strip module:
206     - strip glyphs from pfa/pfb-fonts
207     - there is a C implementation taken from pdftex
208     - fallback solution via an external program (pfb2pfa)
209   - pykpathsea module:
210     - (partial) C binding to libkpathsea
211     - fallback solution via an external program (kpsewhich)
212   - graph module:
213     - removed some code duplication (various axis painters)
214     - use text module instead of the obsolete tex module
215     - allow for tailing zeros of automatic generated labels
216     - allow for missing data in bar graphs -> skipmissing parameter
217     - remove the support for variables given as keyword arguments in data constructor
218     - use context instead of extern for extern variables and functions
219     - graph keys; titles in data/function/etc.
220   - unit module:
221     - new classes for visual and width lengths, aliases for user length (u_pt = pt)
222     - all length classes have now by default a quantifier 1 (instead of 0), such that,
223       for instance, 5*unit.t_cm() == unit.t_cm(5)
224     - default_unit now has to be set via unit.set. For instance: unit.set(defaultunit="m").
225     - convert_to is now an internal function, which moreover does not longer accept tuples or lists
226   - bbox module:
227     - new class _bbox (the former bbox) which accepts points in the constructor. This is used
228       for internal purposes.
229     - the bbox constructor now accepts user lengths in the constructor.
230     - new methods height, width, top, bottom, left, right
231     - ll & ur ???, what about ul and lr -> ugly!
232     - enlarge (was enhance) now allows selective enlargement to the left, bottom, right and top
233     - output HiResBoundingBox
234     - never reduce bbox upon output
235   - epsfile module:
236     - new constructor signature, more in line with rest of PyX:
237       epsfile(x, y, filename, **additional_args)
238   - data module:
239     - removed additional column support in addcolumn; removed _addcolumn
240     - line reduction for datafile like the every parameter in gnuplot
241   - canvas module:
242     - new way of PS prolog generation that writes only necessary parts
243     - added support for patterns
244     - canvas.insert() now supports arguments
245     - bbox of canvas can be specified in writetofile command explicitely
246     - writetofile does not return self anymore
247     - arrow template now uses intersection with circle to get size right
248       (as per a suggestion by Michael Schindler)
249   - mathtree module:
250     - added abs function
251     - changed the handling of extern functions and all variables
252   - color module:
253     - gradient renamed to palette
254   - numerous bugfixes:
255     - problem with sizefile on windows (tex module)
256     - allow for strings in graphxy's width and height; allow for width only (graph module)
257     - disable rating for labelattrs equals None (graph module)
258     - defaultstyle selection, when a list of data is provided to the plot function (graph module)
259     - traverse when adding functions as arguments of operators (mathtree module)
260     - allow for extern functions in addcolumn (data module)
261     - just one common place for the version number
262     - fix incorrect exception name MathError (path module)
263     - prevent double return of intersections for closed sub paths
264     - ...
266 0.2 (2003/01/17):
267   - unit module:
268     - allow division of length by numbers
269   - trafo module:
270     - new transformation: slant
271     - renamed all trafo methods to use the participle (i.e translate->translated)
272     - the name of all trafo subclasses are verbs (i.e. translation->translate)
273   - graph module:
274     - mark class renamed to symbol
275     - (text-)box distance measurement
276     - moved axis partitioning to axis and axis painter
277     - automatic axis partitioning (now officially: general cleanup, distance measurement, documentation)
278     - splitaxis
279     - baraxis, baraxispainter, and bar style
280   - data module:
281     - previously named datafile module
282     - class "_datafile" renamed to class "data"
283     - class sectionfile added
284     - testsuite
285   - mathtree module:
286     - extern variables and functions (support in graph.function, graph.paramfunction and data.data)
287     - testsuite
288   - text module:
289     - deferred to Version 0.3
290     - running TeX "on the fly" is basically implemented
291   - numerous bugfixes:
292     - transformation bug (#624068, trafo module)
293     - canvas transformations (canvas module???)
294     - textbox alignment (graph module)
295     - return linewidth upon calculation with linewidths (unit module)
296     - allow column number variables with several digits
297     - ...
298   - british and american spellings (color module, graph module)
299   - small logo modifications
301 0.1 (2002/10/07):
302   - initial release