Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
lua-alchemy/HISTORY
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
211 lines (137 sloc)
6.84 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Lua Alchemy v0.3 (not released yet) | |
| ------------------------------------- | |
| Changes since v0.2.2: | |
| Features 1-6 were sponsored by the DragonRAD: http://dragonrad.com/. | |
| 1. AS3 API: doFileAsync(), doStringAsync(). Non-asynchronous versions | |
| are now deprecated. | |
| 2. Finally got as3.flyield() to work -- only inside asynchronous calls. | |
| It now returns true (after yield is complete) when invoked | |
| from inside asynchronous function and nil, error_message when not | |
| (and not even attempt to yield). | |
| You may check as3.is_async read-only flag value | |
| if you need to know if you're inside asynchronous call. | |
| 3. Sugar: Optional autoconversion to Lua for primitive AS3 types | |
| (the ones that as3.tolua() handles). (Off by default.) | |
| Silly example. You had to write as follows: | |
| local double_size = as3.tolua(myobj.length) | |
| With autoconversion you may write like this: | |
| local double_size = myobj.length * 2 | |
| Use as3.enable_sugar_autoconversion() to enable it, | |
| as3.disable_sugar_autoconversion() to disable | |
| and as3.is_sugar_autoconversion_enabled() to query its status. | |
| Note that autoconversion is likely to hamper performance a bit. | |
| It will also not allow you to write code as follows: | |
| as3.class.Array.new().length.toString() | |
| Since length would be converted to Lua number right away. | |
| For the sake of consistency of your code it is not recommended | |
| to change autoconversion settings on the fly. Set it to a preferred | |
| value right after Lua Alchemy state is initialized | |
| and do not touch it after that. | |
| 4. Sugar: When sugar is enabled, all as3 objects are callable. | |
| 5. New as3.invoke() API function to invoke (i.e. call) AS3 function objects | |
| without resorting to Function::call. | |
| 6. Thanks to above two items it is now possible to write Lua `for` loop | |
| iterators in AS3. | |
| 7. Fixed a long-standing typo (note missing "a"): | |
| lua_wrapper.luaInitilizeState -> lua_wrapper.luaInitializeState | |
| 8. Added an option to luaAlchemy constructor to bypass sugar code loading. | |
| 9. Added new NoAssets demo to demonstrate how to use LuaAlchemy high-level | |
| interface without using LuaAssets file. | |
| 10. Added new Barebones demo to demonstrate how to use LuaAlchemy high-level | |
| interface from bare-bones Flash. | |
| 11. Added new EZPlatformer demo, ported to Lua from one of samples for | |
| the popular Flixel framework (http://flixel.org/). | |
| 12. Other minor fixes and improvements (see git log for more information). | |
| Lua Alchemy v0.2.2 (2011-04-17) | |
| ------------------------------- | |
| Changes since v0.2.1a: | |
| 1. Dropped "a" suffix from version name. We're mature enough | |
| for at least a beta. | |
| 2. Dropped lua-nucleo from the official distribution. Not everyone needs it. | |
| If you need help bundling it (or any other module) with Lua Alchemy yourself, | |
| please create a ticket / post to mailing list to get help. | |
| 3. Fixed a couple of memory leaks in Lua/AS3 bridge | |
| (including a nasty hidden bug in the AS3 userdata handling). | |
| 4. Removed unused Lua benchmarks and unused Lua test suites | |
| hoarded into the distribution. LuaAlchemy test suite is still in place. | |
| Feel free to contribute your pet tests and benchmarks -- as long | |
| as you integrate them so they are immediately usable with Lua Alchemy. | |
| 5. Other minor fixes and improvements (see git log for more information). | |
| Lua Alchemy v0.2.1a (never officially released) | |
| ----------------------------------------------- | |
| Changes since v0.2a: | |
| 1. Fixed multibyte string handling. | |
| 2. Fixed memory leak in create_as3_value_from_lua_stack. | |
| That affects doString() and doFile(). | |
| 3. Added bindings for running pure Lua tests | |
| properly in the test GUI. | |
| 4. Added current lua-nucleo library snapshot. | |
| See http://github.com/lua-nucleo/lua-nucleo | |
| Not documented, but useful. | |
| Added lua-nucleo tests as native Lua Alchemy tests. | |
| 5. Added as3.argstoarray() to convert argument list to array. | |
| Need a separate function to handle nils inside list properly. | |
| 6. Added recommended git pre-commit hook. | |
| See lua-alchemy/etc/git/pre-commit | |
| 7. Other minor fixes and tuning. | |
| Lua Alchemy v0.2a | |
| ----------------- | |
| Changes since v0.1a: | |
| 1. Added Lua sugar for AS3 interface: | |
| http://code.google.com/p/lua-alchemy/wiki/LuaToAS3Sugar | |
| 2. New Lua as3 module functions: | |
| 2.1. Implemented in C: | |
| as3.isas3value(v) -- return true if argument is as3 value | |
| as3.toas3(v) -- converts argument to AS3 value | |
| See also: http://code.google.com/p/lua-alchemy/wiki/LuaToAS3LowLevel | |
| 2.2. Implemented in Lua: | |
| as3.onclose(fn) -- calls callback when state is closed | |
| as3.toobject(v) -- converts table to Object | |
| as3.toarray(v) -- converts table to Array | |
| as3.prints(...) -- print-like argument concatenation | |
| as3.makeprinter(obj) -- factory for functions to print on AS3 UI objects | |
| See also: http://code.google.com/p/lua-alchemy/wiki/LuaToAS3Extended | |
| 3. Changes in as3 Lua module functions: | |
| as3.tolua() is now variadic and passes through Lua values, also it | |
| now accepts nil and no arguments | |
| as3.type() now accepts nil and no arguments | |
| as3.yield() was renamed to as3.flyield() to avoid confusion with | |
| coroutine.yield() | |
| as3.class() was renamed to as3.newclass() to give way to sugar's as3.class. | |
| 4. Changes in Lua core library functions: | |
| In Lua Alchemy some Lua core library function are overridden by default. | |
| (If you wish, you're free to disable this override). | |
| loadfile() and dofile() are changed to be able to load files, | |
| embedded into current SWF. | |
| print() is changed to output to trace. | |
| 5. Changes in AS3 interface to Lua Alchemy: | |
| Lua as3 module functions no longer convert their arguments to Lua values. | |
| Use as3.tolua() explicitly if you need such conversion. | |
| lua_wrapper.setGlobal() doesn't do autoconversion to Lua type. | |
| Added lua_wrapper.setGlobalLuaValue() to do this. | |
| Added lua_wrapper.doFile() to run Lua file, added with Alchemy's | |
| supplyFile(). | |
| Added lua_wrapper.supplyFile() wrapper on Alchemy's supply file. | |
| Added utility to automatically embed and supply files in specified | |
| directory on build. | |
| See new Rapid demo for example. | |
| Introduced LuaAlchemy class to be used instead of lua_wrapper | |
| low-level interface. | |
| See also: http://code.google.com/p/lua-alchemy/wiki/As3ToLuaInterface | |
| 6. Demo changes: | |
| Added MiniDemo as a minimalistic Lua Alchemy example | |
| Added Rapid demo featuring auto asset adder -- as an example | |
| for rapid development setup with Lua Alchemy | |
| Removed demo help page in favor of using the wiki | |
| 7. Other changes: | |
| Building Lua with -O2, posix and ansi | |
| Setting _LUA_ALCHEMY Lua global variable with Lua Alchemy version | |
| Provided optional global environment protection (off by default) | |
| to aid with development in Lua. | |
| See http://code.google.com/p/lua-alchemy/wiki/LuaGlobalEnvironmentProtection | |
| A lot of internal implementation and tests refactoring and tuning | |
| Also updated documentation: | |
| http://code.google.com/p/lua-alchemy/wiki/ | |
| Lua Alchemy v0.1a | |
| ----------------- | |
| Initial release | |