0.9.2 preparation

I’m thinking it’s probably high time for another Cinder release.

The primary purpose of this release will be to open the door to some upgrades and streamlining. More specifically, in general we try to maintain a policy of making toolset-breaking changes toward the start of a new release cycle.

Some things we would like to do soon after this release (in what will be 0.9.3dev):

  • Remove Boost as a requirement on all platforms
    • This will require dropping ci::JsonTree. IMO nlohmann::json looks like the right replacement candidate inasmuch as we need one (mostly for samples), possibly supplemented with a convenience method to strip JSON comments.
  • VC2019 Support. This would involve skipping direct support for VC2017, but not immediately dropping VC2015 support. The latter can easily be upgraded to the VC2017 compiler.
  • Requiring C++14 on all platforms, and defaulting to C++17 on VC2019.
  • Requiring Ubuntu version 16.04 or later, which ships with GCC 5.3.1 (and supports C++14)
  • Dropping support for older SBC’s, including the Jetson TK1, and Raspberry Pi’s preceding the 4.
    • The above (specifically the Pi <4) allows us to drop OpenGL ES 2

Of that list, I anticipate dropping older Raspberry Pi support is probably the trickiest. My own thinking is that for the most part, these SBC’s don’t represent a substantial financial investment, so replacing them is relatively inexpensive, and the older models will still be supported until we release 0.9.3 (not to mention previous versions of Cinder). Being able to drop ES 2 represents a pretty significant win in terms of simplifying our GL stack.

Regarding the JSON library, I think for the most part we’ll want to keep this as a light-touch dependency, since there are a lot of different opinions on how a JSON library should be built, and there are many high quality ones available. However I believe there’s value in having a library the presence of which Cinder users can count on, particularly for samples and similar.

All that said, we don’t need to immediately answer these questions in order to do this next release. I think it makes sense to focus exclusively on any lingering fixes we should try to get in ahead of shipping 0.9.2 though. Please let us know if there’s something you believe should specifically be merged ahead of that.

9 Likes

This is great. There were also talks of using GLAD instead of glew … i think that would be nice… as far as I know, it just needs to be figured out for osx…

maybe a tinderbox for linux will be greaT

+1 for GLAD or some other system which makes it easier to add opengl extensions.
Currently using Paul’s cinder fork on all projects.

2 Likes

Just thought I’d pitch in my two cents and say that my experiences with this json lib have been quite positive. Also - pretty stoked about Cinder 0.9.2.

Also - if I can finally get all my shit together, I’ll eventually (meaning within 6 months) try and put together a demo for a six year long project I have been working on in Cinder.