Skip to main content

Β· 4 min read


Rich Text Editor improvements​

In this update, significant enhancements have been implemented in the Rich Text Editor to enhance user experience. One notable improvement is the ability to seamlessly embed various content within tables, including lists and other tables, which was a frequently requested feature:

The interoperability with other text editors such as Word and Excel has also been improved, in particular when copying and pasting content between these tools and Joplin.

Improved ENEX import​

The Evernote Export format, known as ENEX, has always been challenging to support. This is because Evernote frequently changes it, breaking importers, and may also occasionally introduce bugs. At times, their own application struggles to import back files that it has exported, highlighting the volatility of the ENEX format.

After undergoing continuous improvements for seven years, the importer has achieved a relatively stable state. The majority of issues encountered now stem from invalid files generated by Evernote, a result of bugs introduced in recent versions. Despite these challenges, we strive to enhance the import process by employing various heuristics to process the invalid data as effectively as possible.

The list of bug fixes is below:

  • Apply correct size to images imported from ENEX files
  • ENEX files that contain resources with invalid mime types are imported correctly
  • Ensure that ENEX resources with invalid filenames are imported correctly
  • Prevent application from being stuck when importing an invalid ENEX file

New plugins APIs​

Note list​

We are continuously improving the plugin API to make it as easy as possible to customize the application.

One of the main addition is support note list plugins - it allows any plugins to customise what the list should display each note.

See the Joplin Plugin Note List API and the Note List Demo for more information.

The demo includes three examples of note lists: a fundamental "top to bottom" version, a sophisticated "left to right" variant that additionally displays a note thumbnail, and a demonstration of an interactive note list, allowing direct modification of the note title from the list.

This API was developed based on the feedback we got and we hope it will be useful. We remain open to further input from users and plugin developers regarding any potential missing features and areas for improvement!

Imaging API​

The imaging API was created to allow plugin developers to easily load and manipulate images. For now it is possible to load PNG and JPG files, and to resize and crop them.

And more​

A few more APIs have been added such as one to open dialog to select a file or folder and a way to access the plugin settings from a renderer script.

New beta Markdown editor​

This version also features a new Markdown editor based on CodeMirror 6. This change means that we'll be able to use the same editor on both the desktop and mobile application (which already uses CodeMirror 6), which will allow a more consistent user experience across devices.

Another benefit is that, in a future version, it will allow us to support plugins on the mobile application. There are several other advantages that Henry listed in this forum post.


Drawing option​

In this new version, Henry integrated the js-draw editor to the mobile app. Js-draw is a powerful freehand drawing library which allows you to draw using a pen, touch screen or mouse.

The editor is integrated to the mobile application. On desktop application, you can use the same library and edit your drawings using the Freehand Drawing plugin. We will make this plugin available by default in a future desktop release.

Setting screen​

The mobile version also features a redesigned configuration screen. It is now divided into multiple sections with clear titles, and you can also search for settings using the built-in search option.

Full changelog

This is just an overview of the main features. The full changelog is available there:

Discuss on the forum

Β· 2 min read

The majority of Joplin's development is carried out in the public domain. This includes the discussion of issues on GitHub, as well as the submission of pull requests and related discussions. The transparency of these processes allows for collaborative problem-solving and shared insights.

However, there is one aspect that operates behind closed doors, and for good reason: addressing cybersecurity vulnerabilities. It is imperative that these issues remain undisclosed until they have been resolved. Once a solution is implemented, it is usually accompanied by discreet commits and a message in the changelog to signify the progress made.

Typically, the process begins with an email from a security researcher. They provide valuable insights, such as a specially crafted note that triggers a bug, or an API call, along with an explanation of how the application's security can be circumvented. We examine the vulnerability, create a fix, and create automated test units to prevent any accidental reintroduction of the vulnerability in future code updates. An example of such a commit is: 9e90d9016daf79b5414646a93fd369aedb035071

We then share our fix with the researcher for validation. Additionally, we often apply the fix to previous versions of Joplin, depending on the severity of the vulnerability.

The contribution of security researchers in this regard is immeasurable. They employ their ingenuity to identify inventive methods of bypassing existing security measures and often discover subtle flaws in the code that might otherwise go unnoticed.

We would like to express our sincere gratitude to the security researchers who have assisted us throughout the years in identifying and rectifying security vulnerabilities!

Discuss on the forum

Β· 4 min read

Great news! Joplin 2.10 is here and we've made some amazing improvements and bug fixes, with a focus on the mobile app.

New design for "New note" and "New to-do" buttons​

We're excited to announce that we've made it even easier to create new notes and to-do lists with new designs for the "New note" and "New to-do" buttons.

If there is enough space, the button labels will be shown in full:

