Code Synthesis is a systems software development company with a focus on automated object persistence, domain-specific languages (DSL) and their mappings, compiler design, code generation, and source-to-source translation.
Our products cater for a broad, embedded-to-server class of applications and are used in a wide range of industries, including aerospace, defense, telecommunications, finance, high-performance computing, biotech, and integrated circuit design. Teams at world-leading technology companies rely on our development tools and expertise to invent and build the future's most ambitious software systems, such as satellite navigation, high-energy physics experiments, warfare operation support, and DNA sequencing. All our products are open-source software and we invite you to try them in your projects.
News
| ODB 2.2.0 released | February 13, 2013 |
|---|---|
Major new features in this release include multi-database support,
prepared queries, change-tracking containers, custom sessions, and
automatic mapping for char[N]. This version also adds
support for Qt5 in addition to Qt4 and now comes with a guide on
using ODB with mobile/embedded systems.
|
|
| ODB 2.1.1 released | November 22, 2012 |
| This is a bug fix-only release that fixes a number of issues in each database runtime as well as the ODB compiler. | |
| ODB 2.1.0 released | September 18, 2012 |
| Major new features in this release include the ability to use accessor/modifier functions/expressions to access data members, support for virtual data members, the ability to define database indexes on data members, as well as support for mapping extended database types, such as geospatial types, user-defined types, and collections. The profile libraries have also been updated with the Boost profile now providing persistence support for the Uuid and Multi-Index container libraries while the Qt profile now includes the QUuid type. Finally, this release adds support for Visual Studio 2012 and Clang 3.1. Specifically, all the runtime libraries, examples, and tests now come with project/solution files for Visual Studio 2012 in addition to 2010 and 2008. | |
| ODB 2.0.0 released | May 2, 2012 |
| Major new features in this release include support for C++11, polymorphism, composite objects ids (composite primary keys), and the NULL semantics for composite values. This release has also been tested with GCC 4.7 and Clang 3.0 with the ODB compiler now supporting the GCC 4.7 series plugin interface. With this release we are also introducing a free proprietary license for small object models. | |
| ODB 1.8.0 released | January 31, 2012 |
| Major new features in this release are support for the Microsoft SQL Server database, including updates to the Boost and Qt profiles, support for database schemas (database namespaces), and the ability to define composite value types as C++ class template instantiations. | |
| ODB 1.7.0 released | December 7, 2011 |
| Major new features in this release are support for the Oracle database, including updates to the Boost and Qt profiles, support for optimistic concurrency using object versioning, support for read-only/const data members, support for persistent classes without object ids, and support for SQL statement execution tracing. | |
| ODB 1.6.0 released | October 4, 2011 |
|
The major new feature in this release is the introduction of the view concept. A view is a light-weight, read-only projection of one or more persistent objects or database tables or the result of a native SQL query execution. Views can be used to load a subset of data members from objects or columns from database tables, execute and handle results of arbitrary SQL queries, including aggregate queries, as well as join multiple objects and/or database tables using object relationships or custom join conditions. Other important features in this release include support for
deleting persistent objects using a query expression, support for
the |
|
| ODB 1.5.0 released | July 26, 2011 |
| Major new features in this release are support for PostgreSQL, including updates to the Boost and Qt profiles, support for per-class database operations callbacks, a new NULL handling mechanism, as well as the ability to specify database default values and additional column definition options. | |
| BoostCon 2011 ODB presentation | July 19, 2011 |
| The video and slides for the "Object-Relational Mapping with ODB and Boost" presentation at this year's BoostCon are now available. | |
| ODB 1.4.0 released | April 27, 2011 |
| Major new features in this release include the Qt profile providing persistence support for Qt basic types, date-time types, smart pointers, and containers, support for non-polymorphic object inheritance including abstract base classes, and automatic mapping of C++ enumerations to database ENUM or integer types. | |
| ODB 1.3.0 released | April 6, 2011 |
| Major new features in this release are support for the SQLite database, including the integration of the shared cache and unlock notification functionality for multi-threaded applications, as well as support for the GCC 4.6 plugin interface. | |
| ODB 1.2.0 released | March 16, 2011 |
| Major new features in this release include the Boost profile providing persistence support for Boost smart pointers, containers, and value types, support for embedding database schemas into generated C++ code, and support for transparent database reconnection. | |
| CodeSynthesis XSD/e 3.2.0 released | February 15, 2011 |
|
Major new features in this release include configurable application
character encoding, support for custom memory allocators, mapping of
XML Schema enumerations to C++ enums, support for schema evolution,
generation of clone functions for variable-length types, and
improved support for XML Schema facet validation, including
xs:pattern.
This release also adds official support and sample configurations for the Integrity 178b, Android, and Symbian platforms. |
|
| ODB 1.1.0 released | January 26, 2011 |
| Major new features in this release include support for containers, composite (multi-column) value types, unidirectional and bidirectional object relationships with support for lazy loading, custom object pointers, object caching, as well as native SQL statement execution. | |
| ODB - Compiler-Based ORM for C++ | September 29, 2010 |
| ODB is an open-source, compiler-based object-relational mapping (ORM) system for C++. It allows you to persist C++ objects to a relational database without having to deal with tables, columns, or SQL and without manually writing any mapping code. | |
| Free proprietary license for small vocabularies | August 3, 2010 |
| A free proprietary license is now available for XSD and XSD/e. The new license allows one to use the generated code to handle small XML vocabularies in proprietary (closed-source) applications free of charge and without having to release the source code. | |
| CodeSynthesis XSD 3.3.0 released | April 28, 2010 |
|
Major new features in this release include support for uniform
parsing and serialization of XML documents with varying root
elements, configurable application character encoding (UTF-8,
ISO-8859-1, etc.), support for stream-oriented, partially
in-memory XML processing, smaller and faster generated code
for polymorphic schemas, support for embedding the binary
representation of the schema grammar into the application,
and the generation of the detach functions that allow moving
object model sub-trees without copying.
This release also adds support for the AIX 6.x, Mac OS X 10.6, Windows 7, and Windows Server 2008 operating systems as well as for the Visual Studio 2010 (10.0), GNU g++ 4.5.0, Intel C++ 11, Sun Studio 12.1, and IBM XL C++ 11 compilers. Visual Studio 2010 project and solution files are provided for all the examples. |
|
| CodeSynthesis XSD/e 3.1.0 released | April 15, 2009 |
|
Major new features in the C++/Hybrid mapping include support for
XML Schema polymorphism (xsi:type and substitution groups),
binary serialization in XDR, CDR, and custom data
representation formats, support for complete customization
of the object model classes, support for default and fixed
values, and support for recursive XML parsing and serialization.
This release also adds official support and sample configurations for LynxOS 4.2 and 5.0 as well as VxWorks 6.7. |
|
| CodeSynthesis XSD/e 3.0.0 released | February 4, 2009 |
|
This major release adds the new Embedded C++/Hybrid mapping
which provides a light-weight, tree-like object model with
precise reproduction of the XML vocabulary structure and
element order. The new mapping supports fully in-memory as
well as hybrid, partially event-driven, partially in-memory
XML processing while maintaining a small footprint and
portability.
This release also adds official support for QNX 6.x, iPhone OS 2.x, and Visual Studio 2008 with Smart Devices. |
|
| CodeSynthesis XSD 3.2.0 released | September 30, 2008 |
| Major new features in the C++/Tree mapping include support for locating object model nodes with XPath queries, automatic assignment of namespace prefixes during serialization, polymorphism-aware object model comparison and printing, generation of non-copying constructors, and support for the fractionDigits and totalDigits facets during serialization. In the C++/Parser mapping: support for generation of the XML Schema namespace into a separate header file and reduced usage of virtual inheritance which results in a much smaller object code size and faster compilation. | |
| CodeSynthesis XSD/e 2.1.0 released | Junuary 11, 2008 |
| Major new features include support for XML Schema polymorphism (xsi:type and substitution groups), support for delegation-based implementation reuse in addition to inheritance-based, automatic generation of sample serializer implementations and test drivers, support for parser and serializer reuse after an error, and the file-per-type compilation mode in addition to file-per-schema. | |
| CodeSynthesis XSD 3.1.0 released | February 7, 2008 |
| Major new features in the C++/Tree mapping include the file-per-type compilation mode in addition to file-per-schema, support for IntelliSense, the ability to choose the identifier naming convention used in the generated code, non-copying modifier functions, and additional binary serialization examples. In the C++/Parser mapping: the file-per-type compilation mode in addition to file-per-schema and support for XML Schema polymorphism (xsi:type and substitution groups). | |
| More news... | |