Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

yaml-language-server

redhat-developer958kMIT1.18.0TypeScript support: included

YAML language server

yaml, LSP

readme

CI Build Status version Coverage Status

YAML Language Server

Supports JSON Schema 7 and below.

Features

  1. YAML validation:
    • Detects whether the entire file is valid yaml
  2. Validation:
    • Detects errors such as:
      • Node is not found
      • Node has an invalid key node type
      • Node has an invalid type
      • Node is not a valid child node
    • Detects warnings such as:
      • Node is an additional property of parent
  3. Auto completion:
    • Auto completes on all commands
    • Scalar nodes autocomplete to schema's defaults if they exist
  4. Hover support:
    • Hovering over a node shows description if available
  5. Document outlining:
    • Shows a complete document outline of all nodes in the document

Language Server Settings

The following settings are supported:

  • yaml.format.enable: Enable/disable default YAML formatter (requires restart)
  • yaml.format.singleQuote: Use single quotes instead of double quotes
  • yaml.format.bracketSpacing: Print spaces between brackets in objects
  • yaml.format.proseWrap: Always: wrap prose if it exeeds the print width, Never: never wrap the prose, Preserve: wrap prose as-is
  • yaml.format.printWidth: Specify the line length that the printer will wrap on
  • yaml.validate: Enable/disable validation feature
  • yaml.hover: Enable/disable hover
  • yaml.completion: Enable/disable autocompletion
  • yaml.schemas: Helps you associate schemas with files in a glob pattern
  • yaml.schemaStore.enable: When set to true the YAML language server will pull in all available schemas from JSON Schema Store
  • yaml.schemaStore.url: URL of a schema store catalog to use when downloading schemas.
  • yaml.customTags: Array of custom tags that the parser will validate against. It has two ways to be used. Either an item in the array is a custom tag such as "!Ref" and it will automatically map !Ref to scalar or you can specify the type of the object !Ref should be e.g. "!Ref sequence". The type of object can be either scalar (for strings and booleans), sequence (for arrays), map (for objects).
  • yaml.maxItemsComputed: The maximum number of outline symbols and folding regions computed (limited for performance reasons).
  • [yaml].editor.tabSize: the number of spaces to use when autocompleting. Takes priority over editor.tabSize.
  • editor.tabSize: the number of spaces to use when autocompleting. Default is 2.
  • http.proxy: The URL of the proxy server that will be used when attempting to download a schema. If it is not set or it is undefined no proxy server will be used.
  • http.proxyStrictSSL: If true the proxy server certificate should be verified against the list of supplied CAs. Default is false.
  • [yaml].editor.formatOnType: Enable/disable on type indent and auto formatting array
Adding custom tags

In order to use the custom tags in your YAML file you need to first specify the custom tags in the setting of your code editor. For example, we can have the following custom tags:

"yaml.customTags": [
    "!Scalar-example scalar",
    "!Seq-example sequence",
    "!Mapping-example mapping"
]

The !Scalar-example would map to a scalar custom tag, the !Seq-example would map to a sequence custom tag, the !Mapping-example would map to a mapping custom tag.

We can then use the newly defined custom tags inside our YAML file:

some_key: !Scalar-example some_value
some_sequence: !Seq-example
  - some_seq_key_1: some_seq_value_1
  - some_seq_key_2: some_seq_value_2
some_mapping: !Mapping-example
  some_mapping_key_1: some_mapping_value_1
  some_mapping_key_2: some_mapping_value_2
Associating a schema to a glob pattern via yaml.schemas:

yaml.schemas applies a schema to a file. In other words, the schema (placed on the left) is applied to the glob pattern on the right. Your schema can be local or online. Your schema path must be relative to the project root and not an absolute path to the schema.

For example: If you have project structure

myProject

   > myYamlFile.yaml

you can do

yaml.schemas: {
    "https://json.schemastore.org/composer": "/myYamlFile.yaml"
}

and that will associate the composer schema with myYamlFile.yaml.

More examples of schema association:

Using yaml.schemas settings

Single root schema association:

When associating a schema it should follow the format below

yaml.schemas: {
    "url": "globPattern",
    "Kubernetes": "globPattern"
}

e.g.

yaml.schemas: {
    "https://json.schemastore.org/composer": "/*"
}

e.g.

yaml.schemas: {
    "kubernetes": "/myYamlFile.yaml"
}

e.g.

