File: ReleaseNotes

package info (click to toggle)
asymptote 1.14-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 4,852 kB
  • ctags: 5,279
  • sloc: cpp: 23,050; ansic: 1,810; perl: 1,405; lisp: 759; yacc: 529; lex: 372; python: 357; makefile: 293; sh: 227
file content (555 lines) | stat: -rw-r--r-- 29,843 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
Release Notes for Version 1.14

General affine transforms and clipping may be applied to TeX labels;
bugs in label alignment transformation were fixed.  The TeX engines latex,
pdflatex, tex, and pdftex are supported.  Separate xunitsize and
yunitsize scalings are allowed.  Graph axis bound communication was added
to allow axes with ticks and unextended axes to be called on an empty
picture.  Path labels are drawn after the path (to support UnFill).
Filltype definitions were standardized; a Draw filltype was added (for
drawing a bounding box around a label).  New filloutside routines were
added. Images can be drawn for irregular mesh contours and two-dimensional
pen arrays. Landscape slides automatically enable PDF autorotate option.
A MetaPost buildcycle routine was added. Setlocale errors are ignored.
The "Cannot write to venn_.tex" error under Windows XP was fixed. Very old
readline libraries found on many MacOS X systems are detected. The editing
mode asy-mode.el supports Emacs version 21. The option
\usepackage[inline]{asymptote} is now supported under both latex and pdflatex.


Release Notes for Version 1.13 

Image and contour transposition conventions for matrices were standardized;
resolution arguments were removed from the matrix contour routines.
The bounding box is now correctly calculated for square pen caps.
A bug in drawline was fixed. An up argument was added to the projection
routines to specify the camera orientation. The definition and
documentation of cone was fixed; surface function signatures were
consolidated. New 3d examples were added. Legends and markers are now
allowed when drawing superpaths. Zero page alignment no longer suppresses
labels; bounding box fuzz was removed. Intelligent interactive
auto-completion was added. If scroll is negative, an entire page is
scrolled. Support for Adobe Reader annotations was added.
Write without data arguments now works like write with data arguments.
A list function displays all global functions and variables in a module.
The Emacs asy-mode.el was improved. A FAQ was added.

Release Notes for Version 1.12

PDF transparency was implemented. The documentation of Bezier curves was
improved. Bounding box calculations now account for label scaling.
A special case of the Step calculation in graph.asy was fixed.  The function
scroll(int) was changed to a setting; a quit (q) option was added to the
scroll facility. To avoid an unwanted ghostscript window, gswin32c (rather
than gswin32) is used by default for producing pdf files under MSDOS.

Release Notes for Version 1.11

The defaultformat string is used again for graph tick labelling commands
instead of an empty format string.  A workaround for the broken
libsigsegv-2.3 library that caused a premature exit(1) was implemented.
An extra blank line at the end of 3D array writes was removed; 3D array
transpose and copy functions were added. The realmult routine was moved to
runtime and documented.  The example embeddedmovie of embedding movies
within PDF files was added. Overflow diagnostic messages during mpeg merges
are now suppressed. A twice setting was added to resolve LaTeX references.
The settings module is now globally accessible.  Duplicate trace messages
were pruned. Debugger breakpoints can now be set using a matching substring
instead of a line number. Conditional breakpoints are now supported.
Runtime errors and interrupts no longer reset the interactive environment.

Release Notes for Version 1.10

Parametric surfaces were implemented and parametric graphs now respect
picture scaling. Fill and FillDraw now work for markers and superpaths.
A bug in reading strings from files was fixed. Support for MikTeX 2.5 and
Autoconf > 2.59 was added. Asymptote and output filenames can now contain
spaces. Interrupts are working again. A line-based debugger was implemented.

Release Notes for Version 1.09

The workaround for the gv-3.6.1 option handling bug now supports earlier
versions of gv, including gv-3.5.8. By default, Ghostscript version 8.54 is
used by the MSWindows version to produce PDF files.

Release Notes for Version 1.08

Resolution problems in the contour routines were fixed; null contour labels
are now suppressed. Configuration problems were fixed; the malloc
configuration checks were removed and the help command again knows the
correct location of the manual. In the slides package, some stepping bugs
were fixed, an institution field was added to the titlepage, and vbox
support (say for aligned equations) was added. A colorless(pen) function
that strips pen color attributes was added. A clean copy of the source
files is now shipped.

