Hi all, to jump in from a point of someone who has contributed "improvements" over the last couple of years.
Many of your points are vaild, I understand your frustation and pain of continuouly having to adapt to new methodologies. Believe me when I say we are not these changes are not implemented just for the fun of it. All of the changes you mentioned were mostly forced with a gun on our chest to either implement a change or to simply not have a usable GNU Radio for new Linux Operating System Releases. One of the reasons is that most of the GNU Radio development is done by volunteers in their free time. Changes to GNU Radio reflecting changes in dependencies which would have been useful to implement long before said dependency is obsolete have been implemented in the last possible momont, e.g Qt4,Python3. This lead to partially untested/unmature code being pushed into a release. For at least Debian and Gentoo GNU Radio has been the last package either on Qt4 or on Python2 and patches have been backported to GNU Radio 3.7 by the OS maintainers (Thanks!) to keep it in the operating system. It's also quite hard to demand 100% backwards compatibility for breaking changes and tools which provide full coverage for conversion between breaking changes. I know the Python tools and I love them. But development of these follow the Pareto principle. 80% of the tool is written in 20% of the time. 80% or similar is what we are able to provide and what gr_modtool provides in terms of conversion. For simple cases conversion just works, but for complex setups you have to add some additional changes by hand. TLDR: these changes are partly forced on GNU Radio by having a list of dependencies. Core developers are doing their best to give users the ability to convert between versions, but it's lacking and any help is appreciated. Cheers Andrej