- Improve rule for lazy loading to prevent developers from overusing it
- Introduce
--update-docsflag to synchronously update Theme Check resources (objects, filters, and tags) (#707)
- Add shopify-dev link to code completion suggestion title (#700)
- Fix examples in
SchemaJsonFormat(#698) - Do not suggest
escapefilter for already escaped strings (#692)
- Add support for new sections liquid tag in theme check (#694)
ObjectCompletionProvidershould not provide completion items that don't live in theSourceIndex(#690)- Suggest deprecated completion items at the end of the list (#688)
- Only suggest filters in SourceIndex (#689)
- Remove the
data/shopify_liquid/(tags|filters|objects).ymlfiles (#674) - Introduce support to range iterations and SFR tags (#685)
- Suggest objects for
paginate(#686)
- Introduce Intelligent Code Completion (#672)
- Update TROUBLESHOOTING.md to include language server stopping guide (#664)
- Create troubleshooting doc, update contributing and readme with links (#630)
- robots Object in robots.txt file (#644). Thanks @we5!
- New check, overdue fixes and dropped support for ruby 2.6.
- 🆕 AssetPreload check (#605). Thanks @krzksz!
- Encourages the use of the new platform features for some sweet 103 Early Hints gains powered by the
preload_tagandpreload: truemedia filter argument.
- Encourages the use of the new platform features for some sweet 103 Early Hints gains powered by the
- Add support for new comment syntax
{% # this is an inline comment %}(#533) - Fix UnusedAssign false positives from
{% render ... with|for var %}(#608) - Update list of platform filters (#626)
- Make
runCheckscommand respectonlySingleFileChecksLSP config (#624) - Handle file delete|rename (#611)
- Prevent server from hanging on error (#623)
- Help migrate named sizes (master|pico|etc.) in
img_urlwithDeprecatedFiltercorrector (#619) - Fix MissingTemplate
ignoreconfig interactions (#613) - Fix MissingRequiredTemplateFiles JSON file corrector (#616)
- Fixes theme-check-disable when disable comment is followed by another (#617)
- Fix handling of
{% render block %}in UnusedSnippet (#615) - Fix IndexError: string not matched in matching translation keys fixer (#602)
- Handle variable lookup as names in UnusedAssign (#612)
- Bump min version of ruby to 2.7 (#609)
- Upstream change from Shopify/liquid as ruby 2.6 is now EOL.
- Support app drop in theme app extensions (#566)
- Fix requiring custom check when root is specified (#565)
- Fix TranslationKeyExists.on_end issue (#587)
- Fix bad link on check documentation (#575)
- Update TEMPLATE.md.erb to use shopify.dev URL
- Fixed broken URL (#574)
- Fix unknown configuration issue for UndefinedObject checker (#568)
- Handle nil paths in json_printer's sort_by (#561)
- Prevent bad render tags from passing theme-check (#559)
- Revert "Prevent bad render tags from passing theme-check (#551)"
-
Performance Improvements (#556)
- Boasts ~125x faster
checkOnChangechecks.
- Boasts ~125x faster
-
New language server configuration:
"themeCheck.onlySingleFileChecks"(#556)- When
true, disables whole theme checks in the editor and makes it so only the open files are checked. - When
false(default), behaves as before.
- When
- Do not complain about variables passed to the default filter (#532)
extend:should accept absolute and relative paths (#555)- Gracefully handle initialized without config. (#552)
- Add missing metafield filters (#550)
- Handle media.sources edge case in RemoteAsset (#549)
- Disable HTML checks inside Liquid comments (#548)
- Prevent bad render tags from passing theme-check (#551)
- Handle rogue carriage returns (#547)
- Improve HTML parsing errors
- Fix img_url correction for string properties
- Add Corrections as Code Actions in Language Server (quickfix + source.fixAll) (#471)
- Add SchemaJsonFormat check (#512)
- Add checkOn{Open,Change,Save} Language Server Configurations (#511)
- Add support for new filters
image_tag+image_url- Add autocorrection to
img_urlto ease migration
- Add autocorrection to
- Deprecate
img_tag,img_url
- Fix missing null check in ValidHTMLTranslation (#517)
- Fix MatchingTranslations check + corrections (#515)
- Fix RemoteAsset false positive from settings variables (#516)
- Make SpaceInsideBraces work for missing cases (#509)
- Fix Liquid in HTML parsing
- Make TranslationKeyExists also check section translations
New corrections for the following checks:
- Add support for
preload_tagfilter - Minor Language Server improvements (close logs) (#472)
- Fixup a multithreading problem with our IO Messenger (regression from 1.7.1) (#468)
- Handle Errno::EADDRNOTAVAIL in RemoteAsset (#465)
- Complete end tags (#277)
- Do not flag shopify translations as missing or extra (#407)
- Handle LSP messages concurrently in the Language Server (#459)
- Adds progress reporting while checking (:eyes: VS Code status bar)
- Makes completions work while checking (more noticeable on Windows since ruby is 3x slower on Windows)
- SpaceInsideBraces fixup for tags without arguments (#458)
- Fix UnusedAssign bug when variable used in for loop range by bumping Liquid to 5.1 (#456)
- Fix
Undefined method-' for nil:NilClass` in Node when tag was missing surrounding spaces (#454, #452)
- Add
--auto-correctsupport toTranslationKeyExists(add missing translation as TODO to default locale) (#422) - Add
--auto-correctsupport toUnusedSnippet(delete unused file) (#416) - Add
--auto-correctsupport toMissingRequiredTemplateFiles(create missing files) (#385)
- Fix
undefined method [] of nilinreplace_placeholders(#441, #444) - Disable ConvertIncludeToRender corrector until we fix #445 (#446)
- Fix a couple of correction bugs (#442, #439)
- Fix
AssetSizeCSSerror when size is nil (#419) - Write JSON to file, not a Ruby Hash. (#434, #432)
- Handle invalid URIs in RemoteAssetFile (#418, #438)
- Fix
Bad start_indexerror in SpaceInsideBraces (#423) - Autocorrect missing directories (#389)
- Add Windows CI
- Fix multiple Windows bugs (#413, #415)
- Fix pagination size as string bug in PaginationSize (#417, #421)
- Add new object drop:
predictive_search - Bump
TemplateLengthmax_lengthdefault - Fix
RemoteAssetincorrectly firing on structured data elements #393 - Fix document links not working on open
- Fix
asset_urldocument links - Use better heuristics for
DeprecateLazysizes - Add support for
sectiondocument links - Add support for
includedocument links - Automatically creates the default translation file (
locales/en.default.json) if it doesn't already exist.
- Add
--output jsonoption for the CLI (#392) - Add PaginationSize check (#359)
- Add ConvertIncludeToRender auto corrector (#341)
- Add MissingTemplate auto corrector (#388)
- Add
MissingTemplateignore_missingoption (#394) - Fix Windows duplicate .bat file problem (#400)
- Fix substring highlighting inside nodes (#386)
- Add check for forbidden tags in theme app extension blocks (#383)
- Improve HTML parsing of liquid attributes (#381)
- Handle escaped file URIs in language server (#360) (#382)
- Change asset size errors into suggestions (#378)
- Switch to nokogiri 1.12, since it includes html5 support directly now (#391)
- Add Windows Support (#364)
- Ignore empty
{{}}in SpaceInsideBraces (#350) - Switch to main branch
- Minor documentation fixes
- Add
--fail-levelCLI flag to configure exit code - Refactor all theme file classes to inherit from
ThemeFile - Fix
undefined method liquid?error when scanning from LSP - Adding asset document links
- Allow initializing theme app extension configuration files
- Allow disabling registering mock Liquid tags w/
ThemeCheck::Tags.register_tags = false - Support Theme App Extensions
- Add checks for theme app extension block JS/CSS
- Disable Liquid::C when parsing Liquid templates
- Convert
AssetSizeCSStoHtmlCheck - Add
DeprecateLazysizes&DeprecateBgsizeschecks - Allow hardcoded CDN urls in
RemoteAsset - Bump
LiquidTagmin_consecutive_statementsdefault to 5 - Exclude {% javascript %} and {% stylesheet %} from line counts in
TemplateLength - Bump
TemplateLengthmax_lengthdefault to 500 - Fix
StringScanner#skip(String)not being supported on some Rubies - Fix
ParsingHelpers#outside_of_stringshandling of empty strings - Update to support new
{% render %}syntax - Converted
AssetSizeJavaScripttoHtmlCheck
- Fix error when parsing a template with lots of HTML attributes.
- Add
HtmlParsingErrorcheck for reporting errors during HTML parsing.
- Fix LSP diagnostics not being merged properly when analyzing a single file. Causing VSCode problems not being cleared after fixing.
- Add ImgLazyLoading check for recommending loading="lazy" attribute
- Convert
RemoteAssetinto anHtmlCheck - Move Liquid logic from
RemoteAssetto a newAssetUrlFilterscheck
- Introduce HtmlCheck, and convert ParserBlockingJavaScript & ImgWidthAndHeight to it
- Move
script-tagvalidation from ParserBlockingJavaScript to ParserBlockingScriptTag - Add ability to ignore individual checks using file patterns
- Introduce single file and whole theme checks to optimize LSP diagnostics
- Fix TemplateLength counter not being reseted on each document
- Add missing category to ValidHTMLTranslation
- Set Ruby default encodings to UTF-8 to fix encoding issues
- Add ContentForHeaderModification check to prevent relying on the content of ``content_for_header`
- Fix
Content-Lengthin LSP responses - Fix disabling checks that emit offences in
on_end - Fix completion bug in
filter_completion_provider
- Making sure VERSION is set before referencing it
- Bump NestedSnippet max_nesting_level to 3
- Add a message to help debug errors, and timeout checks after 5 sec
- Object Completions Everywhere!
- Include operators to space inside braces check
- Add consistent spacing around the pipe character (
|) in variable expressions to theSpaceInsideBracecheck (#73) - Add ReCaptcha system translation (#265)
- Fix document links in
{% liquid %}tags (#263) - Fix theme-check-disable for checks based on regular expressions (#242)
- Fix VS Code crash on new window (#264)
- Rescue errors thrown by remote_asset_file
- Set minimal Ruby version to 2.6
- Refactor CLI option parsing
- Fixup bug in RemoteAsset causing Language Server to break
- Fix High CPU Bug in RemoteAsset check
- Fix document link for render tags that trim whitespace.
- Add RemoteAsset Check
- Fixes:
- Don't hang on self closing img tags (#247)
- Fix document links from different root
- Add Snippet Completion (#223)
- Add Snippet Document Links (#223)
- Add ImgWidthAndHeight check (#216)
- Add AssetSizeCSS check (#206)
- Do not flag SystemTranslations as errors (#114)
- Do not complete deprecated filters (#205)
- Add
-C, --config pathsupport (#213)
- Add AssetSizeJavaScript check (#194)
- Add documentation for all checks
- Make documentation for checks mandatory
- Add link to documentation from within the editor (via
codeDescriptionin the Language Server) ()
- Allow checks to have multiple categories
- Fix multiple occurrences of UndefinedObject not being reported (#192)
- Add Completion Engine (#161)
- Add init command to CLI (#174)
- Refactor start and end Position logic (#172)
- Fix column_end issues (#164)
- Fix stack overflow in UndefinedObject + UnusedAssign when snippets renders itself (#165)
- Ignore snippets in UndefinedObject check
- Fixup version flag
- Add ParserBlockingJavaScript Check (#78, #146)
- Internal refactor to enable running theme-check in servers (#145, #148)
- Add -v, --version flag (#126)
- Exclude content of {% schema %} in line count for TemplateLength (#140)
- Fix Language Server removed files bug (#136)
- Add ignore config (#147)
- Add ability to disable checks with comments (#79)
- Adding checks for shopify plus objects in checkout (#121)
- [Language Server] Send empty dianogstics to flush errors