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