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