Release Notes: The core of the Box VM has been rewritten. The type system has been rewritten from scratch and is now much more powerful. A new type, Any, allows boxing/unboxing objects and provides some reflection capabilities. This release adds adds heterogeneous arrays of objects (Array object), a new undo manager to the GUI which allows having a single undo history for both the text editor and the graphics editor, and the new objects Curve, Tri, and Fill to draw cubic bezier splines and fill a path. The GUI now supports "direction points" to simplify drawing and interacting with bezier curves via the Curve object.
Release Notes: This release focuses on improvements to the documentation system, which was largely rewritten to be clearer and to support new features. In particular, it is now possible to specify a preview for a documented object: this is a piece of Box source code which is rendered as an image in the documentation browser. It is also possible to organize documentation in sub-sections and document instances. Bugs were fixed in both Box and Boxer. Steps were made to support converting Box code to C code and to support serialization/deserialization of Box programs (both features are not completed).
Release Notes: This release brings usability improvements to the graphical user interface and the compiler. Improvements to the GUI are include optimized screen space utilization, and box scripts that are executed from their own parent directory, which allows saving (or loading) images easily from files in the script's directory. A bug in Dox where documentation of subtypes was not shown was fixed. The compiler was improved with subtype inheritance for alias types (X = Y inherits the subtypes of Y). A development utility was added for automatically performing a large number of regression tests. Save, Resolution, and Ppi objects were added.
Release Notes: New features: multi-line, recursive comments a la OCaml; a new file format with macros to control the definition of reference points (this allows including Boxer sources inside other sources); and a new Image object to include external PNG files and use them as patterns for filling areas. New library elements: Figure (Figure[...] replaces Window[...]), ThickLine, Dark, and Axes. Species are fully implemented. The documentation browser has been fixed to deal with species. Rendering of non-concentric spherical gradients has been fixed. There is improved error message reporting. Example files in Boxer have been cleaned up.
Release Notes: The main focus of this release has been to fix bugs in both the compiler and the GUI. Small improvements were also made. For Box, BBox now sets (rather than extending) the bounding box. The way the bounding box was handled in the Clip command was fixed. Improvements were made in the memory management of Box. Handling of FillStyle was fixed (it was ignored by Style). For Boxer, the Box output view was fixed: it did not expand correctly with some versions of PyGTK. Some small improvements were made in the documentation browser.
Release Notes: The Box graphic library was largely redesigned and rewritten in Box (rather than C). It is now cleaner and better structured: high level functionality (drawing polygons, etc) is derived from low level functionality (paths and command streams). New commands were added (figure clipping with "Clip" and matrix computation with "Constraints"). The old interface is still supported. Documentation was added with Dox, the Box documentation tool, and can be browsed from Boxer in a separate window. Boxer was adapted to the new graphic library. Bugs were fixed (most noticeably the copy of composite objects)
Release Notes: Boxer has been extended: multiple reference points can be selected and dragged simultaneously; the syntax highlighting of sources has been improved with an ad-hoc file for Box syntax; bugs when loading broken files were fixed. Box was also fixed and improved: a documentation system, Dox, was written; the core and g libraries were partially documented with this; it can now box and unbox objects of different types into the Obj object; raw access to Cairo is possible; a rewrite of the Box g library in Box (rather than C) has been started. These last features are still under development and will appear in future releases.
Release Notes: The GUI was extended with a new tool providing buttons to automatically produce pieces of Box source code. New users will get guidance: available commands are listed and help is provided via the status bar and dedicated buttons. The life of experienced users is also made easier: colors can be created using a dedicated window, fonts can be selected from a list, etc. Other minor improvements and bugfixes have been made in the behaviour of Boxer, in the behaviour of the Box graphics library, and in libboxcore (this fixes compilation on Mac OS X and MS Windows).
Release Notes: Bugfixes and a reworked memory management system. This release mainly fixes bugs. It does not bring new features. However, the memory management system has been largely rewritten. The memory management system is now aware of the "complex" types and knows how to create, destroy, copy, and relocate objects. The release prepares the ground for future features (boxing/unboxing through the Obj type, which will allow several fundamental improvements to both Box and Boxer).
Release Notes: The view area in the GUI was completely rewritten to allow zooming in/out and scrolling. Buffering is used to improve performance. Compilation failures are signaled by shading the view. The view area can be rotated, and the orientation will be remembered. The bounding box is visible and adjustable using two point markers. Marker size can be adjusted. Most of the compiler core code was rewritten. Autogeneration of procedures works. VM builds a traceback similar to Python's. The "line" VM instruction was removed. Error positions are computed using lookup tables. Strings are stored in Str objects.