Release Notes for Version 1.07 

This release implements uniform and irregular mesh contour drawing
algorithms: contours can be individually labelled or filled using a
colour density palette. The flowchart interface and alignment were
improved.  A slope fields package was added. The arrow size limiting code
was fixed.  Some bugs in makepen were fixed.  Image and shading functions
now respect the -gray, -rgb, -cmyk, and -bw options.  Date arithmetic routines
were added. Several small bugs in the graph routines were fixed. Custom
three-dimensional projections can now be easily constructed.

The public keyword is now the default permission modifer.  A new keyword,
restricted, makes variables readable but not writeable outside the
structure in which they are defined (previous this was the default behaviour).
A user-transparent work around for the backwards-incompatible command-line
options of gv-3.6.1 was implemented. Various configuration problems were
addressed to better support the Asymptote rpm for the Fedora Core Extras
project. A cputime() function was added.

Release Notes for Version 1.06

General flowchart routines and an example were added. Papersizes other than
letter now work with -outformat pdf again.  Performance was improved by
avoiding unnecessary output flushing.  An asycolors.sty package was added
to make LaTeX aware of CMYK versions of predefined Asymptote colours.
The default pdf viewer for MacOS is now "open".  The -u option can now be
specified multiple times on the command line.  Optional x and y margin
arguments were added to Fill. A reverse video option was added to
slide.asy; titlepage and title by default call newslide, unless the
currentpicture is empty.  An argument was added to newslide to allow
stepping to be turned off for that slide. The slidedemo example now
generates any required eps files. A segmentation fault in eval was fixed.

Release Notes for Version 1.05

Shaded and skeletal representations of surfaces of rotation were
implemented.  New oblique projections were added and bugs in the 3D graph
routines were fixed.  An argument reversal in one of the add routines was
fixed.  A clipping margin was added to unfill.  General determinants were
added.  Sin, Cos, Tan, aSin, aCos, and aTan, which use degrees, are now
built-in functions. The dash adjustment algorithm was improved. The
cubicroots solver now works again when R=0. Internal operations are now
added for all variable declarations of new arrays and functions. Automatic
viewing can easily be turned off under MSDOS. Nonstandard paper sizes
are now correctly handled. The C locale is always used when producing
postscript patterns. Configuration problems were fixed. The editor
customization files asy.vim and asy-mode.el were moved to the Asymptote
system directory. Stepping of slide presentations can now be enabled from
the command line. Many new tests were implemented. The examples were moved
to the examples subdirectory of the documentation directory. 
RPM files are now released.

Release Notes for Version 1.04

A convenient presentation slide package was developed.  The misalignment of
TeX and PostScript layers was fixed by giving includegraphics the exact
bounding box. The overall bounding box was also fixed. The tension atleast
command and the clipping of remote labels by unfill near the frame boundary
were fixed.  Permission checking for types was added. The new point-like
truepoint function uses the actual current picture size. Locale support,
the ', I, and F format specifiers, and custom pagewidth and pageheight
settings were added.  A Ticks specifier draws ticks on both sides of the path;
format="%" also suppress tick labels for logarithmic axis.
The linetype adjustment to the arclength was improved and can now be
optionally disabled. Color names were systematized, including texcolors
and x11colors.  A general purpose user command-line option accepts arbitrary
Asymptote code as a string. All duplicate path points in three.asy are now
removed. A convenient fixedscaling picture sizing routine was added.
Selected special functions from the GNU scientific library, DESTDIR support,
and a Python module to access Asymptote commands were added.
The legend skip is now based on the actual legend entry height, not the
fontsize.  A backwards incompatibility was introduced in attach, add, and
legends (add and attach take arguments in the same order as label):

attach(point(E),legend(20E),UnFill) -> attach(legend(),point(E),20E,UnFill). 

Release Notes for Version 1.03

Support was added for compiling under gcc-4.1.0. A memory leak in
interactive mode was fixed. A procedure for using CJK fonts was documented.
The return type of the three-dimensional intersectionpoint routines was
fixed. A function for inverting 2D points projected from 3D back onto a
specified plane was added, along with a solid geometry package with
routines to draw cylinders. New xaxis(triple,real), min(guide3[]), and
max(guide3[]) convenience functions were added. A Degrees function like
degrees(pair), except that it returns 0 for a (0,0) argument rather than
generating an error, was added. Interactive mode (without command-line
editing or history) now works even in the absence of the GNU readline
library.  An upper limit (100000) on the number of calls to intersectcubics
per cubic segment was imposed on the intersection routines.  The
documentation was updated.

