fedify
fedify copied to clipboard
Remove deprecated APIs for Fedify 2.0
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
-
[x] Remove
documentLoaderproperty fromFederationOptionsinterface: #393- Location:
packages/fedify/src/federation/federation.ts:680 - Migration: Use
documentLoaderFactoryinstead
- Location:
-
[x] 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
- [x] 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
Can I take that issue? I will carefully follow the implementation plan.
@crohasang Sure! Thanks!
Remove fedify node command alias is done at #414