						 -*- coding: utf-8 -*-
BRL-CAD Release Notes
=====================

Included below is the latest news pertaining to BRL-CAD releases.  The
history or BRL-CAD prior to release 5.0 is covered in doc/history.txt,
see that file and the CVS log for more historic information.  The
entire history of the project is available through CVS.

----------------------------------------------------------------------
--- 2007-04-09  Release 7.10.0                                     ---
----------------------------------------------------------------------

With this release marks several significant changes to BRL-CAD's
licensing in order to simplify the distribution terms and increase
overall flexibility of use.  All application front-end code in BRL-CAD
is converted from the GNU General Public License (GPLv2) to the less
restrictive GNU Lesser General Public License (LGPLv2.1).

For documents not already in the public domain, BRL-CAD's default
documentation license terms are also changed from the dual-licensed
GFDL/GPL terms to the BSD Documentation License (BDL).  Originally
derived from the FreeBSD Documentation License, the BDL is effectively
the BSD License with language as it applies specifically to
documentation.  The terms of the BDL are just as flexible allowing
practically any use, whether it be commercial or private, so long as
the authors are appropriately credited.

As a collective work, BRL-CAD is being distributed under the terms of
the LGPL.  Individual portions of BRL-CAD, save for a few 3rd party
codes, effectively fall into one of the following three license
categories: 1) LGPL, 2) BSD/BDL, or 3) are in the public domain.  See
the terms of each individual license as well as BRL-CAD's COPYING file
for more details.

* fixed -i argument bug in g-acad, g-dxf, g-nff, g-obj - Shawn Baker
* framebuffer toggle added to raytrace panel in mged - Sean Morrison
* fixed rtedge multithreaded output render bug - Erik Greenwald
* fixed jove/termcap issues on Mac OS X - Sean Morrison
* updated bundled libtermcap to NetBSD version 0.6 - Sean Morrison
* increased output precision on mged 'analyze' command - Sean Morrison
* prevent mged shutdown on DSP objects with no data - Sean Morrison
* integration into the Arch Linux packaging system - Loui Chang
* upgrade of bundled tcl/tk from 8.4.6 to 8.5a5 - Sean Morrison
* improved EOL processing in 70+ tools - Sean Morrison, John Anderson
* rewrote pixcmp providing improved I/O format options - Sean Morrison
* added new manual page for pixcmp utility - Sean Morrison
* updated bundled zlib to version 1.2.3 - Sean Morrison
* updated bundled libpng to version 1.2.16 - Sean Morrison
* fixed Windows line-ending bug in dxf-g - John Anderson
* g_qa manual page documents the -t tolerance option - Lee Butler
* updated bundled blt to blt2.4z-patch-2 - Sean Morrison
* dxf-g turns 2D entities into sketches instead of nmg - John Anderson
* removed advertising clause from BSD code - Sean Morrison
* fix index bug, allow material ID of zero in rtweight - Karel Kulhavy
* fixed multiple frame render bug in raytracers - Karel Kulhavy
* mged help command now shows help for all args listed - Sean Morrison


----------------------------------------------------------------------
--- 2006-10-16  Release 7.8.4                                      ---
----------------------------------------------------------------------

* support for handling larger hierarchies in archer - Doug Howard
* added distance measurement tool to archer - Bob Parker
* added component selection capabilites to archer - Bob Parker
* new script to extract gforge task items - Lee Butler, Sean Morrison
* substantial additions and mods to source documentation - Lee Butler
* added scripts to facetize all regions in a database - Lee Butler
* added script to expand combinations to multiple objects - Lee Butler
* prevent infinite loop on classic mged attach prompt - Sean Morrison
* ctrl-d on empty shell line now quits mged - Sean Morrison
* added archer geometry/view loading via command-line arg - Bob Parker
* mged tree command now supports -o/-i, matches docs - John Anderson
* improved beginning-of-line input processing in stl-g - John Anderson
* improved end-of-line input processing in dxf-g - John Anderson
* support for longer Fastgen object names in fast4-g - Sean Morrison
* improved 'ted' mged command text editor support - Sean Morrison
* support mged EDITOR environment override on Windows - Sean Morrison
* fixed mged crash on P binding when not in edit mode - Sean Morrison
* improved FreeBSD 64bit support, fixes AMD64 crash - Erik Greenwald
* allow unlimited light samples during ray tracing - Sean Morrison
* new script for computing BRL-CAD file line counts - Sean Morrison
* fixed mged extrude of empty sketch display crash - Sean Morrison
* re-enabled png-ipu, pix-ipu, ipustat, ipuscan - Sean Morrison
* updated archer splash screen - Bob Parker
* archer enhancements for displaying view parameters - Bob Parker
* improved mged grid zooming using pixel size - John Anderson
* fixed mged hang caused by extreme grid zooming bug - John Anderson
* ported jove to SGI Altix platform, fixed crash bug - Sean Morrison
* increase default mged scrollback to 10k lines - Sean Morrison
* improved support for Mac "delete" keys in mged - Sean Morrison
* mged vi-mode command edit history searching - James (swcto)
* bigger, better vi command line editing in mged - James (swcto)
* rt command script 'ae' no longer resets view scale - Sean Morrison
* fixed asc-nmg manual page usage examples - Sean Morrison


----------------------------------------------------------------------
--- 2006-06-20  Release 7.8.2                                      ---
----------------------------------------------------------------------