Release Notes for Version 1.02

Lighting was implemented for surfaces described by functions and matrices.
A bug in the positioning of axis labels was fixed.  The type of randMax was
fixed. Configuration and diagnostics were improved; the "dir" setting in
configuration files is respected. Under MSDOS, the configuration file is
now %USERPROFILE%/.asy/config.asy; configuration settings now work as
documented.  On UNIX systems, installation can optionally be performed
without root privileges. Errors thrown by the parser while reading the
configuration file are now handled gracefully.  The patches to pstoedit
were removed since they are now included in pstoedit-3.44.

Release Notes for Version 1.01

A bug in the surface plot of a matrix was fixed. A workaround was
implemented for the broken GNU readline/history library under MacOS.

Release Notes for Version 1.00

A pen bounds error was fixed. A bug in the linear equations solver was
fixed.  Images now transform properly and nonsquare images appear
correctly.  The legend argument of draw accepts a Label.  An interface to
the movie15 package for embedding movies, sounds, and 3D objects within a
PDF file was added.  A bug where nonsolid pen types were ignored was fixed.
Missing xpart, ypart, and zpart functions were re-added.  A segmentation
fault in format was fixed. An interface to the GNU readline function was
added to allow editing of input. A complement function was added.  A bug in
the 2D graph tick selection routines was fixed; xlimits and ylimits no
longer crop data by default. For consistency, the "includegraphics"
labeling function was renamed to "graphic".

Release Notes for Version 0.99

A bus error and compilation error under MacOS X were fixed. If -debug is
set, execution continues after the first error. The "make check" code was
fixed. The contributed MacOS X binary site is now mentioned in the
documentation.

Release Notes for Version 0.98

Command-line options and configuration variables were reorganized into an
Asymptote settings module, allowing default values to be set in
~/.asy/config.asy (~/.asy/options is obsolete).  Command-line options 
can be negated by prepending -no to the option name.  Type-dependent
function and record operators are now added to the parent record.
Execution stops after the first error in a runnable.  Two- and
three-dimensional array min/max functions for all ordered builtin types
were implemented. Comments are now allowed within 3d data blocks. The base
file plain.asy was split into many subfiles.  The currentpen nib is
respected.  Warning messages are suppressed when shipping out an empty
picture. The tick computation was fixed when xaxis and yaxis are called
with explicit limits. The -t option was removed as it is no longer needed
for generating inline tex files. Machine constants are now implemented as
variables rather than functions.

Release Notes for Version 0.97

An uninitialized pen transform bug was fixed. A workaround was added for a
readline incompatibility under MacOS X 10.4.3. Incorrect and missing names
for builtin function arguments were fixed. Duplicate functions were removed.

Release Notes for Version 0.96

A MetaPost-style makepen function allows the default pen nib to be changed
to any polygonal (possibly nonconvex) cyclic path.  A unitsize argument was
added to the shipout command.  Three-dimensional lighting effects were
added and illustrated with the Gouraud shading of a sphere. The MidArrow
attribute was fixed.  Builtin functions now have named arguments.  Brackets
are now part of the quote syntax. The write command was generalized
to allow writing a list of vectors as columns. Drawing to standard output
now works even when there are no labels.  The -noView command was replace
by -nView or -no View. Several segmentation faults were fixed. Custom axis
types were documented.

Release Notes for Version 0.95

A memory leak was fixed; garbage collection messages are now suppressed
unless the -d option is given. In interactive mode, a reset keyword was
implemented to restore the environment, except for the scroll setting.
The interactive input command now does an automatic reset.  A link was
added to the GNU readline library documentation for customizing interactive
key bindings. A hang in scroll mode on an end-of-file condition was
fixed. To reduce LaTeX memory usage, the scalebox macro is used only where
required. A legend problem was fixed. The documentation was updated.

Release Notes for Version 0.94

A label bug arising from a conflict between some versions of the LaTeX
pstricks and graphicx packages was fixed. Embedded LaTeX files are always
run in quiet (-noView) mode. Frame loading issues with imported types
(for example, with the triangle SAS constructor in the geometry module) was
fixed. The command import graph is now an abbreviation for access graph;
unravel graph.

