Skip to content

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone

PieFed 1.6 is released - pronouns, private communities, quote posts and much more

PieFed Meta
78 25 82
  • A big thank you to those who contributed to making this release, translating, writing documentation, providing emotional support and promoting PieFed! None of this would happen without you all.

    New hotness

    • Pronouns - when you put pronouns into Extra Fields on your profile that is used as a flair in all communities where you haven't set a flair yet
    • Private communities - no federation, only certain roles (depends on the community) can invite new people. Posts inside are only visible to members.
    • Mastodon can now quote-boost PieFed posts
    • Plain http web UI (no SSL required) with SSL used during federation - see http://retro.piefed.com
    • Downvotes can be turned off completely in a community, not just instance-wide
    • Admins can sticky a post on the home page, not just mods in their communities
    • Auto-delete of replies on remote instances when reply author has been blocked by parent content author (only works in PieFed communities due to a ActivityPub limitation)
    • On home page when showing number of replies a post has, calculate the sum of the replies on all cross-posts and display that
    • New users can only do 3 posts in their first 24h, to reduce floods of posts by that guy who keeps deleting his accounts and making new ones

    More good stuff

    • Improve emoji federation compatibility
    • Change order of emoji in picker to present most-used ones first
    • Daily time limit on usage to help people use PieFed less (released in 1.5.2)
    • A way to report posts that need to be tagged as AI generated
    • Better accessibility
    • Improved handling of bold and italics in markdown parsing
    • Don't accept votes from people the author has blocked
    • Admins can resend email address verification email
    • Admins can add notes to instances to keep track of defederation reasons, etc
    • Search form has been simplified
    • Option for admins to disable the em-dash detector
    • Multiple minor bugfixes and security enhancements

    To upgrade from 1.5.x

    git pull  
    git checkout v1.6.x  
    

    At this point you might see an error message about a merge conflict with compose.yaml. To preserve your custom compose.yaml you will need to copy it somewhere else, then git checkout compose.yaml then git pull again. This time the pull will succeed so after that copy your custom compose.yaml it back, overwriting the one from git.

    Then,

    ./deploy.sh or ./deploy-docker.sh

    If you had to do the compose.yaml fix up earlier then you might want to compare what you have with https://codeberg.org/rimu/pyfedi/src/branch/main/compose.yaml and manually copy and paste some improvements in particular the command: part of the db container which tunes postgresql for performance. Adjust the numbers for your system.

    This time the database migrations will not take long.

    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.

    Donations can be made via Patreon, Liberapay or Ko-fi.

    New users can only do 3 posts in their first 24h, to reduce floods of posts by that guy who keeps deleting his accounts and making new ones

    Alts Georg is an outlier and should not be included in the average alts per users figure

    Auto-delete of replies on remote instances when reply author has been blocked by parent content author

    I don't really understand this. So if I block Timmy@instance.net and then he replies to My posts on piefed.social, piefed.social will delete his comments? But instance.net won't?

  • Yes. The intended use-case is something like a community group that runs their own instance, or an admin team coordinating among themselves. Those people are going to be on the same instance.

    This will be really useful for the soulist credit card number sharing group! /funny

  • I woul really prefer people I block to not see my stuff as if they blocked me so that they could not vote. I don't block people needlessly but if I do I sorta want them out of my federated life.

    Back when I was involved in sapphic partner abuse drama on Twitter, you could block someone but still reply to their posts, so you could put DARVO under all of their posts and they wouldn't be able to see it or respond to it or report it.

    So NO THANK YOU to being able to block someone and hide your posts from them. Abusers would abuse it so bad.

  • Odd, I can only see the pinned posts when signed in @rimu@piefed.social

    Right now we have two pinned posts, one from lemmy.ca and one from a local only piefed.ca community. Both show up nicely when signed in, neither show up when signed out

    The pinned posts still obey some of the visibility rules of any other post. So, in this case, piefed.ca has Popular as the default sort on the instance. That means that the community that is home to those posts must have the Posts can be popular box checked in the admin settings for that community:

    admin screen

    I can't confirm that this is the issue, but I was able to confirm with a dev instance that local-pinned posts do show up for anonymous users using the popular sort when that box is checked and don't when it is unchecked.

  • probably a whitelist of instances (by hostname) is the only way? each community has its own whitelist set by its mods?

    DNS is not trustworthy enough, you’ll probably need something like a public / private key pair for each server to verify each other.

  • The pinned posts still obey some of the visibility rules of any other post. So, in this case, piefed.ca has Popular as the default sort on the instance. That means that the community that is home to those posts must have the Posts can be popular box checked in the admin settings for that community:

    admin screen

    I can't confirm that this is the issue, but I was able to confirm with a dev instance that local-pinned posts do show up for anonymous users using the popular sort when that box is checked and don't when it is unchecked.

    It could be, where would I find that setting? I didn't see it in the community settings.

    I do see the "popular" column is ticked on admin/communities for those communities, but I don't see a page that has something like your screenshot

  • A big thank you to those who contributed to making this release, translating, writing documentation, providing emotional support and promoting PieFed! None of this would happen without you all.

    New hotness

    • Pronouns - when you put pronouns into Extra Fields on your profile that is used as a flair in all communities where you haven't set a flair yet
    • Private communities - no federation, only certain roles (depends on the community) can invite new people. Posts inside are only visible to members.
    • Mastodon can now quote-boost PieFed posts
    • Plain http web UI (no SSL required) with SSL used during federation - see http://retro.piefed.com
    • Downvotes can be turned off completely in a community, not just instance-wide
    • Admins can sticky a post on the home page, not just mods in their communities
    • Auto-delete of replies on remote instances when reply author has been blocked by parent content author (only works in PieFed communities due to a ActivityPub limitation)
    • On home page when showing number of replies a post has, calculate the sum of the replies on all cross-posts and display that
    • New users can only do 3 posts in their first 24h, to reduce floods of posts by that guy who keeps deleting his accounts and making new ones

    More good stuff

    • Improve emoji federation compatibility
    • Change order of emoji in picker to present most-used ones first
    • Daily time limit on usage to help people use PieFed less (released in 1.5.2)
    • A way to report posts that need to be tagged as AI generated
    • Better accessibility
    • Improved handling of bold and italics in markdown parsing
    • Don't accept votes from people the author has blocked
    • Admins can resend email address verification email
    • Admins can add notes to instances to keep track of defederation reasons, etc
    • Search form has been simplified
    • Option for admins to disable the em-dash detector
    • Multiple minor bugfixes and security enhancements

    To upgrade from 1.5.x

    git pull  
    git checkout v1.6.x  
    

    At this point you might see an error message about a merge conflict with compose.yaml. To preserve your custom compose.yaml you will need to copy it somewhere else, then git checkout compose.yaml then git pull again. This time the pull will succeed so after that copy your custom compose.yaml it back, overwriting the one from git.

    Then,

    ./deploy.sh or ./deploy-docker.sh

    If you had to do the compose.yaml fix up earlier then you might want to compare what you have with https://codeberg.org/rimu/pyfedi/src/branch/main/compose.yaml and manually copy and paste some improvements in particular the command: part of the db container which tunes postgresql for performance. Adjust the numbers for your system.

    This time the database migrations will not take long.

    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.

    Donations can be made via Patreon, Liberapay or Ko-fi.

    Thank you so much for your great work!

  • A big thank you to those who contributed to making this release, translating, writing documentation, providing emotional support and promoting PieFed! None of this would happen without you all.

    New hotness

    • Pronouns - when you put pronouns into Extra Fields on your profile that is used as a flair in all communities where you haven't set a flair yet
    • Private communities - no federation, only certain roles (depends on the community) can invite new people. Posts inside are only visible to members.
    • Mastodon can now quote-boost PieFed posts
    • Plain http web UI (no SSL required) with SSL used during federation - see http://retro.piefed.com
    • Downvotes can be turned off completely in a community, not just instance-wide
    • Admins can sticky a post on the home page, not just mods in their communities
    • Auto-delete of replies on remote instances when reply author has been blocked by parent content author (only works in PieFed communities due to a ActivityPub limitation)
    • On home page when showing number of replies a post has, calculate the sum of the replies on all cross-posts and display that
    • New users can only do 3 posts in their first 24h, to reduce floods of posts by that guy who keeps deleting his accounts and making new ones

    More good stuff

    • Improve emoji federation compatibility
    • Change order of emoji in picker to present most-used ones first
    • Daily time limit on usage to help people use PieFed less (released in 1.5.2)
    • A way to report posts that need to be tagged as AI generated
    • Better accessibility
    • Improved handling of bold and italics in markdown parsing
    • Don't accept votes from people the author has blocked
    • Admins can resend email address verification email
    • Admins can add notes to instances to keep track of defederation reasons, etc
    • Search form has been simplified
    • Option for admins to disable the em-dash detector
    • Multiple minor bugfixes and security enhancements

    To upgrade from 1.5.x

    git pull  
    git checkout v1.6.x  
    

    At this point you might see an error message about a merge conflict with compose.yaml. To preserve your custom compose.yaml you will need to copy it somewhere else, then git checkout compose.yaml then git pull again. This time the pull will succeed so after that copy your custom compose.yaml it back, overwriting the one from git.

    Then,

    ./deploy.sh or ./deploy-docker.sh

    If you had to do the compose.yaml fix up earlier then you might want to compare what you have with https://codeberg.org/rimu/pyfedi/src/branch/main/compose.yaml and manually copy and paste some improvements in particular the command: part of the db container which tunes postgresql for performance. Adjust the numbers for your system.

    This time the database migrations will not take long.

    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.

    Donations can be made via Patreon, Liberapay or Ko-fi.

    I don't understand what the purpose of the plain http is, can anybody explain to me please?

  • New users can only do 3 posts in their first 24h, to reduce floods of posts by that guy who keeps deleting his accounts and making new ones

    Alts Georg is an outlier and should not be included in the average alts per users figure

    Auto-delete of replies on remote instances when reply author has been blocked by parent content author

    I don't really understand this. So if I block Timmy@instance.net and then he replies to My posts on piefed.social, piefed.social will delete his comments? But instance.net won't?

    I don’t really understand this. So if I block Timmy@instance.net and then he replies to My posts on piefed.social, piefed.social will delete his comments? But instance.net won’t?

    No. It means future comments by the blocked user would be deleted. This only matters when coming from Lemmy instances as on Piefed, a user being blocked disables that user from responding.

  • A big thank you to those who contributed to making this release, translating, writing documentation, providing emotional support and promoting PieFed! None of this would happen without you all.

    New hotness

    • Pronouns - when you put pronouns into Extra Fields on your profile that is used as a flair in all communities where you haven't set a flair yet
    • Private communities - no federation, only certain roles (depends on the community) can invite new people. Posts inside are only visible to members.
    • Mastodon can now quote-boost PieFed posts
    • Plain http web UI (no SSL required) with SSL used during federation - see http://retro.piefed.com
    • Downvotes can be turned off completely in a community, not just instance-wide
    • Admins can sticky a post on the home page, not just mods in their communities
    • Auto-delete of replies on remote instances when reply author has been blocked by parent content author (only works in PieFed communities due to a ActivityPub limitation)
    • On home page when showing number of replies a post has, calculate the sum of the replies on all cross-posts and display that
    • New users can only do 3 posts in their first 24h, to reduce floods of posts by that guy who keeps deleting his accounts and making new ones

    More good stuff

    • Improve emoji federation compatibility
    • Change order of emoji in picker to present most-used ones first
    • Daily time limit on usage to help people use PieFed less (released in 1.5.2)
    • A way to report posts that need to be tagged as AI generated
    • Better accessibility
    • Improved handling of bold and italics in markdown parsing
    • Don't accept votes from people the author has blocked
    • Admins can resend email address verification email
    • Admins can add notes to instances to keep track of defederation reasons, etc
    • Search form has been simplified
    • Option for admins to disable the em-dash detector
    • Multiple minor bugfixes and security enhancements

    To upgrade from 1.5.x

    git pull  
    git checkout v1.6.x  
    

    At this point you might see an error message about a merge conflict with compose.yaml. To preserve your custom compose.yaml you will need to copy it somewhere else, then git checkout compose.yaml then git pull again. This time the pull will succeed so after that copy your custom compose.yaml it back, overwriting the one from git.

    Then,

    ./deploy.sh or ./deploy-docker.sh

    If you had to do the compose.yaml fix up earlier then you might want to compare what you have with https://codeberg.org/rimu/pyfedi/src/branch/main/compose.yaml and manually copy and paste some improvements in particular the command: part of the db container which tunes postgresql for performance. Adjust the numbers for your system.

    This time the database migrations will not take long.

    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.

    Donations can be made via Patreon, Liberapay or Ko-fi.

    I don't know how you do, so much so often. Thank you for everything Rimu and other PieFed dev's who names I haven't memorised!

  • I don’t really understand this. So if I block Timmy@instance.net and then he replies to My posts on piefed.social, piefed.social will delete his comments? But instance.net won’t?

    No. It means future comments by the blocked user would be deleted. This only matters when coming from Lemmy instances as on Piefed, a user being blocked disables that user from responding.

    I still don't understand

  • I still don't understand

    It means that if you were to block a user replying to you from a Lemmy instance, any further replies they make to you in any thread would be automatically thrown out by Piefed.

  • It means that if you were to block a user replying to you from a Lemmy instance, any further replies they make to you in any thread would be automatically thrown out by Piefed.

    @skavau@piefed.social said in PieFed 1.6 is released - pronouns, private communities, quote posts and much more:
    > any further replies they make to you in any thread would be automatically thrown out by Piefed.

    Padme: "for just you, right?"

    Anakin:

  • It means that if you were to block a user replying to you from a Lemmy instance, any further replies they make to you in any thread would be automatically thrown out by Piefed.

    Oh, so if Timmy is a Lemmy user and blocks Me, and I reply to Timmy's posts on piefed.social, piefed.social deletes My comments?

  • Oh, so if Timmy is a Lemmy user and blocks Me, and I reply to Timmy's posts on piefed.social, piefed.social deletes My comments?

    Yes, and for other piefed instances. It is due to underlying differences in how rimu interprets how blocking should work vs. Lemmy

  • Yes. The intended use-case is something like a community group that runs their own instance, or an admin team coordinating among themselves. Those people are going to be on the same instance.

    At least in our case we're divided about 50/50 between Lemmy and PieFed. I could force people to PieFed by deleting Lemmy, but that wouldn't be nice 😀

    Private federation would be incredible but I've already heard you say it would be a large amount of work, so I'm not holding my breath!

  • Yes, and for other piefed instances. It is due to underlying differences in how rimu interprets how blocking should work vs. Lemmy

    That's awesome! That means Piefed users can't follow a person around putting the same reply under all their posts. I wrote about that problem on My blog!

  • Back when I was involved in sapphic partner abuse drama on Twitter, you could block someone but still reply to their posts, so you could put DARVO under all of their posts and they wouldn't be able to see it or respond to it or report it.

    So NO THANK YOU to being able to block someone and hide your posts from them. Abusers would abuse it so bad.

    I don't have enough background to understand what putting darvo would mean under posts but since its reportable I would assume its bad. I don't see how they could do this though because by blocking someone they would not be able to see their post or replies to put a reply under.

  • I don't have enough background to understand what putting darvo would mean under posts but since its reportable I would assume its bad. I don't see how they could do this though because by blocking someone they would not be able to see their post or replies to put a reply under.

    DARVO stands for Deny, Attack, Reverse/Redirect Victim and Offender.

    For example let's say your newest kitten isn't turning out to be as pliable as you'd hoped, and they're getting close to realising that your treatment of them has been less than consensual. If they tell the community, you're in trouble. But if you simply lie to everyone and say they pressured you into sex, and tell everyone not to listen to their side of the story, your reputation is safe and you'll get lots of sympathy. First to speak is usually believed. And if kitten tries to tell the truth, you can simply accuse them of DARVO. The sapphic community doesn't tend to verify claims of abuse in any way, so this stuff is rampant.

    And on Twitter, there's a button you can press to view posts by someone you blocked. It won't show up in your feed, but you can go to their profile. If they haven't blocked you, you can spray your DARVO all over the place and they won't even notice.

    I don't know if they patched that out since then, but it doesn't matter. You can unblock someone for five minutes, say your harassment, and then block them again. The only technical solution is to put time limits on reblocking someone after your unblock them. But a lot of people don't wanna do that, and I understand why.

  • A big thank you to those who contributed to making this release, translating, writing documentation, providing emotional support and promoting PieFed! None of this would happen without you all.

    New hotness

    • Pronouns - when you put pronouns into Extra Fields on your profile that is used as a flair in all communities where you haven't set a flair yet
    • Private communities - no federation, only certain roles (depends on the community) can invite new people. Posts inside are only visible to members.
    • Mastodon can now quote-boost PieFed posts
    • Plain http web UI (no SSL required) with SSL used during federation - see http://retro.piefed.com
    • Downvotes can be turned off completely in a community, not just instance-wide
    • Admins can sticky a post on the home page, not just mods in their communities
    • Auto-delete of replies on remote instances when reply author has been blocked by parent content author (only works in PieFed communities due to a ActivityPub limitation)
    • On home page when showing number of replies a post has, calculate the sum of the replies on all cross-posts and display that
    • New users can only do 3 posts in their first 24h, to reduce floods of posts by that guy who keeps deleting his accounts and making new ones

    More good stuff

    • Improve emoji federation compatibility
    • Change order of emoji in picker to present most-used ones first
    • Daily time limit on usage to help people use PieFed less (released in 1.5.2)
    • A way to report posts that need to be tagged as AI generated
    • Better accessibility
    • Improved handling of bold and italics in markdown parsing
    • Don't accept votes from people the author has blocked
    • Admins can resend email address verification email
    • Admins can add notes to instances to keep track of defederation reasons, etc
    • Search form has been simplified
    • Option for admins to disable the em-dash detector
    • Multiple minor bugfixes and security enhancements

    To upgrade from 1.5.x

    git pull  
    git checkout v1.6.x  
    

    At this point you might see an error message about a merge conflict with compose.yaml. To preserve your custom compose.yaml you will need to copy it somewhere else, then git checkout compose.yaml then git pull again. This time the pull will succeed so after that copy your custom compose.yaml it back, overwriting the one from git.

    Then,

    ./deploy.sh or ./deploy-docker.sh

    If you had to do the compose.yaml fix up earlier then you might want to compare what you have with https://codeberg.org/rimu/pyfedi/src/branch/main/compose.yaml and manually copy and paste some improvements in particular the command: part of the db container which tunes postgresql for performance. Adjust the numbers for your system.

    This time the database migrations will not take long.

    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.

    Donations can be made via Patreon, Liberapay or Ko-fi.

    Fuck me, I've been on Piefed for literally 5 minutes and let me tell you, it's so relieving knowing that I can write (this comment included) without being traced right down to the marrow in my bones. Coming next month I'll start to donate, excellent work, guys


