diff options
author | Karl Berry <karl@freefriends.org> | 2009-05-16 00:19:13 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-05-16 00:19:13 +0000 |
commit | bab45528d65eaafe68a705dbb2a57075c7b7cbd8 (patch) | |
tree | 10b4ae2b5195c8dede153ab89359ec00f55f325f /Build/source/utils/asymptote/ReleaseNotes | |
parent | 8643d90372e9c31e0f461c15c596b60a545bd7d3 (diff) |
asymptote 1.72 sources (not integrated into build yet)
git-svn-id: svn://tug.org/texlive/trunk@13110 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils/asymptote/ReleaseNotes')
-rw-r--r-- | Build/source/utils/asymptote/ReleaseNotes | 1350 |
1 files changed, 1350 insertions, 0 deletions
diff --git a/Build/source/utils/asymptote/ReleaseNotes b/Build/source/utils/asymptote/ReleaseNotes new file mode 100644 index 00000000000..a4cf39ffa94 --- /dev/null +++ b/Build/source/utils/asymptote/ReleaseNotes @@ -0,0 +1,1350 @@ +Release Notes for Version 1.72 + +PostScript calculator function shading was implemented. Interactive camera +parameters of the native OpenGL renderer can now be queried. +The effective camera positions for oblique projections was fixed. +Philippe Ivaldi's geometry_dev module was merged into geometry.asy; +trembling_pi was added as trembling.asy. The GSL module was expanded. +An extrude routine for labels was implemented. Rotated path +label alignments were fixed. The alignment of 3D axis labels was fixed. +The basealign pen now always typesets "ace" and "acg" at the same location. +Arrow endpoint detection was fixed. A sysdir setting was added, along +with an --enable-tetex-build configure option. The store argument of +saveline is respected again. Left-justified trailingzero alignment was +fixed; a signedtrailingzero specifier was added. Boolean conditions on +linearly interpolated surfaces now suppress function evaluation. +The adaptive algorithm used for rendering thick lines and tubes was +improved. An ambiguity in the flowchart module was fixed. +A patch is included to work around an MSWindows XP problem with 3Dgetview +in the 2009/03/23 version of movie15.sty. A problem with spurious menu +interaction zooming was fixed. The asy.bat MSWindows batch file now +respects all command-line arguments. + +Release Notes for Version 1.70 + +A labelpath3 module for typesetting curved labels in 3D, contributed by Jens +Schwaiger, was added. PenMargin2 was defined for use with planar arrowhead +types like DefaultHead2. A center=false parameter was added to projections +to allow one to automatically center the target within the bounding volume. +The ambiguity in the surface function was resolved. Problems with spaces in +filenames were fixed. + +Release Notes for Version 1.69 + +Internal patch degeneracies were removed by splitting. Bugs in the +windingnumber and the intersection routines were fixed. The inside(path) +routine was improved; a fillrule argument was added. The bezulate connect +routine was improved. Bezulate is now automatically applied to path arrays: +surfaces should be constructed directly, without first calling bezulate. +A workaround for recent changes in the hyperref package was implemented. +The divisor setting was replaced with purge(divisor=0). The calls to baseline +in graph.asy were fixed. A miterlimit attribute was added to pens. +Animation problems were fixed. Lighting problems with multiple exports and +a quit deadlock were fixed. A new version of asymptote.sty (1.06) fixes +an undefined \ASYbox. + +Release Notes for Version 1.68 + +Support for 3D inline pdf movies was added. Camera adjustment was fixed; +the filesurface.asy example illustrates automated camera and target +computation. A deadlock in the export loop was fixed. A new version of +asymptote.sty (1.05) fixes the definition of \ASYanimategraphics. +The handling of intersection fuzz was improved. The baseline routine was +generalized. New paragraphs are now allowed in minipage labels. +Some minor errors in the documentation were fixed. + +Release Notes for Version 1.67 + +Spurious annotation question marks in 3D PDF attachments were fixed; +attached images are now printable. The asy environment defined in the new +(1.04) version of asymptote.sty supports keyval options width, height, +viewportwidth, viewportheight, and attach; the obsolete asyattach +environment was removed. The default viewportwidth is the linewidth in +inline mode and 0 in attached mode. Planar projected arrows were fixed. +Automatic camera adjustment was improved. A minimum viewportsize can now be +specified. The control points for cyclic segments produced by texpath were +fixed. Overlap issues in planar surface patches were fixed. Surface +constructors were simplified: the routine planar has been replaced by +surface(path3) and in most cases there is no need to call bezulate directly. +An Align constant was added. The parameter limits used in buildcycle were +fixed. The intersection routines now respect the fuzz parameter. +Segmentation faults involving null cyclic guides were fixed. +Subpath now preserves the straight flag. Pictures containing graphs +now transform correctly; unextended axes limits and tick selection were +improved. Axial and radial shading respect now respect -gray. The animation +prefix was fixed. An example of drawing a surface from irregular data was +added. A work around was implemented for an intermittent hang on exit in +the 3D native renderer. An auto3D option was added for controlling the +poster option. The 2008/10/08 version of movie15.sty is now compulsory. +The cd %USERPROFILE% command was removed from asy.bat. + +Release Notes for Version 1.66 + +An alignment problem with the pdflatex tex engine was fixed. +Problems in the animations module were fixed, including a broken +ImageMagick layers optimization. Optional direction arguments +were added for three-dimensional bars. The appearance and alignment of the +planar arrowheads DefaultHead2, HookHead2, and TeXHead2 was improved; they +now accept an optional normal argument and respect the filltype. +A transverse/longitudinal confusion was fixed in the solids module. +The camera adjustment routine was improved and is now controlled by the +autoadjust=true option for perspective projections; the user is notified +when the camera is moved. The obsolete featpost3D.asy module was +removed. Midpoint interpolation was reinstated for drawing contours. +The Asymptote license was upgraded to the GNU Lesser General Public License. + +Release Notes for Version 1.65 + +The xelatex tex engine was implemented. Bugs in pdflatex output and the +xelatex alignment were fixed. + +Release Notes for Version 1.64 + +Support was added for XeLaTeX PDF specials. The target point is not forced +to be part of the control volume for absolute projections. The directory is +now stripped from the animation prefix; generated PDF animations are no longer +automatically deleted. New parameters xsize and ysize of the asyinclude +function of the slide module are illustrated in interactive 3D examples in +intro.asy. A Protein Data Bank example was added to illustrate the +generation of predefined views. The slidedemo example was fixed. +The license of the PRC code and tools was upgraded from GPL to LGPL. + +Release Notes for Version 1.63 + +Support was added for XeLaTeX (which requires a modified version of +movie15.sty; note however that PDF specials are not yet implemented in +dvipdfmx). The 2D contour routines were generalized to handle nonuiform +lattices; interpolation artifacts are now avoided when the midpoint +function values are unknown. The ncell parameter for 3D contours was +replaced by nmesh. The complex gamma function was implemented. Interactive +rendering of preview images is now properly synchronized. The bounding +volume is now automatically expanded to include the target position. +An interactive 3D surface of revolution example was added to slidedemo; +rendered images are now automatically included when fitting non-PRC +pictures. Duplicate beginclip/endclip functions in pstoedit.asy were +removed and the pstoedit-3.45 patch was updated to fix compilation errors. +Errors on EOF after reading 0 values are no longer reported. One-column +legends are now handled correctly. Old-style constructors were replaced +with operator init. An electromagnetic spectrum example was added. + +Release Notes for Version 1.62 + +Outputting PDF format to other directories was fixed. An int hex(string) +function that casts a hexidecimal string to an integer and a +pen rgb(string) routine that returns a pen corresponding to a given +6-character RGB hexidecimal string were added. In the dot routines, Label +arguments were added and minor bugs were fixed. A parametric version of +markuniform was added. + +Release Notes for Version 1.61 + +A workaround was implemented for a dvips misconfiguration in TeXlive 2008 +that introduces unwanted %%BeginPaperSize commands into the EPS output. +The -q option was reinstated; the asymptote.py Python module was fixed. +The bezulate.asy module now enforces the same zerowinding fillrule as used by +dvips. In solids.asy, a warning is issued if the silhouette routine is used +in a fully 3d context. The freeglut extensions to support user-specified +multisampling values were re-instated. A freeglut segmentation fault +triggered by spurious window creation in the export loop was fixed. An +aspect ratio problem was fixed. A string[] to int[] ecast was added. A +Pentype function was added. The asydir() function was fixed under MSDOS. + +Release Notes for Version 1.60 + +An optional bool3 condition was added to the graph functions, allowing one +to skip points or segment a graph into distinct branches, based on a +user-supplied test (see the example gamma.asy). A gettriple routine was +added. The interp function first promotes its pen arguments to the highest +colorspace. Export exceptions are now caught gracefully. Under UNIX, +xasy can now be run from a write-protected directory again. A work around +was implemented for the inability of the movie15.sty package to handle +spaces in filenames. Stack overflow diagnostics were improved. A read from +pipe failure under MSDOS was fixed. + +Release Notes for Version 1.59 + +A missing filltype option for projected 2D arrowheads was added. +The scaling of plain TeX fonts was fixed. Examples that mix 3D exporting and +viewing now work properly. With the -nothreads option, the main process +now waits for 3D exports to finish before proceeding. Conflicts in slide +presentations were fixed; the asy(string) function assigns defaultfilename +correctly. A bug in processing command-line options was fixed. + +Release Notes for Version 1.58 + +Two-dimensional arrowheads are now drawn automatically for 2D projections. +ArcArrow3 routines were added. Standard pen arithmetic is now used in all +colorspaces, so that interp(pen,pen,real) and Gradient(pen[] p) now work as +expected. A Wheel palette was added and is used in the example gamma3 to +indicate the phase of the complex Gamma function. A silhouette routine for +solids of revolution is illustrated in the examples spheresilhouette.asy +and hyperboloidsilhouette.asy. Problems with 3D axis label alignments were +fixed. The example scaledgraph illustrates how to factor out an axis +scaling. Interactive mode is now exited on EOF, unless exitonEOF=false. +Support for open function signatures was added. A conflict between +asymptote.sty and the breqn package was fixed. PNG images for the manual +are now built in a separate directory so that they don't take precedence +over PDF files. A problem with xasy under MSDOS was fixed. + +Release Notes for Version 1.57 + +The pdflatex texengine was fixed. The default MSDOS "start-in" directory is +now %USERPROFILE%, for compatibility with the MSWindows Vista operating +system. Temporary files are now generated in the directory specified by +the -outname (-o) command-line option, so that write access to the current +directory is no longer required. Various font size problems were fixed. +The axis coverage calculation was improved. An object(Label, envelope, ...) +constructor was added, along with support for object transformation and +alignment. Clipping is now allowed across page boundaries; +beginclip(picture, path[]) and endclip(picture) functions were implemented. + +Release Notes for Version 1.56 + +A bounding box bug in the latex texengine was fixed. +The font scaling is now rounded to the nearest integer. The wait=true +argument of shipout was fixed. The documentation of grid3 was fixed; +examples of using grid3 with scale(true) were added. The handling of the +asydef environment within Emacs lasy-mode was fixed. An asyinclude function +for embedding 3D PRC graphs in slides was implemented. + +Release Notes for Version 1.55 + +A serious bug in drawing paths of length 0 that broke the dot(pair) +routine was fixed. Problems in guide to path and path to guide conversions +were fixed. A triple invert(pair) routine was added to invert a pair z +onto the projection plane. The obsolete field of view factor was removed. + +Release Notes for Version 1.54 + +The filltype of three-dimensional labels is now respected when render=0. +Multiple file batch mode under MSWindows was fixed. The reverse(guide) and +guide examination routines were fixed. A reverse(guide3) routine was added. +Curved cyclic paths of size 1 were fixed. Fork is now used by default under +MSWindows pending stable CYGWIN POSIX thread support; this can be overridden +with settings.threads=true. The need to remove latexusage_.pre along with +latexusage-* and latexusage.aux when switching between latex and pdflatex +usage was documented. + +Release Notes for Version 1.53 + +Forking problems under Windows 2000 were fixed and MS-DOS style path +warnings were suppressed. Problems with PRC projection sizing and the +rendering logic were fixed. The toolbar is now enabled by default within +the asyattach environment. Two-dimensional transforms no longer prevent +three-dimensional labels from being projected onto the initial viewing +plane. Out-of-memory errors in the OpenGL renderer are caught again. +The new tube module was documented and a trefoilknot example was added. + +Release Notes for Version 1.52 + +Support for generating PRC output on bigendian machines was added. +Multisampling was improved: by updating the freeglut library to svn version +761, one can now specify an antialiasing pixel width with the parameter +multisample, which is now an integer. The asymptote.sty and asycolors.sty +files are now installed by default in $TEXMFLOCAL/tex/latex. The OpenGL +renderer by default now uses POSIX threads instead of fork. A work around +for the nonstandardized signature of gluNurbsCallback on various MacOS +platforms was implemented. Planar vertex shading was fixed. A planar +argument to surface was added. To work around rendering problems with some +graphics cards, the window is now hidden only when iconify=true. A tube +module was added. A setlocale segmentation fault was fixed. Now that we +require a multithreaded version of the Boehm garbage collector, the +installation instructions were updated for using the system version. An +optional user=false argument was added to min(picture), max(picture), and +size(picture). The dependency of asy-mode.el on the cc-mode.el source file +was removed. + +Release Notes for Version 1.51 + +A separate multisample setting is used to control screen antialiasing; +multisampling is now only enabled when viewing. The problem of multiple +glInit calls is fixed. A more conservative multisampling patch for freeglut +is supplied. The OpenGL process is now always forked for better +performance. The last freeglut extension was removed. + +Release Notes for Version 1.50 + +Detection and support for the native glut library on MacOSX now allows +Asymptote's adaptive OpenGL renderer to be used on all major platforms. +The OpenGL renderer now supports antialiasing; a race condition and export +problems were fixed. The new default value of maxtile=(0,0) denotes +the screen dimensions. Lighting problems due to incorrect normal +orientations were fixed. The up vector for embedded PRC output was fixed. +A viewportmargin parameter was added to allow for a larger viewport. +An iconify setting was added for UNIX systems that support rendering in an +iconified state. An embed option (default true) was added to allow one to +suppress the embedding of a rendered preview image. A new version of +asymptote.sty (1.01) supports file attachments, which provide a better way +of embedding 3D PRC files in a LaTeX document. The latexusage file prefix +was renamed from latexusage_ to latexusage-. A numerical precision issue in +the surface of revolution constructor was fixed. Support for +three-dimensional dimension bars was added; PenMargin3 and DotMargin3 were +fixed. The argument put=Above (put=Below) should now be replaced by +above=true (above=false); this is a backwards incompatible change. + +Release Notes for Version 1.49 + +Issues with surface normals that led to incorrect lighting were fixed. +By default, the mean(pen[]) routine now returns an interpolated pen with the +minimum opacity of all given pens. A patch reverse(patch) function was +added. The settings.keep flag is now handled correctly in texpath and +strokepath. A cornermean function for surfaces was added. Several +examples that illustrate patch and vertex shading were updated. + +Release Notes for Version 1.48 + +High-resolution OpenGL tiled rendering was implemented. Support for +vertex-dependent colors was added. Centering of perspective projections +was improved. Rendering artifacts in planar surfaces and thick lines were +fixed. A Gradient palette that varies linearly over a specified range of +pens was added. An improved surface constructor for convex +three-dimensional paths was added; the planar constructor should now only +be used for nonconvex paths. A DefaultHead2(filltype filltype=Fill) +arrowhead was implemented, along with an optional filltype argument for +HookHead2. New maxheight, hstretch, and vstretch parameters were added to +legend(). A boolean user=true argument was added to the point(picture, pair) +function; the framepoint routine was removed in favour of +truepoint(picture, pair, user=false). A roundbox envelope routine was +added. An antialias setting (default true) was added. A bug in xasy and an +incorrect precontrol bug in write(path) was fixed. Compilation with +standard glut for systems without freeglut is now supported. + +Release Notes for Version 1.47 + +Support for simple obj files and patch-specific surfacepens and meshpens +was added. Surface constructors for triangles were added. Three-dimensional +margins were implemented. Flat 3D arrowhead types HookHead2 and TeXHead2 +were implemented. By default, 3D arrowheads are now always drawn with +currentlight. A missing angle parameter in HookHead3 was added. Functions +that construct a pen array from a given function and palette were added, as +illustrated in the example elevation.asy. A bug in the cyclic path write +functions was fixed. A strokepath(path g, pen p) function was implemented. +A missing put argument in grid3 and a missing transform for projected 3D +mesh lines were fixed. File prefix problems were fixed. Spurious "camera +too close" errors were fixed. Tighter three-dimensional bounds are generated. + +Release Notes for Version 1.46 + +Support was added for embedding 3D PRC files within LaTeX even when +settings.render=0. An error is now signalled if the user tries to render an +image without freeglut library support. The Klein bottle example was +updated to use lightgray instead of the new default surface color (black). +The sphere animation example was updated to work with the new skeleton +structure in the solids module. + +Release Notes for Version 1.45 + +Bugs in the solids of revolution and graph3 modules were fixed; +longitudinal curves are split into front and back pieces. Min and max +arguments were added to axes and axes3. Rendering artifacts are now +avoided. When render=0, 2D and 3D objects are now sized consistently. +The automatic camera adjustment was improved. Bugs in thick three-dimensional +lines were fixed; thick lines are now drawn with fewer Bezier patches and +3D Linetype offsets are supported. The appearance of unitcones and arrows +was improved. New arrowhead3 types HookHead3 and TeXHead3 were added. The +default surface color is now black. New surface and path constructors were +added. Secure options can now be queried as read-only settings. + +Release Notes for Version 1.44 + +Full interactive 3D support has been added to Asymptote, with the option of +generating and embedding 3D PRC data in PDF files or rendering scenes +directly with Asymptote's own fast OpenGL-based renderer. The implicit +casts from 3D to 2D objects were removed (in favour of call explicit calls +to project). A path[][] texpath(string s) routine was added to convert +string into the paths that TeX would fill. Add boolean stroke parameter was +added for shading (and clipping to) stroked paths. The Circle and Arc +routines were fixed. Autoscaling of graph axes limits is now disabled by +default. A path3 path3(path p, triple plane(pair)=XYplane) constructor was +added; the path3 routines were moved to C++ code. Optimized and robust +versions of the intersection, windingnumber, inside, and surface extrema +routines were implemented. The lighting routines were replaced by the +OpenGL model. Each Asymptote process once again uses a separate +currentpen. A segmentation fault and an incorrect parameter in the +Delaunay triangulation routine were fixed. This major overhaul of the +three-dimensional graphics has necessitated a few backwards +incompatibilities. The most significant change involves filldraw: + +filldraw(polygon(5),red); + +should be replaced by + +draw(surface(bezulate(polygon(5))),red); + +Also, the solids module has been improved so that + +revolution a=revolution(O--X+Z,Z); +a.filldraw(red,blue); + +is now more sensibly written as + +revolution a=revolution(O--X+Z,Z); +draw(surface(a),red); +draw(a,blue); + +Release Notes for Version 1.43 + +A new array(n, value) function returns an array consisting of n copies of +value. Conditional drawing of surfaces meshes was implemented. Vector +field support was improved. Graph tick selection without autoscaling +was improved. By default, all 2D axes are drawn below existing objects. +An interface for drawing contours on arbitrary nonoverlapping +meshes was added. Optional support for Jonathan Shewchuk's more robust +triangulation routines was added. The file precision setting can now be +queried. A beep() function was added. The partialsum function now returns an +array of the same length as its argument (backwards incompatible). Dash +offset and font selection bugs were fixed. Modules to redefine LaTeX named +fontsizes for 10pt and 11pt article documentclasses were added. Problems +in asy-mode.el were fixed. A problem with label alignment was fixed. +The international inch is now used instead of the U.S. survey inch. +The code now compiles cleanly under gcc-4.3.0. + +Release Notes for Version 1.42 + +A routine was added for projecting a Label onto a given plane; +an ambiguity in the three-dimensional scale routine was resolved. +An inside(path p, path q, pen fillrule=currentpen) routine was added to +determine if one path is strictly within another. Optional arrows were +added to the slopefield routines. The movie function now generates +multipage PDF animations when format="pdf" and global=true; a fit argument +was added to support an optional filled bounding box for each movie frame. +Casts were added between the hsv structure and pens. Bad casts from TeX +bidirectional pipe are now caught. In inline latex mode, TeX headers are +now output only when needed. A bug in the cancellation of text addition in +xasy was fixed. The sticky bit is no longer set when creating the ~/.asy +directory. The documentation and FAQ were updated. +The dot(real[] a, real[] b) routine now returns the dot product of the +vectors a and b; this introduced a backwards incompatibility: +dot(x,y) should now be replaced with dot(pairs(x,y)). + +Release Notes for Version 1.41 + +Python-style array slices were added. The array virtual field A.keys +returns the indices of initialized entries. The concat routine can now +take an arbitrary number of arguments. The write functions now output +nothing for uninitialized values instead of producing an error. A bounding +path is stored in the object structure to allow connections to +noncardinal boundary points. The buildcycle algorithm was improved. +The expression dir(E) is a synonym for E. The visibility of unsplit solid +slices is now properly resolved. A drawpen argument was added to FillDraw. +The uniform(real a, real b, int n) function returns a uniform partition of +[a,b] into n subintervals. Complex exp, log, sin, and cos functions were +added. An interface to the internal adaptive simpson integration routine +was added. History lines are now stored immediately after input (as well +at exit, after stifling). Support for the HSV colorspace was added. +The dependence of non-PDF animations on the animate.sty package was removed by +renaming animate.asy to animation.asy (PDF animations still need to import +animate.asy). Transparency groups are now respected by xasy. +TeX diagnostics were improved. An obsolete function for drawing boxes on +pictures was removed in favour of draw(Label,box). + +Release Notes for Version 1.40 + +Hatch widths for PDF output were fixed by disabling dynamic line width +adjustment. A nurb-related bug in solid shading was also fixed. + +Release Notes for Version 1.39 + +In the animate module, a constructor bug was fixed and the temporary +multipage pdf movie file is deleted by default. + +Release Notes for Version 1.38 + +For perspective projection, nonuniform rational B-splines (NURBS) are now +approximated by adding additional control points to Bezier curves. +Inline PDF movies can be generated directly within LaTeX files (requires +animate package, version 2007/11/30 or later). SimpleHead, HookHead, and +TeXHead (Computer Modern) arrow styles were added. FillDraw is +automatically reduced to Draw for noncyclic paths. Empty clipping bounding +boxes were fixed. The xasy diagnostic Console should now work reliably on +all platforms. Graph and interpolation array length diagnostics were +improved. The axes routines now take optional xlabel, ylabel, and zlabel +arguments defaulting to empty strings. The autoformat axes tick label +routines now try to add an extra digit of precision. Pen arguments were +added to the flowchart block routines. A path&cycle operator was added. +The read1, read2, and read3 routines now affect only the current operation. +A -c (command) option and exit() command were implemented. Ambiguous +expressions are now resolved by interactiveWrite (with a warning). A patch +is included for fixing problems with the Asymptote backend for pstoedit-3.45. + +Release Notes for Version 1.37 + +The speed and useability of the graphical user interface has been greatly +improved, including full transparency support under MSWindows. +The intersections routine was fixed, and an optional fuzz parameter was +added. A bug in the arrow routines was fixed. The 2D graph routines were +improved when autoscaling is disabled, secondary axis bugs were fixed, +and the automatic logarithmic axis coverage routine was re-enabled. +Degenerate 3D reference vectors are now handled and the default 3D +tick directions were improved. The array returned by intersections is now +automatically sorted. A patch is applied to avoid out-of-memory +segmentation faults with gc-7.0. A history(int n=1) function can be used to +return the interactive history. Automatic semicolons are now added to the +history. Locale bugs were fixed. A string[] split function was added. +Installation, uninstallation, and diagnostics under MSWindows were +improved. A marker dot routine was added. The output(s,update=true) +function was fixed. Configure now uses a system version of Boehm GC if the +recommended local version isn't present. + +Release Notes for Version 1.36 + +Recently introduced bugs in the tex(), postscript(), gsave(), and grestore() +commands were fixed. + +Release Notes for Version 1.35 + +A hang in testing for the intersection of nearly identical paths in +solids.asy was fixed. The numeric formatting of setdash arguments was fixed. + +Release Notes for Version 1.34 + +An innovative graphical front end to Asymptote (xasy) has been developed. +Clipping of labels is done within a picture environment to avoid unwanted +page breaks. The default LaTeX font is now package-dependent. The syntax +was generalized to allow expressions such as (x). Comments are now +supported when reading strings in csv mode. Nesting capacity overflows +in arctime were fixed. The autoscaling of graphs for close minimum and +maximum values was improved, the default tick format is automatically +adjusted to make tick labels unique, and a general trailingzero format +string was added. Improved, robust versions of intersect and +intersectionpoints were implemented (based on a new routine +intersections). A permissions bug was fixed. A filltype argument was added +to the dot routines. Printer stack use was optimized by pruning unneeded +gsave/grestore commands. Temporary EPS files are now removed in inline PDF +mode. A discussion of the 3D generalization of Hobby's algorithm used in +Asymptote was added (intro.asy). + +Release Notes for Version 1.33 + +Routines to find the 3D and projected 2D bounding boxes of Bezier surfaces +were added to the surface module, along with the standard teapot example. +Extended for loops were documented. The page numbering of slide +presentations with stepping enabled was fixed. The int type is now a long +long type (typically a 64-bit integer). Support for reading and writing +64-bit integers in binary and XDR modes and large file support were added. +Input files are now opened in input-only mode. Multiple invocations +of labelpath now work. A projection bug in the grid3 module was fixed. +The search path order was changed: directories specified by the dir +configuration variable are now examined before the .asy subdirectory in the +user's home directory. User configuration files are ignored during +installation. Some bugs in asy-mode.el were fixed. Texput files are +removed again. A memory allocation incompatibility in the workaround for +old, broken readline libraries was fixed. The framepoint and truepoint +routines now work even when an exact picture size estimate is unavailable; +a picture scaling bug was fixed. Writing to a file specified with +-o /dir/file.eps is allowed again. A quarticroots solver was added, the +cubicroots solver was improved, and a complex quadraticroots solver was +added. A workaround for broken texi2dvi installations was implemented. +Memory leaks were fixed. The garbage collector was update to gc-7.0; +upgrading to gv-3.6.3 is also recommended. A segmentation fault in +complement was fixed. + +Release Notes for Version 1.32 + +A recently introduced segmentation fault in subpath was fixed. +The current directory can now be examined with cd() even if globalwrite is +false. The cd path is now only written once in interactive mode. +Further garbage collection improvements and leak fixes were made. + +Release Notes for Version 1.31 + +Garbage collection was dramatically improved, resulting in reduced memory +usage and increased speed. The options -compact and -divisor and the +function purge() were added to give the user more control over garbage +collection. The array virtual member function delete() with no arguments +explicitly deletes all elements of the array. +An interpolate(real[][] f, pen[] palette) function was added for +constructing the pen array needed by the latticeshade routine. +A nullpath frame and picture sizing bug was fixed. +LaTeX diagnostics were improved. A facility that does not rely on +garbage collection finalizers was implemented for closing open files +at the end of each asy process. + +Release Notes for Version 1.30 + +Constructors were added. Routines to allow access to guide +components were added. The three-dimensional projection and contour +routines were optimized. A tickmodifier NoZero and ticklabel format +NoZeroFormat were added. A simplified gouraudshade interface was added. +A linewidth bug was fixed. The array insert and delete routines were +generalized. The new array virtual member "initialized" can be used to +detect whether an element is initialized. All fonts are now automatically +embedded in PDF files. Inline PDF animations now require version 2007/05/24 +or later of the animate.sty package. General root solving routines were added. +The implicit initializer for files is null. Boolean arguments +were added to the image and shading routines to allow one to disable +data buffering. The functionality of the readline routine was split into +the routines history, readline, and saveline. Many fixes were made to +the Emacs asy-mode.el. + +Release Notes for Version 1.29 + +Support for drawing surfaces described by the null space of real-valued +functions of three variables was added. The dir command now works correctly +for degenerate Bezier paths; an optional final argument can be used to +examine incoming and outgoing tangent directions. Numerical overflow and +precision issues were addressed. A piecewise monotonic spline type and +example were added. Optional fillpen and legend entries were added to +histogram. The "q" command quits in interactive mode only if there is no +top-level variable of that name. Standard input of strings was +fixed. Support for transparent PNG images in xasy was added. Animation +support was upgraded to use the new animate.sty package rather than the +interim pdfanim_temp.sty package. + +Release Notes for Version 1.28 + +TeX error handling was improved. A dvipsOptions configuration variable was +added. A recently introduced bug in the XDR routine xinput was fixed. +Compilation under the upcoming GCC 4.3 release is now supported. +Nonglobal PDF animations, where each frame is separately scaled and written +to a file, were implemented. Reading from standard input now works correctly +even in the absence of a working readline library. A build problem under +Fedora Core 5 was fixed. Parallel builds are now supported. + +Release Notes for Version 1.27 + +A Hermite spline graph interpolate type was added for smoothly joining +sampled functions. The cycle3, tension3, and curl3 keywords were +respectively renamed cycle, tension, and curl. Assignments no longer write +the value at the prompt. A bug in longitudinal skeleton detection was +fixed. The filloutside routine now works with paths that extend beyond the +current boundary. The unit n-point cross function returns a cyclic path. +The "append" argument of the output function was renamed to +"update", which now allows both reads and writes to the data file. +Negative arguments to seek mean relative to the end-of-file; a seekeof +function was added. PDF animations can now be loaded from an external file. +The TeX pipe handshaking was improved. TeXLive 2007 is now supported under +MSWindows. A work around was implemented for a MikTeX bug in handling file +names containing spaces. + +Release Notes for Version 1.26 + +The correct surface normal is now used when calculating lighting; a Klein +bottle example was added. The front/back detection of the transverse +skeleton of solids of revolution is fixed. A better camera-independent +reference value for resolving path3 orientation is used. A 3D midpoint +routine was added. Tick values for broken axes can now be autogenerated; +broken logarithmic axes are also supported. A 2D aligned axes example was +added. A patch that fixes a redisplay bug in gv-3.6.2 is included. + +Release Notes for Version 1.25 + +A new picture size routine, which maps specified user coordinates to a +given final size, provides a convenient way of forcing the plotted +subregion of a graph to have a fixed size. The correct surface +normal is chosen when calculating lighting. The comment character can now be +escaped when reading strings from data files (but is disabled when reading +raw characters with getc). The new word file mode is useful for reading +white space-delimited strings. PostScript output files are now explicitly +designated as EPSF in the header line. The minimum width and height of +flowchart blocks may now be controlled separately. Interpolation and knot +theory modules were added. The usage of path vs. guide in the base files was +standardized. + +Release Notes for Version 1.24 + +Structures now have implicit initializers. PDF animations are supported in +inline tex mode by communicating the texpreamble to LaTeX. The asypreamble +environment was removed in favour of corresponding Asymptote commands in +the asydef environment. Default y tick values were fixed. The binary space +partition now works correctly for projections from infinity; an arbitrary +target point can be specified for perspective projections. A 3D version of +the intersectionpoints routine was added. Unconditional binary logical +operators & and | and bitwise integer functions AND, OR, XOR, and NOT were +defined; the array boolean operators && and || were renamed to & and |. +The PostScript clipping code was fixed. The angle(rotate(x)) routine now +always returns x (mod 360). User debugging errors are now cleared. +The fontsize package was updated to use fix-cm.sty instead of type1cm.sty. +The Microsoft Windows registry is checked for both GPL and AFPL Ghostscript. +A workaround was implemented for a pdflatex vertical offset bug. +Segmentation faults in the Delaunay triangulation and image codes were fixed. + +Release Notes for Version 1.23 + +Microsoft Windows autoconfiguration has been implemented by querying the +registry: Asymptote and the applications it depends on may now be installed in +any location. The shipout command is allowed to write to other directories +if and only if -global is true. An autoimport configuration setting was +added. Importing the Gnu Scientific Library (gsl) now works on all +platforms. A texpreamble environment to contain the LaTeX preamble for +both LaTeX and Asymptote was added to asymptote.sty. A conflict with the +French babel packages was fixed. Background picture sizing in the slide +presentation package was fixed. + +Release Notes for Version 1.22 + +Problems with loading LaTeX packages and slide presentations were fixed. +Non-static variables in every loop iteration are now allocated anew. +Formatting under locales with nonperiod decimal separators was fixed, +along with logarithmic tick labels near the machine epsilon. Concatenation +of nullpaths was fixed. New path markers were added and the perpendicular +symbol in the geometry module was improved. The skeleton routines in the +solids module were split to provide finer control. Routines to facilitate +drawing 3d contours were added. Reading portable XDR binary data into +arrays works again; functions for reading and writing also in native binary +formats were added. The TeX preamble is no longer output in inline +mode. The TeX pipe is now aware of a previously generated aux file. Memory +leaks were fixed. An inline limit is now imposed on old compilers to speed +up compilation. Setlocale warnings are disabled unless debugging is on. A +colorspace command for extracting the colorspace of a pen was added. An +Asymptote introductory slide presentation was added and a user-written +Asymptote tutorial is now cited in the manual. + +Release Notes for Version 1.21 + +Expressions entered at the interactive prompt are automatically evaluated +and written to stdout. The routine intersectionpoints returns all +intersection points of two paths. Bounding box computations of paths drawn +with transformed pen nibs were fixed. Transparency and automatic +colorspace promotion are supported when shading and drawing images. +A grid3 module for drawing 3D grids and a binary tree module were added. +Automatic tick computations were improved: the actual tick value is now +passed to the ticklabel formatting routine, even for logarithmic axes. +A tickmodifier routine gives users complete control over which of the +auto-generated ticks actually get drawn. The contour drawing and filling +routines were improved. A --where option makes --listvariables show where +global functions and variables are declared. Emacs asy-mode was improved, +including function source code lookup. An optional labelpath interface to +the PSTricks pstextpath macro was implemented for drawing curved labels +along paths. In inline latex usage, picture are no longer scaled by +default (use \begin{asy}[\the\linewidth] to recover previous default of +scaling to line width). A texcommand option was added to override the tex +engine command name. The slide presentation module no longer forces +pdflatex; bibliography support was added, figuremattpen was reimplemented, +and the spurious vertical shifting of bullets was fixed. Compilation under +AIX and IRIX systems is supported. + +Release Notes for Version 1.20 + +Explicit yaxis label angles were fixed. Loading and including diagnostics +under the -vv option were improved. The Emacs asy-mode now respects +TeX-electric-sub-and-superscript. The texpath configuration variable and +diagnostics were fixed under MSWindows. Low-resolution palettes now +display correctly. A routine to fill cyclic contours was added, along with +the example fillcontour.asy. A command-line option to change the current +working directory was added. The FAQ was updated. + +Release Notes for Version 1.19 + +Bezier surfaces were implemented, along with tensor and Coons patch +shading. The cylinder function was changed to be consistent with the cone +function. The intersect routine now returns an array of two reals. +The unitsize, xunitsize, and yunitsize arguments of shipout have been +replaced with a unitsize function. The seconds() function now works +portably. Minor bugs in inside() were fixed; a winding number routine was +added. The movie bounding box is set to the largest bounding box of all +pictures. Portable high-quality embedded PDF movies are now supported, as +well as portable external movies. An embedded U3D example was added. +Alignment positioning transformation was fixed; a Rotate(pair) and a +string(real x) routine was added. Flowchart routines and the labelbox and +advection examples now work with pictures as well as frames. +An add(picture pic=currentpicture, drawer d) wrapper was added; a picture +rescaling bug was fixed. Tex error handling was improved. Optional bounds +arguments were added to verbatim postscript and tex commands. Writing to +only the local directory is allowed unless the -global (or -unsafe) option +is specified. A final backslash continues a line on the interactive prompt; +a new multiline option is convenient for cutting and pasting code in +interactive mode. Clipping now sets the true size coordinates to 0. Memory +usage was reduced. The documentation was updated, including a description +of how to produce Debian binaries from RPM binaries. + +Release Notes for Version 1.18 + +A pen caching problem and clipping bugs were fixed. Bugs in interactive +mode and in linemode string reads were fixed. The picture.scale() routine +now guards against division by zero. The drawing of surface meshes was fixed. +The minbound and maxbound functions were implemented also for arrays. +The labelx, labely, xtick, and ytick routines respect the current graph +scaling. The asycolors.sty file was updated to remove the pstricks +dependency. The slide package now works with both latex and pdflatex; the +colordvi dependency was removed. A nativeformat() function returns "eps" +or "pdf", depending on the current tex engine. The pdf() and latex() +functions are now visible. The usepackage and minilatex modules check for +latex mode. Static variable allocation is now discussed in the FAQ. +An image histogram and contour example was added. The diatom example was +modified to illustrate interaction of fixed-sized and scaled coordinates. + +Release Notes for Version 1.17 + +A workaround for a garbage collection bus error under MacOS X was implemented. +A uniform histogram routine was added to the stats module. New frequency +binning routines were added. The argument order of the nonuniform frequency +binning routines was interchanged for consistency (backwards incompatible). +The FAQ was updated. + +Release Notes for Version 1.16 + +Inline LaTeX mode was fixed. The legend routine was generalized to allow +multiple entries per line; an example was added. The truepoint +function was renamed framepoint. A function truepoint that works like point +but accounts for fixed-sized objects was added. +The picture.calculateTransform function now returns the actual transform used +for fitting in the case where only an approximate picture size was +available. A 2d frequency binning routine was added to the stats module. +A memory leak was fixed. + +Release Notes for Version 1.15 + +Graphics label bounds and incorrect path bounds in latticeshade were +fixed. The LaTeX color package is now used for the latex and pdflatex engines, +to keep them informed of the current color. A unitlength of 1pt is now +enforced in inlinetex mode. In cases like 2D graphs where only an +approximate picture size estimate is available, the transform is adjusted +so that the fitted frame meets the size specification. The cube animation +and binary space partition were fixed. The determinant of a singular +matrix now returns 0 instead of an error. Temporary pdf files are removed. +The gv patches were removed since these are included in the long-awaited +gv-3.6.2 release. A workaround for a compilation problem under MacOS X +10.3.9 was implemented. A DIN 15 CAD package and new examples were added. + +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. |