Skip to content

Latest commit

 

History

History
894 lines (667 loc) · 68.6 KB

CHANGELOG.md

File metadata and controls

894 lines (667 loc) · 68.6 KB

Change Log

0.28.0 (May 27, 2024)

Enhancements

  • Setting to specify which attributes should be treated as filepaths for the purpose of editor features. See #1464.

Bug Fixes

  • Error range for src-annotation src-annotation. See #1276.
  • OpenQuoteExpected error for ATTLIST breaks DTD validation. See #1599.

Build

  • Bump maven-javadoc-plugin & maven-surefire-plugin. See #1596, #1595.

0.27.0 (August 3, 2023)

Enhancements

  • Provide a Progress support API for lemminx extension. See #1562.
  • Add alignWithFirstAttr option to xml.format.splitAttributes settings. See #1560.
  • Implement itemDefaults for CompletionList. See #1561.

Bug Fixes

  • XInclude cannot be activated with binary mode. See #1558.

Build

  • Bump JUnit version. See #1559.

0.26.1 (June 22, 2023)

Bug Fixes

  • PrepareRename/Rename Server Capabilities doesn't work with non dynamic registration. See #1551.

Build

  • Bump Maven build plugins and dependencies. See #1549.

0.26.0 (June 15, 2023)

Enhancements

  • Expose API in TextDocument for getting a document line number from its offset. See #1519.
  • Add a default implementation for ICodeActionParticipant members. See #1518.
  • Add support for code actions that are not associated with any diagnostics (quick assist). See #1516.
  • Make the rename participants conform to the LSP, permitting to rename across different documents.. See #1521.

Bug Fixes

  • xml.foldings.includeClosingTagInFold has no effect in binary mode. See #1523.

Build

0.25.0 (April 18, 2023)

Enhancements

  • Send (aggregated) server.document.open events at fixed periods. See #1198.
  • Provide cancel support for hover. See #1474.
  • Bump LSP4J version from 0.14.0 to 0.20.1. See #1497.

Bug Fixes

  • shutdown response does not conform to language server spec. See #1508.
  • Comments throws off the cvc-complex-type.2.3 diagnostic range. See #1495.
  • Fix potential NullPointerException in completion code. See #1506.
  • XML language server should report "selection range" capability non-dynamically. See #1507.
  • RNG attribute completion doesn't generate the proper prefix if the namespace is not declared. See #1489.
  • Partial formatting yields wrong indentation depth. See #1485.
  • NullPointerException in documentColor. See #1473.
  • Adjust error range for RelaxNG "not allowed yet" when there is choice. See #1459.
  • Multiple xml(DownloadProblem) errors when referencing missing schema in file association. See #1484.
  • XML attribute associated to wrong type from XSD. See #1480.

Build

  • Use Eclipse Temurin in GitHub Actions. See #1510.

0.24.0 (January 31, 2023)

Enhancements

  • Completion, definition, references, diagnostics, highlight, code lens, rename, linked editing support for XML references. See #1435, #1427, #1432, #1452, #1367.
  • Code action to add missing required elements with RelaxNG. See #1418.
  • Improve the RelaxNG schema validation. See #1425.
  • Code action to generate RelaxNG RNG file. See #1405.
  • Support for textDocument/documentColor. See #639.

Bug Fixes

  • "Insert element" code actions don't add close tags when auto close tag is disabled. See #1458.
  • Improve "Insert only required expected elements" by taking care of choice. See #1448.
  • Linked editing breaks start tag when closing tag manually. See #1456.
  • Ignore linked editing range when there are no referenced node to update. See #1453.
  • Formatting selection fails with root element with mixed content. See #1414.
  • SAXParseException in the language server trace when editing an .rng file. See #1441.
  • Ensure attributes on the first line are wrapped correctly. See #1439.
  • Fix comment formatting with xml.format.maxLineWidth. See #1433.
  • Permit binding to a schema from an empty document. See #1408.
  • RelaxNG validation with XInclude / File association report DOCTYPE error. See #1421.
  • DocumentLink support for xi:include/@href. See #1401.
  • Binary server doesn't show "element missing child" warning in broken RelaxNG. See #1460.
  • Refactor "Register catalog" code lens to be in catalog package. See #1417.

0.23.2 (December 15, 2022)

Bug Fixes

  • Add explicit no-arg constructor for ConfigurationItemEdit. See #1412.

0.23.1 (December 15, 2022)

Bug Fixes

  • Fix "Surround with ..." when using the binary server. See #1410.
  • Fix "Register catalog" code lens when using the binary server. See #1411.

0.23.0 (December 14, 2022)

