
All changes by Craig Miller cvmiller at gmail dot com


Released 15 August 2015 v4.9.0
	Added Native Sleep support (finally!)
		Use colon and number to indicate sleep duration
			:5.5
		Supports mili-second resolution
		Prints progress "dots" while sleeping
			Sleeping: ....+....10.
	Added progress "dots" to expect lines (<, <<, ~<)
		Disable with *NOINFO
		

Released 31 May 2015 v4.8.1
	Minor fixes
		Unpaired user defined help ';;;' caused crash
		Variable names can now start with underscore e.g. $_myvar
	Added example for using tcl_functions.inc, mark_time and show_time

Released 15 January 2015 v4.8.0
	Expect-lite is 10 years old!
	Fixed fuzzy-expect bug if looking for '0'
	Fixed *SHOW VARS constant display (was ragged)
	Fixed include file, passing constant values with spaces
	Added IDE debug command: SHOW ENV
		Displays expect-lite flags (e.g. *DEBUG), counters e.g.
			*INFINITE_LOOP, fuzzy range, Env Vars
	Improved expect '<' wait mechanism interaction with IDE
	Added unset variable e.g. $var=
	Added *TERM N - exit with retun code N (0-255)
	
Released 22 July 2014 v4.7.2
	Added Directives *DVPROMPT, *NODVPROMPT, which control Dynamic Variable
		capture method. *DVPROMPT (default) requires a trailing prompt. (user request)
	Added include file home '~' expansion e.g. ~~fred/include.inc (user request)
	Fixed infinite loop bug in fuzzy expect code
	Fixed last comment line not printed when last line of file

Released 1 June 2014 v4.7.1
	Fixed while loop comparison if first value was blank
		Equal/not-equal comparisons are allowed to have blanks
		Less/Greater than comparisons are not allowed to have have blank values
	Fixed bug when $var ended in semicolon e.g. $var;
	Fixed IDE when typing a line which ended in semicolon
	Fixed CLI with no script and *INTERACT, now exits cleaner
	Added/Updated examples in examples directory

