I recently ran into a pretty annoying bug with Magento 2.1.6, which made it impossible to save categories with a lot of products (performance issue). I soon discovered that the solution was quite easy, and fixed this in a module of my own.
Later on, when revisiting this issue, I discovered that Magento had already fixed this bug in september (9 months ago!), and called it MAGETWO-58277.
The commits/fixed are only in the develop branch on Github and not in any of the other 2.1 or 2.1-develop branches, and thus also not in the 2.1.6 or even very recent 2.1.7 tags.
So, I'm trying to figure out what is going on. An essential patch is waiting around for 9 months doing nothing? Or is it somewhere out there that I could not find?
Now, on to the real question: How do you think is the best way to proceed? Should we build on the "develop" branch, thus getting the latest fixes, or should we use the composer versions and use a "patching" system like
I know that the Magento docs say: use composer, but I'm trying to be practical here. Fighting bugs that were fixed 9 months ago is just a waste of valuable developer time.
We're currently experimenting with patches and composer, but after the 5th patch we made, we ran into an issue where the patch was fine for the develop branch (we created a pull request), but not for our 2.1.6 install, so we need to be extra careful.
This way we would need to create a patch for our version, create a PN if we want to contribute to the community (assuming it's a new bug) and re-create patches as Magento changes over time because patches will break at some point due to other code changes.
So, how do you juggle the M2 versions, patches and bugfixes?