Enhancements

  • Codelens, completion, definition, documentLink, highlighting, references, rename support in RelaxNG file. See #1400.
  • Surround selection with XML element. See #1389.
  • Enable the experimental formatter by default and add xml.format.legacy setting to retain previous formatter. See #1377.
  • Add validation support for XInclude. See #1387.
  • Full support for xml.format.maxLineWidth with experimental formatter. See #1248, #1359, and #1363.
  • Add codelens and command to register/unregister catalog. See #1390.
  • Support files.trimTrailingWhitespace setting with experimental formatter. See #1310.
  • Remove xml.format.preserveEmptyContent setting for experimental formatter. See #1346.
  • Improve text content formatting for experimental formatter. See #1331.

Performance

  • Improve formatting performance with xml.format.grammarAwareFormatting setting. See #1368.

Bug Fixes

  • NPE in CodeLens with empty XML file. See #1396.
  • RelaxNG schema validation not working when DOCTYPE declaration is missing. See #1393.
  • XSD based Autocompletion for substitutionGroup. See #1386.
  • Generate grammar fails on first attempt with experimental formatter. See #1382.
  • Applying XML completion generates invalid XML content. See #1373.
  • Generate and bind schema doesn't work with experimental formatter. See #1365.
  • Add tests for xml.format.grammarAwareFormatting setting and restore mixed content behavior. See #1364.
  • Prevent exception in DomElementFormatter.formatEndTagElement(). See #1361.
  • Fix unexpected behavior of xml.format.preservedNewlines with experimental formatter. See #1341.
  • Autoclose tag generates an unexpected >. See #1221.

Build

0.22.0 (October 19, 2022)

Enhancements

  • Initialize RelaxNG support with validation/completion/hover. See #828.
  • Support xml.format.closingBracketNewLine setting with experimental formatter. See #1247.
  • Support xml.format.xsiSchemaLocationSplit setting with experimental formatter. See #1246.
  • Support xml.format.spaceBeforeEmptyCloseTag setting with experimental formatter. See #1245.
  • Support xml.format.joinContentLines setting with experimental formatter. See #1244.
  • Support xml.format.joinCommentLines setting with experimental formatter. See #1243.
  • Support xml.format.preserveEmptyContent setting with experimental formatter. See #1242.
  • Support xml.format.joinCDATALines setting with experimental formatter. See #1241.
  • Support xml.format.preservedNewlines setting with experimental formatter. See #1240.
  • Support xml.format.enforceQuoteStyle setting with experimental formatter. See #1239.
  • Support xml.format.emptyElements setting with experimental formatter. See #1238.
  • Provide comment formatting for experimental formatter. See #1259.
  • CodeAction for cvc-complex-type.2.4.b: "insert all expected" vs. "insert all possible". See #1255.
  • Suppress validation kinds based on file pattern. See #1275.
  • Report only XML syntax error for *.exsd files. See #1308.
  • Place relevant information on the first line of error messages. See #1145.
  • Validate uri of XML catalog. See #823.
  • Do not complete paths in attr unless beginning of value looks like a path. See #1293.
  • Use the HTTP proxy configuration for HTTPS as well. See #1253.

Bug Fixes

  • Fix tests on Windows OS. See #1306.
  • Annotations found in base complex type not shown on hover. See #1268.
  • Autocompletion of attribute values won't display documentation. See #1260.
  • Format CDATA sections without adding new lines. See #1193.
  • Formatting with xml.format.emptyElements: expand chokes on malformed XML. See #650.
  • Null pointer exception when processing code action cvc_complex_type_2_4_b. See #1280.

Build

  • Fix CI badge, add some more badges. See #1262.
  • Enable dependabot. See #1309.
  • Unit tests should not store data in the .lemminx folder under the user's home directory. See #1265.
  • Update Jenkins and GH Actions build scripts to reflect branch renaming. See #1261.
  • Bump build-helper-maven-plugin from 3.0.0 to 3.3.0. See #1322.
  • Bump maven-assembly-plugin from 3.1.1 to 3.4.2. See #1321.
  • Bump maven-bundle-plugin from 5.1.1 to 5.1.8. See #1315.
  • Bump maven-source-plugin from 3.0.1 to 3.2.1. See #1314.

Other

  • Add test for formatting with xs:documentation multiline content. See #1303.
  • Enable tests for experimental formatter. See #1327.

0.21.0 (June 29, 2022)

Enhancements

  • CodeAction for cvc-complex-type.2.4.b. See #1218.
  • Support folding for <!DOCTYPE. See #1213.
  • Added folding setting to keep displaying the closing tag after folding. See #1209.
  • Provide basic experimental formatter which supports invalid XML. See #1195.
  • Format with xml:space. See #826.
  • Code action for SemicolonRequiredInReference. See #665.
  • Improve XML formatter (option to have Tags in the same line). See #594.

Performance

  • Cancel process of code action. See #1220.
  • Parse of DOM document should be not done in a Thread. See #1216.
  • Improve DOM parser memory. See #1211.
  • Improve XML scanner memory. See #1206.
  • Wait a bit after change before sending diagnostics. See #1162.
  • Improve CodeAction performance with CodeAction#data & resolveCodeAction. See #941.
  • Support for completionItem/resolve. See #616.