Release Notes for Version 0.93

The import scheme was completely redesigned, with new keywords access,
unravel, from, and include. A true (rather than emulated) interactive mode
and runtime imports have been implemented. The default pdf browser is now
acroread; the pdf fuzz workaround for gv was removed.  The tension3 and
curl3 keywords were re-added; a surface graph routine for matrices was
implemented. Problems with csv mode were fixed. The function defaultpen()
was renamed to resetdefaultpen().  Integer division via quotient(int,int)
is now consistent with the modulo (%) operator.  Checks for integer
overflow and erf, erfc, and gamma functions were added.  More descriptive
names latticeshade, axialshade, radialshade, and gouraudshade for the
shading routines were chosen.  Horizontal and vertical label scaling was
implemented.  Default command line style-parameters can now be stored in
~/.asy/options.  The interactive history file is now ~/.asy/history by
default unless -localhistory is specified. Outputting to standard output
via "-o -" is now allowed.


Release Notes for Version 0.92

Clipping now clips labels and all layers of a picture, not just the most
recent one. A bug in precontrol and postcontrol was fixed.  A ticklabel bug
and precision errors at +/-1e-4 were fixed.  An example of a "broken" x
axis was added.  A dot product now requires explicit pair arguments.
The implicit cast from real to pen was removed. Straight flags are now
preserved when using a path as part of a guide. An UnFill filltype was
added for clipping underneath labels and legends. A struct marker was added
to support arbitrary marker locations. Directories are no longer stripped
from explicit output filenames. 

A function inside was implemented to test whether a point is inside a
cyclic path.  The routines inside, quadratic solver, and intersect in
math.asy were replaced by internal C++ routines. A robust real cubic root
solver was added. A floating point exception in complex powers when base is
zero was fixed.  Colinearity checks were added to the leastsquares routine.

The interface to plane was changed to return a representation of the plane
through point O with normal cross(u,v).  The routine intersectionpoint was
moved to plain.asy and a 3d version was added to three.asy. We now draw
over existing TeX layers when doing 3d hidden surface removal. A 3d aspect
ratio can now be specified. A gui() function and MSWindows support for xasy
was added; this will require renaming "gui(" to "GUI(" in any existing .gui
files.  The dir argument of picture.fit() was moved to add(frame,pair)
and attach(frame,pair): 

add(pic.fit(E)) -> add(pic.fit(),E).

Release Notes for Version 0.91

Fixed GUI transforms: grouping should not depend on deconstruct flag.

Release Notes for Version 0.90

Default function arguments are now evaluated in the scope where the
function is defined, not in the scope of the caller.  The depth handling
of deferred TeX labels was fixed.  The positioning of 3d axes labels was
improved; an example showing tick and axis label rotation was added.
A minimum value of fuzz in the intersect routines is enforced to prevent
infinite loops. An error in the man page regarding the -t option was
fixed. The write function was generalized to handle an arbitrary number of
data values.

Release Notes for Version 0.89

The processing of GUI files was fixed.  User-specified ticks now work also
with logarithmic axes. The arguments of LeftTicks and RightTicks were
standardized; it is now possible to include a general string(real) routine
to typeset each label.  Logarithmic axes ranges of less than a decade are no
longer upscaled when autoscaling is disabled.  All references to the
mailing list were removed from the documentation since the forum is now
used in its place.  The temporary included PostScript file suffix was
renamed from "ps" to "eps".

Release Notes for Version 0.88

The graph routines were overhauled to support both two- and three-
dimensional axes, partitioning them uniformly in tick value space,
not with respect to arclength. An empty format string is treated as
defaultformat. A fuzz parameter was added to the intersect routines;
these routines now work for points. Data file comments were implemented.
The perpendicular routine now uses an alignment argument; scale(pair) was
removed.  An option was added to asymptote.sty to make all LaTeX symbols
visible, along with a second optional string to Label for providing a size
estimate for undefined labels.  Numerous small bugs were fixed; the
pstoedit patch was updated. The installation and instructions were
improved. An environment variable for every external command was added.

The argument order of the axes routines was standardized; a call like
xaxis(min,max,"$x$",red,Bottom,LeftTicks);
should now be written
xaxis("$x$",Bottom,min,max,red,LeftTicks);

