Release Notes
What's new?
- Support for Lua 5.2, while being able to execute in Lua 5.1 with module Lua 5.2 Compatibility Module.
- Support for constants (ConstantDef) in the OiL internal interface repository.
- Support for GIOP 1.2 and Bi-Directional GIOP.
- Support for timeout on method invocation (see
orb:settimeout
andproxy:__settimeout
) and in processing invocations (seeorb:step
). - Support for an error handling function for servant dispatch errors (see
orb:setexhandler
). - Support for a notification function of uncaught ORB error (see
orb:setonerror
). - Support for definition of timeout of TCP sockets used by the ORB (see
tcpopt.timeout
). - New operation to recover ORB's interceptors (see
orb:getinterceptor
). - New ORB initialization option to recover control local reference resolution (see
orbcfg.localrefs
). - New version of LuDO (incompatible with the previous one)
What changed?
- Improved Features
-
- Adjustment to show expections correctly when using function
oil.main
. - New field
reqcli.profile_data
in intercepted client request that contains provides the encoded profile used for connection. Old fieldprofile_data
with the decoded profile information was renamed toreqcli.profile
. - Adjustments in the way CORBA interceptor methods are invoked in case the request is forwarded. Now, every time an interceptor forwards a request, the interceptor methods are invoked again for the forwarded request.
- Field
request.service_context
of CORBA intercepted requests becomes a map instead of an array to adhere better to the limitations imposed by the CORBA Portable Interceptors. In particular, to avoid the application to send more than one service context with the same ID (tag). - Add support for binary files in functions
oil.readfrom
andoil.writeto
. - New parameter to define IDL include paths in IDL parsing functions (see
orb:loadidl
andorb:loadidlfile
) - It is not necessary to invoke
orb:run
to start processing incoming requests with brokers with multithreding support (i.e. flavor contains wordcooperative
). - Operation
orb:shutdown
must be called before the application ends. Otherwise an internal thread that process incoming requests will keep executing and the application will not terminate even if all other application threads terminate.
- Adjustment to show expections correctly when using function
- Removed/Deprecated Features
-
- Field
oil.tasks
was replaced by modulecothread
. - Function
oil.pcall
was replaced by standardpcall (f [, arg1, ···])
function. - Method
orb:tostring
was replaced by standardtostring (v)
function. - CORBA configuration options were removed:
tag
refhost
refport
- Field
- Bug Fixes
-
- Bugfix to avoid parsing alphanumeric constant on IDL as numeric.
- Bugfix to avoid that fails due to error on establishing incomming connection from bogus remote clients.
- Bugfix in parsing of IDL constants.
- Bugfix to allow
typedef
definitions of ValueTypes in IDL. - Bugfix to avoid creation of servants with interface
CORBA::Object
. - Bugfix to avoid creation of servants with abstract interfaces.
- Bugfix to avoid sending values marshaled as abstract valuetypes.
- Bugfix to catch LuDO mashaling errors.
- Bugfix to allow client interceptors to forward invocations in the 'receivereply' operation.
- Bugfix to capture errors raised in the CORBA interceptor methods and forward them to the application as servant errors.
- Bugfix to allow that operation descriptors of attribute functions (
_get_*
and_set_*
) have a fielddefined_in
with the interface the attribute is defined. This is used in the CORBA interception mechanism to provide the interface where the attribute is defined. - Bugfix to allow a CORBA server interceptor to send a service context to the client in a cancelled request.
- Bugfix to avoid index operations with the name of IDL attributes in proxies.
- Bugfix to avoid stop processing channels that receive message of a unsupported GIOP version.
- Bugfix to sinalize error on corbaloc parsing.
- Bugfix to avoid unecessary DNS lookups on IP addresses, because LuaSocket's 'socket.dns.toip' causes DNS lookups to obtain information not used by OiL when resolving connections.
- Bugfix to avoid that bogus RMI (GIOP) messages halt the processing of incomming requests.
- Bugfix in LuaIDL to output the proper type information of multiple attributes declared in one single line declaration.
- Bugfix to provide the proper minor code when an expected exception is caught by the ORB during a request dispatch.
- Bugfix to allow marshalling of numbers as enumerations.
- Bugfix to avoid that multiple connections to a same destination when there are simultaneous threads performing invocations to the same destination.
- Bugfix to avoid get a erro due to missing packages when 'package.path' contains a pattern without a '?'.