While for those who prefer a more narrow note list, only the button icons will be shown:

It's a small improvement, but we're confident it will make the app even more intuitive for new users.

Fixes and improvements​

This version includes 30 bug fixes and 16 general improvements. Let's dive into some of the highlights:

  • Self Not Found and Pedro have been working tirelessly on improving the pasting of plain text in the application, and we're happy to say that there is now a brand new "Paste as text" option in the Edit menu.
  • For our amazing plugin developers out there, we have added a few new APIs and fixed a bug that was preventing certain plugins from starting. You can now get even more creative with your plugins!
  • Tao Klerks, has been hard at work fixing and improving the custom sort order of the note list. No more notes in the wrong position when you drop them! Plus, custom sort order is now synchronised too.
  • We've also fixed a few bugs with our Web Clipper, including an issue where certain pages wouldn't import their images. A new Web Clipper has also been released, so you can clip to your heart's content!

Last but not least, we have modernised both the desktop and mobile application modules, just as we previously announced. Although these changes may not be visible to you, they required a lot of work! But the result is that our applications are now more stable and secure, and it will be easier to maintain them in the long run. We're using a tool called Renovate, which will automatically propose package updates that we will review. In total, we've updated a whopping 633 packages so far!

Android app is available in the Play Store​

Our latest version, 2.10, is now back in the Play Store and ready for download! Although we had to skip 2.9 due to some of Google's requirements, we worked hard to ensure that our app complies with their standards, and we are excited to announce that we are back and better than ever! Our iOS version is also available, so you can continue to enjoy the app regardless of the platform you use.

Biometrics support​

To make your experience even more secure, our Android and iOS apps now support biometric unlock! With just a quick scan of your fingerprint or Face ID, you can unlock your app in no time. To enable this beta feature, just head over to the settings and click on "Use biometrics to secure access to the app".

We've tested this feature thoroughly during prerelease, and have already fixed all known issues. However we still consider it as a beta feature for now, so if you run into any issues please let us know.

Support for multiple profile​

We're thrilled to announce that multiple profiles are now supported in our mobile app! To create a new profile, simply go to the Configuration screen and click on "Manage profiles" under the Tools section.

From there, you can easily add or remove profiles as needed.

Once multiple profiles are setup, you will see a new option in the sidebar to quickly toggle from one profile to another:

Once you've set up multiple profiles, you can easily toggle between them using the new option in the sidebar. This feature is perfect for separating your personal and work notes into independent collections.

Our mobile app now has an improved search function that performs text searches in real time! No more waiting for the search results to load, they'll appear instantly as you type.

Improved filesystem sync performance​

Thanks to the hard work of jd1378, the sync no longer freezes during filesystem synchronisation. We know how frustrating that can be, and we're thrilled to have solved this issue. Getting filesystem sync to work on Android is never easy due to the restrictions put in place by Google, especially since they frequently change, but we're committed to delivering the best possible experience for our Android users.

Discuss on the forum

Β· 3 min read


Add support for plugin user data​

Developers of plugins now have the ability to associate additional information with notes, notebooks, and tags. This data is then synchronized across multiple devices. For instance, it is possible to envision attaching OCR data to an image or incorporating plugin-specific parameters to a note, which can subsequently be synchronized across all devices.

Improved end-to-end encryption​

End-to-end encryption (E2EE) plays a vital role in safeguarding your data privacy. Our aim is to make it effortlessly user-friendly, seamlessly integrated, and possibly enabled by default.

To achieve this objective, we have implemented several enhancements in this version. These improvements encompass more streamlined management of encryption keys and simplified setup processes for both new and existing devices utilising end-to-end encryption.

Moreover, we have upgraded the encryption algorithm from AES-128 to AES-256, ensuring heightened security for your data in the long run.

Export a Mermaid graph​

There is now a context menu on Mermaid graphs which you can use to export your graph as PNG, SVG, or by copying the vector data to the clipboard.

Auto-detect language on startup​

A small but useful change - the application language is now automatically detected startup. Of course, if needed you can later change it in the configuration screen.


As always most of these changes also apply to the mobile applications, such as the improved end-to-end encryption support, language auto-detection, and various bug fixes and improvements. But besides those, we also have several mobile-specific updates:

Support for offline voice typing​

The Android mobile app now support offline voice typing - it means your voice recording does not need to be uploaded to Google or Samsung server - it all takes place on your device for added security. To make use of it, open any note, tap on the three dots menu, then "Voice typing".

The first time, the app will need to download the language files to your device:

Once they are there, simply record your message and it will appear in the note:

Create and move sub-notebooks​

@jcgurango implemented support for creating sub-notebooks, and moving notebooks around in the mobile app. To do so, long press on any notebook and press "Edit". You can now choose to move it under any other notebook using the provided dropdown list.