Bug Fixes

  • DOCTYPE entities interfering with hover annotation display of tags / attributes. See #1212.
  • Incorrect error range for cvc-identity-constraint.4.1. See #1210.
  • Resolve uri as system with XML catalog. See #1199.
  • Preserve invalid content while formatting. See #1041.
  • Bad element formatting is replaced with . See #1034.
  • Lone quote inside tag leads to catastrophic formatting. See #679.
  • XML format for bad processing instruction removes following element. See #675.
  • Attribute value without a key is removed while formatting. See #305.

Other

  • Update lsp4j to 0.14.0. See #1231.
  • Add test for TreeLineTracker.getLineInformation. See #1228.
  • A test file contains "private non-commercial use" clause. See #1197.
  • Adopt linkedEditingRanges wordPattern property. See #1187.
  • Remove native-image GitHub action from repository. See #1184.

0.20.0 (March 29, 2022)

Enhancements

  • Improve DTD/XSD security with regard to remote resources. See #1183.
  • Closing tags should be included in the code folding range. See #1178.

Bug Fixes

  • NPE on xsd datatype autocompletion in binary mode. See #1189.
  • Completion for prefix of attribute name. See #1133.

Other

  • Tests: Assertion is added for additional text edits of a completion item. See #1186.
  • Update GraalVM version used in binary verification builds to x.y.z. See #1158.

0.19.1 (February 15, 2022)

Bug Fixes

  • Fix endless diagnostic publishing when validation is disabled. See #1175.

0.19.0 (February 14, 2022)

Enhancements

  • Basic support for parameter entities. See #1167.
  • Support for document link DTD entity SYSTEM. See #1165.

Bug Fixes

  • Bad SYSTEM for DTD DocType and Entity breaks the XML validation. See #1169.
  • Prevent suspicious directory traversal. See #1171.
  • Limit resource downloads to http, https and ftp and prevent insecure redirects. See #1174.

0.18.4 (February 01, 2022)

Bug Fixes

  • Add XMLDownloadExternalResourcesSettings for native. See #1163.

0.18.3 (January 31, 2022)

Enhancements

  • Support more customization for attribute elements in document symbols protocol. See #1151.

Bug Fixes

  • End Tag completion should be given priority above some other proposals. See #1150.
  • 'No definition found' when using 'Go to Definition' for types defined in imported XSD. See #1146.
  • Add option to control downloading of external schema resources. See #1155.
  • Invalid "schemaLocation" is not reported. See #1143.
  • NPE on renaming a namespaced tag with no corresponding ending tag. See #1139.
  • Updated Xerces to 2.12.2. See #1156.
  • Update Gson to 2.8.9. See #1161.

0.18.2 (December 14, 2021)

Enhancements

  • Improved accuracy of attribute value quick fix suggestions. See #1136

Bug Fixes

  • Shutdown raises exception. See #1132.
  • Transmit document telemetry in aggregate instead of on document open. See #1131
  • Fixed tag rename for XML tags containing colons. See #1135

0.18.1 (November 2, 2021)

Enhancements

  • Register a command "xml.check.file.pattern". See #1112.
  • Report schema identifier of XML document through telemetry event. See #1105.

Bug Fixes

  • Disable external entities when using SAX parser. See #1104.
  • Aggregate errors in xsd:import|include@schemaLocation for referenced grammar which have errors. See #1117.
  • LemMinX doesn't declare workspaceFolders capability. See #1110.

Build

  • Bump jsoup from 1.9.2 to 1.14.2 in org.eclipse.lemminx. See #1115.
  • Update maven wrapper to 3.8.3. See #1118.
  • Fix typo in readme. See #1120.
  • Cache ~/.m2/ to speed up GH actions. #1109

0.18.0 (August 10, 2021)

Enhancements

  • Added CodeLens that displays referenced grammars at the top of an XML file. See #1092.
  • Added CodeAction to bind an XML document to an existing schema. See #1088.
  • Added request 'canBindGrammar' to help implement binding an XML document to an existing schema. See #1084.
  • Let scanner check for whitespace. See #1077.
  • Provide Document Lifecycle Participant for tracking didOpen, did*. See #603.
  • Report telemetry events about text documents that are opened: file extension, grammar binding strategy, grammar resolving strategy. See #1066.

Bug Fixes

  • Fixed stackoverflow and resource leak when calculating folding ranges. See #1074.
  • Aligned tag closing bracket with attribute when splitAttributes and closingBracketNewLine are enabled. See #1085.
  • Fixed src-import.3.1 error range. See #1075.
  • Fixed src-import.3.2 error range. See #1069.
  • Adding closing bracket (>) in attribute quotation marks causes repeated auto-complete of the closing tag. See #1083.

Build

  • Update jarsigner plugin to fix Jenkins builds. See #1095.

0.17.1 (June 25, 2021)

