Releases: platers/obsidian-linter
1.30.0
Linter v1.30.0
Not much has changed in the Linter with this change, but there are lots of different bug fixes that should make life easier along with some performance improvements as well. There is also the use of Simplified Chinese for the Traditional Chinese translation of the Linter until that translation gets added by someone that knows Traditional Chinese.
What's Changed
Features
- Update Traditional Chinese to Use Simplified Chinese Translation by @pjkaufman in #1387
Bugs
- Fix an Issue with Removing Trailing Spaces not Working on Empty Lists Items with No List Item Spaces by @pjkaufman in #1332
- Fix Linter Using
nullfor Current Language by @pjkaufman in #1333 - Fix Non-Latin Characters Not Working for
remove-consecutive-list-markersby @pjkaufman in #1334 - Fix Ignore File and Folder Commands Not Working by @pjkaufman in #1343
- Fix Custom Regex Replace for
\\\\and\bby @pjkaufman in #1344 - Fix
YAML Title AliasAdding and Leaving Blank YAML in Notes by @pjkaufman in #1345 - Fix Empty Lines Between List Markers and Checklists Not Including Lines Made Up of Just Whitespace by @pjkaufman in #1365
- Fix CJK Characters at Start of Heading Potentially Getting Starting Space Removed by @pjkaufman in #1366
- Fix
YAML TimestampNot Getting Updated in Reading Mode by @pjkaufman in #1386 - Don't replace spaces within embeds by @mnaoumov in #1347
Full Changelog: 1.29.2...1.30.0
1.29.2
Linter v1.29.2
This change is just meant to quickly patch an issue with the updated way in which Lint on Save is triggered. It should no longer trigger when the command palette is opened.
What's Changed
Bugs
Other Changes
- Auto-release 1.29.2 by @pjkaufman in #1326
Full Changelog: 1.29.1...1.29.2
1.29.1
Linter v1.29.1
The changes here mostly focus on bug fixes for a couple of different scenarios including fixing custom commands on non-active files not being run on the correct files, some higher than desired RAM usage when trying to run the Linter on some larger files, as well as fixing lint on save for 1.9.0 and on.
What's Changed
Bugs
- Add Missing PDF Test File and Fix Modified Date Not Getting Set on Manual Lint Right After File Content Change by @pjkaufman in #1309
- Fix: RAM Usage Larger Than It Should Be by @pjkaufman in #1310
- Update OpenFile to Make it Set Active Focus After API Update by @pjkaufman in #1311
- Fix Lint on Save by @kdnk in #1315
Other Changes
- fix: correct regex pattern for title matching in yaml-title rule by @nshcr in #1306
- fix typo:
twp-space-line-breaktotwo-space-line-breakby @nshcr in #1307 - Auto-release 1.29.1 by @pjkaufman in #1320
- Update the Beta Version by @pjkaufman in #1321
New Contributors
Full Changelog: 1.29.0...1.29.1
1.29.0
Linter v1.29.0
This release is mostly dealing with getting some of the logic that has been in beta for a couple months out to regular users. The YAML fixes that allow for a broader support for YAML in YAML Sort have been merged. There are still places that use the regex to pull out the values of the YAML, but hopefully those can slowly be removed in favor of the new YAML package. Beyond that, there were a couple of bug fixes and minor changes on the website to fix a mermaid doc that worked locally, but not on github.
What's Changed
Features
- Swap to from
js-yamltoyamlfor Parsing YAML by @pjkaufman in #1227 - Feat: Add Ability to Ignore Files and Folders from Popup Menu and Commands by @pjkaufman in #1247
Bugs
- Fix Table Recognition So It Does Not Match Table Rows with Just Dashes in Them by @pjkaufman in #1248
- Fix Trailing Spaces Breaking List Items and Checklist Items by @pjkaufman in #1250
- Fix List Ignore Type Ignoring More than It Should when Sublists Are Present by @pjkaufman in #1269
- Fix UTC Not Properly Handled by YAML Timestamp When Format is Not Expected Format But Is UTC by @pjkaufman in #1270
- Update Mermaid Diagram on How the Linter Works by @pjkaufman in #1302
- Try to Remove List Numbering and See if that Fixes the Diagram by @pjkaufman in #1303
Other Changes
- Auto-release Beta 1.28.1-rc1 by @pjkaufman in #1271
- Auto-release 1.29.0 by @pjkaufman in #1304
Full Changelog: 1.28.0...1.29.0
1.28.1-rc1
Linter v1.28.1-rc-1
This release mainly focuses on swapping over the internal logic that handles the YAML for sorting YAML keys. This should make it so that a wider variety of YAML formats are allowed when sorting the YAML keys as well as sorting comments. The logic does its best to keep the YAML in the format it started out in just rearranged. Feel free to let us know if there is an issue with this. There are also some minor bug fixes around the logic to identify tables in the text, properly handling UTC to UTC format conversion for YAML timestamps, and some whitespace and internal logic issues.
What's Changed
Features
- Swap to from
js-yamltoyamlfor Parsing YAML by @pjkaufman in #1227
Bugs
- Fix Table Recognition So It Does Not Match Table Rows with Just Dashes in Them by @pjkaufman in #1248
- Fix Trailing Spaces Breaking List Items and Checklist Items by @pjkaufman in #1250
- Fix List Ignore Type Ignoring More than It Should when Sublists Are Present by @pjkaufman in #1269
- Fix UTC Not Properly Handled by YAML Timestamp When Format is Not Expected Format But Is UTC by @pjkaufman in #1270
Other Changes
- Auto-release Beta 1.28.1-rc1 by @pjkaufman in #1271
Full Changelog: 1.28.0...1.28.1-rc1
1.28.0
Linter v1.28.0
This release mainly focuses on some bug fixes. However it does add the ability for the user to enable and disable custom commands and custom replacements. This should allow users more flexibility when setting those custom actions up and running one off scenarios that they might want to keep for latter usage if need be. There was also a Russian translation added to the plugin as well. Thank you to everyone who contributed to this release and who gave feedback on improvements or issues that were found.
What's Changed
Features
- Feat:
Line Break at Document EndNo Longer Adds Blank Line at End of Empty Notes by @pjkaufman in #1229 - Feat: Add Ability to Enable/Disable Custom Commands and Custom Replacements by @pjkaufman in #1231
Bugs
- Fix
Add Blank Line After YAMLOnly Working When YAML Already Exists by @pjkaufman in #1200 - Fix
YAML TimestampDebounce not Starting with the First Character Change by @pjkaufman in #1201 - Fix
Remove Multiple SpacesRemoving Proceeding Spaces when Nested/Indented List Items Are Present in a Nested Blockquote/Callout by @pjkaufman in #1207 - Fix
YAML Key SortNot Accounting for Trailing Whitespace on Keys by @pjkaufman in #1209 - Fix Folder Ignoring Bleeding Over Onto Similar Paths by @pjkaufman in #1210
- Fix Paste Override Not Pasting in File Preview Editor and Race Condition in
YAML TimestampUpdates via User Edits by @pjkaufman in #1221 - Fix Lots of Locale Not Found Warnings in the Console for Unsupported Locale by @pjkaufman in #1222
- Fix Rule Order Edge Case Between
Paragraph Blank LinesandConsecutive Blank Linesby @pjkaufman in #1226
Documentation
- Update
YAML TimestampSettings Wording to Help Clarify Usage by @pjkaufman in #1204
Maintenance
- Update Release Note Generation by @pjkaufman in #1205
- Update Change Log Categories for PRs by @pjkaufman in #1206
Other Changes
- Fix Broken README Template File Link by @emmanuel-ferdman in #1196
- Update zh-cn Translation by @Ooopz in #1216
- Add ru-RU Translation by @rollings-relay in #1230
- Refactor ru-RU translations in src/lang/locale/ru.ts for consistency and clarity. by @rollings-relay in #1234
- Prerelease Work by @pjkaufman in #1246
New Contributors
- @emmanuel-ferdman made their first contribution in #1196
- @rollings-relay made their first contribution in #1230
Full Changelog: 1.27.1...1.28.0
1.27.1
Linter v1.27.1
This is a quick patch for a new install issue where if you had not installed the Linter before it hits an error trying to check the existing settings.
Bug Fix
- No longer fails on initial install where a setting is accessed that does not exist
What's Changed
- Fix Load Issue and Bump Version for Patch by @pjkaufman in #1195
Full Changelog: 1.27.0...1.27.1
1.27.0
Linter v1.27.0
The latest release is out and ready for users to start working with it. Some changes that have been made that are notable is that now Live Preview updates should work the same as they do for source mode. This should mean fewer bugs for users who use Live Preview. Also, the ability to run YAML Timestamp after a certain amount of time has passed since the last edit to a note is also available. Plus the Linter should be smaller and load faster due to a couple changes in how the Linter works.
Be aware that the Linter will now download the default list of auto-corrections when Auto-Correct Common Misspellings is enabled and it is not present at startup or if you enable the rule and it is not currently present. This allows for a faster load time and a smaller bundle size especially if you do not use this rule.
The Linter's settings page has been revamped a little and should load much faster now. It should feel snappier. You will no longer see settings for rules that are not enabled except for the option to enable a rule. This should cut down on some confusion around why rules have not run in the past and it should clean up the settings page for users making the settings list a bit cleaner. Also, do note that incompatible settings will not be allowed to be turned on together and trying to enable both settings at the same time will result in the other setting being turned off. This should only apply to Paragraph Blank Lines and Line Break Between Lines with Content and Header Increment's Start at Header Increment at Heading Level 2 and File Name Heading. If one of these incompatible rules is found on startup, one of them is turned off and a notice will let you know which has been turned off. You can change which one is turned off by going to the settings and turning on the rule/setting that you want to have enabled.
Thank you to everyone that has reported issues as well as contributed fixes and/or new rules!
Features
- Made some styling changes to make some of the Linter settings to be cleaner and more akin to what is present elsewhere in Obsidian
- Added an option to Auto-Correct Common Misspellings to allow for ignoring words with a capital letter present at anywhere except the first letter
- Added ability to refresh custom auto-correct file contents that the Linter is aware of from the settings page
- Added the ability to run
YAML Timestampx seconds after a change is made in an editor - Added the ability to ignore the date modified in the file system in favor of just updating that value when a change is made by the Linter or the user in an editor
- Added rule for adding blank lines around horizontal rules
- Added options to
Ordered List Styleto allow for the list item style to be kept as is and the ability to start the number ordering with the number that starts the list (this is helpful when you have an ordered list with other content in between it) - Moved the default list of common misspellings to a file that gets downloaded once when needed instead of bundling it into the
main.js - Hide settings that are reliant on other settings being enabled including extra settings for rules that are disabled
- Added logic to help prevent conflicting rules from being enabled at the same time since they result in unexpected or undesired behavior
Bugs
- Fixed the Linter running Auto-Correct Common Misspellings on custom auto-correct files which erased these custom file config values
- Fixed an issue with pasting a URL not working consistently
- Fixed Live Preview not working in some scenarios when a file was updated (hopefully this will put these issues to rest for good)
What's Changed
- Fix: Paste with a URL not Working Consistently by @pjkaufman in #1158
- Release Prep & Fix Up UT RAM Usage by @pjkaufman in #1159
- Add and Update Integration Tests by @pjkaufman in #1168
- Fix: Live Preview Editor Updates by @pjkaufman in #1169
- Update Docs, Some Component Formatting, and Auto-Correct Common Misspellings Functionality by @pjkaufman in #1173
- Feat:
Auto-Correct Common MispellingsAllow Users to Ignore Words with Multiple Capitals by @pjkaufman in #1175 - Chore: Add Zip File for Manual Plugin Install to Release Workflow by @pjkaufman in #1176
- Chore: Swap Off of Deprectated
MarkdownRender.renderMarkdowntoMarkdownRender.renderby @pjkaufman in #1177 - Feat: Update Date Modified on Editor Content Change & Miscellaneous Style and YAML Timestamp Changes by @pjkaufman in #1178
- Auto-release beta 1.27.0-rc-1 by @pjkaufman in #1179
- Protect Against Null Reference by @pjkaufman in #1184
- horizontal rule spacing by @thomas-forbes in #1171
- Feat: add additional ordered list options by @jose-elias-alvarez in #1183
- Move Default Auto-Correct Misspellings to Separate File by @pjkaufman in #1185
- Hide Unreachable Settings by @pjkaufman in #1189
- Remove JS Styling, Minify CSS, Speed Up Settings Page Loading, Remove Use of
innerHTML, and Remove Default Hotkey by @pjkaufman in #1190 - Add Other Markdown to HTML Locale String Changes by @pjkaufman in #1191
- Handle Rule Conflicts by @pjkaufman in #1192
- Release Prep by @pjkaufman in #1193
New Contributors
- @thomas-forbes made their first contribution in #1171
- @jose-elias-alvarez made their first contribution in #1183
Full Changelog: 1.26.0...1.27.0
1.27.0-rc-1
Linter v1.27.0-rc-1
It is that time again. The Linter is releasing another time. This release is a BRAT release and it should allow BETA/BRAT testers to be able to get access to the new more consistent way of updating content in source and Live Preview mode. This will hopefully get rid of the issues that have been encountered when using Linter in Live Preview (I know this statement has been made several times before, but this time I am hoping it will be the last time I have to say this since it uses CodeMirror directly now). Beyond that the only other big change was to YAML Timestamp. Many people have been waiting for the ability to have date modified set after a user edits a file without having to manually lint. Well, now that is the case. The only logic run after a change in the editor is the YAML timestamp logic and only if a user turns on the setting to do so under the general tab.
Features
- Made some styling changes to make some of the Linter settings to be cleaner and more akin to what is present elsewhere in Obsidian
- Added an option to Auto-Correct Common Misspellings to allow for ignoring words with a capital letter present at anywhere except the first letter
- Added ability to refresh custom auto-correct file contents that the Linter is aware of from the settings page
- Added the ability to run YAML Timestamp x seconds after a change is made in an editor
- Added the ability to ignore the date modified in the file system in favor of just updating that value when a change is made by the Linter or the user in an editor
Bugs
- Fixed the Linter running Auto-Correct Common Misspellings on custom auto-correct files which erased these custom file config values
- Fixed an issue with pasting a URL not working consistently
- Fixed Live Preview not working in some scenarios when a file was updated (hopefully this will put these issues to rest for good)
What's Changed
- Fix: Paste with a URL not Working Consistently by @pjkaufman in #1158
- Release Prep & Fix Up UT RAM Usage by @pjkaufman in #1159
- Add and Update Integration Tests by @pjkaufman in #1168
- Fix: Live Preview Editor Updates by @pjkaufman in #1169
- Update Docs, Some Component Formatting, and Auto-Correct Common Misspellings Functionality by @pjkaufman in #1173
- Feat:
Auto-Correct Common MispellingsAllow Users to Ignore Words with Multiple Capitals by @pjkaufman in #1175 - Chore: Add Zip File for Manual Plugin Install to Release Workflow by @pjkaufman in #1176
- Chore: Swap Off of Deprectated
MarkdownRender.renderMarkdowntoMarkdownRender.renderby @pjkaufman in #1177 - Feat: Update Date Modified on Editor Content Change & Miscellaneous Style and YAML Timestamp Changes by @pjkaufman in #1178
- Auto-release beta 1.27.0-rc-1 by @pjkaufman in #1179
Full Changelog: 1.26.0...1.27.0-rc-1
1.26.0
Linter v1.26.0
Thanks for your patience with some of these changes as I have been working more and more with BRAT releases to get more experimental features or fixes in place. I will likely continue going this route in the future to allow for fixes to get tested and released faster in some cases, especially ones that do not meet my use cases.
This release has a lot of bug fixes and a couple of new features. This change adds some flexibility to ranged ignores which now allows you to use Obsidian style comments. There has also been the addition of the ability to specify files that have custom auto-corrections for misspellings. Do note that there are limitations to how this works at this time, but it can be improved down the road based on feedback.
Thank you to all of those that have reported bugs, requested features, suggested documentation, and even contributed changes. These changes would not have been possible without y'all.
Features
- Added the ability to use Obsidian comments for ranged ignores
- Added the ability to specify files where custom auto-correct values are located (see here for a reference on how to use them)
Bugs
- Fixed an issue with some versions of the Linter having the wrong minimum version of Obsidian specified which would cause errors when it would lint files
- Fixed an issue with an edge case where updating the Frontmatter in Live Preview would break the Frontmatter
- Fixed an issue with the wrong CJK unicode being used in regex which would occasionally cause issues
- Fixed an issue with the
YAML Titlerules where capitalization of the headings would not work the first time it ran due to the order the rules ran in - Fixed an issue with moving tags to the frontmatter where it would not allow emojis in the tags
- Fixed an issue with
'and-being considered words when it came to heading capitalization - Fixed an issue with formatting tags using regex that could affect other subsequent keys' and their values if they had a
#in them
Documentation
- Updated wording for
Heading Blank Linesto try to make it clearer that there will be only one line before and/or after a heading based on the settings used for that rule
What's Changed
- Fix: Minimum App Version Fixed to Prevent Wrong Version Being Used on Older Obsidian Versions by @pjkaufman in #1124
- Fix: Live Preview YAML Update Occasional Breaks Frontmatter by @pjkaufman in #1126
- Fix CJK symbols and punctuation unicode by @NatsukiFukazawa in #1128
- Support Obsidian-style comment for inline linter toggle by @sevmonster in #1122
- Fix: capitalize-headings, yaml-title, yaml-title-alias require two lint passes to resolve by @tcoliver in #1131
- Add Custom Auto-Correct Options by @pjkaufman in #1132
- Prerelease PR by @pjkaufman in #1134
- Fix: Load Issue Due to Not Defaulting an Array by @pjkaufman in #1135
- Auto-release beta 1.26.0-rc-2 by @pjkaufman in #1136
- Fix: Tags Regex Not Allowing Emojis by @pjkaufman in #1139
- Cleanup: Remove Examples from Plugin Build and Fix Load Bug for Custom Replacements by @pjkaufman in #1140
- Bump braces from 3.0.2 to 3.0.3 by @dependabot in #1141
- Bump katex from 0.16.9 to 0.16.11 by @dependabot in #1142
- Auto-release beta 1.26.0-rc-3 by @pjkaufman in #1144
- Fix ITs Not Running Properly and
'and-Being Considered to be Words and Letters by @pjkaufman in #1151 - Update
Heading Blank LinesWording to Be a Little Clearer by @pjkaufman in #1152 - Fix:
Format Tags in YAMLShould Only MatchtagortagsYAML Value. by @pjkaufman in #1157
New Contributors
- @NatsukiFukazawa made their first contribution in #1128
- @sevmonster made their first contribution in #1122
- @tcoliver made their first contribution in #1131
Full Changelog: 1.25.0...1.26.0