Kurento is an Open Source Software WebRTC media server

Kurento 7.0.0 released

Release Notes were published here.

Kurento 7.0.0 has been a multi-month (even multi-year if we strictly count from the very first time some work was started) effort that concludes with a new major version, bringing a lot of improvements for the maintainability of this project:

  • All code is now located in a single git repository, which is a huge reduction in management and development overload.

    Check it out here: https://github.com/Kurento/kurento

    Issues, and discussions can now point as a whole to an exact state of the Kurento codebase, because everything can be referred with a single commit hash. Pull Requests that previously crossed several repositories, are now tidy and self-contained, which again eases managing them.

    All things considered, Kurento was never a big enough project, nor had enough active contributors, to grant separating concerns on of so many independent repos.
  • User conversations are being redirected from the old Google Groups to the new GitHub Discussions section in the same GitHub repository. Again, the key intent here is to unify resources and points of interaction.

    Issues don't need to be handled for multiple repositories any more, so they will also be migrated to the GitHub Issues section of the new repo.

    We are looking into the GitHub API to evaluate if it would be possible (and worth it) to move or copy all already existing issues to the new bug tracker.
  • Support for Ubuntu versions 16.04 and 18.04 is dropped, and the main deployment target is now Ubuntu 20.04 Focal (LTS).

    We're already looking into the more recent 22.04, but that added some extra complications when compiling the code, so in order to limit the scope of the change we stayed with the previous system.
  • A big one: Kurento drops usage of its (mostly unmaintained) forks of an old version of GStreamer.

    GStreamer is the underlying multimedia framework that leverages all of the media handling abilities of Kurento Media Server.

    What this change means in practice is that going forward, it will be much easier to port Kurento to newer systems and newer versions of GStreamer. While Kurento 6.x was anchored to a custom fork of GStreamer 1.8, Kurento 7.0 now builds upon the Ubuntu system's provided packages, which in Ubuntu 20.04 is GStreamer 1.16.

    Having dropped these old dependencies means that it should now be much easier to port Kurento to Ubuntu 22.04 and newer systems in the future, to take benefit of even more modern versions of the multimedia libraries.

Functionally speaking, release 7.0.0 doesn't bring too many shiny things. Most interesting (and almost only) addition is the new API method requestKeyframe() in RTP-based endpoints (i.e. RtpEndpoint and WebRtcEndpoint), which allows to control when the server generates a new video keyframe during encoding.

Apart from that, there have been some breaking changes in order to clean the API up a bit, so the upgrade guide should be followed up closely: Kurento 6.x to 7.0 Upgrade Guide.

We hope this new release works wonderfully for all existing Kurento users; if you find a regression, please don't hesitate to communicate it to us via the Issue tracker.

For anything that is not strictly a bug or mistake in Kurento's behavior, please refer to open a new discussion to ask the community.

Have a nice day!