Phew.
CPLua 0.9B is finally ready.

There are a lot of things to say for this new version. There were several major changes from the previous versions too, thus please read the following notes carefully
1. First (and most important) thing:
the memory bug that appeared in CPLua 0.9A has been completely fixed 
CPLua 0.9B is a lot more stable than CPLua 0.9A!
2. Second (and even important as 1):
the format for Lua programs has changed. The new format is close to a standard text format, and can be read more easily than the previous one.
The current versions of CPLua are still able to load sources saved with the old format, but this will probably not be the case with the future versions.
Thus, you should convert your programs to the new format, to be able to use them in the future. To do that, simply open your files and save it. They will be saved into the new format.
3.
The format of lua data files has changed too; but this time the old format cannot be used anymore. That means that every files that were created with the IO package of CPLua 0.8, should be created again because CPLua 0.9 (and the future versions) will NOT be able to read it.

The function
file:create() has changed a little bit too.
4. Here is what PAP has been longing for.
Text file support
The IO package now support text files. Those files can be read by CPLua's editor (or even executed as Lua scripts, because it is the same format as Lua source files).
5.
The UI Package is (almost) complete. You can now create windows, widgets, notebooks, lineedits, textedits, buttons, multibuttons, dropdownbuttons, radiobuttons, spinboxes, checkboxes, comboboxes, menubars, and toolbars.

I only need to create the functions to access the dialog windows (input, message boxes etc).
6. You already saw it in CPLua 0.9A, but there is a
new find/replace utility 
7. CPLua has been upgraded to
Lua 5.1.1. This is just a minor update

8.
The file manipulation in the IO package has been improved. Remember that when you were writing in a file with CPLua 0.8, all the data was actually kept in memory by CPLua, and then it was only written when the file was closed. This used a lot of memory. But this is over now, because CPLua does not need to know anymore the size of the whole data to create the file
9.
pict.load() can now access the picture directly into the MCS file. It uses a "copy-on-write" system: the data remain in the file if you don't modify it; thus no memory must be allocated. If you try to draw on the picture however, it is automatically copied in memory.
10. There are some
new functions.
a.
dispose() : This function can be used in the same way as
require()... but it does exactly the opposite

This is a function that you can use to unload a library when you don't longer need it. If the library is not needed anymore by any of the loaded files, its memory is then free'd
For example, suppose you have a library "lib" that exports a variable 'A':
CODE
print(A) -- prints nil
require("lib") -- loads A
print(A) -- A = ...
dispose("lib") -- unloads A
print(A) -- prints nil
I have a feeling that it could be useful for LNATests

b.
dostring() : This function can execute the string given as parameter. For example:
CODE
dostring( "print(\"hello!\")" ) -- prints "hello!"
c.
waitinput() : This function waits for an input (key or pen). It returns a string "key" or "pen" with the corresponding informations.
d.
pict.copy() : Just a simple function to duplicate a picture. Sometimes useful
e.
difftime(h,m,s) : returns the number of second elapsed since the time h:m:s.
f:
table.copy() : It isn't really a "new function", but you must know that it now performs a deep copy by default. That means that if you want to copy a matrix for example, you don't have to call
table.copy() for each line. This function accepts a second (boolean optional) parameter; if it is true, the copy is a deep copy; otherwhise, it is a shallow copy.
... I guess that's all.
Oh, and I changed the examples a little bit too

Btw if you think about some simple programs that could serve as examples, feel free to post it here and I will add it with the future versions