This release includes a new example geometry model, a "Toy Barbie
Jeep" (see note below regarding trademarks) that was modeled in 2005
over the course of a day by a small group of students attending a free
hands-on BRL-CAD training class at SURVICE Engineering, Inc.  The
class involved working in groups to simulate a real-world
time-constrained modeling experience taking measurements of a real toy
vehicle, considering what aspects of the vehicle are important for
analytic purposes, deciding how to best represent complex geometric
shapes, modeling the parts of the vehicle in MGED, assembling the
components together, and running geometric processing and rendering
tools on the final model.

The DXF importer received considerable updates this iteration, with
John Anderson providing additional support for a variety of 2D DXF
entities.

* fixed asc-nmg bug that caused a crash on exit - John Anderson
* fixed minor mged memory leak - Jim Monte
* added archer version info to bottom of about dialog - Bob Parker
* added a beta vertex array exporter (g-var) - Prasad Silva
* archer support for multi-select and cut-n-paste - Doug Howard
* added newly supported entities to dxf-g manual page - John Anderson
* fixed asc2g bug reading files with carriage returns - Sean Morrison
* added dbupgrade manual page - Sean Morrison
* updated the g2asc manual page with format details - Sean Morrison
* fixed g_diff attribute comparison issue - Sean Morrison
* g_diff reports more detail whether differences exist - Sean Morrison
* g2asc now saves additional _GLOBAL attribute values - Sean Morrison
* fixed g2asc export of null units bug - Sean Morrison
* fixed libwdb corruption when creating pipes - Daniel Roßberg
* fixed crash in release build concerning bot's - Daniel Roßberg
* new toy barbie jeep geometry - Various Students
* considerable dxf-g enhancements, more entity support - John Anderson

Note: Barbie and Jeep are trademarks of Mattel Inc. and the
Daimler-Chrysler Corporation respectively.  No endorsement is intended
or implied.

----------------------------------------------------------------------
--- 2006-04-11  Release 7.8.0                                      ---
----------------------------------------------------------------------

This release marks a major milestone in the massive effort by the
BRL-CAD developers and the open source community to provide a complete
port of BRL-CAD to the Microsoft Windows platform.  This effort
includes particular support and contributions from SURVICE
Engineering, Inc., TNO Prins Maurits Laboratory, the U.S. Army
Research Library (ARL), and others.  The Windows port effort was
started several years ago, primarily through efforts of friends at the
U.S. Army Aviation and Missile Research Development and Engineering
Center (AMRDEC) and CG2, Inc.  Over the past year, the development
effort was accelerated to a stable status through the work of SURVICE
working for ARL.

This release also includes another major contribution by SURVICE
Engineering, Inc., a new modeling tool called Archer.  A more detailed
announcement and overview of Archer will be given in the near future
after the new tool is more fully integrated into the build system and
tested further.

Other noteworthy enhancements provided in this release include new
sample applications that demonstrate the capabilities of the libpkg
networking library, in-memory geometry database processing, reshooting
of rays from analysis codes for testing pursposes, and the librt root
solver.  For analysts and modelers alike, the mged modeler also
acquires a few new commands including reid and remat that respectively
assist with the assignment of region and material identifiers.

