Release 0.5.3 (Mar 23, 2012)
============================

* FIX: SPM model generation when output units is in scans

Release 0.5.2 (Mar 14, 2012)
============================

* API: Node now allows specifying node level configuration for SGE/PBS clusters
* API: Logging to file is disabled by default
* API: New location of log file -> .nipype/nipype.cfg

* ENH: Changing logging options via config works for distributed processing

* FIX: Unittests on debian (logging and ipython)

Release 0.5 (Mar 10, 2012)
==========================

* API: FSL defaults to Nifti when OUTPUTTYPE environment variable not found
* API: By default inputs are removed from Node working directory
* API: InterfaceResult class is now versioned and stores class type not instance
* API: Added FIRST interface
* API: Added max_jobs paramter to plugin_args. limits the number of jobs
       executing at any given point in time
* API: crashdump_dir is now a config execution option
* API: new config execution options for controlling hash checking, execution and
       logging behavior when running in distributed mode.
* API: Node/MapNode has new attribute that allows it to run on master thread.
* API: IPython plugin now invokes IPython 0.11 or greater
* API: Canned workflows are now all under a different package structure
* API: SpecifyModel event_info renamed to event_files
* API: DataGrabber is always being rerun (unless overwrite is set to False on 
	   Node level)
* API: "stop_on_first_rerun" does not stop for DataGrabber (unless overwrite is 
	   set to True on Node level)
* API: Output prefix can be set for spm nodes (SliceTiming, Realign, Coregister, 
       Normalize, Smooth)

* ENH: Added fsl resting state workflow based on behzadi 2007 CompCorr method.
* ENH: TSNR node produces mean and std-dev maps; allows polynomial detrending
* ENH: IdentityNodes are removed prior to execution
* ENH: Added Michael Notter's beginner's guide
* ENH: Added engine support for status callback functions
* ENH: SPM create warped node
* ENH: All underlying interfaces (including python ones) are now optional
* ENH: Added imperative programming option with Nodes and caching
* ENH: Added debug mode to configuration
* ENH: Results can be stored and loaded without traits exceptions
* ENH: Added concurrent log handler for distributed writing to log file
* ENH: Reporting can be turned off using config
* ENH: Added stats files to FreeSurferOutput
* ENH: Support for Condor through qsub emulation
* ENH: IdentityNode with iterable expansion takes place after remaining Identity
       Node removal
* ENH: Crashfile display script added
* ENH: Added FmriRealign4d node wrapped from nipy 
* ENH: Added TBSS workflows and examples
* ENH: Support for openfmri data processing
* ENH: Package version check

* FIX: Fixed spm preproc workflow to cater to multiple functional runs
* FIX: Workflow outputs displays nodes with empty outputs
* FIX: SUSAN workflow works without usans
* FIX: SGE fixed for reading custom templates
* FIX: warping in SPM realign, Dartel and interpolation parameters
* FIX: Fixed voxel size parameter in freesurfer mri_convert
* FIX: 4D images in spm coregister
* FIX: Works around matlab tty bug
* FIX: Overwriting connection raises exception
* FIX: Outputs are loaded from results and not stored in memory for during
       distributed operation
* FIX: SPM threshold uses SPM.mat name and improved error detection
* FIX: Removing directory contents works even when a node has no outputs
* FIX: DARTEL workflows will run only when SPM 8 is available
* FIX: SPM Normalize estimate field fixed
* FIX: hashmethod argument now used for calculating hash of old file
* FIX: Modelgen now allows FSL style event files

Release 0.4.1 (Jun 16, 2011)
============================

* Minor bugfixes

Release 0.4 (Jun 11, 2011)
==========================

* API: Timestamp hashing does not use ctime anymore. Please update your hashes by
       running workflows with updatehash=True option
       NOTE: THIS IS THE DEFAULT CONFIG NOW, so unless you updatehash, workflows will 
       rerun 
* API: Workflow run function no longer supports (inseries, createdirsonly).
       Functions used in connect string must be pickleable
* API: SPM EstimateContrast: ignore_derivs replaced by use_derivs
* API: All interfaces: added new config option ignore_exception
* API: SpecifModel no longer supports (concatenate_runs, output_specs). high_pass_filter
       cutoff is mandatory (even if its set to np.inf). Additional interfaces
       SpecifySPMModel and SpecifySparseModel support other types of data.
* API: fsl.DTIFit input "save" is now called "save_tensor"
* API: All inputs of IdentityInterfaces are mandatory by default. You can turn
       this off by specifying mandatory_inputs=False to the constructor.
* API: fsl FILMGLS input "autocorr_estimate" is now called "autocorr_estimate_only"
* API: fsl ContrastMgr now requires access to specific files (no longer accepts
       the result directory)
* API: freesurfer.GLMFit input "surf" is now a boolean with three corresponding
       inputs -- subject_id, hemi, and surf_geo

