Releases: Fevol/obsidian-criticmarkup
Release list
0.2.7
0.2.7
Fixes
- Accept/reject buttons not showing in context menu in some instances (#46, thanks to @dikona for the fix with PR #51)
Developer Changes
- Migrated parser dependency to npm
- Use own inline worker plugin
- Generally made plugin setup and development simpler
General note: active development has been paused as I focus on finishing up other projects. I still intend to work on this, but my spare time is limited. PRs for fixes and (small) features are still welcome.
0.2.6
0.2.6
Changes
- Clicking outside of, or escaping a comment/reply will automatically save the changes (#35, thanks @cybersader for the PR #40!)
- These changes can still be undone with the standard shortcuts (i.e.
Ctrl/Cmd + Z)
- These changes can still be undone with the standard shortcuts (i.e.
Fixes
- Wikilinks suggestions do not appear when entering
[[(#34, #37, thanks @EllenGYY and @cybersader for the fixes #40)
Known Issues
- Completing a wikilink will remove the original
[[brackets
0.2.5
0.2.5
This is another small QoL update that improves some of the existing features in this plugin. The build size has also been massively reduced from 4.6MB to 1MB, due to the debug sourcemaps being accidentally included in the production build.
Features
- Comment Widgets
- The comment icons within the editor themselves have been rewritten from the ground up to support the replies and metadata extensions
- The comment pop-up style has been replaced with the one used everywhere else
- You can now edit the comments within the pop-up window itself using a live preview editor
- Added a
Make a copy of the current file without markupcommand, which strips all CriticMarkup syntax, but preserves text (#19, thanks @kerim)
Changes
- Resizing and folding the annotation gutter when using
Readable Line Widthhas been made much smoother (#31) - The metadata info is now displayed consistently everywhere, and makes use of icons instead of labels
- Changed the icons used for
Interface SettingsandGutter Settings, the order of the settings is unchanged
Fixes
- Improve rendering of empty substitution annotation in annotation gutter
- Fix cases where an annotation in the annotation gutter has a wrong description
- Remove accidental inclusion of
sourcemaps in production build - Fold the annotation gutter by default in markdown embes
Refactors
- Comply with plugin submission guidelines set out by the Obsidian team (remove
innerHTMLusage, avoid global usage, use correct API's)
0.2.4
0.2.4
This is a smaller QoL update focused on (sur)pressing bugs and improving the editor experience. The GitHub issues will be overhauled to better list all issues and FRs.
Please be aware that in the current iteration of the plugin, removing a comment will remove it completely (i.e. it is not archived). You can always undo a 'accept/remove suggestion(s)' or 'remove comment' action.
Features
- Added the ability to remove comments (partially addresses #17, archive option still needs to be implemented, thanks @kerim)
- Implemented more actions in the context menu for the annotations gutter and global annotations view
- Included annotation types (gutter only)
- Fold gutter (gutter only)
- Edit comment (gutter and view)
- Remove (all) comment (gutter and view)
- Close comment thread (gutter and view)
- Accept/Reject changes (gutter and view)
- Add reply (gutter and view)
- The current fold state and width of the annotation gutter now persists on the editor across reloads/file changes
- Reveal hidden CriticMarkup syntax when selecting an annotation in the editor, depending on the current edit mode
- Added the option to completely hide comments in the editor (
Editor > Comments Rendering > Comment rendering mode | Hidden)
Style
- Improve styling on diff gutter when next to other gutters
- Improved styling of threads in the global annotations view
- Improved rendering of Substitutions in the annotation gutter
Fixes
- Reading mode not having proper CriticMarkup rendering
- Filters set in the global annotations view not persisting across reloads
- Prevent a potential plugin load error due to missing fields on editor
- Solve conflict with the vanilla
Line Numbersextension (thanks @nanjingman for reporting this issue in #24!) - Focusing on an annotation in gutter will now again focus the corresponding range in the editor
- Prevent an error while editing when a selection was not explicitly specified
- Properly clean up elements added to the editor by this plugin on unload
- Prevent a rare error when adding a comment to a note
- Remove warning of
aria-hiddenwhen focusing on an annotation in the gutter
Refactors
- Removed debug commands from production builds
- Removed all annotation gutter-related config facets
- Removed many instances of direct CodeMirror extension access
- Group all monkey-patches into the
patch.tsfile - Completely overhauled the Global Annotations View code
0.2.3
0.2.3
Features
- Allow all types of annotations (formerly 'ranges', i.e. Additions, Deletions, Substitutions, Highlights and Comments) to appear in the right-margin of the editor, instead of only comments
- Filter the visible annotations by right clicking on empty space in the margin
- Set the types of annotations that are visible by default in the settings
- When selecting an annotation in the editor, it will appear 'focused'
Style
- Remove strike-through style on deletions with an attached comment
Fixes
- Accept/reject preview of Substitution suggestions being the wrong way around (fixes #15, thanks @Eusorph for the report)
- Edits to Comment replies not being updated in the global annotations view
- Prevent loading errors on certain commands when a view is not fully rendered yet
Refactors
- All of the plugin's CSS classes have been renamed for consistency. Each class now starts with
.cmtr-XYZ. Feedback on the names of these classes before official release of the plugin would be highly appreciated. - The 'Suggestions Gutter' (the left editor gutter showing additions/deletions/substitutions in blocks) is now called the 'Diff Gutter' internally
- The 'Comments Gutter' (the right editor gutter showing comments) is now called the 'Annotation Gutter' internally, to reflect the fact that every type of range can appear in there
- For both these changes, all pre-existing settings will be automatically migrated
0.2.2
0.2.2
Features
- Resize bar handle for quickly setting the width of the in-editor comment overview
Changes
- The heading of suggestions and comments in the global view now stay when scrolling
Fixes
- Disable rendering of suggestion markings and comments inside sub-editors, such as inside table cells
- Prevent an error when redrawing the comments inside the editor when no comments were specified
- Global suggestions view not persisting through app reloads
- Quick suggestion buttons for accepting/rejecting suggestions were incorrectly positioned when scrolling down the list
- Unexpected duplication behaviour when editing comments through the in-editor comments UX
0.2.1
0.2.1
This is a quick update to resolve the major issue causing the plugin to fail at start-up. More updates will follow.
Features
- Live preview changes when editing comments, just like a regular editor
Style
- Improve comment gutter rendering
Fixes
- Handle deferred views in header buttons added in Obsidian 1.7.2, prevent an error on start-up (#23)
- Old syntax for metadata used when setting via context menu (#9)
- Prevent re-rendering of comment gutter nodes as much as possible
Refactor
- Rewrite codebase to the most recent version of Svelte for future compatibility
- Update packages to the latest versions
0.2.0
0.2.0
One year to the day since my first ever release, I am happy to announce the release of version 0.2.0, the first
version of the plugin with the metadata rewrite, which has been months in the making.
Apologies for the long wait! I did not intend for this to take so long, but this update necessitated a lot of changes to the core of the plugin,
and most of the existing systems had to be rewritten from the ground up.
If you find any issues, please report them in the GitHub issues, or notify me in the Discord server.
I will try to get to them as soon as possible.
Additionally, I'd like to hear from you if you have any suggestions for future additions to the plugin,
so I can prioritize them accordingly.
Features
- Metadata Extension
- NOTE: Extension is purely opt-in via the
Include Metadata Extensionsetting - Ranges (suggestions + comments) can now contain arbitrary metadata information, this is stored as a JSON encoded string
and separated from the main contents by the@@symbol, example:{++{"author":"Fevol"}@@This is a suggestion++} - Metadata is now added automatically to ranges when editing in suggestion mode or marking selections as a type
- In the global view, you can filter the suggestions and ranges to filter by author or time range
- NOTE: Extension is purely opt-in via the
- Comment Replies Extension
- Comments directly adjacent to other ranges are now considered as replies to that range
- Ranges with replies will be highlighted in the editor
- Comments with multiple replies are grouped together in global view and comment gutter
- Comments can be automatically added to suggestions and other comments as replies
- Global View
- Suggestions can now be quickly accepted or rejected via Discord-style widget buttons
- Added information on the amount of suggestions and/or comments in the current filter context
- Comment Gutter
- The gutter can now be resized via the settings
- The gutter can now be folded away to have more editing space
- Added button to the editor for toggling the fold state of the gutter (can be removed via settings)
- Escape shortcut can now be used to exit a comment while editing
- Commands
Cycle Preview mode: Cycle to the next preview mode for the current editorFold Gutter: Folds the comment gutter in the current editorAdd Comment: Adds a comment to the current location (or after the current suggestion) and focuses itGenerate text diff from clipboard: Creates a diff from clipboard and current selection and adds differences as CriticMarkup suggestions
- Added
Alternative Editing Mode(allows edits of text and ranges while ensuring that the CriticMarkup syntax is not broken) - Added option to hide the labels of editor header buttons
- Added option to set the number of database workers for indexing the vault
- Added toggle suggestion/preview mod buttons to statusbar (can be disabled via settings)
- Added toggle for quickly enabling/disabling the addition of (specific types of) metadata
- Comment Widgets (Icons) in editor can now be right-clicked to add a reply or focus the comment
- Comments in Reading View are now rendered as icons with tooltip instead of inline (#7)
Changes
- Suggestion mode
- Deleting in an addition or addition-part of a substitution will now actually delete the characters instead of marking them as a deletion (#6)
- Deletion/insertions into comments will not be considered as suggestion markup anymore
- Edit mode and Preview mode settings are now editor-specific instead of global (default modes can be set in the settings)
- Settings have been reorganized into different tabs
- Editor header buttons now function similarly to the Read/Live Preview mode button
- Using 'Mark range as...' command now adjusts the original selection to the new range
- Performance improvements
- Parsing and rendering now happens via incremental updates
- Currently active file is now directly added to the database index (instead of being reparsed)
- Rewrites
- Cursor movement logic has been rewritten from the ground up to be more configurable
- Suggestion logic is now rewritten as a mark-as extension to utilise generic mark functionality
Fixes
- Improved comment gutter hiding behavior when empty
- Improved comment gutter comment alignment problems
- Fixed comment gutter comments in the same block being inconsistently ordered
- Fix select-all not working in the editor
- Cursor placement after suggestion edit is now more consistent
- Prevent indexing of non-Markdown files in Database (#5)
Known Issues
Generate text diff from clipboarddoes not work well when range includes suggestions/other criticmarkup- Set metadata as 'completed' does nothing currently
- Comments and markup being incorrectly rendered within tables
0.1.4
0.1.4
This update focuses on performance improvements (both for the comment rendering, as for the database initialization and loading). Please make sure to report any abnormally long loading times (with respect to Obsidian/Dataview).
Features
- Advanced setting: re-initialize database, use this when you're receiving 'database update' errors in the console for
commentator/cache(retroactively added)
Changes
- Performance of editor has been drastically improved
- Prevent rerendering of comment gutter on every state change - reduced to an absolute minimum
- Left gutter only generates markers for visible parts of the editor
- Database optimizations
- Initial indexing of the database will now be much smoother & happen in the background. It may still take a minute or more if you have an especially large vault
- Reduced loading times for the database to an absolute minimum
- Improvements to database update scheduling and minimizing the total amount of transactions applied to the database
- Comment gutter will no longer take up any space when no comments exist within note
Fixes
- Accepting/reject suggestion in selection accidentally being applied to entire document
- Zip file of release still used the old id
- Issues with suggestion markup handling (retroactively fixed)
Developers
- Database is now separated into its own repository, feel free to adapt its code for your projects!
0.1.3
0.1.3
This is the first alpha build of the plugin. Some issues were fixed in this update, but many still remain.
Changes
Accept/Reject suggestions in Selectioncommand will only show when there are actually nodes at cursor/selection- Legacy code was removed, major clean-up
- You can now press
Ctrl + Enterto stop editing a comment - Improved selection of suggestions/comments in the view
Fixes
- Improved offsets for changing type of multiple selections at once
Issues
- Vim movement actions might not work properly
- Fringe issues related to editing actions while in suggestion mode
- Inconsistent scrolling behaviour of the CriticMarkup view
Developers
- Database script now uses an events-based system like the Vault API