Skip to content

Releases: JetBrains/bazel-bsp

3.2.0

10 Apr 16:32
Compare
Choose a tag to compare

Release 3.2.0 (10.04.2024)

Features 🎉

  • workspace/directories implementation. | 43abdfb
  • Experimental Bazel JVM target debugging through BSP. | 94f2af7
  • Add workspace/invalidTargets endpoint. | 14a117f
  • The server will now download bazelisk if Bazel is not found in the PATH. | 89beaf7
  • Support bzlmod in rules detection mechanism. | 47cdfa8
  • Support kotlin stdlibs in bzlmod project. | 24aa30d
  • Experimental Rust support. | ec66172
  • Provide the android.jar library for Android targets. | c4aaf5e
  • Assign value of javac -target flag to JvmBuildTarget's javaVersion. | 9098181
  • workspace/inverseSources with now uses query. | 26ef246
  • Add an option to override detected rules. | 8230406
  • Server creates an empty project view file if it doesn't exist instead of failing. | 660d9cd
  • Add Android resources to the project model. | 33760f0
  • Add manifest and resourceFolders to AndroidBuildTarget. | 2989f70
  • Filtering out libraries with no interface jars. | ec41697
  • Add the mobileInstall request. | a4dc63c
  • aar_import support. | 3037649
  • android_local_test support. | ebb4676
  • Jetpack Compose preview support. | dc830f8
  • Add "build and get build targets" BSP endpoint for build & resync action. | 774e427
  • Add support for buildTarget/jvmCompileClasspath. | cd00ed5
  • Add flag ide_java_home_override to project view to override the java home to work with local IDE. | c0de197
  • Add dependencyModules request support. | e62f321
  • Fix task workflow. | 73008c5
  • AIDL import support. | 7571695

Fixes 🛠️

  • Server logs non-existing files instead of failing. | 54a1fecc
  • Server collects more jars from rules_kotlin's KtJvmInfo to handle the lack of generated jars. | e7faadc
  • Server allows aspects to be injected normally when users enable bzlmod. | 84c4f9a
  • Project cache correctly deserializes kotlin modules. | cd64dbb
  • Remove build_flags from non-build calls. | 242995b
  • Add fallback for custom bazel version. | 9ad762b
  • Python extension is always loaded and projects created using native python rules get their Python data collected. | 74ba7c9
  • Resources should check type too. | 02a9e01
  • Compute classpath lazily in JvmEnvironment requests. | f6823e7
  • Read classpath on demand in javacOptions and scalacOptions requests handlers. | a10ecb0
  • Kotlin stdlibs now are obtained from toolchain instead of classpath. | e6ad2a0
  • Kotlin is set to have higher precedence than Java to always return Kotlin data object if exists. | 9915acf
  • Compiler errors should be parsed properly and handle bytestream provider uri. | 80ec82c
  • File system in the installer is now closed after use. | 2f86f1d
  • Server does not build the project on sync for newer Bazel versions. | 6ec65a8
  • CARGO_BAZEL_REPIN flag is used only during sync. | cac0b01
  • Fix issue if classpath query returns more results. | 67692aa
  • Server handles properly remote artefacts after sync. | 0cc0014
  • canDebug flag is now set to true if target is runnable. | 55e4faa
  • Fix the @@ prefix issue if bazel.module and WORKSPACE are used together. | 86fd20b
  • Avoid SLF4J "Failed to load class" warning. | a1ef51f
  • bazel-<workspace-name> symlink exclusion uses real name of the workspace instead of sanitized one. | b9598d9
  • ijars are included in libraries. | c66358e
  • The spurious "too many open files" issue has been fixed. | 28797b6
  • android features are enabled only if rules_android are in enabled_rules. | 33daf98
  • enabled_rules section is reread on each sync. | b1655d9
  • Test targets are always included in targets, not libraries. | b117aec
  • Fix showing Scala 3 diagnostics. | 3629a3f
  • Use Android flags for run and test to avoid cache invalidation | ade3e68

In order to install the server run:

cs launch org.jetbrains.bsp:bazel-bsp:3.2.0 -M org.jetbrains.bsp.bazel.install.Install

You can find this release on maven.

3.1.0

18 Sep 14:40
Compare
Choose a tag to compare

Release 3.1.0 (18.09.2023)

Security 🚨

  • Bsp cli uses the right permissions for bspcli tmp directory. | 7fded76
  • Server does not use TCP sockets to connect with BES. | aac294d

Features 🎉

  • The server generates extensions.bzl based on languages (external rules) relevant to the project. | a29c1da
  • Adding available sources to libraries for workspace/libraries call. | 2e17ea0
  • Enhance Kotlinc Opts support. | 6b45eb6
  • Include libraries defined in jdeps files during sync. | bb47e49

Fixes 🛠️

  • Avoid using execroot if there are alternative options. | 6a8a7ac
  • Fixed resolveOutput implementation - now should work with projects without symlinks like bazel-bin, bazel-out. | eb5df0a
  • Aspects don't fail if target contains another target as srcs attribute. | 637f0d9
  • Server can obtain scala 3 compiler. | c4a6701
  • Correctly find symlink names even after folder renaming. | f4fb71b
  • Server does not omit targets that contain dots. | 1c51f02
  • Server adds sources to generated libs. | eaa5161

