[midPoint] Plans for 4.0 release

Radovan Semancik radovan.semancik at evolveum.com
Wed Apr 17 11:09:00 CEST 2019


Hi,

There has been some questions lately about the 4.0 release, especially 
concerning the dates. And I guess I own you some explanations.

The short story is that our current plans for 4.0 release is 
approximately May-June 2019.

You perhaps know, that the original plan was to release 4.0 approx. in 
April, to keep our spring/autumn release pace. However, lots of things 
happened during 4.0 development.

First of all, 4.0 is supposed to be long-term support (LTS) release. 
Therefore we are making sure that we can support 4.0 for a long time. 
Therefore there is a lot of code cleanups, interface stabilization, 
interface improvements and removal of old dead code. We have figured 
that it is worth to invest more time into this now, as that would make a 
long-time support more efficient.

Secondly, you probably noticed that there is more activity in a security 
area. This is partially motivated by the LTS nature of 4.0. But some of 
you may have noticed that midPoint was chosen for a bug bounty program 
which is a part of EU-Free and Open Source Software Auditing (EU FOSSA) 
program. From security point of view the program is a success. And 
personally I have to say that his is one of the most positive surprises 
for me. However, the program resulted in a number of reports. Some of 
those were already processed and resulted in fixes with accompanying 
security advisories, other reports are being processed right now. While 
this is a huge success and I'm extremely pleased that this will improve 
security of midPoint, it also takes developer's time. We have always 
placed security as one of our top priorities. Naturally the fixes and 
improvements that resulted from the bug bounty program were highly 
prioritized. Which meant that we have to postpone some of the planned 
tasks. Obviously, the result was postponing of the release dates. But 
all my information security instincts tell me that this was the right 
decision to make.

Thirdly, we have changed our approach to midPoint development cycle. In 
the past there was a single long "sprint" to develop features and 
improvements for a new release. That ended in a "feature freeze". 
Testing and fixing period followed after that, culminating in a release. 
That approach was simple and it worked quite well for many years. But 
there were downsides. One of the darker side was, that waiting time to 
get some fixes might get as long as several months. Obviously, we are 
prioritizing the fixes and some customers won't wait that long (a.k.a. 
"subscribers first" principle), therefore this resulted in unpredictable 
interruptions to the developer's work. Therefore in 4.0 we have decided 
to implement milestone-based approach. Basically, there are 3-4 
milestones in the development cycle. Development tasks are interleaved 
with bugfixing parts. Then the feature freeze, final testing/fixing and 
release (see 
https://wiki.evolveum.com/display/midPoint/Support+Guidelines for a more 
comprehensive solution). This process is much better overall, even 
better that I was ready to admit. And this is the way to go in all the 
future releases. But unfortunately, we are suffering from the effects of 
everything that is new: it takes some time to adapt and fine-tune the 
details. Therefore this has also caused some delays.

And all the delays added up, and the result is that the 4.0 release will 
be later that we have originally planned. But I strongly believe that it 
is worth it. This "Gutenberg" release is extremely exciting, with a lot 
of new features. And not just some new features, but features that can 
have systematic positive effects on how midPoint will be used in the 
future. The "Gutenberg" will be really a revolutionary release.

However, nothing is for free, not even in open source. We had to take 
some measures to get back on track. Therefore midPoint 4.1 will be much 
smaller, to get back to the spring/autumn development pace. In fact, we 
are already working on 4.1 development plan and it looks like it is 
already full. The other effect is, that some of the features of midPoint 
4.0 will be marked as "experimental". Those are features that are not 
yet ready for the prime time. Those features are tested specially for 
some specific use cases of the platform subscribers for which they are 
developed. For other use cases - the features may work, but they may 
also break. Full functionality of those feature is not yet implemented 
and tested. Therefore, those features will not be officially supported 
in 4.0.x (LTS) releases. Such features will be further developed in the 
non-LTS releases (4.1, 4.2 and so on). And eventually, there will be a 
full support for them. But not in 4.0. You can use them at your own 
risk. But unless you have a special-purpose subscription that covers 
them, we will not support those features. Not yet. We will support them 
when they mature.

Anyway, I'm really excited about midPoint 4.0. This is really a giant 
leap. We haven't made such a big step in years, perhaps since midPoint 
3.0. Therefore let's get back to work and let's make it happen.

-- 
Radovan Semancik
Software Architect
evolveum.com




More information about the midPoint mailing list