When a new version 3.X of Python is released, does it always require the Python.Net development team to release a new version of Python.Net? - python.net

I have a project that uses Python.Net for which I specify to customers that they need 'Python 3.6 or later'. However, when for example, Python 3.10 becomes the current default download from Python.org, does this mean that there will be a period of time where my applicaion won't work because Python.Net hasn't been updated to work with Python 3.10?
Or do I have to tell customers an upper bound value for the required Python verion?

That strongly depends on how are you distributing Python.NET.
If you are shipping Python.NET before 3.0 (3.0 has not been released yet) with your .NET app, it can only work with the specific python version it has been built for.
If you are asking users to install Python.NET using pip, I think it is possible to do it from source, in which case it should work with any Python 3.6+. You can check that by installing Python 3.10 preview and trying from there. Wheels of course are only built for existing python versions.
Python.NET 3.0 should be able to support future Python 3.x versions once released. But right now it is in flux, and the next release might take 6-12 months: many features are still being developed and/or reworked.

Related

How to determine the latest OpenSSL version

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.

Which python version is recommended with odoo?

What is the recommended version of python to use with openerp/odoo? Is it 2.7 or 3
All these days I was using 2.7 if I choose ver 3 will it cause any problems?
Odoo work with Python 2.7 up to version 10.0
For version 11.0, Python must be on version 3.5 or higher
I won't work yet with python 3. The best python version to have is the highest 2.7.* (at least 2.7.3).
You can see the major dependencies and python version in the installing tutorial:
Installing Odoo (version 8.0)
Installing Odoo (version 9.0)
On my operating system, python 3 is the default so to start an instance without using a bundle (in my case I clone the github repository), I use this command:
python2 ~/path-to-my-odoo-git/odoo.py -d odoo-test
As for when odoo will work with python 3, there is a number of needed python package dependencies not already ported to python 3. Even if they were already all ported, Odoo itself would take some efforts (without talking about all the ecosystem of custom addons which would get unusable untill ported).
So I guess it will not be available before 1 year and most probably not available before 2 or 3 years.

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.