This is our biggest release yet, including more finished tasks than any of our previous ones. Below is a summary of the highlights:
What’s new
Posts & communities can be labelled as AI-generated and people can choose to hide all posts tagged that way. Very similar to how NSFW works.
Comments can be marked as an Answer, like on StackOverflow.
React to posts and comments with an emoji.
Hide an individual post from yourself, without blocking the author.
PieFed is now in the Yunohost app store, making initial setup easier.
When banned from a remote instance you cannot make local-only posts in their communities.
Honeypot to automatically IP ban badly-behaved crawlers.
https://lemmy-federate.com/ integration, making PieFed communities get more exposure.
“Share on Mastodon” menu item on posts.
Vastly improve docs for new developers, see https://codeberg.org/rimu/pyfedi/src/branch/main/docs/developer_docs.
Language selection is more visible during post creation.
Tag clouds can also be viewed as a list of tags.
View post/comment markdown.
Bot accounts are not included in community statistics.
Footnote support in markdown.
Polish translation.
Better HTTP caching, which reduces dependence on Cloudflare.
Bugs
Passkey fixes.
Polls can now have up to 15 options.
User profile performance improved.
Don’t allow bypassing minimum username length and post title with whitespace.
Polls and Events can no longer be posted into Lemmy communities.
API
Additional user settings can be set through the api, including Extra Fields.
Fetch url metadata.
Sort comments by controversial.
Comment search now works.
Hashtags.
Events.
Polls.
Emoji reactions on posts and comments.
See https://piefed.social/c/piefed_api for more details.
To upgrade
To upgrade from 1.3.x:
git pull
git checkout v1.4.x
./deploy.sh or ./deploy-docker.sh
There is a big database migration that will take a few minutes to run. How long will vary depending on how old your instance is - older instances will have more content to process. It took ~25 minutes on piefed.social so expect it to be less than that.
Donations
PieFed is free and open-source software while operating without any advertising, monetization, or reliance on venture capital. Your donations are vital in supporting the PieFed development effort, allowing us to expand and enhance PieFed with new features.
It’s this kind of thinig that makes me think of PieFed as just a pile of hacks with no serious consideration for the Fediverse
Designating which comment is an answer involves federating a new Activity:
{ "id": "https://piefed.social/activities/answer/hgb4iO4b8UAFRTn", "type": "ChooseAnswer", "actor": "https://piefed.socialz/u/rimu", "object": "https://piefed.ngrok.app/comment/224", "@context": ["https://www.w3.org/ns/activitystreams", "https://w3id.org/security/v1"], "audience": "https://crust.piefed.social/c/linux_questions", "to": ["https://www.w3.org/ns/activitystreams#Public"], "cc": ["https://crust.piefed.social/c/linux_questions"] }There are at least three different ways to implement this in a way compatible with ActivityPub:
- Send an “as:accept” activity with the comment as the object.
- Add an attribute for the comment indicating that it has been selected.
- Create a collection for chosen answers, add to the post object.
And even if this type of new activity was a necessity, they could add their own extensions via a proper JSON-LD context definition. But they completely disregard JSON-LD, which means that they expect other servers to either (1) adopt their ad-hoc vocabulary or (2) ignore it completely and keep this idea that “Only PieFed has these features”.
Feel free to open a PR: https://codeberg.org/rimu/pyfedi
This is not a matter of “opening a PR”. The fact that they are adding features in this completely ad-hoc manner shows that they are prioritizing features for piefed over interoperability with the wider Fediverse. If my job was to go around convincing every AP developer that their approach is flawed and to fix their mistakes, I’d be doing nothing else with my life.
What I can do though is to create a framework that makes it easy to work with JSON-LD and occasionally file bug reports.
An aside: this “feel free to open a PR” - without any justification or discussion about the merit of issue at hand - is the standard passive-aggressive response from every developer who is not interested in making the change. It’s sad to see that it’s also becoming the go-to retort for the project cheerleaders…
How is creating a new Activity type preventing compatibility with the rest of the Fediverse? Is there any other Fediverse platform that has a similar feature that Piefed could have been replicated?
When you’re the first one doing something with ActivityPub, you have to create it yourself. This is not perfect, and you raise valid points, hence my suggestion to engage on the Codeberg.
On the other hand, for other Piefed features inspired by existing implementations such as the emoji reactions, the feature is compatible with those platforms which already supported the feature.
Regarding your last paragraph, picking the one feature for which the implementation can be improved and saying “It’s this kind of thinig that makes me think of PieFed as just a pile of hacks with no serious consideration for the Fediverse” while it’s clearly not true seems fully aggressive.
Because there is no real need for Piefed to create their own activity type besides it being slightly easier for their devs to do everything exactly the way they want.
But this is very detrimental to the fediverse because it means that everyone would have to change their software to suit the needs of Piefed.
This could be warranted if there was no way to do it with existing protocols. But as the other user stated above there is no real need for the way they are doing it. It is very hacky and prevents the rest of the fediverse from viewing this Piefed specific content unless they implement this unnecessary message type.