Bug Fixes

  • Add support for exiting immediately from a shutdown() request. See #1070.

0.17.0 (June 22, 2021)

Enhancements

  • Generate CodeLens to associate a grammar/schema. See #1049.
  • Support for textDocument/selectionRange. See #1021.
  • Add support for linked editing. See #987.
  • Added closingBracketNewLine formatting option. See #1051.

Bug Fixes

  • Fixed 'Go To References' in binary. See #1059.
  • CodeLens does not work in binary. See #1046.
  • Error while saving file to cache on Windows OS (PosixFileAttributeView not supported). See #734.

0.16.2 (May 18, 2021)

Bug Fixes

  • Fix range formatting in the binary server. See #1035
  • Mitigate Billion Laughs vulnerability. See #1038

0.16.1 (May 17, 2021)

Enhancements

  • Improve the error range for unterminated elements, and use relatedInformation to show the expected close tag placement. See #963.
  • Add setting xml.completion.autoCloseRemovesContent to prevent auto self-closing feature from deleting content. See #1009.
  • Change name of telemetry events to use .. See #1017.
  • Output the language server error stream during development. See #1019.
  • Update Guava to 30.1.1. See #1025
  • Update Xerces to 2.12.1. See #1013.

Bug Fixes

  • Fix xml.validation.noGrammar setting. See #1024.
  • Fix XML 1.1 support in the binary server. See #1027.
  • Fix revalidation commands in the binary server. See #1031.
  • Return null when receiving a request on a document before it has been opened. See #957.
  • Update the binary configuration so that the server works with an LSP 3.15 client. See #1022.

0.16.0 (April 13, 2021)

Enhancements

  • Add telemetry/event support. See #430.
  • Add CancelChecker as parameter to ICompletionParticipant methods. See #992.
  • Add ability to read proxy configuration from environment variables. See #1012

Bug Fixes

  • Fix rename not completing when using the binary. See #990.
  • Fix a test failure. See #1003.
  • Fix NPE when hovering on a malformed document. See #984.
  • trimTrailingWhitespace option is not respected by textDocument/formatting. See #827.
  • Add a CONTRIBUTING.md. See #998.
  • Use User-Agent: LemMinX when downloading schemas to prevent HTTP 403 when using Java 8. See #994.

0.15.0 (February 2, 2021)

Enhancements

  • Generate a native binary using GraalVM. See #860.
  • Indicate if the server is a binary in the startup message. See #949.
  • Allow LemMinX extensions to contribute to WorkspaceService. See #966.
  • Add new formatting setting xml.format.splitAttributesIndentSize. See #952.
  • Disable XSD validation when xsi:schemaLocation doesn't declare the hint for the document element root. See #953.
  • Manage namespaces / prefix validation with a setting. See #960.

Bug Fixes

  • Avoid trailing space in processing instructions. See redhat-developer/vscode-xml#372.
  • LemMinX no longer crashes if a LemMinX extension class cannot be created. See #967.
  • Single < no longer has code action to close with />. See redhat-developer/vscode-xml#373.
  • Catch errors from any participants. See #946.
  • Avoid sending duplicate client/registerCapability for workspace/executeCommand. See #937.
  • Use kill -0 instead of ps -p in ParentProcessWatcher. See #936.
  • Prevent ClassCastException when generating document links for XML catalogs. See #932.
  • Register org.eclipse.lsp4j.FileEvent for reflection. See #979.
  • Prevent URLs in uri attributes in catalogs from raising exceptions. See #977.

0.14.1 (November 10, 2020)

Bug Fixes

  • NPE When there's a validation error. See #927.
  • Symbols are not computed when ResultLimitExceededException is thrown. See #928.

0.14.0 (November 6, 2020)

Enhancements

  • Outline should display referenced DTD / XSD from the current XML. See #892.
  • XML catalog nextCatalog/@catalog documentLink support. See #845.
  • Format for xsi:schemaLocation. See #825.
  • Customize documentSymbols (Outline) with participant. See #824.
  • Support for xml/executeClientCommand access to server from extension. See #596.
  • Document links in catalog's <system uri="..." />. See #220.
  • Command to reload remote schema. See vscode-xml#284.
  • Customize symbols in the outline. See vscode-xml#220.