Released 20 April 2014 v4.7.0
	Added fuzzy expect ~<
		Permitting approximate values to be expected
		e.g.	>uptime
				~<load average: (1.0)
	*TIMESTAMP now prints with miliseconds
	Updated examples/tcl_functions.inc with "mark time" function
	Suppress some directives when *NOINFO is in effect
		*TIMESTAMP/*NOTIMESTAMP, *EOLS LF/*EOLS CRLF
	Added include_script_name to IDE <esc>-v display
	Improved speed EL_REMOTE_HOST=none (default), by shortening delays

Released 19 November 2013 v4.6.2
	Added env var EL_SHELL for shell to start when connect_method=none
	Fixed *LOGAPPEND with no file name (now it appends to default name)
	Fixed *TIMESTAMP to print to *LOG file
	Fixed CLI directives *INFO, *WARN, *EXP_INFO, *DEBUG to override script values
	Fixed CLI processing to not overwrite *LOG when using -h (help)
	Removed EL_LIBRARY mode automatically skipping include files
		Added *NOINCLUDE to provide backward compatibility for library mode
	Fixed string math functions
		concat - now spaces are not required e.g. =$var1+$var2
		search/replace - searching for minus now fixed =$var/-/z/

Released 23 July 2013 v4.6.1 (foreach release)
	Updated foreach to normalize lists (removing extra spaces) when executing loop
	Improved login prompt detection with EL_CONNECTION_METHOD=none
		Removed unessecary 5 second delay
	Added code to remove of \r\n from *INTERACT pasted text
		This is to improve windows copy/paste into putty
	
Released 28 May 2013 v4.6.0 (foreach release)
	Added foreach loop using code blocks
		e.g.  $list=abc def ghi
			  [ $x=$list
			     >echo $x
			  ]
	Added string math - search/replace options on strings
		Supports concat, removal, search/replace
		e.g.  $string=mylong2013string
			  =$string + may
			  		yields: mylong2013stringmay
			  =$string - long
			  		yields: my2013string
			  =$string/(\w+)(\d+)/\2\1/
			  		yields:: 2013mylongstring
			  =$string//3stri/o/
			  		yields: mylong201ong
	Improved ssh login sequence, answering yes to login question automatically
		removed ssh "-o StrictHostKeyChecking=no" option
		ssh has very good support for ssh options on ~/.ssh/config
	Fixed bug when running expect-lite in screen (TERM=screen)

Released 10 March 2013 v4.5.0 (dog bone release)
	Added else code block ]::[
		e.g.  ?if this == $that ? [
				do this
			  ]::[
			  	else do that
			  ]
	Added Environment Var EL_INFINITE_LOOP
	Shortened expect-lite help, removed old style c=command_script
		old style still accepted on CLI
	Added experimental web front end - el_run.php

Released 27 January 2013 v4.4.1
	Fixed nasty bug when using *LOG <filename> on CLI

Released 21 January 2013 v4.4.0
	Added native logging to file with directives *LOG *NOLOG *LOGAPPEND
		Includes new Env Var: EL_LOG_EXT to control log file extesion (default=".log")
		CLI *LOG or *LOG <log file name> overides *LOG inside script
	Updated ssh login to always accept host key
	Improved install.sh for NFS mounted home drives
	expect-lite turns 8!

Released 4 December 2012 v4.3.3
	Fixed "send" bug "bad flag -1"
	Fixed dyn var capture when "=" are present
		e.g. +$var=(\d) = STRING:
	Fixed single number expect, if number was not on a line by itself
	Added warning when using redirection and user presses ^\:
	Fixed dyn var capture when "=" are present
			e.g. +$var=(\d) = STRING
			
Released 12 August 2012 v4.3.2
	Small bug fixes
		Ubuntu BUG #994386 - login send incorrect env setup command
		Fixed while loop test blank (indefined) variable
		Fixed infinite loop counter (was still counting too many)
		Fixed install.sh to configure as unprivilaged use (fix for NFS mounted home dir)
	Released expect-lite blog - http://expect-lite.blogspot.ca

Released 27 June 2012 v4.3.1
	User defined help (run your script with a -h)
	Pass include files parameters (e.g. ~login.inc user=root)
	Lots of small bug fixes
		Fixed path bug with include files
		Fixed ssh (no key) login prompt detection
		Fixed *INFINITE_LOOP bug, would double/triple count down
		Fixed to work with older versions of expect (older than 5.44.x, such as cygwin, and old linux installations)
		Fixed CLI -v,-vv,-vvv override of logging (*INFO, *WARN, *DEBUG)
		Validate EL_CONNECT_METHOD at startup (default=none)

Released 24 April 2012 v4.3.0
	Added "User Defined Help", see with -h or --help e.g.
		;;; start of help
			This script configures all routers
		;;; copyright 2012
	Added passing arguments to include files e.g.
		~login.inc user=root
		Passed arguments var=value scope is only inside the include file
	Added ##Include Result: FAILED: <include-file-name>
	Added directive *NOINTERACT to ignore breakpoints (*INTERACT)
		Useful for quick regression scripts
	Added include filename check at startup
		ensure include files are available before executing script
	Re-added *PASS as pseudonym for *TERM
		This behaviour will be improved later

Released 13 February 2012 v4.2.2
	Fixed _buf(stack) crash in library mode only
	Updated if-else to handle ipv6 addresses with double colons
		ipv6 addr is defined at [0-9a-f:]
		expect-lite should now fully support IPv6 

Released 13 December 2011 v4.2.1
	Fixed jump to label in IDE single step e.g. ?if 1==1? %TEST
	Cleaned up IDE paste (first line pasted must not be indented)
	Fixed buffer read - more specific about lines read into buffer
	Fixed buffer read problem with lines ending in backslash \

Released 11 October 2011 v4.2.0
	Added Code Blocks, grouping lines of script for if statements and while loops
		Added while loops via code blocks, e.g.
			[ $i < $n
			]
		While loops have infinite loop protection (defaults to 5000)
		Code Blocks can be pasted into IDE (with expect version 5.42 or later)
	Added constant values can have spaces on CLI - feature request from Michel Desjardins
		e.g. var="value and spaces"
	Cygwin has been tested, however expect 5.26 (from 2003) does not support IDE paste
		Working on submitting a newer version to Cygwin repository
	Fixed var increment with spaces at end of var e.g. +$var 
	
	
Released 23 August 2011 v4.1.2
	Fixed @n (n=number) to set timeout value from IDE (problem with ssh user@192.168...)
	Fixed *FORK display, when "session" is part of the session name
	Added conditional test for undefined varibles
		if undef var, treat var as ""
		e.g. ?if $undef_var == $blank ? or ?if $undef_var == ?
	Updated installer with "configure only" option, just configures user	

Released 26 June 2011 v4.1.1
	Implemented reverse search of labels, allowing non-unique labels for looping
	Fixed *FAIL to work with *NOFAIL, rather than terminating immediately
	Added @n (n=number) to set timeout value from IDE 

Released 12 April v4.1.0
	Bug fixes
		Fixed *FORK default bug (wasn't switching back to default)
		Fixed IDE Step, when *FORK command is step, session didn't change
		Fixed bug in fail script handling, script would not fail
		Fixed bug in parse_var, added pipe (|) to "end of var" list
	Added new Library-mode: expect-lite now can be a TCL package
		API now permits calling expect-lite interpreter from inside TCL
		See Docs and example script test_el_lib.tcl

Released 22 Feb 2011 v4.0.3
	Bug fixes
		Fixed *NOFAIL inside IDE, command didn't persist after continuing script
		Fixed *FORK inside IDE, was not returning to correct session upon Continuing script (+++)
		Fixed terminal-type to include xterm-color
		Fixed bug in Bad Time Out Value (found by Tajas Petal)
	Added new logging directive
		Added *TIMESTAMP ISO|YMD|DMY|MDY  & *NOTIMESTAMP (idea from Kevin Broch )
			ISO is default timestamp format
	Added expect-lite-lib ground work, not ready for release yet

Released 21 Dec 2010 v4.0.2
	Minor change to debugger copy/paste to permit absolute paths
	First release of tarball installer		

Released 26 Oct 2010 v4.0.1
	Reworked buffers completely (now global array)
	Added Integrated Debugger with breakpoint, step/skip, copy/paste
		IDE: Help
		  Key          Action
		  ----        ------
		  <esc>s      Step
		  <esc>k      sKip next step
		  <esc>c      Continue
		  <esc>v      show Vars
		  <esc>0to9   Show N next lines of script
		  <esc>-1to-9 Show N previous lines of script
		  ctrl+D      Quit & Exit expect-lite
		  <esc>h      this Help
	Added directive *INFINITE_LOOP N - changes infinite loop protection value
	Added any *DIRECTIVE on the CLI (not **SHELL)
	Added *NOFAIL directive - script runs to completion
	Added RED old expect version warning, now requires minimum 5.42
		Compiled cygwin version of expect 5.45, available on website
	Added Env Var support: EL_CONNECT_METHOD, EL_CONNECT_USER, EL_CONNECT_ PASS, EL_DELAY_WAIT_FOR_HOST
	Add $arg0 to <esc>v *SHOW VARs commands
	Added self test scripts for IDE
	Native method to make scripts executable 
		#!/usr/bin/env expect-lite
	Created bashrc as example for setting env vars to customize expect-lite
	Updated Documentation, including cygwin page
	

Released 16 Sept 2010 v3.7.1
	release of 3.7.1d7
	updated Man page

Updated 10 Sept 2010 v3.7.1d7
	Fixed ^\ during a pipe to 'tee' - would give call trace
		Now expect-lite just exits with error
	Changed -w to -V to show *EXP_INFO

Updated 26 August 2010 v3.7.1d4
	Fixed errant color issues (when TERM=tty)
	Added *EXP_INFO, *NOEXP_INFO - shows expected lines in stdout
		Added CLI argument -w to turn on *EXP_INFO
	Added custom color to comment lines, if first word is recognized color
		e.g. ;red This comment is red
	Added *PASS - synonym for *TERM
	
Released 2 August 2010 v3.7.0
	Release of 3.7.0d5 as 3.7.0

Updated 30 July 2010 v3.7.0d5
	Added *NOCOLOR directive
	Added *EOLS LF|CRLF directive
		Sends \n or \r\n
		Made fork context to hold eols per session
	Cleaned up *INTERACT - passes *FORK down with other commands
	
Updated 28 July 2010 v3.6.4d2
	Added path for telnet - fixes cygwin/windows wrong telnet issue
	Added ANSI color to INFO,WARN,ERR
		Can assign color=none to all
		Added TERM detection for xterm, ansi, vt100, vt220
	
Released 19 July 2010 v3.6.3
	Added support for -r <host> -c <script> -d <dir> to be more linux like
	Updated help to reflect new parameters
	Added default connect mode "none"
	Changed default timeout to 10 seconds
	Added man page
	
Released 13 July 2010 v3.6.2
	Includes example script for 2010 OLS
	
Updated 12 July 2010 v3.6.2d7 becomes release 3.6.2
	Added support for ENV Vars to automatically become constants
	
Updated 02 July 2010 v3.6.2.d4
	Fixed bug in closing cygwin bash session when using r=ssh_host
		Problem only showed in iTest

Updated 23 June 2010 v3.6.2.d3
	Added Debug print out for NOT expect feature

Updated 18 June 2010 v3.6.2.d2
	Fixed bug in closing bash sessions when using r=none
		problem: cygwin bash would not close at end of script	
		
Released 14 June 2010 version 3.6.1
	Document release only - New Website
	Released setup_ssh_keys.sh

Released 18 January 2010 version 3.6.0
	No changes, just published 3.5.2b2
	expect-lite turns 4!

Updated 28 December 2009 version 3.5.2b2 (3.6.0.RC)
	Added '<<' for expect with NO regex
		Still allows wildcarding, e.g. <<this*that
	Added self_test_basics.txt for regression of feature
	Added DEBUG statement inside Embedded Expect to make it more visable
	
Updated 29 Sept 2009 version 3.5.2b1
	Made sending Control Charactors more consistant
		Now use >>^<char> or  >^<char>

Released 21 May 2009 version 3.5.1
	No changes, just published 3.5.1.d1
	
Updated 27 Jan 2009 v3.5.1.d1
	Fixed bug in labels, trailing spaces would not be trimmed
	Worded IF INFO statement, now is eval:TRUE|FALSE
	
Released 19 Jan 2009 version 3.5.0
	o	User Defined Prompt & Dynamic Variables - May need to fix
		Fixed - but UDF's are harder to define than thought
	o	cli -v -vv overide of script logging directives 
	o	Added directives: *FAIL, *TERM (no fail) 
		*INTERACT		a shell which provides interaction - done
		add directives *NOWARN *WARN *NODEBUG *DEBUG - Done
	o	add *SHOW VARS (what else can be "shown") - done d14
			*SHOW LAST - shows current line in script
	o	*FORK <name>
		Permits access to multiple spawn_ids (spawn to a shell)
			Includes additional debugging info with --v - done
	o	Add better prompt initialization (for other shells, like tcsh with bold in prompt)
			Set $prompt or $PS1 to sane values - done
			**SHELL=<shell> directive - sets shell	
				Allow to blank			
			Should this be a configure vs runtime directive? configure only
			Not supported in include scripts
	o	Differenciate between WARN and INFO
			If, Dyn-Var should be INFOs 
			Test FAIL/PASS should be INFO

--------------------

Previous changes in git repository - expect-lite_changelog.txt (in chronilogical order)


