This repository has been archived by the owner on May 25, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
change.log
202 lines (186 loc) · 13.6 KB
/
change.log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
/** \page OOLuaChangeLog Change Log
\section OOLuaChanges2-0-3 2.0.3
- Added complatibility with Lua 5.3 integer types
\section OOLuaChanges2-0-2 2.0.2
- Updated platform detection to include Dreamcast (Elysian Shadows)
\section OOLuaChanges2-0-1 2.0.1
- Updated detection to include mscv 14 (Josh Hayashida) Bitbucket issue #16
\section OOLuaChanges2-0-0 2.0.0
- Pretty much a new \ref OOLuaDSL "DSL" which is not backwards compatible
- Calling static functions in Lua now requires the dot notation
- Calling new in Lua now requires the dot notation
- New \ref OOLuaFileGeneration "Lua module" which generates boilerplate OOLua C++ files, removes old console application
- Added HTML docs and improved inline documentation for DSL, makes online wiki invalid
- Added a new Lua module for \ref OOLuaComparison "comparisons" and updated C++ code, now compares with LuaBind,LuaBridge,SLB3 and SWIG
- Renamed push2lua and pull2cpp to \ref OOLUA::push and \ref OOLUA::pull
- Added OOLua version macros \ref OOLUA_VERSION_MAJ \ref OOLUA_VERSION_MIN and \ref OOLUA_VERSION_PATCH
- Base checking no longer touches the Lua stack
- C string traits no longer use a std::string temporary
- Script helper class now has \ref OOLUA::Script::push and \ref OOLUA::Script::pull methods
- Bug fix. If an abstract class had a base class which was not abstract, then it was possible to call new on the type.
- Renamed Table::set_value to \ref OOLUA::Table::set
- Renamed Table::remove_value to \ref OOLUA::Table::remove
- New Lua simplified class format, which improves self call performance
- Extra parameters to bound functions are now ignored. Does not include constructors
- Renamed Script::get_ptr to \ref OOLUA::Script::state for consistency
- Added a base class exception type \ref OOLUA::Exception
- Added \ref OOLUA::lua_return which is a specific trait for return types which will be owned by Lua.
- Added \ref OOLUA::maybe_null which allows C functions and member functions to return NULL
- Added \ref OOLUA::lua_maybe_null which allows C functions and member functions to return a runtime value of NULL, if it is not NULL then the instance will be owned by Lua
- Changed \ref OOLUA_C_FUNCTION, it now requires a lua_State pointer instance identified as "vm" instead of 'l'
- Added \ref OOLUA::light_p This pulls a light userdata from the stack and casts to the requested type
- Added \ref OOLUA::light_return This is a function return type which pushes a light userdata onto the stack
- Removed ability for \ref OOLUA::lua_acquire_ptr to be used on function returns, use OOLUA::lua_return instead
- Removed ability for \ref OOLUA::cpp_acquire_ptr to be used for function parameters, use \ref OOLUA::cpp_in_p instead
- Modified \ref OOLUA_MGET, \ref OOLUA_MSET and \ref OOLUA_MGET_MSET to use optional parameters.
- Added oolua_dsl.h and oolua_dsl_export.h which reduces the include graph when using the DSL
- Added oolua_string.h/.c to make it easier to enable other string types as an integral type. \ref OOLUA::STRING
- Bug fix. Prevent exceptions escaping from stand alone functions.
- Bug fix. Incorrect function dispatcher being set on a cached base constant method.
- Removed OOLUA::register_class_and_bases, OOLUA::register_class now does this.
- Added \ref OOLUA::idxs_equal to compare stack indices, may take metamethods into consideration,
compatible with Lua 5.1 and 5.2
- Added assignment operator for \ref OOLUA::Lua_ref
- Added equality operator for \ref OOLUA::Lua_ref
- Added assignment operator for \ref OOLUA::Table
- Bug Pointer to first member of a class, without an offset from the class instance, was being incorrectly handled (Juan Batovi) Bitbucket issue #2
- Added \ref OOLUA_USE_SHARED_PTR Enables support for a shared pointer type
- Added \ref OOLUA_SHARED_HEADER Specifies the header for the shared pointer type
- Added \ref OOLUA_SHARED_TYPE The shared pointer type which is supported
- Added \ref OOLUA_SHARED_CONST_CAST Template function to cast away shared type constness
- Added \ref OOLUA_NEW_POINTER_DEFAULT_IS_SHARED_TYPE Defines the default type to use when a new instance is created
- Added \ref OOLUA::Shared When the default is to use raw pointers then this tag overrides it for a type
- Added \ref OOLUA::No_shared When the default is to use a shared pointer this tag overrides it for a type
- Added \ref OOLUA::shared_return trait which creates a shared pointer from raw
- Bug fix. Every OuterClass<InnerClass> is treated as shared pointer (Renan Inácio) Bitbucket issue #1.
- Added support for C++11 scoped enums \ref OOLUA_SCOPED_ENUM
- Added ability for public members, which are proxies or shared_ptrs, to push nil when the value is NULL.
- Added Lua function new_table which takes array and hash size hints.
- Added a Lua module that \ref OOLuaAmalagate "amalgamates" the library files.
- Bug fix. Incorrect handling of an error string which contained an embedded NULL. (Mauricio)
- Silenced g++ warnings about local typedefs which are unused i.e. static asserts
- Bug fix. Incorrectly attempting to handle proxy value types which are public members (Oscar Zhao) Bitbucket issue #8
- Fix - Typo in include guard of oolua_dsl_export.h (Chris Schade) Bitbucket issues #15
\section OOLuaChanges1-4-0 1.4.0
- Added OOLUA_DEDUCE_FUNC(_CONST) for when there is no ambiguity for a function
- Added OOLUA_TYPEDEFS_END which is an alias for OOLUA_END_TYPES to match the naming of other macros
- Type comparison now uses the address of a template typed function
- Removed OOLUA_SAFE_ID_COMPARE
- Added config option \ref OOLUA_CHECK_EVERY_USERDATA_IS_CREATED_BY_OOLUA
- Added config option \ref OOLUA_USERDATA_OPTIMISATION
- Moved base checking function from the metatable it is now store in Lua_ud
- Added new trait OOLUA::calling_lua_state which passes allows passing the calling Lua state as a parameter
- Added friendlier registering of class enums
- Added function return traits for a reference to constant std::string
- Bug fix Issue 28: Proxy checker typedefs in the default scope instead of public. (Sakamoto)
- Bug fix Issue 29: Lua 5.2 calls __gc method with a table. (Ilia Pavlovets)
- Prevent invalid Lua stack indexes when pulling a Lua_ref or Proxy_class. Indexes Zero (lua_gettop result) or -1 with an empty stack.
- Bug fix Issue 30: Table traverse function incorrectly assumes the stack is empty (Steve Nichols)
- Added \ref oolua_ipairs and \ref oolua_ipairs_end macros for iterating over arrays
- Added \ref oolua_pairs and \ref oolua_pairs_end macros for iterating over tables
- Removed the lua_State parameter from for_each_key_value function
- Added bool OOLUA::can_xmove(lua_State*vm0,lua_State*vm1)
- Lua_ref can safely be moved between related Lua states.
- Added OOLUA::load_chunk, OOLUA::run_chunk, OOLUA::run_file and OOLUA::load_file
- Bug fix Issue 25 : Enums being classed as a class type for member functions (Harley Laue)
- Added the ability to pass a stack index as the function to call with Lua_function
- Fixed on error Lua_function now resets the stack to the same as before entry.
- Added OOLua module
- Updated __VA_ARGS__ macro for VS11
\section OOLuaChanges1-3-2 1.3.2
- Bug fix Issue 19 : Variadic macros which rename a function
- Added ability to typedef classes inside the OOLUA namespace see: http://groups.google.com/group/oolua-user/browse_thread/thread/688ddac870fb76d5
- Bug fix Issue 22 : Remove return statements which generate warning with gcc (Tim Mensch)
- Refactored so that anything which is not meant to be called by a user, is now in the OOLUA::INTERNAL namespace,
- Added compile time constraints to traits
- OOLUA::cpp_acquire_ptr and OOLUA::lua_acquire_ptr - Type supplied to template is now the real type <foo*> or <foo const*>
- Bug fix : Converter was not taking the parameter by reference when it needed to.
- Removed the restriction of using classes only in the thread they were created under all conditions
\section OOLuaChanges1-3-1 1.3.1
- Work around for Visual Studio as reported by Tom on the mailing list
\section OOLuaChanges1-3-0 1.3.0
- Support for limited constructors
- Added a file generator to the generator solution for constructor parameters
- Added the types OOLUA::No_default_constructor,OOLUA::No_public_constructors and OOLUA::No_public_destructor to oolua_typedefs.h
- Added OOLUA_ONLY_DEFAULT_CONSTRUCTOR
- Broke ABI removing default constructor being forced
- Added OOLUA::table_set_value which does not retrieve the table from the registry yet uses a stack index
- Added convenience function OOLUA::new_table
- Added copy constructor to Lua_ref and Lua_table
- Added param traits for Lua_ref
- Added push member to lua_ref
- Enabled a constructor to take a Lua_func_ref
- Bug fix Issue 10 : fixed user type return on the stack (Tomm)
- Enabled a constructor to take a Lua_table
- Added method to pull a table reference from the stack
- Enabled a constructor to take a Lua_table_ref
- Added a conversion constructor to Lua_table from Lua_ref_table, introduced a friend hack!!
- Moved the Lua_table member function get_table to the private interface
- Refactored the pulling of a registry type (Lua_ref<T> and Lua_table)
- Added pulling a registry type when nil is on the stack, frees the registry ref and sets it to invalid
- Refactored Lua_table removing the lua_State instead using the reference's state member
- Added a default implementation of Proxy_class which creates a typedef that identifies it as a none proxy type
- Bug fix : Public members retrieved with get_?, now push by reference if the type has a proxy type and it is by value
- Visual Studio work around for when taking the address of a function
- Added quotation marks to TargetPath as a post build event in visual studio. Directories with a space caused a problem.
- Added check to make sure a user data type was created by OOLUA when pulling a class from the stack
- Bypassed checking the user data type when calling a member function on that instance
- Changed the internal registration key of the function which checks a class bases
- Added support for building and running unit tests with vs2010 and gmock 1.5
- Updated generator project to include C function wrappers
- Added C function wrappers
- Moved build scripts to "build_scripts" directory
- Added \ref oolua_config.h
- Added config option \ref OOLUA_RUNTIME_CHECKS_ENABLED
- Added config option \ref OOLUA_STD_STRING_IS_INTEGRAL
- How errors are reported now depend on which language called the function and the settings in oolua_config.h
- OOLUA::push2lua now returns a boolean which is the result of the operation, if exceptions are enabled it throws on error
- OOLUA::Lua_function now adds a trackback (copied from Lua code) which is enabled with OOLUA_DEBUG_CHECKS
- Operator functions now use the OOLUA::LUA_CALLED::pull2cpp functions which act differently to OOLUA::pull2cpp on an error
- OOLUA::Lua_ref has two extra functions to be used via Lua code, lua_pull and lua_push
- Bug fix : OOLUA::Lua_table's safe_at now does the correct thing when exceptions are enabled and does not let an exception escape.
- Added definition of OOLUA::get_last_error even if store last error is not enabled, in this instance it is a no op.
- Exceptions now can pop the error of the Lua stack and Runtime_error can be initialsed with a string
- oolua_member_function.h 's proxy calling functions now wrap code in a try block if exceptions are enabled.
- Removed LUA_GLOBALSINDEX define from lua_includes when using Lua 5.2 instead lua_getglobal and lua_setglobal are used throughout
- Added support for std::string to have embedded nulls as suggested by Tomm on the mailing list
- Moved C++ classes used in tests to cpp_classes directory
- Moved OOLua proxy classes used in tests to bind_classes directory
- Moved all unit tests to the unit_tests directory
- Added string is integral unit test
- Table::pull_from_stack now returns a bool to indicate the result if called by C++ code and not using exceptions
- Added unit_test_config(root,name) to premake helper file
- Added support for __VA_ARGS__ macros with one or more arguments
- Added support for __VA_ARGS__ macros with zero arguments using compiler extensions
- Added helper function OOLUA::get_global
- Added helper function OOLUA::set_global
- Added helper function OOLUA::set_global_to_nil
- Bug fix : Calling a static function on a derived instance when the function was registered with a base class
\section OOLuaChanges1-2-2 1.2.2
- Converted Premake scripts to Premake4
- Optimised the checking of a type against a requested type
- Userdata name now changes when it's constant status in set_type_top_to_none_const
- Added Xcode support to Premake scripts
- Added xcode test unit bash build script.
- Build logs directed to there own directory
- Added new test project "tests_may_fail" for issue 7
- Updated bash build scripts to run the tests_may_fail aswell as unit.tests
- Added a readme.txt with details of library as many download locations are now available
- Bug fix Issue 8 : Passing a c style string to a member function bug as reported by (airbash)
- Bug fix Issue 8 : A corresponding bug of a member function which returns a c style string.
- Added define in lua_includes.h to support Lua 5.2 and 5.1.4 simultaneously
- Renamed platform test scripts
- Added build scripts to create a local install
\section OOLuaChanges1-2-1 1.2.1
- Was actually 1.2.0 yet due to a packaging error had to be incremented.
\section OOLuaChanges1-2-0 1.2.0
- Added fields to Lua_ud which are used for comparison removing the metatable raw_equals.
- Added name_size to proxy classes and updated the generation file to reflect changes.
- Changed headers that used old licence.
- Added a function to register a type and all it's bases.
- Added a couple of profile tests in the directory profile.
\section OOLuaChanges1-1-0 1.1.0
- Removed the dynamic allocation of Proxy classes to use stack versions.
\section OOLuaChanges1-0-0 1.0.0
- First public release
*/