Full changelog​

This is just an overview of the main features. The full changelog is available there:

Discuss on the forum

Β· 3 min read


Support for Apple Silicon​

A new release is now available for Apple Silicon, which provides improve performances on this architecture.

Rich Text editor​

In this release, we've undertaken numerous enhancements and addressed various bugs in the Rich Text editor. Notably, we've introduced support for plugin toolbar icons. Additionally, we've refined the editor's ability to manage text that's copied from applications like Word, Office, and LibreOffice, thereby enhancing cross-application compatibility. Among the minor yet impactful improvements, we've fine-tuned the handling of newlines and paragraphsβ€”a highly requested feature. Another notable update is the improved automatic switching between light and dark modes.

Altogether, this release encompasses around 12 significant changes for the Rich Text editor, and rest assured, there's more to come in the future!

Share permissions​

Using Joplin Cloud Pro and Teams, you now have the ability to customize the read and write permissions for the notebooks you share. You have the option to grant other users permission to edit the notes or share them as read-only. This ensures that you can confidently share a notebook without worrying about unintentional modifications by your friends or colleagues.

Email to Note​

Joplin Cloud Pro and Teams also now include the Email to Note feature, allowing you to conveniently store your emails within Joplin Cloud. By simply forwarding your emails to your Joplin Cloud address, you can transform them into notes. The email's subject will serve as the note title, while the body of the email will be the note's content. These notes will be organized within a notebook named "Inbox."

More information in the Email to Note documentation.

Choose to resize an image or not​

By default, when you add a large image, Joplin will ask you if you would like to shrink it down or not. With this new release, you now have the option to always ask, to always resize, or to never resize the image, giving you more flexibility and reducing the number of prompts in the app.

Rotating log​

Up until now, the logs could grow to become very large, and if you wanted to shrink them down you would have to manually delete them. With this new release, we now automatically handle logs by rotating them - once the log becomes large enough it is moved to an archive. And once the archive is older than a number of days, it is deleted.


Like the desktop app, the mobile apps benefits from the Share Permissions update, as well as the Email to Note feature for Joplin Cloud. There are also plenty of other improvements - all in all there's 23 bug fixes, enhancements and security fixes in this release.

Full changelog​

This is just an overview of the main features. The full changelog is available there:

Discuss on the forum

Β· One min read

On 1 and 2 April 2023, we will have a stand for Joplin at the JournΓ©es du Logiciel Libre in Lyon, France. The JdLL has been taking place in Lyon for 24 years and is a popular open source conference in France. We had a stand in 2020 and 2021 but that was cancelled due to Covid, so this year is a first for Joplin!

Admission is free, so don't hesitate to come and meet us, exchange ideas and learn more about Joplin!

Joplin at JdLL 2023

Discuss on the forum

Β· 2 min read

If you've ever used GitHub Actions, you will find that they provide by default a nice coloured output for the log. It looks good and it's even interactive! (You can click to collapse/expand blocks of text) But unfortunately it doesn't scale to large workflows, like we have for Joplin - the log can freeze and it will take forever to search for something. Indeed searching is done in "real time"... which mostly means it will freeze for a minute or two for each letter you type in the search box. Not great.

Thankfully GitHub provides an alternative access: the raw logs. This is much better because they will open as plain text, without any styling or JS magic, which means you can use the browser native search and it will be fast.

But now the problem is that raw logs look like this:

Raw log without extension

While it's not impossible to read, all colours that would display nicely in a terminal are gone and replaced by ANSI codes. You can find what you need in there but it's not particularly easy.

This is where the new GitHub Action Raw Log Viewer extension for Chrome can help. It will parse your raw log and convert the ANSI codes to proper colours. This results in a much more readable rendering:

Raw log with extension

The extension is fast even for very large logs and it's of course easy to search for text since it simply works with your browser built-in search.

The extension is open source, with the code available here:

And to install it, follow this link:

Download GitHub Action Raw Log Viewer extension

Discuss on the forum

Β· 3 min read

As was discussed last year, Joplin is switching to the GNU Affero General Public License v3 (AGPL-3.0) for the desktop, mobile and CLI applications, as well as the web clipper.

Any open source or commercial fork of Joplin will have to license any changes they make under AGPL, and share these changes back with the community. This is the main reason we switch to this license. It allows us to continue releasing the project as open source while ensuring that those who benefit commercially (or not) from it share back their changes.

What is the GPL license?​

The AGPL license is based on the GPL license. This is what tldr;Legal has to say about the GPL license:

You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions. (source)

What is the AGPL license?​

This is the license we'll use for Joplin from now on:

You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions. (source)

