Skip to content

Latest commit

 

History

History
705 lines (567 loc) · 38.2 KB

File metadata and controls

705 lines (567 loc) · 38.2 KB

Change Log

All notable changes to the Docker Language Server will be documented in this file.

Fixed

  • Bake
    • fix parsing error caused by referencing a variable with no value (#490)

0.20.1 - 2025-10-14

Fixed

  • Bake
    • correct the schema for the output attribute of the target block so that the list can also contain objects instead of only strings (#77)

0.20.0 - 2025-10-14

Added

  • Compose
    • update schema to the latest version

0.19.0 - 2025-09-16

Added

  • Dockerfile
    • textDocument/codeAction
      • InvalidBaseImagePlatform warnings can now be ignored with a code action (#464)
  • Bake
    • textDocument/publishDiagnostics
      • flag annotations in a target block without an equals sign as an error (#99)

Fixed

  • Dockerfile
    • textDocument/inlayHint
      • handle inlay hints asynchronously so that it does not block other LSP messages when trying to fetch image data (#467)
  • Compose
    • textDocument/documentLink
      • return document links for files referenced in the short-form volumes attribute of a service object (#460)
      • return document links for files referenced in the long-form volumes attribute of a service object that has a bind mount (#462)

0.18.0 - 2025-08-25

Added

  • Compose
    • textDocument/definition
      • support jumping to service references in the volumes_from attribute of a service object (#452)
    • textDocument/documentHighlight
      • support highlighting service references in the volumes_from attribute of a service object (#452)
    • textDocument/prepareRename
      • support preparing renames for services in the volumes_from attribute of a service object (#452)
    • textDocument/rename
      • support renaming service referencesin the volumes_from attribute of a service object (#452)

Fixed

  • Compose
    • textDocument/documentHighlight
      • prevent file and folder bind mounts from returning results as they are not valid volume object references (#450)
    • textDocument/prepareRename
      • prevent file and folder bind mounts from returning results as they are not valid volume object references (#450)
    • textDocument/rename
      • prevent file and folder bind mounts from returning results as they are not valid volume object references (#450)

0.17.0 - 2025-08-21

Added

  • Dockerfile
    • textDocument/inlayHint
      • show when an image was last pushed (#431)
  • Compose
    • textDocument/completion
      • suggest image tags for images from Docker Hub (#375)
    • textDocument/documentLink
      • support providing links for the env_file attribute of a service object (#436)
      • support providing links for the env_file for included paths (#438)
  • Bake
    • textDocument/completion
      • provide local file and folder name suggestions (#414)
        • context attribute in a target block
        • contexts attribute in a target block
        • dockerfile attribute in a target block

Fixed

  • Dockerfile
    • textDocument/hover
      • ignore 4XX errors when hovering over images with a non-standard tag (#371)
  • Compose
    • textDocument/completion
      • correct file system suggestions if an absolute path is used (#443)
    • textDocument/documentLink
      • stop returning links for alias nodes in included paths (#439)
  • Bake
    • textDocument/completion
      • check the type of the block before suggesting items (#422)

0.16.0 - 2025-08-12

Added

  • Compose
    • updated Compose schema to the latest version

Fixed

  • Bake
    • textDocument/hover
      • fix error when hovering inside a comment (#410)

0.15.0 - 2025-08-06

Added

  • Compose
    • textDocument/completion
      • provide local file and folder name suggestions when modifying simple strings
        • service volumes (#376)
        • context attribute of a build object of a service (#403)
        • dockerfile attribute of a build object of a service (#403)
        • file attribute of a credential_spec object of a service (#403)
        • env_file of a service (#403)
        • path attribute of an env_file array item of a service (#403)
        • file attribute of an extends object of a service (#403)
        • label_file of a service (#403)
        • file attribute of a config (#403)
        • file attribute of a secret (#403)
        • string items of include objects (#403)
        • env_file attribute of include objects (#403)
        • path attribute of include objects (#403)

Fixed

  • Compose
    • textDocument/completion
      • fix build stage lookups for files in a folder under the \\wsl$ host (#382)
    • textDocument/documentLink
      • improve handling of malformed image attribute values with registry prefixes (#369)
      • convert links properly if a WSL URI with a dollar sign is used (#366)
  • Bake
    • textDocument/codeLens
      • refactor the URI handling code so it will accept a WSL URI with a dollar sign (#388)
    • textDocument/completion
      • fix build stage and ARG name inference completion items for files in a folder under the \\wsl$ host (#396)
    • textDocument/definition
      • handle WSL URIs with a dollar sign properly to fix build stage lookups on those hosts (#390)
      • handle WSL URIs with a dollar sign properly to fix build ARG reference lookups on those hosts (#393)
    • textDocument/documentLink
      • convert links properly if a WSL URI with a dollar sign is used (#378)
    • textDocument/inlayHint
      • refactor the URI handling code so it will process a WSL URI with a dollar sign correctly (#395)
    • textDocument/inlineCompletion
      • convert links properly if a WSL URI with a dollar sign is used (#384)
    • textDocument/publishDiagnostics
      • update the URI handling so that a WSL URI with a dollar sign can be scanned for errors (#386)

0.14.0 - 2025-07-16

Added

  • Compose
    • textDocument/documentLink
      • add anchor resolution for all supported document links (#348)
      • return document links for the file attribute of a service object's extends attribute object (#172)
      • provide document links for models on Docker Hub and Hugging Face (#356)
      • return document links for the label_file attribute of a service object (#360)
    • textDocument/hover
      • support hovering over referenced models (#343)

Fixed

  • initialize
    • convert WSL URIs with custom code as the dollar sign in the host cannot be parsed (#362)
  • Compose
    • textDocument/completion
      • prevent wildcard object attribute suggestions if the text cursor is not at the right indentation for attributes to be inserted (#342)
    • textDocument/documentLink
      • fix bounds index error if a quoted string just has a registry and the colon character at the end (#351)

0.13.0 - 2025-07-09

Added

  • Compose
    • update schema to the latest version
    • textDocument/completion
      • support completing model object names (#343)
    • textDocument/definition
      • support jumping to referenced model objects (#343)
    • textDocument/documentHighlight
      • support highlighting referenced models objects (#343)
    • textDocument/documentLink
      • support recursing into anchors when searching for document links (#329)
      • return document links for the file attribute of a service object's credential_spec (#338)
    • textDocument/documentSymbol
      • show model objects in the document symbol tree (#343)
    • textDocument/prepareRename
      • allow preparing rename on model objects (#343)
    • textDocument/rename
      • support renaming model objects (#343)

Fixed

  • Compose
    • textDocument/completion
      • prevent errors if an empty JSON object is the content of the YAML file (#330)
      • check character offset before processing to prevent errors (#333)

0.12.0 - 2025-06-12

Added

  • Dockerfile
    • textDocument/publishDiagnostics
      • provide code actions to easily ignore build checks (#320)
  • Compose
    • textDocument/completion
      • add support for suggesting include properties (#316)

Fixed

  • Compose
    • textDocument/completion
      • fix error case triggered by using code completion before the first node (#314)
    • textDocument/definition
      • check the type of a dependency node's value before assuming it is a map and recursing into it (#324)
    • textDocument/hover
      • protect the processing of included files if the node is not a proper array (#322)
  • Bake
    • textDocument/inlineCompletion
      • check that the request is within the document's bounds when processing the request (#318)

0.11.0 - 2025-06-10

Added

  • Compose
    • textDocument/definition
      • recurse into anchors when evaluating the cursor's position (#305)
    • textDocument/documentHighlight
      • recurse into anchors when evaluating the cursor's position (#305)
    • textDocument/hover
      • resolve anchors when constructing the path of the hovered item (#303)
    • textDocument/prepareRename
      • recurse into anchors when evaluating the cursor's position (#305)
    • textDocument/rename
      • recurse into anchors when evaluating the cursor's position (#305)

Fixed

  • Compose
    • textDocument/completion
      • stop volume named references from causing volume attributes to not be suggested (#309)
    • textDocument/documentLink
      • ensure the image attribute is valid before trying to process it for document links (#306)
  • Bake
    • textDocument/definition
      • fix nil pointers when navigating around a top level attribute that is not in any block (#311)

0.10.2 - 2025-06-06

Fixed

  • lock cache manager when deleting to prevent concurrent map writes (#298)
  • initialize
    • return JSON-RPC error if an invalid URI was sent with the request (#292)
  • Compose
    • textDocument/completion
      • check for whitespace when performing prefix calculations for build target suggestions (#294)
      • return an empty result instead of an internal server error if the request's parameters are outside the document's bounds (#296)
      • check the node path's length before recursing deeper for pattern properties matches (#300)
    • textDocument/hover
      • fix error caused by casting a node without checking its type first (#290)

0.10.1 - 2025-06-04

Fixed

  • Compose
    • textDocument/completion
      • fix incorrect snippet item that was generated even if there were no choices to suggest (#283)
      • stop local service name suggestions if another file has been explicitly specified (#285)
    • textDocument/definition
      • recurse into YAML anchors if they are defined on a service object (#287)
    • textDocument/documentHighlight
      • recurse into YAML anchors if they are defined on a service object (#287)
    • textDocument/prepareRename
      • recurse into YAML anchors if they are defined on a service object (#287)
    • textDocument/rename
      • recurse into YAML anchors if they are defined on a service object (#287)

0.10.0 - 2025-06-03

Added

  • errors will now be reported to BugSnag if telemetry is not disabled
  • Compose
    • textDocument/definition
      • support navigating to the defined YAML anchor from an alias reference (#264)
    • textDocument/documentHighlight
      • support highlighting YAML anchor and alias references (#264)
    • textDocument/documentLink
      • support opening a referenced Dockerfile from the build object's dockerfile attribute (#69)
      • support opening a referenced file from a config's file attribute (#271)
      • support opening a referenced file from a secret's file attribute (#272)
      • provide document links when an included file is also a YAML anchor (#275)
    • textDocument/hover
      • render the referenced network's YAML content as a hover result (#246)
      • render the referenced config's YAML content as a hover result (#249)
      • render the referenced secret's YAML content as a hover result (#250)
      • render the referenced volume's YAML content as a hover result (#251)
      • include the range of the hovered element to clearly identify what is being hovered over for the client (#256)
      • render the referenced anchor's YAML content as a hover result (#268)
    • textDocument/prepareRename
      • support renaming YAML anchor and alias references (#264)
    • textDocument/rename
      • preparing rename operations for YAML anchor and alias references (#264)

Fixed

  • Compose
    • textDocument/completion
      • include the array definition in the inserted text so we do not make the YAML content malformed (#278)
    • textDocument/definition
      • fix range calculation when the element is quoted (#255)
    • textDocument/documentHighlight
      • fix range calculation when the element is quoted (#255)
    • textDocument/documentLink
      • consider quotes when calculating the link's range (#242)
      • consider anchors and aliases instead of assuming everything are strings (#266)
    • textDocument/hover
      • prevent YAML hover issues caused by whitespace (#244)
      • ignore hover requests that are outside the file to prevent panics (#261)
    • textDocument/prepareRename
      • fix range calculation when the element is quoted (#255)
    • textDocument/rename
      • fix range calculation when the element is quoted (#255)
  • Bake
    • textDocument/publishDiagnostics
      • filter out variables when resolving Dockerfile paths to prevent false positives from being reported (#263)

0.9.0 - 2025-05-26

Added

  • global initialization option to disable all Compose features (#230)
  • Compose
    • textDocument/completion
      • include the attribute's schema description when providing enum suggestions (#235)

Changed

  • Dockerfile
    • textDocument/hover
      • recommended_tag diagnostics are now hidden by default (#223)
    • textDocument/publishDiagnostics
      • recommended tag hovers are now hidden by default (#223)

Fixed

  • correct initialize request handling for clients that do not support dynamic registrations (#229)
  • Dockerfile
    • textDocument/hover
      • hide vulnerability hovers if the top level setting is disabled (#226)
    • textDocument/publishDiagnostics
      • consider flag changes when determining whether to scan a file again or not (#224)
  • Compose
    • textDocument/hover
      • fixed a case where an object reference's description would not be returned in a hover result (#233)

0.8.0 - 2025-05-23

Added

  • Dockerfile
    • textDocument/hover
      • support configuring vulnerability hovers with an experimental setting (#192)
    • textDocument/publishDiagnostics
      • support filtering vulnerability diagnostics with an experimental setting (#192)
  • Compose
    • updated Compose schema to the latest version
    • textDocument/definition
      • support navigating to a dependency that is defined in another file (#190)
    • textDocument/hover
      • improve hover result by linking to the schema and the online documentation (#199)
      • add support for hovering over service names that are defined in a different file (#207)
  • Bake
    • textDocument/publishDiagnostics
      • support filtering vulnerability diagnostics with an experimental setting (#192)

Changed

  • Dockerfile
    • textDocument/publishDiagnostics
      • hide not_pinned_digest diagnostics from Scout by default (#216)

Fixed

  • Dockerfile
    • textDocument/publishDiagnostics
      • ignore the diagnostic's URL and do not set it if it is evaluated to be the empty string (#219)
  • Compose
    • textDocument/completion
      • fix panic in code completion in an empty file (#196)
      • fix line number assumption issues when using code completion for build targets (#210)
    • textDocument/hover
      • ensure results are returned even if the file has CRLFs (#205)
  • Bake
    • textDocument/publishDiagnostics
      • stop flagging BUILDKIT_SYNTAX as an unrecognized ARG (#187)
      • use inheritance to determine if an ARG is truly unused (#198)
      • correct range calculations for malformed variable interpolation errors (#203)

0.7.0 - 2025-05-09

Added

  • Compose
    • textDocument/completion
      • support build stage names for the target attribute (#173)
      • set schema documentation to the completion items (#176)
      • automatically suggest boolean values for simple boolean attributes (#179)
      • suggest service names for a service's extends or extends.service attribute (#184)
    • textDocument/hover
      • render a referenced service's YAML content as a hover (#157)

Fixed

  • Compose
    • textDocument/inlayHint
      • prevent circular service dependencies from crashing the server (#182)

0.6.0 - 2025-05-07

Added

  • Compose
    • updated Compose schema to the latest version
    • textDocument/completion
      • improve code completion by automatically including required attributes in completion items (#155)
    • textDocument/inlayHint
      • show the parent service's value if it is being overridden and they are not object attributes (#156)
    • textDocument/formatting
      • add support to format YAML files that do not have clear syntactical errors (#165)
    • textDocument/publishDiagnostics
      • report YAML syntax errors (#167)

Fixed

  • Compose
    • textDocument/completion
      • suggest completion items for array items that use an object schema directly (#161)
    • textDocument/definition
      • consider extends when looking up a service reference (#170)
    • textDocument/documentHighlight
      • consider extends when looking up a service reference (#170)
    • textDocument/prepareRename
      • consider extends when looking up a service reference (#170)
    • textDocument/rename
      • consider extends when looking up a service reference (#170)

0.5.0 - 2025-05-05

Added

  • Compose
    • updated Compose schema to the latest version (#117)
    • textDocument/completion
      • suggest dependent service names for the depends_on attribute (#131)
      • suggest dependent network names for the networks attribute (#132)
      • suggest dependent volume names for the volumes attribute (#133)
      • suggest dependent config names for the configs attribute (#134)
      • suggest dependent secret names for the secrets attribute (#135)
    • textDocument/definition
      • support looking up volume references (#147)
    • textDocument/documentHighlight
      • support highlighting the short form depends_on syntax for services (#70)
      • support highlighting the long form depends_on syntax for services (#71)
      • support highlighting referenced networks, volumes, configs, and secrets (#145)
    • textDocument/prepareRename
      • support rename preparation requests (#150)
    • textDocument/rename
      • support renaming named references of services, networks, volumes, configs, and secrets (#149)

Fixed

  • Dockerfile
    • textDocument/codeAction
      • preserve instruction flags when fixing a not_pinned_digest diagnostic (#123)
  • Compose
    • textDocument/completion
      • resolved a spacing offset issue with object or array completions (#115)
    • textDocument/hover
      • return the hover results for Compose files

0.4.1 - 2025-04-29

Fixed

  • Compose
    • textDocument/completion
      • protect the completion calculation code from throwing errors when encountering empty array items (#112)

0.4.0 - 2025-04-28

Added

  • Compose
    • textDocument/completion
      • add code completion support based on the JSON schema, extracting out attribute names and enum values (#86)
      • completion items are populated with a detail that corresponds to the possible types of the item (#93)
      • suggests completion items for the attributes of an object inside an array (#95)
    • textDocument/definition
      • support lookup of configs, networks, and secrets referenced inside services object (#91)
    • textDocument/documentLink
      • support opening a referenced image's page as a link (#91)
    • textDocument/hover
      • extract descriptions and enum values from the Compose specification and display them as hovers (#101)

0.3.8 - 2025-04-24

Added

  • Bake
    • textDocument/definition
      • support code navigation when a single attribute of a target has been reused (#78)
    • textDocument/semanticTokens/full
      • ensure only Bake files will respond to a textDocument/semanticTokens/full request (#84)
  • Compose
    • textDocument/definition
      • support lookup of services referenced by the short form syntax of depends_on (#67)
      • support lookup of services referenced by the long form syntax of depends_on (#68)

Fixed

  • ensure file validation is skipped if the file has since been closed by the editor (#79)

0.3.7 - 2025-04-21

Fixed

  • ensure file validation is skipped if the file has since been closed by the editor (#79)

0.3.6 - 2025-04-18

Changed

  • get the JSON structure of a Bake target with Go APIs instead of spawning a separate child process (#63)
  • Update moby/buildkit to v0.21.0 and docker/buildx to v0.23.0 (#64)

Fixed

  • Bake
    • textDocument/publishDiagnostics
      • consider the context attribute when determining which Dockerfile the Bake target is for (#57)
    • textDocument/inlayHint
      • consider the context attribute when determining which Dockerfile to use for inlaying default values of ARG variables (#60)
    • textDocument/completion
      • consider the context attribute when determining which Dockerfile to use for looking up build stages (#61)
    • textDocument/definition
      • consider the context attribute when trying to resolve the Dockerfile to use for ARG variable definitions (#62)
      • fix a panic that may occur if a for loop did not have a conditional expression (#65)

0.3.5 - 2025-04-13

Fixed

  • initialize
    • when responding to the initialize request, we should send an empty array back for tokenModifiers instead of a null

0.3.4 - 2025-04-11

Fixed

  • Compose
    • textDocument/documentSymbol
      • prevent scalar values from showing up as a document symbol

0.3.3 - 2025-04-09

Fixed

  • refactored the panic handler so that crashes from handling the JSON-RPC messages would no longer cause the language server to crash

0.3.2 - 2025-04-09

Fixed

  • Docker Bake
    • textDocument/semanticTokens/full
      • prevent single line comments from crashing the server

0.3.1 - 2025-04-09

Changed

  • binaries are now built with CGO_ENABLED=0 to allow for greater interoperability

0.3.0 - 2025-04-08

Fixed

  • textDocument/publishDiagnostics
    • stop diagnostics from being sent to the client if a file with errors or warnings were opened by the client and then quickly closed

0.2.0 - 2025-04-03

Added

  • Dockerfile

    • textDocument/publishDiagnostics
      • introduce a setting to ignore certain diagnostics to not duplicate the ones from the Dockerfile Language Server
  • Docker Bake

    • textDocument/completion
      • suggest network attributes when the text cursor is inside of a string
  • telemetry

    • records the language identifier of modified files, this will only include Dockerfiles, Bake files, and Compose files

Fixed

  • Docker Bake
    • textDocument/definition
      • always return LocationLinks to help disambiguate word boundaries for clients (#31)

0.1.0 - 2025-03-31

Added

  • Dockerfile
    • textDocument/codeAction
      • suggest remediation actions for build warnings
    • textDocument/hover
      • provide vulnerability information of referenced images (experimental)
    • textDocument/publishDiagnostics
      • report build check warnings from BuildKit and BuildX
      • scan images for vulnerabilities (experimental)
  • Compose
    • textDocument/documentLink
      • allow jumping between included files
    • textDocument/documentSymbol
      • provide a document outline for Compose files
  • Docker Bake
    • textDocument/codeAction
      • provide remediation actions for some detected errors
    • textDocument/codeLens
      • relays information to the client to run Bake on a specific target
    • textDocument/completion
      • code completion of block and attribute names
    • textDocument/definition
      • code navigation between variables, referenced targets, and referenced build stages
    • textDocument/documentHighlight
      • highlights the same variable or target references
    • textDocument/documentLink
      • jump from the Bake file to the Dockerfile
    • textDocument/documentSymbol
      • provide an outline for Bake files
    • textDocument/formatting
      • provide rudimentary support for formatting
    • textDocument/hover
      • show variable values
    • textDocument/inlayHint
      • inlay ARG values from the Dockerfile
    • textDocument/inlineCompletion
      • scans build stages from the Dockerfile and suggests target blocks
    • textDocument/publishDiagnostics
      • scan and report the Bake file for errors
    • textDocument/semanticTokens/full
      • provide syntax highlighting for Bake files