Skip to main content

· 3 min read

If you watch the Joplin source code repository, you may have noticed a lot of Renovate pull requests lately. This Renovate tool is a way to manage dependencies - it automatically finds what needs to be updated, then upgrade it to the latest version, and create a pull request. If all tests pass, we can then merge this pull request. So far we have merged 267 of these pull requests.

Updating Joplin packages was long due. It is necessary so that we don't fall behind and end up using unsupported or deprecated packages. We also benefit from bug fixes and performance improvements. It is also important in terms of security, since recent package versions usually include various security fixes.

We used to rely on a tool called "npm audit" to do this, however it no longer works on the Joplin codebase, and it was always risky to use it since it would update multiple packages in one command - so if something went wrong it was difficult to find the culprit.

Renovate on the other hand upgrades packages one at a time, and run our test units to ensure everything is still working as expected. It also upgrades multiple instances of the same package across the monorepo, which is convenient to keep our code consistent. It also has a number of options to make our life easier, such as the ability to automatically merge a pull request for patch releases since this is usually safe (when a package is, for example upgraded from 1.0.1 to 1.0.3).

Although Renovate automates the package upgrades it doesn't mean all upgrades are straightforward - our tests won't catch all issues, so the apps might end up being broken or cannot be compiled anymore. So there's manual work involved to get everything working after certain upgrades - for the most part this has been done and the apps appear to be stable so far.

This will however be an important part of pre-release 2.10 (or should it be 3.0?) - we hope that everything works but we may need your support to try this version and report any glitch you may have found. As always pre-release regressions have the highest priority so we aim to fix them as quickly as possible.


Discuss on the forum

· 3 min read

As some of you may know Joplin Cloud so far has been operating under my own single-person limited company in the UK. This was mostly for convenience since it meant I could get things going quickly without having to setup a special structure for it.

Now that Joplin Cloud is becoming more mature however a proper company, simply called Joplin, has been created. This company will be based in France, and will be used mainly to handle the commercial part of the project, which currently is mostly Joplin Cloud. I'm still heading the company so there won't be any major change to the way the project is managed.

What does it mean for Joplin Cloud?

There will be no significant change - the website ownership simply moves from one company in the UK to one in France. The new company is still owned by myself so I will keep following the same roadmap.

What does it mean for the open source apps?

On the short term, the only visible change will be moving the non-open source assets, such as logo or trademark from the UK company to the French one. So expect a few changes in copyright notices here and there.

In the medium to long term, I would like to hire one or two software developers to help me with the Joplin Cloud development, because we reached a point where managing the whole project is difficult for a single person, so some help is needed. Some of their work might also touch the open source apps since both are quite related - but of course that work will remain open source too.

As a general rule, there will be a permanent commitment to keep the apps open source and to derive value from Joplin Cloud/Server.

Longer term I would like to create a non-profit organisation to handle the open source applications and to make decisions about the project, as well as to decide how to allocate any funding we receive (for example from GSoC).

Looking forward

Those past 6 years of developing Joplin have been an exciting and rewarding experience, thank you to all of you of the friendly and vibrant Joplin community for your contribution toward making Joplin the software it is today, and looking forward to continuing the journey together!


Discuss on the forum

· One min read

We are glad to announce the first Joplin Meetup that will take place on 30 August 2022 in London!

This is an opportunity to meet other Joplin users as well as some of the main contributors, to discuss the apps, or to ask questions and exchange tips and tricks on how to use the app, develop plugins or contribute to the application. Everybody, technical or not, is welcome!

We will meet at the Old Thameside Inn next to London Bridge. If the weather allows we will be on the terrace outside, if not inside.

More information on the official Meetup page:

https://www.meetup.com/joplin/events/287611873/


Discuss on the forum

· 2 min read

As always a lot of changes and new features in this new version available on both desktop and mobile.

Multiple profile support

Perhaps the most visible change in this version is the support for multiple profiles. You can now create as many application profile as you wish, each with their own settings, and easily switch from one to another. The main use case is to support for example a "work" profile and a "personal" profile, to allow you to keep things independent, and each profile can sync with a different sync target.

To create a new profile, open File > Switch profile and select Create new profile, enter the profile name and press OK. The app will automatically switch to this new profile, which you can now configure.

To switch back to the previous profile, again open File > Switch profile and select Default.

Note that profiles all share certain settings, such as language, font size, theme, etc. This is done so that you don't have reconfigure every details when switching profiles. Other settings such as sync configuration is per profile.

The feature is available on desktop only for now, and should be ported to mobile relatively soon.

Save Mermaid graph as PNG/SVG