The AGPL license differs from the other GNU licenses in that it was built for network software. You can distribute modified versions if you keep track of the changes and the date you made them. As per usual with GNU licenses, you must license derivatives under AGPL. It provides the same restrictions and freedoms as the GPLv3 but with an additional clause which makes it so that source code must be distributed along with web publication. Since web sites and services are never distributed in the traditional sense, the AGPL is the GPL of the web. (source)

What does it change for users?​

There is no changes for users of Joplin - the apps remain open sources and you can still use them freely.

What does it change for developers?​

Any code you develop for Joplin will also remain open source. The only difference is that we'll ask to sign an Individual Contributor License Agreement (CLA) to ensure that the copyright of the entire codebase remains with the Joplin organisation. This is necessary so that if we ever want to change the license again we are able to do so without having to get the agreement of each individual contributor afterwards (which would be nearly impossible).

This is a bit of an extra constraint but it is hard to avoid. Contributor License Agreements are very common for GPL or AGPL projects. For example Apache, Canonical or Python all require their contributors to sign a CLA.


If you have any questions please let us know. Overall we believe this is a positive improvements for Joplin as it means any work derives from it will also benefit the project.

Discuss on the forum

Β· 4 min read

Proxy support​

Both the desktop and mobile application now support proxies thanks to the work of Jason Williams. This will allow you to use the apps in particular when you are behind a company proxy.

New PDF viewer​

The desktop application now features a new PDF viewer thanks to the work of Asrient during GSoC.

The main advantage for now is that this viewer preserves the last PDF page that was read. In the next version, the viewer will also include a way to annotate PDF files.

Multi-language spell checking​

The desktop app include a multi-language spell checking features, which allows you, for example, to spell-check notes in your native language and in English.

New mobile text editor​

Writing formatted notes on mobile has always been cumbersome due to the need to enter special format characters like * or [, etc.

Thanks to the work of Henry Heino during GSoC, writing notes on the go is now easier thanks to an improved Markdown editor.

The most visible feature is the addition of a toolbar, which helps input those special characters, like on desktop.

Moreover Henry made a lot of subtle but useful improvements to the editor, for example to improve the note appearance, to improve list continuation, etc. Search within a note is now also supported as well as spell-checking.

At a more technical level, Henry also added many test units to ensure that the editor remains robust and reliable.

To enable the feature, go to the configuration screen and selected "Opt-in to the editor beta". It is already very stable so we will probably promote it to be the main editor from the next version.

Improved alignment of notebook icons​

Previously, when you would assign an icon to a notebook, it would shift the title to the right, but notebook without an icon would not. It means that notebooks with and without an icon would not be vertically aligned.

To tidy things up, this new version adds a default icons to notebooks without an explicitly assigned icon. This result in the notebook titles being correctly vertically aligned.

Note that this feature is only enabled if you use custom icons - otherwise it will simply display the notebook titles without any default icons, as before.

Improved handling of file attachments​

Self Not Found made a number of small but useful improvements to attachment handling, including increasing the maximum size to 200MB, adding support for attaching multiple files, and fixing issues with synchronising attachments via proxy.

Fixed filesystem sync on mobile​

This was a long and complex change due to the need to support new Android APIs but hopefully that should now be working again, thanks to the work of jd1378.

So you can now sync again your notes with Syncthing and other file-based synchronisation systems.

And more...​

In total this new desktop version includes 36 improvements, bug fixes, and security fixes.

As always, a lot of work went into the Android and iOS app too, which include 37 improvements, bug fixes, and security fixes.

See here for the changelogs:

About the Android version​

Unfortunately we cannot publish the Android version because it is based on a framework version that Google does not accept. To upgrade the app a lot of changes are needed and another round of pre-releases, and therefore there will not be a 2.9 version for Google Play. You may however download the official APK directly from there: Android 2.9 Official Release

This is the reality of app stores in general - small developers being imposed never ending new requirements by all-powerful companies, and by the time a version is finally ready we can't even publish it because yet more requirements are in place.

For the record the current 2.9 app works perfectly fine. It targets Android 11, which is only 2 years old and is still supported (and installed on millions of phones). Google requires us to target Android 12 which only came out last year.

Discuss on the forum

Β· One min read

Joplin is an open source note-taking app. Capture your thoughts and securely access them from any device.

We are looking to hire two JavaScript software developers to work on the desktop, mobile, and server applications. All those are built using modern technologies, including React, React Native and Electron with a strong focus on test units.

You need to demonstrate some experience with at least some of these technologies, and willing to learn more and touch various different projects.

You will be part of a small team, so you will have an opportunity for a high-impact role, targeting hundreds of thousands of users.

If you're interested please contact us at

No agencies please.

Discuss on the forum