yaml.schemas: {
    "https://json.schemastore.org/composer": "/*",
    "kubernetes": "/myYamlFile.yaml"
}

On Windows with full path:

yaml.schemas: {
    "C:\\Users\\user\\Documents\\custom_schema.json": "someFilePattern.yaml",
}

On Mac/Linux with full path:

yaml.schemas: {
    "/home/user/custom_schema.json": "someFilePattern.yaml",
}

Since 0.11.0 YAML Schemas can be used for validation:

 "/home/user/custom_schema.yaml": "someFilePattern.yaml"

A schema can be associated with multiple globs using a json array, e.g.

yaml.schemas: {
    "kubernetes": ["filePattern1.yaml", "filePattern2.yaml"]
}

e.g.

"yaml.schemas": {
    "http://json.schemastore.org/composer": ["/*"],
    "file:///home/johnd/some-schema.json": ["some.yaml"],
    "../relative/path/schema.json": ["/config*.yaml"],
    "/Users/johnd/some-schema.json": ["some.yaml"],
}

e.g.

"yaml.schemas": {
    "kubernetes": ["/myYamlFile.yaml"]
}

e.g.

"yaml.schemas": {
    "http://json.schemastore.org/composer": ["/*"],
    "kubernetes": ["/myYamlFile.yaml"]
}

Multi root schema association:

You can also use relative paths when working with multi root workspaces.

Suppose you have a multi root workspace that is laid out like:

My_first_project:
   test.yaml
   my_schema.json
My_second_project:
   test2.yaml
   my_schema2.json

You must then associate schemas relative to the root of the multi root workspace project.

yaml.schemas: {
    "My_first_project/my_schema.json": "test.yaml",
    "My_second_project/my_schema2.json": "test2.yaml"
}

yaml.schemas allows you to specify json schemas that you want to validate against the yaml that you write. Kubernetes is an optional field. It does not require a url as the language server will provide that. You just need the keyword kubernetes and a glob pattern.

Using inlined schema

It is possible to specify a yaml schema using a modeline.

# yaml-language-server: $schema=<urlToTheSchema>

Containerized Language Server

An image is provided for users who would like to use the YAML language server without having to install dependencies locally.

The image is located at quay.io/redhat-developer/yaml-language-server

To run the image you can use:

docker run -it quay.io/redhat-developer/yaml-language-server:latest

Language Server Protocol version

yaml-language-server use `vscode-languageserver@7.0.0` which implements LSP 3.16

Clients

This repository only contains the server implementation. Here are some known clients consuming this server:

Developer Support

Getting started

  1. Install prerequisites:
  2. Fork and clone this repository
  3. Install the dependencies
    cd yaml-language-server
    $ yarn install
  4. Build the language server
    $ yarn run build
  5. The new built server is now located in ./out/server/src/server.js.
    node (Yaml Language Server Location)/out/server/src/server.js [--stdio]

Connecting to the language server via stdio

We have included the option to connect to the language server via stdio to help with intergrating the language server into different clients.

ESM and UMD Modules

Building the YAML Language Server produces CommonJS modules in the /out/server/src directory. In addition, a build also produces UMD (Universal Module Definition) modules and ES Modules (ESM) in the /lib directory. That gives you choices in using the YAML Language Server with different module loaders on the server side and in the browser with bundlers like webpack.

CI

We use a GitHub Action to publish each change in the main branch to npm registry with the next tag. You may use the next version to adopt the latest changes into your project.

changelog

1.18.0

  • Feat: Do not suggest propertyNames if doNotSuggest is true #1045
  • Feat: Exclude not suggest properties from possible properties error #1051
  • Feat: Fix enum values to be unique #1028
  • Fix: URL-encoded characters in $ref paths break schema resolution #1082
  • Fix: Tests fail with Node.JS 23.7.x #1018
  • Fix: Autocompletion problem when value is null inside anyOf object #684
  • Fix: Enum strings YES / NO are converted to boolean incorrectly #1036
  • Fix: Autocompletion with escape sequence chars #1040
  • Fix: multipleOf does not work for floats #985

Thanks to Petr Spacek, Kosta and Willem Jan for your contributions.

1.17.0

  • Feat: Supported docker arm64 image #1027
  • Fix: Reverted ajv-draft04 as it not support HTTPS #1026
  • Fix: Use replaceAll() instead of replace() when turning a label into a regex #1078

