Fedify 1.8.1 #354
Pinned
dahlia
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
We're thrilled to announce Fedify 1.8.1, a mega release made possible through the incredible efforts of contributors from South Korea's OSSCA (Open Source Contribution Academy). This release marks a significant milestone in Fedify's development, bringing major architectural changes, new packages, and numerous enhancements across the board.
Note
Version 1.8.0 was skipped due to a versioning error.
🎉 Major Milestone: Monorepo Architecture
Fedify has been restructured as a monorepo, consolidating all packages into a single repository with unified versioning. This change streamlines development and ensures all packages are released together with consistent version numbers.
Consolidated Packages
All existing Fedify packages now live under one roof:
🆕 New Packages
This release introduces four new packages to the Fedify ecosystem:
Federation
andContext
classes@fedify/fedify
Custom Collection Dispatchers
A powerful new feature that allows you to create custom collections beyond the standard ActivityPub collections. This enables implementation of domain-specific collections while maintaining federation compatibility.
Contributors: ChanHaeng Lee [#310, #332]
Federatable
interface:setCollectionDispatcher()
andsetOrderedCollectionDispatcher()
getCollectionUri()
method to theContext
interfaceCompare-and-Swap (CAS) Support for KV Stores
Key–value stores now optionally support CAS operations for atomic updates, enabling optimistic locking and preventing lost updates in concurrent environments.
KvStore.cas()
methodMemoryKvStore
andDenoKvStore
Fediverse Handle Utilities
New utility functions make working with fediverse handles more convenient.
Contributors: ChanHaeng Lee [#278]
parseFediverseHandle()
— Parse handles into componentsisFediverseHandle()
— Validate handle formattoAcctUrl()
— Convert handles to URLsFediverseHandle
interface for type safetyEnhanced HTTP Request APIs
Contributors: Lee ByeongJun [#248, #281], Hyunchae Kim [#51, #315]
LookupWebFingerOptions.maxRedirection
option for controlling redirect behaviorAbortSignal
for request cancellationDocumentLoaderOptions
interfacesignal
options toLookupObjectOptions
,LookupWebFingerOptions
, andDoubleKnockOptions
@fedify/cli
New Commands and Enhancements
The CLI has received significant improvements thanks to our OSSCA contributors:
fedify webfinger
CommandContributors: ChanHaeng Lee [#260, #278], KeunHyeong Park [#311, #328]
Look up WebFinger information for any fediverse resource:
@user@server
) and URLs--user-agent
option for custom User-Agent headers--allow-private-address
for local testing--max-redirection
to control redirect followingfedify nodeinfo
CommandContributors: Hyeonseo Kim [#267, #331, #168, #282, #304]
Replaces the deprecated
fedify node
command with improved terminal rendering.Enhanced
fedify lookup
CommandContributors: Jiwon Kwon [#169, #348, #261, #321]
-o
/--output
option to save results to filesImproved
fedify inbox
CommandContributors: Hasang Cho [#262, #285], Jang Hanarae [#191, #342]
--actor-name
and--actor-summary
options for customizing temporary actorsfedify init --dry-run
Contributors: Lee ByeongJun [#263, #298]
Preview project initialization without creating files.
Better Terminal Support
Contributors: Cho Hasang [#257, #341]
Correctly handles color output based on TTY detection and
NO_COLOR
environment variable.@fedify/elysia
Contributors: Hyeonseo Kim [#286, #339]
New Elysia integration brings Fedify to Bun-powered applications with a simple plugin interface:
@fedify/nestjs
Contributors: Jaeyeol Lee [#269, #309]
Enterprise-ready NestJS integration with dependency injection support:
@fedify/sqlite
Contributors: An Subin [#274, #318]
SqliteKvStore
implementation compatible across all major JavaScript runtimes:@fedify/testing
Contributors: Lee ByeongJun [#197, #283]
Comprehensive testing utilities with mocking support for Fedify applications:
🙏 Acknowledgments
This release represents an extraordinary community effort, particularly from the participants of South Korea's OSSCA (Open Source Contribution Academy) (Note: page in Korean). We extend our heartfelt thanks to all contributors:
Core Contributors
Test Infrastructure Contributors
Your contributions have made Fedify stronger and more versatile than ever. The OSSCA program's support has been instrumental in achieving this milestone release.
Migration Guide
Updating from Previous Versions
If you're using separate Fedify packages, update all packages to version 1.8.1:
All packages now share the same version number, simplifying dependency management.
Breaking Changes
There are no breaking changes in this release. All existing code should continue to work without modifications.
What's Next
With the monorepo structure in place and new integrations available, we're excited to continue improving Fedify's developer experience and expanding its capabilities. Stay tuned for more updates, and thank you for being part of the Fedify community!
For detailed technical information about all changes, please refer to the full changelog.
Fedify is an open-source project that helps developers build federated server applications powered by ActivityPub. Join us on GitHub or Discord to contribute or get help!
Beta Was this translation helpful? Give feedback.
All reactions