Bug Fixes

  • When associating a DTD through <?xml-model...?>, DTD-related errors should be aggregated. See #918.
  • Can't use XML catalog with XSD files that have <xs:include />. See #914.
  • Empty log file string crashes the server. See #904.
  • Incorrect diagnostic error range for MSG_SPACE_REQUIRED_BEFORE_ELEMENT_TYPE_IN_ELEMENTDECL. See #902.
  • CodeAction which raises an Exception prevents other CodeActions from being generated. See #900.
  • Symbols Max Items Computed doesn't work for 0. See #898.
  • Code Action for </ with no matching open tag doesn't fix content. See #889.
  • Incorrect error range for cvc-complex-type.2.3. See #885.
  • Code Action to close root element closing tag inserts wrong closing tag. See #878.
  • Improve ETagRequired error range. See #876.
  • Improve error range for ETagUnterminated . See #875.
  • Error range for empty element cvc-datatype-valid.1.2.3. See #871.
  • Incorrect error range for cvc-datatype-valid.1.2.3. See #864.
  • StringIndexOutOfBoundsException in EntityNotDeclaredCodeAction.getEntityName. See #862.
  • Infinite loop inside LSPMessageFormatter for some cases. See #856.
  • XML validation should aggregate DTD errors in doctype. See #853.
  • DTD hyperlink with XML catalog and PUBLIC declaration doesn't work. See #850.
  • XML completion based on DTD with XML catalog and PUBLIC declaration doesn't work. See #849.
  • DTD validation doesn't work with XML catalog and PUBLIC declaration. See #847.
  • Null Pointer Exception in catalog extension. See #833.
  • XML validation should aggregate XSD errors where is referenced. See #768.
  • CacheResourcesManagerTest.testAvailableCache fails sometimes. See #753.
  • completionRequest.getReplaceRange() is erroneous in text that contains /. See #723.
  • Formatting comments which have no end should not generate -->. See vscode-xml#347.
  • Don't send invalid catalog notifications for paths with file schemes. See vscode-xml#289.
  • EntityNotDeclared quick fix doesn't use the proper indentation settings. See vscode-xml#267.
  • XSD with targetNamespace cannot be used with xml.fileAssociations. See vscode-xml#223.
  • xml.fileAssociations does not work with DTD files. See vscode-xml#184.

0.13.1 (July 6, 2020)

Bug Fixes

  • Fix generate schema code action when file name contains a single quote. See #820.

0.13.0 (July 6, 2020)

Enhancements

  • Grammar generator: generate a grammar from an XML document. See #778.
  • Bind XML document with no grammar constraints to generated XSD / DTD. See #151.
  • Quick fix to create missing xsi:noNamespaceSchemaLocation and generate XSD that adheres to current XML document. See #702.
  • Highlight the XSD file name in xsi:schemaLocation when reporting an invalid or missing XSD file. See #782.
  • Add support for textDocument/documentLink for xsi:schemaLocation. See #666.
  • Sort snippets. See #692.
  • Formatting support for trim trailing whitespace. See #784
  • Warning message when one of the xml.catalogs paths cannot be found. See #757.
  • New snippet to generate a catalog. See #708.
  • New snippets for xml-stylesheet. See #728.

Bug Fixes

  • Missing xml-model reference generates multiple similar warnings. See #795.
  • Fix line break being incorrectly added when preserveAttrLineBreaks is true. See #780.
  • Fix cases where spaces in file paths weren't accounted for. See #749.
  • Fix documentation "information" typo. See #812.

0.12.0 (June 10, 2020)

Enhancements

  • Preserve attribute line breaks. See #772
  • Provide more server/build info on startup. See #755
  • Display no hover if there is no documentation. See #743
  • Add support for textDocument/documentLink for xs:import/schemaLocation. See #733
  • Add support for textDocument/documentLink for xml-model/href. See #712
  • Find definition for external declared entity. See #706
  • Snippet to generate xml-model. See #699
  • XML Completion based on DTD/XML Schema by using xml-model . See #698
  • Validate XML with DTD/XML Schema by using xml-model. See #697
  • Create hyperlink to DTD source on hover. See #693
  • Add support for textDocument/documentLink for xs:include/schemaLocation. See #689
  • Remove spacing when formatting processing instruction. See #670
  • Hover for referenced entities. See #663
  • Completion for external declared entity. See #660
  • Insert final newline depending on lsp4j formatting settings. See #649
  • Formatter expand/collapse/ignore empty XML tags. See #644
  • Hyperlink to open declared DTD files. See #641
  • Manage snippet registry to write snippet in JSON. See #640
  • Configure limit for textDocument/documentSymbol with xml.symbols.maxItemsComputed. See #637
  • Completion for xsd:enumeration inside of text node. See #632
  • Separate xsd:documentation and xsd:appinfo contents on hover and completion. See #630
  • Consume LSP4J 0.9.0. See #628
  • Find definition for locally declared entity. See #625
  • CodeActions for RootElementTypeMustMatchDoctypedecl. See #561
  • CodeAction for EntityNotDeclared. See #532
  • Completion for locally declared entity. See #520