1.16.0

  • Feat: Add support for draft-04 (2019 and 2020 included) json schemas while supporting draft-07 #1006
  • Feat: quickFix for enum, const, property #900
  • Add: Send real errors to telemetry #981
  • Add: Missing field descriptions for anyOf #1007
  • Add: k8s update schema to 1.32.1 #1011
  • Add: Adjust to new hover behviour for enum #1030
  • Bump: Dependencies #1000 #1001 #1002 #1003

Thanks to Remco Haszing, Petr Spacek, David Hernando, Yannik Tausch, Lauri Tirkkonen for your contributions.

1.15.0

  • Fix: some small type issues #918
  • Add: volar-service-yaml to clients #920
  • Fix: Remove ide-yaml from known clients #921
  • Fix: schema loading performance #923
  • Fix: undefined error in mergingResult.problemArgs #924
  • Add: unify string insert text for array and property #934
  • Add: Improve some special cases for selection ranges #939
  • Fix: show all enums on hover #942
  • Fix: update README syntax highlighting #945
  • Fix: render examples as yaml on hover #947
  • Fix: snippets in additionalProperties #951
  • Fix: crash when url is undefined #954
  • Fix: Add null check for customTags #955

Thanks to Remco Haszing, Petr Spacek, Tony, Gustav Eikaas, Skip Baney and Pierre Prinetti for your contributions.

1.14.0

  • Fix: Request textDocument/hover failed with message: Invalid regular expression: /(?s).*/: Invalid group #874
  • Fix: nested anyof const #888
  • Fix: Parsing example object as plain string #889
  • Fix: Improve smart select #307
  • Fix: Local YAML schema applied to schema file itself #894
  • Fix: Recursive anchors crash extension #897

Thanks to Tony,Ace and PetrSpacek for your contributions.

1.13.0

  • Fix: The default value for keyorder #859
  • Fix: older changelog heading levels #861
  • Fix: hover behavior when indentation not set #863
  • Add: Run sarif seperately #866
  • Fix: Formatting YAML file inserts ternary operators #255
  • Fix: Mark settings readonly #868

Thanks to Kasama

1.12.0

  • Fix: Completion Value with dash #832
  • Add: Enforce alphabetical ordering of keys in mappings and provide codeaction to fix it. #839
  • Fix: Value completion with trailing spaces #834
  • Add: IPv4 and IPv6 validation #843
  • Fix: Type errors inform wrong type when parent schema has keyword "title" #845
  • Fix: Anchor diagnostics #846
  • Fix: Underscore being escaped in description attribute when hovering over an attribute #886
  • Add: OpenShift Toolkit extension recommendation #892

Thanks to Petr Spacek

1.11.0

  • Fix: only the first choice is shown when hovering anyOf-typed properties #784
  • Fix: Description in the schema root does not get displayed #809
  • Fix: yaml.validation.error telemetry events are broken #816
  • Add: add diagnostic data with missing properties #775
  • Fix: Can't suggest object correctly with certain schema definition. #769
  • Fix: Property shows up multiple times in completions #829
  • Fix: oneOf validation of keys using "required" not working since 1.3.0 #769
  • Fix: incorrect behavior of keys with quotes #842
  • Fix: bad completion with array of objects #793
  • Add: Modeline takes precendence over registerContributor API #806

Thanks to Petr Spacek,Josh Pinkney

1.10.0

  • Fix: TypeError: i.startsWith is not a function #747
  • Fix: fix: autocomplete indent on object within an array #751
  • Add: Yaml style linting to forbid flow style #753
  • Fix: enum validation #803
  • Fix: autocompletion problem when value is null inside anyOf object #684
  • Fix: indentation with extra spaces after cursor. #764

Thanks to Rickcowan

1.9.0

  • Add: Publish pre-release extension on nightly CI build #682
  • Add: Add title to extension configuration #793
  • Fix: [object Object] with malformed type definition on hover #788
  • Fix: Description not returned on hover when using yaml anchors #737
  • Fix: Validation of enums that are numbers stopped working in 1.8.0 #790
  • Fix: extra space after position #732
  • Fix: zero-based index #735
  • Fix: proper indenting of snippet within an array #745

Thanks to Whazor Nanne, Petr Spacek, Golergka and Rickcowan

1.8.0

Thanks to Petr Spacek and Grant Dickinson

