97 lines
3.6 KiB
Plaintext
Executable File
97 lines
3.6 KiB
Plaintext
Executable File
LOOP 2.3 Release Notes
|
|
____________
|
|
CLASS MODELS
|
|
|
|
[All Models]
|
|
- New operation 'memberof(class, name)' that gets the value of a member defined
|
|
by a class.
|
|
_____________
|
|
CLASS LIBRARY
|
|
|
|
[New Classes]
|
|
- loop.collection.UnorderedArraySet
|
|
- loop.compiler.Arguments
|
|
- loop.object.Publisher
|
|
|
|
[loop.collection.MapWithArrayOfKeys]
|
|
- Bugfix when mapping key values to 'false'.
|
|
|
|
[loop.collection.OrderedSet]
|
|
- Bugfixes to deal with 'nil' parameters and 'false' elements properly.
|
|
|
|
[loop.debug.Inspector]
|
|
- Improvement to support commands 'step', 'step "in"' and 'step "out"'.
|
|
- Improvement to support definition of break points.
|
|
- Improvement to support command 'lua' to retrieve values from the Lua global
|
|
environment, i.e. _G.
|
|
|
|
[loop.debug.Matcher]
|
|
- Improvement to hold the values being compared at indexes 0 (second parameter)
|
|
and 1 (first parameter) to be able to provide better error messages.
|
|
|
|
[loop.debug.Verbose]
|
|
- Bugfix when default inspection (self.inspect = true) was used.
|
|
- Bugfix to use a specific Viewer instance to avoid changing the behavior of the
|
|
class 'loop.debug.Viewer'.
|
|
|
|
[loop.object.Exception]
|
|
- Bugfix to allow subclasses to work with the inherited '__concat'
|
|
metamethod.
|
|
|
|
[loop.serial.FileStreamer]
|
|
- Bugfix when multiple values were serialized into a file using different 'put'
|
|
calls.
|
|
|
|
[loop.serial.Serializer]
|
|
- Bugfix for proper serialization of global non-serializable functions.
|
|
- Bugfix to show a proper error message when attempting to serialize a userdata
|
|
without custom serialization metamethod.
|
|
- Bugfix so all fields of loaded packages that have unique values (i.e.
|
|
tables, functions, threads or userdata) are serialized as package fields
|
|
instead of ordinary serializable values.
|
|
- Improvement so serialized code generated by redefined serialization functions
|
|
for specific Lua types does not have to follow any protocol anymore. However,
|
|
to avoid future serialization of the same value the a value retrieval code
|
|
must be registered in the serializer using the serialized value as key.
|
|
|
|
[loop.thread.CoSocket]
|
|
- Bugfix when operation 'receive' yielded due to a full buffer.
|
|
- Bugfix in 'select' to prevent wrong socket selection.
|
|
- Bugfix in 'select' when executed without yielding and returned sockets instead
|
|
of socket wrappers.
|
|
- Improvement by use of package 'socket.core' instead of 'socket' package.
|
|
- Improvement by addition of 'cosocket' verbose tag as a new level of verbose in
|
|
'loop.thread.Scheduler' verbose.
|
|
|
|
[loop.thread.IOScheduler]
|
|
- Bugfix to prevent duplicated verbose message already printed by the super
|
|
class.
|
|
|
|
[loop.thread.Scheduler]
|
|
- Bugfix in 'remove(coroutine)' when coroutine == self.currentkey;
|
|
- Bugfix in constructor that created instances that shared data structures used
|
|
by the class. The new constructor also allows objects that already are
|
|
instance of the class to be constructed again perserving its state.
|
|
- Bugfix when coroutine-safe pcall executed C functions.
|
|
- Improvement in 'remove' to return the removed coroutine plus the time it
|
|
should wake up if it was suspended.
|
|
- Improvement by addition of method 'halt' that stops the scheduling performed
|
|
by method 'run'.
|
|
|
|
[loop.thread.Timer]
|
|
- Bugfix that prevents the timer thread to end after first execution.
|
|
- Bugfix when timer was disabled.
|
|
|
|
_________________
|
|
GENERAL UTILITIES
|
|
|
|
[loop.table]
|
|
- Bugfix in function 'clear(table)' when table contained a 'false' key.
|
|
- Improvement in function 'copy(table [, destiny])' that now performs a raw
|
|
copy, i.e. using 'rawset'.
|
|
|
|
[precompiler.lua]
|
|
[preloader.lua]
|
|
- These scripts now require class 'loop.compiler.Arguments' to handle command
|
|
line options.
|