And in the mean time I read that there are frequent and apparently non trivial breakage on version.
Not trying to point finger since it is not easy, but thinking about the upgrade strategy of a project (or language) and help consumers of your project (and their plugin) get to the next version would help them on this issue. We have examples of languages doing this (or not). There may be more challenges for an embedded languages (than for Rust or Python) but I’m sure some concepts can still be applied anyway.
It’s not really the intended use case of Lua to be used in things that will be upgraded after they’re released. It’s meant for things that need to work exactly the same way in a decade as they do now, and that’s best served by sticking to a specific version and either only upgrading to bugfix releases, or sticking to one specific commit forever. Those use cases also are better served by sticking to old versions of any libraries they use that are written in Lua (otherwise they might be hit by regressions or turn out to have been reliant on old buggy behaviour that’s been fixed), so probably aren’t upgrading to newer versions. That’s why the article is making the point that it’s not worthwhile for the maintainers of those libraries to keep compatibility with old versions of Lua as the people still using old versions of Lua are probably going to be sticking to old versions of those libraries, too.
And in the mean time I read that there are frequent and apparently non trivial breakage on version.
Not trying to point finger since it is not easy, but thinking about the upgrade strategy of a project (or language) and help consumers of your project (and their plugin) get to the next version would help them on this issue. We have examples of languages doing this (or not). There may be more challenges for an embedded languages (than for Rust or Python) but I’m sure some concepts can still be applied anyway.
It’s not really the intended use case of Lua to be used in things that will be upgraded after they’re released. It’s meant for things that need to work exactly the same way in a decade as they do now, and that’s best served by sticking to a specific version and either only upgrading to bugfix releases, or sticking to one specific commit forever. Those use cases also are better served by sticking to old versions of any libraries they use that are written in Lua (otherwise they might be hit by regressions or turn out to have been reliant on old buggy behaviour that’s been fixed), so probably aren’t upgrading to newer versions. That’s why the article is making the point that it’s not worthwhile for the maintainers of those libraries to keep compatibility with old versions of Lua as the people still using old versions of Lua are probably going to be sticking to old versions of those libraries, too.