Skip to main content

Β· 5 min read

OCR​

Optical Character Recognition (OCR) in Joplin enables the transformation of text-containing images into machine-readable text formats. From this version you can enable OCR in the Configuration screen under the "General" section. Once activated, Joplin scans images and PDFs, extracting text data for searchability.

While OCR search is available on both desktop and mobile apps, document scanning is limited to the desktop due to resource demands. For more information head to the OCR official documentation!

Bundled plugins​

Joplin will now bundle high quality plugins that we feel will benefit most users. With this version we include the great Backup plugin by JackGruber. This will provide another layer of safety when using Joplin as by default it will automatically backup your notes in a "JoplinBackup" folder in your home directory.

Note that, just like any other plugin, you can change the plugin configuration or even disable it from the settings.

ENEX importer​

As usual in recent version, there are plenty of improvements to the Joplin ENEX importer. Besides the various fixes and enhancement to support this format, we've added a few useful features:

Evernote Export files do not include the necessary information to reliably restore the links between notes, so for a long time this feature was not supported by the importer.

Now however Joplin will try to guess what note is linked to what other note based on the note title, which in many cases will give the expected result. But not always - when that happens, and Joplin cannot detect the link target, the application leaves the original Evernote link. That way you can manually restore it yourself or at least find back what the note was linked to.

Import a directory of ENEX files​

It is notoriously difficult to export data from Evernote because, among other issues, you can only export one notebook at a time, which is an obvious problems when you have dozens of notebooks. Unfortunately we cannot improve this part of the process since this up to Evernote, however we now make it easier to import all these notebook files by adding support for importing a folder of ENEX files. To use this feature, go to File > Import, and select one of the "ENEX (Directory)" options.

This will process all the ENEX files in that directory and create a notebook in Joplin for each of them.

Beta Markdown editor​

This version features further improvements to the new Markdown editor based on CodeMirror 6. The goal eventually is to 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.

Plugin support has also been improved in this version - plugin authors can now write native CodeMirror 6 extensions using the plugin API. For more information check the documentation on how to create a Markdown plugin!

Another benefit of this new editor is that, in a future version, it will allow us to support plugins on the mobile application since a plugin written for the desktop app will work on mobile too. There are several other advantages that Henry listed in this forum post.

Rich text editor improvements​

We continue making improvements to the Rich Text Editor (RTE) in particular to improve interoperability with other applications, such as LibreOffice, Office or web browsers, as well as better handling of copy and paste.

Another notable addition is support for setting colours, which was a frequently asked feature. To use the feature, select it from the "..." button in the toolbar. Note that once applied the colours will work in the Markdown editor too!

See below for the full list of RTE changes:

  • Fixed: Rich text editor: Fix context menu not shown in some cases
  • Improved: Speed up pasting text and images in Rich Text Editor
  • Fixed: Fix drag-and-drop of images and text in the rich text editor
  • Fixed: Fix images with SVG data URLs corrupted in the rich text editor
  • Fixed: Pasting rich text in the RTE sometimes result in invalid markup
  • Fixed: Rich text editor: Fix newline behavior in new notes
  • Improved: Add support for changing text colors in rich text editor
  • Fixed: Fix HTML resource links lost when editing notes in the rich text editor
  • Fixed: Fix code blocks with blank lines break tables in the rich text editor
  • Fixed: Copied and pasted text from Firefox to RTE does not include images
  • Fixed: Pasting rich text in the RTE sometimes result in invalid markup
  • Fixed: Fixed copying and pasting an image from Chrome in RTE

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 plugin manifest now supports new properties to better describe and present your plugins on Joplin Plugins website. Those are the icons, categories, screenshots and promo_tile properties.

Icon​

This is the icon that will be used in various plugin pages, including in your main plugin page. It will be shown on the main result page too. If not provided, a default icon will be displayed instead.

Category​

You can supply one or more category for your plugin - it will be used to filter the plugins on the website.

Screenshots​

Again you can provide one or more screenshots to present your plugin on the website.

An example of plugin with icon, category and screenshot

Promo tile​

The promo tile is an optional image that is used to display your plugin on the main website page. If no promo tile is supplied, the icon will be used instead.

An example of promo tile

More information​

For more information on how to set this plugin metadata, please check the Plugin Manifest documentation


Discuss on the forum

Β· One min read

The next version of Joplin Cloud (and Joplin Server) will include a change that will make synchronisation, in particular when synchronising a new device for the first time, significantly faster. This is achieved by bundling more data with the calls that retrieve notes and other data, thus reducing the number of unnecessary requests.

This change will be applied soon to Joplin Cloud (and Server), and the Joplin mobile, desktop and CLI applications will be able to use it from version 2.14.

In my tests with about 26,000 items, synchronisation was more than twice as fast on Joplin Cloud (22.5 minutes vs 9.5 minutes):

Before​

Created local items: 21814. Fetched items: 26591/26591. Completed: 23/12/2023 10:38 (1346s)

real 22m35.810s
user 3m19.182s
sys 1m24.207s

Optimised​

Created local items: 21822. Fetched items: 26600/26600. Completed: 23/12/2023 11:48 (571s)

real 9m38.932s
user 1m10.119s
sys 0m38.013s


Discuss on the forum

Β· 4 min read

Desktop​

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.

https://joplinapp.org/api/references/plugin_api/classes/joplinimaging.html

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.

Mobile​

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

Desktop​

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.

Android​

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

Desktop​

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 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.

Mobile​

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: https://github.com/laurent22/github-actions-logs-extension

And to install it, follow this link:

Download GitHub Action Raw Log Viewer extension


Discuss on the forum