How to determine the latest OpenSSL version - ssl

What is the most reliable source to find the latest version number?
Is it github?
And if yes, which version should I take?
Right now, here is what I see:
Should I take the 1.0.2k?
But then 1.1.0d seems like it is more recent (if it follows semantic versioning). What do the letters actually mean?
Note: in my case this is to compile an openssl version with nginx.
Last time I picked (quite randomly) the version 1.0.2h which seemed the latest at the time.
So what is the process to follow to find the latest openssl version?

https://www.openssl.org/ shows which version are current and supported.
Currently there are two major versions in development: 1.1.0 and 1.0.2. 1.1.0 is newer and has more features. But due to the cleanups between 1.0.2 and 1.1.0 lots of undocumented API (i.e. things which never were an official API but got used anyway since no official API existed) got broken and not all software works or works stable with 1.1.0 yet. Also, 1.1.0 tends to introduce not only features but also bugs faster than 1.0.2 when looking at the release history. And with 1.1.0 the chance is higher that documented behavior changes even between patch releases.
Thus if you need the new features with 1.1.0 then go with it. If you prefer a more stable version with a smaller chance of bugs use 1.0.2. In all cases you should always use the latest patch release and keep using it if new patches get released or backport security patches.

Related

Is Apache http server 2.5/2.6 available now?

I want to keep the my Apache HTTP server to its latest version. So I check https://httpd.apache.org/ and it says 2.4.48 is the latest version. I also check https://en.wikipedia.org/wiki/Apache_HTTP_Server#Versions and it says the latest version is 2.4.48 (June 1, 2021; 2 months ago[2])
However, I also see this https://httpd.apache.org/docs/trunk/ and it seems there is 2.5/2.6 version available. I click "New features with Apache 2.5/2.6" link in the page, but get "page not found" error. So, what is the problem?
Apache httpd uses the classic three numbers versioning scheme
Major.Minor.Patchlevel
and uses the Minor version number to distinguish between development versions (odd Minor number) and stable, released versions (even Minor number).
So 2.4.52 is the most recent released version as of the time of this writing.
The 2.5.x versions also exist, being in-progress unstable and unreleased development versions targetted at developers only. Once the 2.5 series matures and is considered to be ready for a release, it will become the 2.6 stable series, successor of the 2.4 stable series. (Just as the 2.4 series is the successor of the 2.2 series, with all 2.3.x versions being unstable development versions leading up to 2.4.0.)
There is not version 2.6.x yet, as development hasn't finished so far.
Unfortunately, I could not find any official informatin on the Apache httpd website detailing this.

What are the currently supported redis versions? (latest stable 6.0.6)

Redis release cycle page states
Support
Older versions are not supported as we try very hard to make the Redis API mostly backward compatible. Upgrading to newer versions is usually trivial.
For example, if the current stable release is 2.6.x, we accept bug reports and provide support >for the previous stable release (2.4.x), but not for older ones such as 2.2.x.
When 2.8 becomes the current stable release, the 2.6.x will be the oldest supported release.
Does this mean that currently supported versions are 6.0 (latest stable version 6.0.6) and 5.0 (previous stable version 5.0.9), and older versions such as (4.0.x, 3.2.x, 2.8.x) are not supported?
Thanks in advance.

Why do Linux distributions ship outdated CMake versions?

Ubuntu shipped CMake 2.8 when version 3.3 was the current version. Other Linux distributions do it similar. Is there a reason like backwards-compatibility issues with CMake 3.0?
I found plenty of people willing to explain how to upgrade CMake to the latest version, but couldn't figure out why it wasn't done by default. I'd like to understand the mentality of keeping it back before I decide to override the decision and upgrade it myself.
Depends on the Linux distribution you're using. A distribution's maintainers cannot ship future versions and often they don't upgrade version with updates as it might break existing applications.
CMake 3.0 has some minor incompatibilities. More important, it got new features and some bugs were fixed. If software relys on these, you'll need a new version.
Btw: With CMake 2.8 the third part of the version number is relevant. They stayed a long time with 2.8.x and added features with increasing x. Then they could not update to 2.9 or 2.10, thus they decided to change the version scheme and increase y in 3.y.
Your question applies to a wider range of software. It is a general question, whether a distribution should stick to defined versions of software they provide or whether they should update it and potentially break the costumers' setup. Enterprise distributions like RHEL or SLE are very conservative and fix bugs for at least a decade. Ubuntu updates it distribution every six month but you can stick to the LTS for three years. Fedora even updates some key components like the kernel after the release. Arch Linux and openSuse Tumbleweed are rolling releases, the update their software almost on a daily bases, when the upstream updates publish new versions.

