What's new in Joplin 2.13

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.

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:

20 Likes

apologies if I misunderstood the info in this news article section about New APIs, but I expected the link for "Note List Demo" to provide an md document with screenshots, or a video showing how the plugin behaves. Instead the link points to a github directory, and I haven't been able to find anything that actually describes its behavior, shows variants, or interactive behavior

Did I miss something?

Thanks
Phil

This link is mostly for developers who may want to check how the API can be used. It's true that some screenshots would have been a good idea but at the moment we don't have any

1 Like

Is the Beta markdown editor something you can toggle on or off? I'm not seeing it in the options.

And am I correct to assume that there are no note list plugins created as of now?

Thanks to you and all the devs for all your hard work!!!

It should be under "General"in settings ("opt in to the editor beta").

2 Likes

:man_facepalming:Don't know how I missed that.

So, other than the accessability, is there any reason for a non-mobile user (or non-mobile plugin users) to switch. I ask because switching to the beta loses all of my custom css (which I understand was never guaranteed to last).

So, other than the accessability, is there any reason for a non-mobile user (or non-mobile plugin users) to switch. I ask because switching to the beta loses all of my custom css (which I understand was never guaranteed to last).

Here's a non-exhaustive list of changes:

Keyboard shortcuts

  • Bold/italicize/code shortcuts act more like they do in a WYSIWYG editor. For example, if | denotes the cursor:
    • Pressing ctrl-b: **bold|** -> **bold**|
    • Pressing ctrl-`: `co|de` -> code| (all selected).
  • Pressing ctrl-` twice creates a code block (rather than toggling inline code twice)
  • The Vim keyboard mode supports copy/paste through the "+ register

Autocomplete

  • Ordered lists auto-renumber in some circumstances.
  • HTML tags autocomplete: typing <p>| autocompletes to <p>|</p> (where | is the cursor).

Find

  • The find/replace dialog has replace.
  • It's style is still the CodeMirror 6 default --- changing the style of the dialog is planned.

Syntax highlighting

In CodeMirror 5, it was necessary to add markdown="1" to HTML elements to get markdown syntax highlighting inside of them. For example,

<div>

In CM5, `markdown` here is **not** highlighted. However, it is in CodeMirror 6.

</div>

This matches Joplin's rendering in the viewer.

2 Likes

I see the beta editor does break some of the functionality of @CalebJohn's Rich Markdown plugin; e.g., CTRL + left click to mark a checkbox doesn't work in beta editor. But I guess this is to be expected.

1 Like

Do we know when this will hit the App store? I'm looking forward to the released. Current release on the App Store is 12.12.3 from 2 months ago.

Thanks for all the hard work.

1 Like

@laurent mentioned that it’s under review so depends on Apple.

I had a bunch of my plugins quit working--Quick Links, for example. I had to downgrade. Did anyone else have these problems?

Quick links works for me! Make sure the beta editor is disabled (Settings > General > Un-check "opt in to the editor beta").

(It should be disabled by default).

1 Like

Is there any chance that this change will ever allow the changing of the height for note list items? I realize it may be totally unrelated, but customizing this has been a long sought after feature. For example using something like

.notes div, .note-list-item-wrapper {
	height:inherit!important
}

worked. Sorry! I wanted to try the new editor, but it screwed up my zettlekasten plugins.

With this update the whole list can be customised via plugins, including the item height

What needs to happen for the plugins to play nicely with the beta markdown editor?

We have a compatibility layer to (partially) support plugins written for CodeMirror 5 plugins. However, there are large parts of the CodeMirror 5 API that it doesn't support.

Issues with plugin support in the beta editor are being tracked on GitHub.

2 Likes

That would be awesome. Thanks for all your work. Hopefully someone picks this up. It will be exciting to see all the things people come up with.

Would this permit the note listing to have thumbnails such as Nevernote? Take Note Overview and apply it to the listing rather than as a note on its own?

It allows creating "left to right" note lists with items of arbitrary sizes, so square for example. And then you can add images or text so you can create thumbnails and previews of the note content.

I'm not sure what you mean about Note Overview, is that an Evernote feature?