Regarding version 2.0

Hi, since some years ago I have being using CodiMD/HedgeDoc in our own instance (pad.programando.li) after years of using Etherpad. I come from humanities and pad writing I think is a tool that allows more capabilities for research than a text processor. Also, because it is a web platform, I find it more easy to handle and write in MD than cli editors like vim or emacs. So nowadays I use pad for writing research, blog entries, class notes, lectures and actually anything that is not coding, thanks for such great platform!

I usually review the repo for some news (the RSS feeds of the community calls and releases are cool, but hardly to understand if you aren’t inside the community) and I see there is a version 2.0 coming, nice!

However, I can’t find in GitHub why HedgeDoc is moving to version 2.x and what does that imples, besides the split between the backend and the frontend. So my question is: where can I find this info? If there is a narrative similar to the history of HedgeDoc (with no to many tech details), that would be great.

Cheers!

P.S. English ain’t my first language, sorry in advance.

Hey @NikaZhenya,

welcome to the community!

If you inspect the HedgeDoc code base then you’ll notice quickly that it’s just a huge chaos. The code heavily outgrow it’s initial scope.

The main goal and reason for the rewrite is that we try to create a code base that is much more readable, maintainable and testable.
Especially testing was quite challanging because some changes introduced seemingly random errors elsewhere in the app.
We also take the chance to apply more modern concepts (e.g. a full REST-API, PWA) and use state of the art technologies (e.g. React, WASM and NestJS.)

Here is a short list of things we want to improve with 2.0:

  • stable public API (Useful for tools and automation)
  • user management
  • upload handling
  • better configuration
  • better logging
  • Increased privacy
    • Clickshield for external embedded content. (External content gets loaded after the user clicks it)
  • Improved security
    • Sandboxed rendering to capsule the rendering from the editor.
  • UI/UX improvements (You can find a more complete list in the frontend changelog)
    • new page layouts
    • a new emoji picker
    • copy buttons for code blocks
    • More useful shortcodes

The current state of version 2.0 can be found in the 2.0 issues of the backend and frontend

Greetings
DerMolly & @mrdrogdrog

Thank you, now it is clearer for me :slight_smile: