- MidPoint user finds a bug
- MidPoint user (or support engineer) files a bug report in our issue tracking system (see Creating a Bug Report)
- The issues is assigned to midPoint engineer
- MidPoint engineer tries to replicate the bug. The ideal way is to create a unit or integration test that replicates the bug. This test becomes part of midPoint testing suite.
- MidPoint engineer fixes the bug. The bug is always fixed in the development version of midpoint if possible (see Release Process).
- The bugfix is backported to the support branch if needed. However there is an overhead in backporting the bugfixes. Therefore this happens only for severe bugs that are either critical for midPoint quality (e.g. security issues) or bugfixes that are important for customers with with support subscription. Normal community-reported bugfixes are placed only in the development version. See also Support Guidelines for more details.
It is important to emphasize that bugfixing in midPoint is strongly based on replication of the bugs. This is a way how we maintain midPoint quality (see below). Therefore it is important to create good bug reports.
Most bugfixes and almost all new features will end up only in the development version of midPoint. This is the most efficient way from the development perspective. We generally want to integrate midPoint features very early (which really means "all the time") to make sure that midPoint is a nice integrated system and not just a bunch of unrelated components. Therefore we try to avoid long unsynchronized branches in the development and we try to keep midPoint development mostly linear. Therefore new features and community-reported bugs will be available in production quality only in the next midPoint release. Of course the bugfixes and features are always available in the development branch. Which usually works fine for most cases. However as this branch haven't been through a full quality assurance (testing) cycle yet we cannot guarantee that everything works perfectly. Although it may work for you this branch is not intended for production use. Hic sunt lionesleones. You can of course use it as you wish to but you have been warned.