@@ -10,9 +10,43 @@ To be released.
1010
1111### @fedify/fedify
1212
13+ - Implemented [ FEP-fe34] origin-based security model to protect against
14+ content spoofing attacks and ensure secure federation practices. The
15+ security model enforces same-origin policy for ActivityPub objects and
16+ their properties, preventing malicious actors from impersonating content
17+ from other servers. [[ #440 ]]
18+
19+ - Added ` crossOrigin ` option to Activity Vocabulary property accessors
20+ (` get*() ` methods) with three security levels: ` "ignore" ` (default,
21+ logs warning and returns ` null ` ), ` "throw" ` (throws error), and
22+ ` "trust" ` (bypasses checks).
23+ - Added ` LookupObjectOptions.crossOrigin ` option to ` lookupObject() `
24+ function and ` Context.lookupObject() ` method for controlling
25+ cross-origin validation.
26+ - Embedded objects are now validated against their parent object's origin
27+ and only trusted when they share the same origin or are explicitly
28+ marked as trusted.
29+ - Property hydration now respects origin-based security, automatically
30+ performing remote fetches when embedded objects have different origins.
31+ - Internal trust tracking system maintains security context throughout
32+ object lifecycles (construction, cloning, and property access).
33+
34+ - Added ` withIdempotency() ` method to configure activity idempotency
35+ strategies for inbox processing. This addresses issue [ #441 ] where
36+ activities with the same ID sent to different inboxes were incorrectly
37+ deduplicated globally instead of per-inbox. [[ #441 ]]
38+
39+ - Added ` IdempotencyStrategy ` type.
40+ - Added ` IdempotencyKeyCallback ` type.
41+ - Added ` InboxListenerSetters.withIdempotency() ` method.
42+ - By default, ` "per-origin" ` strategy is used for backward compatibility.
43+ This will change to ` "per-inbox" ` in Fedify 2.0. We recommend
44+ explicitly setting the strategy to avoid unexpected behavior changes.
45+
1346 - Fixed handling of ActivityPub objects containing relative URLs. The
14- Activity Vocabulary classes now properly resolve relative URLs when
15- a ` baseUrl ` option is provided to ` fromJsonLd() ` method, improving
47+ Activity Vocabulary classes now automatically resolve relative URLs by
48+ inferring the base URL from the object's ` @id ` or document URL, eliminating
49+ the need for manual ` baseUrl ` specification in most cases. This improves
1650 interoperability with ActivityPub servers that emit relative URLs in
1751 properties like ` icon.url ` and ` image.url ` . [[ #411 ] , [ #443 ] by Jiwon Kwon]
1852
@@ -72,6 +106,7 @@ To be released.
72106 Node.js's ` --experimental-require-module ` flag and resolves dual package
73107 hazard issues. [[ #429 ] , [ #431 ]]
74108
109+ [ FEP-fe34 ] : https://w3id.org/fep/fe34
75110[ FEP-5711 ] : https://w3id.org/fep/5711
76111[ OStatus 1.0 Draft 2 ] : https://www.w3.org/community/ostatus/wiki/images/9/93/OStatus_1.0_Draft_2.pdf
77112[ RFC 7033 Section 4.4.4.3 ] : https://datatracker.ietf.org/doc/html/rfc7033#section-4.4.4.3
@@ -87,6 +122,8 @@ To be released.
87122[ #411 ] : https://github.com/fedify-dev/fedify/issues/411
88123[ #429 ] : https://github.com/fedify-dev/fedify/issues/429
89124[ #431 ] : https://github.com/fedify-dev/fedify/pull/431
125+ [ #440 ] : https://github.com/fedify-dev/fedify/issues/440
126+ [ #441 ] : https://github.com/fedify-dev/fedify/issues/441
90127[ #443 ] : https://github.com/fedify-dev/fedify/pull/443
91128
92129### @fedify/cli
@@ -230,7 +267,7 @@ Released on September 17, 2025.
230267Version 1.8.10
231268--------------
232269
233- Released on Steptember 17, 2025.
270+ Released on September 17, 2025.
234271
235272### @fedify/fedify
236273
@@ -5197,4 +5234,7 @@ Version 0.1.0
51975234Initial release. Released on March 8, 2024.
51985235
51995236<!-- cSpell: ignore Dogeon Fabien Wressell Emelia Fróði Karlsson -->
5200- <!-- cSpell: ignore Hana Heesun Kyunghee Jiyu Revath Kumar -->
5237+ <!-- cSpell: ignore Hana Heesun Kyunghee Jiyu Revath Kumar Jaeyeol -->
5238+ <!-- cSpell: ignore Jiwon Kwon Hyeonseo Chanhaeng Hasang Hyunchae KeunHyeong -->
5239+ <!-- cSpell: ignore Jang Hanarae ByeongJun Subin -->
5240+ <!-- cSpell: ignore Wayst Konsole Ghostty Aplc -->
0 commit comments