* ENH: All commandline interfaces display stdout and stderr
* ENH: All interfaces raise exceptions on error with an option to suppress
* ENH: Supports a plugin interface for execution (current support for multiprocessing,
       IPython, SGE, PBS)
* ENH: MapNode runs in parallel under IPython, SGE, MultiProc, PBS
* ENH: Optionally allows keeping only required outputs
* ENH: New interface: utility.Rename to change the name of files, optionally
       using python string-formatting with inputs or regular expressions matching
* ENH: New interface: freesurfer.ApplyMask (mri_mask)
* ENH: New FSL interface -- SwapDimensions (fslswapdim)
* ENH: Sparse models allow regressor scaling and temporal derivatives
* ENH: Added support for the component parts of FSL's TBSS workflow (TBSSSkeleton
       and DistanceMap)
* ENH: dcm2nii interface exposes bvals, bvecs, reoriented and cropped images
* ENH: Added several higher-level interfaces to the fslmaths command:
    - ChangeDataType, Threshold, MeanImage, IsotropicSmooth, ApplyMask, TemporalFilter
      DilateImage, ErodeImage, SpatialFilter, UnaryMaths, BinaryMaths, MultiImageMaths
* ENH: added support for networx 1.4 and improved iterable expansion
* ENH: Replaced BEDPOSTX and EddyCurrent with nipype pipelines 
* ENH: Ability to create a hierarchical dot file
* ENH: Improved debugging information for rerunning nodes
* ENH: Added 'stop_on_first_rerun' option
* ENH: Added support for Camino
* ENH: Added support for Camino2Trackvis
* ENH: Added support for Connectome Viewer

* BF: dcm2nii interface handles gzipped files correctly
* BF: FNIRT generates proper outputs
* BF: fsl.DTIFit now properly collects tensor volume
* BF: updatehash now removes old result hash file

Release 0.3.4 (Jan 12, 2011)
============================

* API: hash values for float use a string conversion up to the 10th decimal place.
* API: Iterables in output path will always be generated as _var1_val1_var2_val2 pairs

* ENH: Added support to nipy: GLM fit, contrast estimation and calculating mask from EPI
* ENH: Added support for manipulating surface files in Freesurfer:
    - projecting volume images onto the surface
    - smoothing along the surface
    - transforming a surface image from one subject to another
    - using tksurfer to save pictures of the surface
* ENH: Added support for flash processing using FreeSurfer
* ENH: Added support for flirt matrix in BBRegister
* ENH: Added support for FSL convert_xfm
* ENH: hashes can be updated again without rerunning all nodes.
* ENH: Added multiple regression design for FSL
* ENH: Added SPM based Analyze to Nifti converter
* ENH: Added increased support for PyXNAT
* ENH: Added support for MCR-based binary version of SPM
* ENH: Added SPM node for calculating various threshold statistics
* ENH: Added distance and dissimilarity measurements

* BF: Diffusion toolkit gets installed 
* BF: Changed FNIRT interface to accept flexible lists (rather than 4-tuples)
      on all options specific to different subsampling levels

Release 0.3.3 (Sep 16, 2010)
============================

* API: subject_id in ModelSpec is now deprecated
* API: spm.Threshold 
  - does not need mask, beta, RPV anymore
  - takes only one image (stat_image - mind the name change)
  - works with SPM2 SPM.mat
  - returns additional map - pre topological FDR

* ENH: Added support for Diffusion toolkit
* ENH: Added support for FSL slicer and overlay
* ENH: Added support for dcm2nii

* BF: DataSink properly handles lists of lists now
* BF: DataGrabber has option for raising Exception on getting empty lists
* BF: Traits logic for 'requires' metadata
* BF: allows workflows to be relocatable
* BF: nested workflows with connections don't raise connection not found error
* BF: multiple workflows with identical nodenames and iterables do not create nestsed workflows  

Release 0.3.2 (Aug 03, 2010)
============================

Enhancements
------------

  - all outputs from nodes are now pickled as part of workflow processing
  - added git developer docs

Bugs fixed
----------

* FreeSurfer

  - Fixed bugs in SegStats doctest

Release 0.3.1 (Jul 29, 2010)
============================

Bugs fixed
----------

* FreeSurfer

  - Fixed bugs in glmfit and concatenate
  - Added group t-test to freesurfer tutorial

Release 0.3 (Jul 27, 2010)
==========================

Incompatible changes
--------------------

* Complete redesign of the Interface class - heavy use of Traits.

* Changes in the engine API - added Workflow and MapNode. Compulsory name argument.

Features added
--------------

* General:

  - Type checking of inputs and outputs using Traits from ETS_.
  - Support for nested workflows.
  - Preliminary Slicer and AFNI support.
  - New flexible DataGrabber node.
  - AtlasPick and Threshold nodes.
  - Preliminary support for XNAT.
  - Doubled number of the tutorials.

* FSL:

  - Added DTI processing nodes (note that TBSS nodes are still experimental).
  - Recreated FEAT workflow.

* SPM:

  - Added New Segment and many other nodes.
  - Redesigned second level analysis.
