Skip to content

Releases: spotify/sourcekit-bazel-bsp

0.5.0

26 Dec 21:38
26ba6bb

Choose a tag to compare

Notable Changes

  • The BSP can now process C++ cc_library rules. Support for Obj-C/Obj-C++ has also been improved in the form of bug fixes.
  • After finishing processing the full list of targets in a project, BSP will now write this information to (bazel_output_path)/sourcekit-bazel-bsp-graph.json. This can be used to power more advanced integrations via e.g. custom IDE extensions.
  • The BSP will now better handle cases where a top-level app bundles other top-level apps, like how an iOS app can bundle a watchOS app.
  • Added new parameters related to filtering:
    • --dependency-rule-to-discover: Allows filtering which languages the BSP should look at. Can be used to e.g disable C++/Obj-C support in large projects).
    • --top-level-target-to-exclude: A list of target patterns to exclude from the initial top-level target search.
    • --dependency-target-to-exclude: A list of target patterns to exclude from the initial dependency target search.

What's Changed

Full Changelog: 0.4.2...0.5.0

Compatibility

This release was developed / tested for:

  • Xcode 26.1.1
  • Bazel: 8.4.1
  • rules_swift: 3.3.0
  • rules_apple: 4.3.2
  • apple_support: 1.24.5
  • sourcekit-lsp: d449cb78be1a001ae4efd8dd023da8301eb2af0a

0.4.2

18 Dec 07:58
88c5159

Choose a tag to compare

What's Changed

Full Changelog: 0.4.1...0.4.2

Compatibility

This release was developed / tested for:

  • Xcode 26.1.1
  • Bazel: 8.4.1
  • rules_swift: 3.3.0
  • rules_apple: 4.3.2
  • apple_support: 1.24.5
  • sourcekit-lsp: d449cb78be1a001ae4efd8dd023da8301eb2af0a

0.4.1

13 Dec 21:34
39dda16

Choose a tag to compare

What's Changed

Full Changelog: 0.4.0...0.4.1

Compatibility

This release was developed / tested for:

  • Xcode 26
  • Bazel: 8.4.1
  • rules_swift: 3.3.0
  • rules_apple: 4.3.2
  • apple_support: 1.24.5
  • sourcekit-lsp: d449cb78be1a001ae4efd8dd023da8301eb2af0a

0.4.0

07 Dec 19:28
1bc72c4

Choose a tag to compare

Notable Changes

  • Jump to definition will now point to the correct location in most cases (previously, it would send you to Bazel's execroot).
  • Target batching no longer requires using our separate sourcekit-lsp fork.
  • Target batching now works for all cases (previously, this only worked when compile-top-level was true).
  • You can now also pass Bazel target wildcards (e.g. //foo/...) to the --target flag.
  • The setup_sourcekit_bsp rule now also generates a .sourcekit-lsp/config.json file containing important configs for sourcekit-lsp itself.

Breaking Changes

  • --index-build-batch-size was removed from the BSP as we're now configuring this via the new .sourcekit-lsp/config.json. The flag in the Bazel rule itself remains though and can handle this change automatically.

What's Changed

New Contributors

Full Changelog: 0.3.0...0.4.0

Compatibility

This release was developed / tested for:

  • Xcode 26
  • Bazel: 8.4.1
  • rules_swift: 3.1.2
  • rules_apple: 4.1.2
  • apple_support: 1.23.1
  • sourcekit-lsp: d449cb78be1a001ae4efd8dd023da8301eb2af0a

0.3.0

06 Nov 21:33
0fb684a

Choose a tag to compare

Breaking Changes

  • The requirement for providing *_build_test targets has been removed. All related CLI flags have been removed. The BSP is now able to compile individual libraries correctly without needing extra infra on the user's side.
  • Removed --separate-aquery-output. This optimization is not necessary anymore.
  • Build batching related arguments will as of this release be ignored if not passing the new --compile-top-level flag. This is temporary and should go away soon.

New Args

  • Added --compile-top-level to allow controlling whether the BSP should retain the old behavior of compiling top-level targets directly. Defaults to false.

What's Changed

New Contributors

Full Changelog: 0.2.0...0.3.0

Compatibility

This release was developed / tested for:

0.2.0

27 Sep 19:16
50677ba

Choose a tag to compare

Note that the compability list changed on this release!

Notable Changes

  • If using the pre-built sourcekit-lsp binary provided with this release, you can now pass --index-build-batch-size to indicate how many targets should be built in parallel during background indexing.
  • Added a new --top-level-rule-to-discover parameter that allows filtering which types of rules should be considered when not passing --targets directly.
  • The BSP will now perform one aquery for the entire dependency graph, greatly improving the performance of background indexing.
  • The BSP now can index C and C++ files in Obj-C targets.

What's Changed

New Contributors

Full Changelog: 0.1.1...0.2.0

Compatibility

This release was developed / tested for:

0.1.1

04 Sep 14:21
ff8e660

Choose a tag to compare

Note that the compability list changed on this release!

This release improves the performance of the server by making most code run asynchronously and introducing a new --separate-aquery-output flag that further increases performance at the cost of more disk usage (default: false).

What's Changed

Full Changelog: 0.0.5...0.1.0

Compatibility

This release was developed / tested for:

  • Xcode 16.4
  • Bazel: 8.3.1
  • rules_swift: 3.1.2
  • rules_apple: 4.1.2
  • apple_support: 1.23.1
  • sourcekit-lsp: 1aae2a4c329035163db85d64ae7bc81ee80aaa3c

0.1.0

01 Sep 07:30
9af86c1

Choose a tag to compare

(Replaced by 0.1.1)

0.0.5

21 Aug 13:17
07cefce

Choose a tag to compare

What's Changed

Full Changelog: 0.0.4...0.0.5

Compatibility

This release was developed / tested for:

  • Xcode 16.4
  • Bazel: 8.3.1
  • rules_swift: 3.0.2
  • rules_apple: a9fcb1c3ae6382534d773d73c035035e9764eadb
  • apple_support: 1.22.1

0.0.4

21 Aug 07:28
be99422

Choose a tag to compare

What's Changed

  • Clean-up some of the logic in DiscoverTargets and WatchedFileChange by @rockbruno in #39
  • Remove custom symlink from the example proj by @rockbruno in #44
  • Fix WatchedFileHandler overhandling changes by @rockbruno in #43
  • Add base support for all Apple platforms by @rockbruno in #41
  • Migrate action query from text to protobuf parsing by @sean7218 in #40
  • Sets up setup executable rule for integrating into Bazel projects by @maxwellE in #45
  • Build out makefile for making release archives by @maxwellE in #48
  • Add base support for request cancelation by @rockbruno in #46

New Contributors

Full Changelog: 0.0.3...0.0.4

Compatibility

This release was developed / tested for:

  • Xcode 16.4
  • Bazel: 8.3.1
  • rules_swift: 3.0.2
  • rules_apple: a9fcb1c3ae6382534d773d73c035035e9764eadb
  • apple_support: 1.22.1