How is creating a new Activity type preventing compatibility with the rest of the Fediverse?
If they chose to use any of the 3 solutions I described, there would be no changes on the other servers to receive and parse the message. But because it uses a different type, now those serves that want to store the information about an answer being accepted have to write code specifically to handle messages from PieFed.
It also works in the other direction: if I want to send an “accept” activity for a comment, I could do it from my server and PieFed could easily understand it as well. But because they want to create their own ad-hoc solution, then they won’t be able to.
When you’re the first one doing something with ActivityPub, you have to create it yourself.
No, you don’t. The whole point of Linked Data and RDF is that nodes can send data to each other without having to agree on any new protocol
Piefed features inspired by existing implementations such as the emoji reactions
You are only making my point. Emojis have already a defined extension, this is why it’s easier to adopt it.
picking the one feature
It’s not just that. They also proposed some ad-hoc activities for moderation in the past and their “import community” works by taking posts and rewriting them as if they originated in the piefed instance. These are all signs that the devs either don’t understand or don’t care about JSON-LD as an standard.
This is just my personal opinion, so feel free to disregard.
But I feel you raise some decent points. But you‘re commenting them in such an adversarial manner that it makes it unlikely the piefed devs will take you seriously.
What ad hoc activities?
And community migration being fully realised has massive fediverse support.
‘ChooseAnswer’ is not an object type defined by activitystreams, and the json-ld context provided by PieFed server has no extension referring to it.
This means that any server ingests messages to an inbox using RDF will see this document and think “this is invalid” and drop it. If it sent as:accept instead, it would work without any modification.
Re: community migration, there is at least one other person besides me that said “when I post something to one community, and PieFed says that I also said that on another place when I didn’t, then the server is fabricating Information”.
To illustrate the point: if suddenly we adopted JSON-LD signatures as a message authentication system, then all messages from imported communities would fail.
Yes, there are some people against it. But the majority of the fediverse support the idea of modular communities.
No more time for this today.
Merry Christmas everyone.
There are people whose concerns it is worth listening to. I’m sure they will show up eventually.
Happy holidays!
“feel free to open a PR” - without any justification or discussion about the merit of issue at hand - is the standard passive-aggressive response from every developer who is not interested in making the change.
Man, the entitlement. Especially coming from the only person I know of who is here with the explicit goal of monetizing the platform.
There’s a way of voicing concerns and criticisms in a way that is constructive, helpful, and in good faith, inviting to an open discussion with concerned parties. Yours is not that.
Believing that the we need professional hosting providers to have a sustainable Fediverse != “Monetizing the platform”.
Besides, I’ve already voiced similar concerns through different venues. The devs made it clear they are not interested in developing software with a focus on standards compliance. They care about throwing as many features as possible to their system.
It’s fine, it’s their project, they can do whatever they want. It doesn’t mean that I don’t have the right to have an opinion about it.
So many features!
Comments can be marked as an Answer, like on StackOverflow.
Was anything changed about how this federates? If no, what protections are in place against someone just patching their instance software to always return an
"answer": trueonNotes?That won’t have any effect unless the author of the Note is the same as the author of the original post. You’re welcome to try it.
The json structure used during federation does not limit the kind of access control checks we can do.
I don’t think so, but I wasn’t working on it. Tagging @rimu@piefed.social for awareness.
To do this, they would need to be an admin running a modified version of the software no? If that was really happening with any kind of regularity, it would surely be grounds for defederation.
In any case, if this were to become an issue, then I am sure we can change it. We have already had to change how community flair federates a few times to try to keep up with lemmy’s PRs on the feature to try to make sure it is compatible.
I can’t wait for my instance to update, this all sounds great!
How I imagine everyone dresses on Lenny.ml

