bloop v1.0.0
Install v1.0.0
🍬
If you're on Mac OS X, upgrade to the latest version with:
$ brew install scalacenter/bloop/bloop
Otherwise, run:
$ curl -L https://github.com/scalacenter/bloop/releases/download/v1.0.0/install.py | python
Read the complete installation instructions in our Installation page.
What is bloop
Bloop is a Scala build server and command-line tool to make the compile and test developer
workflows fast and productive in a build-tool-agnostic way. Learn more about Bloop and its
origins in this ScalaDays Berlin talk.
Initially as an idea by Martin Duhem, Bloop has iterated into its design several times and
materialized into a stable compile/test server that people from different build tools can leverage to
have a faster developer workflow.
We're in debt with the people that have believed in the project, adopted Bloop and joined our
developer team in the early days, most notably @tues,
@fizzy33, @rberenguel,
@propensive,
@lefou and @tindzk.
Bloop v1.0.0
is just the beginning. The next v1.1.0
release will keep focusing on developer
productivity and feature more speedups in compilation. Stay tuned.
Highlights 📚
A new configuration file format
The configuration file format is a JSON file that describes the configuration of your project.
It contains a subset of all the configuration keys required to compile, test and run your project
like the project name, source directories, classpath and the like.
Bloop configuration files are easy to generate, easy to read and easy to modify. Bloop keeps a
strict forward and backward compatibility on the source files in every major version so that
whatever tooling that you build on top of them keeps running in your computers.
Compile, test and run your projects quicker!
After you have exported your build to Bloop configuration files, Bloop can compile, test and
run your projects quicker than any other build tool. Bloop can compile your projects around 20-30%
faster than sbt.
Generate bloop configuration files from sbt
, Maven
and mill
There are plugin integrations for sbt
, Maven
and mill
that generate configuration files
when the task bloopInstall
is executed. These integrations allow you to use Bloop for these build
tools.
A gradle plugin integration is coming and will be
merged into 1.1.0.
Compile and run Scala Native and Scala.js projects
Run your Scala Native and Scala.js projects with Bloop. If your build tool supports Scala Native
and Scala.js (like sbt), Bloop's integration will automatically create projects for your Scala
Native and Scala.js projects. Support for tests and incremental linking is left as future work
for 1.1.0.
Improvements since 1.0.0-RC1
Log output of server in OSX services (plists)
The Homebrew formulas now installs plist services that will log stdout and stderr to Bloop's log
directories /var/log/bloop
.
Upgrade to NuProcess 1.2.4
Running Bloop projects in JDK 10 didn't work because NuProcess failed to link with the new
process API in JDK 10. Upgrading to the last NuProcess version fixes this issue.
Remove --isolated
flag and add --propagate
/ --include-dependencies
The flag --isolated
has been removed because it was not a good default. In most of the cases,
users want to clean and test a project in isolation, and propagate that to all their dependencies
only in concrete cases.
As a result, a new flag --include-dependencies
(aliased to --propagate
) has been added to
the CLI test
and clean
commands.
Remove --parallelism
flag in bloop configure
Remove the --parallelism
alias of --threads
to avoid confusion with the future parallel
compilation configuration settings that will be merged in 1.1.0. Use --threads
instead.
Complete changelog
v1.0.0
is a release that contains changes that span almost half a year. To fully catch up
with all the changes that have gone into the creation of v1.0.0
, we redirect users to the
release notes of all our previous versions.
v1.0.0-RC1
v1.0.0-M11
v1.0.0-M10
v1.0.0-M9
v1.0.0-M8
v1.0.0-M7
v1.0.0-M6
v1.0.0-M5
v1.0.0-M4
v1.0.0-M3
v1.0.0-M2
v1.0.0-M1
Contributors 👥
According to git shortlog -sn --no-merges v1.0.0-M11..1.0.0-RC1
, 27 people contributed to this
v1.0.0
release: Jorge Vicente Cantero, Martin Duhem, Paweł Bartkiewicz, Ruben Berenguel Montoro, Tim Nieradzik,
msvaljek, Jon Pretty, Jorge, Andrew Valencik, Gabriele Petronella, Olivier Mélois, Sam Halliday,
David Barri, Alexander Samsig, travisltq, Alexey Alekhin, Emilien Taque, Eugene Platonov,
Guillaume Massé, Justin Kaeser, Olivier Melois, Pawel Bartkiewicz, Samantha Li, Sean Sullivan,
Stephen Nancekivell, Tobias Roeser and shamsak58.
The core team is grateful to all the contributors that have submitted PRs and helped
improved the documentation of Bloop. To a faster developer workflow! 🥂