#ADMB Project  

*ADMB-11.2*  
*Released December ??, 2014*  

Describe changes and features for each release.

---

Release Notes
-------------
The goals for all releases are
 
* Continually improve algorithms
* Add new requested features
* Correct defects (bugs)
* Continually streamline installation and build process
* Continually improve and update documentation

ADMB-trunk
----------

####Changes and Improvements
* Default safe libs include overflows checks.
* Changes to derivative checker prompts.
* Added description documentation to the programming interface.
* Improvements to admb scripts (see New Features).
* Added more unit tests for improved code coverage. 
* Fixed reported and found bugs.
* Fixed compilers warnings.
* Add more checks in admb scripts to test for errors.
* Added Quickstart*.txt markup documentation for building and using ADMB.
* User interface: Windows admb bash script has a .sh extension to avoid 
  conflict with batch file.  So in MinGW or Cygwin shell, user will need
  to use 

        [~/admb/examples/admb/simple/]$ ~/admb/admb.sh simple

* Fixed 'admb -d' for unix, mingw and cygwin shells.
* Able to use Rtools for building, but will need to use the utilities\make.exe
  for building.
* Improved the build by restructuring and reworking the GNUmakefiles file.
* Able to use parallel build option (-j) with verify and contrib targets for 
  faster builds.
* To build with optimized libraries use fast option (-f) instead of (-o). 

        $ admb -f model.tpl

* Fix shared (libadmb.so) and dynamic (admb.dll) builds.

        [~/admb/]$ make shared

        C:\admb\> utilities\make shared

  Note &mdash; This is great for testing linker errors.

* Added contributed method to save gradient values to a file.
  Contributed by Jiashen Tang and David Fournier.

        REPORT_SECTION
          save_gradients(gradients);

* Added back the MacOS binary ADMBTerminal app.
* Packaged mingw compilers (32 and 64 bit) with windows installers.
* admb scripts can determine which parser (tpl2cpp or tpl2rem) to use.

        [~/admb/examples/admb-re/union/]$ ~/admb/admb union

  _Note: Option *-r* is no longer needed to build the random effects model._

* Separate build/dist and build/debug for easily switching between the both.
* Allow > 2GB buffers for MinGW-w64 builds.

####New Supported Compilers

* GNU C++ 4.8 compiler
* Apple XCode 5
* MinGW 64 Bit
* Microsoft C++ 2013

 _Note: Borland 5.5 compiler is no longer supported._

####New Features

* Add debug target to build files.

        $ make debug

* Add shared target to build files (Unix only).

        $ make shared

* admb scripts can be called directly and do not require setting enviromental variables
  ADMB_HOME and PATH.

    For Unix,  
   
        [~/admb/example/admb/simple/]$ ~/admb/admb simple

    For Windows, 
  
        C:\admb\example\admb\simple\> C:\admb\admb simple

* admb scripts can build C++ source files and link.

    For Unix, 
  
        [~/admb/example/admb/simple/]$ ~/admb/admb simple.tpl mysource.cpp

    For Windows, 
  
        C:\admb\example\admb\simple\> C:\admb\admb simple.tpl mysource.cpp

* admb scripts have a new option -f for optimized library "OPT_LIB".

    For Unix, 
  
        [~/admb/example/admb/simple/]$ ~/admb/admb -f simple.tpl mysource.cpp

    For Windows, 
  
        C:\admb\example\admb\simple\> C:\admb\admb -f simple.tpl mysource.cpp

* admb scripts have a new option -c for only building object files.

    Both commands below will only build simple.o and mysource.o compiled object files.  
    The model application will not be built. 

    For Unix, 
      
        [~/admb/example/admb/simple/]$ ~/admb/admb -c simple.tpl mysource.cpp

    For Windows, 
  
        C:\admb\example\admb\simple\> C:\admb\admb -c simple.tpl mysource.cpp

    _Note: This is the almost the same as using 'adcomp mysource'._

####ToDo

The following are planned or requested features for the next release.

- [ ] Merge Threading Code to trunk
- [ ] Atan2
- [ ] Write Design Documentation
- [ ] Write Developer Documentation

ADMB-11.1
---------

*ADMB-11.1*  
*Released May 10, 2013*  

####Changes

* Updated Visual Studio nmake build files.

* Improved Unix build files.
 
  * Only outdated files are rebuilt.
  * Fast parallel building with source distribution
        
        [~/admb/]$ make -j
        
  * Building from source will create distribution folder in 'build/dist' instead of 'build/os-compiler-arch'.

* Combined mulitple libraries to a single library 'libadmb.a'. 

* Reverted some algorithms to previous version-9 code.

* The compilation scripts (adcomp, adlink, admb) compile in "safe" mode by 
  default.

* added 's' option with the Ctrl^C

* contributed libraries are built with the main libraries.
 
* flex is not needed to build ADMB, but it is needed to develop the tpl2cpp.lex 
  and tpl2rem.lex files.
  
* Improved documentation.

####New Features
* admb script can now build tpl models without the need to set ADMB_HOME
  or PATH. For example, 

        [~/admb-11.1/examples/admb/simple/]$ ~/admb-11.1/admb simple

* Functions from user-contributed packages can be loaded from
  directory 'contrib'. Read 'contrib/README.txt'.

* New class 'init_table' to read input data into a matrix.

* New function sumsq() to calculate sum of squared values,
  equivalent to norm2().

* New constant PI for 3.141593... Makes models more portable
  than using M_PI or other compiler-specific constants.

* New shell command 'ad2csv' to write binary files to screen 
  or to a file.

* admb is now able to handle .obj, .cpp and .tpl files on
  the commandline.

    For example,

        $ admb model.tpl supportcode.cpp anotherfile.cpp

    Output is executable 'model'.

####Bug Fixes

* Catch exit errors for adlink and adcomp.
* Watch out for spaces in admb scripts
* Fix memory leaks.

Changes 9.2 to 11.0
-------------------
* Fixed gammln functions
* Fixed configure script
* Fixed atan2 functions
* Documentation changes
* Script changes
* Various bug fixes

---
For help and support, email <users@admb-project.org>.

$Id: CHANGES.txt 2764 2014-12-05 21:54:08Z johnoel $
