Author Topic: Future release schedule.  (Read 933 times)

0 Members and 1 Guest are viewing this topic.

Offline namida

  • Administrator
  • Posts: 10076
    • View Profile
    • NeoLemmix Website
Future release schedule.
« on: August 23, 2019, 09:01:45 pm »
I created a topic a while back to talk about what the future release schedule for NL might look like. Since no one weighed in, I'm going to adopt mostly my original idea there. So, from now on, NeoLemmix updates will generally follow this schedule, with the updates happening by the middle of the month.

February: Even-numbered major stable release (V12.8.0, V12.12.0, V12.16.0, etc)
May: Odd-numbered major stable release (V12.9.0, V12.13.0, V12.17.0, etc)
August: Even-numbered major stable release (V12.6.0, V12.10.0, V12.14.0, etc)
November: Odd-numbered major stable release (V12.7.0, V12.11.0, V12.15.0, etc)

From now on, the even-numbered updates will be mainly focused on cosmetic features. The odd-numbered updates will be mainly focused on gameplay features, with cosmetic changes generally being limited to those that are necessary to support the new / changed gameplay features. UI improvements may occur in either. V12.7.0 might not quite follow this perfectly, since some features were promised for it before this schedule was decided on.

Minor updates will be released as needed, usually for urgent bugfixes or to implement things that were obvious oversights.

Styles updates will be released if needed monthly.

The deprecation-to-cull schedule will be, where practical that three major updates keep a deprecated feature, then the fourth culls it. This equates to roughly 9 months between a feature being deprecated and the feature being culled (or in the case of a format change, the same time between the older format being deprecated and support for it being culled). For the purpose of this, only releases from V12.7.0 onwards will be considered - so the first version to start culling deprecated features will be V12.10.0, which will cull any feature / format that was deprecated in V12.7.0 or earlier.

The only exception will be deprecated pieces in styles; for now these will remain indefinitely in official styles. It is at the author's discretion in the case of custom styles, but I suggest for consistency that style authors follow what the official styles do.

I will clearly elaborate on what's going to be culled in each release, and where possible, provide tools to auto-update content (eg. the deprecation of the "RELEASE_RATE" keyword in level files, this is something that a tool can easily automatically change the level files to use the "SPAWN_INTERVAL" keyword instead).

And I will stress here - if it would be really messy to keep backwards-compatibility, I might get rid of it sooner. I'll try to avoid this, but it may happen from time to time.

The other thing to consider is how experimentals will be treated going forward. I'm going to divide them into two categories - "Experimentals" and "Release Candidates".

The ones that will remain "experimentals" are builds that are released for the purpose of testing / discussing a specific feature. An example from the past would be the build Nepster released for Shimmier testing. These should be treated as unstable - don't build content that relies on them, the feature might not make it in, or might get significant changes. It's there for evaluating and bugtesting proposed features only.

The ones that will now be known as "release candidates" are basically beta versions of the new stable release. They need testing, they may need bugfixes, but they're close to stable. An example would be the V12.6.0 experimentals I released shortly before the actual V12.6.0 release. They can generally be used to update content or make new content for the upcoming stable release, as long as you wait for the stable release and test your content on it before releasing it publicly. Basically - while it's not outright guaranteed nothing will change or break between a release candidate and the stable build, it's intended that as much as possible will stay the same, and changes would generally only be to fix bugs or handle obvious oversights - pretty much, the same kind of changes that might be expected in a minor update to the stable release.

You're strongly encouraged to test out the release candidate builds. The more testing they get, the less minor updates will be needed later.

This only relates to the NL player and its styles. The editor will, for now, remain on an "updates released as and when ready" basis, although generally a major update to NL will be accompanied by a corresponding editor update.
« Last Edit: October 02, 2019, 06:54:29 pm by namida »