Skip to content

Releases: fastly/vscode-fastly-vcl

2.0.5

05 Jan 11:18

Choose a tag to compare

Added

  • Add tests for deprecated variable warnings (client.display.width, client.display.height)
  • Add test for header.set function not producing false lint errors
  • Add test for subroutines with parameters
  • Add fastly.vcl.falcoPath setting to specify a custom falco binary path

Changed

  • Upgrade falco to v2.0.0 and embed the falco-js library and falco binaries
  • Remove "Experimental:" prefix from lintingEnabled setting description
  • Reduce extension package size by excluding source maps, unused icon.svg, and schema files

Fixed

  • Fix slow tests caused by waiting for diagnostics on files with no lint warnings
  • Fix TypeScript type resolution for vscode, mocha, and node in client tests
  • Sort diagnostics in tests for stable comparison order
  • Increase document symbols test timeouts for slow CI environments (60s + 30s)

2.0.4

17 Dec 11:27

Choose a tag to compare

Changed

  • Embed LSP server source directly in extension (previously depended on external fastly-vcl-lsp npm package)
  • Enable TypeScript strict mode for server
  • Add script to regenerate LSP metadata from upstream JSON definitions
  • Move subroutine availability info directly after the name to function and variable hover, completion, and signature help
  • Ensure all descriptions end with a full stop
  • Use inline code formatting instead of headings in hover popups
  • Reduce extension package size by excluding unnecessary files (test files, build artifacts, development scripts)

Fixed

  • Fix document symbols crashing when subroutine closing brace not found
  • Include parameter types in function signatures for hover and completion
  • Fix function and variable documentation URLs to include category in path
  • Fix maxLintingIssues setting not being applied (property name mismatch)

Added

  • Add test for maxLintingIssues setting
  • Add test for lintingEnabled setting

2.0.3

16 Dec 11:47

Choose a tag to compare

Changed

  • Syntax highlighting improvements:
    • Add 'w' (week) time unit to duration pattern
    • Add std.strcasecmp to function pattern
    • Add hit_for_pass to return statements
    • Fix operator pattern to correctly handle -=
    • Add support for digest.ecdsa_verify function
    • Add support for fastly.try_select_shield function
    • Add support for UUID version 7 functions
    • Add support for time.interval_elapsed_ratio variable
    • Add support for header manipulation functions
    • Add deliver_stale to return statements
    • Fix ordering in some variable patterns

Fixed

  • Refactor npm scripts and GitHub workflow configuration
  • Update @vscode/test-electron to handle new VS Code builds
  • Update development dependencies
  • Remove development husky git hooks
  • Approach VS Code's linting rules
  • Enforce code style with Prettier
  • Enable TypeScript strict mode
  • Add error handling for LSP server startup failures
  • Fix VS Code default build task to use existing dev script
  • Replace hard-coded sleep in tests with LSP readiness polling
  • Enable stricter TypeScript ESLint rules (no-unused-vars, no-explicit-any, no-non-null-assertion)
  • Add startup message to output channel for debugging visibility
  • Synchronize extension configuration settings to the language server
  • Add hover, signature help, document symbols, and configuration test coverage
  • Update CI to use Node 22 (matching package.json requirement) and actions/setup-node@v6
  • Update TypeScript to 5.9.3 and typescript-eslint to 8.49.0
  • Add code coverage reporting with c8
  • Add release instructions to DEVELOPMENT.md

2.0.2

06 Oct 12:32
f9e6cf7

Choose a tag to compare

Changed

  • Optimize image screenshots

2.0.1

06 Oct 12:30
afc1f28

Choose a tag to compare

Changed

  • "Toggle Line Comment" now adds # rather than //.

2.0.0

06 Oct 12:30
60804ab

Choose a tag to compare

Added

  • Integration with fastly-vcl-lsp.
  • Support for completions, including context-aware completions (functions, variables, headers, Fastly macros).
  • Signature help for functions.
  • Boilerplate snippets for subroutines.
  • Show documentation on hover.
  • Diagnostics (using falco – Linux & Darwin, ARM/AMD64 only).
  • Indentation and folding range directives in the language configuration.

1.0.4

03 Nov 14:40
819d185

Choose a tag to compare

Changed

  • Document that the extension in now in the Visual Studio Marketplace.
  • Add a beautiful new icon.
  • Document how the extension works.
  • Fix link to the language file in the README.

Installation

Download and then run:

code --install-extension vscode-fastly-vcl-1.0.4.vsix

v1.0.3

10 Oct 10:23

Choose a tag to compare

Added

  • Add highlighting for elseif and elsif.

Installation

Download the extension and then run:

code --install-extension vscode-fastly-vcl-1.0.3.vsix

1.0.2

04 Oct 09:04

Choose a tag to compare

Changed

  • Note that previously-enabled VCL extensions can be disabled as well as uninstalled.
  • Clarify that this is an extension specifically for Fastly VCL, not general VCL.
  • Rename from vscode-vcl to vscode-fastly-vcl.
  • Colorize "#" and "//" as comments even if there are no letters behind.
  • Add more dependencies to the README.
  • Add list of contributors.

Installation

Download the extension then run:

code --install-extension vscode-fastly-vcl-1.0.2.vsix

1.0.1

07 Sep 09:43

Choose a tag to compare

Added

  • Documented that only one VCL extension should be installed.

Changed

  • Tighten up #FASTLY macro matching.

Installation

Download the extension then run:

code --install-extension vscode-vcl-1.0.1.vsix