Bug Fixes

  • Too many logs after completion, hover with XML that contains DTD subset. See #750
  • Fix collection of external entities depending on line ending. See #744
  • No entity completion for externally declared SYSTEM and PUBLIC entities. See #742
  • Entity documentation has no value for entities declared with SYSTEM OR PUBLIC. See #741
  • Error while loading DOCTYPE subset : java.lang.NullPointerException. See #739
  • NPE in ContentModelCompletionParticipant.addCompletionItem. See #720
  • NPE in XMLCompletions collectAttributeNameSuggestions(). See #719
  • Support advanced characters for entity name. See #718
  • Fix error range TargetNamespace.1. See #704
  • Fix error range TargetNamespace.2. See #703
  • Fix cache result of external grammar info. See #696
  • Read the cached XSD, DTD grammar file with lazy mode. See #687
  • NPE with Codelens in empty XSD file. See #684
  • Range formatting inserts <null> when formatting inside DOCTYPE element. See #682
  • NPE in ContentModelCodeActionParticipant.doCodeAction#L47. See #671
  • Fix error range for SemicolonRequiredInReference. See #664
  • Don't generate end element on apply completion if it exists. See #651
  • Quickfix to close open tag doesn't deal with attributes. See #646
  • MSG_ATTRIBUTE_NOT_DECLARED must highlight attribute name instead of attribute value. See #634
  • NPE with TypeDefinition. See #629

Build

  • Display test names in a more user-friendly way. See #647
  • Migrate Tests to JUnit 5 Jupiter. See #627

0.11.1 (March 25, 2020)

Bug Fixes

  • Enumeration documentation is not displayed. See #623

0.11.0 (March 19, 2020)

Enhancements

  • Contribute lsp4xml to the Eclipse foundation. See #283
  • Add onTagText to IHoverParticipant (or extend IHoverParticipant). See #609

Bug Fixes

  • NPE when typing <?. See #614
  • NPE when document contains an empty tag. See #613
  • In Maven , all known XML elements from schema are suggested as completion. See #612
  • UTF-16 not supported. See #611
  • Unregister language server extension on LS shutdown. See #605

0.10.0 (December 13, 2019)

Enhancements

  • (Experimental) Ability to edit start/end tag simultaneously under xml.mirrorCursorOnMatchingTag preference. See #597.
  • Allows File Associations to be used without Workspace. See #598.
  • CodeAction for missing root end tag. See #595.
  • DTD hover/completion support for documentation. See #592.
  • CodeAction for similar looking element names if it doesn't match the schema. See #591.
  • Navigation and intellisense for xs:include-ed types. See #579.

Bug Fixes

  • xs:import code action was inserting inside the tag name. See #593.
  • Prolog attribute completion was providing invalid values. See #587.
  • getCurrentAttribute method was not returning the correct attribute name. See #584.
  • Hover was not returning all hover responses. See #582.
  • cvc-pattern error range fix. See #580.

0.9.1 (October 17, 2019)

Bug Fixes

  • XSD: IntelliSense and element substitutions. See #568
  • Completion doesn't use file cache for included XML schema. See #570
  • Prevent from NPE validation with schemaLocaton and "schema.reference.4" error. See #569

Performance

  • Improve performance and memory for validation by caching XML Schema / DTD. See #534

Others

  • Update lsp4j version to 0.8.1. See #571
  • Reject download of resource which are not in the cache folder. Fixes CVE-2019-18212. See #567
  • Add disallowDocTypeDecl & resolveExternalEntities validation settings. Fixes CVE-2019-18213. See #566

0.9.0 (September 10, 2019)

Enhancements

  • Add support for textDocument/documentHighlight for DTD. See #545
  • Ability to rename a complexType/@name inside XML Schema. See #454
  • Add support for textDocument/codeLens for XML DTD. See #252
  • Add support for textDocument/references for DTD. See #234
  • Add support for textDocument/definition for DTD. See #233

Bug Fixes

  • Cache completion based on XML Schema/DTD. See #547
  • Fix error range for cvc-datatype-valid-1-2-1. See #323
  • Support completion with xs:any. See #177
  • Fixes issue with error messages not showing. See #557
  • Validation Error Message Fails on Certain Cases. See #553
  • Error range for RootElementTypeMustMatchDoctypedecl. See #537

Change Log

0.8.0 (July 23, 2019)

Enhancements

  • Markdown support for hover documentation. See #24
  • Markdown support for completion documentation. See #526
  • Add completion for comment and #region. See #54
  • Add completion for CDATA block. See #168
  • Find definition for start/end tag element. See #535
  • Show relevant XML completion options based on XML Schema. See #347
  • Improve XSD source information for XML completion. See #529
  • Add support for textDocument/documentHighlight for XML Schema types. See #470
  • Add support for textDocument/completion for xs:element/@name / xs:extension/@base. See #451
  • Add support for selective outline enablement per file. See #427
  • Parse .ent and .mod files as DTD files. See #380
  • Add support for textDocument/typeDefinition from XML to XMLSchema/DTD. See #371
  • Add support for textDocument/definition for XML Schema. See #148
  • Add support for textDocument/references for XML Schema types. See #58
  • Add support for textDocument/codelens for XML Schema types. See #55
  • Add support for clickableXSD CodeLens. See #490
  • Improved XML validation when XSD files are saved. See #506

