Releases: jsonMartin/readwise-mirror
2.1.0-beta.1
2.1.0-beta.1 (2025-07-11)
Features
- ✨ add new command to update frontmatter only (af985ee)
Bug Fixes
- 🐛 fix regression with template edge case on write (39dd8eb)
2.0.1
2.0.1-beta.1
2.0.0-beta.3
2.0.0
2.0.0 (2025-04-18)
⚠ BREAKING CHANGES
Version 2.x.x is a major rewrite of the plugin, with a focus on implementing a deduplication logic, more atomic upgrades (keeping existing additional or protected frontmatter intact) and handling of special characters in filenames.
Important
If you update to 2.0.0 without following these steps, you will likely end up with duplicate notes for the same Readwise item or, if you delete the whole Readwise folder in your Obsidian vault first, will likely lose any existing internal links to notes created by the plugin.
If you plan to upgrade the plugin from v1.x.x to v2.0.0, and want to make sure any internal links in your Obsidian vault to notes created by the plugin remain intact, then you should ensure all your notes have the file tracking property in their frontmatter before the upgrade.
Upgrade guide
Below is a step-by-step guide how you can prepare an existing Readwise library by adding the uri
tracking property to your items before upgrading to ensure links to items in your Readwise library will be updated after an upgrade.
-
Make sure you have a backup of your Obsidian vault (or at least your Readwise mirror folder with the notes created by this plugin).
-
In the plugin settings in v1.x.x, add the
uri
tracking property (or whatever property key you plan to use for file tracking) to the Frontmatter template. You can replace (recommended) the frontmatter template with the following, and enable Frontmatter[^1]:--- uri: {{ highlights_url }} ---
-
Run a full sync to establish proper tracking properties (this will overwrite your local changes based on the current settings for the colon, but it will preserve the filenames of your existing files according to the way v1.4.11 of the plugin creates these. In consequence, all internal links will remain valid).
-
Upgrade the plugin to
2.0.0
and enable file tracking (this will ensure the tracking property will always be added to newly created or updated notes). -
Rebuild the frontmatter templates and adjust the filename settings to your liking (you can also reset the templates to their default: simply delete the whole template value).
-
Run a full sync to rebuild all the notes according to the new settings and enjoy the new features of Readwise mirror 2.x.x.
Your subsequent syncs will then use the uri
property to track unique files and ensure links to items in your Readwise library will be updated, even if the note filenames change with the new version of the plugin.
Tip
If you are unsure what the plugin will do to your Obsidian Obsidian vault after the upgrade, we would recommend that you create a copy of the Obsidian vault and run a test upgrade according to the steps described above.
Major Changes (check README.md
for details)
- Switched to using Readwise's "export" API, providing access to document summaries and additional metadata (implements #39)
- Completely rewrote the deduplication logic to handle edge cases like special characters and items with identical titles
- Implemented consistent use of
normalizedPath()
throughout for better filename generation and handling (BREAKING CHANGE) - Added robust frontmatter creation, validation and preservation during note creation and updates, resulting in more reliable generation of valid frontmatter (precondition for using frontmatter as reliable basis for file tracking)
- Introduced file tracking using unique Readwise URLs for reliable deduplication and internal linking in your Obsidian vault
- Implemented
/api_auth
endpoint for token retrieval, you can now retrieve your token from the plugin settings page
New Features
- Added Q&A parsing with new
is_qa
andqa
nunjucks filters for.qa
action tags in Readwise - Added
date
filter to format dates (e.g. for filenames) - Added
bq
filter to ensure notes or highlights with multiple paragraphs are properly escaped as one blockquote - Improved title, author, and frontmatter template handling and error reporting to persistently create valid frontmatter
- Added slugify option for filenames (implements #27)
- Implemented
filenamify
for valid filenames with 255 character limit (implements #37) - Enhanced documentation and settings UI with template explanations
- Added options to clean-up author names from Readwise
- Introduced debug option in UI to control console logging
- Added proper escaping for arrays of strings in frontmatter (authors, tags)
Developer Updates
- Implemented semantic-release workflow using
brianrodri/semantic-release-obsidian-plugin
- Added local deploy and release actions (
npm run deploy:local
)) - Restructured codebase
- Added GitHub workflow for automated releases
- Separated settings from main class
BREAKING CHANGE: This is a major rewrite that changes how filenames are generated and validated. Please consult the documentation for migrating existing libraries, particularly regarding the new URL-based tracking system.
Full Changelog: 1.4.11...2.0.0
2.0.0-beta.2
2.0.0-beta.2 (2025-04-18)
Features
- 🚸 add warning when the user disables file tracking (ff0f001)
- 🚸 improve template error handling (cf03d96)
- ✨ add
parse_authors
filter to parse author names (2b59861) - ✨ add
parse_authors
filter to parse author names (6e7dab9)
Reverts
- 🗑️ remove author name settings and avoid feature bloat (d9ca8ff)
2.0.0-beta.1
2.0.0-beta.1 (2025-04-13)
⚠ BREAKING CHANGES
- this updated version of the plugin breaks the way how filenames of synced notes are generated. Please read the upgrade instructions carefully.
Documentation
- 🚀 going for the big, breaking release (33821d9)
Warning
Readwise Mirror 2.x is a major rewrite of the plugin which will break internal links if you update right away. This is due to changes how the filenames for notes created by this plugin are generated and handled.
The documentation contains a step-by-step guide how you can prepare an existing Readwise library for an upgrade to 2.x.x by adding the uri
tracking property to the frontmatter of your notes before upgrading. This will ensure links to notes synced from your Readwise library can be updated by Obsidian after the upgrade. You can find the guide in the README.