* fixed mged B command bad geometry resource bug - John Anderson
* new tracker tool for extracting sf.net tracker data - Sean Morrison
* added manual page for benchmark tool - Sean Morrison
* fixed g-dxf export compatibility issue - John Anderson
* smoother sketch primitive spline drawing - Sean Morrison
* fixed read bug in giftorle - Sean Morrison
* fixed multiply referenced object illumination bug - Sean Morrison
* improved nmg tessellation support reliability - Sean Morrison
* new tpkg ttcp-style example application using libpkg - Sean Morrison
* new roots_example root solving sample application - Sean Morrison
* prevent several g-nmg segfaults during tessellation - Sean Morrison
* fixed brlman/awf `./"' unsupported or unknown issue - Sean Morrison
* new g_transfer in-memory geometry example program - Sean Morrison
* new reshoot program to reshoot rays & compare results - Lee Butler
* added support for -F framebuffer option to fb-bw - Sean Morrison
* reid mged command, recursively assign region IDs - Sean Morrison
* remat mged command, recursively assign a material ID - Sean Morrison
* get_regions mged command, list assembly regions - Sean Morrison
* extensive Windows build support enhancements - Bob Parker
* new Archer modeling and visualization tool - Bob Parker, Doug Howard
* raytracers use image size for default aspect ratio - Sean Morrison
* fixed benchmark sqrt of negative numbers error - Sean Morrison
* raytracer performance enhancements - Sean Morrison


----------------------------------------------------------------------
--- 2005-12-15  Release 7.6.6                                      ---
----------------------------------------------------------------------

Continuing with the newly added point collection and reverse modeling
techniques provide in the previous release, this iteration improves
upon that support fixing several issues and refining the modeling
techniques.  Additionally, after more than a year of passively
researching and investigating, this release now accounts for the
majority of known contributors to BRL-CAD over the project's
existence.  This is part of an on-going effort to document the history
of BRL-CAD over the past 20 years.

* improved mged resource searching when not installed - Sean Morrison
* significant AUTHORS file updates, all names filed - Sean Morrison
* fixed sketch primitive bezier path computation bug - Sean Morrison
* cleaned up erroneous rtedge end of line output - Sean Morrison
* configure --enable/disable-everything option - Sean Morrison
* updated g_qa manual page documentation - Lee Butler
* early termination grid spacing limit bug in g_qa fixed - Lee Butler
* fixed Jove sandbox installation issue - Sean Morrison
* fixed adrt/isst client crash bug - Mike Caruso, Razak Arunaugun
* fixed modified env(PATH) startup issue in mged - Sean Morrison
* fixed benchmark tool default resource location bug - Sean Morrison
* added another text alignment handler to dxf-g - John Anderson
* clamped integer value printing of primitives in mged - Sean Morrison
* removed gratuitous nmg debug printing from mged - Sean Morrison
* fixed grouping bug, mged point importer - Jason Owens, Sean Morrison
* improved mged point import support - Lee Butler, Sean Morrison
* fixed bug in plate orientation of mged point importer - Lee Butler


----------------------------------------------------------------------
--- 2005-11-12  Release 7.6.4                                      ---
----------------------------------------------------------------------

This release adds a new geometry creation interface to mged that
supports reverse modeling geometry of existing objects.  New geometry
creation commands read point data sets in a simple text file format,
recognizing categories and collections of points.  Using
point-acquisition devices such as X-Station Vulcan advanced surveying
systems from Arc Second Inc., points may be collected and used in mged
to factilitate the generation of geometry models.  Collection
techniques are recognized for polygonal plates, cylinders, spheres,
point clouds, and more.

* auto-locate mged external apps regardless of PATH - Sean Morrison
* mged utilizes a local display if unspecified/unset - Sean Morrison
* set default mged Escape key binding to reject - Sean Morrison
* fixed 'benchmark' tool resource searching - Sean Morrison
* added -u option to mged "make_bb" to allow air - Lee Butler
* fixed IBM AIX compiler support issues - Sean Morrison
* head/tail -n usage posix compliance - Stefan Fiedler, Sean Morrison
* fixed jove compilation issues - Sean Morrison, Daniel Remenak
* fixed conversion bug in the dxf-g converter - John Anderson
* point parsing/import interface to mged - Sean Morrison, Lee Butler
* fixed bug in export of NMG primitives - John Anderson
* fixed itcl configuration issue - Stefan Fiedler, Sean Morrison
* fixed g_qa tolerance option parsing inconsistency - Sean Morrison
* improved mged 'tol' command tolerance value checks - Sean Morrison
* fixed tgc absolute tessellation tolerance issue - Sean Morrison
* optional build support checks for X11 and OpenGL - Sean Morrison
* improved Windows build support - Bob Parker, Daniel Roßberg
* isst observer 2x screen magnification - Justin Shumaker
* added los and material name support to librtserver - John Anderson
* improved 64bit support for ADRT - Justin Shumaker
* updated manual page documentation - Sean Morrison
* added support for text handling to dxf-g - John Anderson


----------------------------------------------------------------------
--- 2005-09-29  Release 7.6.2                                      ---
----------------------------------------------------------------------

In order to resolve an integration issue with the MUVES-S2
vulnerability analysis code, this special release of BRL-CAD was put
together providing updated tclscripts that work correctly when
embedded into MUVES-S2.  This release also facilitates BRL-CAD's
integration with AJEM as well for their corresponding release.

* fixed 'embedded mged' tclscript files - Karen Murray, Sean Morrison


----------------------------------------------------------------------
--- 2005-09-08  Release 7.6.0                                      ---
----------------------------------------------------------------------

This release includes the addition of a new geometry "Quantitative
Analysis" tool called g_qa.  This tool is a new tool that combines
some of the features of rtweight, rtcheck and g_lint, providing a
robust means for computing the weight and volume of objects while also
allowing a means to report overlaps, air gaps, external air regions,
bounding box dimensions, and more.

* configuration build fixes for Tk/Iwidgets - Michal Slonina
* fixed bug in mged overlay command handling of EOF - Lee Butler
* renamed g-wave converter to g-obj - Sean Morrison
* mged will now work without being installed - Sean Morrison
* improved ADRT build support - Sean Morrison
* improved build support detection for OpenGL and X11 - Sean Morrison
* performance enhancements to ADRT - Justin Shumaker
* enabled SGI knobs and button box support for IRIX - Sean Morrison
* fixed mged startup resource bug - Enrique Perez-Terron
* Enhancements to g_qa for stability and performance. - Lee Butler
* 'make test' now runs against an uninstalled  build tree - Lee Butler
* new nightly regression test framework - Lee Butler
* g_qa now has option to report interfaces/connections - Lee Butler
* mged relocation support - Sean Morrison
* Doxygen changes to source code comments - Lee Butler, Sean Duvall


----------------------------------------------------------------------
--- 2005-08-10  Release 7.4.2                                      ---
----------------------------------------------------------------------

Continuing with the impressive ADRT tool suite being provided by
Justin Shumaker is the addition of the Interactive Shot Selection Tool
(ISST).  Using ISST, you can spin large facetized models around in
real-time, slice through them with rays, and examine the geometric
components along a given path.  The tool will take advantage of
clusters and SMP hardware similar to RISE, providing a master job
manager, a slave compute daemon for network distributed processing,
and a client for interacting with and viewing the models.

* fixed ray-trace unique hits evaluation bug - John Anderson
* added manual page for remapid - John Anderson
* fixed quick memory debugging bug - Jim Hunt
* improved brlman relocation - Sean Morrison
* added g_qa geometry quality analysis tool (beta) - Lee Butler
* added adrt interactive shot selection tool - Justin Shumaker
* simultaneous -o and -F options to rt, rtedge, rtxray - Sean Morrison

----------------------------------------------------------------------
--- 2005-07-12  Release 7.4.0                                      ---
----------------------------------------------------------------------

This update includes several enhancements and new additions including
the impressive addition of the Realistic Image Synthesis Engine (RISE)
path-tracer.  RISE is part of the Advanced Distributed Ray-Trace
(ADRT) tool and library suite, which provides a high-performance
triangle ray-trace engine.  This engine serves as the basis for
several tools, RISE being the first toolset to be released.  This
toolset includes a master job manager, a slave compute daemon for
network distributed processing, and a client for observing job
progress.

Driven by user requests, the 'rtarea' command now reports signifcantly
more information than before including area details for all assemblies
and regions being rendered.  Both the presented and exposed areas are
now computed too, including details on how many regions/assemblies are
hit.  The exposed area is the potentially occluded 2D projection
whereas the presented area is calculated without consideration for
occlusions.  That is to say that if an object is in front covering a
regions or assemblies from a particular view, the exposed area of the
covered geometry would be reduced but the presented area would not.
The rtarea command was added to mged as well, along with rtweight.

* improved mged initialization failure reporting - Sean Morrison
* applied zlib vulnerability patch (CAN-2005-2096) - Sean Morrison
* added the adrt rise path-tracer - Justin Shumaker
* increased mged shadow ray selection max to 64 - Sean Morrison
* added rtarea and rtweight commands to mged - Sean Morrison
* added sorting and hierarchy support to rtarea - Sean Morrison
* rewrote rtarea for region and assemblies support - Sean Morrison
* fixed .density file parser bug in rtweight - Daniel Roßberg
* improve detection and handling of cyclic geometry - Sean Morrison
* added a -noleaf option to the mged pathlist command - Bob Parker
* fixed potential infinite loop bug in BoT primitive - Bob Parker
* no longer install tclsh/wish, use btclsh/bwish - Sean Morrison
* added bot_merge mged cmd (combine 2 bots into 1) - Lee Butler

----------------------------------------------------------------------
--- 2005-06-07  Release 7.2.6                                      ---
----------------------------------------------------------------------

Additional modifications were made to the benchmark suite including
the addition of iterative frames that compare the stability of the
performance results being observed.  The benchmark will continue to
render frames of a designated time-complexity until the numbers are
either stable or a maximum time window is reached.  The benchmark
output now describes what the results mean and provides reference
numbers for comparison.  The benchmark suite is also now included in
the default installation as a command-line tool named 'benchmark'.

In conjunction with the benchmark suite's requirements, some example
geometry databases are now provided as part of the default install as
are the corresponding reference benchmark images and logs.  They are
intended to provide new users with sample geometry models to work
with; and custom configurations may disable the installation of the
additional geometry databases if so desired.

* documented the rtcheck -g and -G options - Sean Morrison
* fixed units bug in mged typein of bot and arbn - Daniel Roßberg
* added -W option to raytracers for white background - Sean Morrison
* synchronized mged startup message with gui creation - Sean Morrison
* added -f option to mged to prevent backgrounding - Sean Morrison
* install example geometry databases - Sean Morrison
* added 'benchmark' tool and install benchmark suite - Sean Morrison
* improved installation instructions - Sean Morrison
* fixed various typos in top level documents - Chuck Kennedy
* added summary and explanation of benchmark results - Sean Morrison
* fixed dimension conversion bug in dxf-g - John Anderson
* added deviation stability checks to benchmark suite - Sean Morrison


----------------------------------------------------------------------
--- 2005-05-11  Release 7.2.4                                      ---
----------------------------------------------------------------------

The release marks the beginning of a series of benchmark suite
enhancements.  The benchmark suite will now iteratively increase the
number of rays being shot until a minimum amount of time has elapsed
per render.  The resulting computations provide a more stable
ray-trace figure of merit (rtfm) and allows the benchmark tests to
scale more effectively to increasingly higher-performance machines
without requiring intervention.  The current default testing time
window minimum of 60 seconds elapsed wallclock time implies that the
benchmark suite will now take about 15 minutes to complete.

* fixed libbu run-time memory corruption checking - Sean Morrison
* prevent indirect OpenGL framebuffers from crashing - Sean Morrison
* throttle cpu usage on lingering OpenGL framebuffers - Sean Morrison
* uniform binary objects from partial file data - Sean morrison
* added libwdb interface to uniform binary objects - Sean Morrison
* fixed mged help for whichid, whatid, and whichair - Sean Morrison
* fixed dsp primitive bug when using binary objects - Sean Morrison
* fixed tabsub 64bit filesystem file read bug - Sean Morrison
* vrml-g now writes out DEF names for exported shapes - Sean Morrison
* updated manual pages with new contact details - Sean Morrison
* iterative scalable benchmark computations - Sean Morrison
* added logging of ray details when root solver fails - Sean Morrison
* added logging of solid name when root solver fails - Lee Butler
* build now includes a termlib library - Sean Morrison
* fixed smp linux rtarea calculation bug - Sean Morrison
* fixed rtweight centimeter units computation bug - Lee Butler
* fixed asc2g double-free warnings bug - Sean Morrison
* added rtarea manpage documentation - Sean Morrison
* fixed compilation support for Solaris - Sean Morrison
* removed redirection usage examples in g2asc docs - Sean Morrison


----------------------------------------------------------------------
--- 2005-04-03  Release 7.2.2                                      ---
----------------------------------------------------------------------

* fixed rtedge/rtwizard background render failure bug - Sean Morrison
* fixed rttherm previous results interference bug - Sean Morrison
* fixed aborted benchmark summary bug - Sean Morrison
* renamed the irprep 'display' tool to 'showtherm' - Sean Morrison
* quelled XInputExtension warning on mged startup - Sean Morrison
* fixed non-square window mged illumination selection - Sean Morrison


----------------------------------------------------------------------
--- 2005-03-05  Release 7.2.0                                      ---
----------------------------------------------------------------------

* fixed libpng link bug on Irix64bit - Lee Butler
* fixed locale build bug - Thierry Thomas & Pedro Giffuni
* fixed g-iges stdout header bug - Manfred Spraul
* fixed minimal BoT disappearance bug  - Lee Butler
* Sketch Editor now starts with an empty sketch - Sean Morrison
* fixed need for brlcad_root on default configure - Sean Morrison
* update to zlib 1.2.2 - Sean Morrison


----------------------------------------------------------------------
--- 2005-01-25  Release 7.0.4                                      ---
----------------------------------------------------------------------

This patch release update fixes several build issues experienced on
various platforms including Gentoo, Debian, and Mac OS X.

* provided libutahrle (urt) vulnerability patch - Pedro Giffuni
* fixed missing vgr results when missing dc - Sean Morrison
* update of Utah Raster Toolkit from 3.0 to 3.1b1 - Sean Morrison
* update of libpng from 1.2.5 to 1.2.8 - Sean Morrison
* gentoo build fixes - Cliff Yapp


----------------------------------------------------------------------
--- 2005-01-07  Release 7.0.2                                      ---
----------------------------------------------------------------------

This release marks the first source and binary distribution of BRL-CAD
as an Open Source project.  With the exception of a few minor bug
fixes, the majority of changes made available through this release
that separate it from 7.0.0 are source code style adoptions and
clarifications of the developer documentation.  All files have adopted
an emacs/vi local variables block for style conformance and the source
code headers are modified to denote the new distribution and copyright
status of the project.


----------------------------------------------------------------------
--- 2004-12-21  Release 7.0.1                                      ---
----------------------------------------------------------------------

While with the new release numbering scheme it will be rare to see a
release with an odd minor patch number, in many ways this is a major
BRL-CAD release with the package entering the realm of Open Source
software.  Likewise, the project moves a new public website as well as
adopts a SourceForge project site.  With the migration of the project
to SourceForge, new forums, mailing lists, bug tracking, feature
requests, support mechanisms, task management, and news announcement
channels all become instantly available.

OPEN SOURCE

This marks the first release of BRL-CAD as Open Source software.  It
has taken several years and much hard work by many people to actually
make this happen.  Special thanks goes out to the U.S. Army Research
Laboratory for giving back to the community by allowing BRL-CAD to be
released as Open Source software under the Open Source Initiative
(OSI) approved NASA Open Source Agreement (NOSA).  The "release"
solely exists in CVS -- binary and source distributions will remain
unprepared.

The majority of BRL-CAD is covered by the GNU General Public License.
The BRL-CAD libraries (src/lib*) are all provided under the GNU Lesser
General Public License.  The documentation is provided under the terms
of the GNU Free Documentation License.  The build infrastructure and
supporting scripts are covered by the Berkeley Software Distribution
license or are in the public domain.  Given the vast size, complexity,
and varied usage needs of BRL-CAD's source code and supporting data,
all of the aforementioned licenses allow for a greater degree of
flexibility in how they may be used.

See the individual files in question and the COPYING file for more
details.  The licenses are intended to foster and encourage
improvements to BRL-CAD and the Open Source community as a whole
without taking away from the package's heritage and history.  See the
COPYING file for more details and information.


----------------------------------------------------------------------
--- 2004-11-01  Release 7.0.0                                      ---
----------------------------------------------------------------------

BRL-CAD's source code has undergone major restructuring with a
complete replacement of the build system and conversion of the sources
toward standards compliance.


SOURCES REORGANIZED

This release of BRL-CAD marks a new beginning for the project in terms
of how to sources are organized and how the package is built.  BRL-CAD
now uses the GNU Build System (autotools) for compilation.  The gen.sh
and Cakefile-based build system is no more.  In addition to a new
build system, the directory hierarchy has been reorganized.

Following the GNU-style source code reorganization, BRL-CAD will now
also follow the major.minor.patch (e.g. 7.0.0) version numbering
convention.

Source code now primarily lives under the top-level src/ directory,
external libraries are in the src/other/ directory.  Several of the
third-party libraries have been updated including tcl/tk and libpng.
There are top-level documentation files available (such as this file
and the README) to get users familiar with the project.  Developers
that would like to get involved with BRL-CAD should refer to the
HACKING file.


ANSI CONFORMANCE

As for the source code itself, full K&R conformance has finally been
let go with the new preference of being fully compliant with the ANSI
C standard (INCITS/ISO/IEC 9899-1999).  More efforts continue to
complete this conversion, maintaining support for as many of the older
compilers as is reasonably possible, as well as general source code
clean up.  See the new HACKING file for for more information.


NEW FEATURES

The enhancements evident in this release of BRL-CAD include dozens of
bug fixes and additional documentation across the entire package.
MGED now sports a new Geometry Browser for traversing through
geometry, as well as improved support for saving and restoring mged
views.  There is now support for importing from Unigraphics and
Pro-Engineer with the ug-g and proe-brl converters.  There is also a
g-nff converter for exporting to the NFF file format.  There is
experimental initial support for a new super ellipsoid primitive type
for advanced curvature shapes.  There are a few new procedural
database generators including one for creating geometry of an image as
well as generic vegetation.


WINDOWS SUPPORT

This release marks the first release with initial support for the
Windows operating system platform.  All of the core BRL-CAD libraries
as well as several tools (including mged, rt, nirt, asc2g, and more)
have completed the conversion.  While not yet a holistic port, all of
the libraries and the core utilities have been ported and the rest will
soon follow.


----------------------------------------------------------------------
--- 2002-09-13  Release 6.0.2                                      ---
----------------------------------------------------------------------

Bug fixes.


----------------------------------------------------------------------
--- 2002-07-02  Release 6.0.1                                      ---
----------------------------------------------------------------------

Bug fixes.


----------------------------------------------------------------------
--- 2002-03-02  Release 6.0                                        ---
----------------------------------------------------------------------

NEW DATABASE FILE FORMAT

This is probably the most significant change in this release.  It
introduces a large number of new capabilities in BRL-CAD, including:

* Machine-Independent Data

  The geometry in the new file format is stored in an
  architecture-independent fashion. This removes the need to convert
  the geometry file to ASCII representation and back to binary when
  moving between machines of different architectures (e.g., between
  Big-Endian and Little-Endian machines).

* Unlimited-Length Object Names

  Names of objects in the geometry database were previously limited to
  16 characters. This restriction was burdensome when constructing
  complex systems. The new database format (and MGED/rt) allows for
  unlimited-length names for objects. The only limits remaining are
  usability/human factors (i.e., the user may wish to think twice
  before using 1024-character names for all objects).

* Object Attributes

  All geometry file objects can now carry arbitrary text data. This
  information is stored as a series of name-value pairs. For example,
  it is possible to store an attribute called "modeler", which could
  indicate the name and organization of the person who created that
  portion of the geometry. Another attribute might be "density", whose
  value would be the density of the material from which the object was
  constructed. Analysis codes can store application-specific data in
  these attributes and retrieve them at run time. MGED has a GUI
  control panel for creating and editing object attributes.

* Opaque Binary Objects

  It is now possible to store arbitrary data in a BRL-CAD geometry
  database object. For example, the entire description from an
  external CAD system could be stored for reference. Several features
  of BRL-CAD geometry that require ancillary data can now use these
  database objects as a data source in addition to being able to use
  external disk files.

* Reduced Disk Space Requirements

  The new file format is more aggressive about space utilization. Many
  primitives now occupy significantly less disk space.

* New dbupgrade Utility for Easy Migration

  The dbupgrade command has been created to bring old databases up to
  the most current version of the file format.

* Hidden Objects

  It is now possible to mark objects in the database as
  "hidden". These will not be listed in ordinary displays of database
  content. This allows users to keep objects such as opaque binary
  objects from cluttering listings.

* Deprecation of Obsolete hf and poly primitives

  The dsp(Displacement Map) primitive is functionally equivalent to
  the hf and offers substantial performance advantages. The bot (bag
  of triangles) primitive is likewise a substantial improvement over
  the existing poly primitive. The dbupgrade utility converts existing
  hf and poly primitives into dsp and bot primitives,
  respectively. Both hf and poly primitives are deprecated.

* Introduction of 2D sketch primitive

  The sketch primitive consists of straight lines, circular arcs, and
  Bezier curves. There is a drawing utility in MGED for creating them.

* Introduction of extrude primitive

  The extrude primitive supports linear extrusion of closed-boundary
  sketch primitive drawings to create 3D objects.

* New ASCII File Format for New Binary File Format

  This new ASCII format is based upon the Tcl scripting language. It
  allows more convenient processing and manipulation of the ASCII
  format.


MGED GEOMETRY EDITOR IMPROVEMENTS

In addition to supporting both the old and new geometry file formats,
there have been numerous improvements. These include:

* New User's Manual

  This is a completely updated tutorial introduction to MGED and
  modeling with BRL-CAD. Delivered in PDF format and suitable for both
  online browsing and printing. It includes a complete command
  reference. Look for it in the MGED menus at: "Help->Manual->PDF MGED
  Tutorial"

* Dual-Format Capability

  MGED and other BRL-CAD utilities retain the ability to work with
  geometry files constructed in previous versions of BRL-CAD as well
  as the new one. Users can upgrade geometry to the new format when
  they choose. New features implemented in the geometry file may not
  be available under the old format.

* Accelerators for Complex Shape Construction

  These allows user to automatically generate more complex primitives
  from existing ones. For example, rcc-cap creates an ellipsoidal top
  for a right circular cylinder.  The list of accelerators includes:
  rcc-blend, rcc-cap, rcc-tgc, rpp-arch, rpp-cap, rpp-arch, tor-rcc,
  and sph-part.

* Improved Menu and Interface Layout

  Menus have been arranged in a more convenient layout.  Default color
  selections have been improved.

* Abort on Raytrace Control Panel

  Users now have the option to abort a running raytrace process right
  from the control panel.

* Extended Primitive Type-In Support

  Two primitive types can now be created from the command
  prompt. These include:

    o  kinematics control (grip)
    o  arbitrary regular polyhedron (arbn)

* Extended Primitive Auto Generation

  Several primitive types can now be auto generated using the make
  command from within MGED.  Primitives created with this command take
  their initial parameters from the view center and size.  These
  include:

    o  rectangular parallelepipeds (rpp)
    o  arbitrary faceted (ars)
    o  and arbitrary regular polyhedron (arbn)

The following new commands and MGED tools have been implemented:

  * E: Extended options for creating evaluated wireframes.

  * adjust: Alter attributes of an object.

  * attr: Assign or retrieve a named text attribute from an object.

  * autoview: Set view size and center so that all displayed solids
    are in view.

  * bot_decimate: Perform facet reduction on bot by edge collapse.

  * bot_face_sort: Optimize a bot primitive for faster raytracing.

  * copyeval: Copy and evaluated/transformed primitive.

  * hide: Mark database object as hidden.

  * unhide: Mark database object as visible.

  * lt: Produce a listing like ls, but display output in a
    Tcl-friendly format.

  * nmg_collapse: Perform facet reduction on NMG by edge collapse.

  * nmg_simplify: Attempt to convert NMG to CSG primitive (ARB, TGC).

  * pathlist: Lists all existing paths that start from the specified
    combinations and end at a primitive.

  * rtedge: Command line interface to the rtedge program for
    generating line drawings.

  * shells: Separates an NMG primitive into many objects, 1 object per
    NMG shell.

  * showmats: List transformation matrices on a path.

  * summary: Provide database statistics.

  * xpush: An extended push that attempts to avoid degenerate
    conditions in matrix propagation.

  * Build Pattern Tool: this tool facilitates the construction of
    replicated objects in various rectangular grid and circular
    patterns. For example: lines of rivet heads, bolt holes, railroad
    ties, tire tread patterns.


OTHER ENHANCEMENTS

  * Opaque Binary Object Support for dsp Primitive and Texture Shaders

    The dsp primitive can accept an opaque binary object as the source
    for its elevation data. Likewise, texture shaders can now accept
    opaque binary objects as the source for their image data.

  * Improved bot Primitive Raytracing

    The bot primitive supports a multiple bounding-box technique to
    achieve a substantial speedup during raytracing.

  * Improved dsp Primitive Raytracing

    The bot primitive implements an octtree bounding-box technique to
    achieve a substantial speedup during raytracing.

  * ASCII Representation for ebm and vol Primitives

    These two primitives did not have an ASCII representation in
    previous releases. This omission has been corrected.

  * Support for MacOS X

    BRL-CAD again supports the MacOS platform. It requires that the
    XDarwin or other X11 server be installed for correct operation.

  * Improved Pro/Engineer Interface

    The converter for Pro/Engineer has been improved and brought up to
    date with Pro/Engineer 2001. Improvements include:

      o  Oriented and non-oriented triangle support.
      o  Unlimited-name-length support.

  * FASTGEN4 Name Extensions

    The FASTGEN4 converter fast4-g now supports names longer than 16
    characters.

  * Improved Hidden-Line Drawing Support

    A new program called rtedge is included for rendering hidden-line
    drawings through a raytracing technique.

  * Software Library for Multiply Referenced Objects

    A C implementation of the Tcl/Tk dual-ported object type is
    included.

  * New Shaders

    Two new shaders flat and invisible are included. The flat shader
    supports per-channel alpha blending.


NEW UTILITIES

pixcmp: This program Compares two pix format images. Although not
technically new (it was formerly included in source distributions),
pixcmp is now installed.

rtedge: This program raytraces models, detects edges, and writes
BRL-CAD color image (.pix) files.

g_diff: This program compares two geometry database files and reports
differences between the two. This allows databases that contain the
same objects in different orders to be recognized as being the same.

dbupgrade: This program upgrades an old BRL-CAD database to the
current BRL-CAD release file format. This allows older geometry to
take advantage of space savings and new functionality only available
with the newer database formats (e.g., convert a database created with
BRL-CAD rel4.5 to one that is fully functional in BRL-CAD rel6.0).


DEVELOPER NOTES

These items are of interest to developers and others who compile
BRL-CAD from a source code distribution:

  + Compile-time optimizations that significantly increase raytrace
    performance (at cost of run-time debugging).

  + Removed dependency on X (and Tk) during source compilation.

  + Consolidated cake build options.

  + MGED db developer command facilities.

  + New and improved regression test suite.

  + Improved ANSI source conformance (still in transition).

  + New general-purpose Bourne-shell-based utility library (part of
    regression suite).  It includes support for file locking,
    semaphores, stdout/stderr/file logging, mail, cvs, packaging, and
    remote-host querying facilities.


DEPRECATED FEATURES

  lgt

    the lgt tool is replaced by the new rtedge tool.

  Redirection of I/O in g2asc and asc2g

    To support the new database file format, it was necessary to
    remove the ability to run g2asc and asc2g on streaming data.


SPECIAL ACKNOWLEDGMENT

This release is the last to introduce new features developed by Mike
Muuss. Mike embodied a unique blend of unparalleled intellect,
unquenchable curiosity, and unending enthusiasm to advance the
capabilities and performance of everything and everyone he touched. He
was the original architect of BRL-CAD and for 20 years guided its
development and emergence as one of the most advanced physically based
computer-aided design packages in the world. His presence and his
abilities will be missed.


----------------------------------------------------------------------
--- 2001-03-05  Release 5.3                                        ---
----------------------------------------------------------------------

Bug fixes.


----------------------------------------------------------------------
--- 2000-08-21  Release 5.2                                        ---
----------------------------------------------------------------------

Bug fixes.


----------------------------------------------------------------------
--- 1999-09-15  Release 5.0                                        ---
----------------------------------------------------------------------

NEW FEATURES

* Modern graphical user interface (GUI)

* Integrated software development medium

* Controllability from other applications

* Dynamic geometry

* Dozens of new utilities (stand-alone programs)

* New application development libraries and reorganization of existing
  libraries

* HTML documentation

* Haar wavelet signal decomposition and reconstruction

* Barycentric combination

* Cascading and time estimation for animation

* projection shading


TCL/TK

Tcl is an embeddable, full-function interpreted command language.  Tk
is a toolkit, based on Tcl, for building user interfaces.  Tcl/Tk was
initially created by John Ousterhout.  The benefits include rapid
development, ease of providing applications a powerful scripting
language, and user convenience.  Tcl is an excellent "glue" language.
Using Tcl/Tk, a windowing shell interface to the BRL-CAD library
routines has been easily afforded.


MGED

The image frame buffer and ray trace rendering is now integrated into
MGED.  This supports disambiguous rendering, registration of geometry
with imported imagery, the ability to visually query individual rays,
and mouse-based edit and render support.  Additionally, MGED sports a
multiple view multipane mode for viewing the same geometry from
various views simultaneously.  Snap-to-grid support is added as is
networked collaboration.

There should now be uniform mouse-based manipulation of both geometry
and the MGED view.  There is a command history and support for
command-line editing.  There are GUI control panels for ray-traced
rendering, animation, color editing, snap-to-grid, angle/distance
cursor control, and setting material properties.


NEW UTILITIES

There is new conversion tools available now for converting BRL-CAD to
ACAD (General Dynamics) for XPATCH, Alias|Wavefront, Compaq (Digital
Equipment) OFF, and VRML.  Likewise, there are tools for converting
Cyberware digitization, NASTRAN, and 3D systems stereolithography
(stl) formats into BRL-CAD geometry.

Using the g_diff command, you can compare .g files and report
differences.  Non-manifold Geometry (NMGs) can be converted to more
simple primitives.  Finally, region ID support has been reorganized.

In the area of image tools, support for the Portable Network Graphics
(PNG) image format has been added.  This includes image conversion and
display.  Likewise, support for the YUV color model has been added.

Database Maintenance

* g_diff: Compare two BRL-CAD models, writing the results of the comparison
  as an mged(1) script to change one model into the other.
* nmg-polysolid: Convert all the NMG solids in a BRL-CAD model into polysolids.
* remapid: Perform batch modifications of region IDs in a BRL-CAD or TANKILL
  model.
* rtweight: Calculate weight, centroid, and volume data for a BRL-CAD model.
* texturescale: Scale a pix(5) stream to map onto a curved solid.

Converters

* cy-g: Convert from Cyberware digitizer output format to BRL-CAD.
* nastran-g: Convert from NASTRAN finite-element format to BRL-CAD.
* stl-g: Convert from 3D Systems stereolithography format to BRL-CAD.
* g-acad: Convert from BRL-CAD to the General Dynamics ACAD format.
* g-off: Convert from BRL-CAD to the DEC (Compaq) Object File Format.
* g-vrml: Convert from BRL-CAD to the Virtual Reality Markup Language
  format.
* g-wave: Convert from BRL-CAD to the Alias|Wavefront format.

Image Support Tools

* any-png.sh: Convert any of various image file formats to the PNG format.
* bw-png: Convert a bw(5) stream to the PNG format.
* fb-png: Save the contents of a frame buffer to a file in the PNG format.
* imgdims: Guess the width and height of an image file from the name of
  and/or number of bytes in the file.
* pixblend: Blend two pix(5) or bw(5) images either randomly or as a weighted
  average.
* pixborder: Add a 1-pixel-wide border to regions in a pix(5) stream of a
  specified color.
* pixclump: Quantize the colors in a pix(5) stream.
* pixcount: Sort the pixels in a pix(5) stream by color value.
* pixdsplit: Disentangle the chars from the doubles in a pixd(5) stream.
* pixmorph: Perform feature-based image metamorphosis between two pix(5)
  files.
* pixsubst: Change the pixels of a specified color in a pix(5) stream to a
  second specified color.
* pix-png: Convert a pix(5) stream to the PNG format.
* pix-yuv: Convert a pix(5) stream to YUV in CCIR-601 format.
* png_info: Display the non-image information found in a PNG stream.
* png-bw: Convert a PNG(5) stream to bw(5) format.
* png-fb: Display a PNG(5) stream on a frame buffer.
* png-pix: Convert a PNG(5) stream to pix(5) format.
* rtsil: Produce a hidden-line silhouette image.
* yuv-pix: Convert a stream in YUV (CCIR-601) format to pix(5) format.

Animation Tools

* anim_cascade: Evaluate movement of one object relative to another.
* anim_time: Estimate appropriate time parameters for a path.

Miscellaneous

* bary: Compute weighted sums (including barymetric combinations) of
  points.
* bwish: BRL-CAD version of wish(1), the Tcl/Tk-based windowing shell.
  Includes functionality of libbn(3), librt(3), etc.
* mst: Construct a minimum spanning tree for an input graph.
* wavelet: Perform Haar wavelet decomposition or reconstruction.


DEPRECATED FEATURES

Some features of release 5.0, while brought forward from older
releases for the sake of compatibility, represent outdated user
interface, outgrown software technology, or similar unfortunate
baggage. The list below enumerates some of the features that, while
still available in release 5.0, are not guaranteed to be carried
further, and thus may not be present in subsequent releases.

* compat4.h

  A C header file to provide compatibility in names and calling
  sequences of library routines.  For instance, functions like
  rt_malloc and rb_create have been moved from librt(3) and
  libredblack(3), respectively, to libbu(3), and are renamed bu_malloc
  and bu_rb_create, accordingly.

* mged command names

  Many of them are unfortunate and some have already been changed
  Where command names have been changed, Tcl procs with the former
  names are provided in 5.0 for compatibility.  For instance, the
  enigmatic 'e' has been replaced with the much clearer 'draw'.

---
See doc/history.txt for more historic information on BRL-CAD.  There
is contained information on releases that predate 1999 and the 5.0
release.

NEWS items should be formatted to column 70 (M-q in Emacs), no tabs.