In order to install the server run:

cs launch org.jetbrains.bsp:bazel-bsp:3.1.0 -M org.jetbrains.bsp.bazel.install.Install

You can find this release on maven.

3.0.0

10 Aug 07:54
Compare
Choose a tag to compare

Release 3.0.0 (10.08.2023)

BREAKING CHANGES 🚨

  • The server no longer builds the project on initial sync - in order to generate and collect generated sources build + resync is required. | ba44564
  • Project view targets has its default value changed from all targets (//...) to no targets. | 779fade.
  • Bloop support has been dropped. | 3d23205
  • Project view file is obligatory now! Server requires path to the file in argv in .bsp/bazelbsp.json. Debugger address (debugger_address), java path (java_path) and flag for trace log (produce_trace_log) are no longer fields in project view files! They can be set only using installer flags (check README). | f2423bb
  • Project view bazel_path has been renamed to bazel_binary (now it's compatible with https://ij.bazel.build/docs/project-views.html#bazel_binary). | 5bd2a06

Features 🎉

  • Support for Python targets, including buildTarget/pythonOptions endpoint (a big thank you to the students of the University of Warsaw!). | 8152cc2
  • Enhance support for Kotlin by providing Kotlin target's specific info. | c06acc6
  • Experimental workspace/libraries endpoint that returns list of external libraries. | 3360353

Fixes 🛠️

  • Now we report the failure of the whole test target and binaries are reporting stdout. | 224c1ec
  • Aspects don't throw an exception for kotlin rules if an attr doesn't exist. | f08fe8b
  • Fix 'this.bepLogger is null' error on project sync. | 956bc00

Other changes 🔁

  • Aspects now are more structured - each rule support has been extracted to separate files. | b11e3a1

In order to install the server run:

cs launch org.jetbrains.bsp:bazel-bsp:3.0.0 -M org.jetbrains.bsp.bazel.install.Install

You can find this release on maven.

2.7.2

19 Jun 12:47
Compare
Choose a tag to compare

Release 2.7.2 (19.06.2023)

Fixes 🛠️

  • Collect scalac options from the toolchain. | #433
  • Add support for Scala SDK provided by rules_jvm_external. | #403

Performance

  • Reduce peak memory footprint. | #428

NOTE: The bloop mode is now deprecated! It will be removed in the release 3.0.0


You can find this release on maven.

2.7.1

07 Jun 12:09
bd55111
Compare
Choose a tag to compare

Release 2.7.1 (7.06.2023)

Fixes 🛠️

  • Publish build/publishDiagnostics with an empty array of diagnostics to clear former diagnotics. | #381
  • Prioritize most frequently used JDKs when selecting the project JDK. | #420
  • Fix ide classpath computation for recent rules_jvm_external. | #421
  • Process exit instead of hang in case of uncaught exception in pooled threads. | #425, #426

NOTE: The bloop mode is now deprecated! It will be removed in the release 3.0.0


You can find this release on maven.

2.7.0

01 Jun 08:06
Compare
Choose a tag to compare

Release 2.7.0 (31.05.2023)

Features 🎉

  • Server uses BEP to log bazel progress. | ae52b8f

Fixes 🛠️

  • Add class jars generated during annotation processing. | #372
  • Set PublishDiagnosticsParams.reset to be true. | #377
  • Update document about how to use projectview. | #383
  • Fixup failed target names from BEP in bazel 6+ in the bloop mode. | #402

NOTE: The bloop mode is now deprecated! It will be removed in the release 3.0.0


You can find this release on maven.

2.6.1

30 Mar 05:13
dc2d578
Compare
Choose a tag to compare

Release 2.6.1 (29.03.2023)

SECURITY 🚨

  • Before this version, the BEP server was listening for messages on 0.0.0.0 interface, so it could receive messages from the whole network. | #369

Fixes 🛠️

  • Create BEP server on demand for each Bazel call. | #370

You can find this release on maven.

2.6.0

17 Mar 17:03
Compare
Choose a tag to compare

Release 2.6.0 (17.03.2023)

Features 🎉

  • Project view file flag for disabling trace log. | #344
  • Create BEP connection on demands instead of keeping it as a service (reduces memory footprint) | #356

Fixes

  • Fixed handle bazelisk exec on windows. | #6294219
  • Reduced memory footprint of the application after project import is done | #359
  • Exit bazel-bsp process when std io streams are closed | #356

You can find this release on maven.

2.5.1

08 Feb 17:59
401aad8
Compare
Choose a tag to compare

Release 2.5.1 (08.02.2023)

Changes 🔄

  • Initialize the hash sets with the number of elements they are expected to hold. | #339

Fixes 🛠️

  • Current target jar is excluded from dependencies - aka jump to definition within a module should work now. | #340
  • Changed separator for classpath to os-agnostic. | #BAZEL-255

You can find this release on maven.

2.5.0

30 Jan 09:23
2c13272
Compare
Choose a tag to compare

Release 2.5.0 (29.01.2023)

Features 🎉

  • Add mainClasses parameters to JvmEnvironmentItem. | #309

  • Exclude bazel-* symlinks; outputPaths endpoint implemented. | #322


You can find this release on maven.