OpenFL 1.0 had different libraries for different backends. “openfl”, “openfl-native”, “openfl-html5” worked in tandem to provide different platforms targets.
OpenFL 2.0 unified to a single “openfl” library, using “native” and “html5” directories internally. Later on, OpenFL 2.x releases a “next” version that unified the targets under one codebase. This was available using “-Dnext”
OpenFL 3.0 is unified as a single OpenFL library, with one codebase. OpenFL next is OpenFL 3.0. All platforms use one codebase over Lime 2.
OpenFL 3 includes a “legacy” path, which is the “openfl-native” from 1.x and 2.x, plus minor edits to continue to provide support (but not ongoing development) of the old codebase.
In this way, OpenFL 3 is the same code on HTML5, as it is on native, on mobile, desktop, and upcoming console support. OpenFL 3 uses Lime 2, and has full access to its API features, which are more flexible and powerful than the old native codebase.
You can edit the platform target drop-down in FlashDevelop, this (in my opinion) is the easiest way to switch. Click in it and change “windows” to “windows -Dlegacy” (for example), and FlashDevelop adds the additional entry to your list. Now you can switch at will
The goal is to continue to make OpenFL 3 better and more mature, until legacy is no longer needed