this post was submitted on 12 Apr 2025
79 points (100.0% liked)

Lemmy Apps

6000 readers
1 users here now

A home for discussion of Lemmy apps and tools for all platforms.

RULES:


An extensive list of Lemmy apps is available here:

LemmyApps.com

or lemmyapps.netlify.app


Visit our partner Communities!

Lemmy Plugins and Userscripts is a great place to enhance the Lemmy browsing experience. !plugins@sh.itjust.works

Lemmy Integrations is a community about all integrations with the lemmy API. Bots, Scripts, New Apps, etc. !lemmy_integrations@lemmy.dbzer0.com

Lemmy Bots and Tools is a place to discuss and show off bots, tools, front ends, etc. you’re making that relate to lemmy. !lemmy_dev@programming.dev

Lemmy App Development is a place for Lemmy builders to chat about building apps, clients, tools and bots for the Lemmy platform. !lemmydev@lemm.ee

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] ptz@dubvee.org 13 points 3 days ago (1 children)

Maybe petition the Lemmy devs to not pointlessly break API v3 since they're moving to v4?

[–] Irelephant@lemm.ee 16 points 3 days ago (1 children)

Isn't the whole point of having different api versions to not break compatibility, so apps can continue using v3?

[–] ptz@dubvee.org 25 points 3 days ago* (last edited 3 days ago) (3 children)

Yep, and that's how we do API versioning at work. One app is on like API v9 now, and I think we support back to v5 or maybe even v4.

Their justification is that pre v1.0, you can break whatever you want whenever you want. But when you've got a large community of people developing for the ecosystem over several years, it's kind of a slap in the face to keep breaking the API. I appreciate that 0.19.0 - 0.19.11 has been fairly stable, but breaking v3 while also rolling out v4 is just inexcusable.

I get that v3 will eventually need to be deprecated and apps move to v4, but you'd think they'd put all their breaking changes in v4, let v4 stabilize and run concurrently with v3, and then drop v3 a few versions down the line. Except a few paid apps, I don't think most of us are doing this full time and have other things to deal with.

But what do I know? It's not like I do this for a living. Oh, wait...

[–] can@sh.itjust.works 4 points 3 days ago

In a comment one of the main devs mentioned worst case scenario that they could be supporting 0.19 for a long time so they're trying not to rush 1.0.

[–] rglullis@communick.news 2 points 3 days ago

Their justification is that pre v1.0, you can break whatever you want whenever you want.

They are not wrong. If you are developing an application against a backend that clearly states "we are following semver. This version is not 1.0, therefore no API is guaranteed to be stable", and you go on to write a client for it anyway, you don't get to complain later when they make breaking changes.

Alternatively, you can just stop relying on their ad-hoc APIs and push for them to implement Lemmy with focus on the ActivityPub API. That is already an standard and if you come up to them with issues against their AP implementation, they will be a lot more likely to listen to you.

[–] seeigel@feddit.org -2 points 3 days ago (1 children)

It's open source. If somebody wants to fix v3, they could submit patches.

It's unfortunate that v3 is stalling but nobody is paying the devs so they can prioritize however they see fit.

I also think that right now developing missing features is more important than old APIs.

[–] ptz@dubvee.org 8 points 3 days ago (1 children)

Features can be developed independently of the API and/or added without introducing breaking changes.

[–] wizardbeard@lemmy.dbzer0.com 8 points 3 days ago* (last edited 3 days ago)

I'm just a scripting monkey for a systems engineering/admin team, but I have one system integration that is being fireman carried by a ton of my code. I've since learned that there are entire consulting companies built off selling a slightly expanded version of what I've one man army'd together. Maybe I overestimate my skill, but I feel qualified to talk about large projects and long term sustainability.

I'm convinced that people who talk about things like backwards compatibility as if it's super difficult just aren't willing to try. I won't say shit like that is super easy, but it's not black magic.

I think there's a lot of programmers out there more interested in building shit than ensuring any sort of quality, that it'll be maintainable longer than the next code review, or in thinking about any downstream effects of their code beyond the limited scope they're developing in. Stuff like backwards compat is largely just another design pattern in a sea of them that you learn through experience. But you have to try it to learn what works and what doesn't. Go try folks.