0.8.8 -> 0.8.9
==============

- more secure cgi version
- fix in replace_all() (bug was not serious at all as long as standard strstr(char *s0, char *s1) plays ok with *s0 == '\0')  
- small fix in compiler: compiler used to lie sometimes, e.g. that there is more ']' than "+[" and "-[" - compiler was wrong, was exactly the other way round



0.8.7 -> 0.8.8 
==============

- fixed serious and very stupid bug in "usesaved" feature (all that weird numbers in Aine output... - it's fixed now) 


0.8.6 -> 0.8.7
==============

- added replace_all_tokens() in respond.c
- format of substitute.txt, person.txt, person2.txt, personf.txt is more advanced,
	yet still compatible with the old format
		(see substitute.txt, person*.txt for details - there is self-explanatory comment)
- fixes in compiler to correctly compile categories with "_" wildcards
- much better checking for duplicate patterns (takes more time though)
- added call to replace_all(text, "??", "?"); in replace() @matchers.c (see code itself for explanation)
- added missing declaration of void format_output (char*) in stuff.h (Nelson's patch)
- changes in data/substitute.txt and data/person*.txt to use advantages of new format
- few trivial fixes (removed duplicate categories) in Amy
- some small fix in runme.sh that allows you compile Aine with "spell-corrector" many times (older was broken: if you once compiled with spell-corrector, then without, you wele not able to compile with spell-corrector yet again)
- runme.sh script now compiles version without dictionary without fuzzymatch.o making Aine exectuble smaller
- some cleaning to make Aine package a bit smaller, removed:
  - source/compiler/newcompiler/ (now I see it's better to clean up old one that making another one)
  - source/extras_old/win_irc.cpp and irc.ini (nobody I know use it; it sux - horribly written, full of bugs)
  - source/extras_old/megahal.*
    (MegaHAL is broken; if I will ever have time to fix it, I will take it from older releases)
  - source/extras_old/irc_alice.tcl (because there is most up-to-date version: sources/extras/egg_aine.tcl)
  - source/extras_old/dict.cpp (dictionary is already implemented)


0.8.5 -> 0.8.6
==============

- bug fix in chr_exsts() @respond.c (should fix many weird problems that used to happen since chr_exsts() is in Aine)
- small fix in compiler, and a bit simpler code (removed char *buffer from splitaiml()) 


0.8.4 -> 0.8.5
==============

- fixed bug in match()
- cleaner randomize() code
- many other very small changes in code, here and there, I don't even remember them all...


0.8.3 -> 0.8.4
==============

- fix with matching categories without topic (this bug showed up only when current topic was matched against data/brain/topics)
- minor changes to be more aware when you use version with spell-corrector: changes in install script and in main Aine version to show if Aine is compiled with spell-corrector
- some minor changes/fixes in code with "usesaved" feature


0.8.2 -> 0.8.3
==============

- fixed problem with cgi version (cgi version didn't respond at all)
- changed <client_output> to <client_input> in data/skeleton.txt due to some changes (in the past) in cgi_main.c


0.8.1 -> 0.8.2
==============

- fixes in condition code (multiple condition tags, with default "<k>" will work well now), and much cleaner condition code, it's now in void do_condition(char*)
- max mismatch ("DEGREE") changed from 2 to 1 (in spell checker, fuzzymatch.c), the spell checker is now less sensitive
- changes in replace() and replace_all() (fixes to potential problems, and one improvement)
- added many comments in source code
- some changes/fixes/improvements in compiler (many small changes, I'm too lazy to enumarate them)
- you can now compile Aine withouth the dictionary (I mean: spell checker) by deleting -DWITH_SPELL_CHECKER in source/Makefile
- some small changes in reevaluate()@respond.c to not call replace_all()@stuff.c without data to replace (e.g. replace_all (blah, "<*=6>", star[5]) when star[5] is empty /points to NULL/)
- some changes in extras_old/classify.c - but classify.c is still by no means usable to Aine
- added void mood_normalize (short*) @stuff.c
- moved some code from respond2()matchers.c to respond()@core.c - it fixes problem with <input=x> tags giving everything in uppercase
- updated converter from AIML to AineL to use <k> instead of <l> in <c>HERE</c>
- (in unoficial <plec> tag: changed "plec" to "gender")
- removed some unused variables from tester.c
- improved initial script
- sligthly better handling of smiles (changes in substitute.txt), added also ":>" one and similar ones
- change main package (Aine+Amy) name to "Ainebot" - this is more unique name. For example: it will be easier to find info on google about "Ainebot" than "Aine".


0.8.0 -> 0.8.1
==============

!- condition "<l>" tag is now "<k>" (there were serious problems (with <l> meaning another thing in <r> and in <c>) on nested <r> <c>tags)
!- many changes in replace and replace_all() @stuff.c (need to stress-test this functions now!)
- removed checking memory allocation for scrap variable in load_settings() - as scrap uses "that[0]" memory
- removed all #ifdef POLISH_LANG related to "botname" and "name" variable
- a bit restructured loop in print() @respond.c, added one assert()'ion
- fixes in egg_aine.tcl to work well with current Aine
- bot's name is now uppercased in print()
- better handling empty lines called to print()
- compiler, after encountering some errors, correctly deletes all files
- updated docs
- added tester.c (it's a lame tester, only for developers - for some test, you won't need that)
- Makefile now makes binaries in main Aine directory, you don't need to copy anything
- this release is with Amy 0.2.7
- added runme.sh - user-friendly installer


0.8.0.3 (not publ. released)
=======

- changes in replace_all()
	- fixed possible endless loop
	- small optimization
- added big buffer to dictionary file
- added printing problems with closing files to error-log
- some other small changes (beside above) in deinitialize() @core.c
- small changes in getvar() @core.c
- added -fwritable-strings option to Makefile
- better handling problems with opening varfile in savevars() @core.c
- better handling char *text in respond() @core.c (we don't alter *text now at all)
- small, mostly cosmetic, changes in cgi_main.c


0.8.0.2 (not publically released)
=======

- really fixed bad counter of added words to the dictionary
- fix to fix for "Solaris problem" (not yet tested on Solaris though)
- "WARNING", in compiler, about double "]" or "[" is now printed as "ERROR"

0.8.0.1 (not publically released)
=======

- fixed (hopefully) bad counter of added words to the dictionary
- fixed (hopefully) problems with Aine (compiler) on Solaris (?)
- some very small (mostly cosmetic) changes in sources


0.8.0
=====

- added some debug code (not really added in compilation until you define "DEBUG")
- fixed dictionary
- added support for my Polish bot name in console version (it's not really used until you define "POLISH_LANG")
- bot's name is now uppercased, in console version
- user's name is now uppercased nevertheless of how many times bot will use user name in one answer
- better handling empty user's input in tokenizer()
- moved calling spacetrim() from respond() to respond2() (it's important for some {RECURSIVE CALLS}, so called <srai> in AIML)
- added calling uppercase() in respond2() (for properly matching {RECURSIVE CALLS})
- added printing out to log info about "dangerous recursions"
- optimzed strn_case_cmp()
- small change in replace() and replace_all()
- small change in uppercase() and lowercase()
- respond2() now checks if input text is empty and doesn't search for a reply for such
- changed one experimental tag in <t>THAT</t> from '{' to '\', I will write more about it later


0.8.0PR ( Preview Release, not really publically released)
=======

Sorry, this list of changes is very chaotic, written mostly for myself (in case sth won't work in next releases, I will know
where to find problems)

- added fuzzy_match.c (for ditionary)
- added some code from WinAlice (fuzzymatch(), spellchecker(), tokenizer(), mostly by Jacco Bikker)
- removed explicit cast to (fpos_t) in matchers, @line 179, 210 and 253 as this adds too much mess on Linux
- char *OutToLog uses memory malloced by char *scrap now (less malloc calls in respond())
- logfile:
	- is opened as late as possible (important in heavy use Aine, as there will be more chances that only one Anie instance has opened logfile)
	- changed a bit own format: Aine prints out to log everything exactly how respond to user (e.g. doesn't clean output to log from such characters "#$%^&")
	- prints out many sentences at once
	- is handled by new function: writetolog()
	- changes in creator in extras/ to better work with current log format
- initfile is now properly closed after initialization
- islower() and toupper() are called in print() @respond.c (instead of 'A' - 'a', etc.) to keep localized characters
- added handling asterix in input (just added one line in substitute.txt):
	you can now match asterix (I mean don't use it as a wildcard) by writing <star> in +[INPUT],
	for example: +[5 <star> 7] will be matched with user input "5 * 7"
- added (to substitute.txt) removing ',' from input (as we don't have cleaner() now)
- removed one variable (int x) in copy_stars() @matchers.c
- added "Bool chr_exst(char*, char)" in matchers.c - it's simpler strchr(), we use it in few places instead of strchr() to speed-up matching
- "var_array *root_var" in  core.c is now static
- removed FILE* newaifile, aimlfile and learnt_f;
- optimized code for comments in substitute()
- fix potential problem with bad checking eof in substitute()
- recoded substitute() (now is simpler and faster)
- new format of substitute.txt (simpler), person.txt, person2.txt, personf.txt
- optimized strn_case_cmp() 
- removed delay() from stuff.c
- handling of "{}" code in respond.c - will now work even without "}" character on the end
- applied Nelson's patch to creator.c (new creator adds "<br>" in place of new line)
- optimized loop in load_file_pos()
- some changes in code, here and there, where possible, from while () blah, to do blah while() (it produces faster code)
- a bit optimized dump_vars() in core.c (less recursive calls)
- compiler now uses locale.h, assert.h and ctype.h
- added asserts() in few places in matchers.c
- some other small changes in code, here and there...  um, I don't like writing changelog at all....
- optimized replace() in stuff.c
- added <plec>blah<ona>bleh</plec> tags in compiler (compiler just replace it with longer, condition tags) - this is unoficial change, rather only for Polish bot I develop...
- char *fullpath is now not malloced
- added some checks to ensure we really got memory from malloc()
- changes in memory used by setvbuf(), we now don't pass the NULL to setvbuf()
- load_settings() now uses that[0] memory, doesn't malloc char *scrap
-(!) that[1] ("previous that") is now saved by Aine in savevars and that[1] will now work in cgi and command line versions)
! changed format of user variables file (see data/defvars.txt, in second line there is now "previous that")
- better handling of missed knowledge files (Aine now panics if any file is missed)
- fixed uppercasing non-English characters in reevaluate()
- added iso8859-2 codes, aine_toupper(), aine_tolower(), etc. (as I have problems with locales, I decided to write my "own"
        implementation of this funtions), some code is from Linux, thank you Mr. Torvalds :)
- added lowercase() in setvar() @core.c
- memcmp() instead of strcoll() in respond2() (experimental change)
- added "{" in that: if you will use "{" as first character in <t>THAT</t>, "that" won't be normally matched:
	if "special that" contets will be in find in last bot reply, "that" will be fired.
	(normal that is still matched with "*")
- changed -O2 to -O3 in Aine Makefile (I have done some tests, -O3 seems to be faster), added few other optimizations


0.7.7
=====

- two optimizations in loadvars()
	- don't call malloc second time, don't even use char *scrap, we now use 'pbuffer' here
	- there is now "setvar (pbuffer, equals + 1);" instead of "(setvar (pbuffer, ++equals);" as we don't really need to increment "equals"
- optimized call to malloc in initialize(), that[0] now uses memory malloced by char *datafile
- removed char *learnt_scrap, char *unsorted_a_scrap, char *unsorted_d_scrap (not used since some time)
- changed -mcpu=i586 to -mcpu=i686 in Aine and 'compiler' Makefiles
- "sizeof(long)" is now "sizeof(fpos_t)" in load_file_pos() @core.c and in compiler/preproc.c
- change in compiler - now compilation on FreeBSD doesn't give warning about bad arguments for fprintf() (I hope everything is ok on Linux?)
- changes in Aine Makefile:
	- added CXXFLAGS, CXXFLAGS are used only with .cpp files, CFLAGS now contain "-fomit-frame-pointer" flag, as this flag is normally safe for .c files and brings some performance benefit
	- added $(OPT) variable for .cpp files
	- uncommented line with OPT = -march=i586, as I don't expect anyone will run Aine on 386 nor 486 (if so - one can easily change Makefile), 586 is now minimial x86 CPU (gcc uses by default -march=i386, we don't want that now)
		(similar change in other Makefiles: compiler and stuff in extras/)
	- now use plain gcc for .c files, g++ only for .cpp (I have some small doubts if it's right, but it works fine on gcc version I use)
- (!!!) changed format of <t>THAT</t>, you have to now put in <t>THAT</t> everything(!) from bot's reply (dots, question marks, parentheses, etc.),
	of course letters still have to be uppercased,
	now in <t>THAT</t> works also non-English letters.
	This is a serious change, this release will not be called "stable" until I will fix Amy to work with this Aine release.
- removed cleaner() and cleaner_t() @stuff.c
- changes in cgi_main.c:
	- FILE skel is opened as late as possible
	- change in number of characters copied by one strncpy (line 161) by one less as this character is one line later equated with '\0'
	- removed code making Aine not respond (or rather respond "Go away") to somebody who made it to not like his/her
	- changed some 0 to '\0'
	- added handling */-$%"#! characters in input (to be honest: I am not sure if it's really used in POST method we use now)
	- removed converting Polish language letters to plain ASCII
- some small changes for improving readability of code in core.c
- defined MAINS_STARS, TOPIC_STARS, THAT_STARS in matchers.c for improving readability of code
- changed three calls from printf() and fprintf() to aine_error() in load_settings() @core.c
- increased I/O buffers:
	outputs_f from 1024 to 4096
	indexpos_f from 128 to 512
- doc.h without ^M characters
- changed some "wxAlice" captions to "wxAine" in wxaine.cpp
- explicit casting to 'fpos_t' from 'long' in matchers.c
- a bit rearranged code in matchers, more heavily used "goto", more tight loops - possibly a bit more effective code


0.7.6
=====

Localization:

- added using <locale.h>
- using strcoll() instead of strcmp() (strcoll() is a "strcmp()" but properly match locale characters)
- changes in stuff.c to support locales (e.g. eleminated such things: 'A' - 'a')
- changes in print() @respond.c to uppercase locale characters correctly
- recoded str_case_cmp() and strn_case_cmp() to properly compare local characters
- cleaned cleaner() to not clean locale characters,
        clearn_t() still cleans non-English characters,
        so don't use non-English characters in <t>THAT</t> (just omit them there).

	NOTE1:
		If you want your Aine to work with, e.g. ISO-8859-2, you have to have
		ISO-8859-2 as your standard system enviroment font.

	NOTE2:
		This release is a bit experimental - wasn't widely tested.
		And there were many serious changes -
		your feedback, as always, is very appreciated.


0.7.5
=====

- panic() now prints out the problem also on stderr (console), in addition to log
- make wxAine (Aine with GUI) version compile on latest stable wxWindows libraries (2.4.0)


0.7.4
=====

- compiler now warns about double "[[" (e.g. will warn about such broken code: "+[[HELLO])
- optimized calls to malloc in respond() and a bit in setvar()
- added void panic(char*) (prints out an error and quit Aine)
- removed "Bool mh_learn" variable and rest of the code that remained after MegaHAL
- recoded support for <system> tag, it should work well now, at least on Unices
- plus and minus ("+", "-") characters aren't ignored now


0.7.3
=====

- added missing "rewind(in);" in source/compiler/checker.c
- improved support for <system> tag in console version (please note that <system> tag support will be rewritten soon, anyway)
- fixed saving long varnames by Aine (this will fix some segmentation faults on long inputs)
- added "-static" in Makefile for cgi version (you can expect cgi version to be sligthly faster now)
- optimized many malloc calls (less calls to malloc, malloc is ususally quite slow)
- compiler now only warns about number of ">" characters not equal to number of "<"
- added void panic(char*, ...) in compiler, panic() deletes files just created in case something went wrong (so you won't work on broken files by accident) and quits
- updated TO_DO list


0.7.2
=====

- added GUI (Graphical User Interface) version, so called "wxAine" - it's based on Philippe Raxhon & Julian Smart "wxAlice". It's very simple. Perhaps someone wants to add animate face, and other cool features?
- fixed bug with handling some nasty multiple random tags
- changed default "CC" from "gcc" to "g++" in Makefile for wxAine (wxAine needs C++ compiler and linker)
- applied Nelson's patch with some corrections, mostly declarations, and a nice new feature: compiler now adds two blank lines itself if there is such need
- fixed bug in substitute.txt ("beleive" was corrected to... "beleive" and Aine stuck in infinite loop) - thanks to Nelson for pointing this problem out
- added "-mcpu=i586" in Makefiles, removed "-fomit-frame-pointer" (I have bad experience with "-fomit-frame-pointer on .cpp files, wxAine seems to crash when compiled with "-fomit-frame-pointer" too)
- "MAX_INPUT" is now "MAX_AINE_INPUT" (was collision with "MAX_INPUT" in wxWindows libraries)
- some other small changes in sources (mostly cosmetic)

    David


0.7.1
=====

- fix in skeleton.txt - "POST" instead of "GET".
- fixed bug in stuff.c in lowercase()


0.7.0
=====

- No more MegaHAL.
    Nelson pointed out that MegaHAL module in Aine doesn't work so well as
    original - seems I overhacked MegaHAL. Sorry.
    What can I say now?
    1. Aine with MegaHAL was damn *slow*. (I didn't know it until I run Aine on an old iP75MHz).
    2. It could be better to make decent .aine files than relying on
	module saying things almost at random... ;-P
	Botmaster should be able to cotrol what bot can say.
	With MegaHAL it was impossible.
    Yes, I know - there are some arguments for MegaHAL as well ...

- Compiler now tells if there aren't two blank lines at the end of .aine file

- Many optimizations in matchers.c, compiler;
    format of inputs_* has changed, so do code in compiler

- Binary I/O to "inputs_d_f" and "topics" file (faster access)

- Optimization in check_topic() (need to test if topic matching works ok now)

- Fixed problem matching categories with "that".
    This requires cleaning non-English characters. Sorry, we are back to some old code.

- Many small changes not listed here.


PS.
    Development of Aine is now much slower, almost stopped.
    Main reason is lack of my spare time.
    If you want to take this project in your hands and finish/develop it further
     - let me know.
    
- David C.


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

0.6.6
Changes since 0.6.5:

- Fixed 'bool' type in cgi code 
    (thanks to Nelson. Well almost all fixes are thanks to him :)

- Other small changes in cgi_main.c

- Making more order in <input=x> and <that=x> tags, also in converter

- Fixed doubling some categories by compiler

- Added support for non-alpha characters on begin of categories with "that"

- Finished creator.c in /sources/extras - thanks to Nelson. :)
    creator create new categories from log.txt
    Well, not always "new" in sense they are not in your AineL Set, but
    it still can be helpful if you develop your own bot.
    Try it for yourslelf and see.

- Small change in stuff.c in stripurl() - added HTML codes of "[" and "]"

- Better .aine files checking by compiler:
    added counting of "+[" and "-["

- Added egg_aine.tcl in source/extras and added aine_eggdrop.txt in docs/
    This is IRC stuff; if you don't know what it is - you don't need it.

- Added "readme4developers.txt" in docs/

- Added support for "[" and "]" in AIML->AineL converter
    (Nelson's patch)

- Fixed 'bool' -> 'Bool' in AIML->AineL converter


*********************************************
*  Correction to list of changes of 0.6.5:  *
*    <input=1> - last user input            *
*    <input=2> - previous user input        *
*                                           *
* In addition, in 0.6.6:                    *
*                                           *
*    <that/> = <that=1> - last bot output   *
*    <that=2> - previous bot output         *
*********************************************    


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

0.6.5
Changes since 0.6.5 BETA

-  Fixed a bug with command line, main()

-  Fixed a bug in try_default()

-  making cleaner() not clean non-English characters

-  updated uppercase() to uppercase non-English characters (well, I hope...),
    the same with lowercase().
    (This is a step back to code from older Aine/Hippie.)

- (partialy) allow sorting non-English characters
    (and other characters like #%%^ when are first signs in input) by compiler
    This needs to be finished (atomic categories with "that" have to be fixed as well)
    
-  Making linking with C++ code possible

-  Removed silly strcmp_intern() from matchers.c

-  Changes in initialize(): most strstr() are now strncmp()
    Start of Aine should be a bit faster now.

-  Fixed a possible problem with loading variables from file.

-  Making official AineL <input> tag:
    <input=1> - last user input
    <input=2> - previous user input


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

0.6.5 BETA
Changes since 0.6.4

- Fixed not matching input with spaces before question mark/exclamation mark/dot, e.g. "how are you ?".
    This bug (and not only this one) was pointed by Nelson. Thanks. :)

- A lots of small changes changes in megahal.c 
    MegaHAL module should be now *a lot* faster (old code wasted one second of CPU time).

- Implemented "full path" - you can set full path in aine.ini
    This is needed only when you use Aine from others dir
    (e.g. Aine with Eggdrop). Don't set it if you don't need it.

- Binary read/write (faster) to "indexpos" file.

- Fixed some problems with compiler - counting '<' and '>' characters is now fair.
    If you need to use "<" or ">" in your AineL Set (as Aine output),
    please use "&lt" for "<" and "&gt;" for ">".

- If Aine responds to many sentences, "that" is now only reply to the *last* user sentence.

- Matching with "that" now works like in ALICE/AIML: you can use wildcard "*".
    (NOTE: Amy 0.2.3 and older releases are not ready to work with Aine 0.6.5,
    please use Amy 0.2.4 or newer with 0.6.5,
    otherwise your Aine won't match many categories with "that").

-  Added support for <thatstar/> (not tested if it works)

-  Small changes (cleaning/fixes, making to work with full path) in main() in main.c

-  Experimental: function strcmp_inter() to match non-English characters
    (does it really works with non-English characters?)


This 'release' was NOT well tested (I didn't have time),
and many things has changed - that's why it's beta.


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

0.6.4
Changes since 0.6.3

- Improved setvar() getvar().
    Use of BST (Binary Search Trees) instead of Linked List (BST are faster).
    (Note: BST implementation in Aine is not optimal (yet),
    but still better than Linked List used before)

- Fixed a bug with patterns beginning with "E" character
    (there were possible Segmentation faults if there weren't any categories after "E" character),
    pointed by Nelson.

- Improved syntax checking in compiler.

- Added emergency "exit" in case Aine can't find datafile
    (previous versions would go into endless loop)

- Begining Internationalization:
    more use of toupper(), tolower()
    Still *many* thinks have to be done...
    (for example: strcoll() instead of strcmp() to properly compare strings using locale settings)

- Added support for <topicstar/> tag.

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


0.6.3
Changes since 0.6.2:

- Aine now can match questions:

    +[YOUR NAME?]
    will get matched before:
    +[YOUR NAME]

    +[I HATE YOU!]
    will get matched before:
    +[I HATE YOU]
    
- added /data/mh/megahal.swp
    (this was in the original MegaHAL.
    It seems that I forgot about this file, but MegaHAL module in Aine worked without this file, anyway...)

- added option in aine.ini allowing MegaHAL module to learn from every user reply (but only when mood_s > 6)
    WARNING: it can result in very big MegaHAL brain file (e.g. if you use your bot on the web and a lot of people chat with it).

- Change in cgi_main.c - Aine again uses "You" when it doesn't know user's name.
    (It didn't work in last releases due to change from '0' to ' ' as returned variable when not known.)

- Fixed warnings compiling megahal.c

- Some unimportant changes in code, mostly just cleaning: better comments, better memory management in getvar(), etc.

- format of inputs_* files has changed a bit - so compiler code as well.

- Much better syntax checking in compiler.

- Some other small changes.




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

0.6.2
Changes since 0.6.1:

- fixed a stupid bugs with getting wrong file pos in 'outputs' after matching something from "default with that".

- fixed yet stupider bug in mallocing wrong memory size for 'star' in copy_stars(),
    but still freeing star[i] in deinitialize() causes sometimes "segmentation fault" :-(
    Until I will find why this happens - deinitialize() doesn't free memory allocated for 'star[]' -
    but this memory will free O/S, anyway, after Aine shutdown.

- small changes in copy_stars() - two variables less.

- small changes in strn_case_cmp() and str_case_cmp()

- removed "version" variable from defvars.txt


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

0.6.1
Changes since 0.6.0:

- Changes in compiler - added basic syntax checker. Not perfect, but working.
    (There are many, many fixes in latest Amy AineL set - thanks to syntax checker in compiler)

- Few patches by Nelson (new Makefiles and corrections to cgi_main.c, among others)

- Change support from max 3 to MAX_STARS stars (wildcards).
    (MAX_STARS variable is defined as 10 in aine.h) 

- MehaHAL module learns itself from an user only when Aine likes the user.

- Changes in match() and copy_stars().
    match() is now *very* simply (very simply => very fast).

- "reapeat_no" variable in defvars.txt telling how many replies there is for a repeating user
    (NOTE: repeat_no have to be more than 0, but less than 10).

- Fixed a bug not matching more than 10 topics properly,
    Recoded check_topic()

- Changes in uppercase() and lowercase(). Simpler code. (old code had a bug)

- Changes in getvar() - I made it simpler. And corrected a bug 
    (getvar() was doing lowercase() on input string - it was wrong.. 
    think about getvar ("WhaTever") somewhere in the code...
    "whatever" should not be changed by getvar())

- Some other small changes (e.g. star[] and that[] variables are now malloced).


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

This is v0.6.0, not v0.5, becouse we have serious changes.

Changes since v0.5 Beta0

- (!) Added some code from MegaHAL.
    Aine now supports additional tag: <mh>.
    It's best to use it on default categories (I mean such +[*]), when "Aine doesn't know what to answer".
    MegaHAL module will formulate a reply then.

- (!) Aine is now in plain C. What was in C++ (new/delete and declarations inside the functions) is rewritten to C.
    
- Unitialized variables now returns ' ' (space) instead of '0' (zero).
     (I mean <g=an_unitialized_variable> )

- Some little changes in respond2()

- Some code clean in core.cpp at initialize()
  new functions:
    load_file_pos(FILE *f);
    load_settings (FILE *settings_file);

- Changes in documents - but they are still not 100% finished.

- Some patches by Nelson ('compiler' works fine now, categories shouldn't disappear anymore)

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

This is Beta0

Changes since Alpha2:

- Replies to a repeating user are now *not* hard-coded into Aine (they are now variables, check data/defvars.txt)

- Added "quick check" in match() - should speed up match() a lot on most patterns, slow down a little on some.
    Well, I still want to recode match() in my way - I should make it simpler, and guess what? Faster! :-)

- Removed debug code.

- Fixed a bug in alphabetizer "eating" some patterns. :-)

- Make gcc happy compiling the "AIML to AineL converter" (no more warnings, at least on my gcc: 2.95)

- Fixed warnings (this was a bug, but not serious) in compiler

- Some small updates in converter from AIML.

- Oh, btw, there was a small, but important, change in format of input_* files with that (there is no </t> tag in inputs_*, now)
    (I don't remember - in Alpha2 or in this, Beta0 release)
    so you should recompile files using compiler shiped with this release (if you used an older version).



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

"Alpha2".

Changes since Alpha1:

- Fixed serious bug in compiler (adding wrong line at the end of inputs_*). - Fix in Alpha1 was not a fix, but bug. Heh. Sorry.
  Also changes in Aine itself. inputs_d_* are now end without any "EOF" string, "new line", or anything special.
  
- Fixed bug in print(), I hope. And I made simpler print().

- Recoded try_*() functions. Less variables and less code = simpler Aine = faster execution.

- match() is optimized (several variables less, still need to look at it closer..).

- match() is now "inline" - this should speed up Aine, yet more.

- There is a new function: void check_topic() - I had to move piece of code checking for topic, from core.cpp to matchers.cpp, as it uses static match()

- Fixed a bug with not matching topics without any wildcards.

- Added strn_case_cmp(). Now command "exit" is case insensitive.

- Some other small fixes.