Confusing Mono versions

I'd like to get the latest Mono 2.x version.
According to the official Mono release history page it is 2.10.9
According to what appears to be the official archive it is 2.11.4
However the latest modification date in the archive above for a 2.X release actually belongs to 2.10.12
There is no mentioned of the latter two versions in Mono's website (according to Google at least).
Any ideas what's going on?
I found this blog post that suggests 2.11.4 may be an Alpha release (see the comments). Perhaps the same is true for 2.10.12, and the latest stable version was indeed 2.10.9?
A similar questions arises for the latest version of MonoDevelop supporting Mono 2.X.
According to a Xamarin rep in their mailing list it is 2.8.6.5, but the GitHub release history shows 2.9.6, and the following link works: http://download.xamarin.com/monodevelop/Mac/MonoDevelop-2.9.5.dmg.
Is it again a case of an Alpha / Beta release ?
Mono 2.10.12 is the latest stable 2.x release (although 2.10.10, 2.10.11, and 2.10.12 were really just MacOS-specific releases, iirc).
Mono 2.11.x releases were previews for Mono 3.0.
The latest stable 2.x release of MonoDevelop was 2.8.6.5.
MonoDevelop 2.9.x releases were previews for 3.0.
At the time, we used the same version scheme as the Linux kernel for both Mono and MonoDevelop, where an even minor version meant stable and an odd minor version meant development/unstable/preview/alpha/whatever-you-want-to-call-it.
I think Mono still uses the same version scheme, but MonoDevelop no longer does (starting with 5.0). For example, MonoDevelop 5.1 is stable even though the minor version number is odd.

installing matplotlib on ubuntu?

I have:
Ubuntu 8.04
python 2.5.2 installed on this Ubuntu
matplotlib 0.92.0 installed
I want to upgrade to (atleast) matplotlib 0.99
so that I can do 3d plotting.
The synaptic package (also the command line apt-get)
tells me that whatever I have is the latest matplotlib (which is not true).
How can I install matplotlib 0.99 or matplotlib 1.0.1 ?
You have the latest available package version for your operating system. Given that Ubuntu is at version 11 now and you are using 8.04, the version difference in the matplotlib package might not come as very surprising.
As for installing the newest version, I'd suggest reading:
http://matplotlib.sourceforge.net/faq/installing_faq.html
...if all fails, you can always install from source.
Note that support for Desktop versions of 8.04 LTS is due to expire shortly -- if this is a desktop machine, perhaps the easiest answer is to upgrade to 10.04 LTS, 10.10, or the very-soon-upcoming 11.04 release (or whatever they'll call the next release). Maybe not "the easiest answer", but an answer that includes security updates for Mozilla, Adobe Flash, the Kernel, and so forth.
Many newer versions of packages are supported via the Ubuntu Backports facility, but I didn't spot python-matplotlib in the list of available packages. Perhaps they would provide it if you asked nicely, perhaps it would be too much work.
You can always try installing newer versions from newer releases, but newer versions of python and libraries might introduce worse problems. (But probably will work fine.) See the apt_preferences(5) manpage for details on how to configure multiple APT sources and select some specific packages from a newer distribution (pinning), and rely on the older distribution for all the other packages.
Jim's answer of building the version you need from source is probably your best second option, if installing a newer version of the distribution is too daunting / otherwise impossible at this point.