Pre-release v2.0 is now available - updated 12 June 2021

Note that this version will NOT sync with Joplin Server 1.x, it will only sync with Joplin Server 2.x. In general if you're using Joplin Server, you'll need to update all your apps to v2, however only the desktop app is available as of now (Android app probably quite soon too).

  • New: Add support for sharing notebooks with Joplin Server (#4772)
  • New: Add new date format YYMMDD (#4954 by Helmut K. C. Tessarek)
  • New: Added button to skip an application update (a31b402)
  • Fixed: Display proper error message when JEX file is corrupted (#4958)
  • Fixed: Show or hide completed todos in search results based on user settings (#4951) (#4581 by @JackGruber)
  • Fixed: Solve "Resource Id not provided" error (#4943) (#4891 by @Subhra264)



  • New: Add Share Notebook menu item (6f2f241)
  • New: Add classnames to DOM elements for theming purposes (#4933 by @ajilderda)
  • Improved: Allow unsharing a note (f7d164b)
  • Improved: Displays error info when Joplin Server fails (3f0586e)
  • Improved: Handle too large items for Joplin Server (d29624c)
  • Improved: Import SVG as images when importing ENEX files (#4968)
  • Improved: Import linked local files when importing Markdown files (#4966) (#4433 by @JackGruber)
  • Improved: Improved usability when plugin repository cannot be connected to (#4462)
  • Improved: Made sync more reliable by making it skip items that time out, and improved sync status screen (15fe119)
  • Improved: Pass custom CSS property to all export handlers and renderers (bd08041)
  • Improved: Regression: It was no longer possible to add list items in an empty note (6577f4f)
  • Improved: Regression: Pasting plain text in Rich Text editor was broken (9e9bf63)
  • Fixed: Fixed issue with empty panels being created by plugins (#4926)
  • Fixed: Fixed pasting HTML in Rich Text editor, and improved pasting plain text (2226b79)
  • Fixed: Improved importing Evernote notes that contain codeblocks (#4965)
  • Fixed: Prevent cursor from jumping to top of page when pasting image (#4591)



I am more concerned about whether there are any incompatible updates in v2.0 (except joplin server)

Nothing I can think of.

@laurent, the appimage for 2.0.4 pre-release and the checksum file do not match. However the appimage runs fine.

Joplin 2.0.4 (prod, linux)

Client ID: 615c7880d02145c5a89371d6264bdcb9
Sync Version: 2
Profile Version: 38
Keychain Supported: No

Revision: 87a5f18

Joplin-2.0.4.AppImage sha512 check gives:

Joplin-2.0.4.AppImage.sha512 is:

Yes there was something funny going on during the build so it had to be restarted, so it's possible that it uploaded just the checksum but not the AppImage or vice versa. Normally that should be fixed from 2.0.5.

1 Like

Sorry if this is too basic a question but.. if I run Joplin on my Mac, is my Mac the server, i.e. that is what operates the API service which I have running?

If I try to share a note, it says I have to configure synchronization to Joplin Server - so does that mean in order to use note sharing I cannot use Dropbox or any of the other options for. Sync?

What URL do I enter for Joplin server? Is it localhost:41184?

You're running the Joplin desktop application. Joplin Server is something different -- Joplin Server pre-release is now available

1 Like

@laurent I can't wait for 2.0, I keep checking for updates. :smiley: But I don't want to risk damaging my "prod" notes. (My eternal fear: losing or damaging a note, and not noticing until months later. :sweat_smile:)

I don't intend to waste time with upgrading the Server at all; I'll just do a clean install and re-sync.
Do you think it would be reasonable to download a Portable version of the 2.0 desktop app beta, import notes into it, sync into Server 2.0?
And when the full version is released, upgrading my 'main' client, pointing it to the 2.0 server and re-syncing?

Or am I just overdoing it and asking for trouble like this? :smiley:
(Yeah, objectively, it's not that important. I'm just cuuuriooooouussss.)

I'm not sure, do you mean you'll delete your main profile and then re-sync from scratch? If so, that would work. But if you have two clients in parallel with different notes and different sync targets, you might indeed be asking for troubles.

Perhaps the way to go is to only use the portable app for some time, then when you feel it works well enough, just copy the portable profile to the main one (overwriting any file) and then you can start using the main one without doing a full sync.

1 Like

Oooh, that's a good idea. I think I'll do that.
(And no, I didn't intend do have divergent branches - I know I would never ever merge them successfully. :slight_smile: )


And Joplin server requires use of Docker, correct?

1 Like

Is there already an android 2.x apk?

I've tried to build it on my own (with Ubuntu 21.04) but hat several problems especially with Python3 and some npm dependencies. When I finally managed to build a version, installing on my phone (android 10) with pre-installed version 1.8.5. (from play store) failed, on my tablet (android 9) the installation worked but launch failed with the following error message:

You're basically running a debug version which needs to load js files from your PC.

Actually building is a bit more complicated. You need to run ./gradlew assembleRelease from packages/app-mobile/android

You won't be able to install it alongside the play store version unless you change the app id.

Check here for the Android pre-releases:

Ok no problem, I will try to install the new version on my tablet again.
Built with gradlew assembleDebug yesterday.

Edit: failed (and now I remember, that I already tried yesterday):

Execution failed for task ':app:validateSigningRelease'.
> Keystore file not set for signing config release

It's much easier to just download a pre-release from the link above (forgot they are available).

If you still want to build your own, you'll need to generate your own key for signing and configure gradle to use it when building the release.


  • New: Add "Retry all" button to sync status screen for items that could not be uploaded (ca487ad)
  • New: Add Joplin Cloud sync target (21ea325)
  • New: MacOS: add 'Hide Others' and 'Show All' menu items (#5024 by Helmut K. C. Tessarek)
  • Improved: Allow passing arguments to commands in command palette (00dc1d8)
  • Improved: Allow restoring a deleted note from note history using command palette (5fd6571)
  • Improved: Improve search with Asian scripts (#5018) (#4613 by @mablin7)
  • Improved: Improved Joplin Server error handling (95d7ccc)
  • Improved: Plugins: Support executing CodeMirror commands from plugins when using execCommand (#5012 by @CalebJohn)
  • Improved: Recreate http agent when the protocol changes (#5016 by Roman Musin)
  • Fixed: Certain resource paths could be corrupted when saved from the Rich Text editor (#5034)
  • Fixed: Ctrl+Clicking links in Rich Text editor was broken (regression) (e8a02c2)
  • Fixed: Incorrect list renumbering (#4914) (#4877 by Austin Doupnik)
  • Fixed: Inline Katex gets broken when editing in Rich Text editor (#5052) (#5025 by @Subhra264)
  • Fixed: Items are filtered in the API search (#5017) (#5007 by @JackGruber)
1 Like


  • Improved: Conflict notes will now populate a new field with the ID of the conflict note. (#5049 by @Ahmad45123)
  • Improved: Expose prompt to plugins as a command (#5058 by Nishant Mittal)
  • Improved: Filter out form elements from note body to prevent potential XSS (thanks to @chinskiy for the PoC) (feaecf7)
  • Fixed: Wrong field removed in API search (#5066 by @JackGruber)
1 Like