This convenient feature allows exporting a Mermaid graph as a PNG or SVG image, or allows copying the image as a DataUrl, which can then be pasted in any compatible text editor. Thanks Asrient for implementing this!

Publish a mini-website using Joplin Cloud

Joplin Cloud now supports publishing a note "recursively", which means the notes and all the notes it is linked to. This allows easily publishing a simple website made of multiples and images.

To make use of this feature, simply select Also publish linked notes when publishing a note.

And more!

In total there are 38 changes to improve the app reliability, security and usability. Full changelog is at https://joplinapp.org/help/about/changelog/desktop


Discuss on the forum

· One min read

We are glad to announce that Google allocated us six projects this year for Google Summer of Code! So this is six contributors who will be working on various parts of the apps, both desktop and mobile, over the summer.

Over the next few weeks, till 13 June, will be the Community Bonding Period during which GSoC contributors get to know mentors, read documentation, and get up to speed to begin working on their projects.

Here's the full list of projects, contributors and mentors.

Project TitleContributorAssigned Mentor(s)
Improve PDF previewer of JoplinasrientRoman, JackGruber
Implement default plugins on desktop applicationmak2002CalebJohn, Laurent
Mobile — Easier EditingHenry HDaeraxa, CalebJohn
Improve plugin search and discoverabilityRetr0veJackGruber, Stefan
Tablet Layout ProjectTolu-MalsLaurent, Daeraxa
Email PluginBishoy Magdy AdeebStefan, Roman

Discuss on the forum

· One min read

The "Contributor Proposals" phase of GSoC 2022 is starting today! If you would like to be a contributor, now is the time to choose your project idea, write your proposal, and upload it to https://summerofcode.withgoogle.com/

When it's done, please also let us know by posting an update on your forum introduction post.

If you haven't created a pull request yet, it's still time to create one. Doing so will greatly increase your chances of being selected!


Discuss on the forum

· 2 min read

For the third year, Joplin has been selected as a Google Summer of Code mentor organisation! We look forward to start working with the contributors on some great new projects. This year's main themes are:

  • Mobile and tablet development - we want to improve the mobile/tablet application on iOS and Android.
  • Plugin and external apps - leverage the Joplin API to create plugins and external apps.
  • And of course contributors are welcome to suggest their own ideas.

Our full idea list is available here: GSoC 2022 idea list

In the coming month (March 7 - April 3), contributors will start getting involved in the forum and start discussing project ideas with the mentors and community. It's also a good time to start looking at Joplin's source code, perhaps work on fixing bugs or implement small features to get familiar with the source code, and to show us your skills.

One difference with previous years is that anyone, not just students, are allowed to participate.

Additionally, last year Google only allowed smaller projects, while this year they allow again small and large projects, so we've indicated this in the idea list - the small ones are 175 hours, and the large ones 350 hours.

· 2 min read

This new release is largely focused on bug fixing and optimising various parts of the apps. There's about 26 improvements and 25 bugs and security fixes included - as always many of these apply to both the mobile and desktop app (see the desktop changelog and mobile changelog).

Many thanks to all the contributors who helped create this release!

Below are some of the more noticeable changes:

Notebook custom icons

Since version 2.6 it was possible to assign an emoji icon to a notebook, and with this new version it's now possible to assign any custom icon. The icon may be a PNG or JPG file of any size. The app will then import the file and resize it to the correct size. To use a custom icon, follow these steps:

Right-click on a notebook, and select "Edit":

In the "Edit notebook" dialog, click "Select file..." and browse to your icon image:

Click "OK" and the icon will now appear next to the notebook:

The icon can be changed only from the desktop application at the moment, but it will sync and be displayed correctly on the mobile app too.

Plugin API improvements

This version also includes a number of improvements to the plugin API, in particular it is now easier to customise the editor context menu from a plugin and dynamically add items to it depending on the context. For example, with the Rich Markdown plugin it will be possible to right-click on an image and open it, or copy it to the clipboard.

A few additional functions have also been added to make plugin development simpler - in particular a command to open any item, whether it's a notebook, note, tag or attachement; and functions to work with attachements, in particular to reveal an attachement in the system file explorer, and to track changes to an attachement.

· One min read

As of 15 Feb 2022, disabled accounts on Joplin Cloud will be automatically deleted after 90 days. A disabled account is one where the Stripe subscription has been cancelled either by the user or automatically (eg for unpaid invoices).

Although it is an automated system, I will manually verify each account that's queued for deletion over the next few days for additional safety (for now everything's working as expected).

When an account is queued for deletion, all notes, notebooks, tags, etc are removed from the system within 2 days, and permanently deleted within 7 days. User information, in particular email and full name will be removed from the system within 2 days, but archived for an additional 90 days for legal reasons, after which they will be deleted too.