Release Notes for Version 0.87

This release implements general hidden surface removal using a binary space
partition and adds three-dimensional versions of the standard path
functions (arclength, subpath, intersect, etc.), along with circle and arc
functions. Hidden surfaces in regular mesh surface plots now are properly
handled from any camera location.  The arclength rather than the length is
used for determining default label position on paths; Relative(real) and
Relative(pair) functions were added for labelling paths relative to the
total arclength and local path direction.  Structure constructors and
operators == and != were implemented and documented. The permissions of
static functions within structures was fixed. A pen argument to filltype
Fill to specify an interior pen distinct from the boundary pen was added.
For convenience, array push members now return the pushed element.
A missing shift in Label.out(frame) was added. The feynman module was
updated to include a new function texshipout; MidArrow was moved to
plain.asy. The optional position arguments of BeginArrow and related
functions were fixed. A numerically robust quadratic equation solver was
added.

Release Notes for Version 0.86

Fixed make man problems.

Release Notes for Version 0.85

A fully three-dimensional, rotationally invariant, generalization of the
two-dimensional MetaPost path construction algorithms has been
implemented. A tridiagonal solver was added. Adobe's automatic rotation of
PDF files was disabled. Cyclic indices are now allowed only on arrays
having the virtual cyclic flag set to true. The bug fix in simplex was
generalized. An online help option was added to interactive mode; exit is
now a synonym for quit. Microsoft Windows resource fields and an icon were
added. ASYMPTOTE_DIR can now be a list of directories. 

Since some files were moved in this release, Microsoft users may wish to
first uninstall the previous release to avoid duplicate files.

Release Notes for Version 0.84

This release ports Asymptote to the Microsoft Windows operating system; an
executable file is distributed. Label parameters are now in a structure
called Label, to which strings are implicitly cast, and which can be
rotated and shifted with a transform. Automatic sizing under picture
transformation was fixed. A bug in the simplex method was fixed. Lattice
and Gouraud shading were added. An array append method, virtual transform
components, and transform 6-tuple notation were added. A pen and filltype
were added to legend.  The 2d graph and palette code were cleaned up.
An extend option was added to draw ticks across the graph for producing a
grid. Problems with nullguide3 were fixed, the arguments of 3d rotate were
swapped, and 3d reflections were added.  A spurious papersize comment
inserted by newer versions of dvips was removed.  Pstoedit support was updated.

This release introduces a few minor backward incompatibilities. Here is a
summary of the main changes:

draw("text",(0,0)--(1,1),1.0)   ->      draw(Label("text",1.0),(0,0)--(1,1))
label("text",90,(0,0))          ->      label(rotate(90)*"text",(0,0))
labeldot("text",(0,0))          ->      dot("text",(0,0))
labeldot((0,0))                 ->      dot(Label,(0,0))
labelbox(2mm,2mm,"text",(0,0))  ->      box(Label("text",(0,0)),2mm,2mm)
xaxis("$x$",0.5)                ->      xaxis(Label("$x$",0.5))
labelxtick(1)                   ->      xtick(Label,1)

Release Notes for Version 0.83

This release extends Asymptote to three dimensions. A triple type (which
replaces the old vector type in math.asy) and a guide3 type were added,
along with the 3D projection routines in three.asy.  Three-dimensional
arrays can now be read in line mode, using blank lines as block
delimiters. An array pop function was added.  Math mode ($ delimiters) were
moved to within the "defaultformat" string, to allow use of non-math mode
fonts in tick labels (by overriding the default format). A pticklabel
option for drawing tick labels with a different pen was added. Routines
labelxtick and labelytick were added, and the tick size and shift in xtick
were fixed.  The autoscaling of unextended axes was fixed.  The xline and
yline routines were renamed to xequals and yequals, Dot was renamed to dot,
Cross was renamed to cross, the function "Angle(pair)" was renamed to
"degrees(pair)", and a "Degrees(pair)" function was added to math.asy.  The
Metapost --- operator and the replacement :: for the MetaPost ...  operator
were implemented. A segmentation fault involving controls points with
direction specifiers and a bug in "string font(pen)" were fixed. Tensions
in straight sections of paths are now handled as in MetaPost. The -l option
was reimplemented.

Release Notes for Version 0.82

