Breaking Model Interfaces Is Dispicable

There is no way to attach an image so I can show the developers how terrible the UI to this forum is.
It looks like it was made with AI and reached it’s crecendo.
It’s outright a disgrace.
Also naming Gemini AI and Gemini Crypto closely I found was a collosal blunder.

My Gemini Code was working fine for months util the Developers at Google Yanked ‘gemini-1.5-pro-latest’
Hell, the Model initialized with it, didn’t say a darn thing.
Didn’t even say, we’ve reniged on our contract with the users and yanked that label.
Didn’t list out alternative labels to use when initializing the model.
It just started dumping out some obscure error messages.
You never break an interface guys, that’s Software Development 101.
Make version 2, but keep version 1 intact.
In the very least, you know who has been using what, and who has api keys.
Send them an email - Hey, we noticed you are using this model, that’s going bye-bye, use this instead…
Nope.
It’s dispicable to do this.

Hi @UltimateCodeWarrior

Apologize for the inconvenience.

Google now supports the newer Gemini 2.5 models. To restore functionality, please update your code by replacing gemini-1.5-pro-latest with one of the following supported options:

  • gemini-2.5-pro
  • gemini-2.5-flash
  • gemini-2.5-flash-lite

We also recommend calling the Models API endpoint to fetch valid models dynamically. This prevents future issues if labels change again.

Thank you for your understanding.

So if you fetch models dynamically, so what? Just pick a random one from the list and go with it? Sorry that doesn’t cut it if that’s your teams plan. That’s a real lousy plan. It’s not an inconvenience, it’s a production show stopper. I means your software might go into a forever loop trying to get details about an image and run up a big bill. Not good! Your team needs to understand, if they put a label out there, don’t change it arbitrarily and especially without notifying the users. That’s real bad form, totally irresponsible to your paying customers like me. What if your email provider just decided to change your email domain name and didn’t notify you. You would be furious!

I ended up going with:

model = genai.GenerativeModel(‘gemini-pro-latest’)

But should gemini-pro-latest ever become suddenly and inexplicably unavailable , the least you could do is just throw a huge exception saying…”Our inept selves are at it again, we like to break interfaces, so select a new one from the dynamic list to use our shape shifting API. Good Luck. ‘Modified by moderator’ be You.” For the love of God, don’t act like the engine is initialized correctly only to fail later with a followup model.generate_content(…) call. That’s absolutely ‘Modified by moderator’ worthy.