We are proud to announce the release of privacyIDEA 3.0 today.
With privacyIDEA 3.0, we are setting the course for a stable future. While many users quickly lose themselves in tempting MFA SaaS offers, we want to continue to give our customers the opportunity to carry out their secure multi-factor authentication with a trustworthy system under their own control, on Premise. To keep it that way in the future, we have worked on several points over the past months. On the surface, they don’t seem to have a wow effect at first, but they give you as a corporate customer what counts for you: Long-term stability!
Python 3
privacyIDEA is written in Python. The Python version 2.7 will not be further developed after 2020. We have written the privacyIDEA 3.0 code to run on both Python 2.7 and Python 3.x. This gives you the confidence that you can switch from Python 2.7 to Python 3 without migration projects and that you can use privacyIDEA relaxed even after 2020. privacyIDEA 3.0 PIP installations can be run on Python 3. However, the Enterprise packages will still be delivered with Python 2.7 and will be changed to Python 3 in the coming months. For you there is nothing else to do except a normal update.
Crypto functions
Under the hood we also exchanged crypto libraries. The old library pycrypto had to give way to the de facto cryptography standard. Signatures and encrypted data now also have their own versioning, so that we are future-proof here if we want to change the way we sign or encrypt data.
Database Schema
We have broken with a design legacy that goes back to the first versions in 2009. Previously, the assignment of a token to the user in the database was stored in the token table itself. This was simple, but not flexible. The assignment is now stored in a separate table. This way we have already prepared the database so that several users can have the same token. This will make it easier for us to develop completely new token types in the future.
Installation variants
We have decided to deliver all installation variants as so-called Python virtualenv. This means in a dedicated directory privacyIDEA brings along all dependencies it needs. Thus in a given version of privacyIDEA always the complete same code will run. No matter if privacyIDEA runs on a Debian, Ubuntu, RHEL or SLES and was installed via pip, apt or yum. This helps to exclude side effects from underlying dependencies. The installations will become more homogeneous and stable. But you can still easily install and update using apt/aptitude or yum.
We will no longer build Ubuntu 14.04LTS packages of privacyIDEA 3.0 and later. But starting with version 3.0 we offer packages for Ubuntu 18.04LTS and 16.04LTS. The packages for Ubuntu can no longer be published in the PPA Launchpad repositories. Rather, we now publish them in a separate repository.
Installation of the new version privacyIDEA 3.0
privacyIDEA 3.0 is the Community Edition, which is available on the Python Package Index and in repositories for Ubuntu 16.04LTS and 18.04LTS.
The Enterprise Edition for enterprise customers will follow in a few weeks as version 3.0.1.
You can read more details on the privacyIDEA project page.
Before installation or update please read the online documentation and the READ_BEFORE_UPDATE.