diff options
Diffstat (limited to 'Build/source/utils/asymptote/ReleaseNotes')
-rw-r--r-- | Build/source/utils/asymptote/ReleaseNotes | 2323 |
1 files changed, 2323 insertions, 0 deletions
diff --git a/Build/source/utils/asymptote/ReleaseNotes b/Build/source/utils/asymptote/ReleaseNotes new file mode 100644 index 00000000000..eea0ac99636 --- /dev/null +++ b/Build/source/utils/asymptote/ReleaseNotes @@ -0,0 +1,2323 @@ +Release Notes for Version 2.69 + +A segmentation fault in subpath3 was fixed. The fuzz parameter in bezulate +was increased to handle font precision issues. A missing above argument was +added in plain_boxes.asy. Scaling bugs in the palette module were fixed. +The contour module now respects picture scaling. Bugs in reading null +fields were fixed. Orthographic scaling is now consistent with perspective +scaling when keepAspect=false. The obsolete everypage package was removed. +A compilation issue with LIBCURL and compilation warnings were fixed. + +Release Notes for Version 2.68 + +Floating point exceptions in OpenGL libraries are now masked. +A normalization used to render tubes was fixed. A Label align(Label,dir) +function was added for aligning label normals. A new settings.compress=true +option controls PDF image compression. A bool isometry(transform) function +was added. Various bugs in the geometry module were fixed. +The transpose function ignores uninitialized elements. +Null fields are treated as undefined values in cvs mode and in line mode. +Uninitialized rendering variables were fixed. A RELEASE variable was added. +Logarithmic graphs of surfaces are supported. Files are opened +without assuming an asy suffix. Support for Ghostscript 9.53 was implemented. +The end argument of Margin functions is now optional. A function +cputime().change.clock that returns the high-resolution elapsed wall clock +time was added. A --disable-curl option was added. +The centering of slides was fixed. Null characters and null strings are +supported in the replace function. Configuration without readline support +was fixed. In binary mode, an entire file can be read into a string. +The getc function now works properly when reading the NUL character. +Reproducible builds are supported. + +Release Notes for Version 2.67 + +Support was added for importing and inputting URLs. Compilation and 2D SVG +to HTML conversion no longer requires the GLM library; 2D html output is +fit to the canvas unless settings.absolute=true. Diagnostics for dvisvgm +were enabled; SVG clipping was fixed. A -globalread setting (default true) +was implemented. Files are opened using the search path, which now +includes the examples directory. An invalid array dimensions error was fixed. +A WebGL resize event listener was added; the + and - keys now zoom in and out, +rather than expanding and shrinking the viewport. Remeshing on export is +forced; unnecessary remeshing on zoom in AsyGL is avoided. +The triple dir(path3, path3) function was normalized. The repositioning of +OpenGL windows was fixed. The copy constructors for path and path3 were fixed. +Asymptote errors no longer cause Xasy to hang. A numerical precision issue +was fixed. A portable way of skipping whitespace was implemented; casts +from empty strings now yield uninitialized values. Interrupt handling under +MacOS X was fixed. A devicepixelratio setting was implemented. The error +location is displayed in the console. Segmentation faults were fixed. +The documentation was updated and the code was reformatted. A hang on exit +under MSWindows was fixed. Obsolete encoding modules were removed. + +Release Notes for Version 2.66 + +A bug in the Bezier patch bounds was fixed. Vertex and material data are +copied from the CPU to GPU only when necessary. The default Headlamp light +was brightened. WebGL output is centered in the viewport, extending to the +canvas boundary; the precision of planar Bezier surfaces was increased +to avoid artifacts. Fullscreen mode has been fixed; the new default +maxviewport=(0,0) specifies the screen dimensions. Camera adjustment was fixed. +Problems with Xasy and interactive signals under MSWindows were fixed. +A background color for both 2D and 3D images can be specified with +currentlight.background. Offscreen rendering on headless machines has been +reinstated; while the setting offscreen has been removed, one can again +configure asy for either onscreen or offscreen rendering. Clipping was removed +from the slopefield module. Functions mapArray, mapTemplate, real abs2(pair), +and real abs2(triple) were implemented. The new Ghostscript transparency model +requires Ghostscript 9.52 or later. The detection of TeX errors was improved. +An array segmentation fault was fixed; array dimensions are checked. +Flattened monochrome tensor patches with interior internal control points are +now drawn as filled cyclic paths. PDF offsets were fixed, along with the +auto-reload feature for Acroread. SVG support was improved; 2D images can now +be output in HTML format using inline SVG code, to support the +Asymptote Web Application, a new cloud service at http://asymptote.ualberta.ca. + +Release Notes for Version 2.65 + +A bug in rendering 2D preview images of a 3D scene was fixed. +The 100-error TeX limit is gracefully detected, rather than hanging. +A more accurate Bezier approximation to the sphere was implemented. +An initial perpendicular direction can now be specified for the +rotation minimizing frame for a path3; the previous direction is +no longer cached between calls. + +Release Notes for Version 2.64 + +Discontinuities were removed from the rotation minimizing frame used for +constructing tubes. A work around was implemented for an incorrect +declaration in obsolete versions of the NetBSD readline header file. + +Release Notes for Version 2.63 + +A race condition in the AsyGL library was fixed. Emissive and +shininess values can be overridden for vertex colors. Thin Bezier +curves can be drawn with lighting enabled. Outline mode for 3D surfaces +was fixed; outline and mesh mode were ported to WebGL. Degenerate +surface normals were fixed. The octant1, hemisphere, and sphere +surfaces were replaced by nondegenerate versions that render faster. +The unitcone, unitfrustum, and DefaultHead3 arrowhead were simplified. +A robust and more efficient tube routine was implemented; +the PRC tube primitive was removed. WebGL compression was achieved by +implementing sphere, disk, cylinder, and tube primitives in the AsyGL library. +Patches are now split in both directions only when required. +If the GNU Readline library is unavailable, the Editline library +is used to at least support command-line editing, without history features. +An MSDOS configuration issue was fixed. + +Release Notes for Version 2.62 + +A hyperbola(point F1, point F2, point M) function was added to the +geometry module. Duplicate intersections are avoided. Errors in the +texpreamble are handled gracefully, without hanging. Unwanted +indentation under LuaLaTex was removed. The WebGL canvas is populated +with the design width and height. The WebGL context is stored in the top +rather than parent window. To avoid polling, WebGL images now draw directly. +Zooming of embedded WebGL images is disabled until activated with a +click or touch event, using ESC to cancel activation. WebGL usage +comments now suggest embedding as an iframe rather than an object. +The obsolete grffile package is no longer used. Typos in the documentation +were fixed. + +Release Notes for Version 2.61 + +Bugs in the OpenGL driver were fixed. A work around for the WebGL singleton +array optimization bug on the Intel GPU was fixed. OpenGL and WebGL attributes +are now bound before linking the shaders. Bland's rule is implemented correctly +in the simplex solvers. A missing data file was added. + +Release Notes for Version 2.60 + +Transparent WebGL backgrounds were fixed. A build issue involving the revision +number was fixed. The locatefile function now returns the fully qualified +file name. The htmlviewer uses the absolute path for all platforms; +it is also used for displaying svg files. SVG output for embedded PNG, JPEG, +and external vector EPS and PDF images is supported with the latex TeX +engine and dvisvgm 2.8. The simplex solver was optimized. A pad function that +pads a picture to a precise size in both directions was introduced. +The xasy front end was ported to high-resolutions screens and handles Ctrl-C +interrupts correctly. Objects can be positioned finely with the arrow keys +while holding down the mouse button. The origin/center order and anchor names +were fixed. A front/back detection bug in the solids module was fixed. +The grffile package fixes issues with included file names. +This release requires Version 1.34 of asymptote.sty (auto-generated). + + +Release Notes for Version 2.59 + +OpenGL memory allocation and transparency bugs introduced in version 2.54 were +fixed. Rendering efficiency was improved. In view of limited GPU resources, +only the required material uniforms are passed to each shader. +The WebGL vertex and fragment shaders have been moved to the asygl library. +Multiple embedded images now share a single WebGL context and shaders, +to work around browser limitations. A bug in 3D arrows was fixed. +Unavailable material attributes are now ignored. Miscellaneous Python support +files were ported to Python3. The obsolete maxvertices setting was removed. + +Release Notes for Version 2.58 + +Intersection points in geometry.asy are now returned in currentcoordsys; +a numerical precision issue was also fixed. Ambiguous function signatures +in geometry.asy are resolved by requiring explicit casts when converting +general forms to special cases. The xasy editor selection is now consistent. +Building the asymptote.so shared library is supported again. +A bug in rendering indexed triangle arrays was fixed. Execution errors in +support utilities are now handled gracefully. Due to current limitations of +dvisvgm (2.7.4), graphic() can only display SVG output (used by the xasy +vector editor) for external vector EPS graphics (embedded images, PDF, PNG, +and JPG formats are not yet supported). Building under CYGWIN with X11 is +supported again. The --version option lists both enabled and disabled features. +The GLX library is explicitly linked if present. + +Release Notes for Version 2.57 + +Scenes with lighting disabled are rendered correctly in WebGL. +Attempting to output HTML for 2D pictures produces an SVG file. +A conditional was removed from the fragment shaders. A viewportshift option +was added to the WebGL driver; the home (h) option now forces a remesh. +The version number was removed from the local offline copy of asygl. +A numerical degeneracy in the conic sections intersection routine +was fixed. A workaround for the broken XDR headers under MacOS X was +implemented. An issue with animations was fixed. The --version option displays +a list of compiled-in features. + +Release Notes for Version 2.56 + +An array bounds error was fixed. WebGL output now supports background +colors, including transparent backgrounds. Preprocessor conditionals were +fixed. Scrolling of webgl images is now disabled within the viewport. + +Release Notes for Version 2.55 + +An initialization bug in the OpenGL renderer and portability issues were +fixed. + +Release Notes for Version 2.54 + +Support for generating and embedding interactive 3D WebGL vector graphics +within an HTML file has been added, allowing Asymptote figures +to be displayed on modern mobile and desktop browsers. The OpenGL rendering +routines were further optimized, yielding higher frame rates and +lower memory usage. The view position for perspective projection was fixed. +The default value of file word() was fixed. Installation issues were +addressed. A new digits setting controls the default output file precision. +A hanging pipe was fixed. The popcount function was extended to +systems that lack 64-bit integers. The order of PRC quad colours was fixed. +If lighting is enabled, vertex colors are now ignored in PRC images; +when drawing a surface s, use draw(s,prc() ? nolight : currentlight); +to disable lighting manually and recover the old behaviour. + +Release Notes for Version 2.53 + +A memory leak and antialiasing artifacts in the 3D rendering engine were fixed. +For PRC content, oblique projections are now converted to orthographic +projections. Portability issues were addressed. + +Release Notes for Version 2.52 + +Under MacOS X, 3D rendering is supported again, the xasy menubar is +now visible, and the default PostScript previewer was changed to "open". +VISUAL, EDITOR, and OS-specific editor overrides are now supported in xasy. +Obsolete code was removed and spelling mistakes were fixed. + +Release Notes for Version 2.51 + +Portability fixes for FreeBSD x86 and MacOS X were made. + +Release Notes for Version 2.50 + +The Phong-Blinn lighting model was replaced by a physically based rendering +model; the ambient attribute was removed. Various portability and build issues +were addressed. OpenGL is supported again for both 32-bit and 64-bit MSWindows. + +Release Notes for Version 2.49 + +Portability issues and numerical precision issues were fixed. + +Release Notes for Version 2.48 + +The OpenGL code was modernized to use GLSL shaders. Transparent +triangles of different materials are now sorted before drawing. +The viewport option from the light function was removed. +A workaround was implemented for the Ghostscript transparency extension +-dSAFER bug. Bugs in the simplex method were fixed. Experimental +offscreen rendering is now disabled by default due to NVIDIA conflicts. +The min, max, minratio, maxratio, and intersection calculations were +accelerated. A workaround was implemented for broken Intel GPU drivers +under MSWindows. + +Release Notes for Version 2.47 + +Further shipout and scaling problems were fixed. Unused files were removed. +Multiple-page documents now produce PS instead of EPS output. + +Release Notes for Version 2.46 + +The pen width is now accounted for in the bbox function. The relative +alignment of a label to a path now transforms correctly with picture +rotation. Various shipout issues were fixed. The ghostscript library +location from the MSWindows registry is now ignored for compatibility +with TeXLive. + +Release Notes for Version 2.45 + +The xasy graphical front end for Asymptote has been rewritten to +support code reordering, using Qt5 and scalable vector graphics. +An uninitialized counter was fixed. A stable=true option was added to sort. +The restricted simplex method has been replaced by a complete simplex +solver that handles general size constraints. The rpc library has been +replaced by the tirpc library. The dvips utility is forced to respect +EPS requirements again. The system ghostscript library is now used by +default for dvisvgm. Make clean now removes GSL symbols. The MSWindows +system path is no longer modified by the installer. A CLZ bug was fixed. + +Release Notes for Version 2.44 + +Floating point exceptions are masked again under CYGWIN, pending strtod bug fix +(issue #65). Various portability issues were also addressed. + +Release Notes for Version 2.43 + +The real modulo operator was fixed. Vector SVG output is now supported for +PDF tex engines. Compilation under MacOS X was fixed. Both 32- and 64-bit +MSWindows binaries are now available. + +Release Notes for Version 2.42 + +Bitreverse and popcount functions were added. An overflow in the modulo +operator was fixed. An asymmetry in angle(transform t) was fixed so that +angle(yscale(-1))=0. Missing 3D underline characters were fixed. +The MSWindows binary is now 64-bit. + +Release Notes for Version 2.41 + +The rendering of Bezier patches was improved. Minor improvements were made +to perpendicular marks in the geometry package. A perl issue was addressed. +Two unwanted temporary files are now removed after TeX processing. +EPS output is now supported with all TeX engines. A workaround was +implemented for the ImageMagick jpeg black background bug. + +Release Notes for Version 2.40 + +A partial workaround for the OpenGL transparency bug was implemented, by +presorting transparent triangles of the same material. The examples were +updated and a segmentation fault was fixed. Multisample detection, surface +rendering, and crack filling algorithms were fixed. The default compilation +flags now specify -std=c++11. + +Release Notes for Version 2.39 + +A workaround was implemented for the backwards incompatibility in the +TeXLive 2016 graphicx package. Empty tick labels in graphs are now avoided. +A paletteticks NoTicks option was added. Support for lualatex was improved. +Renderers for Bezier patches and curves more efficient than those +in the deprecated GLU library were implemented. + +Release Notes for Version 2.38 + +An integer division operator # was added. Control points in xasy are now +correctly parsed. Longitudinal splitting in the revolution structure of +the solids module was fixed. Portability fixes were implemented. +The ncurses library is now only required with --enable-readline. +A --disable-sigsegv configuration option was added. + +Release Notes for Version 2.37 + +The xasy graphical user interface now runs under both Python 2.7 and Python 3. +Legacy versions (prior to 9.14) of Ghostscript can be supported by +assigning settings.epsdriver="epswrite" (or by setting the environment +variable ASYMPTOTE_EPSDRIVER to epswrite). The quiet flag suppresses +noninteractive standard output when settings.verbosity <= 1. A progress +function was added to the plain_strings module. The smoothcontour3 module +was optimized to use Bezier triangles where appropriate, along with a +built-in least-squares routine and an improved root finder based on +quadratic interpolation. If settings.sysdir is empty, preference is given +to a version of kpsewhich in the same directory as the executable for +determining the correct sysdir. The handling of degenerate normals of +Bezier triangles was fixed. Bugs in forking, integer formatting, dash +adjustment, subpaths, and guide reversion were fixed. Version 1.30 of +asymptote.sty (auto-generated) and version 0.35 (or later) of media9.sty +are now required. + +Release Notes for Version 2.36 + +Bezier triangle patches have been implemented in place of degenerate Bezier +tensor product patches. Surface rendering was improved. The configuration +of the readline and gc libraries was fixed. The asy configuration +directory is only created if localhistory=false. Patches are now sorted by +projected distance. Animations were fixed by running LaTeX twice. +The asy-mode.el headers were updated. Intermittent segmentation faults and +floating point exceptions in the OpenGL renderer were fixed. Support for +GSL 2.0 was added. A quite nan constant was added. Straight segments are no +longer split in bezulate. Segmentation faults in tab completion were fixed. +A work around for a clang 3.7.0 compiler bug was implemented. +The smoothcontour routine was sped up. Several bugs in the file read routines +were fixed. A bug in rest argument signature equivalence was fixed. +Threads are no longer used in batch mode, except under MacOS X. A convenience +function graphicscale was added for using graphic with the conTeXt tex +engine. The splinetype detection for Spline surfaces was fixed. + +Release Notes for Version 2.35 + +A work around was implemented for a ghostscript eps2write bug that forces +all postscript to the first page, breaking multiple 3D XeLaTeX and ConTeXt +labels. + +Release Notes for Version 2.34 + +The readability of named pen colors was improved in the documentation. +A surface cone(path3 base, triple vertex) routine was added for +constructing an approximate cone over an arbitrary base. A test for +Ghostscript 9.14 or later was added to the build process. The documentation +was updated. A CYGWIN warning message under Windows 8 was fixed. + +Release Notes for Version 2.33 + +A work around was implemented for the missing epswrite driver in +ghostscript-9.15. Deconstruction is now always done in the C locale. +A work around for a unit change in dvisvgm-1.5.3 was implemented. +The path arc(pair B, pair A, pair C, real r) function was fixed. +The handling of the boolean condition in parametric surfaces was fixed. +The default meshlight was changed to nolight so that mesh lines with +positive width appear consistent with the default mesh lines. +A nonsquare image dimension error was fixed. The definition of the +SimpleHead arrowhead was fixed. The zoom/menu button and play option were +fixed. An intersect(path, surface) function was implemented. +A smoothcontour3 module written by Charles Staats and leminiscate example +were added. The inline asymptote.sty option now works with xelatex. +An obsolete workaround for an Adobe Reader transparency artifact +was removed. An asylatexdir option was added to support the pdflatex +-output-directory option. An aligndir option for aligning the picture to +an arbitrary point of the page boundary was added. The garbage collector was +updated to gc-7.4.2. The documentation was updated. + +Release Notes for Version 2.32 + +The libc++ stringstream workaround was also enabled for FreeBSD. +The segment(bool[] b) function was fixed. The side(pair,pair,pair) function +was renamed to orient(pair,pair,pair) and an error in its documentation was +corrected. New functions orient(triple,triple,triple,triple) and +insphere(triple,triple,triple,triple,triple) were implemented. A random +number generator incompatibility on some platforms was fixed. Support was +removed for the obsolete utility texi2dvi4a2ps. Compiler warnings were +suppressed. + +Release Notes for Version 2.31 + +Hangs in 3D font generation and also in the "none" tex engine were fixed. + +Release Notes for Version 2.30 + +Compilation issues were addressed. A workaround for the broken stringstream +container in MacOS 10.9 libc++ was implemented. The OpenGL zoom/menu button +was fixed. + +Release Notes for Version 2.29 + +The TeX bidirectional pipe was overhauled to support the context tex engine +again. The luatex and lualatex tex engines were enabled. The inline option +used by the asymptote.sty LaTeX package and the inlineimage option used for +generating external PRC files were fixed. Portability issues were addressed. + +Release Notes for Version 2.28 + +A locale bug that interfered with the 3D PRC camera transformation was fixed. +Minimum OpenGL window constraints were removed in favour of the viewportsize +variable. The transform(u,v,O) function, which projects onto the plane +spanned by u and v through point O, was fixed. Numerical overflow issues in +quadraticroots and cubicroots were fixed. The documentation was updated. + +Release Notes for Version 2.27 + +Move Adobe transparency workaround to C++ code to allow use of texpreamble +again with the pdflatex tex engine. + +Release Notes for Version 2.26 + +The xasy graphical user interface now terminates the asy process on exit. +The xasy code editor under MSWindows was fixed; the default code editor is +now winpad. Degenerate HookHead and SimpleHead arrows were fixed. +Portability issues were addressed. + +Release Notes for Version 2.25 + +A superfluous play button in rendered 3D images embedded by recent versions of +media9 is now suppressed. The contour.asy module was reverted to a previous +stable linearized version. A numerical precision issue in makepen was fixed. +A routine for drawing braces was added. Deep recursion is now avoided in +guide flattening. A workaround for an Adobe Reader transparency artifact +was implemented for the pdflatex and xelatex tex engines. Raw PRC output +can now be generated with the "-f prc" command-line option. Vector patches +are now sorted to work around opacity artifacts in many rendering engines. +The xasy code editor now accepts command-line options. Under MSWindows, +the ghostscript library is searched for in both the 32 bit and 64 bit +registries. The FAQ and documentation were updated. + +Release Notes for Version 2.24 + +A segmentation fault in drawSphere was fixed. Recursive calls to simpson +are now supported. The explicit libglapi dependency was removed. +A latexmkrc example file that shows how to store figures in a subdirectory +is now included. + +Release Notes for Version 2.23 + +Compilation without the FFTW library is now supported again. + +Release Notes for Version 2.22 + +Self-defined unary operators are now allowed. Formatted strings instead of +real values are compared in OmitFormat. The segment(bool[]) function was +rewritten to use the more efficient segmentlimits(bool[]) call. +Unnecessary buffering of surface and path3 data was removed. +Portability tweaks were made. References to out-of-date trembling +examples were removed. Vertex-colored triangles now work again in Adobe XI. +The transformation of normal vectors was fixed. PostScript extend +qualifiers were added for axial and radial shading. The TEXMFMAN +environment variable is now used to find the TeXLive sysdir. + +Release Notes for Version 2.21 + +Explicitly transformed billboard labels now work correctly again. +The alignment point of OpenGL billboard labels was fixed. An extend +parameter was added to the axes (default true) and axes3 (default false) +routines. A history recall bug was fixed. A typo was corrected in the +documentation of the Jacobi elliptic functions sncndn. + +Release Notes for Version 2.20 + +A work around was implemented for a dvipdfmx bug that prevents the +xelatex tex engine from properly embedding PRC objects. Billboard rotation +is now disabled for explicitly transformed labels. + +Release Notes for Version 2.19 + +Numerical resolution issues with the PRC camera orientation and viewportshift +were fixed. The lighting of NURBS surfaces was fixed. The special 8192 +strlen NSIS build was now correctly reinstated, with stubs, to prevent the +installer from overwriting Windows PATH environment variables > 1023 bytes. + +Release Notes for Version 2.18 + +A compilation issue on MacOSX was addressed. Secondary axes pictures now +inherit the size of the primary picture, so that the markthin marker works +properly. The special 8192 strlen NSIS build was reinstated to prevent the +installer from overwriting extremely long Windows PATH environment variables. + +Release Notes for Version 2.17 + +A bug with non-square pen function images was fixed. Autoscaled +logarithmic axes were fixed. Offscreen and non-offscreen rendering are now +supported in a single binary (requiring OSMesa version 8), with +settings.offscreen defaulting to false. The media9 LaTeX style file is now +used to embed 3D PRC content instead of movie15. Local 3D coordinates are +now used. PRC Part names are nolonger generated by default. A bug in +bezulate was fixed. A settings.axes3 flag was added to control the +visibility of PRC axes. An efficient 3D routine for drawing many +triangles, with specified vertices and optional normals or vertex colors, +was implemented. + +Release Notes for Version 2.16 + +Ticks are no longer autoscaled when the number of major intervals is +specified and autoscale is false. Manual tick scaling was fixed. A bug in +the palette range was fixed. A division by zero in constructing curved arrows +was fixed. A numerical underflow was fixed. A picture bound error was +fixed. The current value of currentpen is now always respected in default +arguments. A default viewportwidth is no longer imposed for attached +images. A routine for computing camera positions was added. The format +command is now more consistent with C++ printf formatting. Named arguments +can now appear in function calls after rest arguments. The wheel example +was improved to support PDF animations. The erase command no longer resets +the machine state. Pipes are now used for xasy communication. A new mode +parameter to input and output replaces xinput, xoutput, binput, and +boutput. The icon directory path for 64-bit MSWindows systems was fixed. +Compilation of native CYGWIN binaries is now supported. + +Release Notes for Version 2.15 + +A compilation problem under MacOS X was fixed. + +Release Notes for Version 2.14 + +Minor problems in the geometry module were fixed. Billboard interaction is +now disabled for offscreen rendering. A markthin(path) marker with opacity +thinning was implemented. A locale string was added to format(string,int). +The copy, map, and sequence functions were generalized to arbitrary depths. +Asymptote can now be compiled as a shared library. A tuple operator was +added. The draw(revolution) function now defers drawing until the final +camera position is known. Nonrendered preview images can now be generated +for fitted pictures. String reads from binary files were fixed. An int +ascii(string) function and a bool isnan(real) function were implemented. +Jacobi elliptic functions were implemented. A quick reference card was added. +Compilation and static initialization issues under MacOS X Lion were addressed. + +Release Notes for Version 2.13 + +Compilation and installation issues were addressed. + +Release Notes for Version 2.12 + +Minor compilation issues were addressed. + +Release Notes for Version 2.11 + +A new offscreen (software) 3D rendering option supports rendering on +machines that are remote or lack a working video graphics card. +Shifted pens now work correctly. The handling of whitespace in word mode +file reads was fixed. A transpose argument was added to the pen function image +facility, for consistency with the other image functions. The limit +calculation of parabola and hyperbola was fixed in the geometry module. + +Release Notes for Version 2.10 + +PRC vertex-shading for straight patches was implemented. A general image +routine that uses a pen function of two integer parameters was implemented. +A 3D pixel routine was added. A temporary expression is now used to avoid +side effects in self operators. Keyword-only function arguments were +implemented. The sizing routines were recoded. Bugs in drawline and +geometry were fixed. The geometry module no longer overloads the built-in +circle and ellipse functions. PDF TeX engines are now supported in xasy. +Directory prefixes are no longer stripped from .js and .prc file names. +The TeXShop instructions were updated. The asymptote.sty LaTeX style file +was updated to allow leading spaces before \end{asy} and to introduce a +keepAspect keyval option. Segmentation faults were fixed. +Unwanted state-dependency was removed from the startTrembling function of +the contributed trembling module by introducing a tremble structure +(backwards incompatible change); see the example floatingdisk.asy. + +Release Notes for Version 2.08 + +Legend markers now work again. + +Release Notes for Version 2.07 + +The -P option required by ghostscript 9.00 was added. The limits command +now works correctly with reversed axes. The asyinclude command of +asymptote.sty was improved so that asy source files do not need to be sent +to publishers; the asy extension is now optional. A mktemp function was +implemented. Further MSWindows installer problems were addressed. + +Release Notes for Version 2.06 + +Compilation problems and build issues were fixed. + +Release Notes for Version 2.05 + +Arbitrary depth array constructors were re-instated. Profiling code was +added. Spaces within file names and eps file attachments are now supported +in inlinetex mode, and interference from any pre-existing aux file is +avoided. A new auto-generated version (1.21) of asymptote.sty contributed +by Will Robertson features a latexmk-compatible asyinclude command. +Path-overwriting bugs in the NSIS MSWindows installer were circumvented. + +Release Notes for Version 2.04 + +Subdivision cracks in transparent labels are no longer filled. +Warning messages from the FP package are suppressed. MSDOS line terminators +are now handled; DOSendl and DOSnewl line terminators were added. +Files generated in inlinetex mode can now be renamed without editing their +contents (using asymptote.sty version 1.19). The man page was fixed. +The documentation of render.merge was fixed. + +Release Notes for Version 2.03 + +An optional asydir parameter that allows asy files to be generated in a +subdirectory was added to version 1.18 of asymptote.sty; XeLaTeX support was +fixed. Nonrendered preview images via render=0 are now implemented. +Blank 3D labels were fixed. Problems with arc directions and ellipses in +the geometry module were fixed. The definition of the Dotted linetype was +improved. Missing pen and margin parameters were added to the blockconnector +function calls. Virtual methods were optimized. Makefile dependencies were +fixed and autogenerated files are cleaned up. The dependence of the source +tarball on perl was removed. Minor improvements were made to the +documentation and man page. The Asymptote installation directory is now +automatically added to the MSWindows path. + +Release Notes for Version 2.02 + +A global latexusage.asy file is no longer generated, in favour of +individual latexusage-*.asy files (this is a backwards incompatible +change). Global and local values can now be given for both the inline and +attach asymptote.sty (version 1.15) options. Underscores were removed from +the .pre and .tex file names in inlinetex mode. Latexmk support was added +for compiling individually only those figures that have changed; this +requires that the inline option be used for 3D figures. +The asy() function was fixed. A multiple fraction bar bug in texpath was +fixed. Warning messages and portability issues were addressed. A frame +label alignment problem was fixed. PDF animations are now supported with +the XeLaTeX TeX engine. + +Release Notes for Version 2.01 + +The normal vector for perspective projections was fixed. Individual +processing of each figure within a LaTeX document is now supported. +The fontsize package uses type1cm.sty again since fix-cm.sty does not +appear to work as advertised. Uninitialized item bits are cleared. +Extended for statements now support the var type. PenMargin is used in +drawing a binarytree. Minor optimizations were made. + +Release Notes for Version 2.00 + +The construction of 3D TeX labels was sped up greatly. Plain TeX page +numbers were suppressed. Dotted 3D lines and 3D sizing problems were fixed. +A general search function for sorted structures was implemented; the +lexorder functions in math.asy now return strict partial orders. Additional +GSL functions were added. The correct PRC units (PostScript pt units, +properly called bp) are now displayed in Adobe Reader. + +Release Notes for Version 1.99 + +A segmentation fault was fixed. Perspective animations were fixed. A bug in +the bezulate topological sorting algorithm was fixed. A framedelay setting +was added for working around OpenGL animation rendering buffer overruns. +Further optimizations were made. A portability issue was addressed. + +Release Notes for Version 1.98 + +Memory usage and garbage collection were greatly improved, and many +optimizations were made. Labels are now aligned using the rotational instead of +the shiftless part of the transform. A portable CYGWIN memory limit fix was +implemented. Noncyclic stokepaths are discarded to work around a bug in gs 8.71. + +Release Notes for Version 1.97 + +A new render.labelfill option (enabled by default) fills subdivision cracks in +unlighted labels. The dependence on gcc-4.3 was removed. Offscreen detection and +zoom bugs in the OpenGL renderer were fixed. Three-dimensional grouping was +improved. The symbol table was replaced with a custom hash table. Portability +updates were made. The Cygwin memory limit fix for MSWindows now works even on +systems that lack a complete Cygwin installation. The examples were updated to +exploit the new PRC rendering options. + +Release Notes for Version 1.96 + +The viewpoint function and some examples were updated. + +Release Notes for Version 1.95 + +The PRC driver has been overhauled to support model tree groups, lossy +compression, efficient representations of elementary geometrical objects, +and specialized rendering options. More efficient OpenGL thick tubes were +implemented; the capping of 3D curves was improved. The SIGQUIT signal was +replaced by SIGTERM. Under MSWindows, the 384MB Cygwin memory limit is now +automatically disabled by the Asymptote installer. Inferred variable types +were added and operator symbols are now pretranslated. + +Release Notes for Version 1.94 + +Workarounds for MSWindows registry problems and obsolete runtime libraries +were implemented. The SimpleHead arrowhead was fixed. Additional matrix +routines and casts were implemented. The pair dir(path, path) routine now +returns a unit vector. Variable conflicts coming from the contour module +were addressed. A RadialShadeDraw filltype was implemented. A guide bug was +fixed. Redundant mismatched version warnings are avoided. Support for +fitting one 3D picture within another was added. The documentation was updated. + +Release Notes for Version 1.93 + +Portability issues were addressed. Latticeshading bounds and behaviour +under svgemulation were fixed. The initial SVG pen was fixed. +A parallelogram block was added to the flowchart module. +Temporary files are cleaned up even after TeX errors. The GUI export +function was fixed; an SVG export option was added. The XeLaTex bounding +box was fixed. Spaces in output directory names are now allowed for +supporting drivers. One can cd to other directories, preserving the output +directory. All output files are written to the directory part of +settings.outname; if this is empty, the current directory is used. + +Release Notes for Version 1.92 + +Labels work correctly with oblique projections. Transformed Label +alignment and pt scalings were fixed. Latticeshading is now properly clipped. +The normal and true Circle calculations were fixed. The interface to the +simpson integrator and an array index in contour.asy were fixed. In the +flowchart module, the implicit cast from a pair to a virtual node was +removed in favour of a block constructor. The ode integration routines now +return a structure that includes the sampled time values; dynamic +timestepping was implemented for solveBVP. New predefined tick modifiers +were added. The CLZ and CTZ bit functions were implemented. PRC part names +were fixed. The GL library is now explicitly linked. Memory usage was +improved by configuring the garbage collector with --enable-large-config. +Null 3D paths are ignored. Non-pdf output is supported for PDF tex engines. +Portability changes for CYGWIN 1.7 were made. + +Release Notes for Version 1.91 + +The precision of the 3D perspective sizing routines were improved. The +offset in transformed 3D labels with render=0 was fixed. 3D planar +arrowhead gaps were fixed; a duplicate 3D arrow angle factor was removed. +Pen width contributions to the box and ellipse envelopes were fixed. A more +robust contour algorithm based on paraboloid approximation was implemented. +A polargraph routine for arrays was implemented. Default font problems were +fixed. The pdfborder={0 0 0} option was added to settings.hyperrefOptions; +the hypersetup command is now used to avoid hyperref option clashes. The +size of pngalpha images was fixed; the pngalpha driver is used only if +antialias=2. The -alpha Off default convert option was removed in favour of +convertOptions="-alpha Off". Inlinetex support for xelatex was updated. +Picture transformations are now respected by latticeshade. The Bessel +functions J and Y were renamed to Jn and Yn. An operator --(block, block) +was implemented to simplify the flowchart syntax. The expression % expands +to the last result returned at the interactive prompt. The GLU-1.3 library +included in the MSWindows distribution was fixed. + +Release Notes for Version 1.90 + +SVG axial, radial, and emulated tensor-patch shading were fixed; the +dependency on dvisvgm-0.8.7 was documented. + +Release Notes for Version 1.89 + +The draw, fill, and clip commands now pass raw SVG code directly to dvisvgm +(version 0.8.6 required); zero-length paths are output as circles. +Unsupported SVG elements are converted to PNG images; unimplemented SVG +features such as Gouraud and tensor-patch shading can be (partially) +emulated as vector elements using the -svgemulation option. +The control point normalization of rational NURBS surfaces was fixed; +3D NURBS curves are now implemented. A problem with inlinemovie3 was fixed. +The linetype pattern is now a real array: for backwards compatibility, a +string is still accepted, but the return type of linetype(pen) is now +real[] instead of string (backwards incompatible). The split routine was +changed so that an empty delimiter splits on spaces, discarding duplicates. +The palette routines are now guaranteed to generate at least the +specified number of colours. PNG output produces a transparent background. +Surface and path3 garbage collection was fixed. + +Release Notes for Version 1.88 + +Compilation without OpenGL was fixed. PRC billboard labels were +implemented; settings.billboard was renamed to settings.autobillboard +and by default enabled for all 3D labels. The surface constructor for +embedding labels on surfaces now draws both the top and bottom faces by +default. The meshpen, knot, weight, and color arrays are now properly cached. +The example fequlogo.asy illustrates how to draw an arbitrary 3D background +plane. The intermediate dvi file is now removed when producing SVG output. +Improvements were made to the tutorial. + +Release Notes for Version 1.87 + +Support for SVG output was added (requires dvisvgm-0.8.4). Billboard +labels were implemented for the OpenGL renderer. OpenGL animations were +improved: reverse and step menu items were added, along with a framerate +setting. An addStereoViews function and example stereoscopic.asy were added. +The addViews function was generalized to handle any layout; the default +layout was changed from ThreeViewsFR to SixViewsUS. PRC node names are +now implemented for curves, surface, labels, and dots. OmitTick was +generalized to omit both major and minor ticks. A graphicx.tex workaround +was implemented to parse paths properly. A viewportsize bug was fixed. +A memory deallocation bug was fixed. The ENDIAN test was fixed. The ucyclic +and vcyclic parameters are no longer set for conditional surfaces. The +erase() function clears the PostScript canvas again. A projection() +function that returns the interactive camera parameters was implemented. +A hyperrefOptions setting was implemented. The tutorial was improved. + +Release Notes for Version 1.86 + +PRC polygons were optimized. Surface memory usage was reduced. +The automatic sizing of NURBS surfaces was fixed. A bug in the radius of +curvature computation at nodes was fixed. The configuration test for the +GNU readline library was improved. The naming of PRC parts was implemented. + +Release Notes for Version 1.85 + +Compilation is now supported again on platforms lacking OpenGL. +Missing pen dimensions were added to a 3D picture sizing routine. +The labelsurface routine was renamed to surface and extended to surfaces +containing a single patch. + +Release Notes for Version 1.84 + +The perspective PRC viewportmargin was fixed. Unwanted spaces were removed +from (version 1.10 of) asymptote.sty. Support for drawing PRC and OpenGL +NURBS surfaces was added. Obsolete code, including an unwanted inline +qualifier, was removed. A split structure that can be adapted for splitting +intersecting patches was added, along with the example splitpatch.asy. + +Release Notes for Version 1.83 + +OpenGL animations, illustrated in glmovie.asy, were implemented. +Viewportshift flicker was fixed. An empirical translation between +OpenGL and PRC shininess was implemented. Splined parametric surfaces are +now used to implement smooth thick lines and tubes. The projected bounding box +calculation and angle calculations were fixed. A labelsurface function was +added. The Headlamp light is now the default light; a light argument was +added to shipout. Patches are now constructed with the usual orientation +for a counterclockwise external path; the convention for tensor product +shading was updated. Picture environments for TeX clipping are no longer +nested. A texpath initialization bug was fixed. An ASYMPTOTE_HOME +environment variable was added. Viewing was fixed for file names +containing spaces. A picture sizing bug was fixed. An example of an inset +graph was added. Type information for variables is now returned at the +interactive prompt. Warning message suppression was improved; warnings in +Asymptote code can now be disabled. The cyclic member of an array is now +writeable; the obsolete cyclicflag and void cyclic(bool) functions were +removed. File mode functions are now virtual members; this backwards +incompatibility requires that line(file f) be changed to f.line(), etc. + +Release Notes for Version 1.82 + +Threaded exports were fixed. The texpath fontsize was fixed for PDF tex engines. +A default currentprojection argument was added to transform3(projection). +The -gray and -bw settings are now respected in PRC output. +A consistent approximation is now used for drawing tube centers. +Missing pt units were added to all fontsize examples. + +Release Notes for Version 1.81 + +A boolean targetsize option can now be used to draw 3D labels with the apparent +size they would have on the target plane. The camera adjustment algorithms +were fixed; the autoadjust flag is respected. Missing path3 functions +such as endpoint(path3) were added. The doubleclick timeout under MSWindows +was fixed. A workaround for a ConTeXT small font bug is illustrated in +contextfonts.asy. File associations are now used under MSWindows for +psviewer, pdfviewer, display, and animate. Single quotation marks are now +allowed in filenames. Deconstruction is now only supported in PNG format; +the xformat setting was removed. The example lmfit illustrates +Levenberg-Marquardt nonlinear least-squares fitting. + +Release Notes for Version 1.80 + +The interface for changing the precision for XDR/binary files was +simplified; file parameters can now be queried as virtual members. +The zoom/menu action was improved to emulate a double-click and assigned again +to the right mouse button; a left-button binding bug was fixed. +New settings zoomfactor, zoomstep, spinstep, arcballradius, resizestep, and +doubleclick were added. The OpenGL thread is now exited gracefully; idle +state and other parameters are properly reset on quitting. Lighting is now +initialized only in home(). Animations with global=false were fixed. +An improved (and free) psview PostScript viewer is now suggested for MSDOS +users. A mechanism for disabling annoying warnings like "writeoverloaded" +was implemented. The documentation directory under TeXLive was fixed. + +Release Notes for Version 1.79 + +The perp vector calculation in the solids module was fixed. A bug in the +mouse motion functions was fixed. A pan action (which differs from shift +due to perspective distortion) was added to the OpenGl renderer; +the Camera (c) menu item now outputs all camera settings. The default right +mouse button mouse binding was changed from "zoom/menu" to "zoom". +User-initiated exports no longer cause the renderer to quit. +Dynamic time stepping was fixed in the ode module; the "integrate" +routines now return the array of computed values. Operators == and != were +added for all built-in arithmetic 2D arrays; a segmentation fault was +fixed. The etc/fstab kludge for Cygwin 1.7 was removed. The configuration +directory under TeXLive is now $TEXMFCONFIG/asymptote. + +Release Notes for Version 1.78 + +Thread locking issues were fixed. The linegranularity is now respected when +drawing thick curved lines. A bug in FSAL ODE integrators when using a +fixed time step was fixed. Missing miterlimit defaults were added. +Xasy was updated to use Python 2.6.2 and Imaging-1.1.7b1 (which requires no +alpha support patches). Obsolete patches were removed. More TeXLive build +issues were addressed: the install-prebuilt target omits texhash and does +not attempt to install PNG files for asymptote.info. A configuration +problem with --disable-gc was fixed. The 3D mouse bindings are now +customizable. Support was added for generating syntax highlighting for the KDE +editor Kate. + +Release Notes for Version 1.77 + +Splined parametric surfaces were implemented; a bug in the Cartesian +splined surface routines was fixed. An ode module for solving ordinary +differential equations was added. A bug in maxtimes and mintimes was fixed. +A Levenberg-Marquardt nonlinear fitting routine was added. The format +command now returns TeX compatible output only in math mode. A path3 label +alignment problem was fixed. The MSWindows support for TeXLive 2009 was fixed. + +Release Notes for Version 1.76 + +A bezulate bug was fixed. The resolution and caching of texpath were +improved; for PDF tex engines, the basealign pen attribute is now +respected. Support for OCG layers was added. Lights Headlamp and White were +implemented; the predefined adobe light was removed. Holes are now handled +in superpath-to-surface constructor when planar=true. A degenerate +transform3 issue was fixed. The alignment of rendered and PRC images was +improved; the angle for rendering absolute projections was fixed. Inaccurate +TeX and ConTeXt font scalings were fixed. A texsize(string, pen=currentpen) +function returns the raw TeX dimensions {width,height,depth}. A new version +of asymptote.sty (1.07) fixes attach=true mode. + +Release Notes for Version 1.75 + +Issues with 3D labels and texpath, both in inlinetex mode and with the +ConTeXt TeX engine, were resolved. A bug in bezulate was fixed. A partial +workaround was added for the unimplememented -output-directory ConTeXt +option (the current directory must still be writeable). The aspect ratio +and viewportmargin calculation in module three was improved, with tighter +3D bounds. A bug in the intersections(path3, surface) routine was fixed. + +Release Notes for Version 1.74 + +An error in the surface bounding box routines was fixed. Path/surface +intersection routines were added. PDF tex engines are now supported for +3D labels and texpath. The new ConTeXT tex engine can be used for both 2D +and non-PRC 3D drawings. Projections LeftView, RightView, FrontView, +BackView, BottomView, and TopView, along with an addViews function, were +implemented. Portability fixes and various updates to support TeXLive +builds were made. The dependence on currentprojection in label(Label, +path3) was removed. The font command for LaTeX tex engines now requires all +four NFSS (encoding, family, series, shape) arguments. + +Release Notes for Version 1.73 + +An alternative OpenGL background color can now be specified with the pen +currentlight.background. A new textpath command allows 3D labels to be +drawn with settings.texengine="none". Minor bugs in the geometry package were +fixed. The interface to the vectorfield routines was improved. +The autoadjust parameter was removed from orthographic projections; +autoadjust=false is now always respected for perspective projections. +Optional warn=true arguments were added to the polar, azimuth, colatitude, +and latitude functions. A call to reportError interrupts execution again. +A segmentation fault that can occur after file mode errors was fixed. + +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 hexadecimal string to an integer and a +pen rgb(string) routine that returns a pen corresponding to a given +6-character RGB hexadecimal 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(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. |