There is a much larger QA discussion that is out of our hands unfortunately.
I have only skimmed the fail2ban issue but if it is happening to multiple people that isn’t an edge case.
There is basic functionality that has to be maintained and that is what needs to be tested.
The development model in FreePBX is generally focused on internal development so the QA has to be the same. When you (sangoma/schmooze/bandwidth/colescent) take ownership and stewardship of a product you pretty much take ownership of documentation and testing for the project.
What their procedures for QA are now between them and god (or some other omnipotent being). Most development is now done behind the curtains as part of internal tickets. Frankly without transparency you can’t possibly have community QA.
Hey a new version of Foo just dropped, lets see what changed…
change log: FREEI-90210 Added Bar.
Well that’s vague lets go look at FREEI-90210, oh that isn’t public.
Well I am a smart guy lets go look at the difference between tags on git.
40 files and 15000 lines changed. Commit message “FREEI-90210 Added Bar”
Well let me end to end test my entire universe because at this point it is probably faster than figuring out the divinci code.
tl;dr you need open development practices to have community QA. If a developer isn’t going to put in the baseline effort to ensure their code doesn’t break existing, expected functionality they should lose commit access.