This is to announce the release of polymake 4.0. We bumped up the version major number in order to mark a few breaking changes, which resulted in some major reshuffling behind the scenes. However, most of these will only affect the programmers among the polymake users:
* Data file format switched from XML to JSON
The reason for this change is that JSON is native to MongoDB, which we use for our database, polyDB. Our benefit are substantial simplifications and improvements of the interface. Altogether this makes our database more powerful and versatile. The conversion of existing files to the new format happens tacitly. Beware: there is no going back to old releases!
* Basic datatype for all sizes and indexes in C++ is now 'Int' which is 'long int'
In the past we saw that some large-scale enumerations could hit the 32-bit boundary. Now this has been taken care of, once and for all. We introduced a new small type Int (note that capital I) in C++ which is now used for indexing, counting and such throughout. The same name had been used before on the Perl side. While the C++ code now is 64-bit safe throughout (and could be jazzed up to even longer word sizes in the future) some Perl issues with 64 bits remain. That, however, is beyond our reach.
* Object class in C++ renamed to BigObject
We had always made the distinction between big and small objects, so it seems appropriate to actually use the name BigObject in the code.
None of this would have been possible without Ewgenij's ongoing commitment to the project. Thanks! Please checkout out the release notes for more details.
The Julia interface Polymake.jl will be upgraded soon to version 0.3. Check out some show cases as Jupyter notebooks.
As usual many people worked behind the scenes, e.g., Lars and Benjamin as release managers. Thanks to everyone!
Happy polymaking!
Michael Joswig and the polymake team