Gli ultimi otto messaggi ricevuti dalla Federazione
Post suggeriti
  • 0 Votes
    2 Posts
    15 Views
    @badgefed @badgefed@vocalcat.com This is OpenBadges-based, I presume? Are you considering like annotating fedi identities into badge credentials?
  • 0 Votes
    28 Posts
    80 Views
    @roblen @hiker @juergen das hoffe ich auch 😊 danke dir ❤️
  • 0 Votes
    3 Posts
    16 Views
    @kinetix @box464 @stegodon wow, interesting, pleroma's bbs branch seems to be abandoned though..
  • 0 Votes
    1 Posts
    8 Views
    Fedify 1.10.0: Observability foundations for the future debug dashboard Fedify is a #TypeScript framework for building #ActivityPub servers that participate in the #fediverse. It reduces the complexity and boilerplate typically required for ActivityPub implementation while providing comprehensive federation capabilities. We're excited to announce #Fedify 1.10.0, a focused release that lays critical groundwork for future debugging and observability features. Released on December 24, 2025, this version introduces infrastructure improvements that will enable the upcoming debug dashboard while maintaining full backward compatibility with existing Fedify applications. This release represents a transitional step toward Fedify 2.0.0, introducing optional capabilities that will become standard in the next major version. The changes focus on enabling richer observability through OpenTelemetry enhancements and adding prefix scanning capabilities to the key–value store interface. Enhanced OpenTelemetry instrumentation Fedify 1.10.0 significantly expands OpenTelemetry instrumentation with span events that capture detailed ActivityPub data. These enhancements enable richer observability and debugging capabilities without relying solely on span attributes, which are limited to primitive values. The new span events provide complete activity payloads and verification status, making it possible to build comprehensive debugging tools that show the full context of federation operations: activitypub.activity.received event on activitypub.inbox span — records the full activity JSON, verification status (activity verified, HTTP signatures verified, Linked Data signatures verified), and actor information activitypub.activity.sent event on activitypub.send_activity span — records the full activity JSON and target inbox URL activitypub.object.fetched event on activitypub.lookup_object span — records the fetched object's type and complete JSON-LD representation Additionally, Fedify now instruments previously uncovered operations: activitypub.fetch_document span for document loader operations, tracking URL fetching, HTTP redirects, and final document URLs activitypub.verify_key_ownership span for cryptographic key ownership verification, recording actor ID, key ID, verification result, and the verification method used These instrumentation improvements emerged from work on issue #234 (Real-time ActivityPub debug dashboard). Rather than introducing a custom observer interface as originally proposed in #323, we leveraged Fedify's existing OpenTelemetry infrastructure to capture rich federation data through span events. This approach provides a standards-based foundation that's composable with existing observability tools like Jaeger, Zipkin, and Grafana Tempo. Distributed trace storage with FedifySpanExporter Building on the enhanced instrumentation, Fedify 1.10.0 introduces FedifySpanExporter, a new OpenTelemetry SpanExporter that persists ActivityPub activity traces to a KvStore. This enables distributed tracing support across multiple nodes in a Fedify deployment, which is essential for building debug dashboards that can show complete request flows across web servers and background workers. The new @fedify/fedify/otel module provides the following types and interfaces: import { MemoryKvStore } from "@fedify/fedify"; import { FedifySpanExporter } from "@fedify/fedify/otel"; import { BasicTracerProvider, SimpleSpanProcessor, } from "@opentelemetry/sdk-trace-base"; const kv = new MemoryKvStore(); const exporter = new FedifySpanExporter(kv, { ttl: Temporal.Duration.from({ hours: 1 }), }); const provider = new BasicTracerProvider(); provider.addSpanProcessor(new SimpleSpanProcessor(exporter)); The stored traces can be queried for display in debugging interfaces: // Get all activities for a specific trace const activities = await exporter.getActivitiesByTraceId(traceId); // Get recent traces with summary information const recentTraces = await exporter.getRecentTraces({ limit: 100 }); The exporter supports two storage strategies depending on the KvStore capabilities. When the list() method is available (preferred), it stores individual records with keys like [prefix, traceId, spanId]. When only cas() is available, it uses compare-and-swap operations to append records to arrays stored per trace. This infrastructure provides the foundation for implementing a comprehensive debug dashboard as a custom SpanExporter, as outlined in the updated implementation plan for issue #234. Optional list() method for KvStore interface Fedify 1.10.0 adds an optional list() method to the KvStore interface for enumerating entries by key prefix. This method enables efficient prefix scanning, which is useful for implementing features like distributed trace storage, cache invalidation by prefix, and listing related entries. interface KvStore { // ... existing methods list?(prefix?: KvKey): AsyncIterable<KvStoreListEntry>; } When the prefix parameter is omitted or empty, list() returns all entries in the store. This is useful for debugging and administrative purposes. All official KvStore implementations have been updated to support this method: MemoryKvStore — filters in-memory keys by prefix SqliteKvStore — uses LIKE query with JSON key pattern PostgresKvStore — uses array slice comparison RedisKvStore — uses SCAN with pattern matching and key deserialization DenoKvStore — delegates to Deno KV's built-in list() API WorkersKvStore — uses Cloudflare Workers KV list() with JSON key prefix pattern While list() is currently optional to give existing custom KvStore implementations time to add support, it will become a required method in Fedify 2.0.0 (tracked in issue #499). This migration path allows implementers to gradually adopt the new capability throughout the 1.x release cycle. The addition of list() support was implemented in pull request #500, which also included the setup of proper testing infrastructure for WorkersKvStore using Vitest with @cloudflare/vitest-pool-workers. NestJS 11 and Express 5 support Thanks to a contribution from Cho Hasang (@crohasang@hackers.pub), the @fedify/nestjs package now supports NestJS 11 environments that use Express 5. The peer dependency range for Express has been widened to ^4.0.0 || ^5.0.0, eliminating peer dependency conflicts in modern NestJS projects while maintaining backward compatibility with Express 4. This change, implemented in pull request #493, keeps the workspace catalog pinned to Express 4 for internal development and test stability while allowing Express 5 in consuming applications. What's next Fedify 1.10.0 serves as a stepping stone toward the upcoming 2.0.0 release. The optional list() method introduced in this version will become required in 2.0.0, simplifying the interface contract and allowing Fedify internals to rely on prefix scanning being universally available. The enhanced #OpenTelemetry instrumentation and FedifySpanExporter provide the foundation for implementing the debug dashboard proposed in issue #234. The next steps include building the web dashboard UI with real-time activity lists, filtering, and JSON inspection capabilities—all as a separate package that leverages the standards-based observability infrastructure introduced in this release. Depending on the development timeline and feature priorities, there may be additional 1.x releases before the 2.0.0 migration. For developers building custom KvStore implementations, now is the time to add list() support to prepare for the eventual 2.0.0 upgrade. The implementation patterns used in the official backends provide clear guidance for various storage strategies. Acknowledgments Special thanks to Cho Hasang (@crohasang@hackers.pub) for the NestJS 11 compatibility improvements, and to all community members who provided feedback and testing for the new observability features. For the complete list of changes, bug fixes, and improvements, please refer to the CHANGES.md file in the repository. #fedidev #release