==========================================================================
== EANav
== Version log
==========================================================================

    Core Technology UI harvests changes customers make to this package.

    For more information on the harvesting process, please see:
      http://confluence.ea.com/x/SwHVCg

    For customer-specific harvesting notes, please see:
      http://confluence.ea.com/x/5iLICg

    If you would like your team's version of this package to be harvested,
    please contact CoreTechnologyUISupport?EASports@ea.com.
    
==========================================================================

Version: 1.05.01 (Zebra)
Owner:   Core Technology UI (CoreTechnologyUISupport?EASports@ea.com)
Date:    9/19/2013
CL:      481507

    Bugfixes
    
      * Variables that are false now evaluate properly instead of looking in the next environment

    Internal Changes
    
        * Updated implementation and unit tests to reflect the new way of creating and calling EA::Types::Functions
    
==========================================================================
    
Version: 1.05.00 (Xantus)
Owner:   Core Technology UI (CoreTechnologyUISupport?EASports@ea.com)
Date:    5/9/2013
CL:      414212

    Behaviour Change
    
      * All .nav files specified using absolute path names (starting with a / or \) are assumed to be relative to the root .nav file

    New Features
    
      * AddListener and RemoveListener are now enabled and functional in FINAL builds
        -  "debugPush" and "debugPop" events cannot be listened to in final builds
        -  "stateEntered" and "stateExited" events now also receive an array of numbers representing the state
        
      * The Reload function now allows a particular state (and its children) to be reloaded at runtime
        This is equivalent to executing a transition from the state to itself
        
    Tools
    
      * The Nav verifier tool now works properly with absolute paths (by assuming that all .nav files with absolute path names are relative to the root .nav file)
      * A Nav telemetry tool is provided for generating small ids for each state in a tree of .nav files
      * Tools are now built using EABaseTypesLuaTool
        
    Bugfixes
    
      * Pathfinding has been fixed so that the pathfinding Nav instance doesn't execute action handlers from the
        target nav instance
     
	
==========================================================================

Version: 1.04.00 (Wyvern)
Owner:   Core Technology UI (CoreTechnologyUISupport?EASports@ea.com)
Date:    3/28/2013
CL:      395244

	API Changes
	  * INav::Introspect has been removed
	  * LuaNav::Create now takes an additional parameter which is a dictionary of runtime constants for Nav
	  
	Nav File Changes
	  * transition.properties have been replaced with transition.let
		
		transition.let is an object which contains a set of name to value bindings which are evaluated in the scope 
		of the source state. The bindings created by transition.let are available in the onExit of all states exited 
		by the transition, as well as the onEnter of all states entered by the transition
		
		Since the let is a set of bindings, the ".transition" idiom is no longer needed, instead the bindings can be
		accessed normally as regular bindings. Additionally, the let for an initial transition does not completely
		shadow the let for the transition entering the compound state - the initial transition let can re-bind some
		variables and leave others as-is
		
	  * state.let has been added
	  
	    state.let is an object which contains a set of name to value bindings evaluated in a special environment made 
		up of the state.let's of all enclosing states as well as the initial runtime constants specified when Nav is 
		created
		
		The variables created by state.let can be accessed from normal action handlers
		
	  * transition.cond expressions now evaluate in the environment made up of all the enclosing state.let's
	    
		This places some restrictions on how transition.cond can be used, but it means that pathfinding can no longer
		be broken by conditional transitions
	  
    Bugfixes
    
      * Nav pathfinder now ignores interruptions and simply verifies the correct configuration
        once pathfinding is completed
      * Nav pathfinder now respects the maxNodes parameter - it will only visit this number
        of nodes
		
	Internal Changes
	
	  * All CallFunction<tparams>(function, params) invocations have been changed to function->Call<tparams>(params)
		
	Other
	
	  * Rebuilt verifier tool due to changes in this and other packages
	
==========================================================================

Version: 1.03.01 (Velociraptor)
Owner:   Core Technology UI (CoreTechnologyUISupport?EASports@ea.com)
Date:    2/15/2013
CL:      377002

	New Features

	  * Removed packages subdirectory from lua directory, moved .lua and .lreq files into lua directory
	  * Added ? (ternary) operator to Nav
	  * All action handlers are now variables in the global environment, and action handlers can be
	    manipulated like other variables
	  * Added support for event-less transitions

==========================================================================

Version: 1.03.00 (Unicron)
Owner:   Core Technology UI (CoreTechnologyUISupport?EASports@ea.com)
Date:    12/21/2012
CL:      358021

	New Features

	  * New package containing Nav functionality previously in ux_nav

==========================================================================

Version: 1.02.00 (Unicorn)
Owner:   Core Technology UI (CoreTechnologyUISupport?EASports@ea.com)
Date:    12/14/2012
CL:      355399

	New Features
	
	  * Added "if" control structure to allow the conditional execution of action 
	    handlers. More info at http://confluence.ea.com/x/tbMhCw
	  
==========================================================================

Version: 1.01.00 (Tyrannosaurus Rex)
Owner:   Core Technology UI (CoreTechnologyUISupport?EASports@ea.com)
Date:    12/3/2012
CL:      348798

    Features
	
	  * A _path variable is available which will be the path of the current .nav file
	  * External .nav files are now loaded via relative paths

    Bugfixes
	
	  * Fixed issue where an illegal configuration could occur if an external child of a parallel state was entered

==========================================================================

Version: 1.00.01 (Salamander)
Owner:   Core Technology UI (CoreTechnologyUISupport?EASports@ea.com)
Date:    10/16/2012
CL:      332561

    New Features

      * Now includes a "version.h" file with version #s and version-check macros
        to allow writing code compatible with multiple versions of ux_nav.

      * Added SaveConfiguration and LoadConfiguration functions to allow serialization/deserialization of the Nav configuration
      
      * Now uses automatic refcounting for EABaseTypes
      
      * Added basic expression evaluation and conditional transitions

    Bugfixes

      * Build is no longer dependent on coreunit if it doesn't need to be
      * The nav system will no longer crash when a parallel state with no substates is entered
        
==========================================================================

Version: 1.00.00 (Absinthe)
Owner:   UX (UXTech@ea.com)
Date:    7/16/2012
CL:      308780


