As already said by others, Blender is not a library. We have always
tried as hard as possible not to break its API, but this is not, and
imho should never be, a *hard* goal, at any point of the release
process. Sanity of code and user experience are more important than API
stability.
That being said, all this sounds like a heavily theoritical discussion
to me, besides areas that are in heavy development, afaik breakage in
our API are *very* rare… Especially outside of 'critical' cases. We even
have several extra handling in RNA to ensure that (especially when it
comes to RNA functions).
The only area that could need some work/enhancement/precision imho is
how we handle deprecation within 'minor' releases cycles (when we want
to remove something to expose it in another, 'better' way, we usually
keep the old API for some time, but I don’t think we have any formal
defined handling for those cases currently?).
On 15/08/2019 15:26, Brian Savery wrote:
First of all, Kudos for the 2.80 release, and I think the move to higher
frequency smaller releases with 2.81 is great.
One thing that I have not seen discussed with this release cycle change is
the python api and addons.
Currently, as things stand, a user would have to reinstall all addons with
each new release between 2.80 and 2.81, which is fine with older release
cadence, but becomes slightly more burdensome with quarterly-ish releases.
Furthermore, what about api compatibility and python compatibility between
releases? Has there been a discussion about that? As an addon developer,
I feel the 2.80 release was a bit late breaking some apis (especially for
render engines) and would prefer not to see that repeated with each 2.XX
release. Us addon developers would prefer to no have to put out a version
for each quarterly release if possible (but this might be selfish a bit on
our part).
This is all further complicated if an addon uses c extensions that need to
be compiled against a certain python version, and that python version
changes between Blender versions. Overall, this might be one more vote
towards moving to a version scheme like 2.8.1 where api and python version
is stable across minor versions.
Anyway like I said I haven't seen this point brought up. If there's a
discussion somewhere I could contribute to, please point me there!
Brian
_______________________________________________
Bf-committers mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-committers
_______________________________________________
Bf-committers mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-committers