Skip to content

[Announcement] Creation of RefMD v2 #45

Open

Description

@MuNeNiCK

Since early January, I have been working on adding E2EE support to RefMD. While the functionality is largely complete, the following issues remain:

  • Because E2EE was not assumed at the initial design stage, the integration of the implementation became unclear.
  • There are security concerns.
  • Since some features were moved from the backend to the frontend, the codebase has become more complex.

#41
#43

For these reasons, I plan to create a v2 branch and rebuild the project from scratch.

The following points are planned for v2:

  • Built with E2EE as a core assumption
  • Major UI redesign
  • Development of desktop and mobile applications (the web version will continue to exist)

Unfortunately, when migrating to v2, existing data will not be carried over. This is unavoidable due to the transition to E2EE.

The schedule has not yet been decided, but I will make another announcement once it is determined.

Thank you for your understanding.

Activity

  1. MuNeNiCK commented on Feb 2, 2026

    @MuNeNiCK
    MemberAuthor

    Since the design had been finalized to a reasonable extent, implementation was started.
    https://github.com/refmdio/refmd/tree/v2

  2. MuNeNiCK commented on Mar 6, 2026

    @MuNeNiCK
    MemberAuthor

    To everyone using RefMD,

    I would like to share an update and an apology.

    When development of v2 reached roughly 70% completion, I made a major decision regarding the project's direction. I decided to fully rewrite the implementation and switch the stack from React + Rust to Solid + Elixir.

    This change is intended to achieve better performance and a more suitable architecture going forward.

    Thank you for your understanding and continued support.

  3. zeigerpuppy commented on Jun 1, 2026

    @zeigerpuppy

    Hi @MuNeNiCK

    I'm interested in building some extensions for RefMD and would like to work from v2.
    The main one is a plugin to enable a document commenting feature - similar to what has been proposed here: hedgedoc/hedgedoc#657 (comment)

    Do you have some instructions on the best development environment for the v2 branch?
    Ideally would be good to have some directions on running a local build to test plugin functionality. I don't see a Dockerfile in the current v2 branch, but happy to use any suggested method.

  4. MuNeNiCK commented on Jun 1, 2026

    @MuNeNiCK
    MemberAuthor

    Hi @zeigerpuppy, thanks for your interest.

    v2 is not ready for external plugin development yet. The implementation is still being rewritten, and the plugin system/runtime API is currently being redesigned, so anything built against the current branch would likely break.

    The reason is that the current v2 design treats third-party plugins as a security boundary, not just as a normal extension API. Third-party plugin code is intended to run outside the main app realm, inside a sandboxed iframe, and communicate with RefMD only through Plugin Host RPC.

    Package approval, user/workspace scope, member consent, capability grants, storage, network access, credentials, plaintext access, auditing, and fail-closed behavior all need to be tied together before the API can be considered stable.

    Because of that, some APIs that exist or appear in the current branch are still internal/built-in plugin surfaces, not the final public third-party SDK. The public API shape may still change as the sandbox, Host RPC, UI contribution model, storage, and network surfaces are finalized.

    RefMD itself can be built and run locally with the current just commands, but this is currently useful for exploring the app itself, not for developing or testing third-party plugins yet:

    just setup
    just services-up
    just dev

    I do not have stable plugin development or plugin testing instructions to recommend at the moment. Once the current plugin-system work reaches a stable checkpoint, I’ll add at least a minimal README.md with setup/build instructions and the current plugin-development status.

    The document commenting plugin idea is definitely something I want the new plugin system to be able to support. If you can share the behavior and API capabilities you would need, that would be helpful input while the plugin system is being rebuilt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions