MidPoint 2.1 "Coeus"

Last modified 22 Apr 2024 12:47 +02:00

Release 2.1 is a sixth midPoint release code-named Coeus. The 2.1 release brings new features, better stability and robustness. It is introducing new way of attribute mapping, password policies, provisioning dependencies and robustness features, organizational structure support and a lot of other features.

Release date10 December 2012
Release type Production release


midPoint 2.1 provides following features:


When compared to the previous version, Coeus is introducing following changes:

Changes in the internals, minor improvements and quality assurance:

  • Significantly increased number of integration tests

  • Improved overall quality, usability, stability and performance during testing phase that focused on requirements from customers

  • Internal search query representation was re-engineered

  • ValueConstruction changed completely to Mapping (non-compatible schema change)

  • Switching object name to PolyString for better national environment support

  • Improved internal support for asynchronous processes (still experimental)

  • Improved logging and presentation of operation results

  • Better GUI resilience in case of resource failures

  • Recording value origin (inbound, outbound, etc.) and displaying that in GUI

  • Ability to limit mapping to a specific channel

  • XML editor encrypts sensitive values

  • Support maven3 in the build process


Release 2.1 (Coeus) is intended for full production use in enterprise environments. All features are stable and well tested.


MidPoint is known to work well in the following deployment environment. The following list is list of tested platforms, i.e. platforms that midPoint team or reliable partners personally tested this release. The version numbers in parentheses are the actual version numbers used for the tests. However it is very likely that midPoint will also work in similar environments. Also note that this list is not closed. MidPoint can be supported in almost any reasonably recent platform (please contant Evolveum for more details).


  • Sun/Oracle Java SE Runtime Environment 6 update 26 or above (1.6.0_26, 1.6.0_35 64bit, 1.6.0_37)

  • Sun/Oracle Java SE Runtime Environment 7 (1.7.0_09)

Web Containers

  • Apache Tomcat 6 (6.0.32, 6.0.33)

  • Apache Tomcat 7 (7.0.30, 7.0.32)

  • Sun/Oracle Glassfish 3 (


  • H2 (embedded, only recommended for demo deployments)

  • PostgreSQL (8.4.14, 9.1, 9.2)

  • MySQL (5.5)

  • Oracle 11g (

Unsupported Platforms

Following list contains platforms that midPoint is known not to work due to various issues. As these platforms are obsolete and/or marginal we have no plans to support midPoint for these platforms.

  • Sun/Oracle Java SE Runtime Environment 6 update 25 or older

  • Sun/Oracle GlassFish 2

Background and History

midPoint is roughly based on OpenIDM version 1. When compared to OpenIDM v1, midPoint code was made significantly "lighter" and provides much more sophisticated features. Although the architectural outline of OpenIDM v1 is still guiding the development of midPoint almost all the OpenIDM v1 code was rewritten. MidPoint is now based on relative changes and contains advanced identity management mechanisms such as advanced RBAC, provisioning consistency, etc.

For the full project background see the midPoint History page.

Known Issues

  1. Consistency mechanism fails to operate correctly in case new user is added (under some cirmustances) (MID-1056)

  2. Strong mappings fail in presence of replace deltas for mapping targets (MID-1067)

  3. Weak mappings are not processes correctly in modify situations (MID-1068)

  4. Two consecutive modifications may produce strange results when resource is down (MID-1054)

Change secret key in keystore

To generate new secret key (with different key size), you have to proceed through this steps:

  1. shudtown midpoint

  2. find JCEKS keystore in midpoint.home (by default it’s keystore.jceks, but file name can be different)

  3. generate new key
    keytool -genseckey -alias <SOME_ALIAS> -keystore <KEYSTORE_FILENAME> -storetype jceks -keyalg AES -keysize <KEY_SIZE>

Supported key sizes are: 128 (doesn’t require JCE), 192 and 256 (JCE required)

  1. change configuration in config.xml in midpoint.home
    <encryptionKeyAlias>default</encryptionKeyAlias> change 'default' to <SOME_ALIAS>

  2. add/edit <xmlCipher></xmlCipher> in <keystore> element. You can use smaller cipher key size for encryption. For:

AES_128 use "http://www.w3.org/2001/04/xmlenc#aes128-cbc"

AES_256 use "http://www.w3.org/2001/04/xmlenc#aes256-cbc"

AES_192 use "http://www.w3.org/2001/04/xmlenc#aes192-cbc"

without quotation. This element is optional, if it doesn’t exist AES_128 is used.

  1. From now every encryption operation uses new key, for decryption old key is used.

Was this page helpful?
Thanks for your feedback