-
-
Notifications
You must be signed in to change notification settings - Fork 88
Open
Labels
breaking changeBreaking changeBreaking changecomponent/cliCLI tools relatedCLI tools relatedcomponent/federationFederation object relatedFederation object relatedpriority/criticalCritical issues that need immediate attentionCritical issues that need immediate attentionpriority/highHigh priority issuesHigh priority issuestype/documentationImprovements or additions to documentationImprovements or additions to documentationtype/refactorCode refactoringCode refactoring
Milestone
Description
Overview
This issue tracks the removal of all deprecated APIs that need to be removed in Fedify 2.0.0 as part of the major version cleanup.
APIs to Remove
1. Federation Configuration
-
Remove
documentLoaderproperty fromFederationOptionsinterface: fix: Remove documentLoader property from FederationOptions interface #393- Location:
packages/fedify/src/federation/federation.ts:680 - Migration: Use
documentLoaderFactoryinstead
- Location:
-
Remove
contextLoaderproperty fromFederationOptionsinterface- Location:
packages/fedify/src/federation/federation.ts:687 - Migration: Use
contextLoaderFactoryinstead
- Location:
-
Remove
CreateFederationOptions<TContextData>interface- Location:
packages/fedify/src/federation/middleware.ts:113 - Migration: Use
FederationOptionsdirectly
- Location:
2. Document Loader
- Remove
fetchDocumentLoader()function- Location:
packages/fedify/src/runtime/docloader.ts:398 - Migration: Use
getDocumentLoader()instead
- Location:
3. Handle Property Support
- Remove
{ handle: string }option support from:SharedInboxKeyDispatcherreturn typeContext.getDocumentLoader()parameterContext.sendActivity()parameterContext.forwardActivity()parameter- All related type definitions and runtime handling code
- Locations:
packages/fedify/src/federation/callback.ts:201,207packages/fedify/src/federation/context.ts:229,379,395,605,626packages/fedify/src/federation/middleware.ts:739,1364,2021,2024,2029-2034,2194,2202-2205,2811,2820-2823
- Migration: Use
{ identifier: string }or{ username: string }instead
4. CLI Commands
- Remove
fedify nodecommand alias- Location:
packages/cli/src/nodeinfo.ts:43-47 - Migration: Use
fedify nodeinfoinstead
- Location:
Implementation Notes
Code Changes Required
- Remove all deprecated properties, interfaces, and functions
- Remove all runtime deprecation warnings related to these APIs
- Update all internal code that might still be using these deprecated APIs
- Remove all test cases specifically for deprecated APIs
- Update type exports to exclude removed interfaces
Documentation Updates
- Update migration guide for 2.0
- Remove deprecated API references from all documentation
- Add clear migration paths in the changelog
Breaking Changes
All removals listed above are breaking changes and should be clearly documented in:
- CHANGES.md under version 2.0.0
- Migration guide from 1.x to 2.0
- Release notes
Testing
- Ensure all tests pass after removal
- Verify no internal code is using removed APIs
- Check that type definitions compile correctly
- Test migration paths work as documented
Metadata
Metadata
Assignees
Labels
breaking changeBreaking changeBreaking changecomponent/cliCLI tools relatedCLI tools relatedcomponent/federationFederation object relatedFederation object relatedpriority/criticalCritical issues that need immediate attentionCritical issues that need immediate attentionpriority/highHigh priority issuesHigh priority issuestype/documentationImprovements or additions to documentationImprovements or additions to documentationtype/refactorCode refactoringCode refactoring