-
The Fedify CLI now runs natively on Node.js and Bun without requiring compiled binaries, providing a more natural JavaScript package experience for Node.js and Bun users. [#374, #456, #457]
-
Added fedify generate-vocab command to generate Activity Vocabulary classes from schema files. This command uses the new @fedify/vocab-tools package internally and allows users to extend Activity Vocabulary with custom types. [#444, #458 by ChanHaeng Lee]
-
Updated fedify init command for better DX. [#397, #435 by Chanhaeng Lee]
- If the directory is not empty, prompts the user for confirmation before proceeding. If the user agrees, it moves the remaining directory to trash and continue the initialization from new created directory.
- Ask again if some options is not specified or invalid.
-
The fedify lookup command now supports multiple URLs with the -t/--traverse option, allowing users to traverse multiple collections in a single command. [#408, #449 by Jiwon Kwon]
-
The fedify init command now supports Elysia as a web framework option, with runtime-specific templates for Deno, Bun, and Node.js environments. [#460, #496 by Hyeonseo Kim]
-
Fixed a bug in the fedify init command where Deno import map generation incorrectly handled dependencies with registry prefixes (e.g., npm:), creating invalid specifiers in deno.json. [#460, #496 by Hyeonseo Kim]
-
Added fedify relay command to run an ephemeral ActivityPub relay server. [#510, #518 by Jiwon Kwon]
- Supports both Mastodon and LitePub relay protocols via
--protocol option.
- Provides optional persistent storage via
--persistent option with SQLite database.
- Allows configuring subscription approval/rejection via
--accept-follow and --reject-follow options.
- Tunnels the relay server to the public internet by default for external access, with
--no-tunnel option to run locally only.
-
Added --tunnel-service option to fedify lookup, fedify inbox, and fedify relay commands to select the tunneling service (localhost.run, serveo.net, or pinggy.io). Also added --tunnel-service as an alias to the existing -s/--service option in fedify tunnel for consistency. [#525, #529, #531 by Jiwon Kwon]
-
Added configuration file support for CLI commands. The CLI now loads settings from configuration files at multiple levels, with a well-defined precedence chain. [#555, #566 by Jiwon Kwon]
- By default, configuration is loaded (in order of increasing precedence) from a system-wide configuration file (/etc/xdg/fedify/config.toml), a user-level configuration file (~/.config/fedify/config.toml), and .fedify.toml in the current directory; later files override earlier ones.
- Added
--config option to specify a custom configuration file path; this file has the highest precedence over all other configuration sources.
- Added
--ignore-config option to skip configuration file loading.
- All command options (
inbox, lookup, webfinger, nodeinfo, tunnel, relay) can now be configured via any of the configuration files.