Bug Fixes

  • Hover markup response ignored the hover client capability. See #525
  • Completion capability was lost in specific scenarios. See #522
  • Fixed NPE in textDocument/definition in XSD files. See #488
  • Fixed case sensitivity problems for element and attribute names. See #433
  • Selection formatting ignores attribute indentation preference. See #429
  • Fixed error range for EntityNotDeclared. See #518
  • Fixed error range for src-import.1.2. See #499
  • Fixed error range for s4s-elt-invalid-content.3. See #496
  • Fixed error range for cvc-pattern-valid. See #477
  • Fixed error range for AttributePrefixUnbound. See #476
  • Fixed error range for EmptyTargetNamespace. See #472
  • Fixed error range for ct-props-correct.3. See #467
  • Fixed error range for sch-props-correct.2. See #462
  • Fixed error range for s4s-elt-must-match.2. See #458
  • Fixed error range for ct-props-correct.3. See #455
  • Fixed error range for src-ct.1. See #453
  • Fixed error range for duplicate attribute.. See #452
  • Fixed error range for p-props-correct.2.1. See #436
  • Fixed error range for cos-all-limited.2. See #428
  • Fixed error range for src-element.3. See #420
  • Documents with an Internal Subset DOCTYPE had stopped trying to bind. See #379
  • Fixed discrepancy in completion between prefixed and default namespaces. See #311
  • XML did not validate when bounded DTD file was not found. See #167
  • Formatter inserts spaces in empty lines. See #157
  • VSCode was not revalidating XML files when relevant XSD files were modified outside VSCode. See #131

Performance

  • Improve XML Scanner performance. See #444
  • Use CompletableFuture to load DOMDocument. See #439
  • Examined memory usage. See #438
  • Improved TextDocument update (in async) performance with TreeLineTracker. See #426
  • Tested large files for performance. See #48

0.7.0 (June 11, 2019)

Enhancements

  • Display Java runtime used to launch the server. See #415.
  • Added xml.symbols.enabled preference, to enable/disable Document Symbols. See #413.
  • File completion in attribute value. See #345.
  • Validation for an XML Schema. See #190.
  • Ability for XML Prolog completion in DTD files. See #267.
  • Ability to rename a namespace/namespace renaming improvements. See #366.
  • Startup time for SVG DTD file completion was too slow. See #397.
  • Mark element source coming from XML Schema/DTD for completion. See #210.

Bug Fixes

  • Memory usage improvements. See #389.
  • Fix completion source crash on Windows OS. See #408.
  • Fix error range for ETagRequired. See #387.
  • Fix error range for cos-all-limited.2. See #407.
  • Fix normalizePath test for Windows OS. See #399.
  • Document Symbols only returns the 1st ATTLIST value. See #265.
  • Completion in SVG DTD file proposed duplicate completions. See #386.
  • Fixed formatting range issues. See #76.

0.6.0 (May 22, 2019)

Enhancements

  • Attribute completion for both xsi:schemaLocation and xsi:noNamespaceSchemaLocation are independent of each other. See #382.
  • Upgraded to lsp4j version 0.7.1. See #370.
  • Preference xml.format.preservedNewLines to preserve new lines on format. See #350.

Bug Fixes

  • Fixed error range for cvc-complex-type.2.4.f. See #368.
  • Fixed error range for SchemaLocation warning. See #343.
  • Fixed error range for MarkupEntityMismatch. See #367.
  • Missing schema would generate too many/redundant warnings. See #336.
  • Self-closing tag did not remove end tag if tag name contained uppercase characters. See #354.
  • Placing a / in an attribute value triggered autoclosing. See vscode-xml#126.
  • New Maven POM attribute was breaking tests. See #356.
  • Removed unused settings for testing. See #356.

0.5.1 (April 08, 2019)

Bug Fixes

  • Fixed incorrect expansion of the ~ directory on Windows, for xml.server.workDir. See #348.

0.5.0 (April 05, 2019)

Enhancements

  • More detailed completion for Prolog. See #155.
  • Added completion for xmlns attribute. See #208.
  • Have value completion for xmlns:xsi. See #326.
  • Make ParentProcessWatcher optional. See #328.
  • Autoclose self-closing tags. See #239.
  • Don't autoclose tag if the closing tag already exists. See #314.
  • Changing the content of an XML Schema triggers validation. See #213.
  • Preference xml.server.workDir to set schema cache folder. See #222.
  • Code action to close missing quotes for attributes. See #137.
  • Hover for attribute value documentation from XSD's. See #12.
  • Autocompletion for xsi:nil values. See #247.

