1 CORBA Release Notes
1.1 CORBA 5.0
Fixed Bugs and Malfunctions
-
Remove old erl_interface dependency and clean up erlang code warnings. Note this version depends on erl_interface-4.0 (first satisfied in OTP 23.0)
Own Id: OTP-16855 Aux Id(s): ERIERL-521
Fixed Bugs and Malfunctions
-
Fixed install for IC. Headers, libraries, and IDL files are now installed under $RELEASE_ROOT/usr regardless of type of install.
Own Id: OTP-15197 Aux Id(s): ERIERL-202
1.2 CORBA 4.5.1
Fixed Bugs and Malfunctions
-
Optimize encoding/decoding for pure 7-bit ascii atoms in IC.
Own Id: OTP-15023 Aux Id(s): ERIERL-150
-
Fixed various build issues. Note that you need to build the corba repo against an OTP of at least version 21.0.3. See the README.md file for updated build instructions.
Own Id: OTP-15177 Aux Id(s): OTP-14283, OTP-15176, ERIERL-198, ERIERL-202, ERL-640
-
Fixed potential buffer overflow bugs in IC oe_ei_encode_long/ulong/longlong/ulonglong functions on 64-bit architectures. These functions expect 32 bit integers as the IDL type long is defined as 32 bits. But there is nothing preventing user code from "breaking" the interface and pass larger values on 64-bit architectures where the C type long is 64 bits.
Own Id: OTP-15179 Aux Id(s): ERIERL-208
1.3 CORBA 4.5
Improvements and New Features
-
First version of the standalone repository for the corba applications.
All corba applications are from version 4.5 handled as one entity. and all the release notes are handled on the Corba level.
Own Id: OTP-14283
1.4 IC 4.4.3
Fixed Bugs and Malfunctions
-
Removed all old unused files in the documentation.
Own Id: OTP-14475 Aux Id: ERL-409, PR-1493
1.5 IC 4.4.2
Fixed Bugs and Malfunctions
-
Correct bugs when path to mib or idl spec files contains UTF-8 characters.
Own Id: OTP-13718 Aux Id: ERL-179
-
Update build scripts to not make assumtions about where env, cp and perl are located.
Own Id: OTP-13800
1.6 IC 4.4.1
Improvements and New Features
-
Internal changes
Own Id: OTP-13551
1.7 IC 4.4
Improvements and New Features
-
Change license text from Erlang Public License to Apache Public License v2
Own Id: OTP-12845
1.8 IC 4.3.6
Fixed Bugs and Malfunctions
-
Fix compiler warnings reported by LLVM
Own Id: OTP-12138
1.9 IC 4.3.5
Fixed Bugs and Malfunctions
-
Added Latin-1 code directive in the generated files to keep old behaviour. Updated IC so it can handle Unicode characters in the path.
Own Id: OTP-11783
1.10 IC 4.3.4
Fixed Bugs and Malfunctions
-
Fix two small silent rules omissions. Thanks to Anthony Ramine.
Own Id: OTP-11351
-
Silence warnings (Thanks to Anthony Ramine)
Own Id: OTP-11517
1.11 IC 4.3.3
Improvements and New Features
-
Header and library files from ic and erl_interface are now installed into usr/{include,lib}. Note that these directories are unversioned, so the latest installed version will be the one in the directory.
Own Id: OTP-11284
1.12 IC 4.3.2
Fixed Bugs and Malfunctions
-
Fixed some compilation warnings on miscellaneous platforms. Thanks to Anthony Ramine.
Own Id: OTP-11086
1.13 IC 4.3.1
Fixed Bugs and Malfunctions
-
Revert the structs erlang_pid, erlang_port and erlang_ref as they were before R16A (without node_org_enc) in order to be backward compatible with user code that accesses the fields of these structs.
Own Id: OTP-10885 Aux Id: seq12256
1.14 IC 4.3
Improvements and New Features
-
Misc build updates
Own Id: OTP-10784
-
Adapt ic for changes in erl_interface and jinterface due to utf8 atom support. This change makes ic dependent on erl_interface-3.7.10 (R16) or later in order to build.
Own Id: OTP-10785
1.15 IC 4.2.31
Fixed Bugs and Malfunctions
-
Fix bug where the ic pre-processor would ignore whitespace quoting.
Own Id: OTP-10109
-
A bug regarding spaces in C function prototypes has been fixed. (Thanks to Richard O'Keefe.)
Own Id: OTP-10138
1.16 IC 4.2.30
Improvements and New Features
-
Add generation of Erlang callback functions to generated Erlang source code to avoid compiler warnings.
Own Id: OTP-9998
1.17 IC 4.2.29
Improvements and New Features
-
Erlang/OTP can now be built using parallel make if you limit the number of jobs, for instance using 'make -j6' or 'make -j10'. 'make -j' does not work at the moment because of some missing dependencies.
Own Id: OTP-9451
1.18 IC 4.2.28
Fixed Bugs and Malfunctions
-
Incorrect use of ets:match changed to ets:match_object.
Own Id: OTP-9630
1.19 IC 4.2.27
Improvements and New Features
-
Reduced compile overhead (Thanks to Haitao Li).
Own Id: OTP-9460
1.20 IC 4.2.26
Improvements and New Features
-
Partial support for recursive structs and unions. Only available for the erl_corba backend and requires that Light IFR is used. I.e. the IC option {light_ifr, true} and that Orber is configured in such a way that Light IFR is activated. Recursive TypeCode is currently not supported.
Own Id: OTP-8868 Aux Id: seq11633
1.21 IC 4.2.25
Improvements and New Features
-
The documentation can now be built and installed without Java.
Own Id: OTP-8639 Aux Id:
1.22 IC 4.2.24
Fixed Bugs and Malfunctions
-
Removed superfluous VT in the documentation.
Own id: OTP-8353 Aux Id:
-
The option c_timeout was not correctly documented.
Own id: OTP-8307 Aux Id: seq11390
-
Removed superfluous backslash in the documentation.
Own id: OTP-8354 Aux Id:
-
The documentation EIX file was not generated.
Own id: OTP-8355 Aux Id:
1.23 IC 4.2.23
Improvements and New Features
-
The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed.
Own Id: OTP-8201 Aux Id:
1.24 IC 4.2.22
Fixed Bugs and Malfunctions
-
The 64-bit version of libic was not compiled with the -fPIC flag.
Own id: OTP-8088
1.25 IC 4.2.21
Fixed Bugs and Malfunctions
-
The function print_erlang_binary (oe_ei_code_erlang_binary.c) updated to avoid compiler warning.
Own id: OTP-7982
1.26 IC 4.2.20
Improvements and New Features
-
Updated file headers.
Own id: OTP-7837
1.27 IC 4.2.19
Improvements and New Features
-
Documentation source included in open source releases.
Own id: OTP-7595
1.28 IC 4.2.18
Fixed Bugs and Malfunctions
-
Insufficient buffer allocated when passing wide strings using the C backend on a 64-bit architecture.
Own Id: OTP-7313 Aux Id:
1.29 IC 4.2.17
Improvements and New Features
-
Updated file headers.
Own id: OTP-7011
-
IC no longer use the obsolete function file:rawopen/2.
Own id: OTP-7182
1.30 IC 4.2.16
Improvements and New Features
-
Added links to classes inherited from Jinterface in the User's Guide.
Own Id: OTP-6965 Aux Id:
1.31 IC 4.2.15
Fixed Bugs and Malfunctions
-
If an inherited function name begun with a capital letter the generated stub/skeleton oe_tc/1 function was incorrect.
Own Id: OTP-6855 Aux Id:
1.32 IC 4.2.14
Improvements and New Features
-
The documentation source has been converted from SGML to XML.
Own Id: OTP-6754 Aux Id:
1.33 IC 4.2.13
Improvements and New Features
-
Minor Makefile changes.
Own Id: OTP-6701 Aux Id:
1.34 IC 4.2.12
Improvements and New Features
-
Dead code was deleted from the following modules: ic_cclient, ic_code, ic_cserver, ic_erlbe, ic_java_type, ic_noc, ic_plainbe, ic_pp, ic_pragma, icscan, icstruct, ictype, icunion.
1.35 IC 4.2.11
Improvements and New Features
-
Changed code generation to avoid warnings such as unused variables.
Own Id: OTP-5930 Aux Id:
1.36 IC 4.2.10
Fixed Bugs and Malfunctions
-
The FD_SETSIZE limit has been increased to 2048 for VxWorks/PPC603.
Own Id: OTP-5395 Aux Id: seq9751
1.37 IC 4.2.9
Fixed Bugs and Malfunctions
-
In C back-ends, the compiler crashed when generating C code for error reports when a scoped name was used as a type in a union.
Own Id: OTP-5375 Aux Id: seq9740
1.38 IC 4.2.8
Fixed Bugs and Malfunctions
-
In C back-ends, when decoding a sequence of "small" integers, which from Erlang is sent as a string (i.e. each element between 0 and 255), each string element was considered to be of signed character type. Each such element is now correctly treated as an unsigned character type.
Own Id: OTP-5205 Aux Id: seq9241
1.39 IC 4.2.7
Improvements and New Features
-
A new compiler option c_report has been introduced for C back-ends (client and server). If that option is set, encoding/decoding errors will be reported to stderr.
Own Id: OTP-4977
1.40 IC 4.2.6
Improvements and New Features
-
The size of modules, used then registering data in the IFR DB (e.g., oe_MyModule:oe_register()), can be minimized if the compile option light_ifr is used and Orber is configured to use Light IFR. Requires that orber-3.5.1, or later, is used.
Own Id: OTP-5036
Incompatibilities
-
The compile option multiple_be is no longer supported.
Own Id: OTP-5049
1.41 IC 4.2.5
Improvements and New Features
-
Send and receive functions with timeouts have been added to the C back-ends for the standard protocol (i.e. Erlang distribution + gen_server protocol).
Accordingly a new compiler option {c_timeout, {SendTimeout, RecvTimeout}} has been added. Timeouts are specified in milliseconds.
A user that want to implement its own protocols with function timeouts has to implement the following functions.
For C clients the functions int PFX_send_notification(CORBA_Environment *env, unsigned int send_ms), and int PFX_send_request_and_receive_reply(CORBA_Environment *env, unsigned int send_ms, unsigned int recv_ms) have to be additionally implemented, where PFX is the user defined prefix.
For C servers no additional functions have to be implemented, but a clone of the int oe_server_receive_tmo(CORBA_Environment *env, oe_map_t *map, unsigned int send_ms, unsigned int recv_ms) might be handy.
Own Id: OTP-4972
1.42 IC 4.2.4
Improvements and new features
-
The C back-ends has been opened up, so that a user can define his own protocol, differing from the Erlang distribution + gen_server protocol.
For C clients it means to replace the library functions int oe_prepare_notification_encoding(CORBA_Environment *env), int oe_send_notification(CORBA_Environment *env), int oe_prepare_request_encoding(CORBA_Environment *env), int oe_send_request_and_receive_reply(CORBA_Environment *env), and int oe_prepare_reply_decoding(CORBA_Environment *env), with functions of the same signature, but with the prefix "oe" replaced by a user defined prefix. For C servers the functions int oe_prepare_request_decoding(CORBA_Environment *env), and int oe_prepare_reply_encoding(CORBA_Environment *env), are similarly replaced.
The new compiler option {user_protocol, Prefix} has been added.Own Id: OTP-4834
1.43 IC 4.2.3
Fixed Bugs and Malfunctions
-
In generated code for the C server back-end, the naming scope was in error for prototypes in C header files for interfaces inheriting base interfaces.
Own Id: OTP-4881
1.44 IC 4.2.2
Fixed Bugs and Malfunctions
-
IDL long long and unsigned long long could not be used in a struct for the Java backend.
All unsigned integer types for the Java backend had broken marshalling for large values.
Own Id: OTP-4763
1.45 IC 4.2.1
Fixed Bugs and Malfunctions
-
A scoping problem (IC could not find typedefs contained inherited interfaces) in the C-backend solved.
Own Id: OTP-4758
1.46 IC 4.2
Improvements and New Features
-
The CORBA stub/skeleton-files generated by IC have been improved, i.e., depending on the IDL-files, reduced the size of the erl- and beam-files and decreased dependencies off Orber's Interface Repository. It is necessary to re-compile all IDL-files and use COS-applications, including Orber, compiled with IC-4.2.
Own Id: OTP-4576