tree fadf78e76943b5a70cc714b08c348ea38aa345d7
parent 71581514958c344448b22fda037fb1dd007158b5
author Alexander Kurtakov <akurtako@redhat.com> 1619532435 +0300
committer Alexander Kurtakov <akurtako@redhat.com> 1619538171 -0400

Update docker ls to 0.4.1

License score: 88
https://clearlydefined.io/definitions/npm/npmjs/-/dockerfile-language-server-nodejs/0.4.1

Changes since version we use:
## [0.4.1] - 2021-04-12
### Fixed
- textDocument/publishDiagnostics
  - fixed a regression that caused the internal state of configurations
to be stale which mean editors would not immediately be notified of
changed diagnostics based on configuration changes
([#256](https://github.com/rcjsuen/dockerfile-language-server-nodejs/issues/256))

## [0.4.0] - 2021-04-11
### Added
- settings
  - docker.languageserver.formatter.ignoreMultilineInstructions?
([#255](https://github.com/rcjsuen/dockerfile-language-server-nodejs/issues/255))
    - value = ( true | false )
    - this will make the formatter ignore instructions that span
multiple lines
- textDocument/completion
  - suggest working directories if editing the last argument of ADD and
COPY instructions that aren't written in JSON
([rcjsuen/dockerfile-language-service#77](https://github.com/rcjsuen/dockerfile-language-service/issues/77))
- textDocument/publishDiagnostics
  - allow multiple arguments to be defined for ARG instructions to
support Docker Engine 20.10
([rcjsuen/dockerfile-utils#92](https://github.com/rcjsuen/dockerfile-utils/issues/92))
- textDocument/formatting
  - allow the formatter to skip formatting of instructions that span
multiple lines
([#255](https://github.com/rcjsuen/dockerfile-language-server-nodejs/issues/255))
- textDocument/onTypeFormatting
  - optimized on type formatting so that it does not return unnecessary
edits ([rcjsuen/dockerfile-language-service#82](https://github.com/rcjsuen/dockerfile-language-service/issues/82))
  - allow the formatter to skip formatting of instructions that span
multiple lines
([#255](https://github.com/rcjsuen/dockerfile-language-server-nodejs/issues/255))
- textDocument/rangeFormatting
  - optimized range formatting so that it does not return unnecessary
edits ([rcjsuen/dockerfile-language-service#81](https://github.com/rcjsuen/dockerfile-language-service/issues/81))
  - allow the formatter to skip formatting of instructions that span
multiple lines
([#255](https://github.com/rcjsuen/dockerfile-language-server-nodejs/issues/255))

### Fixed
- textDocument/publishDiagnostics
  - do not validate variable substitutions if found in CMD and
ENTRYPOINT ([rcjsuen/dockerfile-utils#89](https://github.com/rcjsuen/dockerfile-utils/issues/89))
  - do not flag `?` as an invalid modifier in variable substitutions
([rcjsuen/dockerfile-utils#91](https://github.com/rcjsuen/dockerfile-utils/issues/91))
  - prevent false positive by improving the parsing of an escape
character and newline that immediately follows a label definition
([rcjsuen/dockerfile-utils#95](https://github.com/rcjsuen/dockerfile-utils/issues/95))
- textDocument/semanticTokens
  - fix infinite loop issue when calculating semantic tokens for ARG or
ENV instructions with nested comments
([rcjsuen/dockerfile-language-service#74](https://github.com/rcjsuen/dockerfile-language-service/issues/74))

Change-Id: If2d0c13bfcd69263ca2cb6011b150b73e70ab572
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
Reviewed-on: https://git.eclipse.org/r/c/linuxtools/org.eclipse.linuxtools/+/179877
Tested-by: Linux Tools Bot <linuxtools-bot@eclipse.org>
