blob: bb0d21c0b080030364aab3b41a17cc75b4c5198c [file] [log] [blame] [view]
Bazel Release System63222de2017-06-06 11:32:04 +02001## Release 0.5.1 (2017-06-06)
2
3```
4Baseline: f3ae88ee043846e7acdffd645137075a4e72c573
5
6Cherry picks:
7 + c58ba098526b748f9c73e6229cafd74748205aa1:
8 Release to GCS: put the final release in its own directory
9 + 0acead4ea3631240659836ce6ecd6d7f67fd352b:
10 Update protobuf to latest master at a64497c and apply
11 @laszlocsomor's latest changes from
12 https://github.com/google/protobuf/pull/2969 on top of it.
13 + d0242ce4a87929f2528f4602d0fb09d1ccfcea94:
14 Make symlinks consistent
15 + d953ca8b87a46decbce385cebb446ae0dd390881:
16 Clean VanillaJavaBuilder output directories
17 + 755669fb5de1f4e762f27c19776cac9f410fcb94:
18 Pass all the environment variable to Bazel during bootstrapping
19 + 6f041661ca159903691fcb443d86dc7b6454253d:
20 Do not mark the JDK7 installer -without-jdk-installer
21 + 720561113bfa702acfc2ca24ce3cc3fd7ee9c115:
22 Fix #2958: Installer should not overwrite bazelrc
23 + 511c35b46cead500d4e76706e0a709e50995ceba:
24 Bootstrap: move the fail function to the top
25 + 8470be1122825aae8ad0903dd1e1e2a90cce47d2:
26 Clean up javac and Error Prone targets
27 + 4a404de2c6c38735167e17ab41be45ef6fc4713a:
28 Update javac version to 9-dev-r4023-2
29 + 36ce4b433e19498a78c34540d5a166d4e0006b22:
30 Update javac version to 9-dev-r4023-2
31 + 38949b8526bdb3e6db22f3846aac87162c28c33f:
32 Migrate off versioned javac and Error Prone targets
33 + 1a57d298f8aa6ea8136d93223902104f2479cd2a:
34 Re-enabling passing -sourcepath via javacopts.
35 + eb565f408e03125e92d42b00756e519795be6593:
36 Make make sure that msys build actually builds msys version
37 + 39f328cf392056618d1a3ead4835a138b189a06d:
38 Fix typo. Also do not override host_cpu for msvc.
39 + 624802893f4fe72118f00a78452605d41a2e1c6f:
40 Select correct JDK for windows_msys
41 + c4f271d1a68366b6fa5ff38ea7d951b6a22af044:
42 Automated g4 rollback of commit
43 3e5edafa2a04a71cd3596e929e83222da725f3f9.
44 + 926180997a0f296a5a009326aead887279ce0a90:
45 Remove process-tools.cc which I forgot to delete during the last
46 rollback.
47 + baca6e4cb023649920871b74810927d304729e59:
48 Fix #2982: Bazel installer should not check for installed JDK if
49 using a bundled JDK.
50 + 866ecc8c3d5e0b899e3f0c9c6b2265f16daae842:
51 Disable msys path conversion on Windows.
52 + cc21998c299b4d1f97df37b961552ff8168da17f:
53 Rollforward #2 of: Basic open-source crosstool to support
54 targeting apple platform types.
55 + 0f0ccc4fc8229c1860a9c9b58089d6cfb2ee971f:
56 Escape % in strings that will appear in Crosstool
57 + 3b08f774e7938928e3a240a47a0a7554cdc8d50b:
58 Adding feature for linking C Run-Time library on Windows
59 + 3566474202d1978acfdcb7e5ff73ee03ea6f3df9:
60 Do not use sed -E in bootstrap/compile.sh
61 + c3cf7d917afd02d71de3800cd46ad8d14f1ddf55:
62 Reverts non-xcode-available darwin crosstool generation.
63```
64
65Important changes:
66
67 - Fixes regression in 0.5.0 requiring Xcode to build C++ on OSX.
68
Bazel Release Systema3e26832017-05-26 14:11:07 +020069## Release 0.5.0 (2017-05-26)
70
71```
72Baseline: f3ae88ee043846e7acdffd645137075a4e72c573
73
74Cherry picks:
75 + c58ba098526b748f9c73e6229cafd74748205aa1:
76 Release to GCS: put the final release in its own directory
77 + 0acead4ea3631240659836ce6ecd6d7f67fd352b:
78 Update protobuf to latest master at a64497c and apply
79 @laszlocsomor's latest changes from
80 https://github.com/google/protobuf/pull/2969 on top of it.
81 + d0242ce4a87929f2528f4602d0fb09d1ccfcea94:
82 Make symlinks consistent
83 + d953ca8b87a46decbce385cebb446ae0dd390881:
84 Clean VanillaJavaBuilder output directories
85 + 755669fb5de1f4e762f27c19776cac9f410fcb94:
86 Pass all the environment variable to Bazel during bootstrapping
87 + 6f041661ca159903691fcb443d86dc7b6454253d:
88 Do not mark the JDK7 installer -without-jdk-installer
89 + 720561113bfa702acfc2ca24ce3cc3fd7ee9c115:
90 Fix #2958: Installer should not overwrite bazelrc
91 + 511c35b46cead500d4e76706e0a709e50995ceba:
92 Bootstrap: move the fail function to the top
93 + 8470be1122825aae8ad0903dd1e1e2a90cce47d2:
94 Clean up javac and Error Prone targets
95 + 4a404de2c6c38735167e17ab41be45ef6fc4713a:
96 Update javac version to 9-dev-r4023-2
97 + 36ce4b433e19498a78c34540d5a166d4e0006b22:
98 Update javac version to 9-dev-r4023-2
99 + 38949b8526bdb3e6db22f3846aac87162c28c33f:
100 Migrate off versioned javac and Error Prone targets
101 + 1a57d298f8aa6ea8136d93223902104f2479cd2a:
102 Re-enabling passing -sourcepath via javacopts.
103 + eb565f408e03125e92d42b00756e519795be6593:
104 Make make sure that msys build actually builds msys version
105 + 39f328cf392056618d1a3ead4835a138b189a06d:
106 Fix typo. Also do not override host_cpu for msvc.
107 + 624802893f4fe72118f00a78452605d41a2e1c6f:
108 Select correct JDK for windows_msys
109 + c4f271d1a68366b6fa5ff38ea7d951b6a22af044:
110 Automated g4 rollback of commit
111 3e5edafa2a04a71cd3596e929e83222da725f3f9.
112 + 926180997a0f296a5a009326aead887279ce0a90:
113 Remove process-tools.cc which I forgot to delete during the last
114 rollback.
115 + baca6e4cb023649920871b74810927d304729e59:
116 Fix #2982: Bazel installer should not check for installed JDK if
117 using a bundled JDK.
118 + 866ecc8c3d5e0b899e3f0c9c6b2265f16daae842:
119 Disable msys path conversion on Windows.
120 + cc21998c299b4d1f97df37b961552ff8168da17f:
121 Rollforward #2 of: Basic open-source crosstool to support
122 targeting apple platform types.
123 + 0f0ccc4fc8229c1860a9c9b58089d6cfb2ee971f:
124 Escape % in strings that will appear in Crosstool
125 + 3b08f774e7938928e3a240a47a0a7554cdc8d50b:
126 Adding feature for linking C Run-Time library on Windows
127```
128
129Incompatible changes:
130
131 - Bazel's Linux sandbox no longer mounts an empty tmpfs on /tmp,
132 instead the existing /tmp is mounted read-write. If you prefer
133 to have a tmpfs on /tmp for sandboxed actions for increased
134 hermeticity, please use the flag --sandbox_tmpfs_path=/tmp.
135 - Converting artifacts to strings and printing them now return
136 "File" instead of "Artifact" to be consistent with the type name.
137 - The return type of depset.to_list() is now a list rather than a
138 frozen list. (Modifying the list has no effect on the depset.)
139 - Bazel now prints logs in single lines to java.log
140 - --use_dash, --dash_url and --dash_secret are removed.
141 - Remote repositories must define any remote repositories they
142 themselves use (e.g., if @x//:foo depends on @y//:bar, @y must be
143 defined
144 in @x's WORKSPACE file).
145 - Remote repositories must define any remote repositories they
146 themselves use (e.g., if @x//:foo depends on @y//:bar, @y must be
147 defined
148 in @x's WORKSPACE file).
149 - objc_xcodeproj has been removed, use tulsi.bazel.build instead.
150
151New features:
152
153 - If grte_top is a label, it can now follow non-configurable
154 redirects.
155 - Optional coverage_files attribute to cc_toolchain
156 - "query --output=build" now includes select()s
157 - Raw LLVM profiles are now supported.
158
159Important changes:
160
161 - Automatically generate Proguard mapping when resource shrinking
162 and Proguard are enabled.
163 - New rules in Bazel: proto_library, java_lite_proto_library,
164 java_proto_library and cc_proto_library
165 - Activate the "dead_strip" feature if objc binary stripping is
166 enabled.
167 - More stable naming scheme for lambda classes in desugared android
168 code
169 - Convert --use_action_cache to a regular option
170 - Per-architecture dSYM binaries are now propagated by
171 apple_binary's AppleDebugOutputsProvider.
172 - Avoid factory methods when desugaring stateless lambdas for
173 Android
174 - desugar calls to Objects.requireNonNull(Object o) with
175 o.getClass() for android
176 - Add an --copy_bridges_from_classpath argument to android
177 desugaring tool
178 - Change how desugar finds desugared classes to have it working on
179 Windows
180 - Evaluation of commands on TargetsBelowDirectory patterns
181 (e.g. //foo/...) matching packages that fail to load now report
182 more
183 detailed error messages in keep_going mode.
184 - Allow to have several inputs and outputs
185 - Repository context's execute() function can print stdout/stderr
186 while running. To enable, pass quiet=False.
187 - Bazel can now be built with a bundled version of the OpenJDK.
188 This makes it possible to use Bazel on systems without a JDK, or
189 where
190 the installed JDK is too old.
191 - The --jobs flag now defaults to "auto", which causes Bazel to
192 use a reasonable degree of parallelism based on the local
193 machine's
194 capacity.
195 - Bazel benchmark (perf.bazel.build) supports Java and Cpp targets.
196 - no factory methods generated for lambda expressions on android
197 - The Linux sandbox no longer changes the user to 'nobody' by
198 default, instead the current user is used as is. The old behavior
199 can be
200 restored via the --sandbox_fake_username flag.
201 - /tmp and /dev/shm are now writable by default inside the
202 Linux sandbox.
203 - Bazel can now use the process-wrapper + symlink tree based
204 sandbox implementation in FreeBSD.
205 - turn on --experimental_incremental_dexing_error_on_missed_jars by
206 default.
207 - All android_binarys are now signed with both Apk Signature V1 and
208 V2. See https://source.android.com/security/apksigning/v2.html
209 for more details.
210 - Windows MSVC wrappers: Not filtering warning messages anymore,
211 use --copt=-w and --host_copt=-w to suppress them.
212 - A downloader bug was fixed that prevented RFC 7233 Range
213 connection resumes from working with certain HTTP servers
214 - Introduces experimental android_device rule for configuring and
215 launching Android emulators.
216 - For boolean flags, setting them to false using --no_<flag_name>
217 is deprecated. Use --no<flag_name> without the underscore, or
218 --<flag_name>=false instead.
219 - Add --experimental_android_compress_java_resources flag to store
220 java
221 resources as compressed inside the APK.
222 - Removed --experimental_use_jack_for_dexing and libname.jack
223 output of
224 android_library.
225 - blaze canonicalize-flags now takes a --show_warnings flag
226 - Changing --invocation_policy will no longer force a server
227 restart.
228 - Bazel now supports Android NDK14.
229 - android_binary multidex should now work without additional flags.
230 - Use action_config in crosstool for static library archiving,
231 remove ar_flag.
232 - new option for bazel canonicalize-flags, --canonicalize_policy
233 - Use action_config in crosstool for static library archiving,
234 remove ar_flag.
235 - android_library exports_manifest now defaults to True.
236 - Fix select condition intersections.
237 - Adds a --override_repository option that takes a repository
238 name and path. This forces Bazel to use the directory at that path
239 for the repository. Example usage:
240 `--override_repository=foo=/home/user/gitroot/foo`.
241 - fix idempotency issue with desugaring lambdas in interface
242 initializers for android
243 - --experimental_android_use_singlejar_for_multidex is now a no-op
244 and will eventually be removed.
245 - Every local_repository now requires a WORKSPACE file.
246 - Remove jack and jill attributes of the android_sdk rule.
247 - Add Skylark stubs needed to remove sysroot from CppConfiguration.
248 - Desugar try-with-resources so that this language feature is
249 available
250 to deveces with API level under 19.
251 - The flag --worker_max_retries was removed. The
252 WorkerSpawnStrategy no longer retries execution of failed Spawns,
253 the reason being that this just masks compiler bugs and isn't
254 done for any other execution strategy either.
255 - Bazel will no longer gracefully restart workers that crashed /
256 quit, instead this triggers a build failure.
257 - All java resources are now compressed in android_binary APKs by
258 default.
259 - All java resources are now compressed in android_binary APKs by
260 default.
261 - android_ndk_repository now creates a cc_library
262 (@androidndk//:cpufeatures) for the cpufeatures library that is
263 bundled in the Android NDK. See
264 https://developer.android.com/ndk/guides/cpu-features.html for
265 more details.
266 - 'output_groups' and 'instrumented_files' cannot be specified in
267 DefaultInfo.
268 - You can increase the CPU reservation for tests by adding a
269 "cpu:<n>" (e.g. "cpu:4" for four cores) tag to their rule in a
270 BUILD file. This can be used if tests would otherwise overwhelm
271 your system if there's too much parallelism.
272 - Deprecate use_singlejar_for_proguard_libraryjars and force
273 behavior to always on.
274
Bazel Release System8d635fc2017-03-16 13:18:30 +0100275## Release 0.4.5 (2017-03-16)
276
277```
278Baseline: 2e689c29d5fc8a747216563235e905b1b62d63b0
279
280Cherry picks:
281 + a28b54033227d930672ec7f2714de52e5e0a67eb:
282 Fix Cpp action caching
283 + 6d1d424b4c0da724e20e14235de8012f05c470f8:
284 Fix paths of binaries in .deb packages.
285 + 0785cbb672357d950e0c045770c4567df9fbdc43:
286 Update to guava 21.0 and Error Prone version 2.0.18-20160224
287 + 30490512eb0e48a3774cc4e4ef78680e77dd4e47:
288 Update to latest javac and Error Prone
289 + 867d16eab3bfabae070567ecd878c291978ff338:
290 Allow ' ', '(', ')' and '$' in labels
291 + 7b295d34f3a4f42c13aafc1cc8afba3cb4aa2985:
292 Pass through -sourcepath to the JavaBuilder
293 + 14e4755ce554cdfc685fc9cc2bfb5b699a3b48f4:
294 PathFragment comparisons are now platform-aware
295 + ed7795234ca7ccd2567007f2c502f853cd947e50:
296 Flag to import external repositories in python import path
297 + 81ae08bbc13f5f4a04f18caae339ca77ae2699c1:
298 Suppress error for non-exhaustive switches
299 + e8d1177eef9a9798d2b971630b8cea59471eec33:
300 Correctly returns null if an environment variables is missing
301 + 869d52f145c077e3499b88df752cebc60af51d66:
302 Fix NPE in Android{S,N}dkRepositoryFunction.
303 + d72bc57b60b26245e64f5ccafe023a5ede81cc7f:
304 Select the good guava jars for JDK7 build
305 + 92ecbaeaf6fa11dff161254df38d743d48be8c61:
306 Windows: Assist JNI builds with a target for jni_md.h.
307 + 36958806f2cd38dc51e64cd7bcc557bd143bbdb6:
308 Add java_common.create_provider to allow creating a
309 java_common.provider
310 + 8c00f398d7be863c4f502bde3f5d282b1e18f504:
311 Improve handling of unknown NDK revisions in
312 android_ndk_repository.
313 + b6ea0d33d3ab72922c8fb3ec1ff0e437af09584d:
314 Add the appropriate cxx_builtin_include_directory entries for
315 clang to the Android NDK crosstool created by
316 android_ndk_repository.
317```
318
319Incompatible changes:
320
321 - Depsets (former sets) are converted to strings as "depset(...)"
322 instead of
323 "set(...)".
324 - Using --symlink_prefix is now applied to the output
325 symlink (e.g. bazel-out) and the exec root symlink (e.g.
326 bazel-workspace).
327 - Bazel now uses the test's PATH for commands specified as
328 --run_under; this can affect users who explicitly set PATH to
329 a more
330 restrictive value than the default, which is to forward the
331 local PATH
332 - It's not allowed anymore to compare objects of different types
333 (i.e. a string to an integer) and objects for which comparison
334 rules are not
335 defined (i.e. a dict to another dict) using order operators.
336
337New features:
338
339 - environ parameter to the repository_rule function let
340 defines a list of environment variables for which a change of
341 value
342 will trigger a repository refetching.
343
344Important changes:
345
346 - android_ndk_repository now supports Android NDK R13.
347 - Android resource shrinking is now available for android_binary
348 rules. To enable, set the attribute 'shrink_resources = 1'. See
349 https://bazel.build/versions/master/docs/be/android.html#android_b
350 inary.shrink_resources.
351 - resolve_command/action's input_manifest return/parameter is now
352 list
353 - For increased compatibility with environments where UTS
354 namespaces are not available, the Linux sandbox no longer hides
355 the hostname of the local machine by default. Use
356 --sandbox_fake_hostname to re-enable this feature.
357 - proto_library: alias libraries produce empty files for descriptor
358 sets.
359 - Adds pkg_rpm rule for generating RPM packages.
360 - Allow CROSSTOOL files to have linker flags specific to static
361 shared libraries.
362 - Make it mandatory for Java test suites in bazel codebase, to
363 contain at least one test.
364 - Support for Java 8 lambdas, method references, type annotations
365 and repeated annotations in Android builds with
366 --experimental_desugar_for_android.
367 - Removed .xcodeproj automatic output from objc rules. It can still
368 be generated by requesting it explicitly on the command line.
369 - Flips --explicit_jre_deps flag on by default.
370 - Activate the "dbg", "fastbuild", and "opt" features in the objc
371 CROSSTOOL.
372 - Remove support for configuring JDKs with filegroups; use
373 java_runtime and java_runtime_suite instead
374 - android_ndk_repository api_level attribute is now optional. If not
375 specified, the highest api level in the ndk/platforms directory
376 is used.
377
Bazel Release System6712cac2017-02-01 19:53:37 +0100378## Release 0.4.4 (2017-02-01)
379
380```
381Baseline: 4bf8cc30a
382
383Cherry picks:
384 + ef1c6fd33: msvc_tools.py.tpl: Change default runtime library to
385 static
386```
387
388Incompatible changes:
389
390 - Only targets with public visibility can be bound to something in
391 //external: .
392 - The deprecated -x startup option has been removed.
393 - docker_build: change the repository names embedded by
394 docker_build. You can revert to the old behavior by setting
395 legacy_repository_naming=True.
396 - The string methods strip(), lstrip(), and rstrip() now
397 by default remove the same whitespace characters as Python 3
398 does, and accept
399 None as an argument.
400 - Deprecated globals HOST_CFG and DATA_CFG are removed. Use strings
401 "host" and "data" instead.
402 - repository_ctx environment is now affected by --action_env flag
403 (value from the
404 client environment will be replaced by value given on the command
405 line through --action_env).
406 - All executable labels must also have a cfg parameter specified.
407 - Removed the cmd_helper.template function.
408 The function was equivalent to:
409 def template(items, template):
410 return [template.format(path = i.path, short_path =
411 i.short_path)
412 for i in items]
413 - Tuples that end with a trailing comma must now be inside parens,
414 e.g. (1,) instead of 1,
415 - The traversal orders for depsets have been renamed. The old names
416 are deprecated and will be removed in the future. New names:
417 "stable" -> "default", "compile" -> "postorder", "link" ->
418 "topological", "naive_link" -> "preorder".
419
420New features:
421
422 - Skylark: you can now multiply a list by an integer to get the
423 concatenation of N copies of this list, e.g. [a,b] * 3 =
424 [a,b,a,b,a,b]
425 - Allow Android aidl tool to add a jar to the program's classpath,
426 such as if needed to support generated sources.
427 - Add transitive proguard_specs when android_sdk.aidl_lib is
428 specified
429 - Windows: "/dev/null" is now a supported path, e.g.
430 --bazelrc=/dev/null now works
431
432Important changes:
433
434 - Bazel Android builds use the apksigner tool from the Android SDK
435 build-tools. Bazel Android builds now require build-tools version
436 24.0.3 or
437 later.
438 - Android SDK external bindings for support libraries, e.g.
439 //external:android/appcompat_v4, are removed because the support
440 library JARs that they referenced no longer ship with the Android
441 SDK.
442 - aar_import rule is now documented.
443 - An IE bug was fixed in repository_ctx.download_and_extract
444 - Update "-I" to "-isystem" in documentation to reflect current
445 behavior.
446 - android_sdk_repository build_tools_version is now optional. The
447 highest installed build-tools will be used if none is specified.
448 - New flag --sandbox_add_mount_pair to specify customized
449 source:target path pairs to bind mount inside the sandbox.
450 - expose proto_library descriptor set to skylark via
451 <dep>.proto.descriptor_set
452 - The `set` constructor is deprecated in favor of `depset`
453 - Autodetect gold linker in cc_configure.bzl
454 - Remove build flag --experimental_j2objc_annotation_processing. It
455 is on by default now.
456 - Set clang's -mwatchos-version-min correctly using the value of
457 --watchos_minimum_os, not --watchos_sdk_version.
458 - singlejar can now create jar files larger than 4GB.
459 - android_sdk_repository and android_ndk_repository now read
460 $ANDROID_HOME and $ANDROID_NDK_HOME if the path attribute is not
461 set.
462 - Removed broken api levels 3, 4 and 5 from Android NDK 12.
463 - Default --android_dynamic_mode to off.
464 - android_sdk_repository no longer requires api_level. If one is
465 not specified, the highest android platform installed will be
466 used. Furthermore, android_sdk's are created for all android
467 platforms installed and can be specified with the --android_sdk
468 flag.
469 - To iterate over or test for membership in a set, prefer using the
470 new to_list() method. E.g., "for x in myset.to_list():", or
471 "print(x in myset.to_list())". Iteration/membership-test on the
472 raw set itself is deprecated.
473 - Remove support for --javawarn; use e.g. --javacopt=-Xlint:all
474 instead
475
Bazel Release Systemd3b23642016-12-22 13:30:47 +0100476## Release 0.4.3 (2016-12-22)
Bazel Release System80865ff2016-11-30 13:18:54 +0100477
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +0100478```
Bazel Release Systemd3b23642016-12-22 13:30:47 +0100479Baseline: c645a45
Bazel Release System80865ff2016-11-30 13:18:54 +0100480
481Cherry picks:
Bazel Release Systemd3b23642016-12-22 13:30:47 +0100482 + af878d0: Add coverage support for java test. (series 4/4 of
483 open-sourcing coverage command for java test)
484 + 09b92a8: Rollback of commit
485 67b4d5250edcefa7220e928e529b1f385e2dc464.
486 + b11dd48: Fix bad bug with the parallel implementation of
487 BinaryOperatorExpression. Turns out that
488 ForkJoinTask#adapt(Callable) returns a ForkJoinTask
489 whose Future#get on error throws a ExecutionException
490 wrapping a RuntimeException wrapping the thrown checked
491 exception from the callable. This is documented
492 behavior [1] that I incorrectly didn't know about.
493 + 9012bf1: Fix scripts/packages/convert_changelog to read the
494 changelog correctly
495 + 55c97bc: Release script: if master branch does not exist, fall
496 back on origin/master
497 + 4fb378c: Debian repository: override section and priority fields
498 + acbcbc2: Fix release notes in emails
499 + 4975760: Fix PathFragment to not use Java8-only static hashCode
500 methods.
501 + 05fd076: Disable sandboxing for XibCompile actions.
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +0100502```
Bazel Release System80865ff2016-11-30 13:18:54 +0100503
504Incompatible changes:
505
Bazel Release Systemd3b23642016-12-22 13:30:47 +0100506 - Skylark maven_jar and maven_aar settings attribute is now a label
507 so it can be checked into your workspace.
508 - --{no}experimental_use_rclass_generator is now a nop.
509
510New features:
511
512 - Coverage support (*experimental*) for pure Java target.
513 Use `bazel coverage //my:target` to generate coverage information
514 from a `java_test`.
Bazel Release System80865ff2016-11-30 13:18:54 +0100515
516Important changes:
517
Bazel Release Systemd3b23642016-12-22 13:30:47 +0100518 - Enable fallback URLs in Skylark http rules.
519 - cc_proto_library generates C++ code from proto_library rules.
520 - cc_library now supports the strip_prefix and strip_include_prefix
521 attributes for control of include paths.
522 - Skylark dicts internally don't rely on keys order anymore and
523 accept any hashable values (i.e. structs with immutable values)
524 as keys. Iteration order of dictionaries is no longer specified.
Damien Martin-Guillerez961e54f2016-12-22 13:33:36 +0100525
526## Release 0.4.2 (2016-12-02)
527
528```
529Baseline: 6331a94
530
531Cherry picks:
532 + 7b835d9: Do not patch WORKSPACE in the release process
533```
534
535Incompatible changes:
536
537 - Callback functions in Skylark no longer support the cfg
538 parameter. This is a cleanup and only affects the signatures of
539 callbacks, since the parameter hasn't been set since September
540 2016.
541
542Important changes:
543
544 - Alias proto_library's produce a descriptor set that contains all
545 srcs of its dependencies.
546 - proto_library supports strict proto deps.
547 - Top level @androidsdk support library targets have been replaced
548 by @androidsdk//<group id>:<artifact id>-<version> for Android
549 SDK Support and Google Play Services libraries.
550
Bazel Release System15402a92016-11-30 10:12:30 +0100551## Release 0.4.1 (2016-11-21)
552
553```
554Baseline: 9a796de
555
556Cherry picks:
557 + 88bfe85: Description redacted. -- MOS_MIGRATED_REVID=139219934
558 + b09ea94: Rollback of commit
559 a3f5f576cd35798140ba3e81d03d919dd4ecb847.
560```
561
562New features:
563
564 - android_library now has a "exported_plugins" attribute just like
565 java_library
566 - Use --strict_system_includes to apply hdrs_check=strict also to
567 cc_library.includes, even if sandboxing is disabled.
568 - Bazel on Windows: java_binary can now be the executable of
569 Skylark rule actions (ctx.action's executable argument)
570 - Packages are defined in BUILD.bazel as well as BUILD files.
571
572Important changes:
573
574 - getattr()'s 3-arg form no longer raises an error when the
575 retrieved field is a built-in method.
576 - --apk_signing_method default changed to v1. Android APKs are now
577 signed with the new ApkSignerTool by default.
578 - New rule: proto_lang_toolchain(), to support LANG_proto_library
579 rules on multiple platforms.
580 - Fix for Android clang++ std::stack segfault on 32bit x86. See
581 https://code.google.com/p/android/issues/detail?id=220159
582 - Default android_manifest_merger is now "android" which uses the
583 official Android manifest merger.
584 http://tools.android.com/tech-docs/new-build-system/user-guide/man
585 ifest-merger
586 - Do not propagate aspect to its own attributes when using '*'.
587 - Comparing sets (`if set1 < set2:`) is not allowed anymore in
588 Skylark because it didn't work correctly anyway.
589 - When --experimental_extra_action_top_level_only, Bazel reports
590 extra-actions for actions registered by Aspects injected by a
591 top-level rule (approximately).
592 - Blacklists for proto_lang_toolchain() no longer have to be
593 proto_library's.
594 - Extra actions now contain aspect-related information.
595 - Fix slicing bug where "abc"[:-4:-1] would give wrong answer
596
Bazel Release Systemd0761e62016-11-02 13:36:35 -0400597## Release 0.4.0 (2016-10-26)
598
599```
600Baseline: 088bbc6
601
602Cherry picks:
603 + b01160c: Stamp Windows release.
604 + 2d6736e: Add --no-tty for gpg signing
605 + 9b1dfb8: Remove .sig file before gpg signing
606 + 81aede1: Reimplement whole archive on Windows
607```
608
609Incompatible changes:
610
611 - Skylark: updating list/dicts while they are being looped over is not
612 allowed. Use an explicit copy if needed ("for x in list(mylist):").
613 - Bazel now uses the --cpu flag to look up Jvms; it falls back
614 to "default" if it can't find a Jvm matching the CPU value.
615 - --command_port=-1 to use AF_UNIX for client/server communications
616 is not supported anymore.
617 - Sandboxed actions can access the network by default, unless their
618 target has a "block-network" tag.
619
620New features:
621
622 - Files now have an "extension" property in Skylark.
623
624Important changes:
625
626 - Added a new flag --sandbox_tmpfs_path, which asks the sandbox to
627 mount an empty, writable directory at a specified path when
628 running actions. (Supported on Linux only for now.)
629 - Update protoc-3.0.0-mingw.exe to a working (statically linked)
630 binary
631 - apple_static_library rule to create multi-architecture static
632 archive files from Objc/C++/Swift dependencies on apple platforms
633 - JS: Add support for localization with closure managed rules.
634 - Create a flag --android_dynamic_mode to turn off dynamic mode
635 during the Android split transition.
636 - Darwin sandboxing is default.
637 - Remove flag --experimental_zip_tree_artifact from j2objc Java
638 annotation processing support.
639 - A few functions are added to BUILD files for consistency (hash,
640 dir,
641 hasattr, getattr) with .bzl files, although they are not very
642 useful.
643 - --watchfs is now a command option; the startup option of the same
644 name is deprecated. I.e., use bazel build --watchfs, not
645 blaze --watchfs
646 build.
647
Bazel Release System33579a42016-10-07 13:05:11 -0400648## Release 0.3.2 (2016-10-07)
649
650```
651Baseline: 023a7bd
652
653Cherry picks:
654 + bebbbe5: Fix dependency on libtool's helper script
655 make_hashed_objlist.py.
656 + 8a0d45f: Add the version information to the bazel.exe file
657 + 2bc0939: Allow new_ rules to overwrited BUILD files in
658 downloaded repos
659 + c5545fd: Rollback of commit
660 96d46280bc5a4803ba2242a4ad16939f85a3b212.
661 + eb87208: Make cc_configure on Windows more robust
662 + c30432c: Fix cc_configure on Windows
663 + 95b16a8: sandbox: Replace the error-prone lazy cleanup of
664 sandbox directories by a simple synchronous cleanup.
665 + e898023: Fix #1849: Sandboxing on OS X should be turned off by
666 default for 0.3.2.
667 + ffdc05d: Add action_config and feature for linking on Windows
668```
669
670Incompatible changes:
671
672 - If you maintain a rule that uses persistent workers, you'll have
673 to specify execution_requirements={"supports-workers": 1} in the
674 ctx.action that intends to run a tool with workers. The
675 WorkerSpawnStrategy will alert you with a warning message if you
676 forget to make this change and fallback to non-worker based
677 execution.
678 - It is now an error to include a precompiled library (.a, .lo, .so)
679 in a cc_library which would generate a library with the same name
680 (e.g., libfoo.so in cc_library foo) if that library also contains
681 other linkable
682 sources.
683 - The main repository's execution root is under the main
684 repository's workspace name, not the source directory's basename.
685 This shouldn't
686 have any effect on most builds, but it's possible it could break
687 someone doing
688 weird things with paths in actions.
689 - Blaze doesn't support Unix domain sockets for communication
690 between its client and server anymore. Therefore, the
691 --command_port command line argument doesn't accept -1 as a valid
692 value anymore.
693 - Skylark: It is an error to shadow a global variable with a local
694 variable after the global has already been accessed in the
695 function.
696 - bin_dir and genfiles_dir are now properties of ctx, not
697 configuration. That is, to access the bin or genfiles directory
698 from a
699 Skylark rule, use ctx.bin_dir or ctx.genfiles_dir (not
700 ctx.configuration.{bin,genfiles}_dir). At the moment, you can
701 access
702 {bin,genfiles}_dir from either, but the ctx.configuration version
703 will
704 stop working in a future release.
705 - filegroup-based C++ toolchains are not supported anymore.
706 --*_crosstool_top options must always point to a
707 cc_toolchain_suite rule (or an alias of one).
708 - repository_ctx.{download,download_and_extract,execute} API now use
709 named parameters for optional parameters and no
710 longer uses argument
711 type to distinguished between arguments
712 (executable attribute name
713 must be specified when preceding optional
714 arguments are missing).
715
716New features:
717
718 - print and fail are now available in BUILD files.
719
720Important changes:
721
722 - Added @bazel_tools//tools/build_defs/repo/git.bzl as a Skylark
723 rule for Git repositories.
724 - Added @bazel_tools//tools/build_defs/repo/maven_rules.bzl as a
725 Skylark rule for Maven repositories.
726 - Add global hash() function for strings (only)
727 - Improve Android split transition handling.
728 - Removes exports_manifest attribute from android_binary rule.
729 - java_proto_library: control strict-deps through a rule-level and
730 a package-level attribute.
731 - Persistent workers are now used by default for Java compilation
732 in Bazel, which should speed up your Java builds by ~4x. You can
733 switch back to the old behavior via --strategy=Javac=standalone.
734 Check out http://www.bazel.io/blog/2015/12/10/java-workers.html
735 for more details.
736 - objc_* rules can now depend on any target that returns an "objc"
737 provider.
738 - Adds support for NDK12 to `android_ndk_repository` rule in Bazel.
739 - Test targets can disable the JUnit4 test security manager via a
740 property.
741 - Disable the Android split transition if --android_cpu and
742 fat_apk_cpu are both empty.
743 - New sandboxing implementation for Linux in which all actions run
744 in a separate execroot that contains input files as symlinks back
745 to the originals in the workspace. The running action now has
746 read-write access to its execroot and /tmp only and can no longer
747 write in arbitrary other places in the file system.
748 - Add worker support to single jar.
749 - Invoke source jar action as a worker.
750 - Sandboxed builds allow network access for builds by default.
751 Tests will still be run without networking, unless
752 "requires-network" is specified as a tag.
753 - Add path.realpath() method for Skylark repositories.
754 - On Mac devices, detect locally installed versions of xcode to:
755 1. Use a sensible default if xcode is required but
756 --xcode_version is unspecified.
757 2. Use sensible default iOS SDK version for the targeted version
758 of xcode if ios_sdk_version is unspecified.
759 - Emacs' [C-x `], a.k.a. next-error, works again in emacsen >= 25.1
760 - swift_library can be used to build watchOS apps.
761 - Exposes the is_device field on Apple platform objects and adds
762 the apple_common.platform_type(name) method to retrieve a
763 platform_type value that can be passed to methods like the Apple
764 fragment's multi_arch_platform.
765 - Move Skylark git_repository rules to git.bzl
766 - Add support for aspects to attr.label() attributes
767 - Global varaiables HOST_CFG and DATA_CFG are deprecated in favor
768 of strings "host"
769 and "data.
770 Argument `cfg = "host"` or `cfg = "data"` is mandatory if
771 `executable = True` is provided for a label.
772 - The deprecation attribute of all rules now causes warnings
773 to be printed when other targets depend on a target with that
774 attribute set.
775 - Change default of --[no]instrument_test_targets to false, change
776 default --instrumentation_filter (which previously tried to
777 exclude test targets by heuristic) to only exclude targets in
778 javatests.
779 - Remove deprecated absolute paths in blaze IDE artifacts
780 - When using android_binary.manifest_merger="android" the merger
781 produces a summary log next to the merged manifest artifact.
782 - Allow different default mallocs per configuration.
783
Bazel Release System70c772b2016-07-29 10:28:13 +0200784## Release 0.3.1 (2016-07-29)
785
786```
787Baseline: 792a9d6
788
789Cherry picks:
790 + 25e5995: Rollback of commit
791 a2770334ea3f3111026eb3e1368586921468710c.
792 + 2479405: Fix NPE with unset maven_jar sha1
793 + 3cf2126: Rewrite the extra action info files if the data within
794 them changes.
795 + 5a9c6b4: JavaBuilder: Reintroduce the -extra_checks flag.
796```
797
798Incompatible changes:
799
800 - Removed predefined Python variable "generic_cpu".
801 - Skylark rules: if you set "outputs" or an attribute to a
802 function, this function must now list its required attributes as
803 parameters (instead of an attribute map).
804 - The host_platform and target_platform entries are not written to
805 the master log anymore.
806 - Bazel requires Hazelcast 3.6 or higher now for remote execution
807 support, because we upgraded our client library and the protocol
808 it uses is incompatible with older versions.
809
810New features:
811
812 - LIPO context (--lipo_context) can now also be a cc_test (in
813 addition to cc_binary)
814
815Important changes:
816
817 - If --android_crosstool_top is set, native code compiled for
818 android will always use --android_compiler and not --compiler in
819 choosing the crosstool toolchain, and will use --android_cpu if
820 --fat_apk_cpu is not set.
821 - Add --instrument_test_targets option.
822 - apple_binary supports a new platform_type attribute, which, if
823 set to "watchos", will build dependencies for Apple's watchOS2.
824 - objc_binary now supports late-loaded dynamic frameworks.
825 - Native Swift rules no longer pull in module maps unconditionally.
826 Use --experimental_objc_enable_module_maps for that.
827 - Merged manifests are guaranteed to have the application element
828 as the last child of the manifest element as required by Android
829 N.
830 - The Android manifest merger is now available as an option for
831 android_binary rules. The merger will honor tools annotations in
832 AndroidManifest.xml and will perform placeholder substitutions
833 using the values specified in android_binary.manifest_values. The
834 merger may be selected by setting the manifest_merger attribute
835 on android_binary.
836 - The progress message would not clear packages that need to be
837 loaded twice.
838 - Remove warning for high value of --jobs.
839 - Use the correct build configuration for shared native deps during
840 Android split transitions.
841 - When building ObjectiveC++, pass the flag -std=gnu++11.
842 - use xcrun simctl instead of iossim to launch the app for "blaze
843 run".
844 - Glob arguments 'exclude' and 'exclude_directories' must be named
845 - Bazel no longer regards an empty file as changed if its mtime has
846 changed.
847
Bazel Release Systemccadf8d2016-06-10 13:28:40 +0200848## Release 0.3.0 (2016-06-10)
849
850```
851Baseline: a9301fa
852
853Cherry picks:
854 + ff30a73: Turn --legacy_external_runfiles back on by default
855 + aeee3b8: Fix delete[] warning on fsevents.cc
856```
857
858Incompatible changes:
859
860 - The --cwarn command line option is not supported anymore. Use
861 --copt instead.
862
863New features:
864
865 - On OSX, --watchfs now uses FsEvents to be notified of changes
866 from the filesystem (previously, this flag had no effect on OS X).
867 - add support for the '-=', '*=', '/=', and'%=' operators to
868 skylark. Notably, we do not support '|=' because the semantics
869 of skylark sets are sufficiently different from python sets.
870
871Important changes:
872
873 - Use singular form when appropriate in blaze's test result summary
874 message.
875 - Added supported for Android NDK revision 11
876 - --objc_generate_debug_symbols is now deprecated.
877 - swift_library now generates an Objective-C header for its @objc
878 interfaces.
879 - new_objc_provider can now set the USES_SWIFT flag.
880 - objc_framework now supports dynamic frameworks.
881 - Symlinks in zip files are now unzipped correctly by http_archive,
882 download_and_extract, etc.
883 - swift_library is now able to import framework rules such as
884 objc_framework.
885 - Adds "jre_deps" attribute to j2objc_library.
886 - Release apple_binary rule, for creating multi-architecture
887 ("fat") objc/cc binaries and libraries, targeting ios platforms.
888 - Aspects documentation added.
889 - The --ues_isystem_for_includes command line option is not
890 supported anymore.
891 - global function 'provider' is removed from .bzl files. Providers
892 can only be accessed through fields in a 'target' object.
893
Bazel Release System9fdd6012016-05-17 11:12:31 +0200894## Release 0.2.3 (2016-05-10)
895
896```
897Baseline: 5a2dd7a
898```
899
900Incompatible changes:
901
902 - All repositories are now directly under the x.runfiles directory
903 in the runfiles tree (previously, external repositories were at
904 x.runfiles/main-repo/external/other-repo. This simplifies
905 handling remote repository runfiles considerably, but will break
906 existing references to external repository runfiles.
907 Furthermore, if a Bazel project does not provide a workspace name
908 in the WORKSPACE file, Bazel will now default to using __main__
909 as the workspace name (instead of "", as previously). The
910 repository's runfiles will appear under x.runfiles/__main__/.
911 - Bazel does not embed protocol buffer-related rules anymore.
912 - It is now an error for a cc rule's includes attribute to point to
913 the workspace root.
914 - Bazel warns if a cc rule's includes attribute points out of
915 third_party.
916 - Removed cc_* attributes: abi / abi_deps. Use select() instead.
917
918New features:
919
920 - select({"//some:condition": None }) is now possible (this "unsets"
921 the attribute).
922
923Important changes:
924
925 - java_import now allows its 'jars' attribute to be empty.
926 - adds crunch_png attribute to android_binary
927 - Replace --java_langtools, --javabuilder_top, --singlejar_top,
928 --genclass_top, and --ijar_top with
929 java_toolchain.{javac,javabuilder,singlejar,genclass,ijar}
930 - External repository correctness fix: adding a new file/directory
931 as a child of a new_local_repository is now noticed.
932 - iOS apps are signed with get-task-allow=1 unless building with -c
933 opt.
934 - Generate debug symbols (-g) is enabled for all dbg builds of
935 objc_ rules.
936 - Bazel's workspace name is now io_bazel. If you are using Bazel's
937 source as an external repository, then you may want to update the
938 name you're referring to it as or you'll begin seeing warnings
939 about name mismatches in your code.
940 - Fixes integer overflow in J2ObjC sources to be Java-compatible.
941 - A FlagPolicy specified via the --invocation_policy flag will now
942 match the current command if any of its commands matches any of
943 the commands the current command inherits from, as opposed to
944 just the current command.
945 - The key for the map to cc_toolchain_suite.toolchains is now a
946 string of the form "cpu|compiler" (previously, it was just "cpu").
947 - Fix interaction between LIPO builds and C++ header modules.
948 - Ctrl-C will now interrupt a download, instead of waiting for it to
949 finish.
950 - Proxy settings can now be specified in http_proxy and https_proxy
951 environment variables (not just HTTP_PROXY and HTTPS_PROXY).
952 - Skylark targets can now read include directories from
953 ObjcProvider.
954 - Expose parameterized aspects to Skylark.
955 - Support alwayslink cc_library dependencies in objc binaries.
956 - Import cc_library dependencies in generated Xcode project.
957
Bazel Release System1aedd1f12016-04-25 09:47:50 +0200958## Release 0.2.2b (2016-04-22)
Bazel Release System951cea22016-04-21 14:10:12 +0200959
960```
961Baseline: 759bbfe
Bazel Release System1aedd1f12016-04-25 09:47:50 +0200962
963Cherry picks:
Bazel Release System951cea22016-04-21 14:10:12 +0200964 + 1250fda: Rollback of commit
965 351475627b9e94e5afdf472cbf465f49c433a25e.
966 + ba8700e: Correctly set up build variables for the correct pic
967 mode for fake_binary rules.
968 + 386f242: Automated [] rollback of commit
969 525fa71b0d6f096e9bfb180f688a4418c4974eb4.
Bazel Release System1aedd1f12016-04-25 09:47:50 +0200970 + 97e5ab0: Fix cc_configure include path for Frameworks on OS X.
971 + a20352e: cc_configure: always add -B/usr/bin to the list of gcc
972 option
973 + 0b26f44: cc_configure: Add piii to the list of supported
974 cpu_value
975 + 3e4e416: cc_configure: uses which on the CC environment variable
976 + aa3dbd3: cc_configure.bzl: strip end of line when looking for
977 the cpu
978 + 810d60a: cc_configure: Add -B to compiler flag too
Bazel Release System951cea22016-04-21 14:10:12 +0200979```
980
Bazel Release System1aedd1f12016-04-25 09:47:50 +0200981Patch release, only includes fixes to C++ auto-configuration.
Bazel Release System951cea22016-04-21 14:10:12 +0200982
Bazel Release System950c1ab2016-03-31 17:18:55 +0200983## Release 0.2.1 (2016-03-21)
984
985```
986Baseline: 19b5675
987```
988
989Incompatible changes:
990
991 - Skylark rules that are available from their own repository will
992 now issue a warning when accessed through @bazel_tools.
993 - Set --legacy_bazel_java_test to off by default. java_test will
994 now have a slightly different behaviour, correctly emitting XML
995 file but, as a downside, it needs correct declaration of the
996 test suite (see https://github.com/bazelbuild/bazel/issues/1017).
997 - Labels in .bzl files in remote repositories will be resolved
998 relative to their repository (instead of the repository the
999 Skylark rule is used in).
1000 - Renamed proto_java_library to java_proto_library. The former
1001 is now deprecated and will print out a warning when used.
1002 - android_sdk now compiles android_jack on the fly from
1003 android_jar, which means android_jar must be a jar and
1004 android_jack is now deprecated. The Jack tools (jack, jill,
1005 resource_extractor) must be specified.
1006 - Any project that depended on the objc_options rule will be
1007 broken. Can be fixed by adding attrs (infoplists,copts) directly
1008 to rules depending on the options.
1009 - .aidl files correctly require import statements for types
1010 defined in the same package and the same android_library.
1011
1012New features:
1013
1014 - Experimental Windows support is available.
1015 - Experimental support for writing remote repository rules in
1016 Skylark is available.
1017 - iOS ipa_post_processor attribute allows for user-defined IPA
1018 edits.
1019 - Adds a to_json method to Skylark structs, providing conversion to
1020 JSON format.
1021 - Native python rule can depend on skylark rule as long as skylark
1022 rule provides 'py' provider.
1023 - When using both --verbose_failures and --sandbox_debug, Bazel
1024 prints instructions how to spawn a debugging shell inside the
1025 sandbox.
1026 - add flag --sandbox_add_path, which takes a list of additional
1027 paths as argument and mount these paths to sandbox.
1028
1029Important changes:
1030
1031 - @androidsdk//:org_apache_http_legacy added for the legacy Apache
1032 classes for android sdk version 23 and above.
1033 - Genrules correctly work when used with bazel run.
1034 - When namespace-sandbox is run with the -D (debug) flag and
1035 inside a terminal, it spawns a shell inside the sandbox to aid in
1036 debugging when the sandboxed command fails.
1037 - Added --artifact to workspace generator for generating workspace
1038 and build file rules from artifact coodrinates.
1039 - Specifying --experimental_android_resource_shrinking on the
1040 command line will enable a resource shrinking pass on
1041 android_binary targets that already use Proguard.
1042 - J2ObjC updated to 1.0.1 release.
1043 - Added "root_symlinks" and "symlinks" parameters to Skylark
1044 runfiles() method.
1045 - You can no longer use objc_binary targets for the xctest_app
1046 attribute of an ios_test rule.
1047 - Enable overriding jsonnet binaries and stdlib for Jsonnet rules.
1048 - mount target of /etc/resolv.conf if it is a symlink.
1049 - Tests that failed to build because execution was halted no longer
1050 print their status.
1051 - Bazel warns if a cc rule's includes attribute contains up-level
1052 references that escape its package.
1053 - Add repository_ctx.download and repository_ctx.download_and_extract
1054 function.
1055
Bazel Release Systemf98290d2016-02-23 13:51:16 +01001056## Release 0.2.0 (2016-02-18)
1057
1058```
1059Baseline: 9e100ac
1060```
1061
1062Incompatible changes:
1063
1064 - ObjC compile actions for J2ObjC-translated code now only has
1065 access to headers from the java deps of the associated original
1066 java rule.
1067 These compile actions no longer takes the compiler options
1068 specified in "copts" attribute on objc_binary/ios_test rules.
1069 J2ObjC dead code removal (enabled through flag
1070 "--j2objc_dead_code_removal") now happens *after* ObjC
1071 compilation.
1072 - maven_jar no longer supports separate artifact_id, group_id, and
1073 verison fields. This information should be provided in the
1074 artifact field,
1075 instead.
1076
1077New features:
1078
1079 - Better support for toolchains that don't have a dynamic linker.
1080 - build_file_content attribute added to new_git_repository,
1081 new_http_archive, and new_local_repository.
1082 - Add support for .tar.bz2 archives to http_archive rules.
1083
1084Important changes:
1085
1086 - The --skyframe flag is no longer available for the build command.
1087 - The --artifacts flag was removed from the dump command.
1088 - The sha256 attribute is now optional (although recommended!) for
1089 remote repository rules.
1090 - Add instrumented file provider support to Skylark rules.
1091 - Add imports attribute to native Python rules.
1092 - Allow overriding -gsplit-dwarf from copts.
1093 - Improved sandbox performance on XFS filesystems.
1094
Bazel Release System00cf25d2016-02-09 18:36:51 +01001095## Release 0.1.5 (2016-02-05)
1096
1097```
1098Baseline: 3a95f35
1099 + 8378cd8: Rollback of commit
1100 a9b84575a32476a5faf991da22b44661d75c19b6.
1101```
1102
1103Incompatible changes:
1104
1105 - Set stamping to false by default (i.e., --nostamp)
1106 - Removed --objc_dump_syms_binary.
1107 - Removes --objc_gcov_binary flag.
1108 - Remove JAVAC "Make" variable
1109 - The startup flag --blaze_cpu is removed,
1110
1111New features:
1112
1113 - A new java test runner that support XML output and test filtering
1114 is supported. It can be used by specifying --nolegacy_bazel_java_test
1115 or by specifying the test_class attribute on a java_test.
1116 - Skylark aspects can now specify configuration fragment
1117 dependencies with fragments and host_fragments like rules can.
1118
1119Important changes:
1120
1121 - Support for downloading remote resources through proxies by
1122 setting HTTP_PROXY (or HTTPS_PROXY).
1123 - Timestamps within Android apks are removed to make apks
1124 deterministic.
1125 - Support aggregation over existing rules in Skylark extensions
1126 through native.rules and native.rule.
1127 - A tools/bazel script in the workspace will be executed
1128 as an opportunity to use a fixed version of Bazel (not
1129 implemented for the homebrew recipe yet).
1130 - --noimplicit_deps and --nohost_deps work correctly for Aspect
1131 attributes.
1132 - JDK-related targets are now available via @local_jdk (instead of
1133 @local-jdk).
1134 - j2objc tools can now be accessed via @bazel_j2objc, not
1135 @bazel-j2objc.
1136 - Repository rules must use names that are valid workspace names.
1137 - [rust] Update to Rust 1.6
1138 - Add support for .tar.xz archives to http_archive rules.
1139 - Make C++ modules compatible with tools using
1140 --compilation_prerequisites_only
1141 - [d] Update to DMD 2.070.0
1142
Bazel Release System446d9922016-01-21 10:59:31 +01001143## Release 0.1.4 (2016-01-15)
1144
1145```
1146Baseline: e933d5e
1147 + 3d796fe: Rollback of commit
1148 ac6ed79e1a3fa6b0ca91657b28e2a35f7e49758c.
1149 + 7a02e5d: Fix installer under OS X
1150 + 848740c: Fix bazel version for debian package
1151 + 7751d43: Add a method for getting the root of a rule workspace
1152 to the Label method
1153```
1154
1155Important changes:
1156
1157 - add loadfiles() query operator, to find skylark files loaded by
1158 targets.
1159 - Added ability to declare and use aspects in Skylark.
1160 - Skylark load statements may now reference .bzl files via build
1161 labels, in addition to paths. In particular, such labels can be
1162 used to reference Skylark files in external repositories; e.g.,
1163 load("@my_external_repo//some_pkg:some_file.bzl", ...).
1164 Path-based loads are now deprecated and may be disabled in the
1165 future. Caveats: Skylark files currently do not respect package
1166 visibility; i.e., all Skylark files are effectively public. Also,
1167 loads may not reference the special //external package.
1168 - Relative paths can now be used for 'path' with
1169 new_local_repository and local_repository.
1170
Bazel Release System1518253e2016-01-11 10:10:19 +01001171## Release 0.1.3 (2016-01-07)
1172
1173```
1174Baseline: 23ad8f6
1175 + de2183d: Only depend on the WORKSPACE file for external files
1176 that are under the external/ directory, i.e. were
1177 created by Bazel.
1178 + f8f855c: Rollback of commit
1179 12bad3af0eade9c4b79d76f9e1c950ad2e3214c2.
1180 + f627562: Stop parsing the WORKSPACE file when a parse error is
1181 detected
1182 + 763f139: Add -fno-canonical-system-headers to CROSSTOOL files so
1183 that gcc doesn't resolve symlinks in .d files, which
1184 would confuse Blaze.
1185 + b95995b: Use openjdk7 as dependency for debian package of jdk7
1186 flavor
1187```
1188
1189New features:
1190
1191 - Skylark macros are now enabled in WORKSPACE file.
1192 - .bazelrc allows workspace-relative imports as "import
1193 %workspace%/path/to/rcfile"
1194 - Evaluate the query expression in a file by passing
1195 --query_file=<file> to query
1196
1197Important changes:
1198
1199 - Remove obsolete --objc_per_proto_includes flag.
1200 - iOS apps and extensions now have launch_storyboard
1201 - Passing multiple JVM options via a single --host_jvm_args flag is
1202 now deprecated. Pass each JVM option behind its own
1203 --host_jvm_args flag.
1204 - Resources defined locally on an android_library rule will respect
1205 the neverlink attribute.
1206 - Update Rust to 1.4
1207 - Fix resource handling for exported android_library rules
1208 - Files in external repositories are now treated as mutable, which
1209 will make the correctness guarantees of using external
1210 repositories stronger (existent), but may cause performance
1211 penalties.
1212
Bazel Release System0d2e4092015-12-04 23:31:41 +01001213## Release 0.1.2 (2015-11-20)
1214
1215```
1216Baseline: ee0ade3
1217 + 1e66ccd: RELNOTES: Symlink dirents of directories containing a
1218 file named
1219 "DONT_FOLLOW_SYMLINKS_WHEN_TRAVERSING_THIS_DIRECTORY_VIA
1220 _A_RECURSIVE_TARGET_PATTERN" will *not* be traversed
1221 for transitive target patterns. The motivation here is
1222 to allow directories that intentionally contain wonky
1223 symlinks (e.g. foo/bar -> foo) to opt out of being
1224 consumed by Blaze. For example, given
1225 + f5773fc: Set the ijar MAX_BUFFER_SIZE to 256 MB
1226```
1227
1228New features:
1229
1230 - java_library now supports the proguard_specs attribute for
1231 passing Proguard configuration up to Android (not Java) binaries.
1232 - http_file can specify "executable" to make the downloaded file
1233 runnable.
1234 - Debian and tar packaging is now supported
1235 (see tools/build_defs/pkg/README.md).
1236 - cpxx_builtin_include_directory specifications allow more
1237 flexibility.
1238 - accept %crosstool_top% in cxx_builtin_include_directory
1239 - android_binary now supports proguard_apply_mapping to re-use a
1240 previously generated proguard mapping.
1241
1242Important changes:
1243
1244 - remove webstatusserver (--use_webstatusserver).
1245 - Add support for objc textual headers, which will not be compiled
1246 when modules are enabled.
1247 - actoolzip, momczip and swiftstdlibtoolzip have all been made into
1248 bash scripts and have been renamed to actoolwrapper, momcwrapper
1249 and swiftstdlibtoolwrapper respectively. The old versions will be
1250 deleted in a later change.
1251 - [rust] Add rust_bench_test and rust_doc_test rules and improve
1252 usability of rust_test tule.
1253 - Java rules now support a resource_strip_prefix attribute that
1254 allows the removal of path prefixes from Java resources.
1255 - [docker_build] incremental loading is default now.
1256 Specify explicitly //package:target.tar (with the .tar extension)
1257 to obtain the full image.
1258 - --ios_signing_cert_name allows specifying a cert for iOS app
1259 signing
1260 - Go rules for Bazel.
1261 - [jsonnet] Update to Jsonnet 0.8.1.
1262 - [jsonnet] Add vars and code_vars attributes to jsonnet_to_json to
1263 allow passing external variables to Jsonnet via --var and
1264 --code_var.
1265 - Adds --override_workspace_root blaze flag to hand-set
1266 workspace_root and mainGroup in xcodeproj.
1267 - Allow dots in package names.
1268 - When used as a forwarding rule (i.e., has no sources),
1269 android_library
1270 will also forward any exported_plugins in its dependencies.
1271 - Add support for Windows-created zip files with non-posix
1272 permissions.
1273 - [jsonnet] Add jsonnet_to_json_test rule for testing Jsonnet code.
1274 - C++ compile actions run in a sandbox now on systems that support
1275 sandboxed execution.
1276 - The names of the clang compilers in the Android NDK crosstool no
1277 longer reference gcc.
1278 - 420 dpi is now a valid density for andoid_binary.densities.
1279 - Bazel does strict validation of include files now to ensure
1280 correct incremental builds. If you see compilation errors when
1281 building C++ code, please make sure that you explicitly declare
1282 all header files in the srcs or hdrs attribute of your cc_*
1283 targets and that your cc_* targets have correct "deps" on
1284 cc_library's that they use.
1285 - [jsonnet] Fix jsonnet_to_json rule to read code_vars from
1286 code_vars instead of vars.
1287 - Tests, genrules, and Skylark actions without the
1288 "requires-network" tag will no longer be able to access the
1289 network.
1290 - C++ libraries no longer need includes = ["."] (or similar copts)
1291 to include paths relative to a remote repository's root.
1292 - Support exports attribute for android_library
1293 - Symlink dirents of directories containing a file named
1294 "DONT_FOLLOW_SYMLINKS_WHEN_TRAVERSING_THIS_DIRECTORY_VIA_A_RECURSI
1295 VE_TARGET_PATTERN" will *not* be traversed for transitive target
1296 patterns. The motivation here is to allow directories that
1297 intentionally contain wonky symlinks (e.g. foo/bar -> foo) to opt
1298 out of being consumed by Blaze.
1299
Bazel Release Systemfa35b182015-10-14 12:11:51 -04001300## Release 0.1.1 (2015-10-05)
1301
1302```
1303Baseline: 22616ae
1304 + 1ef338f: Rollback of "Propagates cc_library linkopts attribute
1305 to dependent objc_libraries.": breaks certain
1306 objc_binary build targets.
1307 + 5fb1073: Reintroduce an inconsistency check (albeit, in a weaker
1308 form) removed by a previous change that was trying to
1309 optimize away a filesystem call.
1310 + 6d00468b2eb976866cfb814d562e0d53a580a46f: Add IdlClass to the embedded default android tools
1311 repository and rearrange BuildJar's JarHelper so that
1312 it too can be embedded.
1313 + a5199039934a2e399a7201adc0d74e2f2d2b0ff3: Fixes Android integration tests by wiring up idlclass
1314 rules in integration environment.
1315```
1316
1317Incompatible changes:
1318
1319 - Bazel requires JDK 8 to run.
1320 - Attribute "copts" is removed from j2objc_library.
1321
1322New features:
1323
1324 - a cc_binary rule may list '.s' and '.asm' files in the srcs
1325 - Support for build with libsass.
1326 - labels in "linkopts" may match any label in either "deps" or
1327 "srcs" to be considered valid.
1328 - Maven servers that require username & password authentication are
1329 now supported (see maven_server documentation).
1330
1331Important changes:
1332
1333 - Support empty plist files
1334 - The <compatible-screens> section of the AndroidManifest.xml will
1335 not be overwritten if it already contains a <screen> tag for each
1336 of the densities specified on the android_binary rule.
1337 - Add Jsonnet rules to Bazel
1338 - Remove deprecated xcode_options flag.
1339 - Workspace names are now restricted to being in their base
1340 directory
1341 (that is, the names cannot contain up-level references or /./).
1342 - j2objc_library on Bazel now transpiles transitive proto_library
1343 dependencies. (Note that java_* rules in Bazel do not yet support
1344 protos; currently they ignore proto dependencies.)
1345 - new_http_archive can specify a root directory.
1346 - Adds support for dylibs on devices for Xcode 7.
1347 - [d] d_docs rules now depend on a d_binary, a d_library or
1348 d_source_library.
1349 - [docker] docker_build now set the permission to 0555 to files
1350 added to the layer, use `mode = "0644"` to use the legacy behavior.
1351 - android_binary now has a main_dex_proguard_specs attribute to
1352 specify which classes should be in the main dex.
1353 - [rust] Add rust_docs rule for generating rustdoc.
Bazel Release System79e40ac2015-09-08 23:38:00 +02001354## Release 0.1.0 (2015-09-08)
1355
1356```
1357Baseline: a0881e8
1358 + 87374e6: Make android_binary use a constant, hard-coded,
1359 checked-in debug key.
1360 + 2984f1c: Adds some safety checks in the Bazel installer
1361 + 4e21d90: Remove BUILD.glob and incorporate the necessary
1362 filegroups into the android_{ndk,sdk}_repository rules
1363 themselves.
1364 + 1ee813e: Fix Groovy rules to work with sandboxing
1365 + 8741978: Add initial D rules to Bazel.
1366 + 2c2e70d: Fix the installer and fixing the package shiped into
1367 binary version of Bazel.
1368```
1369
1370Initial release.
Bazel Release System6712cac2017-02-01 19:53:37 +01001371
Bazel Release System8d635fc2017-03-16 13:18:30 +01001372
Bazel Release Systema3e26832017-05-26 14:11:07 +02001373
Bazel Release System63222de2017-06-06 11:32:04 +02001374