Logo of CO-LaN smallCO-LaN makes available today the release of COBIA 1.2.1.2,  available for download here.  This version forms part of Phase III of COBIA development project. Thank you to all our beta testers who helped resolve several bugs and issues. This release includes machinery for threading as well as marshalling. 

CO-LaN recommends that COBIA based applications are shipped with the latest COBIA Runtime. COBIA is targeting multiple platforms and fixes apply to issues found both on Linux and Windows platforms. 

The distribution is made of three elements: 

COBIA Runtime can be freely used and redistributed. COBIA Runtime consists of middleware components that will be installed on the end-user’s computer during installation of COBIA-based Process Modelling Environments (PMEs) and Process Modelling Components (PMCs) developed by a software provider. The COBIA Runtime is intended to be distributed with and utilized by third-party software. 

The COBIA Software Development Kit (SDK) is provided for free as a stand-alone installation package which distributes a set of components and tools that are used by a software developer to create software that utilizes COBIA as the middleware for CAPE-OPEN interoperability. The SDK includes code generators to help create the source code of interfaces developed from the CAPE-OPEN Interface Definition Language (IDL) specifically adapted to COBIA. The SDK installer installs COBIA Runtime as well. 

Development and maintenance of COBIA is conducted by AmsterCHEM for CO-LaN. 

The following support tickets are resolved by this release: 

  • Ticket #261 – Race condition on shared read channel
  • Ticket #260 – COM- and COBIA-proxy factories raise exceptions on internal marshaler interfaces
  • Ticket #259 – Reentrant callbacks on same object
  • Ticket #256 – Marshaler fails to release marshaled interface
  • Ticket #255 – Allow current-user installations to run as elevated
  • Ticket #254 – Copy and move constructors on COBIA data types
  • Ticket #253 – CapeArrayEnumeration does not work with std::ranges
  • Ticket #252 – Basis conversion mistakes in material object of thermo client example
  • Ticket #251 – CapeErrorImpl incorrectly drops cause when asked for it
  • Ticket #248 – COBIA new class wizard with custom namespace puts include files inside namespace
  • Ticket #247 – Include COBIA.h in COBIA_PMC.h
  • Ticket #246 – Deadlock in marshaler at exit
  • Ticket #244 – Make IDL types public
  • Ticket #243 – COBIA IStream::Seek error
  • Ticket #242 – Deadlock on IDL parsing with foreign types
  • Ticket #240 – Added assignment operators to COBIA wrapper classes
  • Ticket #239 – Check C++ version compliance
  • Ticket #238 – Conflicting COMBIA.dll references
  • Ticket #236 – COBIA code generation for C++ incorrectly omits template argument for adapter base classes
  • Ticket #235 – Incorrect fall-through (missing break) in assignment operator of CapeValueImpl
  • Ticket #234 – COBIA code generation for C++ incorrectly omits template argument for base class
  • Ticket #233  – Marshaler crashes on null pointer for ICapeString
  • Ticket #232  – An interface leak was introduced
  • Ticket #231  – std::filesystem::copy_file raises exception on fail, which is uncaught
  • Ticket #230  – getPMCbyProgId returns no error even if requested PMC not found
  • Ticket #229  – order-of-initialization-of-globals issue
  • Ticket #224  – ICobiaIdentification was not public
  • Ticket #223  – C-binding does not mark UUIDs const
  • Ticket #222 – cobiaRegister crashes for insufficient rights in case of idl registration
  • Ticket #221 – C-binding code generation contains invalid C++ styled libary UUID declaration
  • Ticket #219 – On-the-fly proxy problems for win32
  • Ticket #217 – Incorrect assignment of ExtCapeUUID from GUID
  • Ticket #210 – COBIAValue conversion error
  • Ticket #208 – Compile time determination of endianness on C++20 (gcc 13) incorrect
  • Ticket #206 – An object that is marshaled both as host and client is not interpreted correctly by the marshaler
  • Ticket #205 – Order of destruction of global objects in IDL parser library causes access violation at termination
  • Ticket #199 – Multi-threaded thread releases read selector prior to joining read thread
  • Ticket #198 – COM object creation should adhere to threading model
  • Ticket #193 – locate COBIA at posix

CO-LaN encourages all software developers to use version 1.2.1.2. 

Previous release was version 1.2.1.0 released on February 6, 2024. Version 1.2.1.0 was downloaded 343 times for the SDK installer, 359 times for the archive of runtime merge modules, and 387 times for the runtime installer since it was made available. 

Questions on COBIA 1.2 can be posted on the CAPE-OPEN forum dedicated to COBIA.