Initializers for structures and general cast operators can be specified.
Functions can be called with named (keyword) arguments, in any order.
Rest arguments are supported.  Size and aspect ratio arguments, which may
be specified with "size", were removed from "shipout".  The tick routines
were standardized; custom tick locations and arrows on axes were implemented.
The default frame initializer nullframe was renamed to newframe. A segmentation
fault in the file garbage collection code and an optimization-related bug
in fill were fixed.

Unlike in the C and C++ languages, an assignment in a function argument is
now interpreted as an assignment to a parameter of the same name in the
function signature, not within the local scope. The command-line option -d
may be used to check Asymptote code for cases where a named function
argument may be mistaken for a local assignment.

Release Notes for Version 0.81

A guide solver bug was fixed, allowing the construction of graphs with a single
data point. Compilation under g++-4.0.0 is now supported.

Release Notes for Version 0.80

A segmentation fault on the alpha (cxx) and mac platforms was fixed.
All members of the picture structure are now deep copied.
The latest Boehm garbage collector (version 6.5) is used by default.

Release Notes for Version 0.79

Types are now cached to speed up parsing. All outstanding garbage collection
issues were addressed. The autoscaling of scaled axes was fixed.
Another example of a secondary axis was added to the documentation.
A Pythagorean tree example illustrates picture transforms.

Release Notes for Version 0.78

A binary search routine was added for sorted arrays. The handling of NAN
values was fixed. The "checkaxis" test in graph.asy was improved.
A problem with implicit closing of files was fixed. Minor changes were made
to support compilation under Cygwin. A workaround for the garbage
collection warning about repeated allocation of very large
blocks was introduced, along with other miscellaneous garbage collection
updates. A configuration option was added to request use of a (slower,
multi-theaded) system version of the Boehm garbage collector.

Release Notes for Version 0.77

Integer arguments are now converted to real values before dividing and a real
quotient is returned. The "quotient(int, int)" function returns the integer
part of that result. Garbage collection has been implemented to fix memory
leaks.  A knot solving bug was fixed. Pen "plabel" vs. "p" issues were
addressed. The eval function was renamed to map and the new eval(string)
function was documented. The concat function can be used to concatenate two
arrays. Complex exponential and logarithmic functions were added. The new
function reltime can be used to compute the label position argument for draw.
A new geometry module includes a triangle structure and functions to draw
interior arcs of triangles and perpendicular symbols.


Release Notes for Version 0.76

Installation has been simplified by removing the last remaining dependency
on the boost header files. A "plabel" argument was added to "draw" to allow
labels and legends to use a different pen than the curve itself. The pen
arguments in the axes routines were rearranged to be consistent with
"draw".  TeX errors in interactive mode and the TeX preamble are now
handled properly.  New functions "getstring" and "getreal" can get and
remember user parameters.  Marker frame arrays, a "Mark(int)" function,
and "node", "value", and "slope" path computation functions were added.
Problems with implicit scaling were addressed.  The "without side-effect"
warning was removed.  An option was added to list all loaded global
functions. The documentation of structures was improved.


Release Notes for Version 0.75

This release fixes a number of bugs with the new parser controller,
including a segmentation fault with the -p option, problems with
interactive mode, and problems reading from standard input. The graph
module now uses a better default value of axislabelmargin for positioning
axis labels. The put argument of the axis routines was moved to the end of
the argument list, for consistency with draw. Convenient xline and yline
interfaces to the axis routines were added.  The definition of the
correlation coefficient in the least squares routine was fixed, and a fit
function was added to the 'linefit' structure. A linear interpolation (with
endpoint extrapolation) and a binary search routine were added to math.asy.


Release Notes for Version 0.74

This release fixes a segmentation fault in version 0.73 and also reduces
the default number of colors in image palettes to work around
PostScript/PDF limitations (that can cause the manual not to print).


Release Notes for Version 0.73

A more efficient type-safe union was used to speed up the virtual machine
by roughly a factor of 5. New routines "ellipse" and "labelellipse"
were added for drawing ovals around frames and labels. The function
"bbox(frame)" was renamed "box(frame)". These routines now prepend to
the frame for filling with a background color; they also return the boundary
as a guide. A workaround was added for a bug in gcc version 3.3 to
facilitate compilation under Darwin (MacOS). Many internal coding
improvements were made.