just passing by to congratulate you guys on the milestone!
1.0 would be the perfect time to have the code, bug tracker, etc. migrated off of Microsoft GitHub
Why?
I know the knee jerk reasons of course.
However, GitHub is a fantastic ecosystem for an application to thrive. Contributions on other platforms are greatly reduced.
Then again, the actual Lemmy development is a bit of a mess.
Once it gains critical mass of engaged developers, that’s a good time to migrate off GitHub. Doing it earlier just slows the project down.
It really provides nothing special of note other than network effect (slow UI, nonrobust CI of YAML spaghetti, pull request model is broken, upselling AI shit in the UX, taking users code with that AI & selling it back to users despite it being our code in the commons, taking cuts from sponsors, etc.), but you can’t shift that without setting a good example—& getting folks to cross out of that closed, centralized, data sucking ecosystem.
One of the primary reasons for Lemmy’s existence is to get out of Reddit’s walled garden & AI nonsense onto a decentralized platform. Git (& other VCSs) does not have a restriction on centralized nonsense unless you buy into a platform that requires give up their data to a US company just to participate. Why would you value one thing for your users then have different values for developers (that are also users)—especially when there are gobs of alternatives? Screw Microsoft on all accounts—historically & presently. There is no reason to treat this like some startup/market thing for engagement when the platform & its core users want a different experience outside of corporate control (but if you must, just make a readonly mirror with issues disabled).
Excited to see the idempotency feature. That will help a lot with double posts from using https://github.com/RikudouSage/LemmySchedule
Idk if it will be useful to more active people like you because you will be able to schedule only up to 10 posts at once: https://github.com/N4Y-docker/lemmy-nightly/commit/9eee61dd06220176fbb97ccbba4a594ea21bb5c6
Good callout. I’m actually admin on this instance so it wouldn’t apply to me by my reading of the code. Lemmy schedule also doesn’t currently use the scheduled posts Lemmy feature, it tracks it separately. Still good to know though, thanks.
Oh, didn’t realise that you were an admin there. haha
Oof, lots of work to do for everyone.
If anyone can figure out all the non-mentioned API changes and write them here it would be useful for people like me to avoid having to reverse engineer things
I can say I was there when Lemmy 1.0 released!
A lot of these should not be called breaking changes. A new API is not a breaking change if the old API remains.
if
Yeah but those changes break clients as soon as they turn down the old API.
Indeed, dropping the old API would be the breaking change.
Rich Hickey did a fantastic talk on versioning, breaking changes, and dependencies.
Does this mean Lemmy 0.20 is now 1.0? What prompted the change?
Lots of things, but mainly that lemmy is pretty stable, and its been a year since the last breaking changes release.
I was also kind of opposed to a
v1.0
, and wanted lemmy to be considered alpha/beta level software, because I know when we release av.1.0
, people are going to expect the same enterprise-level and bug-free software from a ~4 person dev team as they do from a multi-million dollar company. Also it gives us less freedom to make breaking changes, which can be restrictive for back-end devs.But now we can just adopt proper semver, and the next breaking changes releases can upgrade the MAJOR version.
On the other hand it gives an indication to client developers that such big breaking changes wont be a regular occurence. So they have a reason to upgrade and then keep using 1.0 long-term. I believe that practically all the needed breaking changes are already implemented, and remaining issues are mostly new feature requests which can be added as new api endpoints or parameters.
are you at a liberty to say what the feature requests you’re looking at are?
What feature requests will be implemented after 1.0? Everything that’s open on the issue tracker really, as soon as someone works on it.
And here I was thinking it would go all the way to 0.99 before getting to 1.0…
Maturity I think. New Lemmy is good enough to make the change.
Holy shit, it’s going gold!
This is epic. I really hope Laurence can find some time to make Sync for Lemmy support it.
Will the new lemmy ui be ready for 1.0?
Can’t give an ETA yet. I’ve got a few more back-end things to finish up, then @sleeplessone1917 and I will work on lemmy-ui.
Then I also gotta work on getting jerboa updated also. So much work and so few developers.
Yes we always release backend and frontend versions together.
Really looking forward to SSO support!
Oh yes!
Nice
Does this mean you renamed just the DB columns, but not the API keys?
They’re all renamed, that PR just hasn’t been deployed to voyager.lemmy.ml yet.
Ah, good to know before I start developing. Can you let me know when we can start the development as I don’t want to use the API and then discover it’s missing more PRs?
I can’t say yet, as we’re still adding things. If you’re not using lemmy-js-client, then as long as your types are generated from it’s main branch directly, then you should be fine.
I’m not using the js-client. I’m updating pythorhead so I need to make sure the API is at the final version before I can match it. And to match it I need the patches to be in so I can read the doc, and/or import the swagger.
I will do what I can in advance, but to do the pre-development you asked for, we do need the final version up somewhere.
The final api version would probably be in 1.0-beta.0, which will still take a few months. But at this time you can already start to adapt for the major changes like combined endpoints, and give feedback if anything else in the api needs changing.
The updated spec should be at https://join-lemmy.org/api/main , and it gives you an option to download the
.json
fileOr you can use the lemmy-js-client main branch, and run
pnpm tsoa
to generate aswagger.json
file.
Quick question mostly for @phiresky:
Are you targeting post tags for 1.0 or for later?Thx for the work.