Bug Fixes

  • textDocument/publishDiagnostics failed with message: Illegal argument: line must be non-negative. See #157.
  • XSI completion item messages were incorrect. See #296.
  • Removed trailing whitespace from normalized strings on format. See #300.
  • Format of attribute without value loses data. See #294.
  • Cleaned up skipped unit tests. See #319.
  • Verified that logger settings were actually set on startup before updating settings. See #81.
  • Fixed error range of cvc-type.3.1.2. See #318.
  • Fixed error range of ETagUnterminated. See #317.
  • Fixed error range of cvc-elt.3.2.1. See #321.
  • Multiple 'insert required attribute' code actions shown when multiple attributes are missing. See #209.
  • Self closing tag causes NPE in cvc_complex_type_2_1CodeAction.doCodeAction. See #339.
  • Closing CDATA tag throws exception. See #341.
  • Fix formatting issue with processing instruction attributes. See #331.

0.4.0 (March 07, 2019)

Enhancements

  • Modified schema validation messages. See #181.
  • Preference xml.format.quotations to set single vs double quotes for attribute values on format. See #263.
  • Preference xml.format.preserveEmptyContent to preserve a whitespace value in an element's content. See #273.
  • Compatibility with OSGi and p2. See #288.

Bug Fixes

  • Fixed memory leak of file handles. See #303.
  • XSI completion item messages were incorrect. See #296.
  • Removed trailing whitespace from normalized strings on format. See #300.
  • Format of attribute without value loses data. See #294.

0.3.0 (January 28, 2019)

Enhancements

  • Addded root element 'xml' to preferences JSON. See #257.
  • Added ability to format DTD/DOCTYPE content. See #268.
  • Added outline for DTD elements. See #226.
  • Ability to start the server in socket mode. See #259.
  • XML completion based on internal DTD. See #251.
  • XML completion based on external DTD. See #106.
  • Completion for DTD <!ELEMENT, <!ATTRIBUTE, ... . See #232.
  • Provide automatic completion/validation in catalog files. See #204.
  • Hover for XSI attributes. See #164.
  • Show attribute value completion based on XML Schema/DTD. See #242.
  • Added xml.format.spaceBeforeEmptyCloseTag preference to insert whitespace before closing empty end-tag. See #197.
  • Completion for XSI attributes. See #163.
  • Changing the content of catalog.xml refreshes the catalogs and triggers validation. See #212.
  • Switched to lsp4j 0.6.0 release. See #254.
  • Added xml.validation.noGrammar preference, to indicate document won't be validated. See #218.
  • Added preference to enable/disable validation xml.validation.enabled and xml.validation.schema. See #260.
  • Deploy lsp4xml to a public Maven repository. #229.

Bug Fixes

  • Formatting unclosed tag would be in wrong location. See #269.
  • Formatting removes DOCTYPE's public declaration. See #250.
  • Infinite loop when < was typed into an empty DTD file. See #266.
  • Formatting malformed xml removed content. See #227.
  • Misplace diagnostic for cvc-elt.3.1. See #241.
  • javax.xml.soap.Node is not available in Java 11. See #238.
  • Adjust range for DTD validation errors. See #107.
  • Adjust range error for internal DTD declaration. See #225.
  • Don't add sibling element when completion items is filled with grammar. See #211.
  • Validation needs additional <uri> catalog entry. See #217.
  • XML Schema completion prefix did not work in some cases. See #214.
  • Support rootUri for XML catalog configuration. See #206.
  • CacheResourcesManager keeps trying to download unavailable resources. See #201.
  • Support rootUri for XML catalog configuration. See #206.
  • CacheResourcesManager keeps trying to download unavailable resources. See #201.
  • Fix license headers according to project's declared EPL v2.0. See #256.

0.0.2 (November 8, 2018)

Enhancements

  • Add support for textDocument/documentLink . See #56.
  • No completion nor validation when editing an xsd schema. See #178.
  • Cache on the file system, XML Schema from http, ftp before loading it. See #159.
  • Support for XSL. See #189.
  • Change 'resource downloading' diagnostic severity to Information. See #187.
  • XSL support to resolve XML Schema of xsl. See #91.
  • Add support for completion requests from empty character. See #112.
  • Provide documentation on hover for attributes. See #146.

Bug Fixes

  • Formatting deletes document's body when there's a DTD declaration. See #198.
  • Completion from local xsd was cached too aggressively. See #194.
  • "format.splitAttributes:true" adds excessive indentation. See #188.
  • No validation or code completion on nested elements. See #177.
  • XSD files can only be edited if useCache is enabled. See #186.
  • No autocompletion when writing XSDs. See #111.
  • Insert required attribute code action inserts bad placeholder. See #185.
  • No validation when referencing a schema in the same directory. See #144.
  • Hover doesn't work when xs:annotation is declared in type and not element. See #182.
  • Incomplete autocompletion for xsl documents. See #165.
  • Auto Complete/ Completion for XML Prolog. See #85.
  • xml.format.splitAttributes keeps first attribute on same line. See #161.
  • File association should support relative path for systemId. See #142.
  • Validation of non-empty nodes required to be empty shows misplaced diagnostics. See #147.
  • Validation of empty required node shows misplaced diagnostics. See #145.