1.7.0

  • Fix: merge simple property completion #685
  • Fix: schemaStore.enable setting does not work as expected #721
  • Fix: oneOf: misleading validation failures with Incorrect type. Expected "object" #692
  • Fix: Yaml errors after updating to v1.5.0 #708
  • Fix: Complex YAML generates many linting errors #712
  • Chore: Upgrade yaml parser to 2.0.0-11 #693
  • Fix: Subschema mappings wrongly assign the parent schema file #694
  • Feat: Select parent skeleton first before other properties are suggested #691
  • Fix: change completion that is invoked just after array symbol #698
  • Fix: fix array completion in the middle of the empty text #697
  • Fix: completion in the middle of the empty text #696
  • Chore: Update mocha to 9.2.2 #706

Thanks to Petr Spacek

1.6.0

  • Add: differentiate similar schemas on completion #681
  • Fix: changed on specific to undefined check instead of null and undefined check #678
  • Fix: array object completion - should not suggest const #620

Thanks to Petr Spacek

1.5.1

  • Fix: Yaml errors after updating to v1.5.0 #708

1.5.0

  • Fix: TypeError: Cannot create property 'url' on string #652
  • Fix: suggestion item title #659
  • Remove data from unused anchor diagnostics #661
  • doc: add vim-easycomplete support for yaml-lsp #662
  • Remove duplicate codelens entries #667
  • Add: show examples on hover. #660
  • Fix: oneOf: misleading validation failures with Incorrect type. Expected "object" #692
  • Fix: typos in doc #700
  • Fix: using inline schema reference (# yaml-language-server: $schema) seems to not support relative paths #587

Thanks to lijing00333, Remco Haszing, Petr Spacek and yassun4dev

1.4.0

  • Feat: Report unused anchors #587
  • Fix: Formatter does not respect Editor: Detect Indentation = false #573
  • Fix: Flakiness in validator: Incorrect type. Expected "string" #671
  • Fix: TypeError: Cannot read property 'filter' of undefined #651
  • Fix: TypeError: Cannot create property 'url' on string 'array' #653
  • Fix: Hover doesn't show up when a new line is behind nested prop with null value #615
  • Fix: Error "Matches multiple schemas" is recognized in v1.2.2 but not in v1.3.0 #683
  • Fix: Schema validation matches @bitnami as a uri-formatted string. #586

1.3.0

  • Fix: Wrong hover information #647
  • Fix: relative file paths with fragments #603
  • Update K8S json schema version from 1.20.5 to 1.22.4 #611
  • Feat: extend array documentation on completion #608
  • Feat: add more detail into anyOf array completion #607
  • Feat: trim end $1 from completion #609
  • Fix: auto-complete is not working properly #563
  • Fix: TypeError: Cannot read property 'type' of undefined #652
  • Feat: Improve telemetry error logging #602
  • Fix: completion invoke in three different scenarios #617
  • Fix: DefaultSnippets quick suggestions don't show description if they overlap with const defined in if else #642
  • Fix: If maxProperties is set, completion does not work for the last property #612
  • Feat: Add convert to boolean code action #622
  • Remove getSchemas method #626
  • Lock `vscode-json-languageservice@4.1.8` #637
  • Feat: disable default props #606
  • Fix: Schema validation matches @bitnami as a uri-formatted string. #586
  • Fix: Array indent doesn't work properly inside another array #634
  • Fix: _PROXY environment and setting not honoured since 1.1.1 #588
  • Fix: array indent on different index position #635
  • Feat: parent completion #628

Thanks to tonypai, Martti Laine, Petr Spacek, sfalmo

1.2.2

  • Fix: LSP triggeringregisterCapability despite dynamicRegistration set to false #583
  • Add methods which allow client get schemas info #556
  • Fix: links error reporting #596

1.2.1

  • Fix: Can not load schema file when the URL is redirected. #586
  • docs: fix typos #592
  • Fix: Schema comment still not working properly in 1.1.0. #629
  • Fix: document symbols, when key is not string #594

Thanks to Alexander Steppke and dundargoc

1.2.0

  • Fix: Pattern (Regex) not parsed correctly, e.g. ^[\w\-_]+$ #636
  • Fix: Autocomplete bug with nested objects in arrays in the 1.0.0 version #621
  • Add: Implementation Go to Definition for alias nodes #541
  • Provide completion for reachable schema #560
  • Fix: very slow completion with aws cloudformation schema #626

Thanks to Aurélien Pupier

1.1.1

  • Fix: Autocomplete should not escape colon without white-space following #571
  • Fix: Unescape regexp string to be compatible with 'u' flag #576

1.1.0

  • Add Web VSCode support #594
  • schemas: Unicode support for pattern and patternProperties keywords #554
  • Fix: IntelliSense broken with v1.0.0 #616
  • Fix: Cannot read property '0' of undefined Code #617
  • Fix: Completion of second level for Camel K files are no more working #619
  • Provide completion for inlined schema syntax #559
  • Fix: Schema comment ignored if it isn't the first line in the file. #618

Thanks to Johnny Graettinger, Martin Aeschlimann and Aurélien Pupier

1.0.0

  • Use eemeli/yaml as YAML parser #421
  • Fix: Completion provider: t.replace is not a function #547

0.23.0

  • Replace js-yaml with yaml #526
  • Update monaco-yaml link in docs #527
  • Update vscode-nls and vscode-uri dependencies #531
  • Fix: error handling in hover and codelens #534
  • Fix: 'label.replace is not a function' error #544
  • Fix: Fragment resolution from #512 doesn't always work #522

Thanks to Remco Haszing

0.22.0

  • Fix: fetching nested http settings #511
  • Fix: Cannot create property 'url' on string 'en' #556
  • Fix: Error on 'textDocument/codeLens' request #497
  • Do not send null in to telemetry #513
  • Fix: UnhandledPromiseRejectionWarning on jsonParser #494
  • Fix: Schema URL fragments broken since 0.21.0 #557
  • Fix: Unhandled Promise rejections with dynamicRegistration disabled #498

Thanks to Rob Anderson

0.21.1

  • Fix: Unable to load remote schema with http protocol #550
  • Log more errors in to telemetry #508

0.21.0

  • Upgrade jsonc-parser to latest version #492
  • Fix: Request textDocument/completion failed with message: label.replace is not a function #536
  • Fix: TypeError: customTags.filter is not a function #495
  • Support relative path in inline schema comment #499
  • Improve hover to include title, description and source schema link #480

0.20.0

  • Fix: Autocomplete not working when certain characters are in object property keys #496 #474
  • workspace/configuration request used to fetch preferences #327
  • Now main branch used as default #472
  • Fix: Schema link does not work when schema is a local file #513

0.19.2

  • Remove fileMatch workaround, now glob patterns should work as expected #467

0.19.1

  • Fix: "Billion Laughs" attack #463
  • Added implementation of telemetry event #439
  • Added option to specify custom schema store #459

Thanks to Ryan (hackercat)

0.19.0

  • Fix: Inconsistent way to generate whole property snippet and value snippet, when it contains \" #353
  • Upgrade to 4.1.0 version of vscode-json-languageservice which enables used of the extended glob patterns. #448
  • Fix: Anchor on property which uses alias fails validation #273
  • Update js-yaml to 4.1.0 #454
  • Add monaco-yaml in the readme under clients #455
  • Add support for maxItemsComputed for document symbols and folding ranges #444
  • Add config parameter to disable additional properties #452
  • add safety measure for preventing use of npm instead of yarn (engines version trick) #458

Thanks to Andrew Metcalf, Remco Haszing, Petr Spacek and Sorin Sbarnea

0.18.0

  • Fix: additionalItems does not support $ref #408
  • Fix: vscode/jsonschema markdownDescription support seems patchy #417
  • Fix: Inconsistent way to generate whole property snippet and value snippet, when it contains \" #353
  • Fix: Keys requiring quotation can bork the schema #439
  • Fix: yaml.customTags not working in 0.17.0 #461
  • Fix: unknown tag tag:yaml.org,2002:str #173

0.17.0

  • Disable folding range provider #400
  • Re-add schema priority levels #418
  • Fix: No diagnostics reported on empty files #413
  • Update kubernetes schema to 1.20.5 #429
  • Add CodeLens with links to JSON Schema used #424
  • Fix: Completion for existing property #428

0.16.0

  • CodeAction to open json schema from yaml error #395
  • Upgrade to 4.0.2 vscode-json-languageservice #405
  • feat: add ability to delete all schemas from cache #397
  • feat: multiple schema distinction in validation #410
  • Fix: Object autocompletion in arrays with custom indentation produces invalid output #432
  • Fix: Auto completing an object underneath an array can produce the wrong indentation #392
  • CodeAction to convert Tab characters to spaces #416
  • Fix: Incorrect Matching Against Schema Store #354
  • Fix: Uses the wrong schema, even when yaml.schemas is set #397
  • feat: add new params to completion snippet #388

Thanks to Petr Spacek

0.15.0

  • Fix: Array new line ending with no indent #384
  • Fix: Code Completion with defaultSnippet and markdown #385
  • Fix: Test yaml-schema package #386
  • Fix: Completion with default snippet when node is array #387
  • Auto formatting for list, with onTypeFormatting implementation #179
  • Fix: Completion array anyOf #390
  • Fix CodeCompletion with defaultSnippet and markdown #393
  • Fix: Services initialization #399
  • Update kubernetes schema to 1.18.1 #401
  • Fix: Folding misbehaves in version 0.14.0 #400
  • Use mocha bdd interface for all tests #403

Thanks to Petr Spacek and tonypai

0.14.0

  • yaml-language-server use a non-standard LSP request to resolve schemas content on client #359
  • Fix error on completion 'null' value #360
  • Select schemas based off on their priority #362
  • Keep space before word after inserting completion #363
  • Update readme with example of an array of glob patterns for schema #366
  • Add Dockerfile #335
  • Fix: Code completion list empty on empty file #349
  • Fix: Autocompletion missing space in value for default snippets when autocompleting on root node #364
  • Check if dynamic registration is enabled before executing onDidChangeWorkspaceFolders #378
  • Fix: Array indentation in autocomplete is broken after upgrade to 0.13 #376
  • Added folding ranges provider implementation #337
  • Fix: Hover doesn't work when there is now symbol after property #382
  • Fix: Code completion array new line ending with no indent #384
  • Fix: Code completion with defaultSnippet and makdown #385

0.13.0

  • Improve 'hover' with complex k8s schemas #347
  • Allow array for fileMatch in yamlValidation contribution, now this property complies with contributes.jsonValidation #348
  • yaml-language-server now compatible with the newest version of vscode-json-languageservice. #350
  • Code cleanup related to Promises usage #351 and #352
  • Fix: If blocks don't evaluate properties correctly #393

0.12.0

  • Fix: Error when file has "Type" attribute #317
  • Added all user settings in to README.md #334
  • Added schema information (schema title or URL) to diagnostic #310
  • Fix: autogenerated snippet for keys that contain an array of objects is badly indented #329
  • Fix: example string of type integer gets pasted as int #371
  • Fix: Auto completion can't suggest string enums correctly in Flow Style content. #239

0.11.1

  • Fix: Latest version breaks auto-save formatting #366

0.11.0

  • Make yaml-language-server available as ESM and UMD modules in the /lib directory #305
  • Fix: yaml.schemas configuration doesn't work on windows with full path #347
  • Completion text use space instead of tab for indentation #283
  • YAML Schemas can now be used for validation #318

0.10.1

0.10.0

  • Allows to declare a schema inside the yaml file through modeline # yaml-language-server: $schema=<urlOfTheSchema> #280
  • Insert empty string instead of 'null' for string array completion #277
  • Handle workspace/workspaceFolders event for multi root workspaces #281
  • Provide default object as completion snippet [#291] https://github.com/redhat-developer/yaml-language-server/pull/291
  • Add validation of date and time formats #292
  • Fix document symbols computation if yaml has complex mappings #293

0.9.0

  • Improve Diagnostic positions #260
  • Support maxProperties when providing completion #269
  • Fix for required attributes are inserted with wrong level of indentation on first array item redhat-developer/vscode-yaml#312
  • Use https endpoints for schemastore #PR

0.8.0

  • Start using yarn for everything instead of npm
  • Allow for partial configurations in onDidChangeConfiguration #256
  • Support for textDocument/findDefinition #PR
  • Fix kubernetes schema back to 1.17.0 #PR
  • Fix for @ symbol in relative path #PR
  • Fix for null literals #118
  • Fix for autocompletion on default values #281

0.7.2

  • Fix the way default snippets is handled when we have boolean values #PR

0.7.1

  • Allow contributor API to contribute multiple schemas for the same file #PR
  • Fix issue with arrays in default snippets #PR

0.7.0

  • Updates kubernetes schema to 1.17.0 #Commit
  • Added API for modifiying schemas in memory #151
  • Updated yaml completion to use JSON 7 Parser #150
  • Server side snippet support #205
  • Fix issue with language server not issuing warnings on duplicate keys #Commit
  • Fix for collecting completion items if array contains objects #PR
  • Fix for merge key error with JSON Schema #PR

0.6.1

  • Fix for setting kubernetes in yaml.schemas gives error #202

0.6.0

  • Fix for schema sequence custom property #PR
  • Fix for obeying the initialization specification #PR

0.5.8

  • Remove document range formatter registration #PR
  • Catch errors that happen when schema store schemas cannot be grabbed #PR

0.5.7

  • Fix for custom schema contributor API #PR
  • Disable range formatter in initialize #PR

0.5.6

  • Include the package-lock.json

0.5.5

  • Fix for language server initialize erroring when rootURI is not set

0.5.4

  • Fix for autocompletion not working when there are multiple enums available
  • Fix for showing the correct validation when a key has an associated null value for kubernetes
  • Add Eclipse Wild Web Developer as client
  • Fix for Array item properties being created with the wrong indent
  • Update of various dependencies

0.5.3

  • Make prettier an optional dependency because of issues with webpack

0.5.2

  • Adds in custom kubernetes schema comparator

0.5.1

  • Adds in missing js-yaml dependency

0.5.0

  • Fixed offset of undefined when hovering #162
  • Fixed relative path schema loading #154
  • Realigned features of YAML Language Server with JSON Language Server #142

0.4.1

  • Updated the kubernetes schema to be an upstream one #PR

0.4.0

  • Allow custom tags to have multiple types #77
  • Made the formatter respect the yaml.format.enable setting #PR
  • yaml-language-server command is now executable #PR

0.3.2

  • Only set CompletionItem.textEdit if it encompasses a single line #139

0.3.1

  • Fixed custom tags crashing the language server #112
  • Added setting yaml.schemaStore.enable to enable/disable the schema store #115
  • Use the language server tab size when formatting #116

0.2.1

  • Added fix for language server crashing when settings.yaml.format was not sent #111

0.2.0

  • Added fix for bracket spacing option in formatter #Commit
  • Added fix for boolean type #Commit

0.1.0

  • Added a new formatter that uses prettier #Commit
  • Added a registration for custom schema provider extension #Commit
  • Add ability to toggle hover and autocompletion #Commit

0.0.19

  • Support intellisense default value #86
  • Fix intellisense doesn't work for array item #85

0.0.18

  • Fix handling scenario of multiple documents in single yaml file #81
  • Support associate schemas with files in a regular expression #Commit

0.0.15

  • Fixed dynamic registration of formatter #74

0.0.14

  • Bumped to fix jenkins errors

0.0.13

  • Show errors if schema cannot be grabbed #73
  • The validator should support null values #72
  • Server returning nothing on things such as completion errors Eclipse Che #66
  • Return promises that resolve to null #PR-71
  • Remove unused dependency to deep-equal #PR-70
  • Added custom tags to autocompletion #Commit

0.0.12

  • Support for custom tags #59
  • Incorrect duplicate key registered when using YAML anchors #82
  • Automatically insert colon on autocomplete #78

0.0.11

  • Fix for completion helper if it contains \r #37

0.0.10

  • Programmatically associate YAML files with schemas by other extensions #61
  • Autocompletion not triggered while typing #46

0.0.9

  • Remove console.log from jsonSchemaService #49
  • Change "Property {$property_name} is not allowed" error message #42
  • New Kubernetes Schema + Updated support for Kubernetes #40

0.0.8

  • Added Kedge back in as one of the default schemas
  • Added file watch for json schema files in the workspace #34
  • Multi root settings #50
  • Fix for crashing yaml language server when !include is present #52
  • Update tests to work on windows #30

0.0.7

  • Added validation toggle in settings #20
  • YAML Schemas are pulled from JSON Schema Store #15
  • YAML Diagnostics throw on a single line instead of the entire file #19
  • Fix for getNodeFromOffset #18

0.0.6

  • Hotfix for making multiple schemas in the settings work again

0.0.5

  • Fixed Schema validation reports errors in valid YAML document #42
  • Fixed Support for multiple YAML documents in single file #43

0.0.4

  • Fixed support for kubernetes files
  • Fixed boolean notation for validation #40
  • Fixed autocompletion for first new list item #39

0.0.3

  • Added new autocompletion service which is better for json schemas
  • Added yamlValidation contribution point #37

0.0.1

  • Initial release with support for hover, document outlining, validation and auto completion