I have an app that I released a couple years ago (plus another legacy app that I maintain for one of my company's clients). My game has a long-ish title, but it was fine until some asshat at Google decides that 33 characters is too long. On top of that, every time I'm forced to update the target SDK, I need to spend several hours figuring out a bunch of new build errors. This is not how I wanted to spend my vacation time.
It's not an arbitrary metric though... They want apps to stop using old APIs so they can deprecate them at some point. Platforms that aren't Windows (and Linux, to a lesser extent) don't have the resources to support old stuff forever. Be glad they don't make breaking changes more frequently, like Apple does :)
Over the years I've had to work with Google maps, geocoding, Play, GCE, and more. Every time I have to work with any of it I swear it takes a time off my life. And then it's virtually guaranteed that, just about the time I forget what a horror show the last event was, they'll arbitrarily make some other massive breaking change to the SDK or APIs... or kill the product entirely. I've sworn off as much of google as I can both personally and professionally.
Now I'm doing the same with Microsoft since they don't seem to give two shits about security anymore.
Google APIs are terrible to work with, but Microsoft is way worse in my experience. An API for one product may have been worked on by multiple teams that each had a different idea of how it should work.
It's a mad rule really.. it means work that was done for clients sometimes years ago and paid for has to be dug up and recompiled, when they were perfectly happy with the way they worked now.
Requiring 33 for new apps is fine, you're working on them already, upgrading is just part of it (which is more or less how apple work, you must use the latest xcode otherwise they reject). Requiring it for older ones probably means a heck of a lot of stuff is about to vanish from the play store on somewhat short notice.
There are some apps we've already decided to let die because the maintenance work isn't worth it.
Each and every line of code you write is a liability. Even more so when you wrote it for someone else.
You must always be able to rebuild it from source, at least as long as your client expect the software to work.
If you feel it's not worth it, you probably low-balled the contract.
If you don't want to maintain code, have the client pay a yearly maintenance fee, give the code and the responsibility to maintain it to your client at the end of development, or add a time limit to it's support.
There's no "maintenance mode" software: either it's in use and must be kept updated with regard to it's execution environment, or it's not used anymore and can be erased and forgotten. Doing differently opens too much security issues, which shouldn't be acceptable for us all as a trade.
Okay I'm siding with OP here. Google is dogshit when it comes to compatibility. When I was coding for GCP I counted how many breaking changes they rolled out and it totaled about 2 a month, I spent on average 4 days a month (almost a full working week) just upgrading Google's bullshit API changes.
Now, I'm all for upgrading stuff and keeping things ready to go, but there's a cadence to that. Most companies will treat downstream developers well, things like security updates are mandatory but rarely include breaking changes, new features may have breaking changes but they're optional (for a year or maybe even 2, to give you time to upgrade your app).
Google just throws that all out the window and quite literally sends out messaging like "You need to drop everything you're working on and upgrade to this <> because <> for <>.
I have successfully prevented 2 companies from going over to GCP based on this. They're too fickle, they see a shiny new feature and want to cram it in but don't care about anything that was made over 3 months ago. Avoid developing on Google products.
I can't speak for GCP as I've never used it, and as much as I love to jump on the Google hate train (they really do suck in so many ways), I am an Android app developer who also has to deal with the target API upgrades and they're usually not terrible. Most of the time, just a single line change, build, and push.
But most of my apps don't do any sort of tracking or access the file system, so outside of the whole permissions change a few years back, these have been easy to do.
The name truncation thing here is silly, though. Very annoying.
I say all this to say that I do think Google is doing a good thing here. In this one regard. I can't stress enough how specific I'm being with my praise here.