- The server will now download bazelisk if Bazel is not found in the PATH.
- Project cache correctly deserializes kotlin modules.
- Python extension is always loaded and projects created using native python rules get their Python data collected.
3.1.0 - 18.09.2023
- Bsp cli uses the right permissions for bspcli tmp directory. | 7fded76
- Server does not use TCP sockets to connect with BES. | aac294d
- 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 - Add support for buildTarget/jvmCompileClasspath | f7f2662
- 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
- Support Scala 3 diagnostics. | 744735f
3.0.0 - 09.08.2023
- 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 tobazel_binary
(now it's compatible with https://ij.bazel.build/docs/project-views.html#bazel_binary). | 5bd2a06
- 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
- 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
- Aspects now are more structured - each rule support has been extracted to separate files. | b11e3a1
- Collect scalac options from the toolchain | #433
- Add support for Scala SDK provided by rules_jvm_external | #403
- Reduce peak memory footprint | #428
- 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
- Server uses BEP to log bazel progress. | ae52b8f
- 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
- Make BEP Server listening on localhost instead of 0.0.0.0. | #369
- Create BEP server on demand for each Bazel call. | #370
- 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
- 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
2.5.1 - 08.02.2023
- Initialize the hash sets with the number of elements they are expected to hold. | #339
- 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
2.5.0 - 29.01.2023
-
Add mainClasses parameters to
JvmEnvironmentItem
. | #309 -
Exclude bazel-* symlinks;
outputPaths
endpoint implemented. | #322
2.4.0 - 2.01.2023
- Support Bazel 6.0.0 | #318
2.3.1 - 21.12.2022
- Correctly handle java files with package names not corresponding to file paths | #312
- Correctly determine language type for JVM binary targets. | #306
2.3.0 - 26.10.2022
- Send notifications to client while JUnit5 testing. | #299
- Add async and sync output processors. | #288
- Pass originId into diagnostics. | #291
- Pass originId into server responses. | #289
BuildTargetIdentifier
mapping uses.uri
instead of.toString
. | #295JVMLanguagePluginParser.calculateJVMSourceRoot
does not throw an exception for package longer than the path. | #294- Fix transitive target failure check in bloop export. | #287
- Use direct source dependencies for thrift targets if present. | #298
- Postpone bazel info. | #300
2.2.1 - 09.08.2022
- Adding generated jars to source jars list. | #285
- Workspace root is always used as a bazel directory. | #284
- Kebab case in the installer flags & help typo fix & log typo fix. | #283
- Don't use
Label.toString
now that it's no longer overriden. | #282
2.2.0 - 27.07.2022
- Server can be used with bloop (
--use_bloop
flag). | #246 - Project view supports
build_manual_targets
- now it is possible to build targets withmanual
tag. | #243 directories
andderive_targets_from_directories
sections are now available in project view files. | #247- Dependent targets can be imported as modules based on
import_depth
project view parameter. | #248 - BSP can be installed in a separate directory.
-w
flag sets Bazel workspace,-d
sets the BSP installation root
- Added cache of targets info in incremental syncs. | #273
- Dependency sources are now filtered if they belong to other root target | #265
- Packages are parsed in order to determine source roots. | #258
- BazelPathsResolver caches uris and paths (preformance improvement). | #256
- Scala version regex has been fixed. | #249
- e2e test for local jdk and remote jdk | #253
- Dependency sources are now filtered if they belong to other root target | #265
- JvmEnvironmentItem is set using env from target | #260
- Server has undergone basic changes leading to the ability to work with CPP language. | #277
- CLI project view generator now supports
--excluded-targets
and--excluded-directories
instead of excluded-
prefix. | #267
2.1.0 - 11.05.2022
- Manual tag and
build_manual_targets
support in project view. Using this flag it is possible to build targets marked as manual. | #236 - Build flags are reloaded during sync. | #242
- Support for detecting jdk through runtime_jdk poperty; infer jdk | #241
- New project view parser without default file. | #242
- Map label->module is no longer serialized - it was doubling size of the file. | #233
- Diagnostic message doesn't contain path to file anymore. Also, column number is now inferred from the message. | #238
2.0.0 - 22.04.2022
- New installer with project view generator - now it is possible to create a project view using installer. | #227
- New implementation of diagnostics extraction. It collects both warnings and errors, doesn't show irrelevant errors in BUILD files, shows line and character position and does not run bazel query before each build anymore. | #225
build_flags
support in project view. | #194- New installer - it is possible to specify installation directory and project view file using flags. | #201
- Server now keeps the state of the project between runs. | #205
- Improved bazel runner. The BSP Client now receives invoked bazel command, its output, duration and exit code. | #198
- Scala diagnostics work without a fork (technically it worked already for a while). | #170
- Parsing of project view file fails if the file doesn't exist. | #215
- Project view path is mapped to the absolute path in the installer. | #213
- Kotlin targets don't break import. | #211
- Now sources of thrift dependencies are included as dependencies. | #202
- Handle the case when there is no JDK in the project. | #200
- Fixed extraction of java version and java home for bazel
5.0.0
. | #165 - Log messages are no longer trimmed. | #157
- Memoize BazelProcess output so that it doesn't get lost. | #154
bazel info
call caching mechanism. | #228- Logging level has been set to info and doesn't include events. | #223
- Deletion of semantic version class. | #216
- Duplicate bazel output lines are not shown in bsp-client. | #209
- Project uses bazel
5.1.0
. | #208 - Parse bazel query output from stream rather than from all bytes. | #210
- JUnit5! | #206
- Do not throw on aborted event from BEP. Show warning instead. | #205
- Readable
toString
for allProject
related classes. | #205 - Measure and report time of longer operations during sync. | #205
- Support for excluded targets in the sync mechanism. | #196
- Introduction of installation context. | #184
- Project uses (mostly)
io.vavr.Option
andio.vavr.List
. | #192 - Introducing execution context and workspace context. | #172
- Changed the structure of the README and other documents and added contribution guide. | #181
- Project view parser has more logging, targets section is optional and sections are using specific types instead of raw strings. | #166
- Improve the
install.sh
script. | #167 - Now the project is using the latest bazel version -
5.0.0
. Installer skips bazelisk cache binaries during bazel binary discovery mechanism. | #160 - Rewrite of all endpoints to rely on single bazel aspect to extract all necessary data. It improves performance and correctness as wel as extensibility of the server. With this change also c++ support is temporarily dropped. | #147
1.1.1 - 16.02.2022
- New, better project view! Now you can configure installer as well! | #143
- Server returns only the relevant output jar rather than 5-6 jars. | #136
- Server supports multiple subprojects in one workspace (first step). | #130
JvmBuildServer
implementation - now tests execution should be working! | #128- Improved heuristics for guessing source roots. It looks directory structures such as
src/java
ormain/java
. | #126
- Server filters out non-runtime jars for running apps and tests. | #131
- Now server uses Java 11. | #129
- Bazel runner allows running a bazel command without positional arguments. | #123
- Error diagnostics are now also sent for source files, including targets. | #146
- Badges in the README work now (and there are even more of them). | #142
- Server builds a project during sync in order to fix dependency resolving mechanism. | #137
- Server handles aspects properly when multiple projects are in workspace. | #132
- Now the project is built using bazel version
3.7.2
, as the rules currently used are no longer supported by bazel. | #141
1.0.1 - 24.09.2021
- Implementation of e2e tests. Have been moved to the
e2e
module and are now based on execution scenarios. | #83 - Github actions e2e tests execution - e2e tests are executed in parallel. | #84
- Project structure - now it is multi module project. | #87
- Github actions unit tests execution - each module has a separate job. | #89
- Created document with release tips. | #91
- Old implementation of e2e tests. | #86
- Warnings generated by the WORKSPACE file. | #81
- Semantic versioning parser - now it can parse every valid version. | #93
exports
attribute propagation to the BSP | #98- Now all
scala_junit_test
based rules (includingscala_specs2_junit_test
) are included in the BSP tests, unfortunately without test classes. | #101
1.0.0 - 23.08.2021
- Everything... 🎉