Lemmy Release v0.8.0 - Federation beta!
Written by @dessalines and @nutomic, 2020-10-20
Changes
We’ve been working at warp speed since our v0.7.0
release in June, adding over 870 commits since then. :sweat:
Here are some of the bigger changes:
LemmyNet projects
- Created LemmyNet, where all lemmy-related projects live.
- Split out the frontend into a separete repository, lemmy-ui
- Created a lemmy-js-client, for any js / typescript developers.
- Split out i18n lemmy-translations, that any app or site developers can import and use. Lemmy currently supports ~30 languages!
Lemmy Server
Federation
- The first federation public beta release, woohoo :fireworks:
- All Lemmy functionality now works over ActivityPub (except turning remote users into mods/admins)
- Instance allowlist and blocklist
- Documentation for admins and devs on how federation works
- Upgraded to newest versions of @asonix activitypub libraries
- Full local federation setup for manual testing
- Automated testing for nearly every federation action
- Many additional security checks
- Lots and lots of refactoring
- Asynchronous sending of outgoing activities
User Interface
- Separated the UI from the server code, in lemmy-ui.
- The UI can now read with javascript disabled!
- It’s now a fully isomorphic application using inferno-isomorphic. This means that page loads are now much faster, as the server does the work.
- The UI now also supports open-graph and twitter cards! Linking to lemmy posts (from whatever platform you use) looks pretty now:
- Improved the search page ( more features incoming ).
- The default view is now
Local
, instead ofAll
, since all would show all federated posts. - User settings are now shared across browsers ( a page refresh will pick up changes ).
- A much leaner mobile view.
Backend
- Re-organized the rust codebase into separate workspaces for backend and frontend.
- Removed materialized views, making the database a lot faster.
- New post sorts
Active
(previously called hot), andHot
. Active shows posts with recent comments, hot shows highly ranked posts. - New sort for
Local
( meaning from local communities). - Customizeable site, user, and community icons and banners.
- Added user preferred names / display names, bios, and cakedays.
- Visual / Audio captchas through the lemmy API.
- Lots of API field verifications.
- Upgraded to pictrs-v2 ( thanks to @asonix )
- Wayyy too many bugfixes to count.
Contributors
We’d also like to thank both the NLnet foundation for their support in allowing us to work full-time on Lemmy ( as well as their support for other important open-source projects ), those who sponsor us, and those who help translate Lemmy. Every little bit does help. We remain committed to never allowing advertisements, monetizing, or venture-capital in Lemmy; software should be communal, and should benefit humanity, not a small group of company owners.
Upgrading
Testing Federation
Federation is finally ready in Lemmy, pending possible bugs or other issues. So for now we suggest to enable federation only on test servers, or try it on our own test servers ( enterprise, ds9, voyager ).
If everything goes well, after a few weeks we will enable federation on dev.lemmy.ml, at first with a limited number of trusted instances. We will also likely change the domain to https://lemmy.ml . Keep in mind that changing domains after turning on federation will break things.
To enable on your instance, edit your lemmy.hjson federation section to enabled: true
, and restart.
Connecting to another server
The server https://ds9.lemmy.ml has open federation, so after either adding it to the allowed_instances
list in your config.hjson
, or if you have open federation, you don’t need to add it explicitly.
To federate / connect with a server, type in !community_name@server.tld
, in your server’s search box like so.
To connect with the main
community on ds9, the search is !main@ds9.lemmy.ml
.
You can then click the community, and you will see a local version of the community, which you can subscribe to. New posts and comments from !main@ds9.lemmy.ml
will now show up on your front page, or /c/All