I use Piefed on Voyager, they don’t really support any of the major features of Piefed.
I still use the mobile WebUI mostly.
Piefed is an entirely different software. You would have to sign up to a piefed instance.
These also mostly look like things that Voyager would also need to add support for on their side as well. Voyager definitely supports signing into a PieFed account, browsing, commenting, and other basic features, but not all PieFed features currently work.
Is it me or does PieFed sound like a horse’s piaffe?
Removed by mod
So how is Rimu a cryptofash?
Oh no, a .ml’r accusing something of being “anti communist” when they take a stance against authoritarianism, how shocking lmao
Oh look the anti-commie software made by the fediverse’s #1 cryptofash got updated
Oh look, a lemmy.ml user screeching.
It must suck ass to enter every conversation with that credibility-shredding username.ml kicking you square in the groin the instant you pipe up.
Not our fault that .worlders have been programmed like Pavlovian dogs to have an emotional melt down everytime they see “.ml”. You people literary cannot help but robotically post the exact the same thing everytime. It’s apparently a compulsion
Not our fault that .worlders have been programmed like Pavlovian dogs to have an emotional melt down everytime they see “.ml”.
You are not skilled at assessing mood and tone. If you were, you’d recognize the delight in my responses. I saw the stupid comment, saw username.ml, and thought to myself:
Oh this is gonna be fun!
So thank you for your contribution to my enjoyment. If you still can’t quite discern my mood, think of a cat that’s playing with a mouse that’s already injured.
You people literary cannot help but robotically post the exact the same thing everytime.
See my above comment on the joy I’m experiencing.
It’s apparently a compulsion
You got me there. When I see something stupid posted, I enjoy heaping ridicule on the fool who posts it.
In the specific case of bitch-slapping lemmy.ml users, there’s a discernible boost in pleasure.
Removed by mod
Ha yeahh screeching trying to correct empire propaganda, brainwashing and numerous other walls to getting communism off the ground. O just another zionist lib .world user anyways, so its pointless
I want you to be honest:
Did your response sound very clever to you as you composed it? Subjectively, do you feel you’ve made a good account of yourself,or your cause?
Lemmy.ml is to communism as is PETA is to veganism: your function appears to be to get people to really hate communism.
You may not grasp terms like marketing, but the truth of the matter is that you’re fucking terrible for the brand.
>reddit.world acting like they have any credibility
There is zero special about me being on lemmy.world.
Sure there is! You’re all Redditeurs. When I see Reddit.world I can guess a lot about what you believe about current events. I understand why you believe it, I used to believe most of the same stuff, but you’re only credible among people like yourself. You aren’t credible to anyone on your left, and you aren’t credible to anyone on your right. You’re credible in your echo chamber.
Sure there is! You’re all Redditeurs. When I see Reddit.world I can guess a lot about what you believe about current events. I understand why you believe it, I used to believe most of the same stuff, but you’re only credible among people like yourself. You aren’t credible to anyone on your left, and you aren’t credible to anyone on your right. You’re credible in your echo chamber.
False.
Tankie bullshit collapses under its own weight.
If you’re looking to generate a sense of momentum for your ideas, you need to comment exclusively on lemmy.ml
Over there, the moderators will protect you from having your fee-fees hurt by removing comments that don’t fit your world view.
You know, like an echo chamber.
And over here the moderators might ban you even if you don’t break any rules, simply because your politics don’t align. That’s how I got banned from c/politics on .world - my luck ran out, they stopped putting up with me for criticizing Democrats and the people who vote for Democrats. That won’t ever be a problem for you on .world
I have never have any problems in .ml because their politics align with mine. You never have any problems in .world because their politics align with yours. It’s that simple. Every instance has elements of being an echo chamber, because ultimately, the internet is for fun and not actually a place for serious discussion or conflict.
Sometimes I do need to recharge in a place where I can discuss politics without being forced to fight over very fundamental assumptions about how the world works i.e. where my credibility isn’t inherently suspect. Other times I want to engage with people who disagree with me, which is why I’m still in an instance that is federated with yours and I don’t only post inside my own instance. I sometimes want my credibility challenged. It’s fun.
I have never have any problems in .ml because their politics align with mine.
False.
You go there because the moderators actively remove factual information and criticism.
The simple fact that Josheph Stalin is looked upon fondly on lemmy.ml, and by tankies in general,
Destroys credibility like a fucking slegehammer
When i say that I am repulsed by this, I mean it in precisely the same way I that I hate Hitler apologists.
You never have any problems in .world because their politics align with yours. It’s that simple.
False.
I have had comments removed on lemmy.world, pertaining to heated political discussion.
There is no commonality here, and no bridge to build. I do not cooperate with Stalin ball-garglers.
I love this thread. It’s like a quick list for who to block.
Removed by mod
If it sucks so bad why are you on a .world comm? I think ml sucks so I stay away from it. See how easy that is?
Because I like to argue. I might abandon this account and just join an instance that’s defederated from .world eventually, but for now I enjoy engaging with liberals on their own terrain and forcing them to confront ideas outside of liberal Orthodoxy.
Because I like to argue.
Say no more, I get in the mood from time to time myself.
In case you don’t already know, you can also perform a personal instance block in your profile. Fair play if you want a new account, but figured I’d call out that option out there for you as well.
lol what
Removed by mod
I guess being a transphobe is praxis?
I mean the Lemmy devs are objectively assholes. You don’t gotta be anti-communist to recognize that.
But if there’s more to this story than just vibes I’d be interested to read about it. Did they make some statement or where did you hear this? Because I’ve never heard anything about this.
It was revealed to him in a dream.
As a contributor to PieFed (by my count, 7 of those bullet points in rimu’s post were done by me)…there is not more to this story as this is just some rando’s perceived grievances. If there was such animosity with the lemmy devs, why would piefed.social remain federated with lemmy.ml? There are definitely ideological differences between the devs of the two platforms, but the working relationship has been cordial and I truly believe everybody involved is aligned in the goal of promoting federated alternatives to corporate social media.
And where did you gather any of this? You think Rimu’s sole and only motivation for Piefed is that and nothing else?
fediverse’s #1 cryptofash
What’s a cryptofash?
A Cryptofascist is a fascist that is hiding the fact that they’re a fascist. Definitely a thing that happens, generally in order to slowly win people over to their line of fascist thinking before they feel comfortable taking off their mask. Other times they just do it to sealion or other types of bad faith bullshit.
In this context it’s just a way for tankies to accuse people they’re mad at of being nazis without any credible evidence. They’re just pissy that piefed is off doing its own thing and undermining the work of the transphobic authcom Lemmy devs.
it’s just a way for tankies to accuse people they’re mad at of being nazis without any credible evidence.
The irony.
Lol


















