1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-24 10:27:10 +02:00

Doc: Import Patreon posts

This commit is contained in:
Laurent Cozic 2021-12-17 15:35:26 +01:00
parent 90363ec233
commit 2f1047e3eb
128 changed files with 1410 additions and 8 deletions

View File

@ -26,7 +26,7 @@ export async function findAvailablePort(tcpPortUsed: any, possiblePorts: number[
return port;
}
export async function mimeTypeFromHeaders(headers: Record<string, any>) {
export function mimeTypeFromHeaders(headers: Record<string, any>) {
if (!headers || !headers['content-type']) return null;
const splitted = headers['content-type'].split(';');

View File

@ -16,9 +16,9 @@ const { shimInit } = require('@joplin/lib/shim-init-node.js');
shimInit();
const blogDir = `${dirname(__dirname)}/readme/blog`;
const blogDir = `${dirname(dirname(__dirname))}/readme/blog`;
const tempDir = `${__dirname}/temp`;
const imageDir = `${dirname(__dirname)}/readme/blog/images`;
const imageDir = `${blogDir}/images`;
const htmlToMd = new HtmlToMd();
@ -60,7 +60,19 @@ async function createPostFile(post, filePath) {
const imageUrl = imageUrls[i];
const imageFilename = `${filename(filePath)}_${i}`;
const imagePath = `${tempDir}/${imageFilename}`;
const response = await shim.fetchBlob(imageUrl, { path: imagePath, maxRetry: 1 });
let response = null;
try {
response = await shim.fetchBlob(imageUrl, { path: imagePath, maxRetry: 1 });
} catch (error) {
console.warn(`Could not fetch image: ${imageUrl}`);
continue;
}
if (!response.ok) {
console.warn(`Could not fetch image: ${imageUrl}`);
continue;
}
const mimeType = mimeTypeFromHeaders(response.headers);
let ext = 'jpg';
@ -93,7 +105,7 @@ async function createPostFile(post, filePath) {
async function createPostFiles(posts) {
for (const post of posts) {
const filename = `${moment(post.published_at).format('YYYYMMDD-HHmmss')}.md`;
const filename = `${moment(post.published_at).utc().format('YYYYMMDD-HHmmss')}.md`;
await createPostFile(post, `${blogDir}/${filename}`);
}
}

View File

@ -0,0 +1,12 @@
# Web Clipper now available on Firefox and Chrome
[One of the most requested feature](https://github.com/laurent22/joplin/issues/135), the Web Clipper, is now available on the Firefox and Chrome store. It is possible to save a whole web page, or a simplified version of it, or a screenshot directly from the browser to Joplin. Like the rest of Joplin, the HTML page will be converted to Markdown, which means it can be easily edited and read even without a special viewer, and, since it's plain text, it also makes it easier to search and share the content.
Have a look at the [Web Clipper documentation](https://joplin.cozic.net/clipper/) for more information.
![](https://joplin.cozic.net/images/WebExtensionScreenshot.png)
* * *
url: https://www.patreon.com/posts/web-clipper-now-19589638
published_at: 2018-06-21T17:21:12.000+00:00

View File

@ -0,0 +1,14 @@
# New iOS release with improved attachment support
![](images/20180906-101039_0.png)
The iOS version for iPhone, iPad and iPod sometimes lags behind the Android one due to the App Store release process being more complex. However it eventually catches up, as is the case with the latest release, which includes all the features and bug fixes from the past few months.
In particular a feature that's been needed for a while - the ability to open resources (eg. PDF files or other attachments) in external viewers. That means all that's available in desktop - notes and attachments - is now also fully available on mobile, making the app much more useful. In this release there are also quite a few optimisations to the sync process so in some cases it should be faster, as well as better support for WebDAV. Finally there are various small fixes and improvements, such as support for SVG vector graphics, improved math formula support, etc.
All these improvements are also found in the recently released macOS, Windows, Linux and Android versions.
* * *
url: https://www.patreon.com/posts/new-ios-release-21242395
published_at: 2018-09-06T10:10:39.000+00:00

View File

@ -0,0 +1,12 @@
# Note properties in desktop application
![](images/20180916-200431_0.png)
The new desktop version of Joplin for Windows, macOS and Linux features a new dialog box to view and edit the note properties, such as the updated date, created date, source URL or even location. It's a small change but it can be useful. This dialog can be accessed by clicking on the Information icon in the toolbar.
As usual this release also includes various bug fixes and improvements. More information on the changelog: https://joplin.cozic.net/changelog/
* * *
url: https://www.patreon.com/posts/note-properties-21454692
published_at: 2018-09-16T20:04:31.000+00:00

View File

@ -0,0 +1,12 @@
# New release and many bug fixes
Reliability and stability is an important feature of Joplin as the application can potentially manage thousands of notes spanning many years (My oldest note, imported from another software, is from October 1999!). A stable interface without too many glitches also makes for a more pleasant user experience. For these reasons, bug fixes are always given high priority in this project, and are usually worked on before any new feature is added. The latest release for instance pretty much only contains bug fixes - eight of them, including one security fix.
Joplin is not bug free yet, there are still a few issues here and there, that sometimes depend on the user's hardware or configuration, and others that are hard to replicate or fix, but the app is getting there - more stable with each new release.
More information about this release and download link in the changelog - https://joplin.cozic.net/changelog/
* * *
url: https://www.patreon.com/posts/new-release-and-21717193
published_at: 2018-09-29T11:10:53.000+00:00

View File

@ -0,0 +1,16 @@
# Joplin and Hacktobertfest 2018 🎃
The [Hacktobertfest event](https://hacktoberfest.digitalocean.com/)  has started - it allows you to contribute to Joplin and, at the end of  the month, after having done 5 PR, you'll earn a limited edition  T-shirt.
To participate, go on https://hacktoberfest.digitalocean.com/  log in (with you github account) and you are ready to get in.
Next, go dive into the Joplin issues list labelled ["Hacktoberfest"](https://github.com/laurent22/joplin/labels/Hacktoberfest%20%3Ajack_o_lantern%3A)
We hope you will enjoy that event by contributing to the project which is a nice moment of sharing good vibe 🎃 🎉
*PS: the 5 Pull Request don't have to be done* ***only*** *on Joplin project, those can be done on any FOSS projects.*
* * *
url: https://www.patreon.com/posts/joplin-and-2018-21841975
published_at: 2018-10-04T08:11:23.000+00:00

View File

@ -4,7 +4,7 @@ The original search engine in Joplin was pretty limited - it would search for yo
The last versions of Joplin include a new search engine that provides much better results, and also allow better specifying search queries.
The search engine indexes in real time the content of the notes, thus it can give back results very fast. It is also built on top of SQLite FTS and thus support [all its queries](https://joplinapp.org/help/#searching). Unlike the previous search engine, the new one also sorts the results by relevance.
The search engine indexes in real time the content of the notes, thus it can give back results very fast. It is also built on top of SQLite FTS and thus support [all its queries](https://joplin.cozic.net/#searching). Unlike the previous search engine, the new one also sorts the results by relevance.
The first iteration of this new search engine was a bit limited when it comes to non-English text. For example, for searching text that contains accents or non-alphabetical characters. So in the last update, better support for this was also added - accentuated and non-accentuated characters are treated in the same way, and languages like Russian, Chinese, Japanese or Korean can be searched easily.

View File

@ -0,0 +1,16 @@
# Markdown plugins and Goto Anything
The latest release includes two relatively important new features:
The first one, is the addition of several Markdown plugins that enable new features: for example it's now possible to add a table of contents to your notes, to enable footnotes, or to render various text decorations, such as superscript, subscript, highlighting, etc. This was all made possible thanks to the efforts of Caleb John.
![](images/20190404-064157_0.png)
The second major new feature is the addition of the Goto Anything dialog. Press Ctrl+P or Cmd+P and type the title of a note to jump directly to it. You can also type # followed by a tag or @ followed by a notebook title. The feature was largely inspired by the cool Sublime Text Goto Anything feature.
![](images/20190404-064157_1.png)
* * *
url: https://www.patreon.com/posts/markdown-plugins-25864443
published_at: 2019-04-04T06:41:57.000+00:00

View File

@ -0,0 +1,16 @@
# The Joplin forum is one year old
Exactly one year ago, on 24 April 2018, the [Joplin forum](https://discourse.joplinapp.org/) was created as a result of [this post on GitHub](https://github.com/laurent22/joplin/issues/418). Before this, the only way to discuss the project was indeed on the GitHub bug tracker, which is not ideal for general discussion about features, development and so on.
After looking at various options, eventually we settled on Discourse, which provides a nice clean UI, works well on mobile, and is easy to manage. Even better, the Discourse team was kind enough to host the project for us for free, as part of their [Free hosting program for open source projects](https://blog.discourse.org/2016/03/free-discourse-forum-hosting-for-community-friendly-github-projects/). Not having to manage or pay for the server is great, and it means more time can be spent developing the application.
On the opening day, there was only three users - me, foxmask and zblesk, joined a few days later by tessus, merlinuwe, jhf2442, sciurius and many others. Today there are 811 users, 6700 posts, about 15 new posts created each day, and about 2000 pageviews each day.
The forum has been very useful to discuss features and development, to provide support and news, and to organise [events such as Hacktoberfest](https://discourse.joplinapp.org/t/joplin-and-hacktobertfest-2018/752). It also serves as a knowledge base (via the [search function](https://discourse.joplinapp.org/search)) to provide solutions regarding various Joplin issues.
Of course the forum has also been great to develop the community around the Joplin project, and hopefully will keep serving us well for the years to come!
* * *
url: https://www.patreon.com/posts/joplin-forum-is-26325959
published_at: 2019-04-24T10:24:10.000+00:00

View File

@ -0,0 +1,36 @@
# Note history now in Joplin
The latest versions of Joplin adds support for note history. The applications (desktop, mobile and CLI) now preserve previous versions of the notes, so you can inspect or restore them later on as needed.
A common complain with many sync-based note taking apps is that they work in an opaque way - sometimes notes are changed or they disappear and it's not clear why - it could be a user error, or some bug, but regardless it makes it hard to trust the app with thousands of notes. So this feature give transparency over what's happening - if some note seems to be gone or changed when it shouldn't, the redundant data allows investigating the issue and restoring content.
Another medium term goal is to allow the implementation of a recycle bin. Behind the scene, this is essentially already done since whenever a note is deleted, a final revision of that note is preserved. What's missing is a user interface (i.e. the recycle bin) to view these deleted notes.
### How does it work?
All the apps save a version of the modified notes every 10 minutes. These revisions are then synced across all the devices so if you're looking for a particular version of a note that was made on mobile, you can later find that version on the desktop app too.
### How to view the history of a note?
While all the apps save revisions, currently only the desktop one allow viewing these revisions.
To do so, click on the Information icon in the toolbar, then select "Previous version of this note".
![](images/20190523-221026_0.png)
The next screen will show the latest version of the note. You can then choose to view a different version, if any, or to restore one of them.
To restore a note, simply click on the "Restore" button. The old version of the note will be copied in a folder called "Restored Notes". The current version of the note will not be replaced or modified.
![](images/20190523-221026_1.png)
### How to configure the note history feature?
Additional options are available in the "Note History" section of the configuration screen. It is possible to enable/disable the note history feature. It is also possible to specify for how long the history of a note should be kept (by default, for 90 days).
IMPORTANT: Please note that since all the revisions are synced across all devices, it means these settings are kind of global. So for example, if on one device you set it to keep revisions for 30 days, and on another to 100 days, the revisions older than 30 days will be deleted, and then this deletion will be synced. So in practice it means revisions are kept for whatever is the minimum number of days as set on any of the devices. In that particular case, the 100 days setting will be essentially ignored, and only the 30 days one will apply.
* * *
url: https://www.patreon.com/posts/note-history-now-27083082
published_at: 2019-05-23T22:10:26.000+00:00

View File

@ -0,0 +1,16 @@
# Changing attachment download behaviour to save disk space
One issue that came up frequently in the forum is that Joplin's data can be very large, especially when the note collection includes many attachments (images, PDFs, etc.). This happens in particular when using the web clipper a lot, as each web page usually has many images included.
The recent versions of Joplin (Desktop, mobile and CLI) attempt to mitigate this issue by providing an option to change how attachments are downloaded during synchronisation.
![](images/20190610-230711_0.png)
The default option is to download all the attachments, all the time, so that the data is available even when the device is offline. However, more importantly, there's now the option to download the attachments **manually,** by clicking on it, or **automatically**, in which case the attachments are downloaded only when a note is opened.
These changes should help saving disk space and network bandwidth, especially on mobile.
* * *
url: https://www.patreon.com/posts/changing-to-save-27539487
published_at: 2019-06-10T23:07:11.000+00:00

View File

@ -0,0 +1,16 @@
# Customising your notes with the help of the development tools and CSS
In Joplin desktop, it has been possible [to customise the appearance of your notes](https://joplinapp.org/#custom-css) using CSS for quite some time.
An issue however is that it is difficult to know what CSS to write and how to select specific elements with CSS. The development tools that were just added allow figuring this out. They are available under the menu **Help > Toggle development tools.**
![](images/20190613-192613_0.png)
Then, from the "Elements" tab, it is possible to select an element and view the corresponding HTML as well as styles. It is also possible to modify the style in real time and view the changes before adding them to userstyle.css.
![](images/20190613-192613_1.png)
* * *
url: https://www.patreon.com/posts/customising-your-27609047
published_at: 2019-06-13T19:26:13.000+00:00

View File

@ -0,0 +1,28 @@
# Joplin now supports Fountain screenwriting markup language
[Fountain](https://fountain.io/) is markup language for screenwriting. Similar to Markdown, it is a lightweight markup format, which allows editing screenplays in plain text.
The desktop and mobile Joplin applications now support Fountain, allowing you to write and read your screenplays on your computer or on the go. To add a Fountain screenplay to a note simply wrap it into a fenced block, with the "fountain" identifier. For example:
```fountain
\*\*FADE IN:\*\*
A RIVER.
We're underwater, watching a fat catfish swim along.  
```
For example, here is Big Fish on mobile:
![](images/20190814-215957_0.png)
and on desktop:
![](images/20190814-215957_1.png)
* * *
url: https://www.patreon.com/posts/joplin-now-29169691
published_at: 2019-08-14T21:59:57.000+00:00

View File

@ -0,0 +1,44 @@
# New icon for Joplin!
The Joplin icon is going to change soon. The one we have now is something I put together quickly, not knowing if the project would interest someone, so I didn't want to spend too much time on it. Now that the project is more mature, it makes sense to start improving the visuals - first the icon, then the logo font, the website and finally the app UI (although these have already been improved little by little over the past year).
Before picking an icon, I'd be interested to hear about your feedback and whether you have a preference among those below. They all share the same idea - which is something that looks like a note, and that contains a "J" too.
Feedback is welcome! And if you have a preference **please answer this post and put your top 2 or 3 icons** in your post and we'll do a tally in a few days.
**Icon A**
![](images/20190924-230254_0.png)
**Icon B**
![](images/20190924-230254_1.png)
**Icon C**
![](images/20190924-230254_2.png)
**Icon D**
![](images/20190924-230254_3.png)
**Icon E**
![](images/20190924-230254_4.png)
**Icon F**
![](images/20190924-230254_5.png)
**Icon G**
![](images/20190924-230254_6.png)
**Icon H**
![](images/20190924-230254_7.png)
* * *
url: https://www.patreon.com/posts/new-icon-for-30218482
published_at: 2019-09-24T23:02:54.000+00:00

View File

@ -0,0 +1,21 @@
# Hacktoberfest 2019 is coming soon!
A word form @foxmask, our community manager!
\* \* \*
[Hacktoberfest](https://hacktoberfest.digitalocean.com/) is back this year again for our great pleasure ^^
here are the rules to participate:
> To qualify for the official limited edition Hacktoberfest shirt, you must register and make four pull requests (PRs) between October 1-31 (in any time zone). PRs can be made to any public repo on GitHub, not only the ones with issues labeled Hacktoberfest. This year, the first 50,000 participants who successfully complete the challenge will earn a T-shirt.
To participate go to https://hacktoberfest.digitalocean.com/, log in (with you GitHub account) and you are ready to get in.
Next, go dive into the Joplin issues list labelled "[Hacktoberfest](https://github.com/laurent22/joplin/labels/hacktoberfest)".
Start hacking, submit the PR from the 1st of October, not before.
We hope you will enjoy that event this year again like the previous one  🎃 🎉
*PS: the 4 Pull Request don’t have to be done* ***only*** *on Joplin project, those can be done on any FOSS projects. Even PR for issue not tagged as 'hacktoberfest'*
* * *
url: https://www.patreon.com/posts/hacktoberfest-is-30334358
published_at: 2019-09-29T14:28:34.000+00:00

View File

@ -0,0 +1,18 @@
# Support for chemical equations using mhchem for Katex
The next version of Joplin will feature support for chemical equations using mhchem for Katex.
For example this mhchem syntax will be rendered as below in Joplin:
> $\\ce{CO2 + C -> 2 CO}$
> $C_p\[\\ce{H2O(l)}\] = \\pu{75.3 J // mol K}$
> $\\ce{Hg^2+ ->\[I-\] HgI2 ->\[I-\] \[Hg^{II}I4\]^2-}$
![](images/20191012-223121_0.png)
* * *
url: https://www.patreon.com/posts/support-for-for-30712513
published_at: 2019-10-12T22:31:21.000+00:00

View File

@ -0,0 +1,14 @@
# New Joplin icon, second round
 The quest for a [new Joplin icon](https://www.patreon.com/posts/new-icon-for-30218482)  continue - first many thanks for the votes and feedback! It definitely  helped getting a better sense of what would make a great icon.
Taking all this into account, the remaining candidates are the 5  following icons. The first three were the top voted icons, and the  following two are based on the feedback here and on the forum.
Again that would be great if you could vote for your top 2 icons. I  expect the winner among these will be the next Joplin icon. Also of  course general feedback is welcome too!
![](images/20191014-155136_0.png)
* * *
url: https://www.patreon.com/posts/new-joplin-icon-30751136
published_at: 2019-10-14T15:51:36.000+00:00

View File

@ -4,7 +4,7 @@ Good news, our Google Summer of Code 2020 application [has been accepted](https:
Since we made the announcement back in November, we already had a few students submitted pull requests and getting themselves familiar with the codebase.
We hope some of them will work on [the project ideas](https://joplinapp.org/gsoc2020/ideas/) we've suggested, and develop some great features this summer!
We hope some of them will work on [the project ideas](https://joplinapp.org/gsoc2020/ideas.html) we've suggested, and develop some great features this summer!
* * *

View File

@ -22,7 +22,7 @@ Some features are missing, most notably the ability to insert plugin blocks such
One issue to be aware of, one that cannot be easily fixed, is that **some Markdown plugins are not supported by the editor**. This is because once the Markdown is converted to HTML, and displayed in the WYSIWYG editor, it cannot be converted back to the original Markdown. Some plugins are supported, such as Katex, Fountain or Mermaid. But others are not, like the multi-md table. So if you open a note that contains a multi-md table in the WYSIWYG editor and save, the original multi-md Markdown will be lost, and you'll get back a plain Markdown table.
Again if you find any issue, please report it on GitHub: [https://github.com/laurent22/joplin/issues/176](https://github.com/laurent22/joplin/issues/176) 
Again if you find any issue, please report it on GitHub: https://github.com/laurent22/joplin/issues/176 
![](images/20200314-001555_1.gif)

View File

@ -0,0 +1,40 @@
# Joplin informal encryption and security audit results
Joplin encryption, and in particular the E2EE system used during synchronisation, was recently audited by Isaac Potoczny-Jones, CEO of [Tozny](https://tozny.com) and this is what he had to say:
> I was looking through your encryption implementation for Joplin and I have a few comments and concerns. I don't see anything that I \*know\* is a critical issue, but there are a number of choices and weaknesses that I'd like to lend you some advice about.
### OBC2
> OCB2, the chosen multi-block cipher mode has had some weaknesses identified in the last few years. I don't know this mode well since it's not a NIST-approved mode, but here's a paper on the topic. I get the impression it's not considered a good choice anymore. [Source](https://pdfs.semanticscholar.org/bb95/0d82fd390e732f71d8320530994bfb6d2529.pdf
We indeed had been notified about this issue by another cryptographer and had been preparing migration to the more secure CCM mode. Migration for this is now complete in all the Joplin clients and a migration tool has been added to the Encryption config screen of the desktop application. In particular you can perform two operations:
- Upgrade the master key: This will convert the master key encryption to CCM
- Re-encryption: With this tool, you can re-encrypt all your data using the new encryption method based on CCM. Please follow the instructions on this screen and note that this process can take quite a bit of time so it's better to plan for it and run it over night. It is not entirely clear how the OBC2 flaw can be exploited but it is best to upgrade your data as soon as possible.
### Unnecessary key expansions
> Running key expansion on a random key: Your encrypt function uses either 1k or 10k rounds of key derivation. The goal of this is to reduce brute-force attacks against user-chosen passwords. This function appears to me to be used for both password-based key derivation (at 10k rounds) \*and\* bulk encryption of data from a randomly-generated "master key" (at 1k rounds). The bulk encryption does not need the password expansion since the key is randomly generated (presumably with a cryptographically strong generator). I suspect this could be a major performance issue on the bulk encryption of raw data, so if you're finding encryption slow, this is maybe why.
This is more a performance than a security issue. Indeed, the previous encryption method was using 1,000 key expansion iterations every time a note was encrypted, which is unnecessary since the master key is already secured with 10,000 iterations. As a result the encryption algorithm has been changed to perform only 100 iterations when encrypting notes, which should result in faster encryption and decryption on the desktop, mobile and CLI applications.
### Unnecessary and potentially insecure master key checksum
> You make and store a checksum of the master password with SHA256 in addition to encrypting it. I expect this is because you need a way to tell if the user's password is correct. I've never seen this done before, and it has me concerned, but I don't know for sure that it's an issue. Thought I'd mention it anyway. [Source](https://crypto.stackexchange.com/questions/61915/can-i-hash-a-secret-key-and-used-the-hash-as-key-id). At least with CCM mode (and I think with OCB2) it shouldn't successfully decrypt if you have the wrong password.
A checksum was previously stored with the master key to verify that it is valid. This could potentially weaken the security of the mater key since, as mentioned in Cryptography StackExchange link, "in the standard model of hash functions there isn't a requirement that hash outputs not have properties that leak information about the input". It was also unnecessary since the decryption algorithm in use would fail if the key is invalid, so the additional checksum was not needed.
This has also been addressed by the new master key upgrading tool. If you have performed the upgrade, the checksum will be gone from your master key.
### Encrypting local secrets with a keychain service
> Now I did notice that you cache the plain text password in the database, which is a bit concerning, but I guess the security model of your encryption approach is that it happens during sync, not locally. The generally accepted approach \[to store secrets\] is to use a keychain service, which is available pretty much on all modern platforms.
Passwords are indeed cached locally, so that you don't have to input it again every time a note needs to be encrypted or decrypted for synchronisation. It is assumed that your local device is secure, which is why for now passwords were cached locally.
To improve security however, future versions of Joplin will use the system keychain whenever it is available. A [pull request](https://github.com/laurent22/joplin/pull/2861) is in progress to add this feature.
To conclude I'd like to thank Isaac Potoczny-Jones for conducting this audit and revealing these potential security issues. Joplin is now much safer as a result.
* * *
url: https://www.patreon.com/posts/joplin-informal-35719724
published_at: 2020-04-06T21:42:54.000+00:00

View File

@ -0,0 +1,22 @@
# GSoC 2020 students have been announced by Google
The first phase of GSoC has ended and  the two students who will be working with the Joplin community in summer have been selected! So congratulation to [@naviji](https://discourse.joplinapp.org/u/naviji)  and [@anjulalk](https://discourse.joplinapp.org/u/anjulalk)  ! We’re glad to have you on board, and looking forward for the  improvements you’re going to make as part of your projects on,  respectively, the **search engine** and the **keyboard shortcut editor**! We’ll be in touch to give you more info on what happens next.
On our side, this is our first GSoC and we learnt quite a bit in the  process. We got feedback from the students and we’re definitely taking  it on board. One key point is that we didn’t expect Joplin to get that  much interest as this is a relatively new project, and as a result we  had trouble managing the number of proposals and pull requests we got.  We also quickly ran out of “Good first issues”, which means for students  coming a bit late it wasn’t clear what you could work on.
So next year, we’ll restrict a bit the number and the type of pull  requests each student can make. Ideally we’d prefer if you work on only  one or two medium-sized pull requests, rather than several small ones,  so that you can really focus on it and give your best work. Of course,  that makes it also more manageable for us as there will be less pull  requests to review. I wasn’t too happy with the way I was reviewing  sometimes, giving short and not very helpful comments at time, as I was  trying to get as many PRs done as possible. Instead it would be best to  do less but do it better.
Another point is that we should make it clear how many slots we’re  likely to get. We cannot know for sure, it’s up to Google, but we can at  least give an estimate. That way, you can decide whether it makes sense  to invest your time in the project, or if it would be best to pick a  different, less busy project.
In any case, this is a learning process for all, and we aim to improve over time.
Also a quick update on the number of pull requests - so far we have reviewed and processed 104 pull requests for GSoC (59 of which were merged) and there are still 32 pull requests that need to be reviewed and merged. So that's a lot of improvements and bug fixes on Joplin in the coming weeks.
Many thanks to all the students who joined us this year! We  definitely appreciate your time and contribution on this project,  whether it’s with your pull requests or via your participation on the  forum, and you’re of course welcome to give it another try next year, or  to stay around in the community.
Also many thanks to our mentors [@PackElend](https://discourse.joplinapp.org/u/packelend), [@bedwardly-down](https://discourse.joplinapp.org/u/bedwardly-down), [@mic704b](https://discourse.joplinapp.org/u/mic704b), [@tessus](https://discourse.joplinapp.org/u/tessus), [@CalebJohn](https://discourse.joplinapp.org/u/calebjohn), [@rullzer](https://discourse.joplinapp.org/u/rullzer) for their help coordinating all this, writing the documentation and reviewing pull request and proposals!
* * *
url: https://www.patreon.com/posts/gsoc-2020-have-36782383
published_at: 2020-05-05T18:17:36.000+00:00

View File

@ -0,0 +1,20 @@
# New pre-release coming soon
Now that the GSoC changes have been merged and the application made more stable following the rewrite of the note editor code, a new pre-release will be available soon.
It will include several important features, which I will describe into more details in following posts, but for information the main new features will be:
\- Allow editing note attachments and syncing the changes
\- Save sensitive settings such as passwords to the system keychain
\- Allow changing the app appearance according to the system theme
\- Allow manually ordering notes
\- A new text editor, Code Mirror, will be available for beta-testing
* * *
url: https://www.patreon.com/posts/new-pre-release-37955161
published_at: 2020-06-06T15:14:46.000+00:00

View File

@ -0,0 +1,40 @@
# New editor, editable attachments, dark mode support and more in latest pre-release
The [latest pre-release is now available](https://github.com/laurent22/joplin/releases) and includes 13 bug fixes and 9 various improvements and new features, among others:
**Editable attachments**
Files you attach to a note can now be edited. To do this, click on the attachment or, if it's an image, right-click on it and select open. The file will then be watched by the application and any change you make will be saved to Joplin, and synchronised.
**New Markdown editor**
A new Markdown editor (Code Mirror) is now included with Joplin. For now it is for beta testing only so you need to manually enable it in the options in "Note" => "Use CodeMirror as the code editor". The goal of this new editor is to address several of the issues that have affected the previous Markdown editor and that were either hard or impossible to fix, in particular:
- Support for spell checking. Note that it is not yet implemented in the new editor but it at least can be done now.
- Variable font size. The previous editor would not allow this, which would cause various issues.
- Search within the Markdown text. Previously it was only possible to searched with the note viewer but with this editor it should be possible to search within the Markdown text too.
- Improved support for emojis.
- Improved support for Asian languages and Russian.
If possible, please help test this new editor and [report any issue in the forum](https://discourse.joplinapp.org/)! (or GitHub)
**Manual ordering of notes**
You can now manually order the notes within the notebook. For this to work, make sure you choose "Custom order" in the menu View => Sort Notes by
**Support for system keychain on macOS and Windows**
One of the issues mentioned in the [security audit](https://www.patreon.com/posts/joplin-informal-35719724) was that certain sensitive settings, like Nextcloud or encryption passwords were saved unencrypted in the Joplin profile. This new release will make use of the system keychain when it is available and move the sensitive settings to it. You don't need to do anything to make use of this feature, it is automatically enabled in this release.
Currently this is supported on macOS and Windows. It is disabled of course for the portable version, and is also not currently enabled for Linux due to a build issue and less consistent support than on macOS and Windows.
**Support for system theme**
The app can now auto-detect the system theme and switch to it automatically. This essentially adds support for system "dark mode", which are now common on most operating systems. You may choose a preferred "light" theme and "dark" theme in the option.
![](images/20200607-112720_0.png)
* * *
url: https://www.patreon.com/posts/new-editor-dark-37980343
published_at: 2020-06-07T11:27:20.000+00:00

View File

@ -0,0 +1,10 @@
# New design for Joplin!
Thanks to the mentor stipend we got from Google for GSoC, we've been able to hire a designer to improve the design of the desktop application. Serj is now at his second iteration and your feedback on it would be most welcome!
![](images/20200613-103545_0.png)
* * *
url: https://www.patreon.com/posts/new-design-for-38190482
published_at: 2020-06-13T10:35:45.000+00:00

View File

@ -0,0 +1,12 @@
# Version 3 of the new design is ready!
![](images/20200616-191918_0.png)
As usual your feedback is welcome, and just for info some of this is going to change. In particular what's mentioned in my own feedback:
![](images/20200616-191918_1.png)
* * *
url: https://www.patreon.com/posts/version-3-of-new-38305158
published_at: 2020-06-16T19:19:18.000+00:00

View File

@ -0,0 +1,10 @@
# Version 4 of the new design is ready!
I think it's nearly there as all the details have been ironed out now. If you notice any issue or have any suggestion though, feel free to let me know!
![](images/20200620-114515_0.png)
* * *
url: https://www.patreon.com/posts/version-4-of-new-38432550
published_at: 2020-06-20T11:45:15.000+00:00

View File

@ -0,0 +1,12 @@
# Please cast your vote for the new Joplin colour scheme
For those who haven't seen it, there's an ongoing poll on the forum to vote for the new colour scheme (Light Theme for now):
https://discourse.joplinapp.org/t/please-vote-for-the-new-light-theme-colour-scheme/9504 
Please cast your vote if you haven't already, or add a comment here if you don't have a forum account.
* * *
url: https://www.patreon.com/posts/please-cast-your-38490292
published_at: 2020-06-22T08:41:27.000+00:00

View File

@ -0,0 +1,10 @@
# Desktop new design is nearly ready, please cast your final vote!
Please either vote on the forum or let me know here what option you would prefer:
https://discourse.joplinapp.org/t/desktop-new-design-is-nearly-ready-please-cast-your-final-vote/9698
* * *
url: https://www.patreon.com/posts/desktop-new-is-38641769
published_at: 2020-06-26T13:40:29.000+00:00

View File

@ -0,0 +1,24 @@
# New config screen design is ready!
The design put the menu bar on the left, which I think makes sense, as it's consistent with the main screen UI. And I expect this bar will be the same colour as the main screen sidebar
For checkboxes Serj used a toggle button, which actually makes it easier to align all the labels on the left (a checkbox with a label on the left looks strange) so I might go with it.
Otherwise the screens are relatively similar but tidier. If you have any suggestion on what could be changed, feel free to let me know.
**Synchronisation config**
![](images/20200708-192444_0.png)
**Synchronisation config (error messages)**
![](images/20200708-192444_1.png)
**Plugin config**
![](images/20200708-192444_2.png)
* * *
url: https://www.patreon.com/posts/new-config-is-39113279
published_at: 2020-07-08T19:24:44.000+00:00

View File

@ -0,0 +1,48 @@
# Improving the sync process in Joplin
The latest version of Joplin includes a mechanism to upgrade the  structure of a sync target. When you startup the app you will be asked  to upgrade before being able to sync. Once you start the process, the  app will briefly display an information screen, upgrade the sync target,  and then restart the app. You’ll then be able to sync with the new sync  target format. That first upgrade is quite simple as the goal for now  is to put the mechanism in place and verify that it works well.
From a user perspective this feature doesn’t do anything visible, although [it caused some issues](https://github.com/laurent22/joplin/issues/3692#issuecomment-685679213), so one might wonder why it’s even there. This post is meant to clarify this.
The structure of the sync target hasn’t really changed since the day  Joplin was released. It works well however it has some shortcomings that  should be fixed eventually for sync to remain performant.
There are also various improvements that could be made but were not  previously possible due to the lack of an upgrade mechanism. I have  listed below the 5 main limitations or issues with the current sync  process and how they could be fixed:
### No upper limit on the number of items
Joplin’s UI works well even with millions of notes, however the sync  target will keep getting slower and slower as more files are added to  it. File systems often have a limit to the number of files they can  support in a directory. One user also has reached [the limit of 150,000 items on OneDrive](https://discourse.joplinapp.org/t/limit-on-the-number-of-child-items-was-reached/3804).
For now, this is not a big issue because most users don’t have  millions of items, but as more web pages are being clipped (clipped  pages often contain many small resources and images) and more note  revisions are created (one note can have hundreds of revisions), this  issue might start affecting more users.
One way to solve this issue would be to split the sync items into  multiple directories. For example if we split the main directory into  100 sub-directories, it will be possible to have 15,000,000 OneDrive  items instead of 150,000. Another way would be to support note  archiving, as described below. How exactly we’ll handle this problem is  still to be defined, but there are certainly ways.
### Not possible to prioritise downloads
Currently, when syncing, the items are downloaded in a random way. So  it might download some notes, then some tags and notebooks, then back  to downloading notes, etc. For small sync operations it doesn’t matter,  but large ones, like when setting up a new device, it is very  inefficient. For example, the app might download hundreds of note  revisions or tags, but won’t display anything for a while because it  won’t have downloaded notebooks or notes.
A simple improvement would be to group the items by type on the sync  target. So all notebook items together, all tags together, etc. Doing so  means when syncing we can first download the notebooks, then the notes,  which means something will be displayed almost immediately in the app,  allowing the user to start using it. Then later less important items  like tags or note revisions will be downloaded.
### End-to-end encryption is hard to setup
Currently, the encryption settings is a property of the clients. What  it means it that when you setup a new client, it doesn’t know whether  the other clients use encryption or not. It’s going to guess more or  less based on the data on the sync target. You can also force it to use  encryption but this has drawbacks and often mean a new master key is  going to be created, even though there might already be one on the sync  target.
E2EE works well once it’s setup, but doing so can be tricky and possibly confusing - if you didn’t follow [this guide](https://joplinapp.org/e2ee/) to the letter, you might end up with multiple master keys, or sending decrypted notes to an encrypted target.
A way to solve this would be to make the E2EE settings a property of  the sync target. Concretely there would be a file that tells if E2EE is  enabled or not, and maybe some way to quickly get the master key. It  would simplify setting up encryption a lot and make it more secure  (because you won’t be able to send non-encrypted notes to an encrypted  sync target). When you setup a new client, the client will know  immediately if it’s an encrypted target or not and set the client  accordingly.
### Old notes that never change should be handled differently
It would be more efficient to treat old notes differently by allowing  the user to “archive” them. An archived note would be read-only. Then  one idea could be to group all these archived notes into a ZIP file on  the sync target. Doing so means that the initial sync would be much  faster (instead of downloading hundred of small files, which is slow, it  will download one large file, which is fast). It would also make the  structure more scalable - you could keep several years of archived notes  on the sync target while keeping sync fast and efficient.
### The resource directory should be renamed
The folder that contains file attachments is named “.resources” on  the sync target. This causes troubles because certain platforms will  hide directories that start with dot “.”, and perhaps they will be  excluded from backup or skipped when moved somewhere else. Being able to  upgrade the sync target means we can rename this folder to just  “resources” instead.
### Conclusion
That’s obviously a lot of possible improvements and it won’t be done  overnight, but having the sync upgrade mechanism in place means we can  start considering these options. Some of these, such as renaming the  “resources” dir are simpler and could be done relatively soon. Perhaps  other more complex ones will be group within one sync target upgrade to  minimise disruption. In any case, I hope this clarifies the reason for  this recent sync upgrade and that it gives some ideas of what to expect  in the future.
* * *
url: https://www.patreon.com/posts/improving-sync-41310131
published_at: 2020-09-06T17:23:25.000+00:00

View File

@ -0,0 +1,36 @@
# Version 1.1: Search engine update
In this series of posts, I will introduce the changes that are coming in version 1.1 (which in fact is already available as a pre-release).
For this first feature, I will let Naveen, our GSoC candidate, present it. Naveen has made an excellent job implementing various search engine features, including advanced filters, support for Okapi BM25 scoring algorithm, and fuzzy search. Here is what he has to say:
### What got done
The project consisted of three parts:
1. Make search better by introducing additional search filters. (e.g., tags, notebook, type)
2. Make the ranking of search results better by implementing the [Okapi BM25](https://en.wikipedia.org/wiki/Okapi_BM25) relevance function.
3. Make fuzzy search possible.
### Code contributions
1. [**All: Add search filters**](https://github.com/laurent22/joplin/pull/3213)
Joplin's search had been using the Full-Text Search(FTS) offered by  SQLite directly. So though it was fast, it was not versatile. For  example, we can't restrict the search scope to a particular notebook or  search based on tags.
The current search implementation fixes most of these problems. It  provides a better abstraction over FTS, supporting many new filters. The  documentation for the new search filters can be found [here.](https://github.com/laurent22/joplin#searching)
 
2. [**All: Weigh notes using Okapi BM25 score**](https://github.com/laurent22/joplin/pull/3454)
Joplin used a ranking function based on the number of times the search query occurs in the note and how close they are.
But there are better ways to rank notes, considering not just the  number of times a word appears, but how common it is. Words like "the"  is in most notes, while words like "zebra" are not common and should be  considered more relevant.
The new search implementation uses [Okapi BM25](https://en.wikipedia.org/wiki/Okapi_BM25)  as the ranking function. It ranks a set of documents based on the query  terms appearing in each document, regardless of their proximity.
 
3. [**Desktop: Fuzzy search**](https://github.com/laurent22/joplin/pull/3632)
We've added support for fuzzy search. It doesn't replace the need to put  * at the end if you want to do a prefix search. But it does let you be a  bit more relaxed about the exact spelling. Searching for "tomatos" will  also give you results for "tomatoes". (This feature isn't released yet,  but will be soon)
It has been a pleasure working with Laurent and Caleb. They did an excellent job as mentors.
I hope these new features will be useful to many people. I plan to  continue as a member of the Joplin community and help in whatever way I  can.
* * *
url: https://www.patreon.com/posts/version-1-1-41561666
published_at: 2020-09-13T16:37:30.000+00:00

View File

@ -0,0 +1,39 @@
# Version 1.1: Keyboard shortcut editor
In this series of posts about version 1.1, we'll introduce another feature by one of our GSoC candidates, Anjula. Anjula developed over the past few months a system to allow configuring the keymap shortcuts, and created a nice editor for it.  Here is what he has to say:
\* \* \*
Joplin desktop application supports keyboard shortcuts to a certain  degree. However, there wasn't an option for users to configure keyboard  shortcuts according to their preferences. My project was to implement a  keyboard shortcut editor along with the necessary integration.
Custom keyboard shortcuts would be a great addition for all Joplin  users including power users and those who are migrating to Joplin from  other note-taking applications. People also do not have the same  keyboard layout; not everyone has F6 necessarily. It would solve  conflicts between different preferences of workflows, and increase  discoverability for all keyboard shortcuts.
![](images/20200915-091108_0.png)
### Back-end service for handling keymapping-related functionality
KeymapService builds an in-memory keymap based on the default keymap  configuration. The default keymap configuration may vary from platform  to platform. Essentially, the in-memory keymap binds a keyboard shortcut  for some command of Joplin. Clients of KeymapService may obtain the  keyboard shortcuts for some commands, and/or alter the keymap via the  provided methods.
KeymapService also allows altering the keymap via a keymap file,  which is located in the profile directory. Contents of this keymap file  will take higher priority than the default keymap configuration, and  will replace the default keyboard shortcuts.
It is guaranteed that the keymap always stays pristine with proper validation.
### Keyboard shortcut editor with the necessary functionality to alter the keymap
Depending on the interfaces of KeymapService, the Keyboard shortcut editor allows the user to,
- View all the available commands and their respective keyboard shortcuts
- Change, or disable a keyboard shortcut for some command
- Restore a keyboard shortcut to its default value
- Export all changes to a keymap file (in JSON format)
- Import changes from an exported keymap file
- Perform a simple search to locate some shortcut
Changes performed to the keymap will be reflected immediately in the  application user-interface as well as in the keymap file located in the  profile directory. The editor will also perform continuous validation to  ensure that the keymap will not enter a dirty-state. For example, it  won't allow the user to use the same shortcut for two or more commands.
The complete report with details of code contributions can be found [here.](https://gist.github.com/rahulbansal3005/3d566668a94c882d9f56811e18a2b17f)
* * *
url: https://www.patreon.com/posts/version-1-1-41625391
published_at: 2020-09-15T09:11:08.000+00:00

View File

@ -0,0 +1,14 @@
# What sharing and collaboration features would you find useful?
I'm still trying to get a sense of what sharing and collaboration features would be useful in Joplin. By this mean any way to share a note with someone else or have multiple users collaborate on the same set of notes or notebooks.
If a feature like this might interest you, I'd be helpful if you could describe: how would you use it? How would you expect it to work?
All this might not be implemented right away, but it will inform how the development should happen for example by making sure that even if a feature can't be done now the software is done in such a way that it's possible to add it later on.
Any idea or suggestion is welcome!
* * *
url: https://www.patreon.com/posts/what-sharing-and-43323221
published_at: 2020-10-30T11:45:30.000+00:00

View File

@ -0,0 +1,22 @@
# Spell checker support now available in v1.4
[With 340 votes on GitHub](https://github.com/laurent22/joplin/issues/275), spell checker support was the most requested feature and is now finally available in Joplin! This was always tricky to add due to the custom editors (Rich Text and Markdown) we use, but thanks to the recent improvements in the Electron framework and to Caleb John's work on the Markdown editor it is now possible.
It should be working fine in both editors however it is currently considered Beta for the Markdown Editor because to enable the feature we had to use a special mode which in the past caused various issues. Now it seems to work well, at least we haven't noticed any bug so far, but please keep that in mind. If you notice any issue let us know in the forum.
**Enabling the spell checker**
To enable or disable the spell checker, simply click on the top right hand globe icon (or select Spell Checker in the Tools menu), then select the language you would like to use. Since the list of languages can be huge on certain operating system, the latest selected languages also appear just below the "Use spell checker" checkbox.
![](images/20201126-114649_0.png)
**Activating the Markdown Editor Beta spell checker**
By default, the spell checker is not activated in the Markdown editor even if "Use spell checker" is ticked because it is currently in Beta state. To enable it, go to the General settings, open the Advanced Settings, and select "Enable spell checking in Markdown editor". As mentioned above, we think the feature is stable and haven't found any bug with it, however if you notice anything please let us know.
![](images/20201126-114649_1.png)
* * *
url: https://www.patreon.com/posts/spell-checker-in-44328867
published_at: 2020-11-26T11:46:49.000+00:00

View File

@ -0,0 +1,32 @@
# Plugin support available in Joplin v1.4
The plugin system has been part of Joplin since the previous version, however it was still a bit unstable. In the latest version we're getting a bit closer to production-ready state. The [plugin API](https://joplinapp.org/api/overview/) in particular has been significantly expanded, based on the developer feedback, so that more types of plugin are possible now, and indeed a few plugin concepts have started appearing on the forums. In particular all this could be done now:
- Access notes, folders, etc. via the data API
- Add a view to display custom data using HTML/CSS/JS
- Create a dialog to display information and get input from the user
- Create a new command and associate a toolbar button or menu item with it
- Get access to the note currently being edited and modify it
- Listen to various events and run code when they happen
- Hook into the application to set additional options and customise Joplin's behaviour
- Create a module to export or import data into Joplin
- Define new settings and setting sections, and get/set them from the plugin
- Create a new Markdown plugin to render custom markup.
- Create an editor plugin to modify low-level the behaviour of the Markdown editor (CodeMirror)
**Plugin JPL format and configuration screen**
The plugin configuration screen has also been updated so that it's possible to import the new JPL (**J**oplin **PL**ugin) format and to enable/disable as well as uninstall plugins.
![](images/20201130-145937_0.png)
**What's next?**
It is now possible to create new plugins, package them into the JPL format, and to install them into the app.
The last piece missing is a way to discover and share plugins, and a way to update them easily, basically what we need is an online package manager. It is not clear yet how this is going to be done, but one idea would be to have a GitHub repository where anyone could submit or update a plugin, then the app would connect to that repository to make it easy to install new plugins. This is just an idea at this point though, and if you have any suggestion on other ways it could be done, feel free to let me know. A [discussion about it](https://discourse.joplinapp.org/t/plugin-repository/12692) has been started in the forum.
* * *
url: https://www.patreon.com/posts/plugin-support-4-44478322
published_at: 2020-11-30T14:59:37.000+00:00

View File

@ -0,0 +1,24 @@
# Changing the application layout in v1.4
One feature that may have gone a bit unnoticed in recent versions is the ability to change the application layout. It is mainly aimed at plugins, so that they can create a panel anywhere, and you can then move it wherever you want, but it can also be used to re-arranged existing application components.
For example, you can put the note list below the sidebar, to have more space for the text editor, move the sidebar to the right of the application, etc.
To begin changing the application layout, click on "Change application layout" from the View menu:
![](images/20201212-172039_0.jpg)
This will put the app into a special mode, from which you can move the side bar, note list and text editor around. You do so by pressing on the arrow keys:
![](images/20201212-172039_1.png)
For example, pressing the left arrow on the note list would move it to the left, just below the sidebar:
![](images/20201212-172039_2.png)
Once you're done modifying the layout, press the "Escape" key to exit.
* * *
url: https://www.patreon.com/posts/changing-layout-44961536
published_at: 2020-12-12T17:20:39.000+00:00

View File

@ -0,0 +1,16 @@
# The macOS app is now notarised
From version 1.5, the macOS application will now be notarised. It means that when you install it you will no longer see a warning telling you that the app hasn't been checked for malware. You also won't need to go in the OS security settings to launch the app.
Notarisation has been around since macOS Catalina, however it took a while to implement it for Joplin as the process is complex and error prone.
First the app has to be built and uploaded to Apple's servers. They then automatically check the app for any malware, a process that can take 5 to 15 minutes (and presumably more if the app is incorrectly flagged as malware). Once it's done, Apple creates a notarisation ticket for the app.
Then whenever the app is started, Apple check on their server if the app has a notarisation ticket (a process that recently caused "[apps taking minutes to launch, stuttering and non-responsiveness throughout macOS](https://arstechnica.com/gadgets/2020/11/macos-big-sur-launch-appears-to-cause-temporary-slowdown-in-even-non-big-sur-macs/)"). It's also possible to staple this notarisation ticket to the app, so that it's possible to check the ticket even when the computer is offline.
All that has now been automated in the Joplin build pipeline, and will apply to all macOS app future versions.
* * *
url: https://www.patreon.com/posts/macos-app-is-now-45511600
published_at: 2020-12-28T11:21:50.000+00:00

View File

@ -0,0 +1,18 @@
# PDF viewer, audio and video player now in Joplin 1.5
The latest version features of Joplin features a few improvements to make it easier to preview various media files. For now it is possible to view PDF files, as well as listen and view audio and video files.
![](images/20210104-131645_0.png)
![](images/20210104-131645_1.png)
The feature is optional and you can enable/disable it in the settings, each viewer has its own settings:
![](images/20210104-131645_2.png)
For now the feature works on desktop (Markdown editor only) and on mobile (except for the PDF viewer).
* * *
url: https://www.patreon.com/posts/pdf-viewer-audio-45795383
published_at: 2021-01-04T13:16:45.000+00:00

View File

@ -0,0 +1,43 @@
# Joplin Server pre-release is now available
The first release of Joplin Server is now available as a pre-release:
https://github.com/laurent22/joplin/blob/dev/packages/server/README.md
### What does it sync with?
You will need Joplin v1.6+ clients, which are available as pre-releases for [desktop](https://github.com/laurent22/joplin/releases) and [Android](https://github.com/laurent22/joplin-android/releases).
### What does it do?
At this point, this server allows you to sync any Joplin client with it, as you would do with Dropbox, OneDrive, etc. So in that way, it's not essential. Long term, the goal is to add collaboration features:
- Sharing a note with anyone, using a URL. When the note is changed, the content at the URL is changed too.
- Sharing a notebook with a user on the same Joplin Server instance. For example, if you share a notebook with another user, that user will see this notebook in their desktop or mobile app, and will be able to edit the notes, etc.
### Any improvement over Nextcloud?
For now, one benefit of using Joplin Server, compared to Nextcloud or WebDAV in general, is that it is much faster and resource efficient. I've done a basic test with Nextcloud and Joplin Server running on the same server. Both have mostly default settings (except Nextcloud which uses Redis for file locks):
![](images/20210105-153008_0.png)
Why is it so much faster? I assume it's in part because the WebDAV protocol is terribly inefficient. It sends unnecessarily large XML blobs for every request, which are time consuming to download and parse. It also doesn't support delta sync (unlike Joplin Server), which means the complete file list needs to be downloaded before syncing in order to compare the local and remote items.
Finally it's possible that Nextcloud file locking system means an overhead on each request. It shouldn't be much since it's handled by Redis but who knows. Joplin Server doesn't need locking as data consistency is handled by the clients.
So just by following common sense and transferring only the required data in a sane format (JSON), we can have something more performant. In my case, I appreciate that the mobile app no longer freezes when it starts synchronising - before it would do that due to the large XML WebDAV file that needs to be parsed.
### Stability
I've been using it with the desktop and mobile app for a few weeks now and haven't had any issue so far. The server also passes all the existing sync-related test units (sync, e2ee and lock handling) so I'm reasonably confident it can already be used. As always though, keep making backups in case there's any issue.
### Suggestions are welcome
This is still a pre-release and if you notice anything off please let me know. In particular, I believe it doesn't gzip responses, so that will need to be added. The process also doesn't restart when it crashes, which could be solved with pm2.
Also if you have any idea on how to make installation easier, your feedback is welcome.
* * *
url: https://www.patreon.com/posts/joplin-server-is-45843886
published_at: 2021-01-05T15:30:08.000+00:00

View File

@ -0,0 +1,18 @@
# Joplin is applying for GSoC 2021!
We are going to apply again this year for GSoC. If we are selected by Google, this year's theme will be centered around:
\- Joplin plugin system - eg. development of various features that can be done as plugins, and improvement of the plugin system itself.
\- Joplin external applications - anything that can be developed as an external application and that makes use of Joplin's API and other extension points.
At times we had a rough GSoC last year, mostly because we weren't familiar with the process and how to best handle various situations, but overall it was a success and we got great improvements to the search engine and keyboard shortcut systems thanks to our two students. We plan to make some adjustments to the way we welcome students to make the process go smoothly this year.
We will submit the GSoC application on 19 Feb and will let you know if we are selected. Like last year, we would appreciate any help with managing the event - if you are interested in **being a tutor**, or if you can **help with welcoming new students** and answering their questions, please let us know!
So far, we have @CalebJohn, @PackElend, @tessus and myself as potential tutors.
* * *
url: https://www.patreon.com/posts/joplin-is-for-46865025
published_at: 2021-01-30T14:46:26.000+00:00

View File

@ -0,0 +1,12 @@
# Joplin will have a stand at the "Journées du Logiciel Libre" conference in Lyon, France
Just a quick announcement to let you know that on 3 and 4 April, we will have a stand for Joplin at the [Journées du Logiciel Libre](https://www.jdll.org/) in Lyon, France. The JdLL has been taking place in Lyon for 22 years and is a popular open source conference in France. Last year we had a stand too, but of course that was cancelled due to Covid. So this year is a first for Joplin so if you're around, come and say hi!
Also I am looking for anyone who could help look after the stand, even for an hour or two, over these two days. There won't be a lot to do - pretty much just hand over fliers and answer the occasional question, which as Joplin users I'm sure you'll know the answer to. Coffee and/or beers are on me :-) So if you aren't far and would be interested, please let me know!
![](images/20210309-111950_0.jpg)
* * *
url: https://www.patreon.com/posts/joplin-will-have-48528285
published_at: 2021-03-09T11:19:50.000+00:00

View File

@ -0,0 +1,10 @@
# Joplin has been accepted for Google Summer of Code 2021!
For the second year, Joplin [has been accepted as an organisation](https://summerofcode.withgoogle.com/organizations/6579646541332480/) for GSoC 2021. This is great news and we look forward to start working with students and discuss project ideas. We should see some nice new features and improvements on the project again this year.
![](images/20210310-100852_0.png)
* * *
url: https://www.patreon.com/posts/joplin-has-been-48570442
published_at: 2021-03-10T10:08:52.000+00:00

View File

@ -0,0 +1,14 @@
# Getting close to being mainly a TypeScript project
Been checking the numbers now and then and I see there will soon be more TypeScript than JavaScript code in the repo:
![](images/20210413-091132_0.png)
Probably a good part of the JS code is in the CLI app, which hasn't been updated much. Critical parts of the app are now in TypeScript, including the synchronizer, database and encryption service. Joplin Server is also entirely in TypeScript. Even the database rows are now typed thanks to sql-ts.
So anyway TypeScript has been a big win for the project as it made it possible to refactor and modernise many parts of it in a safe way, and make the code future proof and easier to work with! I expect we should get to over 50% over the next few months.
* * *
url: https://www.patreon.com/posts/getting-close-to-49973882
published_at: 2021-04-13T09:11:32.000+00:00

View File

@ -0,0 +1,34 @@
# Call for Google Summer of Code mentors!
A message from PackElend, who's been helping us organise GSoC this year (and last year)
\* \* \*
Hi Community,
we are going to apply for the GSoC student slots next week, soon we know what can be done this season.
To put us in a comfortable position it would be appreciated if there would another handful of people who would mentor a project.
Is there anyone interested in doing so?
\* \* \*
Here is some information about the role of a mentor:
### After student selection
- Ensure your student is ready & active. They should have a dev environment, be regularly communicating in the community, and have prepared a project plan together with you.
- Read the GSoC Mentoring Manual and ask questions if you have them.
- If the student is not active during the community bonding period, please contact the organization administrators.
### During the program
- Help your student be successful. Commit to spending a minimum of 4 hours each week answering questions, giving advice, working with your student on blockers.
- Agree with the students how many times per week they should write a progress report. Ensure that they deliver this report on time each week, and evaluate their progress.
- You might have adjust goals based on their progress.
* * *
url: https://www.patreon.com/posts/call-for-google-50662125
published_at: 2021-04-30T08:32:48.000+00:00

View File

@ -0,0 +1,10 @@
# Joplin has been granted 6 project slots for GSoC 2021
Google has announced the project slots for GSoC 2021 and granted us 6 this year. That's a big step up from our first GSoC last year when we got 2!
In the coming weeks we will be reviewing the student applications again and select the 6 candidates as well as mentors. By the way if you might be interested in co-mentoring a project, feel free to let me know (More info in [this post](https://www.patreon.com/posts/call-for-google-50662125)).
* * *
url: https://www.patreon.com/posts/joplin-has-been-50928344
published_at: 2021-05-06T08:33:59.000+00:00

View File

@ -0,0 +1,22 @@
# Sharing a note by link in Joplin Server 2.0
Joplin Server had a feature to share a note by link for a few versions now but it was mostly a beta feature. In Joplin Server 2.0, the feature will be officially released and should be stable.
To share a note, you will need the corresponding desktop application v2.0. Then you can right-click on any note and select "Share note..." from the context menu. You can also select multiple notes, and each will have its own share link.
![](images/20210513-095238_0.jpg)
After that a dialog opens showing you the note - from there you just need to click on "Copy shareable link" to create the share link and copy it to the clipboard.
![](images/20210513-095238_1.jpg)
You can then share this link with anyone and they will be able to see the note in their browser:
![](images/20210513-095238_2.jpg)
Note that at the moment sharing a link does not work with End-To-End Encryption. If you share a note, it will always be decrypted, even on the server. This should be addressed in a future version. The URL however is secure - only people you share the URL with will be able to see the note. In other words, it's not possible to guess or discover the URL any other way.
* * *
url: https://www.patreon.com/posts/sharing-note-by-51203113
published_at: 2021-05-13T09:52:38.000+00:00

View File

@ -0,0 +1,52 @@
# The six Google Summer of Code projects and students have been selected!
Google has reviewed the project proposals we had submitted and all students have been approved. Congratulation and welcome to our six students - we're looking forward to see your work!
Below is the list of projects along with the student name and mentors. This year we will have a main mentor and a co-mentor for each project and in the list below, the main mentor is listed first:
**BibTeX Plugin**
Student: Abdallah Ahmed
Mentors: Laurent Cozic, Helmut K. C. Tessarek
**Improving Conflict Resolution Process**
Student: Ahmed Alwasifey
Mentors: Jack Gruber, Caleb John
**Kanban Board Plugin**
Student: Mablin
Mentors: Roman Musin, Laurent Cozic
**Paste Special**
Student: Siddhant Sehgal
Mentors: Helmut K. C. Tessarek, Stefan Müller
**Real-Time Collaboration**
Student: Akash Konda
Mentors: Stefan Müller, Roman Musin
**Template Plugin**
Student: Nishant Mittal
Mentors: Jack Gruber, Caleb John
\* \* \*
The official Google of Summer Code page has also been updated with the list of projects:
https://summerofcode.withgoogle.com/organizations/6579646541332480/
* * *
url: https://www.patreon.com/posts/six-google-of-51394265
published_at: 2021-05-18T08:55:14.000+00:00

View File

@ -0,0 +1,58 @@
# Share notebooks and collaborate on them using Joplin Server 2.0
Since a few versions Joplin Server includes a way to share notebooks between users and collaborate on them - i.e. any participant can view or modify notes in the shared notebook. It's been present since version 2.x and the feature is getting close to be stable.
**How does it work?**
When connected to Joplin Server (or the upcoming Joplin Cloud service), a new "Share notebook" menu item is available when right-clicking on a notebook.
![](images/20210621-104753_0.png)
Click on it, and it will display a new dialog where you can add any number of recipients. Those recipients also need to be on the same Joplin Server instance. From this dialog you can also remove a recipient or unshare the whole notebook, in which case it will be removed from everybody's note collection, except yours.
![](images/20210621-104753_1.png)
Once this is done, the recipient(s) will receive a notification in Joplin the next time they synchronise their data:
![](images/20210621-104753_2.png)
Then, finally, once the invitation is accepted, Joplin will download all the shared notebooks and notes. A shared notebook is denoted by the usual Share icon. Now the invited user can read or modify the shared notes, add attachments, etc. and the changes will be visible to everyone with access to the notebook.
![](images/20210621-104753_3.png)
**What's the availability of the notebook sharing feature?**
The notebook sharing feature is available on Joplin Server and Joplin Cloud.
On desktop, you can share notebooks and of course view or modify any notebook that has been shared with you.
On mobile and CLI, you cannot currently share notebooks, but you can view or modify any notebook that has been shared with you.
**If I share a notebook with someone, what access do they have?**
Currently they have full access to the data, including reading, writing and deleting notebooks or notes. In a future version, access control might be implemented. For example, to only give read-only access to the shared notebook.
**What can actually be shared?**
All the sub-notebooks, notes and resources within the shared notebook are shared.
**Does it work with End-To-End-Encryption?**
Yes and no. It is possible to use the share notebook feature even with E2EE enabled, however any shared notebook or note will not be encrypted, otherwise you would have had to give your master key password to the people you share with, which you'd probably not want to do.
In a future version, this might be supported. For example by automatically creating a new master key for the shared notebook. You would then provide the recipients with that master key password.
**What can it be used for?**
Some ideas:
- Plan a trip with friends or within a small organisation. For example, the notes could contain the maps, hotel and flight reservations, etc. or any document or note relevant to the trip. And all participants would have access to them.
- Work on a project with colleagues. Everybody can access various work-related documents, add to them, modify them, etc. That could serve as a knowledge base for a project.
- Another possible use, which has been requested many times, is to support multiple profiles. You could create a main profile that have access to all notes, and in there create a Work and Personal notebook. Then you would create a separate account for work. You can then share your Work notebook with that other account. That way the work account will only have access to the Work notebooks. You can use this technique in various ways to split your notebooks between multiple accounts and ensure strict separation between datasets.
* * *
url: https://www.patreon.com/posts/share-notebooks-52748835
published_at: 2021-06-21T10:47:53.000+00:00

View File

@ -0,0 +1,10 @@
# Poll: What's the size of your note collection?
Poll is on the forum:
https://discourse.joplinapp.org/t/poll-whats-the-size-of-your-note-collection/18191
* * *
url: https://www.patreon.com/posts/poll-whats-size-52884691
published_at: 2021-06-24T17:18:44.000+00:00

View File

@ -0,0 +1,12 @@
# Any ideas for a Joplin tagline?
I'm going to update the website front page to better showcase the application. I have most of the sections right, but the part I'm still not sure about is the top tagline, so I'm wondering if anyone had any suggestion about it?
From what I can see on Google Keep or Evernote for example it should be something like "Use our app to get X or Y benefit", it should be a sentence that directly speaks to the user essentially.
So far I have "Your notes, anywhere you are" but I'm not certain that's particularly inspiring. Any other idea about what tagline could be used?
* * *
url: https://www.patreon.com/posts/any-ideas-for-53317699
published_at: 2021-07-05T09:42:47.000+00:00

View File

@ -0,0 +1,10 @@
# Poll: What should Joplin tagline be?
Thanks everyone for your tagline suggestions - there were lots of good ideas in there. I've compiled a few of them and create a poll in the forum, so please cast your vote! And if you have any other suggestions on what would make a good tagline, feel free to post over there or here.
https://discourse.joplinapp.org/t/poll-what-should-joplin-tagline-be/18487
* * *
url: https://www.patreon.com/posts/poll-what-should-53367672
published_at: 2021-07-06T14:02:28.000+00:00

View File

@ -0,0 +1,24 @@
# New website is ready!
The new website is finally ready at https://joplinapp.org
![](images/20210711-095626_0.png)
The previous website had been built organically over the past few years. It had a lot of useful content but finding your way was tricky and, for new users, it wasn't clear what Joplin was about. Finding out how to install the app wasn't obvious since the download buttons were lost in the clutter of information.
So the new website includes a front page with clear goals:
- Allows people to easily download the app - for that there's a large Download button at the top and bottom of the page. It redirects to a page that automatically picks the version based on your operating system.
- Showcase the application key features. The [key features post](https://discourse.joplinapp.org/t/what-are-the-key-features-of-joplin/5837) on the forum helped narrow down what Joplin is about, so there are sections about the web clipper, the open source nature of the app, encryption, synchronisation, customisation and the ability to create multimedia notes.
- The top screenshots have also been updated (the previous one was showing a dev version from 2016, before the app was even released). As a nod to Scott Joplin, the screenshot shows an imaginary plan to open a vintage piano store, with various tasks, tables, documents and images attached, to showcase Joplin features.
- Finally there's a Press section, which includes extracts from some cool articles that have been written about the app.
Also many thanks to everyone who voted and contributed to the tagline discussion! It helped narrow down what the tagline should be, along with the equally important description below. If you have any question or notice any issue with the website let me know!
* * *
url: https://www.patreon.com/posts/new-website-is-53554295
published_at: 2021-07-11T09:56:26.000+00:00

View File

@ -0,0 +1,18 @@
# The Jopin Cloud beta is now closed
The beta program helped narrow down a few issues and should make Joplin Cloud (and Joplin Server) more reliable. More precisely:
- About 7 bugs have been fixed, including two major ones regarding sharing, and one security issue.
- About a dozen improvements, new features and optimisations have been added following your feedback.
As promised if you have a beta account you can keep using it and it will remain free for the three months after the account was created. After that, you will receive a link to start the Stripe subscription if you wish to keep using the account.
If you have sent me an email before the end of the beta and I didn't reply yet, I will do so soon, and will send you the confirmation email.
Thanks everyone for participating!
* * *
url: https://www.patreon.com/posts/jopin-cloud-beta-53822957
published_at: 2021-07-18T10:35:38.000+00:00

View File

@ -0,0 +1,22 @@
# New beta editor for the mobile app
The [latest Android pre-release 24](https://github.com/laurent22/joplin-android/releases) features an improved beta editor, which I hope could become a replacement for the very basic editor we have at the moment.
It's still experimental because it's based on the equally experimental CodeMirror 6, however for simple editing tasks it seems to work fine. At the moment the improvements are:
\- Syntax highlighting for various tags such as bold, italic and headings.
\- List continuation for ordered and unordered lists (I didn't try checklists but I assume it doesn't work)
\- Improved undo/redo
\- Maybe better handling of large documents? CodeMirror 6 has a demo that loads a document with millions of lines, so maybe that will solve the performance issues that some users were having
If everything works well, later on we should be able to add things like a toolbar, spellchecking and other features that are impossible with the current editor.
If you find any bug, feel free to report here. Also make sure you backup your notes regularly in case there's an issue!
* * *
url: https://www.patreon.com/posts/new-beta-editor-54251117
published_at: 2021-07-29T10:32:34.000+00:00

View File

@ -0,0 +1,16 @@
# How to start your subscription if you have a free Joplin Cloud Beta account
For anyone with a beta account, if you would like to keep using it after the end of the trial period, there is now a button to do this from the Joplin Cloud home page:
<img height="222" src="https://aws1.discourse-cdn.com/standard14/uploads/cozic/optimized/2X/e/e2b54352d0e401e692a75817f6faa0432322c405_2_517x222.png" width="517">
If you click on it you will be sent to the Plans page via a special link. Then once you click on "Buy now" you will be sent to the Stripe page where you can start the subscription.
As mentioned in the message, the process takes into account your remaining beta trial days. So for example, if your beta account expires in 60 days, the subscription will have a free 60 days trial period. This is so you don't lose any of the beta trial days no matter when you start the subscription.
If you have any question about it, please let me know.
* * *
url: https://www.patreon.com/posts/how-to-start-if-54505640
published_at: 2021-08-04T08:50:03.000+00:00

View File

@ -0,0 +1,16 @@
# Joplin Cloud is officially production ready!
[Joplin Cloud](https://joplinapp.org/plans/) has been out of beta for a few weeks now and since then it has been quietly running without any troubles. There is no known bugs and the service is running smoothly so it's now safe to say that it is production ready!
As a reminder, Joplin Cloud is meant to provide a more seamless Joplin experience - if you want to quickly get started, it's as easy as downloading the app and getting a Joplin Cloud account. Besides improved sync performance, that will give you the ability to collaborate on notebooks with others, as well as publishing and sharing notes.
Of course Joplin still supports other sync options such as Nextcloud, Dropbox and OneDrive or AWS S3. You can also self host using Joplin Server. The advantage of Joplin Cloud being that you don't need to maintain a server yourself - for a small fee you'll get that taken care of.
Additionally, subscribing to Joplin Cloud is a great way to support the project as a whole, including the open source applications. Such support is needed in the long term to provide bug and security fixes, add new features, and provide support.
At some level it is also an experiment, to see if such a service is financially viable and can allow me to work full time on the project. This is certainly something I would like, and perhaps Joplin Cloud combined with your donations will allow that.
* * *
url: https://www.patreon.com/posts/joplin-cloud-is-55576440
published_at: 2021-08-31T15:43:54.000+00:00

View File

@ -0,0 +1,16 @@
# Introducing recommended plugins in the next Joplin version
A common request from new users is how to know which plugin is safe to install or not. In fact probably all of them are safe but as a new user that's not necessarily easy to know. So to help with this, the next version of Joplin will support recommended plugins - those will be plugins that meet our standards of quality and performance, and they will be indicated by a small crown tag inside the plugin box. Recommended plugins will also appear on top when searching.
![](images/20210901-113415_0.png)
For now, since we don't have a review process, the recommended plugins are those developed by the Joplin team and frequent contributors, because we know those are safe to use.
Later we might have a review process and add more recommended plugins. That being said, in the meantime even if a plugin is not marked as recommended, there's a good chance it is still safe and have good performance too. Often you can search for it on the forum and if it's active with many users commenting, you're most likely good to go.
But if there's any doubt, the recommended tag is a good way to be sure.
* * *
url: https://www.patreon.com/posts/introducing-in-55618802
published_at: 2021-09-01T11:34:15.000+00:00

View File

@ -0,0 +1,58 @@
# Joplin 2.4 is available!
Joplin 2.4 is now available on desktop, mobile and CLI. Here's what's new in this release:
### Sync Wizard Dialog
A new Sync Wizard Dialog has been added to simplify setting up sync on new clients.
The dialog shows the main sync targets, their differences, and makes it easy to choose one and start synchronising. This is mostly aimed at new users or those perhaps less technical. Those who are self hosting or using complex setups will still easily find what they need from a link on that dialog (or in Config > Synchronisation like before).
Sync setup on mobile has been slightly improved too - now on a new client, instead of asking you to sync with Dropbox directly (which may not be what you want), it jumps to the Config > Synchronisation section where you can select the sync target
![](images/20210929-144036_0.png)
### Disable synchronisation
It's a small change but something that's been asked many time - it's now possible to disable synchronisation entirely by selecting "None" as a sync target. Previously that could be done in a hacky way, by selecting a non-configured sync target. Now it's clearer and easier to do.
![](images/20210929-144036_1.png)
### Add back support for deprecated plugins
Recently some plugins stopped working because deprecated plugin APIs had been removed. It had been planned for a long time but I suspect the warnings weren't visible enough so plugin developers didn't act on them, and as a result many plugins stopped working.
This is now fixed in the latest version. A selected number of plugins will have access to these old deprecated APIs, which means they will start working again. This was mainly affecting ambrt's plugins such as "Convert Text To New Note" or the popular "Embed Search" plugin.
### Add support for recommended plugins
As mentioned in an earlier post, we now support [recommended plugins](https://www.patreon.com/posts/introducing-in-55618802). These recommended plugins appear on top when searching and are identified by a small crown.
![](images/20210929-144036_2.png)
### End to End Encryption improvements
Like most recent releases, v2.4 includes a few improvement to the End to End Encryption (E2EE) system. The goal is to make it easier to use, to make it more reliable and to support the future use case of sharing encrypted notebooks or notes.
One important change is the support for a master password. This single password will be responsible to encrypt various keys, including some that will be automatically generated. Thanks to this, it won't be necessary to ask to enter a new password every time a key needs to be encrypted, since the master password can be used. It will also be easier to manage since you'll only have one password to remember instead of a different one for each notebook you might have shared.
Finally, it's now possible to disable a master key. What it means is that it will no longer show up in the list of master keys, and will also no longer generate a warning asking you to enter the password. In some case you might have forgotten it and no longer need it key, so you can now disable it.
### Custom CSS
This version also introduces a few internal change to better support custom CSS. In particular the colours now come from a CSS file, which could potentially be overridden, and new UI elements are styled using stylesheets, which likewise could be overridden.
Those are just first steps, but eventually these changes will make it easier to style the UI and create new themes.
### Bug fixes
This release also includes about 30 various bug fixes and improvements.
A notable one is a fix for GotoAnything, which recently wasn't working on first try.
The plugin screen has also been improved so that search works even when GitHub is down or blocked, as it is in China in particular.
* * *
url: https://www.patreon.com/posts/joplin-2-4-is-56756602
published_at: 2021-09-29T14:40:36.000+00:00

View File

@ -0,0 +1,24 @@
# "Certificate has expired" error with Joplin Cloud, and workaround
Some of you might be experiencing an error "Certificate has expired" when synchronising with Joplin Cloud (and possibly other services) when using the desktop application.
This is due to Let's Encrypt root certificate that expired on 30 September, and the new method they are using is not compatible with the Joplin desktop application.
This actually affects thousands of applications, not just Joplin, so various solutions are being considered right now and hopefully a fix will be available relatively soon.
For now, as a workaround, you can simply check "**Ignore TLS certificate errors**" in **Configuration > Synchronisation > Advanced Options**
I will let you know as soon as a fix is available so that you can clear that option.
More info:
\- [Issue with Electron and expired root](https://community.letsencrypt.org/t/issues-with-electron-and-expired-root/160991) on Let's Encrypt
\- [Let's Encrypt root CA isn't working properly](https://github.com/electron/electron/issues/31212) on Electron GitHub repository
**Update:** I have implemented a temporary fix on Joplin Cloud which should solve the issue for now. If you're still having some issues please let me know. An updated desktop app will be available later on with a more permanent fix.
* * *
url: https://www.patreon.com/posts/certificate-has-56809486
published_at: 2021-09-30T16:34:58.000+00:00

View File

@ -0,0 +1,58 @@
# Joplin v2.5 is available for desktop and mobile!
[Joplin v2.5](https://joplinapp.org/download/) is now available for desktop, mobile and CLI! Here's an overview of the changes:
### Support for Markdown + Front Matter
Markdown + Front Matter is a format that allows attaching metadata, such as tags, creation date, or geolocation to a Markdown file. This is done by adding a block of YAML code (a "front matter") at the top of the file.
Thansk to Caleb John's efforts the Joplin desktop and CLI applications now support importing and exporting these files. When exporting, we try to preserve as much metadata as possible, while still keeping it the formatting user friendly.
Here's an example, with the Front Matter at the top, delimited by "---", and the text below.
![](images/20211031-115215_0.png)
Markdown + Front Matter is an excellent way to share notes with someone who doesn't have Joplin, to backup notes in a durable format (since no third-party application is needed to read it), and also to export notes to other applications, or to import them.
As with the regular Markdown exporter, the images and attachments are also exported.
### Add support for callback URLs
Callback URLs is a semi-standard that defines how certain resources in an application can be accessed via URLs. Either to view the resource, or to perform certain actions, such as deletion, creation, etc.
Joplin now support callback URLs to open notes, notebooks and folders. To do so, right click on a note and select "Copy external link":
![](images/20211031-115215_1.png)
That would give you a URL such as this:
> joplin://x-callback-url/openNote?id=b7a7b93281f54d928612eea550f33a7f
Then if you click it from outside the app, the app will open and select this particular note. In practice such a feature allows third-party application to interact with Joplin by creating links that can be opened from outside. For example, you may use a different application for project planning, then link to the individual notes for more details about each task.
Many thanks to Roman Musin for adding the feature!
### Improved end-to-end encryption support
The series of quiet but major changes to the end-to-end encryption support continue in this new verison. One goal is still to allow sharing notebooks while encryption is enabled.
To that end, v2.5 includes support for RSA public-private key pairs. If you have encryption enabled, they will be automatically generated when you synchronise by the mobile, desktop or CLI applications. Later on, these keys will be used to allow sharing encrypted notebooks.
The second goal of these E2EE changes is to simplify the system enough that it can be enabled by default. To that end, the master password dialog and encryption screen have been improved. An option to reset the master password is now also available.
### Various other improvements and bug fixes
In total this release includes about 11 other bug fixes and improvements. There was in particular several improvements to the share features. It is now also possible for a share recipient to leave the shared notebook.
### Mobile app update
As always the mobile apps (to be released soon) benefit from several of the above changes since they share the same codebase as the desktop app.
Specific to the mobile version 2.5 are some improvements to the beta editor - in particular the layout has been cleaned up, and the first word of sentences is now automatically capitalised, which makes typing notes easier. If you haven't tried the beta editor yet, you can enable it from the Configuration screen.
The full changelog is available there: https://joplinapp.org/changelog/
* * *
url: https://www.patreon.com/posts/joplin-v2-5-is-58097252
published_at: 2021-10-31T11:52:15.000+00:00

View File

@ -0,0 +1,25 @@
# Potential breaking change in next Joplin Server update (2.5.10)
Just a head up that the next Joplin Server update could potentially include a breaking change, depending on your data.
One of the database migration is going to add an "owner_id" column to the "items" table (where all notes, notebooks, etc. are stored), and automatically populate it. Normally that shouldn't take too long but you might want to make sure you won't need the server right away when you process this.
The second database migration will add a unique constraint on items.name and items.owner_id and that's where the breaking change might be. Normally this data is already unique because that's enforced by the application but in some rare cases, due a race condition, there could be duplicate data in there. If that happens the migration will fail and the server will not start.
If that happens, you'll need to decide what to do with the data, as it's not possible to automatically decide. You can find all duplicates using this query:
&lt;code&gt;**select** count(*), name, owner_id
**from** items **group** **by** name, owner_id
**having** count(*) > 1;&lt;/code&gt;
Once you have the list of IDs you have a few options:
- Find the corresponding item in Joplin (it can unfortunately be anything - a note, resource, folder, etc.), then delete it and sync.
- Or, just delete the data directly in the database. You'll want to delete the corresponding item\_id from the user\_items table too.
But really in most cases you should be fine. Especially if you don't have that many notes it's unlikely you have duplicates.
* * *
url: https://www.patreon.com/posts/potential-change-58206692
published_at: 2021-11-02T15:04:03.000+00:00

View File

@ -0,0 +1,68 @@
# Joplin 2.6 is available!
Many changes in this new release, available on mobile, desktop and CLI:
**Per-notebook sort order and sort buttons**
This new feature adds a number of changes to the way notes are sorted. The most visible one is the addition of a sort button above the note list - it allows sorting by modification date, creation date, title or by custom order, in either ascending or descending order:
![](images/20211217-120324_0.png)
By default, this sort order is going to apply to all notebooks, however you can now also assign a per-notebook sort order. In this case, any sort order will be apply to that notebook only. To enable this behaviour, simply right-click on a notebook and select "Toggle own sort order":
![](images/20211217-120324_1.png)
Thanks to Kenichi Kobayashi for developing this feature!
**Support for notebook icons**
It is now possible to associate icons with notebooks no both the desktop and mobile applications. To do so, right-click on a notebook and selected "Edit".
![](images/20211217-120324_2.png)
This will open the new notebook dialog from which can change the title and assign an icon. For now the icons are emojis but perhaps custom icons could be supported later on.
![](images/20211217-120324_3.png)
**Allow collaborating on encrypted notebooks using Joplin Cloud**
Thanks to the encryption improvements in the previous Joplin versions it is now possible to share and collaborated on encrypted notebooks, when synchronising with Joplin Cloud (or Joplin Server).
To get this working, you and the recipient will need to have Joplin 2.6 and the person who shares will need to have encryption enabled. After that most of the process is handled automatically by the apps - in particular it will automatically generate and share the required encryption keys for each users.
**Improved synchronisation startup speed**
Synchronisation is also a bit faster in this release due to an optimisation on the startup process. When syncing, the app needs to acquire a lock, which may be time consuming since it requires making multiple requests. This has now been optimised so that less requests are necessary and also each request consumes less resources. This will have a postive impact on Joplin Cloud in particular, but you should also see improvements with Joplin Server and smaller improvements with the other sync targets.
**Improved Markdown editor split view scrolling**
Kenichi Kobayashi made some great improvements to the Markdown editor scrolling in this release. The issue before was that the editor on the left and the viewer on the right would often not be in sync, in particular if the note contains several images and other media.
With Kenichi's change the editor and viewer stay nicely in sync, regardless of the note content. In fact it looks a bit like magic when you scroll through large notes - notice in particular how each side appear to wait for the other or speed up in order to make sure both sides are aligned as well possible. Kenichi provides a nice technical documentation about the feature [here](https://github.com/laurent22/joplin/pull/5512#issuecomment-931277022).
https://www.youtube.com/watch?v=Wbs5XZR0oeU
**Improved and optimised S3 synchronisation**
Thanks to the efforts of Lee Matos, synchronisation with S3 is now more reliable and errors are also better handled. The underlying S3 SDK has also been upgraded from v2 to v3 which results in a smaller executable size (about 3-5 MB depending on the operating system)
**Export notes as self-contained HTML files**
Exporting a single note as HTML is now more user friendly as all images, scripts, styles and other attachments are all packed into a single HTML file (Previously it would create multiples files and directories). This makes it easier to share the complete note with someone who doesn't have Joplin.
**Other changes and bug fixes**
This release includes a total of 19 new features and improvements and 16 bug fixes. See the 2.6.x changelogs for more details:
https://joplinapp.org/changelog/
https://joplinapp.org/changelog_android/
https://joplinapp.org/changelog_ios/
https://joplinapp.org/changelog_cli/
* * *
url: https://www.patreon.com/posts/joplin-2-6-is-60019114
published_at: 2021-12-17T12:03:24.000+00:00

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Some files were not shown because too many files have changed in this diff Show More