xref: /aosp_15_r20/external/tensorflow/RELEASE.md (revision b6fb3261f9314811a0f4371741dbb8839866f948)
1*b6fb3261SAndroid Build Coastguard Worker# Release 2.11.0
2*b6fb3261SAndroid Build Coastguard Worker
3*b6fb3261SAndroid Build Coastguard Worker<INSERT SMALL BLURB ABOUT RELEASE FOCUS AREA AND POTENTIAL TOOLCHAIN CHANGES>
4*b6fb3261SAndroid Build Coastguard Worker
5*b6fb3261SAndroid Build Coastguard Worker* `tensorflow::StatusOr::ConsumeValueOrDie`, deprecated in TF 2.10 has been
6*b6fb3261SAndroid Build Coastguard Worker  removed.
7*b6fb3261SAndroid Build Coastguard Worker
8*b6fb3261SAndroid Build Coastguard Worker* <DOCUMENT BREAKING CHANGES HERE>
9*b6fb3261SAndroid Build Coastguard Worker* <THIS SECTION SHOULD CONTAIN API, ABI AND BEHAVIORAL BREAKING CHANGES>
10*b6fb3261SAndroid Build Coastguard Worker
11*b6fb3261SAndroid Build Coastguard Worker# Known Caveats
12*b6fb3261SAndroid Build Coastguard Worker
13*b6fb3261SAndroid Build Coastguard Worker* <CAVEATS REGARDING THE RELEASE (BUT NOT BREAKING CHANGES).>
14*b6fb3261SAndroid Build Coastguard Worker* <ADDING/BUMPING DEPENDENCIES SHOULD GO HERE>
15*b6fb3261SAndroid Build Coastguard Worker* <KNOWN LACK OF SUPPORT ON SOME PLATFORM, SHOULD GO HERE>
16*b6fb3261SAndroid Build Coastguard Worker
17*b6fb3261SAndroid Build Coastguard Worker# Major Features and Improvements
18*b6fb3261SAndroid Build Coastguard Worker
19*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`:
20*b6fb3261SAndroid Build Coastguard Worker
21*b6fb3261SAndroid Build Coastguard Worker    *   New operations supported:
22*b6fb3261SAndroid Build Coastguard Worker          * tf.unsortedsegmentmin op is supported.
23*b6fb3261SAndroid Build Coastguard Worker          * tf.atan2 op is supported.
24*b6fb3261SAndroid Build Coastguard Worker    *   Updates to existing operations:
25*b6fb3261SAndroid Build Coastguard Worker          * tfl.mul now supports complex32 inputs.
26*b6fb3261SAndroid Build Coastguard Worker
27*b6fb3261SAndroid Build Coastguard Worker# Bug Fixes and Other Changes
28*b6fb3261SAndroid Build Coastguard Worker
29*b6fb3261SAndroid Build Coastguard Worker*   `tf.image`
30*b6fb3261SAndroid Build Coastguard Worker    *   Added an optional parameter `return_index_map` to `tf.image.ssim` which
31*b6fb3261SAndroid Build Coastguard Worker        causes the returned value to be the local SSIM map instead of the global
32*b6fb3261SAndroid Build Coastguard Worker        mean.
33*b6fb3261SAndroid Build Coastguard Worker
34*b6fb3261SAndroid Build Coastguard Worker# Thanks to our Contributors
35*b6fb3261SAndroid Build Coastguard Worker
36*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
37*b6fb3261SAndroid Build Coastguard Worker
38*b6fb3261SAndroid Build Coastguard Worker<INSERT>, <NAME>, <HERE>, <USING>, <GITHUB>, <HANDLE>
39*b6fb3261SAndroid Build Coastguard Worker
40*b6fb3261SAndroid Build Coastguard Worker# Release 2.10.0
41*b6fb3261SAndroid Build Coastguard Worker
42*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes
43*b6fb3261SAndroid Build Coastguard Worker
44*b6fb3261SAndroid Build Coastguard Worker*   Causal attention in `keras.layers.Attention` and `keras.layers.AdditiveAttention` is now specified in the `call()` method via the `use_causal_mask` argument (rather than in the constructor), for consistency with other layers.
45*b6fb3261SAndroid Build Coastguard Worker*   Some files in `tensorflow/python/training` have been moved to `tensorflow/python/tracking` and `tensorflow/python/checkpoint`. Please update your imports accordingly, the old files will be removed in Release  2.11.
46*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras.optimizers.experimental.Optimizer` will graduate in Release 2.11, which means `tf.keras.optimizers.Optimizer` will be an alias of `tf.keras.optimizers.experimental.Optimizer`. The current `tf.keras.optimizers.Optimizer` will continue to be supported as `tf.keras.optimizers.legacy.Optimizer`, e.g., `tf.keras.optimizers.legacy.Adam`. Most users won't be affected by this change, but please check the [API doc](https://www.tensorflow.org/api_docs/python/tf/keras/optimizers/experimental) if any API used in your workflow is changed or deprecated, and make adaptions. If you decide to keep using the old optimizer, please explicitly change your optimizer to `tf.keras.optimizers.legacy.Optimizer`.
47*b6fb3261SAndroid Build Coastguard Worker*   RNG behavior change for `tf.keras.initializers`. Keras initializers will now use stateless random ops to generate random numbers.
48*b6fb3261SAndroid Build Coastguard Worker*   Both seeded and unseeded initializers will always generate the same  values every time they are called (for a given variable shape). For unseeded initializers (`seed=None`), a random seed will be created and assigned at initializer creation  (different initializer instances get different seeds).
49*b6fb3261SAndroid Build Coastguard Worker*   An unseeded initializer will raise a warning if it is reused (called) multiple times. This is because it would produce the same values each time, which may not be intended.
50*b6fb3261SAndroid Build Coastguard Worker
51*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
52*b6fb3261SAndroid Build Coastguard Worker
53*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`:
54*b6fb3261SAndroid Build Coastguard Worker
55*b6fb3261SAndroid Build Coastguard Worker    *   New operations supported:
56*b6fb3261SAndroid Build Coastguard Worker          * tflite SelectV2 now supports 5D.
57*b6fb3261SAndroid Build Coastguard Worker          * tf.einsum is supported with multiple unknown shapes.
58*b6fb3261SAndroid Build Coastguard Worker          * tf.unsortedsegmentprod op is supported.
59*b6fb3261SAndroid Build Coastguard Worker          * tf.unsortedsegmentmax op is supported.
60*b6fb3261SAndroid Build Coastguard Worker          * tf.unsortedsegmentsum op is supported.
61*b6fb3261SAndroid Build Coastguard Worker    *   Updates to existing operations:
62*b6fb3261SAndroid Build Coastguard Worker          * tfl.scatter_nd now supports I1 for update arg.
63*b6fb3261SAndroid Build Coastguard Worker    *   Upgrade Flatbuffers v2.0.5 from v1.12.0
64*b6fb3261SAndroid Build Coastguard Worker    *   Better supporting `tf_type.variant` type in flatbuffer import/export.
65*b6fb3261SAndroid Build Coastguard Worker
66*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
67*b6fb3261SAndroid Build Coastguard Worker
68*b6fb3261SAndroid Build Coastguard Worker    *   `EinsumDense` layer moved from experimental to core. Its import path  moved from `tf.keras.layers.experimental.EinsumDense` to `tf.keras.layers.EinsumDense`.
69*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.keras.utils.audio_dataset_from_directory` utility to easily generate audio classification datasets from directories of `.wav` files.
70*b6fb3261SAndroid Build Coastguard Worker    *   Added `subset="both"` support in `tf.keras.utils.image_dataset_from_directory`,`tf.keras.utils.text_dataset_from_directory`, and `audio_dataset_from_directory`, to be used with the `validation_split` argument, for returning both dataset splits at once, as a tuple.
71*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.keras.utils.split_dataset` utility to split a `Dataset` object or a list/tuple of arrays into two `Dataset` objects (e.g. train/test).
72*b6fb3261SAndroid Build Coastguard Worker    *   Added step granularity to `BackupAndRestore` callback for handling distributed training failures & restarts. The training state can now be restored at the exact epoch and step at which it was previously saved before failing.
73*b6fb3261SAndroid Build Coastguard Worker    *   Added [`tf.keras.dtensor.experimental.optimizers.AdamW`](https://www.tensorflow.org/api_docs/python/tf/keras/dtensor/experimental/optimizers/AdamW). This optimizer is similar as the existing [`keras.optimizers.experimental.AdamW`](https://www.tensorflow.org/api_docs/python/tf/keras/optimizers/experimental/AdamW), and  works in the DTensor training use case.
74*b6fb3261SAndroid Build Coastguard Worker    *   Improved masking support for [tf.keras.layers.MultiHeadAttention](https://www.tensorflow.org/api_docs/python/tf/keras/layers/MultiHeadAttention).
75*b6fb3261SAndroid Build Coastguard Worker    *   Implicit masks for `query`, `key` and `value` inputs will automatically be used to compute a correct attention mask for the layer. These padding masks will be combined with any `attention_mask` passed in directly when calling the layer. This can be used with [tf.keras.layers.Embedding](https://www.tensorflow.org/api_docs/python/tf/keras/layers/Embedding) with `mask_zero=True` to automatically infer a correct padding mask.
76*b6fb3261SAndroid Build Coastguard Worker    *   Added a `use_causal_mask` call time arugment to the layer. Passing `use_causal_mask=True` will compute a causal attention mask, and optionally combine it with any `attention_mask` passed in directly when calling the layer.
77*b6fb3261SAndroid Build Coastguard Worker    *   Added `ignore_class` argument in the loss `SparseCategoricalCrossentropy` and metrics `IoU` and `MeanIoU`, to specify a class index to be ignored during loss/metric computation (e.g. a background/void class).
78*b6fb3261SAndroid Build Coastguard Worker    *   Added [`tf.keras.models.experimental.SharpnessAwareMinimization`](https://www.tensorflow.org/api_docs/python/tf/keras/models/experimental/SharpnessAwareMinimization). This class implements the sharpness-aware minimization technique, which boosts model performance on various tasks, e.g., ResNet on image classification.
79*b6fb3261SAndroid Build Coastguard Worker
80*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`:
81*b6fb3261SAndroid Build Coastguard Worker
82*b6fb3261SAndroid Build Coastguard Worker    *   Added support for cross-trainer data caching in tf.data service. This saves computation resources when concurrent training jobs train from the same dataset. See
83*b6fb3261SAndroid Build Coastguard Worker        https://www.tensorflow.org/api_docs/python/tf/data/experimental/service#sharing_tfdata_service_with_concurrent_trainers for more details.
84*b6fb3261SAndroid Build Coastguard Worker    *   Added `dataset_id` to `tf.data.experimental.service.register_dataset`. If provided, tf.data service will use the provided ID for the dataset. If the dataset ID already exists, no new dataset will be registered. This is useful if multiple training jobs need to use the same dataset for training. In this case, users should call `register_dataset` with the same `dataset_id`.
85*b6fb3261SAndroid Build Coastguard Worker    *   Added a new field, `inject_prefetch`, to `tf.data.experimental.OptimizationOptions`. If it is set to `True`, tf.data will now automatically add a `prefetch` transformation to datasets that end in synchronous transformations. This enables data generation to be overlapped with  data consumption. This may cause a small increase in memory usage due to buffering. To enable this behavior, set `inject_prefetch=True` in `tf.data.experimental.OptimizationOptions`.
86*b6fb3261SAndroid Build Coastguard Worker    *   Added a new value to `tf.data.Options.autotune.autotune_algorithm`: STAGE_BASED. If the autotune algorithm is set to STAGE_BASED, then it runs a new algorithm that can get the same performance with lower CPU/memory usage.
87*b6fb3261SAndroid Build Coastguard Worker    *   Added [`tf.data.experimental.from_list`](https://www.tensorflow.org/api_docs/python/tf/data/experimental/from_list), a new API for creating `Dataset`s from lists of elements.
88*b6fb3261SAndroid Build Coastguard Worker
89*b6fb3261SAndroid Build Coastguard Worker*   `tf.distribute`:
90*b6fb3261SAndroid Build Coastguard Worker
91*b6fb3261SAndroid Build Coastguard Worker    *   Added [`tf.distribute.experimental.PreemptionCheckpointHandler`](https://www.tensorflow.org/api_docs/python/tf/distribute/experimental/PreemptionCheckpointHandler) to handle worker preemption/maintenance and cluster-wise consistent error reporting for `tf.distribute.MultiWorkerMirroredStrategy`. Specifically, for the type of interruption with advance notice, it automatically saves a checkpoint, exits the program without raising an unrecoverable error, and restores the progress when training restarts.
92*b6fb3261SAndroid Build Coastguard Worker
93*b6fb3261SAndroid Build Coastguard Worker*   `tf.math`:
94*b6fb3261SAndroid Build Coastguard Worker
95*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.math.approx_max_k` and `tf.math.approx_min_k` which are the optimized alternatives to `tf.math.top_k` on TPU. The performance difference range from 8 to 100 times depending on the size of k. When running on CPU and GPU, a non-optimized XLA kernel is used.
96*b6fb3261SAndroid Build Coastguard Worker
97*b6fb3261SAndroid Build Coastguard Worker*   `tf.train`:
98*b6fb3261SAndroid Build Coastguard Worker
99*b6fb3261SAndroid Build Coastguard Worker    *  Added `tf.train.TrackableView` which allows users to inspect the TensorFlow Trackable object (e.g. `tf.Module`, Keras Layers and models).
100*b6fb3261SAndroid Build Coastguard Worker    *  Added `tf.train.CheckpointView` which allows users to inspect SavedModel objects and Checkpoint objects.
101*b6fb3261SAndroid Build Coastguard Worker
102*b6fb3261SAndroid Build Coastguard Worker*   `tf.vectorized_map`:
103*b6fb3261SAndroid Build Coastguard Worker
104*b6fb3261SAndroid Build Coastguard Worker    *   Added an optional parameter: `warn`. This parameter controls whether or  not warnings will be printed when operations in the provided `fn` fall back to a while loop.
105*b6fb3261SAndroid Build Coastguard Worker
106*b6fb3261SAndroid Build Coastguard Worker*   XLA:
107*b6fb3261SAndroid Build Coastguard Worker    *   MWMS is now compilable with XLA.
108*b6fb3261SAndroid Build Coastguard Worker
109*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
110*b6fb3261SAndroid Build Coastguard Worker
111*b6fb3261SAndroid Build Coastguard Worker*  New argument `experimental_device_ordinal` in `LogicalDeviceConfiguration` to control the order of logical devices. (GPU only)
112*b6fb3261SAndroid Build Coastguard Worker
113*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
114*b6fb3261SAndroid Build Coastguard Worker
115*b6fb3261SAndroid Build Coastguard Worker    *   Changed the TensorBoard tag names produced by the `tf.keras.callbacks.TensorBoard` callback, so that summaries logged automatically for model weights now include either a `/histogram` or `/image` suffix in their tag names, in order to prevent tag name collisions across summary types.
116*b6fb3261SAndroid Build Coastguard Worker
117*b6fb3261SAndroid Build Coastguard Worker*   When running on GPU (with cuDNN version 7.6.3 or later),`tf.nn.depthwise_conv2d` backprop to `filter` (and therefore also `tf.keras.layers.DepthwiseConv2D`) now operate deterministically (and `tf.errors.UnimplementedError` is no longer thrown) when op-determinism has been enabled via `tf.config.experimental.enable_op_determinism`. This closes
118*b6fb3261SAndroid Build Coastguard Worker    issue [47174](https://github.com/tensorflow/tensorflow/issues/47174).
119*b6fb3261SAndroid Build Coastguard Worker
120*b6fb3261SAndroid Build Coastguard Worker* `tf.random`
121*b6fb3261SAndroid Build Coastguard Worker    * Added `tf.random.experimental.stateless_shuffle`, a stateless version of `tf.random.shuffle`.
122*b6fb3261SAndroid Build Coastguard Worker
123*b6fb3261SAndroid Build Coastguard Worker## Deprecations
124*b6fb3261SAndroid Build Coastguard Worker
125*b6fb3261SAndroid Build Coastguard Worker*   The C++ `tensorflow::Code` and `tensorflow::Status` will become aliases of respectively `absl::StatusCode` and `absl::Status` in some future release.
126*b6fb3261SAndroid Build Coastguard Worker    *   Use `tensorflow::OkStatus()` instead of `tensorflow::Status::OK()`.
127*b6fb3261SAndroid Build Coastguard Worker    *   Stop constructing `Status` objects from `tensorflow::error::Code`.
128*b6fb3261SAndroid Build Coastguard Worker    *   One MUST NOT access `tensorflow::errors::Code` fields. Accessing
129*b6fb3261SAndroid Build Coastguard Worker        `tensorflow::error::Code` fields is fine.
130*b6fb3261SAndroid Build Coastguard Worker        *   Use the constructors such as `tensorflow::errors:InvalidArgument` to create status using an error code without accessing it.
131*b6fb3261SAndroid Build Coastguard Worker        *   Use the free functions such as `tensorflow::errors::IsInvalidArgument` if needed.
132*b6fb3261SAndroid Build Coastguard Worker        *   In the last resort, use e.g. `static_cast<tensorflow::errors::Code>(error::Code::INVALID_ARGUMENT)` or `static_cast<int>(code)` for comparisons.
133*b6fb3261SAndroid Build Coastguard Worker*   `tensorflow::StatusOr` will also become in the future alias to `absl::StatusOr`, so use `StatusOr::value` instead of `StatusOr::ConsumeValueOrDie`.
134*b6fb3261SAndroid Build Coastguard Worker
135*b6fb3261SAndroid Build Coastguard Worker
136*b6fb3261SAndroid Build Coastguard Worker
137*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
138*b6fb3261SAndroid Build Coastguard Worker
139*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
140*b6fb3261SAndroid Build Coastguard Worker
141*b6fb3261SAndroid Build Coastguard WorkerAbolfazl Shahbazi, Adam Lanicek, Amin Benarieb, andreii, Andrew Fitzgibbon, Andrew Goodbody, angerson, Ashiq Imran, Aurélien Geron, Banikumar Maiti (Intel Aipg), Ben Barsdell, Ben Mares, bhack, Bhavani Subramanian, Bill Schnurr, Byungsoo Oh, Chandra Sr Potula, Chengji Yao, Chris Carpita, Christopher Bate, chunduriv, Cliff Woolley, Cliffs Dover, Cloud Han, Code-Review-Doctor, DEKHTIARJonathan, Deven Desai, Djacon, Duncan Riach, fedotoff, fo40225, Frederic Bastien, gadagashwini, Gauri1 Deshpande, guozhong.zhuang, Hui Peng, James Gerity, Jason Furmanek, Jonathan Dekhtiar, Jueon Park, Kaixi Hou, Kanvi Khanna, Keith Smiley, Koan-Sin Tan, Kulin Seth, kushanam, Learning-To-Play, Li-Wen Chang, lipracer, liuyuanqiang, Louis Sugy, Lucas David, Lukas Geiger, Mahmoud Abuzaina, Marius Brehler, Maxiwell S. Garcia, mdfaijul, Meenakshi Venkataraman, Michal Szutenberg, Michele Di Giorgio, Mickaël Salamin, Nathan John Sircombe, Nathan Luehr, Neil Girdhar, Nils Reichardt, Nishidha Panpaliya, Nobuo Tsukamoto, Om Thakkar, Patrice Vignola, Philipp Hack, Pooya Jannaty, Prianka Liz Kariat, pshiko, Rajeshwar Reddy T, rdl4199, Rohit Santhanam, Rsanthanam-Amd, Sachin Muradi, Saoirse Stewart, Serge Panev, Shu Wang, Srinivasan Narayanamoorthy, Stella Stamenova, Stephan Hartmann, Sunita Nadampalli, synandi, Tamas Bela Feher, Tao Xu, Thibaut Goetghebuer-Planchon, Trevor Morris, Xiaoming (Jason) Cui, Yimei Sun, Yong Tang, Yuanqiang Liu, Yulv-Git, Zhoulong Jiang, ZihengJiang
142*b6fb3261SAndroid Build Coastguard Worker
143*b6fb3261SAndroid Build Coastguard Worker# Release 2.9.1
144*b6fb3261SAndroid Build Coastguard Worker
145*b6fb3261SAndroid Build Coastguard WorkerAdd an upper bound for `protobuf` in `setup.py` since `protobuf` after version 3.20 is currently incompatible with TensorFlow. See https://github.com/tensorflow/tensorflow/issues/53234, https://github.com/protocolbuffers/protobuf/issues/9954 and https://github.com/tensorflow/tensorflow/issues/56077.
146*b6fb3261SAndroid Build Coastguard Worker
147*b6fb3261SAndroid Build Coastguard Worker# Release 2.8.2
148*b6fb3261SAndroid Build Coastguard Worker
149*b6fb3261SAndroid Build Coastguard WorkerAdd an upper bound for `protobuf` in `setup.py` since `protobuf` after version 3.20 is currently incompatible with TensorFlow. See https://github.com/tensorflow/tensorflow/issues/53234, https://github.com/protocolbuffers/protobuf/issues/9954 and https://github.com/tensorflow/tensorflow/issues/56077.
150*b6fb3261SAndroid Build Coastguard Worker
151*b6fb3261SAndroid Build Coastguard Worker# Release 2.7.3
152*b6fb3261SAndroid Build Coastguard Worker
153*b6fb3261SAndroid Build Coastguard WorkerAdd an upper bound for `protobuf` in `setup.py` since `protobuf` after version 3.20 is currently incompatible with TensorFlow. See https://github.com/tensorflow/tensorflow/issues/53234, https://github.com/protocolbuffers/protobuf/issues/9954 and https://github.com/tensorflow/tensorflow/issues/56077.
154*b6fb3261SAndroid Build Coastguard Worker
155*b6fb3261SAndroid Build Coastguard Worker# Release 2.6.5
156*b6fb3261SAndroid Build Coastguard Worker
157*b6fb3261SAndroid Build Coastguard WorkerAdd an upper bound for `protobuf` in `setup.py` since `protobuf` after version 3.20 is currently incompatible with TensorFlow. See https://github.com/tensorflow/tensorflow/issues/53234, https://github.com/protocolbuffers/protobuf/issues/9954 and https://github.com/tensorflow/tensorflow/issues/56077.
158*b6fb3261SAndroid Build Coastguard Worker
159*b6fb3261SAndroid Build Coastguard Worker# Release 2.9.0
160*b6fb3261SAndroid Build Coastguard Worker
161*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes
162*b6fb3261SAndroid Build Coastguard Worker
163*b6fb3261SAndroid Build Coastguard Worker*   Due to security issues in TF 2.8, all boosted trees code has now been removed (after being deprecated in TF 2.8). Users should switch to [TensorFlow Decision Forests](https://github.com/tensorflow/decision-forests).
164*b6fb3261SAndroid Build Coastguard Worker*   Build, Compilation and Packaging
165*b6fb3261SAndroid Build Coastguard Worker    * TensorFlow is now compiled with `_GLIBCXX_USE_CXX11_ABI=1`. Downstream projects that encounter `std::__cxx11` or `[abi:cxx11]` linker errors will need to adopt this compiler option. See [the GNU C++ Library docs on Dual ABI](https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html).
166*b6fb3261SAndroid Build Coastguard Worker    * TensorFlow Python wheels now specifically conform to [manylinux2014](https://peps.python.org/pep-0599/), an upgrade from manylinux2010. The minimum Pip version supporting manylinux2014 is Pip 19.3 (see [pypa/manylinux](https://github.com/pypa/manylinux). This change may affect you if you have been using TensorFlow on a very old platform equivalent to CentOS 6, as manylinux2014 targets CentOS 7 as a compatibility base. Note that TensorFlow does not officially support either platform.
167*b6fb3261SAndroid Build Coastguard Worker    * Discussion for these changes can be found on SIG Build's [TensorFlow Community Forum thread](https://discuss.tensorflow.org/t/tensorflow-linux-wheels-are-being-upgraded-to-manylinux2014/8339)
168*b6fb3261SAndroid Build Coastguard Worker*   The `tf.keras.mixed_precision.experimental` API has been removed. The non-experimental symbols under `tf.keras.mixed_precision` have been available since TensorFlow 2.4 and should be used instead.
169*b6fb3261SAndroid Build Coastguard Worker    * The non-experimental API has some minor differences from the experimental API. In most cases, you only need to make three minor changes:
170*b6fb3261SAndroid Build Coastguard Worker      * Remove the word "experimental" from `tf.keras.mixed_precision` symbols. E.g., replace `tf.keras.mixed_precision.experimental.global_policy` with `tf.keras.mixed_precision.global_policy`.
171*b6fb3261SAndroid Build Coastguard Worker      * Replace `tf.keras.mixed_precision.experimental.set_policy` with `tf.keras.mixed_precision.set_global_policy`. The experimental symbol `set_policy` was renamed to `set_global_policy` in the non-experimental API.
172*b6fb3261SAndroid Build Coastguard Worker      * Replace `LossScaleOptimizer(opt, "dynamic")` with `LossScaleOptimizer(opt)`. If you pass anything other than `"dynamic"` to the second argument, see (1) of the next section.
173*b6fb3261SAndroid Build Coastguard Worker    * In the following rare cases, you need to make more changes when switching to the non-experimental API:
174*b6fb3261SAndroid Build Coastguard Worker      * If you passed anything other than `"dynamic"` to the `loss_scale` argument (the second argument) of `LossScaleOptimizer`:
175*b6fb3261SAndroid Build Coastguard Worker          * The LossScaleOptimizer constructor takes in different arguments. See the [TF 2.7 documentation of tf.keras.mixed_precision.experimental.LossScaleOptimizer](https://www.tensorflow.org/versions/r2.7/api_docs/python/tf/keras/mixed_precision/experimental/LossScaleOptimizer) for details on the differences, which has examples on how to convert to the non-experimental LossScaleOptimizer.
176*b6fb3261SAndroid Build Coastguard Worker      * If you passed a value to the `loss_scale` argument (the second argument) of `Policy`:
177*b6fb3261SAndroid Build Coastguard Worker          * The experimental version of `Policy` optionally took in a `tf.compat.v1.mixed_precision.LossScale` in the constructor, which defaulted to a dynamic loss scale for the `"mixed_float16"` policy and no loss scale for other policies. In `Model.compile`, if the model's policy had a loss scale, the optimizer would be wrapped with a `LossScaleOptimizer`. With the non-experimental `Policy`, there is no loss scale associated with the `Policy`, and `Model.compile` wraps the optimizer with a `LossScaleOptimizer` if and only if the policy is a `"mixed_float16"` policy. If you previously passed a `LossScale` to the experimental `Policy`, consider just removing it, as the default loss scaling behavior is usually what you want. If you really want to customize the loss scaling behavior, you can wrap your optimizer with a `LossScaleOptimizer` before passing it to `Model.compile`.
178*b6fb3261SAndroid Build Coastguard Worker      * If you use the very rarely-used function `tf.keras.mixed_precision.experimental.get_layer_policy`:
179*b6fb3261SAndroid Build Coastguard Worker          * Replace `tf.keras.mixed_precision.experimental.get_layer_policy(layer)` with `layer.dtype_policy`.
180*b6fb3261SAndroid Build Coastguard Worker* `tf.mixed_precision.experimental.LossScale` and its subclasses have been removed from the TF2 namespace. This symbols were very rarely used and were only useful in TF2 for use in the now-removed `tf.keras.mixed_precision.experimental` API. The symbols are still available under `tf.compat.v1.mixed_precision`.
181*b6fb3261SAndroid Build Coastguard Worker* The `experimental_relax_shapes` heuristic for `tf.function` has been deprecated and replaced with `reduce_retracing` which encompasses broader heuristics to reduce the number of retraces (see below)
182*b6fb3261SAndroid Build Coastguard Worker
183*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
184*b6fb3261SAndroid Build Coastguard Worker
185*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
186*b6fb3261SAndroid Build Coastguard Worker
187*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.keras.applications.resnet_rs` models. This includes the
188*b6fb3261SAndroid Build Coastguard Worker        `ResNetRS50`, `ResNetRS101`, `ResNetRS152`, `ResNetRS200`,
189*b6fb3261SAndroid Build Coastguard Worker        `ResNetRS270`, `ResNetRS350` and `ResNetRS420` model architectures. The
190*b6fb3261SAndroid Build Coastguard Worker        ResNetRS models are based on the architecture described in
191*b6fb3261SAndroid Build Coastguard Worker        [Revisiting ResNets: Improved Training and Scaling Strategies](https://arxiv.org/pdf/2103.07579.pdf)
192*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.keras.optimizers.experimental.Optimizer`. The reworked
193*b6fb3261SAndroid Build Coastguard Worker        optimizer gives more control over different phases of optimizer calls,
194*b6fb3261SAndroid Build Coastguard Worker        and is easier to customize. We provide Adam, SGD, Adadelta, AdaGrad and
195*b6fb3261SAndroid Build Coastguard Worker        RMSprop optimizers based on
196*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.optimizers.experimental.Optimizer`. Generally the new
197*b6fb3261SAndroid Build Coastguard Worker        optimizers work in the same way as the old ones, but support new
198*b6fb3261SAndroid Build Coastguard Worker        constructor arguments. In the future, the symbols
199*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.optimizers.Optimizer`/`Adam`/etc will point to the new
200*b6fb3261SAndroid Build Coastguard Worker        optimizers, and the previous generation of optimizers will be moved to
201*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.optimizers.legacy.Optimizer`/`Adam`/etc.
202*b6fb3261SAndroid Build Coastguard Worker    *   Added L2 unit normalization layer `tf.keras.layers.UnitNormalization`.
203*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.keras.regularizers.OrthogonalRegularizer`, a new regularizer
204*b6fb3261SAndroid Build Coastguard Worker        that encourages orthogonality between the rows (or columns) or a weight
205*b6fb3261SAndroid Build Coastguard Worker        matrix.
206*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.keras.layers.RandomBrightness` layer for image preprocessing.
207*b6fb3261SAndroid Build Coastguard Worker    *   Added APIs for switching between interactive logging and absl logging.
208*b6fb3261SAndroid Build Coastguard Worker        By default, Keras always writes the logs to stdout. However, this is not
209*b6fb3261SAndroid Build Coastguard Worker        optimal in a non-interactive environment, where you don't have access to
210*b6fb3261SAndroid Build Coastguard Worker        stdout, but can only view the logs. You can use
211*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.utils.disable_interactive_logging()` to write the logs to ABSL
212*b6fb3261SAndroid Build Coastguard Worker        logging. You can also use `tf.keras.utils.enable_interactive_logging()`
213*b6fb3261SAndroid Build Coastguard Worker        to change it back to stdout, or
214*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.utils.is_interactive_logging_enabled()` to check if
215*b6fb3261SAndroid Build Coastguard Worker        interactive logging is enabled.
216*b6fb3261SAndroid Build Coastguard Worker    *   Changed default value for the `verbose` argument of `Model.evaluate()`
217*b6fb3261SAndroid Build Coastguard Worker        and `Model.predict()` to `"auto"`, which defaults to `verbose=1` for
218*b6fb3261SAndroid Build Coastguard Worker        most cases and defaults to `verbose=2` when used with
219*b6fb3261SAndroid Build Coastguard Worker        `ParameterServerStrategy` or with interactive logging disabled.
220*b6fb3261SAndroid Build Coastguard Worker    *   Argument `jit_compile` in `Model.compile()` now applies to
221*b6fb3261SAndroid Build Coastguard Worker        `Model.evaluate()` and `Model.predict()`. Setting `jit_compile=True` in
222*b6fb3261SAndroid Build Coastguard Worker        `compile()` compiles the model's training, evaluation, and inference
223*b6fb3261SAndroid Build Coastguard Worker        steps to [XLA](https://www.tensorflow.org/xla). Note that
224*b6fb3261SAndroid Build Coastguard Worker        `jit_compile=True` may not necessarily work for all models.
225*b6fb3261SAndroid Build Coastguard Worker    *   Added DTensor-related Keras APIs under `tf.keras.dtensor` namespace. The
226*b6fb3261SAndroid Build Coastguard Worker        APIs are still classified as experimental. You are welcome to try it
227*b6fb3261SAndroid Build Coastguard Worker        out. Please check the tutorial and guide on https://www.tensorflow.org/
228*b6fb3261SAndroid Build Coastguard Worker        for more details about DTensor.
229*b6fb3261SAndroid Build Coastguard Worker
230*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`:
231*b6fb3261SAndroid Build Coastguard Worker
232*b6fb3261SAndroid Build Coastguard Worker    *   Added TFLite builtin op support for the following TF ops:
233*b6fb3261SAndroid Build Coastguard Worker        *   `tf.math.argmin`/`tf.math.argmax` for input data type `tf.bool` on
234*b6fb3261SAndroid Build Coastguard Worker            CPU.
235*b6fb3261SAndroid Build Coastguard Worker        *   `tf.nn.gelu` op for output data type `tf.float32` and quantization
236*b6fb3261SAndroid Build Coastguard Worker            on CPU.
237*b6fb3261SAndroid Build Coastguard Worker    *   Add nominal support for unsigned 16-bit integer tensor types. Note that
238*b6fb3261SAndroid Build Coastguard Worker        very few TFLite kernels support this type natively, so its use in mobile
239*b6fb3261SAndroid Build Coastguard Worker        ML authoring is generally discouraged.
240*b6fb3261SAndroid Build Coastguard Worker    *   Add support for unsigned 16-bit integer tensor types in cast op.
241*b6fb3261SAndroid Build Coastguard Worker    *   Experimental support for lowering `list_ops.tensor_list_set_item` with
242*b6fb3261SAndroid Build Coastguard Worker        `DynamicUpdateSlice`.
243*b6fb3261SAndroid Build Coastguard Worker    *   Enabled a new MLIR-based dynamic range quantization backend by default
244*b6fb3261SAndroid Build Coastguard Worker        *   The new backend is used for post-training int8 dynamic range
245*b6fb3261SAndroid Build Coastguard Worker            quantization and post-training float16 quantization.
246*b6fb3261SAndroid Build Coastguard Worker        *   Set `experimental_new_dynamic_range_quantizer` in
247*b6fb3261SAndroid Build Coastguard Worker            tf.lite.TFLiteConverter to False to disable this change
248*b6fb3261SAndroid Build Coastguard Worker    *   Native TF Lite variables are now enabled during conversion by default on
249*b6fb3261SAndroid Build Coastguard Worker        all v2 TfLiteConverter entry points.
250*b6fb3261SAndroid Build Coastguard Worker        `experimental_enable_resource_variables` on tf.lite.TFLiteConverter is
251*b6fb3261SAndroid Build Coastguard Worker        now True by default and will be removed in the future.
252*b6fb3261SAndroid Build Coastguard Worker
253*b6fb3261SAndroid Build Coastguard Worker*   `tf.function`:
254*b6fb3261SAndroid Build Coastguard Worker
255*b6fb3261SAndroid Build Coastguard Worker    *   Custom classes used as arguments for `tf.function` can now specify rules
256*b6fb3261SAndroid Build Coastguard Worker        regarding when retracing needs to occur by implementing the Tracing
257*b6fb3261SAndroid Build Coastguard Worker        Protocol available through
258*b6fb3261SAndroid Build Coastguard Worker        `tf.types.experimental.SupportsTracingProtocol`.
259*b6fb3261SAndroid Build Coastguard Worker    *   `TypeSpec` classes (as associated with `ExtensionTypes`) also implement
260*b6fb3261SAndroid Build Coastguard Worker        the Tracing Protocol which can be overridden if necessary.
261*b6fb3261SAndroid Build Coastguard Worker    *   The newly introduced `reduce_retracing` option also uses the Tracing
262*b6fb3261SAndroid Build Coastguard Worker        Protocol to proactively generate generalized traces similar to
263*b6fb3261SAndroid Build Coastguard Worker        `experimental_relax_shapes` (which has now been deprecated).
264*b6fb3261SAndroid Build Coastguard Worker
265*b6fb3261SAndroid Build Coastguard Worker*   Unified eager and `tf.function` execution:
266*b6fb3261SAndroid Build Coastguard Worker
267*b6fb3261SAndroid Build Coastguard Worker    *   Eager mode can now execute each op as a `tf.function`, allowing for more
268*b6fb3261SAndroid Build Coastguard Worker        consistent feature support in future releases.
269*b6fb3261SAndroid Build Coastguard Worker    *   It is available for immediate use.
270*b6fb3261SAndroid Build Coastguard Worker        *   See the `TF_RUN_EAGER_OP_AS_FUNCTION` environment variable in
271*b6fb3261SAndroid Build Coastguard Worker            [eager context](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/eager/context.py).
272*b6fb3261SAndroid Build Coastguard Worker        *   Eager performance should be similar with this feature enabled.
273*b6fb3261SAndroid Build Coastguard Worker            *   A roughly 5us per-op overhead may be observed when running many
274*b6fb3261SAndroid Build Coastguard Worker                small functions.
275*b6fb3261SAndroid Build Coastguard Worker            *   Note a
276*b6fb3261SAndroid Build Coastguard Worker                [known issue](https://github.com/tensorflow/tensorflow/issues/55414)
277*b6fb3261SAndroid Build Coastguard Worker                with GPU performance.
278*b6fb3261SAndroid Build Coastguard Worker        *   The behavior of `tf.function` itself is unaffected.
279*b6fb3261SAndroid Build Coastguard Worker    *   Note: This feature will be enabled by default in an upcoming version of
280*b6fb3261SAndroid Build Coastguard Worker        TensorFlow.
281*b6fb3261SAndroid Build Coastguard Worker
282*b6fb3261SAndroid Build Coastguard Worker*   `tf.experimental.dtensor`: Added DTensor, an extension to TensorFlow for
283*b6fb3261SAndroid Build Coastguard Worker    large-scale modeling with minimal changes to user code. You are welcome to
284*b6fb3261SAndroid Build Coastguard Worker    try it out, though be aware that the DTensor API is experimental and up-to
285*b6fb3261SAndroid Build Coastguard Worker    backward-incompatible changes. DTensor and Keras integration is published
286*b6fb3261SAndroid Build Coastguard Worker    under `tf.keras.dtensor` in this release (refer to the `tf.keras` entry).
287*b6fb3261SAndroid Build Coastguard Worker    The tutoral and guide for DTensor will be published on
288*b6fb3261SAndroid Build Coastguard Worker    https://www.tensorflow.org/. Please stay tuned.
289*b6fb3261SAndroid Build Coastguard Worker
290*b6fb3261SAndroid Build Coastguard Worker*   [oneDNN CPU performance optimizations](https://github.com/tensorflow/community/blob/master/rfcs/20210930-enable-onednn-ops.md)
291*b6fb3261SAndroid Build Coastguard Worker    are available in Linux x86, Windows x86, and Linux aarch64 packages.
292*b6fb3261SAndroid Build Coastguard Worker
293*b6fb3261SAndroid Build Coastguard Worker    *   **Linux x86 packages:**
294*b6fb3261SAndroid Build Coastguard Worker        *   oneDNN optimizations are *enabled by default* on CPUs with
295*b6fb3261SAndroid Build Coastguard Worker            neural-network-focused hardware features such as AVX512_VNNI,
296*b6fb3261SAndroid Build Coastguard Worker            AVX512_BF16, AMX, etc.
297*b6fb3261SAndroid Build Coastguard Worker            ([Intel Cascade Lake](https://www.intel.com/content/www/us/en/products/platforms/details/cascade-lake.html)
298*b6fb3261SAndroid Build Coastguard Worker            and newer CPUs.)
299*b6fb3261SAndroid Build Coastguard Worker            *   [Example performance speedups.](https://medium.com/intel-analytics-software/leverage-intel-deep-learning-optimizations-in-tensorflow-129faa80ee07)
300*b6fb3261SAndroid Build Coastguard Worker        *   For older CPUs, oneDNN optimizations are disabled by default.
301*b6fb3261SAndroid Build Coastguard Worker    *   **Windows x86 package:** oneDNN optimizations are disabled by default.
302*b6fb3261SAndroid Build Coastguard Worker    *   **Linux aach64 (`--config=mkl_aarch64`) package:**
303*b6fb3261SAndroid Build Coastguard Worker        *   Experimental oneDNN optimizations are disabled by default.
304*b6fb3261SAndroid Build Coastguard Worker        *   If you experience issues with oneDNN optimizations on, we recommend
305*b6fb3261SAndroid Build Coastguard Worker            turning them off.
306*b6fb3261SAndroid Build Coastguard Worker    *   To explicitly enable or disable oneDNN optimizations, set the
307*b6fb3261SAndroid Build Coastguard Worker        environment variable `TF_ENABLE_ONEDNN_OPTS` to `1` (enable) or `0`
308*b6fb3261SAndroid Build Coastguard Worker        (disable) before running TensorFlow. (The variable is checked during
309*b6fb3261SAndroid Build Coastguard Worker        `import tensorflow`.) To fall back to default settings, unset the
310*b6fb3261SAndroid Build Coastguard Worker        environment variable.
311*b6fb3261SAndroid Build Coastguard Worker    *   These optimizations can yield slightly different numerical results from
312*b6fb3261SAndroid Build Coastguard Worker        when they are off due to floating-point round-off errors from different
313*b6fb3261SAndroid Build Coastguard Worker        computation approaches and orders.
314*b6fb3261SAndroid Build Coastguard Worker    *   To verify that the optimizations are on, look for a message with
315*b6fb3261SAndroid Build Coastguard Worker        *"oneDNN custom operations are on"* in the log. If the exact phrase is
316*b6fb3261SAndroid Build Coastguard Worker        not there, it means they are off.
317*b6fb3261SAndroid Build Coastguard Worker
318*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
319*b6fb3261SAndroid Build Coastguard Worker
320*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`:
321*b6fb3261SAndroid Build Coastguard Worker    *   Fixed bug in `tf.data.experimental.parse_example_dataset` when `tf.io.RaggedFeatures` would specify `value_key` but no `partitions`. Before the fix, setting `value_key` but no `partitions` would result in the feature key being replaced by the value key, e.g. `{'value_key': <RaggedTensor>}` instead of `{'key': <RaggedTensor>}`. Now the correct feature key will be used. This aligns the behavior of `tf.data.experimental.parse_example_dataset` to match the behavior of `tf.io.parse_example`.
322*b6fb3261SAndroid Build Coastguard Worker    *   Added a new field, `filter_parallelization`, to `tf.data.experimental.OptimizationOptions`. If it is set to `True`, tf.data will run `Filter` transformation with multiple threads. Its default value is `False` if not specified.
323*b6fb3261SAndroid Build Coastguard Worker
324*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
325*b6fb3261SAndroid Build Coastguard Worker    *   Fixed bug in optimizers that prevented them from properly checkpointing slot variables when they are `ShardedVariable`s (used for training with `tf.distribute.experimental.ParameterServerStrategy`).
326*b6fb3261SAndroid Build Coastguard Worker
327*b6fb3261SAndroid Build Coastguard Worker*   `tf.random`:
328*b6fb3261SAndroid Build Coastguard Worker    * Added `tf.random.experimental.index_shuffle`, for shuffling a sequence without materializing the sequence in memory.
329*b6fb3261SAndroid Build Coastguard Worker
330*b6fb3261SAndroid Build Coastguard Worker*   `tf.RaggedTensor`:
331*b6fb3261SAndroid Build Coastguard Worker    *   Introduced `tf.experimental.RowPartition`, which encodes how one dimension in a RaggedTensor relates to another, into the public API.
332*b6fb3261SAndroid Build Coastguard Worker    *   Introduced `tf.experimental.DynamicRaggedShape`, which represents the shape of a RaggedTensor.
333*b6fb3261SAndroid Build Coastguard Worker
334*b6fb3261SAndroid Build Coastguard Worker## Security
335*b6fb3261SAndroid Build Coastguard Worker
336*b6fb3261SAndroid Build Coastguard Worker*   Fixes a code injection in `saved_model_cli` ([CVE-2022-29216](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29216))
337*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes `TensorSummaryV2` to crash ([CVE-2022-29193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29193))
338*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which crashes `QuantizeAndDequantizeV4Grad` ([CVE-2022-29192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29192))
339*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `DeleteSessionTensor` ([CVE-2022-29194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29194))
340*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `GetSessionTensor` ([CVE-2022-29191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29191))
341*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `StagePeek` ([CVE-2022-29195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29195))
342*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `UnsortedSegmentJoin` ([CVE-2022-29197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29197))
343*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `LoadAndRemapMatrix` ([CVE-2022-29199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29199))
344*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `SparseTensorToCSRSparseMatrix` ([CVE-2022-29198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29198))
345*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `LSTMBlockCell` ([CVE-2022-29200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29200))
346*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `Conv3DBackpropFilterV2` ([CVE-2022-29196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29196))
347*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK` failure in depthwise ops via overflows ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197))
348*b6fb3261SAndroid Build Coastguard Worker*   Fixes issues arising from undefined behavior stemming from users supplying invalid resource handles ([CVE-2022-29207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29207))
349*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault due to missing support for quantized types ([CVE-2022-29205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29205))
350*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which results in undefined behavior in `SparseTensorDenseAdd` ([CVE-2022-29206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29206))
351*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which results in undefined behavior in `QuantizedConv2D` ([CVE-2022-29201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29201))
352*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in `SpaceToBatchND` ([CVE-2022-29203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29203))
353*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault and OOB write due to incomplete validation in `EditDistance` ([CVE-2022-29208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29208))
354*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `Conv3DBackpropFilterV2` ([CVE-2022-29204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29204))
355*b6fb3261SAndroid Build Coastguard Worker*   Fixes a denial of service in `tf.ragged.constant` due to lack of validation ([CVE-2022-29202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29202))
356*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault when `tf.histogram_fixed_width` is called with NaN values ([CVE-2022-29211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29211))
357*b6fb3261SAndroid Build Coastguard Worker*   Fixes a core dump when loading TFLite models with quantization ([CVE-2022-29212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29212))
358*b6fb3261SAndroid Build Coastguard Worker*   Fixes crashes stemming from incomplete validation in signal ops ([CVE-2022-29213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29213))
359*b6fb3261SAndroid Build Coastguard Worker*   Fixes a type confusion leading to `CHECK`-failure based denial of service ([CVE-2022-29209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29209))
360*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow due to incorrect hash function ([CVE-2022-29210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29210))
361*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.83.1` to handle ([CVE-2022-22576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-22576), ([CVE-2022-27774](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27774), ([CVE-2022-27775](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27775), ([CVE-2022-27776](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27776), ([CVE-2022-27778](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27778), ([CVE-2022-27779](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27779), ([CVE-2022-27780](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27780), ([CVE-2022-27781](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27781), ([CVE-2022-27782](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27782) and ([CVE-2022-30115](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-30115)
362*b6fb3261SAndroid Build Coastguard Worker*   Updates `zlib` to `1.2.12` after `1.2.11` was pulled due to [security issue](https://www.openwall.com/lists/oss-security/2022/03/28/1)
363*b6fb3261SAndroid Build Coastguard Worker
364*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
365*b6fb3261SAndroid Build Coastguard Worker
366*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
367*b6fb3261SAndroid Build Coastguard Worker
368*b6fb3261SAndroid Build Coastguard WorkerAaron Debattista, Abel Soares Siqueira, Abhishek Varma, Andrei Ivanov, andreii, Andrew Goodbody, apeltop, Arnab Dutta, Ashiq Imran, Banikumar Maiti (Intel Aipg), Ben Greiner, Benjamin Peterson, bhack, Christopher Bate, chunduriv, Copybara-Service, DEKHTIARJonathan, Deven Desai, Duncan Riach, Eric Kunze, Everton Constantino, Faruk D, Fredrik Knutsson, gadagashwini, Gauri1 Deshpande, gtiHibGele, Guozhong Zhuang, Islem-Esi, Ivanov Viktor, Jason Furmanek, Jason Zaman, Jim, Jinzhe Zeng, John Laxson, Jonas Eschle, Jonas Eschle 'Mayou36, Jonathan Dekhtiar, Kaixi Hou, Kanvi Khanna, KaurkerDevourer, Koan-Sin Tan, kushanam, Laramie Leavitt, Li-Wen Chang, lipracer, Louis Sugy, Lu Teng, Mahmoud Abuzaina, Malcolm Slaney, Malik Shahzad Muzaffar, Marek Šuppa, Matt Conley, Michael Melesse, Milos Puzovic, mohantym, Nathan John Sircombe, Nathan Luehr, Nilesh Agarwalla, Patrice Vignola, peterjc123, Philip Turner, Rajeshwar Reddy T, Robert Kalmar, Rodrigo Formigone, Rohit Santhanam, rui, Sachin Muradi, Saduf2019, sandip, Scott Leishman, Serge Panev, Shi,Guangyong, Srinivasan Narayanamoorthy, stanley, Steven I Reeves, stevenireeves, sushreebarsa, Tamas Bela Feher, Tao He, Thomas Schmeyer, Tiago Almeida, Trevor Morris, Uday Bondhugula, Uwe L. Korn, Varghese, Jojimon, Vishnuvardhan Janapati, William Muir, William Raveane, xutianming, Yasuhiro Matsumoto, Yimei Sun, Yong Tang, Yu Feng, Yuriy Chernyshov, zhaozheng09
369*b6fb3261SAndroid Build Coastguard Worker
370*b6fb3261SAndroid Build Coastguard Worker# Release 2.8.1
371*b6fb3261SAndroid Build Coastguard Worker
372*b6fb3261SAndroid Build Coastguard WorkerThis releases introduces several vulnerability fixes:
373*b6fb3261SAndroid Build Coastguard Worker
374*b6fb3261SAndroid Build Coastguard Worker*   Fixes a code injection in `saved_model_cli` ([CVE-2022-29216](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29216))
375*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes `TensorSummaryV2` to crash ([CVE-2022-29193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29193))
376*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which crashes `QuantizeAndDequantizeV4Grad` ([CVE-2022-29192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29192))
377*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `DeleteSessionTensor` ([CVE-2022-29194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29194))
378*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `GetSessionTensor` ([CVE-2022-29191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29191))
379*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `StagePeek` ([CVE-2022-29195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29195))
380*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `UnsortedSegmentJoin` ([CVE-2022-29197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29197))
381*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `LoadAndRemapMatrix` ([CVE-2022-29199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29199))
382*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `SparseTensorToCSRSparseMatrix` ([CVE-2022-29198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29198))
383*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `LSTMBlockCell` ([CVE-2022-29200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29200))
384*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `Conv3DBackpropFilterV2` ([CVE-2022-29196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29196))
385*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK` failure in depthwise ops via overflows ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197))
386*b6fb3261SAndroid Build Coastguard Worker*   Fixes issues arising from undefined behavior stemming from users supplying invalid resource handles ([CVE-2022-29207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29207))
387*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault due to missing support for quantized types ([CVE-2022-29205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29205))
388*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which results in undefined behavior in `SparseTensorDenseAdd` ([CVE-2022-29206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29206))
389*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which results in undefined behavior in `QuantizedConv2D` ([CVE-2022-29201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29201))
390*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in `SpaceToBatchND` ([CVE-2022-29203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29203))
391*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault and OOB write due to incomplete validation in `EditDistance` ([CVE-2022-29208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29208))
392*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `Conv3DBackpropFilterV2` ([CVE-2022-29204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29204))
393*b6fb3261SAndroid Build Coastguard Worker*   Fixes a denial of service in `tf.ragged.constant` due to lack of validation ([CVE-2022-29202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29202))
394*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault when `tf.histogram_fixed_width` is called with NaN values ([CVE-2022-29211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29211))
395*b6fb3261SAndroid Build Coastguard Worker*   Fixes a core dump when loading TFLite models with quantization ([CVE-2022-29212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29212))
396*b6fb3261SAndroid Build Coastguard Worker*   Fixes crashes stemming from incomplete validation in signal ops ([CVE-2022-29213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29213))
397*b6fb3261SAndroid Build Coastguard Worker*   Fixes a type confusion leading to `CHECK`-failure based denial of service ([CVE-2022-29209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29209))
398*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow due to incorrect hash function ([CVE-2022-29210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29210))
399*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.83.1` to handle ([CVE-2022-22576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-22576), ([CVE-2022-27774](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27774), ([CVE-2022-27775](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27775), ([CVE-2022-27776](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27776), ([CVE-2022-27778](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27778), ([CVE-2022-27779](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27779), ([CVE-2022-27780](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27780), ([CVE-2022-27781](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27781), ([CVE-2022-27782](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27782) and ([CVE-2022-30115](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-30115)
400*b6fb3261SAndroid Build Coastguard Worker*   Updates `zlib` to `1.2.12` after `1.2.11` was pulled due to [security issue](https://www.openwall.com/lists/oss-security/2022/03/28/1)
401*b6fb3261SAndroid Build Coastguard Worker# Release 2.7.2
402*b6fb3261SAndroid Build Coastguard Worker
403*b6fb3261SAndroid Build Coastguard WorkerThis releases introduces several vulnerability fixes:
404*b6fb3261SAndroid Build Coastguard Worker
405*b6fb3261SAndroid Build Coastguard Worker*   Fixes a code injection in `saved_model_cli` ([CVE-2022-29216](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29216))
406*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes `TensorSummaryV2` to crash ([CVE-2022-29193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29193))
407*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which crashes `QuantizeAndDequantizeV4Grad` ([CVE-2022-29192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29192))
408*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `DeleteSessionTensor` ([CVE-2022-29194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29194))
409*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `GetSessionTensor` ([CVE-2022-29191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29191))
410*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `StagePeek` ([CVE-2022-29195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29195))
411*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `UnsortedSegmentJoin` ([CVE-2022-29197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29197))
412*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `LoadAndRemapMatrix` ([CVE-2022-29199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29199))
413*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `SparseTensorToCSRSparseMatrix` ([CVE-2022-29198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29198))
414*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `LSTMBlockCell` ([CVE-2022-29200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29200))
415*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `Conv3DBackpropFilterV2` ([CVE-2022-29196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29196))
416*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK` failure in depthwise ops via overflows ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197))
417*b6fb3261SAndroid Build Coastguard Worker*   Fixes issues arising from undefined behavior stemming from users supplying invalid resource handles ([CVE-2022-29207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29207))
418*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault due to missing support for quantized types ([CVE-2022-29205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29205))
419*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which results in undefined behavior in `SparseTensorDenseAdd` ([CVE-2022-29206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29206))
420*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which results in undefined behavior in `QuantizedConv2D` ([CVE-2022-29201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29201))
421*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in `SpaceToBatchND` ([CVE-2022-29203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29203))
422*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault and OOB write due to incomplete validation in `EditDistance` ([CVE-2022-29208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29208))
423*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `Conv3DBackpropFilterV2` ([CVE-2022-29204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29204))
424*b6fb3261SAndroid Build Coastguard Worker*   Fixes a denial of service in `tf.ragged.constant` due to lack of validation ([CVE-2022-29202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29202))
425*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault when `tf.histogram_fixed_width` is called with NaN values ([CVE-2022-29211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29211))
426*b6fb3261SAndroid Build Coastguard Worker*   Fixes a core dump when loading TFLite models with quantization ([CVE-2022-29212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29212))
427*b6fb3261SAndroid Build Coastguard Worker*   Fixes crashes stemming from incomplete validation in signal ops ([CVE-2022-29213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29213))
428*b6fb3261SAndroid Build Coastguard Worker*   Fixes a type confusion leading to `CHECK`-failure based denial of service ([CVE-2022-29209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29209))
429*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.83.1` to handle ([CVE-2022-22576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-22576), ([CVE-2022-27774](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27774), ([CVE-2022-27775](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27775), ([CVE-2022-27776](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27776), ([CVE-2022-27778](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27778), ([CVE-2022-27779](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27779), ([CVE-2022-27780](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27780), ([CVE-2022-27781](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27781), ([CVE-2022-27782](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27782) and ([CVE-2022-30115](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-30115)
430*b6fb3261SAndroid Build Coastguard Worker*   Updates `zlib` to `1.2.12` after `1.2.11` was pulled due to [security issue](https://www.openwall.com/lists/oss-security/2022/03/28/1)
431*b6fb3261SAndroid Build Coastguard Worker
432*b6fb3261SAndroid Build Coastguard Worker# Release 2.6.4
433*b6fb3261SAndroid Build Coastguard Worker
434*b6fb3261SAndroid Build Coastguard WorkerThis releases introduces several vulnerability fixes:
435*b6fb3261SAndroid Build Coastguard Worker
436*b6fb3261SAndroid Build Coastguard Worker*   Fixes a code injection in `saved_model_cli` ([CVE-2022-29216](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29216))
437*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes `TensorSummaryV2` to crash ([CVE-2022-29193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29193))
438*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which crashes `QuantizeAndDequantizeV4Grad` ([CVE-2022-29192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29192))
439*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `DeleteSessionTensor` ([CVE-2022-29194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29194))
440*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `GetSessionTensor` ([CVE-2022-29191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29191))
441*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `StagePeek` ([CVE-2022-29195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29195))
442*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `UnsortedSegmentJoin` ([CVE-2022-29197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29197))
443*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `LoadAndRemapMatrix` ([CVE-2022-29199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29199))
444*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `SparseTensorToCSRSparseMatrix` ([CVE-2022-29198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29198))
445*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `LSTMBlockCell` ([CVE-2022-29200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29200))
446*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `Conv3DBackpropFilterV2` ([CVE-2022-29196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29196))
447*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK` failure in depthwise ops via overflows ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197))
448*b6fb3261SAndroid Build Coastguard Worker*   Fixes issues arising from undefined behavior stemming from users supplying invalid resource handles ([CVE-2022-29207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29207))
449*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault due to missing support for quantized types ([CVE-2022-29205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29205))
450*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which results in undefined behavior in `SparseTensorDenseAdd` ([CVE-2022-29206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29206))
451*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which results in undefined behavior in `QuantizedConv2D` ([CVE-2022-29201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29201))
452*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in `SpaceToBatchND` ([CVE-2022-29203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29203))
453*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault and OOB write due to incomplete validation in `EditDistance` ([CVE-2022-29208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29208))
454*b6fb3261SAndroid Build Coastguard Worker*   Fixes a missing validation which causes denial of service via `Conv3DBackpropFilterV2` ([CVE-2022-29204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29204))
455*b6fb3261SAndroid Build Coastguard Worker*   Fixes a denial of service in `tf.ragged.constant` due to lack of validation ([CVE-2022-29202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29202))
456*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault when `tf.histogram_fixed_width` is called with NaN values ([CVE-2022-29211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29211))
457*b6fb3261SAndroid Build Coastguard Worker*   Fixes a core dump when loading TFLite models with quantization ([CVE-2022-29212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29212))
458*b6fb3261SAndroid Build Coastguard Worker*   Fixes crashes stemming from incomplete validation in signal ops ([CVE-2022-29213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29213))
459*b6fb3261SAndroid Build Coastguard Worker*   Fixes a type confusion leading to `CHECK`-failure based denial of service ([CVE-2022-29209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29209))
460*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.83.1` to handle ([CVE-2022-22576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-22576), ([CVE-2022-27774](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27774), ([CVE-2022-27775](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27775), ([CVE-2022-27776](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27776), ([CVE-2022-27778](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27778), ([CVE-2022-27779](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27779), ([CVE-2022-27780](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27780), ([CVE-2022-27781](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27781), ([CVE-2022-27782](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-27782) and ([CVE-2022-30115](https://cve.mitre.org/cgi-bin/cvename.cgi?name=VE-2022-30115)
461*b6fb3261SAndroid Build Coastguard Worker*   Updates `zlib` to `1.2.12` after `1.2.11` was pulled due to [security issue](https://www.openwall.com/lists/oss-security/2022/03/28/1)
462*b6fb3261SAndroid Build Coastguard Worker
463*b6fb3261SAndroid Build Coastguard Worker# Release 2.8.0
464*b6fb3261SAndroid Build Coastguard Worker
465*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
466*b6fb3261SAndroid Build Coastguard Worker
467*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`:
468*b6fb3261SAndroid Build Coastguard Worker
469*b6fb3261SAndroid Build Coastguard Worker    *   Added TFLite builtin op support for the following TF ops:
470*b6fb3261SAndroid Build Coastguard Worker        *   `tf.raw_ops.Bucketize` op on CPU.
471*b6fb3261SAndroid Build Coastguard Worker        *   `tf.where` op for data types
472*b6fb3261SAndroid Build Coastguard Worker            `tf.int32`/`tf.uint32`/`tf.int8`/`tf.uint8`/`tf.int64`.
473*b6fb3261SAndroid Build Coastguard Worker        *   `tf.random.normal` op for output data type `tf.float32` on CPU.
474*b6fb3261SAndroid Build Coastguard Worker        *   `tf.random.uniform` op for output data type `tf.float32` on CPU.
475*b6fb3261SAndroid Build Coastguard Worker        *   `tf.random.categorical` op for output data type `tf.int64` on CPU.
476*b6fb3261SAndroid Build Coastguard Worker
477*b6fb3261SAndroid Build Coastguard Worker*   `tensorflow.experimental.tensorrt`:
478*b6fb3261SAndroid Build Coastguard Worker
479*b6fb3261SAndroid Build Coastguard Worker    *   `conversion_params` is now deprecated inside `TrtGraphConverterV2` in
480*b6fb3261SAndroid Build Coastguard Worker        favor of direct arguments: `max_workspace_size_bytes`, `precision_mode`,
481*b6fb3261SAndroid Build Coastguard Worker        `minimum_segment_size`, `maximum_cached_engines`, `use_calibration` and
482*b6fb3261SAndroid Build Coastguard Worker        `allow_build_at_runtime`.
483*b6fb3261SAndroid Build Coastguard Worker    *   Added a new parameter called `save_gpu_specific_engines` to the
484*b6fb3261SAndroid Build Coastguard Worker        `.save()` function inside `TrtGraphConverterV2`. When `False`, the
485*b6fb3261SAndroid Build Coastguard Worker        `.save()` function won't save any TRT engines that have been built. When
486*b6fb3261SAndroid Build Coastguard Worker        `True` (default), the original behavior is preserved.
487*b6fb3261SAndroid Build Coastguard Worker    *   `TrtGraphConverterV2` provides a new API called `.summary()` which
488*b6fb3261SAndroid Build Coastguard Worker        outputs a summary of the inference converted by TF-TRT. It namely shows
489*b6fb3261SAndroid Build Coastguard Worker        each `TRTEngineOp` with their input(s)' and output(s)' shape and dtype.
490*b6fb3261SAndroid Build Coastguard Worker        A detailed version of the summary is available which prints additionally
491*b6fb3261SAndroid Build Coastguard Worker        all the TensorFlow OPs included in each of the `TRTEngineOp`s.
492*b6fb3261SAndroid Build Coastguard Worker
493*b6fb3261SAndroid Build Coastguard Worker*   `tf.tpu.experimental.embedding`:
494*b6fb3261SAndroid Build Coastguard Worker
495*b6fb3261SAndroid Build Coastguard Worker    *   `tf.tpu.experimental.embedding.FeatureConfig` now takes an additional
496*b6fb3261SAndroid Build Coastguard Worker        argument `output_shape` which can specify the shape of the output
497*b6fb3261SAndroid Build Coastguard Worker        activation for the feature.
498*b6fb3261SAndroid Build Coastguard Worker    *   `tf.tpu.experimental.embedding.TPUEmbedding` now has the same behavior
499*b6fb3261SAndroid Build Coastguard Worker        as `tf.tpu.experimental.embedding.serving_embedding_lookup` which can
500*b6fb3261SAndroid Build Coastguard Worker        take arbitrary rank of dense and sparse tensor. For ragged tensor,
501*b6fb3261SAndroid Build Coastguard Worker        though the input tensor remains to be rank 2, the activations now can be
502*b6fb3261SAndroid Build Coastguard Worker        rank 2 or above by specifying the output shape in the feature config or
503*b6fb3261SAndroid Build Coastguard Worker        via the build method.
504*b6fb3261SAndroid Build Coastguard Worker
505*b6fb3261SAndroid Build Coastguard Worker*   Add
506*b6fb3261SAndroid Build Coastguard Worker    [`tf.config.experimental.enable_op_determinism`](https://www.tensorflow.org/api_docs/python/tf/config/experimental/enable_op_determinism),
507*b6fb3261SAndroid Build Coastguard Worker    which makes TensorFlow ops run deterministically at the cost of performance.
508*b6fb3261SAndroid Build Coastguard Worker    Replaces the `TF_DETERMINISTIC_OPS` environmental variable, which is now
509*b6fb3261SAndroid Build Coastguard Worker    deprecated. The "Bug Fixes and Other Changes" section lists more
510*b6fb3261SAndroid Build Coastguard Worker    determinism-related changes.
511*b6fb3261SAndroid Build Coastguard Worker
512*b6fb3261SAndroid Build Coastguard Worker*   (Since TF 2.7) Add
513*b6fb3261SAndroid Build Coastguard Worker    [PluggableDevice](https://blog.tensorflow.org/2021/06/pluggabledevice-device-plugins-for-TensorFlow.html)
514*b6fb3261SAndroid Build Coastguard Worker    support to
515*b6fb3261SAndroid Build Coastguard Worker    [TensorFlow Profiler](https://github.com/tensorflow/community/blob/master/rfcs/20210513-pluggable-profiler-for-tensorflow.md).
516*b6fb3261SAndroid Build Coastguard Worker
517*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
518*b6fb3261SAndroid Build Coastguard Worker
519*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`:
520*b6fb3261SAndroid Build Coastguard Worker
521*b6fb3261SAndroid Build Coastguard Worker    *   Fixed a bug where setting `options.deterministic = False` would only
522*b6fb3261SAndroid Build Coastguard Worker        modify one transformation to run non-deterministically, leaving other
523*b6fb3261SAndroid Build Coastguard Worker        transformations deterministic. The option will now apply the same across
524*b6fb3261SAndroid Build Coastguard Worker        all transformations.
525*b6fb3261SAndroid Build Coastguard Worker    *   The optimization `parallel_batch` now becomes default if not disabled by
526*b6fb3261SAndroid Build Coastguard Worker        users, which will parallelize copying of batch elements.
527*b6fb3261SAndroid Build Coastguard Worker    *   Added the ability for `TensorSliceDataset` to identify and handle inputs
528*b6fb3261SAndroid Build Coastguard Worker        that are files. This enables creating hermetic SavedModels when using
529*b6fb3261SAndroid Build Coastguard Worker        datasets created from files.
530*b6fb3261SAndroid Build Coastguard Worker
531*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`:
532*b6fb3261SAndroid Build Coastguard Worker
533*b6fb3261SAndroid Build Coastguard Worker    *   Adds GPU Delegation support for serialization to Java API. This boosts
534*b6fb3261SAndroid Build Coastguard Worker        initialization time up to 90% when OpenCL is available.
535*b6fb3261SAndroid Build Coastguard Worker    *   Deprecated `Interpreter::SetNumThreads`, in favor of
536*b6fb3261SAndroid Build Coastguard Worker        `InterpreterBuilder::SetNumThreads`.
537*b6fb3261SAndroid Build Coastguard Worker
538*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
539*b6fb3261SAndroid Build Coastguard Worker
540*b6fb3261SAndroid Build Coastguard Worker    *   Adds `tf.compat.v1.keras.utils.get_or_create_layer` to aid migration to
541*b6fb3261SAndroid Build Coastguard Worker        TF2 by enabling tracking of nested keras models created in TF1-style,
542*b6fb3261SAndroid Build Coastguard Worker        when used with the `tf.compat.v1.keras.utils.track_tf1_style_variables`
543*b6fb3261SAndroid Build Coastguard Worker        decorator.
544*b6fb3261SAndroid Build Coastguard Worker    *   Added a `tf.keras.layers.experimental.preprocessing.HashedCrossing`
545*b6fb3261SAndroid Build Coastguard Worker        layer which applies the hashing trick to the concatenation of crossed
546*b6fb3261SAndroid Build Coastguard Worker        scalar inputs. This provides a stateless way to try adding feature
547*b6fb3261SAndroid Build Coastguard Worker        crosses of integer or string data to a model.
548*b6fb3261SAndroid Build Coastguard Worker    *   Removed `keras.layers.experimental.preprocessing.CategoryCrossing`.
549*b6fb3261SAndroid Build Coastguard Worker        Users should migrate to the `HashedCrossing` layer or use
550*b6fb3261SAndroid Build Coastguard Worker        `tf.sparse.cross`/`tf.ragged.cross` directly.
551*b6fb3261SAndroid Build Coastguard Worker    *   Added additional `standardize` and `split` modes to `TextVectorization`:
552*b6fb3261SAndroid Build Coastguard Worker        *   `standardize="lower"` will lowercase inputs.
553*b6fb3261SAndroid Build Coastguard Worker        *   `standardize="string_punctuation"` will remove all punctuation.
554*b6fb3261SAndroid Build Coastguard Worker        *   `split="character"` will split on every unicode character.
555*b6fb3261SAndroid Build Coastguard Worker    *   Added an `output_mode` argument to the `Discretization` and `Hashing`
556*b6fb3261SAndroid Build Coastguard Worker        layers with the same semantics as other preprocessing layers. All
557*b6fb3261SAndroid Build Coastguard Worker        categorical preprocessing layers now support `output_mode`.
558*b6fb3261SAndroid Build Coastguard Worker    *   All preprocessing layer output will follow the compute dtype of a
559*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.mixed_precision.Policy`, unless constructed with
560*b6fb3261SAndroid Build Coastguard Worker        `output_mode="int"` in which case output will be `tf.int64`. The output
561*b6fb3261SAndroid Build Coastguard Worker        type of any preprocessing layer can be controlled individually by
562*b6fb3261SAndroid Build Coastguard Worker        passing a `dtype` argument to the layer.
563*b6fb3261SAndroid Build Coastguard Worker    *   `tf.random.Generator` for keras initializers and all RNG code.
564*b6fb3261SAndroid Build Coastguard Worker    *   Added 3 new APIs for enable/disable/check the usage of
565*b6fb3261SAndroid Build Coastguard Worker        `tf.random.Generator` in keras backend, which will be the new backend
566*b6fb3261SAndroid Build Coastguard Worker        for all the RNG in Keras. We plan to switch on the new code path by
567*b6fb3261SAndroid Build Coastguard Worker        default in tf 2.8, and the behavior change will likely to cause some
568*b6fb3261SAndroid Build Coastguard Worker        breakage on user side (eg if the test is checking against some golden
569*b6fb3261SAndroid Build Coastguard Worker        number). These 3 APIs will allow user to disable and switch back to
570*b6fb3261SAndroid Build Coastguard Worker        legacy behavior if they prefer. In future (eg TF 2.10), we expect to
571*b6fb3261SAndroid Build Coastguard Worker        totally remove the legacy code path (stateful random Ops), and these 3
572*b6fb3261SAndroid Build Coastguard Worker        APIs will be removed as well.
573*b6fb3261SAndroid Build Coastguard Worker    *   `tf.keras.callbacks.experimental.BackupAndRestore` is now available as
574*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.callbacks.BackupAndRestore`. The experimental endpoint is
575*b6fb3261SAndroid Build Coastguard Worker        deprecated and will be removed in a future release.
576*b6fb3261SAndroid Build Coastguard Worker    *   `tf.keras.experimental.SidecarEvaluator` is now available as
577*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.utils.SidecarEvaluator`. The experimental endpoint is
578*b6fb3261SAndroid Build Coastguard Worker        deprecated and will be removed in a future release.
579*b6fb3261SAndroid Build Coastguard Worker    *   Metrics update and collection logic in default `Model.train_step()` is
580*b6fb3261SAndroid Build Coastguard Worker        now customizable via overriding `Model.compute_metrics()`.
581*b6fb3261SAndroid Build Coastguard Worker    *   Losses computation logic in default `Model.train_step()` is now
582*b6fb3261SAndroid Build Coastguard Worker        customizable via overriding `Model.compute_loss()`.
583*b6fb3261SAndroid Build Coastguard Worker    *   `jit_compile` added to `Model.compile()` on an opt-in basis to compile
584*b6fb3261SAndroid Build Coastguard Worker        the model's training step with [XLA](https://www.tensorflow.org/xla).
585*b6fb3261SAndroid Build Coastguard Worker        Note that `jit_compile=True` may not necessarily work for all models.
586*b6fb3261SAndroid Build Coastguard Worker
587*b6fb3261SAndroid Build Coastguard Worker*   Deterministic Op Functionality:
588*b6fb3261SAndroid Build Coastguard Worker
589*b6fb3261SAndroid Build Coastguard Worker    *   Fix regression in deterministic selection of deterministic cuDNN
590*b6fb3261SAndroid Build Coastguard Worker        convolution algorithms, a regression that was introduced in v2.5. Note
591*b6fb3261SAndroid Build Coastguard Worker        that nondeterministic out-of-memory events while selecting algorithms
592*b6fb3261SAndroid Build Coastguard Worker        could still lead to nondeterminism, although this is very unlikely. This
593*b6fb3261SAndroid Build Coastguard Worker        additional, unlikely source will be eliminated in a later version.
594*b6fb3261SAndroid Build Coastguard Worker    *   Add deterministic GPU implementations of:
595*b6fb3261SAndroid Build Coastguard Worker        *   `tf.function(jit_compile=True)`'s that use `Scatter`.
596*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) Stateful ops used in `tf.data.Dataset`
597*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.convert_to_tensor` when fed with (sparse)
598*b6fb3261SAndroid Build Coastguard Worker            `tf.IndexedSlices` (because it uses `tf.math.unsorted_segment_sum`)
599*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.gather` backprop (because `tf.convert_to_tensor`
600*b6fb3261SAndroid Build Coastguard Worker            reduces `tf.gather`'s (sparse) `tf.IndexedSlices` gradients into its
601*b6fb3261SAndroid Build Coastguard Worker            dense `params` input)
602*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.math.segment_mean`
603*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.math.segment_prod`
604*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.math.segment_sum`
605*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.math.unsorted_segment_mean`
606*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.math.unsorted_segment_prod`
607*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.math.unsorted_segment_sum`
608*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.math.unsorted_segment_sqrt`
609*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.nn.ctc_loss` (resolved, possibly in prior release,
610*b6fb3261SAndroid Build Coastguard Worker            and confirmed with tests)
611*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7)`tf.nn.sparse_softmax_crossentropy_with_logits`
612*b6fb3261SAndroid Build Coastguard Worker    *   (since v2.7) Run `tf.scatter_nd` and other related scatter functions,
613*b6fb3261SAndroid Build Coastguard Worker        such as `tf.tensor_scatter_nd_update`, on CPU (with significant
614*b6fb3261SAndroid Build Coastguard Worker        performance penalty).
615*b6fb3261SAndroid Build Coastguard Worker    *   Add determinism-unimplemented exception-throwing to the following ops.
616*b6fb3261SAndroid Build Coastguard Worker        When op-determinism is expected (i.e. after
617*b6fb3261SAndroid Build Coastguard Worker        `tf.config.experimental.enable_op_determinism` has been called), an
618*b6fb3261SAndroid Build Coastguard Worker        attempt to use the specified paths through the following ops on a GPU
619*b6fb3261SAndroid Build Coastguard Worker        will cause `tf.errors.UnimplementedError` (with an understandable
620*b6fb3261SAndroid Build Coastguard Worker        message), unless otherwise specified, to be thrown.
621*b6fb3261SAndroid Build Coastguard Worker        *   `FakeQuantWithMinMaxVarsGradient` and
622*b6fb3261SAndroid Build Coastguard Worker            `FakeQuantWithMinMaxVarsPerChannelGradient`
623*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.compat.v1.get_seed` if the global random seed has
624*b6fb3261SAndroid Build Coastguard Worker            not yet been set (via `tf.random.set_seed`). Throws `RuntimeError`
625*b6fb3261SAndroid Build Coastguard Worker            from Python or `InvalidArgument` from C++
626*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.compat.v1.nn.fused_batch_norm` backprop to `offset`
627*b6fb3261SAndroid Build Coastguard Worker            when `is_training=False`
628*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.image.adjust_contrast` forward
629*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.image.resize` with `method=ResizeMethod.NEAREST`
630*b6fb3261SAndroid Build Coastguard Worker            backprop
631*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.linalg.svd`
632*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.math.bincount`
633*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.nn.depthwise_conv2d` backprop to `filter` when not
634*b6fb3261SAndroid Build Coastguard Worker            using cuDNN convolution
635*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.nn.dilation2d` gradient
636*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.nn.max_pool_with_argmax` gradient
637*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.raw_ops.DebugNumericSummary` and
638*b6fb3261SAndroid Build Coastguard Worker            `tf.raw_ops.DebugNumericSummaryV2`
639*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.timestamp`. Throws `FailedPrecondition`
640*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) `tf.Variable.scatter_add` (and other scatter methods,
641*b6fb3261SAndroid Build Coastguard Worker            both on ref and resource variables)
642*b6fb3261SAndroid Build Coastguard Worker        *   (since v2.7) The random-number-generating ops in the `tf.random`
643*b6fb3261SAndroid Build Coastguard Worker            module when the global random seed has not yet been set (via
644*b6fb3261SAndroid Build Coastguard Worker            `tf.random.set_seed`). Throws `RuntimeError` from Python or
645*b6fb3261SAndroid Build Coastguard Worker            `InvalidArgument` from C++
646*b6fb3261SAndroid Build Coastguard Worker
647*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow-oneDNN no longer supports
648*b6fb3261SAndroid Build Coastguard Worker    [explicit use of oneDNN blocked tensor format](https://github.com/tensorflow/tensorflow/pull/53288),
649*b6fb3261SAndroid Build Coastguard Worker    e.g., setting the environment variable `TF_ENABLE_MKL_NATIVE_FORMAT` will
650*b6fb3261SAndroid Build Coastguard Worker    not have any effect.
651*b6fb3261SAndroid Build Coastguard Worker
652*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow has been validated on Windows Subsystem for Linux 2 (aka WSL 2)
653*b6fb3261SAndroid Build Coastguard Worker    for both GPUs and CPUs.
654*b6fb3261SAndroid Build Coastguard Worker
655*b6fb3261SAndroid Build Coastguard Worker*   Due to security issues (see section below), all boosted trees code has been
656*b6fb3261SAndroid Build Coastguard Worker    deprecated. Users should switch to
657*b6fb3261SAndroid Build Coastguard Worker    [TensorFlow Decision Forests](https://github.com/tensorflow/decision-forests).
658*b6fb3261SAndroid Build Coastguard Worker    TF's boosted trees code will be eliminated before the branch cut for TF 2.9
659*b6fb3261SAndroid Build Coastguard Worker    and will no longer be present since that release.
660*b6fb3261SAndroid Build Coastguard Worker
661*b6fb3261SAndroid Build Coastguard Worker## Security
662*b6fb3261SAndroid Build Coastguard Worker
663*b6fb3261SAndroid Build Coastguard Worker*   Fixes a floating point division by 0 when executing convolution operators
664*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21725](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21725))
665*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in shape inference for `ReverseSequence`
666*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21728](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21728))
667*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB access in `Dequantize`
668*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21726](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21726))
669*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in shape inference for `Dequantize`
670*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21727](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21727))
671*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB access in `FractionalAvgPoolGrad`
672*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21730](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21730))
673*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow and divide by zero in `UnravelIndex`
674*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21729](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21729))
675*b6fb3261SAndroid Build Coastguard Worker*   Fixes a type confusion in shape inference for `ConcatV2`
676*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21731](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21731))
677*b6fb3261SAndroid Build Coastguard Worker*   Fixes an OOM in `ThreadPoolHandle`
678*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21732](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21732))
679*b6fb3261SAndroid Build Coastguard Worker*   Fixes an OOM due to integer overflow in `StringNGrams`
680*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21733](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21733))
681*b6fb3261SAndroid Build Coastguard Worker*   Fixes more issues caused by incomplete validation in boosted trees code
682*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41208))
683*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflows in most sparse component-wise ops
684*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23567))
685*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflows in `AddManySparseToTensorsMap`
686*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23568))
687*b6fb3261SAndroid Build Coastguard Worker*   Fixes a number of `CHECK`-failures in `MapStage`
688*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21734](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21734))
689*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in `FractionalMaxPool`
690*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21735](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21735))
691*b6fb3261SAndroid Build Coastguard Worker*   Fixes a number of `CHECK`-fails when building invalid/overflowing tensor
692*b6fb3261SAndroid Build Coastguard Worker    shapes
693*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23569))
694*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior in `SparseTensorSliceDataset`
695*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21736](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21736))
696*b6fb3261SAndroid Build Coastguard Worker*   Fixes an assertion failure based denial of service via faulty bin count
697*b6fb3261SAndroid Build Coastguard Worker    operations
698*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21737](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21737))
699*b6fb3261SAndroid Build Coastguard Worker*   Fixes a reference binding to null pointer in `QuantizedMaxPool`
700*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21739](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21739))
701*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow leading to crash in `SparseCountSparseOutput`
702*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21738](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21738))
703*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap overflow in `SparseCountSparseOutput`
704*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21740](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21740))
705*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in `BiasAndClamp` in TFLite
706*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23557))
707*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in depthwise convolutions in TFLite
708*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21741](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21741))
709*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in TFLite array creation
710*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23558))
711*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in TFLite
712*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23559))
713*b6fb3261SAndroid Build Coastguard Worker*   Fixes a dangerous OOB write in TFLite
714*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23561))
715*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability leading to read and write outside of bounds in TFLite
716*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23560))
717*b6fb3261SAndroid Build Coastguard Worker*   Fixes a set of vulnerabilities caused by using insecure temporary files
718*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23563))
719*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in Range resulting in undefined behavior and OOM
720*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23562))
721*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability where missing validation causes `tf.sparse.split` to
722*b6fb3261SAndroid Build Coastguard Worker    crash when `axis` is a tuple
723*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41206))
724*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail when decoding resource handles from proto
725*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23564))
726*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail with repeated `AttrDef`
727*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23565))
728*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB write in Grappler
729*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23566))
730*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail when decoding invalid tensors from proto
731*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23571))
732*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null-dereference when specializing tensor type
733*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23570](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23570))
734*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash when type cannot be specialized
735*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23572](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23572))
736*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read/write in `SpecializeType`
737*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23574](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23574))
738*b6fb3261SAndroid Build Coastguard Worker*   Fixes an unitialized variable access in `AssignOp`
739*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23573))
740*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in `OpLevelCostEstimator::CalculateTensorSize`
741*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23575))
742*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in `OpLevelCostEstimator::CalculateOutputSize`
743*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23576))
744*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null dereference in `GetInitOp`
745*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23577))
746*b6fb3261SAndroid Build Coastguard Worker*   Fixes a memory leak when a graph node is invalid
747*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23578))
748*b6fb3261SAndroid Build Coastguard Worker*   Fixes an abort caused by allocating a vector that is too large
749*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23580))
750*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-failures during Grappler's `IsSimplifiableReshape`
751*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23581))
752*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-failures during Grappler's `SafeToRemoveIdentity`
753*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23579))
754*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-failures in `TensorByteSize`
755*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23582))
756*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-failures in binary ops due to type confusion
757*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23583))
758*b6fb3261SAndroid Build Coastguard Worker*   Fixes a use after free in `DecodePng` kernel
759*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23584))
760*b6fb3261SAndroid Build Coastguard Worker*   Fixes a memory leak in decoding PNG images
761*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23585))
762*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-fails in `function.cc`
763*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23586))
764*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-fails due to attempting to build a reference tensor
765*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23588))
766*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in Grappler cost estimation of crop and resize
767*b6fb3261SAndroid Build Coastguard Worker    operation
768*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23587))
769*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in Grappler's `IsConstant`
770*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23589))
771*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK` failure in constant folding
772*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197))
773*b6fb3261SAndroid Build Coastguard Worker*   Fixes a stack overflow due to self-recursive function in `GraphDef`
774*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23591))
775*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB access in `RunForwardTypeInference`
776*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23592](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23592))
777*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash due to erroneous `StatusOr`
778*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23590](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23590))
779*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple crashes and heap OOB accesses in TFG dialect (MLIR)
780*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23594](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23594))
781*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `simplifyBroadcast` (MLIR)
782*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23593](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23593))
783*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `BuildXlaCompilationCache` (XLA)
784*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23595](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23595))
785*b6fb3261SAndroid Build Coastguard Worker*   Updates `icu` to `69.1` to handle
786*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-10531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10531)
787*b6fb3261SAndroid Build Coastguard Worker
788*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
789*b6fb3261SAndroid Build Coastguard Worker
790*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
791*b6fb3261SAndroid Build Coastguard Worker
792*b6fb3261SAndroid Build Coastguard Worker8bitmp3, Adam Lanicek, ag.ramesh, alesapin, Andrew Goodbody, annasuheyla, Ariel
793*b6fb3261SAndroid Build Coastguard WorkerElkin, Arnab Dutta, Ben Barsdell, bhack, cfRod, Chengji Yao, Christopher Bate,
794*b6fb3261SAndroid Build Coastguard Workerdan, Dan F-M, David Korczynski, DEKHTIARJonathan, dengzhiyuan, Deven Desai,
795*b6fb3261SAndroid Build Coastguard WorkerDuncan Riach, Eli Osherovich, Ewout Ter Hoeven, ez2take, Faijul Amin, fo40225,
796*b6fb3261SAndroid Build Coastguard WorkerFrederic Bastien, gadagashwini, Gauri1 Deshpande, Georgiy Manuilov, Guilherme De
797*b6fb3261SAndroid Build Coastguard WorkerLázari, Guozhong Zhuang, H1Gdev, homuler, Hongxu Jia, Jacky_Yin, jayfurmanek,
798*b6fb3261SAndroid Build Coastguard Workerjgehw, Jhalak Patel, Jinzhe Zeng, Johan Gunnarsson, Jonathan Dekhtiar, Kaixi
799*b6fb3261SAndroid Build Coastguard WorkerHou, Kanvi Khanna, Kevin Cheng, Koan-Sin Tan, Kruglov-Dmitry, Kun Lu, Lemo,
800*b6fb3261SAndroid Build Coastguard WorkerLequn Chen, long.chen, Louis Sugy, Mahmoud Abuzaina, Mao, Marius Brehler, Mark
801*b6fb3261SAndroid Build Coastguard WorkerHarfouche, Martin Patz, Maxiwell S. Garcia, Meenakshi Venkataraman, Michael
802*b6fb3261SAndroid Build Coastguard WorkerMelesse, Mrinal Tyagi, Måns Nilsson, Nathan John Sircombe, Nathan Luehr, Nilesh
803*b6fb3261SAndroid Build Coastguard WorkerAgarwalla, Oktay Ozturk, Patrice Vignola, Pawel-Polyai, Rama Ketineni, Ramesh
804*b6fb3261SAndroid Build Coastguard WorkerSampath, Reza Rahimi, Rob Suderman, Robert Kalmar, Rohit Santhanam, Sachin
805*b6fb3261SAndroid Build Coastguard WorkerMuradi, Saduf2019, Samuel Marks, Shi,Guangyong, Sidong-Wei, Srinivasan
806*b6fb3261SAndroid Build Coastguard WorkerNarayanamoorthy, Srishti Srivastava, Steven I Reeves, stevenireeves, Supernovae,
807*b6fb3261SAndroid Build Coastguard WorkerTamas Bela Feher, Tao Xu, Thibaut Goetghebuer-Planchon, Thomas Schmeyer,
808*b6fb3261SAndroid Build Coastguard Workertilakrayal, Valery Mironov, Victor Guo, Vignesh Kothapalli, Vishnuvardhan
809*b6fb3261SAndroid Build Coastguard WorkerJanapati, wamuir, Wang,Quintin, William Muir, William Raveane, Yash Goel, Yimei
810*b6fb3261SAndroid Build Coastguard WorkerSun, Yong Tang, Yuduo Wu
811*b6fb3261SAndroid Build Coastguard Worker
812*b6fb3261SAndroid Build Coastguard Worker# Release 2.7.1
813*b6fb3261SAndroid Build Coastguard Worker
814*b6fb3261SAndroid Build Coastguard WorkerThis releases introduces several vulnerability fixes:
815*b6fb3261SAndroid Build Coastguard Worker
816*b6fb3261SAndroid Build Coastguard Worker*   Fixes a floating point division by 0 when executing convolution operators
817*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21725](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21725))
818*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in shape inference for `ReverseSequence`
819*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21728](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21728))
820*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB access in `Dequantize`
821*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21726](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21726))
822*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in shape inference for `Dequantize`
823*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21727](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21727))
824*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB access in `FractionalAvgPoolGrad`
825*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21730](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21730))
826*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow and divide by zero in `UnravelIndex`
827*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21729](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21729))
828*b6fb3261SAndroid Build Coastguard Worker*   Fixes a type confusion in shape inference for `ConcatV2`
829*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21731](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21731))
830*b6fb3261SAndroid Build Coastguard Worker*   Fixes an OOM in `ThreadPoolHandle`
831*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21732](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21732))
832*b6fb3261SAndroid Build Coastguard Worker*   Fixes an OOM due to integer overflow in `StringNGrams`
833*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21733](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21733))
834*b6fb3261SAndroid Build Coastguard Worker*   Fixes more issues caused by incomplete validation in boosted trees code
835*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41208))
836*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflows in most sparse component-wise ops
837*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23567))
838*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflows in `AddManySparseToTensorsMap`
839*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23568))
840*b6fb3261SAndroid Build Coastguard Worker*   Fixes a number of `CHECK`-failures in `MapStage`
841*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21734](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21734))
842*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in `FractionalMaxPool`
843*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21735](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21735))
844*b6fb3261SAndroid Build Coastguard Worker*   Fixes a number of `CHECK`-fails when building invalid/overflowing tensor
845*b6fb3261SAndroid Build Coastguard Worker    shapes
846*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23569))
847*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior in `SparseTensorSliceDataset`
848*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21736](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21736))
849*b6fb3261SAndroid Build Coastguard Worker*   Fixes an assertion failure based denial of service via faulty bin count
850*b6fb3261SAndroid Build Coastguard Worker    operations
851*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21737](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21737))
852*b6fb3261SAndroid Build Coastguard Worker*   Fixes a reference binding to null pointer in `QuantizedMaxPool`
853*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21739](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21739))
854*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow leading to crash in `SparseCountSparseOutput`
855*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21738](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21738))
856*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap overflow in `SparseCountSparseOutput`
857*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21740](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21740))
858*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in `BiasAndClamp` in TFLite
859*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23557))
860*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in depthwise convolutions in TFLite
861*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21741](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21741))
862*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in TFLite array creation
863*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23558))
864*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in TFLite
865*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23559))
866*b6fb3261SAndroid Build Coastguard Worker*   Fixes a dangerous OOB write in TFLite
867*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23561))
868*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability leading to read and write outside of bounds in TFLite
869*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23560))
870*b6fb3261SAndroid Build Coastguard Worker*   Fixes a set of vulnerabilities caused by using insecure temporary files
871*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23563))
872*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in Range resulting in undefined behavior and OOM
873*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23562))
874*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability where missing validation causes `tf.sparse.split` to
875*b6fb3261SAndroid Build Coastguard Worker    crash when `axis` is a tuple
876*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41206))
877*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail when decoding resource handles from proto
878*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23564))
879*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail with repeated `AttrDef`
880*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23565))
881*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB write in Grappler
882*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23566))
883*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail when decoding invalid tensors from proto
884*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23571))
885*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null-dereference when specializing tensor type
886*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23570](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23570))
887*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash when type cannot be specialized
888*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23572](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23572))
889*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read/write in `SpecializeType`
890*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23574](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23574))
891*b6fb3261SAndroid Build Coastguard Worker*   Fixes an uninitialized variable access in `AssignOp`
892*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23573))
893*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in `OpLevelCostEstimator::CalculateTensorSize`
894*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23575))
895*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in `OpLevelCostEstimator::CalculateOutputSize`
896*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23576))
897*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null dereference in `GetInitOp`
898*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23577))
899*b6fb3261SAndroid Build Coastguard Worker*   Fixes a memory leak when a graph node is invalid
900*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23578))
901*b6fb3261SAndroid Build Coastguard Worker*   Fixes an abort caused by allocating a vector that is too large
902*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23580))
903*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-failures during Grappler's `IsSimplifiableReshape`
904*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23581))
905*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-failures during Grappler's `SafeToRemoveIdentity`
906*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23579))
907*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-failures in `TensorByteSize`
908*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23582))
909*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-failures in binary ops due to type confusion
910*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23583))
911*b6fb3261SAndroid Build Coastguard Worker*   Fixes a use after free in `DecodePng` kernel
912*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23584))
913*b6fb3261SAndroid Build Coastguard Worker*   Fixes a memory leak in decoding PNG images
914*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23585))
915*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-fails in `function.cc`
916*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23586))
917*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-fails due to attempting to build a reference tensor
918*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23588))
919*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in Grappler cost estimation of crop and resize
920*b6fb3261SAndroid Build Coastguard Worker    operation
921*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23587))
922*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in Grappler's `IsConstant`
923*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23589))
924*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK` failure in constant folding
925*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197))
926*b6fb3261SAndroid Build Coastguard Worker*   Fixes a stack overflow due to self-recursive function in `GraphDef`
927*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23591))
928*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash due to erroneous `StatusOr`
929*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23590](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23590))
930*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple crashes and heap OOB accesses in TFG dialect (MLIR)
931*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23594](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23594))
932*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `BuildXlaCompilationCache` (XLA)
933*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23595](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23595))
934*b6fb3261SAndroid Build Coastguard Worker*   Updates `icu` to `69.1` to handle
935*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-10531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10531)
936*b6fb3261SAndroid Build Coastguard Worker
937*b6fb3261SAndroid Build Coastguard Worker# Release 2.6.3
938*b6fb3261SAndroid Build Coastguard Worker
939*b6fb3261SAndroid Build Coastguard WorkerThis releases introduces several vulnerability fixes:
940*b6fb3261SAndroid Build Coastguard Worker
941*b6fb3261SAndroid Build Coastguard Worker*   Fixes a floating point division by 0 when executing convolution operators
942*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21725](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21725))
943*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in shape inference for `ReverseSequence`
944*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21728](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21728))
945*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB access in `Dequantize`
946*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21726](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21726))
947*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in shape inference for `Dequantize`
948*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21727](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21727))
949*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB access in `FractionalAvgPoolGrad`
950*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21730](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21730))
951*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow and divide by zero in `UnravelIndex`
952*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21729](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21729))
953*b6fb3261SAndroid Build Coastguard Worker*   Fixes a type confusion in shape inference for `ConcatV2`
954*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21731](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21731))
955*b6fb3261SAndroid Build Coastguard Worker*   Fixes an OOM in `ThreadPoolHandle`
956*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21732](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21732))
957*b6fb3261SAndroid Build Coastguard Worker*   Fixes an OOM due to integer overflow in `StringNGrams`
958*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21733](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21733))
959*b6fb3261SAndroid Build Coastguard Worker*   Fixes more issues caused by incomplete validation in boosted trees code
960*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41208))
961*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflows in most sparse component-wise ops
962*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23567))
963*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflows in `AddManySparseToTensorsMap`
964*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23568))
965*b6fb3261SAndroid Build Coastguard Worker*   Fixes a number of `CHECK`-failures in `MapStage`
966*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21734](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21734))
967*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in `FractionalMaxPool`
968*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21735](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21735))
969*b6fb3261SAndroid Build Coastguard Worker*   Fixes a number of `CHECK`-fails when building invalid/overflowing tensor
970*b6fb3261SAndroid Build Coastguard Worker    shapes
971*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23569))
972*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior in `SparseTensorSliceDataset`
973*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21736](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21736))
974*b6fb3261SAndroid Build Coastguard Worker*   Fixes an assertion failure based denial of service via faulty bin count
975*b6fb3261SAndroid Build Coastguard Worker    operations
976*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21737](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21737))
977*b6fb3261SAndroid Build Coastguard Worker*   Fixes a reference binding to null pointer in `QuantizedMaxPool`
978*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21739](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21739))
979*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow leading to crash in `SparseCountSparseOutput`
980*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21738](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21738))
981*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap overflow in `SparseCountSparseOutput`
982*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21740](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21740))
983*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in `BiasAndClamp` in TFLite
984*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23557))
985*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in depthwise convolutions in TFLite
986*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21741](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21741))
987*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in TFLite array creation
988*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23558))
989*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in TFLite
990*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23559))
991*b6fb3261SAndroid Build Coastguard Worker*   Fixes a dangerous OOB write in TFLite
992*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23561))
993*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability leading to read and write outside of bounds in TFLite
994*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23560))
995*b6fb3261SAndroid Build Coastguard Worker*   Fixes a set of vulnerabilities caused by using insecure temporary files
996*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23563))
997*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in Range resulting in undefined behavior and OOM
998*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23562))
999*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability where missing validation causes `tf.sparse.split` to
1000*b6fb3261SAndroid Build Coastguard Worker    crash when `axis` is a tuple
1001*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41206))
1002*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail when decoding resource handles from proto
1003*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23564))
1004*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail with repeated `AttrDef`
1005*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23565))
1006*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB write in Grappler
1007*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23566))
1008*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail when decoding invalid tensors from proto
1009*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23571))
1010*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null-dereference when specializing tensor type
1011*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23570](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23570))
1012*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash when type cannot be specialized
1013*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23572](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23572))
1014*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read/write in `SpecializeType`
1015*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23574](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23574))
1016*b6fb3261SAndroid Build Coastguard Worker*   Fixes an unitialized variable access in `AssignOp`
1017*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23573))
1018*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in `OpLevelCostEstimator::CalculateTensorSize`
1019*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23575))
1020*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in `OpLevelCostEstimator::CalculateOutputSize`
1021*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23576))
1022*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null dereference in `GetInitOp`
1023*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23577))
1024*b6fb3261SAndroid Build Coastguard Worker*   Fixes a memory leak when a graph node is invalid
1025*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23578))
1026*b6fb3261SAndroid Build Coastguard Worker*   Fixes an abort caused by allocating a vector that is too large
1027*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23580))
1028*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-failures during Grappler's `IsSimplifiableReshape`
1029*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23581))
1030*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-failures during Grappler's `SafeToRemoveIdentity`
1031*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23579))
1032*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-failures in `TensorByteSize`
1033*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23582))
1034*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-failures in binary ops due to type confusion
1035*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23583))
1036*b6fb3261SAndroid Build Coastguard Worker*   Fixes a use after free in `DecodePng` kernel
1037*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23584))
1038*b6fb3261SAndroid Build Coastguard Worker*   Fixes a memory leak in decoding PNG images
1039*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23585))
1040*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-fails in `function.cc`
1041*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23586))
1042*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-fails due to attempting to build a reference tensor
1043*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23588))
1044*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in Grappler cost estimation of crop and resize
1045*b6fb3261SAndroid Build Coastguard Worker    operation
1046*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23587))
1047*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in Grappler's `IsConstant`
1048*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23589))
1049*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK` failure in constant folding
1050*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197))
1051*b6fb3261SAndroid Build Coastguard Worker*   Fixes a stack overflow due to self-recursive function in `GraphDef`
1052*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23591))
1053*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `BuildXlaCompilationCache` (XLA)
1054*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23595](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23595))
1055*b6fb3261SAndroid Build Coastguard Worker*   Updates `icu` to `69.1` to handle
1056*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-10531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10531)
1057*b6fb3261SAndroid Build Coastguard Worker
1058*b6fb3261SAndroid Build Coastguard Worker# Release 2.5.3
1059*b6fb3261SAndroid Build Coastguard Worker
1060*b6fb3261SAndroid Build Coastguard WorkerThis releases introduces several vulnerability fixes:
1061*b6fb3261SAndroid Build Coastguard Worker
1062*b6fb3261SAndroid Build Coastguard Worker*   Fixes a floating point division by 0 when executing convolution operators
1063*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21725](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21725))
1064*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in shape inference for `ReverseSequence`
1065*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21728](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21728))
1066*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB access in `Dequantize`
1067*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21726](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21726))
1068*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in shape inference for `Dequantize`
1069*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21727](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21727))
1070*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB access in `FractionalAvgPoolGrad`
1071*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21730](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21730))
1072*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow and divide by zero in `UnravelIndex`
1073*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21729](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21729))
1074*b6fb3261SAndroid Build Coastguard Worker*   Fixes a type confusion in shape inference for `ConcatV2`
1075*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21731](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21731))
1076*b6fb3261SAndroid Build Coastguard Worker*   Fixes an OOM in `ThreadPoolHandle`
1077*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21732](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21732))
1078*b6fb3261SAndroid Build Coastguard Worker*   Fixes an OOM due to integer overflow in `StringNGrams`
1079*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21733](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21733))
1080*b6fb3261SAndroid Build Coastguard Worker*   Fixes more issues caused by incomplete validation in boosted trees code
1081*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41208))
1082*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflows in most sparse component-wise ops
1083*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23567))
1084*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflows in `AddManySparseToTensorsMap`
1085*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23568))
1086*b6fb3261SAndroid Build Coastguard Worker*   Fixes a number of `CHECK`-failures in `MapStage`
1087*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21734](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21734))
1088*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in `FractionalMaxPool`
1089*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21735](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21735))
1090*b6fb3261SAndroid Build Coastguard Worker*   Fixes a number of `CHECK`-fails when building invalid/overflowing tensor
1091*b6fb3261SAndroid Build Coastguard Worker    shapes
1092*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23569))
1093*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior in `SparseTensorSliceDataset`
1094*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21736](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21736))
1095*b6fb3261SAndroid Build Coastguard Worker*   Fixes an assertion failure based denial of service via faulty bin count
1096*b6fb3261SAndroid Build Coastguard Worker    operations
1097*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21737](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21737))
1098*b6fb3261SAndroid Build Coastguard Worker*   Fixes a reference binding to null pointer in `QuantizedMaxPool`
1099*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21739](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21739))
1100*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow leading to crash in `SparseCountSparseOutput`
1101*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21738](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21738))
1102*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap overflow in `SparseCountSparseOutput`
1103*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21740](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21740))
1104*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in `BiasAndClamp` in TFLite
1105*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23557))
1106*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in depthwise convolutions in TFLite
1107*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-21741](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21741))
1108*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in TFLite array creation
1109*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23558))
1110*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in TFLite
1111*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23559))
1112*b6fb3261SAndroid Build Coastguard Worker*   Fixes a dangerous OOB write in TFLite
1113*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23561))
1114*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability leading to read and write outside of bounds in TFLite
1115*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23560))
1116*b6fb3261SAndroid Build Coastguard Worker*   Fixes a set of vulnerabilities caused by using insecure temporary files
1117*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23563))
1118*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in Range resulting in undefined behavior and OOM
1119*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23562))
1120*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability where missing validation causes `tf.sparse.split` to
1121*b6fb3261SAndroid Build Coastguard Worker    crash when `axis` is a tuple
1122*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41206))
1123*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail when decoding resource handles from proto
1124*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23564))
1125*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail with repeated `AttrDef`
1126*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23565))
1127*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB write in Grappler
1128*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23566))
1129*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail when decoding invalid tensors from proto
1130*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23571))
1131*b6fb3261SAndroid Build Coastguard Worker*   Fixes an unitialized variable access in `AssignOp`
1132*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23573))
1133*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in `OpLevelCostEstimator::CalculateTensorSize`
1134*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23575))
1135*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in `OpLevelCostEstimator::CalculateOutputSize`
1136*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23576))
1137*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null dereference in `GetInitOp`
1138*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23577))
1139*b6fb3261SAndroid Build Coastguard Worker*   Fixes a memory leak when a graph node is invalid
1140*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23578))
1141*b6fb3261SAndroid Build Coastguard Worker*   Fixes an abort caused by allocating a vector that is too large
1142*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23580))
1143*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-failures during Grappler's `IsSimplifiableReshape`
1144*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23581))
1145*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-failures during Grappler's `SafeToRemoveIdentity`
1146*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23579))
1147*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-failures in `TensorByteSize`
1148*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23582))
1149*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-failures in binary ops due to type confusion
1150*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23583))
1151*b6fb3261SAndroid Build Coastguard Worker*   Fixes a use after free in `DecodePng` kernel
1152*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23584))
1153*b6fb3261SAndroid Build Coastguard Worker*   Fixes a memory leak in decoding PNG images
1154*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23585))
1155*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-fails in `function.cc`
1156*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23586))
1157*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple `CHECK`-fails due to attempting to build a reference tensor
1158*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23588))
1159*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow in Grappler cost estimation of crop and resize
1160*b6fb3261SAndroid Build Coastguard Worker    operation
1161*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23587))
1162*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in Grappler's `IsConstant`
1163*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23589))
1164*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK` failure in constant folding
1165*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197))
1166*b6fb3261SAndroid Build Coastguard Worker*   Fixes a stack overflow due to self-recursive function in `GraphDef`
1167*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2022-23591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23591))
1168*b6fb3261SAndroid Build Coastguard Worker*   Updates `icu` to `69.1` to handle
1169*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-10531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10531)
1170*b6fb3261SAndroid Build Coastguard Worker
1171*b6fb3261SAndroid Build Coastguard Worker# Release 2.7.0
1172*b6fb3261SAndroid Build Coastguard Worker
1173*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes
1174*b6fb3261SAndroid Build Coastguard Worker
1175*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
1176*b6fb3261SAndroid Build Coastguard Worker
1177*b6fb3261SAndroid Build Coastguard Worker    *   The methods `Model.fit()`, `Model.predict()`, and `Model.evaluate()`
1178*b6fb3261SAndroid Build Coastguard Worker        will no longer uprank input data of shape `(batch_size,)` to become
1179*b6fb3261SAndroid Build Coastguard Worker        `(batch_size, 1)`. This enables `Model` subclasses to process scalar
1180*b6fb3261SAndroid Build Coastguard Worker        data in their `train_step()`/`test_step()`/`predict_step()` methods. \
1181*b6fb3261SAndroid Build Coastguard Worker        Note that this change may break certain subclassed models. You can
1182*b6fb3261SAndroid Build Coastguard Worker        revert back to the previous behavior by adding upranking yourself in the
1183*b6fb3261SAndroid Build Coastguard Worker        `train_step()`/`test_step()`/`predict_step()` methods, e.g. `if
1184*b6fb3261SAndroid Build Coastguard Worker        x.shape.rank == 1: x = tf.expand_dims(x, axis=-1)`. Functional models as
1185*b6fb3261SAndroid Build Coastguard Worker        well as Sequential models built with an explicit input shape are not
1186*b6fb3261SAndroid Build Coastguard Worker        affected.
1187*b6fb3261SAndroid Build Coastguard Worker    *   The methods `Model.to_yaml()` and `keras.models.model_from_yaml` have
1188*b6fb3261SAndroid Build Coastguard Worker        been replaced to raise a `RuntimeError` as they can be abused to cause
1189*b6fb3261SAndroid Build Coastguard Worker        arbitrary code execution. It is recommended to use JSON serialization
1190*b6fb3261SAndroid Build Coastguard Worker        instead of YAML, or, a better alternative, serialize to H5.
1191*b6fb3261SAndroid Build Coastguard Worker    *   `LinearModel` and `WideDeepModel` are moved to the
1192*b6fb3261SAndroid Build Coastguard Worker        `tf.compat.v1.keras.models.` namespace
1193*b6fb3261SAndroid Build Coastguard Worker        (`tf.compat.v1.keras.models.LinearModel` and
1194*b6fb3261SAndroid Build Coastguard Worker        `tf.compat.v1.keras.models.WideDeepModel`), and their `experimental`
1195*b6fb3261SAndroid Build Coastguard Worker        endpoints (`tf.keras.experimental.models.LinearModel` and
1196*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.experimental.models.WideDeepModel`) are being deprecated.
1197*b6fb3261SAndroid Build Coastguard Worker    *   RNG behavior change for all `tf.keras.initializers` classes. For any
1198*b6fb3261SAndroid Build Coastguard Worker        class constructed with a fixed seed, it will no longer generate same
1199*b6fb3261SAndroid Build Coastguard Worker        value when invoked multiple times. Instead, it will return different
1200*b6fb3261SAndroid Build Coastguard Worker        value, but a deterministic sequence. This change will make the
1201*b6fb3261SAndroid Build Coastguard Worker        initialize behavior align between v1 and v2.
1202*b6fb3261SAndroid Build Coastguard Worker
1203*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`:
1204*b6fb3261SAndroid Build Coastguard Worker
1205*b6fb3261SAndroid Build Coastguard Worker    *   Rename fields `SignatureDef` table in schema to maximize the parity with
1206*b6fb3261SAndroid Build Coastguard Worker        TF SavedModel's Signature concept.
1207*b6fb3261SAndroid Build Coastguard Worker    *   Deprecate Makefile builds. Makefile users need to migrate their builds
1208*b6fb3261SAndroid Build Coastguard Worker        to CMake or Bazel. Please refer to the
1209*b6fb3261SAndroid Build Coastguard Worker        [Build TensorFlow Lite with CMake](https://www.tensorflow.org/lite/guide/build_cmake)
1210*b6fb3261SAndroid Build Coastguard Worker        and
1211*b6fb3261SAndroid Build Coastguard Worker        [Build TensorFlow Lite for ARM boards](https://www.tensorflow.org/lite/guide/build_arm)
1212*b6fb3261SAndroid Build Coastguard Worker        for the migration.
1213*b6fb3261SAndroid Build Coastguard Worker    *   Deprecate `tflite::OpResolver::GetDelegates`. The list returned by
1214*b6fb3261SAndroid Build Coastguard Worker        TfLite's `BuiltinOpResolver::GetDelegates` is now always empty. Instead,
1215*b6fb3261SAndroid Build Coastguard Worker        recommend using new method `tflite::OpResolver::GetDelegateCreators` in
1216*b6fb3261SAndroid Build Coastguard Worker        order to achieve lazy initialization on TfLite delegate instances.
1217*b6fb3261SAndroid Build Coastguard Worker
1218*b6fb3261SAndroid Build Coastguard Worker*   TF Core:
1219*b6fb3261SAndroid Build Coastguard Worker
1220*b6fb3261SAndroid Build Coastguard Worker    *   `tf.Graph.get_name_scope()` now always returns a string, as documented.
1221*b6fb3261SAndroid Build Coastguard Worker        Previously, when called within `name_scope("")` or `name_scope(None)`
1222*b6fb3261SAndroid Build Coastguard Worker        contexts, it returned `None`; now it returns the empty string.
1223*b6fb3261SAndroid Build Coastguard Worker    *   `tensorflow/core/ir/` contains a new MLIR-based Graph dialect that is
1224*b6fb3261SAndroid Build Coastguard Worker        isomorphic to GraphDef and will be used to replace GraphDef-based (e.g.,
1225*b6fb3261SAndroid Build Coastguard Worker        Grappler) optimizations.
1226*b6fb3261SAndroid Build Coastguard Worker    *   Deprecated and removed `attrs()` function in shape inference. All
1227*b6fb3261SAndroid Build Coastguard Worker        attributes should be queried by name now (rather than range returned) to
1228*b6fb3261SAndroid Build Coastguard Worker        enable changing the underlying storage there.
1229*b6fb3261SAndroid Build Coastguard Worker    *   The following Python symbols were accidentally added in earlier versions
1230*b6fb3261SAndroid Build Coastguard Worker        of TensorFlow and now are removed. Each symbol has a replacement that
1231*b6fb3261SAndroid Build Coastguard Worker        should be used instead, but note the replacement's argument names are
1232*b6fb3261SAndroid Build Coastguard Worker        different.
1233*b6fb3261SAndroid Build Coastguard Worker        *   `tf.quantize_and_dequantize_v4` (accidentally introduced in
1234*b6fb3261SAndroid Build Coastguard Worker            TensorFlow 2.4): Use `tf.quantization.quantize_and_dequantize_v2`
1235*b6fb3261SAndroid Build Coastguard Worker            instead.
1236*b6fb3261SAndroid Build Coastguard Worker        *   `tf.batch_mat_mul_v3` (accidentally introduced in TensorFlow 2.6):
1237*b6fb3261SAndroid Build Coastguard Worker            Use `tf.linalg.matmul` instead.
1238*b6fb3261SAndroid Build Coastguard Worker        *   `tf.sparse_segment_sum_grad` (accidentally introduced in TensorFlow
1239*b6fb3261SAndroid Build Coastguard Worker            2.6): Use `tf.raw_ops.SparseSegmentSumGrad` instead. Directly
1240*b6fb3261SAndroid Build Coastguard Worker            calling this op is typically not necessary, as it is automatically
1241*b6fb3261SAndroid Build Coastguard Worker            used when computing the gradient of `tf.sparse.segment_sum`.
1242*b6fb3261SAndroid Build Coastguard Worker    *   Renaming of tensorflow::int64 to int_64_t in numerous places (the former
1243*b6fb3261SAndroid Build Coastguard Worker        is an alias for the latter) which could result in needing to regenerate
1244*b6fb3261SAndroid Build Coastguard Worker        selective op registration headers else execution would fail with
1245*b6fb3261SAndroid Build Coastguard Worker        unregistered kernels error.
1246*b6fb3261SAndroid Build Coastguard Worker
1247*b6fb3261SAndroid Build Coastguard Worker*   Modular File System Migration:
1248*b6fb3261SAndroid Build Coastguard Worker
1249*b6fb3261SAndroid Build Coastguard Worker    *   Support for S3 and HDFS file systems has been migrated to a modular file
1250*b6fb3261SAndroid Build Coastguard Worker        systems based approach and is now available in
1251*b6fb3261SAndroid Build Coastguard Worker        https://github.com/tensorflow/io. The `tensorflow-io` python package
1252*b6fb3261SAndroid Build Coastguard Worker        should be installed for S3 and HDFS support with tensorflow.
1253*b6fb3261SAndroid Build Coastguard Worker
1254*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
1255*b6fb3261SAndroid Build Coastguard Worker
1256*b6fb3261SAndroid Build Coastguard Worker*   Improvements to the TensorFlow debugging experience:
1257*b6fb3261SAndroid Build Coastguard Worker
1258*b6fb3261SAndroid Build Coastguard Worker    *   Previously, TensorFlow error stack traces involved many internal frames,
1259*b6fb3261SAndroid Build Coastguard Worker        which could be challenging to read through, while not being actionable
1260*b6fb3261SAndroid Build Coastguard Worker        for end users. As of TF 2.7, TensorFlow filters internal frames in most
1261*b6fb3261SAndroid Build Coastguard Worker        errors that it raises, to keep stack traces short, readable, and focused
1262*b6fb3261SAndroid Build Coastguard Worker        on what's actionable for end users (their own code).
1263*b6fb3261SAndroid Build Coastguard Worker
1264*b6fb3261SAndroid Build Coastguard Worker    This behavior can be disabled by calling
1265*b6fb3261SAndroid Build Coastguard Worker    `tf.debugging.disable_traceback_filtering()`, and can be re-enabled via
1266*b6fb3261SAndroid Build Coastguard Worker    `tf.debugging.enable_traceback_filtering()`. If you are debugging a
1267*b6fb3261SAndroid Build Coastguard Worker    TensorFlow-internal issue (e.g. to prepare a TensorFlow PR), make sure to
1268*b6fb3261SAndroid Build Coastguard Worker    disable traceback filtering. You can check whether this feature is currently
1269*b6fb3261SAndroid Build Coastguard Worker    enabled by calling `tf.debugging.is_traceback_filtering_enabled()`.
1270*b6fb3261SAndroid Build Coastguard Worker
1271*b6fb3261SAndroid Build Coastguard Worker    Note that this feature is only available with Python 3.7 or higher.
1272*b6fb3261SAndroid Build Coastguard Worker
1273*b6fb3261SAndroid Build Coastguard Worker    *   Improve the informativeness of error messages raised by Keras
1274*b6fb3261SAndroid Build Coastguard Worker        `Layer.__call__()`, by adding the full list of argument values passed to
1275*b6fb3261SAndroid Build Coastguard Worker        the layer in every exception.
1276*b6fb3261SAndroid Build Coastguard Worker
1277*b6fb3261SAndroid Build Coastguard Worker*   Introduce the `tf.compat.v1.keras.utils.track_tf1_style_variables`
1278*b6fb3261SAndroid Build Coastguard Worker    decorator, which enables using large classes of tf1-style variable_scope,
1279*b6fb3261SAndroid Build Coastguard Worker    `get_variable`, and `compat.v1.layer`-based components from within TF2
1280*b6fb3261SAndroid Build Coastguard Worker    models running with TF2 behavior enabled.
1281*b6fb3261SAndroid Build Coastguard Worker
1282*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`:
1283*b6fb3261SAndroid Build Coastguard Worker
1284*b6fb3261SAndroid Build Coastguard Worker    *   tf.data service now supports auto-sharding. Users specify the sharding
1285*b6fb3261SAndroid Build Coastguard Worker        policy with `tf.data.experimental.service.ShardingPolicy` enum. It can
1286*b6fb3261SAndroid Build Coastguard Worker        be one of `OFF` (equivalent to today's `"parallel_epochs"` mode),
1287*b6fb3261SAndroid Build Coastguard Worker        `DYNAMIC` (equivalent to today's `"distributed_epoch"` mode), or one of
1288*b6fb3261SAndroid Build Coastguard Worker        the static sharding policies: `FILE`, `DATA`, `FILE_OR_DATA`, or `HINT`
1289*b6fb3261SAndroid Build Coastguard Worker        (corresponding to values of `tf.data.experimental.AutoShardPolicy`).
1290*b6fb3261SAndroid Build Coastguard Worker
1291*b6fb3261SAndroid Build Coastguard Worker        Static sharding (auto-sharding) requires the number of tf.data service
1292*b6fb3261SAndroid Build Coastguard Worker        workers be fixed. Users need to specify the worker addresses in
1293*b6fb3261SAndroid Build Coastguard Worker        `tensorflow.data.experimental.DispatcherConfig`.
1294*b6fb3261SAndroid Build Coastguard Worker
1295*b6fb3261SAndroid Build Coastguard Worker    *   `tf.data.experimental.service.register_dataset` now accepts optional
1296*b6fb3261SAndroid Build Coastguard Worker        `compression` argument.
1297*b6fb3261SAndroid Build Coastguard Worker
1298*b6fb3261SAndroid Build Coastguard Worker*   Keras:
1299*b6fb3261SAndroid Build Coastguard Worker
1300*b6fb3261SAndroid Build Coastguard Worker    *   `tf.keras.layers.Conv` now includes a public `convolution_op` method.
1301*b6fb3261SAndroid Build Coastguard Worker        This method can be used to simplify the implementation of Conv
1302*b6fb3261SAndroid Build Coastguard Worker        subclasses. There are two primary ways to use this new method. The first
1303*b6fb3261SAndroid Build Coastguard Worker        is to use the method directly in your own `call` method: `python class
1304*b6fb3261SAndroid Build Coastguard Worker        StandardizedConv2D(tf.keras.layers.Conv2D): def call(self, inputs):
1305*b6fb3261SAndroid Build Coastguard Worker        mean, var = tf.nn.moments(self.kernel, axes=[0, 1, 2], keepdims=True)
1306*b6fb3261SAndroid Build Coastguard Worker        return self.convolution_op(inputs, (self.kernel - mean) / tf.sqrt(var +
1307*b6fb3261SAndroid Build Coastguard Worker        1e-10))` Alternatively, you can override `convolution_op`: `python class
1308*b6fb3261SAndroid Build Coastguard Worker        StandardizedConv2D(tf.keras.Layer): def convolution_op(self, inputs,
1309*b6fb3261SAndroid Build Coastguard Worker        kernel): mean, var = tf.nn.moments(kernel, axes=[0, 1, 2],
1310*b6fb3261SAndroid Build Coastguard Worker        keepdims=True) # Author code uses std + 1e-5 return
1311*b6fb3261SAndroid Build Coastguard Worker        super().convolution_op(inputs, (kernel - mean) / tf.sqrt(var + 1e-10))`
1312*b6fb3261SAndroid Build Coastguard Worker    *   Added `merge_state()` method to `tf.keras.metrics.Metric` for use in
1313*b6fb3261SAndroid Build Coastguard Worker        distributed computations.
1314*b6fb3261SAndroid Build Coastguard Worker    *   Added `sparse` and `ragged` options to
1315*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.layers.TextVectorization` to allow for `SparseTensor` and
1316*b6fb3261SAndroid Build Coastguard Worker        `RaggedTensor` outputs from the layer.
1317*b6fb3261SAndroid Build Coastguard Worker
1318*b6fb3261SAndroid Build Coastguard Worker*   distribute.experimental.rpc package:
1319*b6fb3261SAndroid Build Coastguard Worker
1320*b6fb3261SAndroid Build Coastguard Worker    *   distribute.experimental.rpc package introduces APIs to create a GRPC
1321*b6fb3261SAndroid Build Coastguard Worker        based server to register tf.function methods and a GRPC client to invoke
1322*b6fb3261SAndroid Build Coastguard Worker        remote registered methods. RPC APIs are intended for multi-client setups
1323*b6fb3261SAndroid Build Coastguard Worker        i.e. server and clients are started in separate binaries independently.
1324*b6fb3261SAndroid Build Coastguard Worker
1325*b6fb3261SAndroid Build Coastguard Worker    *   Example usage to create server: ```python server =
1326*b6fb3261SAndroid Build Coastguard Worker        tf.distribute.experimental.rpc.Server.create("grpc", "127.0.0.1:1234")
1327*b6fb3261SAndroid Build Coastguard Worker        @tf.function(input_signature=[ tf.TensorSpec([], tf.int32),
1328*b6fb3261SAndroid Build Coastguard Worker        tf.TensorSpec([], dtypes.int32) ]) def _remote_multiply(a, b): return
1329*b6fb3261SAndroid Build Coastguard Worker        tf.math.multiply(a, b)
1330*b6fb3261SAndroid Build Coastguard Worker
1331*b6fb3261SAndroid Build Coastguard Worker        server.register("multiply", _remote_multiply) ```
1332*b6fb3261SAndroid Build Coastguard Worker
1333*b6fb3261SAndroid Build Coastguard Worker    *   Example usage to create client: `python client =
1334*b6fb3261SAndroid Build Coastguard Worker        tf.distribute.experimental.rpc.Client.create("grpc", address) a =
1335*b6fb3261SAndroid Build Coastguard Worker        tf.constant(2, dtype=tf.int32) b = tf.constant(3, dtype=tf.int32)
1336*b6fb3261SAndroid Build Coastguard Worker        result = client.multiply(a, b)`
1337*b6fb3261SAndroid Build Coastguard Worker
1338*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`:
1339*b6fb3261SAndroid Build Coastguard Worker
1340*b6fb3261SAndroid Build Coastguard Worker    *   Add experimental API `experimental_from_jax` to support conversion from
1341*b6fb3261SAndroid Build Coastguard Worker        Jax models to TensorFlow Lite.
1342*b6fb3261SAndroid Build Coastguard Worker    *   Support uint32 data type for cast op.
1343*b6fb3261SAndroid Build Coastguard Worker    *   Support int8 data type for cast op.
1344*b6fb3261SAndroid Build Coastguard Worker    *   Add experimental quantization debugger `tf.lite.QuantizationDebugger`
1345*b6fb3261SAndroid Build Coastguard Worker    *   Add lite.experimental.authoring.compatible API
1346*b6fb3261SAndroid Build Coastguard Worker        *   A Python decorator to provide a way to check TFLite compatibility
1347*b6fb3261SAndroid Build Coastguard Worker            issue of `tf.function`. This returns a callable object which
1348*b6fb3261SAndroid Build Coastguard Worker            validates TFLite compatibility. If an incompatible operation is
1349*b6fb3261SAndroid Build Coastguard Worker            encountered during execution, an exception will be raised with
1350*b6fb3261SAndroid Build Coastguard Worker            information about the incompatible ops.
1351*b6fb3261SAndroid Build Coastguard Worker    *   Add lite.experimental.Analyzer API
1352*b6fb3261SAndroid Build Coastguard Worker        *   An experimental tool to analyze TFLite flatbuffer models. This API
1353*b6fb3261SAndroid Build Coastguard Worker            can be used to investigate TFLite model structure and check
1354*b6fb3261SAndroid Build Coastguard Worker            compatibility with GPU delegate.
1355*b6fb3261SAndroid Build Coastguard Worker
1356*b6fb3261SAndroid Build Coastguard Worker*   Extension Types
1357*b6fb3261SAndroid Build Coastguard Worker
1358*b6fb3261SAndroid Build Coastguard Worker    *   Add experimental API to define new Python classes that can be handled by
1359*b6fb3261SAndroid Build Coastguard Worker        TensorFlow APIs. To create an extension type, simply define a Python
1360*b6fb3261SAndroid Build Coastguard Worker        class with `tf.experimental.ExtensionType` as its base, and use type
1361*b6fb3261SAndroid Build Coastguard Worker        annotations to specify the type for each field. E.g.: `python class
1362*b6fb3261SAndroid Build Coastguard Worker        MaskedTensor(tf.experimental.ExtensionType): values: tf.Tensor mask:
1363*b6fb3261SAndroid Build Coastguard Worker        tf.Tensor` The `tf.ExtensionType` base class works similarly to
1364*b6fb3261SAndroid Build Coastguard Worker        [`typing.NamedTuple`](https://docs.python.org/3/library/typing.html#typing.NamedTuple)
1365*b6fb3261SAndroid Build Coastguard Worker        and
1366*b6fb3261SAndroid Build Coastguard Worker        [`@dataclasses.dataclass`](https://docs.python.org/3/library/dataclasses.html#dataclasses.dataclass)
1367*b6fb3261SAndroid Build Coastguard Worker        from the standard Python library.
1368*b6fb3261SAndroid Build Coastguard Worker    *   Extension types are supported by Keras, tf.data, TF-hub, SavedModel,
1369*b6fb3261SAndroid Build Coastguard Worker        tf.function, control flow ops, py_function, and distribution strategy.
1370*b6fb3261SAndroid Build Coastguard Worker    *   Add "dispatch decorators" that can be used to override the default
1371*b6fb3261SAndroid Build Coastguard Worker        behavior of TensorFlow ops (such as `tf.add` or `tf.concat`) when they
1372*b6fb3261SAndroid Build Coastguard Worker        are applied to ExtensionType values.
1373*b6fb3261SAndroid Build Coastguard Worker    *   The `BatchableExtensionType` API can be used to define extension types
1374*b6fb3261SAndroid Build Coastguard Worker        that support APIs that make use of batching, such as `tf.data.Dataset`
1375*b6fb3261SAndroid Build Coastguard Worker        and `tf.map_fn`.
1376*b6fb3261SAndroid Build Coastguard Worker    *   For more information, see the
1377*b6fb3261SAndroid Build Coastguard Worker        [Extension types guide](https://www.tensorflow.org/guide/extension_type).
1378*b6fb3261SAndroid Build Coastguard Worker
1379*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
1380*b6fb3261SAndroid Build Coastguard Worker
1381*b6fb3261SAndroid Build Coastguard Worker*   TF Core:
1382*b6fb3261SAndroid Build Coastguard Worker    *   Random number generation (RNG) system
1383*b6fb3261SAndroid Build Coastguard Worker        *   Add argument `alg` to `tf.random.stateless_*` functions to
1384*b6fb3261SAndroid Build Coastguard Worker            explicitly select the RNG algorithm.
1385*b6fb3261SAndroid Build Coastguard Worker        *   Add `tf.nn.experimental.stateless_dropout`, a stateless version of
1386*b6fb3261SAndroid Build Coastguard Worker            `tf.nn.dropout`.
1387*b6fb3261SAndroid Build Coastguard Worker        *   `tf.random.Generator` now can be created inside the scope of
1388*b6fb3261SAndroid Build Coastguard Worker            `tf.distribute.experimental.ParameterServerStrategy` and
1389*b6fb3261SAndroid Build Coastguard Worker            `tf.distribute.experimental.CentralStorageStrategy`.
1390*b6fb3261SAndroid Build Coastguard Worker    *   Add an experimental session config
1391*b6fb3261SAndroid Build Coastguard Worker        `tf.experimental.disable_functional_ops_lowering` which disables
1392*b6fb3261SAndroid Build Coastguard Worker        functional control flow op lowering optimization. This is useful when
1393*b6fb3261SAndroid Build Coastguard Worker        executing within a portable runtime where control flow op kernels may
1394*b6fb3261SAndroid Build Coastguard Worker        not be loaded due to selective registration.
1395*b6fb3261SAndroid Build Coastguard Worker    *   Add a new experimental argument `experimental_is_anonymous` to
1396*b6fb3261SAndroid Build Coastguard Worker        `tf.lookup.StaticHashTable.__init__` to create the table in anonymous
1397*b6fb3261SAndroid Build Coastguard Worker        mode. In this mode, the table resource can only be accessed via resource
1398*b6fb3261SAndroid Build Coastguard Worker        handles (not resource names) and will be deleted automatically when all
1399*b6fb3261SAndroid Build Coastguard Worker        resource handles pointing to it are gone.
1400*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`:
1401*b6fb3261SAndroid Build Coastguard Worker    *   Introduce the `tf.data.experimental.at` API which provides random access
1402*b6fb3261SAndroid Build Coastguard Worker        for input pipelines that consist of transformations that support random
1403*b6fb3261SAndroid Build Coastguard Worker        access. The initial set of transformations that support random access
1404*b6fb3261SAndroid Build Coastguard Worker        includes:
1405*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Dataset.from_tensor_slices`,`tf.data.Dataset.shuffle`,
1406*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Dataset.batch`, `tf.data.Dataset.shard`, `tf.data.Dataset.map`,
1407*b6fb3261SAndroid Build Coastguard Worker        and `tf.data.Dataset.range`.
1408*b6fb3261SAndroid Build Coastguard Worker    *   Promote `tf.data.Options.experimental_deterministic` API to
1409*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Options.deterministic` and deprecate the experimental endpoint.
1410*b6fb3261SAndroid Build Coastguard Worker    *   Move autotuning options
1411*b6fb3261SAndroid Build Coastguard Worker        from`tf.data.Options.experimental_optimization.autotune*` to a newly
1412*b6fb3261SAndroid Build Coastguard Worker        created `tf.data.Options.autotune.*` and remove support for
1413*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Options.experimental_optimization.autotune_buffers`.
1414*b6fb3261SAndroid Build Coastguard Worker    *   Add support for user-defined names of tf.data core Python API, which can
1415*b6fb3261SAndroid Build Coastguard Worker        be used to disambiguate tf.data events in TF Profiler Trace Viewer.
1416*b6fb3261SAndroid Build Coastguard Worker    *   Promote `tf.data.experimental.sample_from_datasets` API to
1417*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Dataset.sample_from_datasets` and deprecate the experimental
1418*b6fb3261SAndroid Build Coastguard Worker        endpoint.
1419*b6fb3261SAndroid Build Coastguard Worker    *   Added `TF_GPU_ALLOCATOR=cuda_malloc_async` that use cudaMallocAsync from
1420*b6fb3261SAndroid Build Coastguard Worker        CUDA 11.2. This could become the default in the future.
1421*b6fb3261SAndroid Build Coastguard Worker*   TF SavedModel:
1422*b6fb3261SAndroid Build Coastguard Worker    *   Custom gradients are now saved by default. See
1423*b6fb3261SAndroid Build Coastguard Worker        `tf.saved_model.SaveOptions` to disable this.
1424*b6fb3261SAndroid Build Coastguard Worker    *   The saved_model_cli's `--input_examples` inputs are now restricted to
1425*b6fb3261SAndroid Build Coastguard Worker        python literals to avoid code injection.
1426*b6fb3261SAndroid Build Coastguard Worker*   XLA:
1427*b6fb3261SAndroid Build Coastguard Worker    *   Add a new API that allows custom call functions to signal errors. The
1428*b6fb3261SAndroid Build Coastguard Worker        old API will be deprecated in a future release. See
1429*b6fb3261SAndroid Build Coastguard Worker        https://www.tensorflow.org/xla/custom_call for details.
1430*b6fb3261SAndroid Build Coastguard Worker    *   XLA:GPU reductions are deterministic by default (reductions within
1431*b6fb3261SAndroid Build Coastguard Worker        `jit_compile=True` are now deterministic).
1432*b6fb3261SAndroid Build Coastguard Worker    *   XLA:GPU works with Horovod (OSS contribution by Trent Lo from NVidia)
1433*b6fb3261SAndroid Build Coastguard Worker    *   XLA:CPU and XLA:GPU can compile tf.unique and tf.where when shapes are
1434*b6fb3261SAndroid Build Coastguard Worker        provably correct at compile time.
1435*b6fb3261SAndroid Build Coastguard Worker*   `tf.saved_model.save`:
1436*b6fb3261SAndroid Build Coastguard Worker    *   When saving a model, not specifying a namespace whitelist for custom ops
1437*b6fb3261SAndroid Build Coastguard Worker        with a namespace will now default to allowing rather than rejecting them
1438*b6fb3261SAndroid Build Coastguard Worker        all.
1439*b6fb3261SAndroid Build Coastguard Worker*   Deterministic Op Functionality (enabled by setting the environment variable
1440*b6fb3261SAndroid Build Coastguard Worker    `TF_DETERMINISTIC_OPS` to `"true"` or `"1"`):
1441*b6fb3261SAndroid Build Coastguard Worker    *   Add determinsitic GPU implementations of:
1442*b6fb3261SAndroid Build Coastguard Worker        *   `tf.math.segment_sum`
1443*b6fb3261SAndroid Build Coastguard Worker        *   `tf.math.segment_prod`
1444*b6fb3261SAndroid Build Coastguard Worker        *   `tf.math.segment_mean`
1445*b6fb3261SAndroid Build Coastguard Worker        *   `tf.math.unsorted_segment_sum`
1446*b6fb3261SAndroid Build Coastguard Worker        *   `tf.math.unsorted_segment_prod`
1447*b6fb3261SAndroid Build Coastguard Worker        *   `tf.math.unsorted_segment_sqrt`
1448*b6fb3261SAndroid Build Coastguard Worker        *   `tf.math.unsorted_segment_mean`
1449*b6fb3261SAndroid Build Coastguard Worker        *   `tf.gather` backprop
1450*b6fb3261SAndroid Build Coastguard Worker        *   `tf.convert_to_tensor` when fed with (sparse) `tf.IndexedSlices`
1451*b6fb3261SAndroid Build Coastguard Worker        *   `tf.nn.sparse_softmax_crossentropy_with_logits`
1452*b6fb3261SAndroid Build Coastguard Worker        *   `tf.nn.ctc_loss` (resolved, possibly in prior release, and confirmed
1453*b6fb3261SAndroid Build Coastguard Worker            with tests)
1454*b6fb3261SAndroid Build Coastguard Worker        *   stateful ops used in `tf.data.Dataset`
1455*b6fb3261SAndroid Build Coastguard Worker    *   Run the following ops on CPU (with significant performance penalty):
1456*b6fb3261SAndroid Build Coastguard Worker        *   `tf.scatter_nd` and other related scatter functions, such as
1457*b6fb3261SAndroid Build Coastguard Worker            `tf.tensor_scatter_nd_update`
1458*b6fb3261SAndroid Build Coastguard Worker    *   Add determinism-unimplemented exception-throwing to the following ops.
1459*b6fb3261SAndroid Build Coastguard Worker        When op-determinism is expected (i.e. when the environment variable
1460*b6fb3261SAndroid Build Coastguard Worker        `TF_DETERMINISTIC_OPS` is set to `"true"` or `"1"`), an attempt to use
1461*b6fb3261SAndroid Build Coastguard Worker        the specified paths through the following ops on a GPU will cause
1462*b6fb3261SAndroid Build Coastguard Worker        `tf.errors.UnimplementedError` (with an understandable message), unless
1463*b6fb3261SAndroid Build Coastguard Worker        otherwise specified, to be thrown.
1464*b6fb3261SAndroid Build Coastguard Worker        *   `tf.compat.v1.nn.fused_batch_norm` backprop to `offset` when
1465*b6fb3261SAndroid Build Coastguard Worker            `is_training=False`
1466*b6fb3261SAndroid Build Coastguard Worker        *   `tf.image.adjust_contrast` forward
1467*b6fb3261SAndroid Build Coastguard Worker        *   `tf.nn.depthwise_conv2d` backprop to `filter` when not using cuDNN
1468*b6fb3261SAndroid Build Coastguard Worker            convolution
1469*b6fb3261SAndroid Build Coastguard Worker        *   `tf.image.resize` with `method=ResizeMethod.NEAREST` backprop
1470*b6fb3261SAndroid Build Coastguard Worker        *   `tf.math.bincount` - TODO: confirm exception added
1471*b6fb3261SAndroid Build Coastguard Worker        *   `tf.raw_ops.DebugNumericSummary` and
1472*b6fb3261SAndroid Build Coastguard Worker            `tf.raw_ops.DebugNumericSummaryV2`
1473*b6fb3261SAndroid Build Coastguard Worker        *   `tf.Variable.scatter_add` (and other scatter methods, both on ref
1474*b6fb3261SAndroid Build Coastguard Worker            and resource variables)
1475*b6fb3261SAndroid Build Coastguard Worker        *   `tf.linalg.svd`
1476*b6fb3261SAndroid Build Coastguard Worker        *   `tf.nn.dilation2d` gradient
1477*b6fb3261SAndroid Build Coastguard Worker        *   `tf.nn.max_pool_with_argmax` gradient
1478*b6fb3261SAndroid Build Coastguard Worker        *   `tf.timestamp`. Throws `FailedPrecondition`
1479*b6fb3261SAndroid Build Coastguard Worker        *   The random-number-generating ops in the `tf.random` module when the
1480*b6fb3261SAndroid Build Coastguard Worker            global random seed has not yet been set (via `tf.random.set_seed`).
1481*b6fb3261SAndroid Build Coastguard Worker            Throws `RuntimeError` from Python or `InvalidArgument` from C++
1482*b6fb3261SAndroid Build Coastguard Worker        *   `tf.compat.v1.get_seed` if the global random seed has not yet been
1483*b6fb3261SAndroid Build Coastguard Worker            set (via `tf.random.set_seed`). Throws `RuntimeError` from Python or
1484*b6fb3261SAndroid Build Coastguard Worker            `InvalidArgument` from C++
1485*b6fb3261SAndroid Build Coastguard Worker
1486*b6fb3261SAndroid Build Coastguard Worker## Security
1487*b6fb3261SAndroid Build Coastguard Worker
1488*b6fb3261SAndroid Build Coastguard Worker*   Fixes a code injection issue in `saved_model_cli`
1489*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41228](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41228))
1490*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability due to use of uninitialized value in Tensorflow
1491*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41225](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41225))
1492*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `FusedBatchNorm` kernels
1493*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41223](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41223))
1494*b6fb3261SAndroid Build Coastguard Worker*   Fixes an arbitrary memory read in `ImmutableConst`
1495*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41227](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41227))
1496*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `SparseBinCount`
1497*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41226](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41226))
1498*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `SparseFillEmptyRows`
1499*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41224](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41224))
1500*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault due to negative splits in `SplitV`
1501*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41222](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41222))
1502*b6fb3261SAndroid Build Coastguard Worker*   Fixes segfaults and vulnerabilities caused by accesses to invalid memory
1503*b6fb3261SAndroid Build Coastguard Worker    during shape inference in `Cudnn*` ops
1504*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41221](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41221))
1505*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer exception when `Exit` node is not preceded by `Enter`
1506*b6fb3261SAndroid Build Coastguard Worker    op
1507*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41217](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41217))
1508*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer division by 0 in `tf.raw_ops.AllToAll`
1509*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41218](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41218))
1510*b6fb3261SAndroid Build Coastguard Worker*   Fixes a use after free and a memory leak in `CollectiveReduceV2`
1511*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41220](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41220))
1512*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior via `nullptr` reference binding in sparse matrix
1513*b6fb3261SAndroid Build Coastguard Worker    multiplication
1514*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41219](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41219))
1515*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `Transpose`
1516*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41216](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41216))
1517*b6fb3261SAndroid Build Coastguard Worker*   Prevents deadlocks arising from mutually recursive `tf.function` objects
1518*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41213))
1519*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer exception in `DeserializeSparse`
1520*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41215](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41215))
1521*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to `nullptr` in
1522*b6fb3261SAndroid Build Coastguard Worker    `tf.ragged.cross`
1523*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41214](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41214))
1524*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in `tf.ragged.cross`
1525*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41212))
1526*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in shape inference for `QuantizeV2`
1527*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41211))
1528*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in all `tf.raw_ops.QuantizeAndDequantizeV*` ops
1529*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41205))
1530*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in `ParallelConcat`
1531*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41207))
1532*b6fb3261SAndroid Build Coastguard Worker*   Fixes FPE issues in convolutions with zero size filters
1533*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41209))
1534*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in `tf.raw_ops.SparseCountSparseOutput`
1535*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41210))
1536*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in boosted trees code
1537*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41208))
1538*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation of shapes in multiple
1539*b6fb3261SAndroid Build Coastguard Worker    TF ops
1540*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41206))
1541*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault produced while copying constant resource tensor
1542*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41204))
1543*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability caused by unitialized access in
1544*b6fb3261SAndroid Build Coastguard Worker    `EinsumHelper::ParseEquation`
1545*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41201))
1546*b6fb3261SAndroid Build Coastguard Worker*   Fixes several vulnerabilities and segfaults caused by missing validation
1547*b6fb3261SAndroid Build Coastguard Worker    during checkpoint loading
1548*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41203))
1549*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow producing a crash in `tf.range`
1550*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41202))
1551*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow producing a crash in `tf.image.resize` when size is large
1552*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41199))
1553*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow producing a crash in `tf.tile` when tiling tensor is large
1554*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41198))
1555*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability produced due to incomplete validation in
1556*b6fb3261SAndroid Build Coastguard Worker    `tf.summary.create_file_writer`
1557*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41200))
1558*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple crashes due to overflow and `CHECK`-fail in ops with large
1559*b6fb3261SAndroid Build Coastguard Worker    tensor shapes
1560*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197))
1561*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in `max_pool3d` when size argument is 0 or negative
1562*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41196))
1563*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in `tf.math.segment_*` operations
1564*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41195))
1565*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.78.0` to handle
1566*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22922](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22922),
1567*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22923](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22923),
1568*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22924](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22924),
1569*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22925](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22925),
1570*b6fb3261SAndroid Build Coastguard Worker    and
1571*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22926](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22926).
1572*b6fb3261SAndroid Build Coastguard Worker
1573*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
1574*b6fb3261SAndroid Build Coastguard Worker
1575*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
1576*b6fb3261SAndroid Build Coastguard Worker
1577*b6fb3261SAndroid Build Coastguard Worker8bitmp3, Abhilash Majumder, abhilash1910, AdeshChoudhar, Adrian Garcia
1578*b6fb3261SAndroid Build Coastguard WorkerBadaracco, Adrian Ratiu, ag.ramesh, Aleksandr Nikolaev, Alexander Bosch,
1579*b6fb3261SAndroid Build Coastguard WorkerAlexander Grund, Annie Tallund, Anush Elangovan, Artem Sokolovskii, azazhu,
1580*b6fb3261SAndroid Build Coastguard WorkerBalint Cristian, Bas Aarts, Ben Barsdell, bhack, cfRod, Cheney-Wang, Cheng Ren,
1581*b6fb3261SAndroid Build Coastguard WorkerChristopher Bate, collin, Danila Bespalov, David Datascientist, Deven Desai,
1582*b6fb3261SAndroid Build Coastguard WorkerDuncan Riach, Ehsan Kia, Ellie, Fan Du, fo40225, Frederic Bastien, fsx950223,
1583*b6fb3261SAndroid Build Coastguard WorkerGauri1 Deshpande, geetachavan1, Guillaume Klein, guozhong.zhuang, helen, Håkon
1584*b6fb3261SAndroid Build Coastguard WorkerSandsmark, japm48, jgehw, Jinzhe Zeng, Jonathan Dekhtiar, Kai Zhu, Kaixi Hou,
1585*b6fb3261SAndroid Build Coastguard WorkerKanvi Khanna, Koan-Sin Tan, Koki Ibukuro, Kulin Seth, KumaTea, Kun-Lu, Lemo,
1586*b6fb3261SAndroid Build Coastguard Workerlipracer, liuyuanqiang, Mahmoud Abuzaina, Marius Brehler, Maxiwell S. Garcia,
1587*b6fb3261SAndroid Build Coastguard Workermdfaijul, metarutaiga, Michal Szutenberg, nammbash, Neil Girdhar, Nishidha
1588*b6fb3261SAndroid Build Coastguard WorkerPanpaliya, Nyadla-Sys, Patrice Vignola, Peter Kasting, Philipp Hack, PINTO0309,
1589*b6fb3261SAndroid Build Coastguard WorkerPrateek Gupta, puneeshkhanna, Rahul Butani, Rajeshwar Reddy T, Reza Rahimi,
1590*b6fb3261SAndroid Build Coastguard WorkerRinozaJiffry, rmothukuru, Rohit Santhanam, Saduf2019, Samuel Marks, sclarkson,
1591*b6fb3261SAndroid Build Coastguard WorkerSergii Khomenko, Sheng, Yang, Sidong-Wei, slowy07, Srinivasan Narayanamoorthy,
1592*b6fb3261SAndroid Build Coastguard WorkerSrishti Srivastava, stanley, Stella Alice Schlotter, Steven I Reeves,
1593*b6fb3261SAndroid Build Coastguard Workerstevenireeves, svobora, Takayoshi Koizumi, Tamas Bela Feher, Thibaut
1594*b6fb3261SAndroid Build Coastguard WorkerGoetghebuer-Planchon, Trent Lo, Twice, Varghese, Jojimon, Vishnuvardhan
1595*b6fb3261SAndroid Build Coastguard WorkerJanapati, Wang Yanzhang, Wang,Quintin, William Muir, William Raveane, Yasir
1596*b6fb3261SAndroid Build Coastguard WorkerModak, Yasuhiro Matsumoto, Yi Li, Yong Tang, zhaozheng09, Zhoulong Jiang,
1597*b6fb3261SAndroid Build Coastguard Workerzzpmiracle
1598*b6fb3261SAndroid Build Coastguard Worker
1599*b6fb3261SAndroid Build Coastguard Worker# Release 2.6.2
1600*b6fb3261SAndroid Build Coastguard Worker
1601*b6fb3261SAndroid Build Coastguard WorkerFixes an issue where `keras`, `tensorflow_estimator` and `tensorboard` were
1602*b6fb3261SAndroid Build Coastguard Workermissing proper upper bounds and resulted in broken installs after TF 2.7 release
1603*b6fb3261SAndroid Build Coastguard Worker
1604*b6fb3261SAndroid Build Coastguard Worker# Release 2.6.1
1605*b6fb3261SAndroid Build Coastguard Worker
1606*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes:
1607*b6fb3261SAndroid Build Coastguard Worker
1608*b6fb3261SAndroid Build Coastguard Worker*   Fixes a code injection issue in `saved_model_cli`
1609*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41228](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41228))
1610*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability due to use of uninitialized value in Tensorflow
1611*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41225](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41225))
1612*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `FusedBatchNorm` kernels
1613*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41223](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41223))
1614*b6fb3261SAndroid Build Coastguard Worker*   Fixes an arbitrary memory read in `ImmutableConst`
1615*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41227](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41227))
1616*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `SparseBinCount`
1617*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41226](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41226))
1618*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `SparseFillEmptyRows`
1619*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41224](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41224))
1620*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault due to negative splits in `SplitV`
1621*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41222](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41222))
1622*b6fb3261SAndroid Build Coastguard Worker*   Fixes segfaults and vulnerabilities caused by accesses to invalid memory
1623*b6fb3261SAndroid Build Coastguard Worker    during shape inference in `Cudnn*` ops
1624*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41221](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41221))
1625*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer exception when `Exit` node is not preceded by `Enter`
1626*b6fb3261SAndroid Build Coastguard Worker    op
1627*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41217](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41217))
1628*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer division by 0 in `tf.raw_ops.AllToAll`
1629*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41218](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41218))
1630*b6fb3261SAndroid Build Coastguard Worker*   Fixes a use after free and a memory leak in `CollectiveReduceV2`
1631*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41220](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41220))
1632*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior via `nullptr` reference binding in sparse matrix
1633*b6fb3261SAndroid Build Coastguard Worker    multiplication
1634*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41219](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41219))
1635*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `Transpose`
1636*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41216](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41216))
1637*b6fb3261SAndroid Build Coastguard Worker*   Prevents deadlocks arising from mutually recursive `tf.function` objects
1638*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41213))
1639*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer exception in `DeserializeSparse`
1640*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41215](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41215))
1641*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to `nullptr` in
1642*b6fb3261SAndroid Build Coastguard Worker    `tf.ragged.cross`
1643*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41214](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41214))
1644*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in `tf.ragged.cross`
1645*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41212))
1646*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in shape inference for `QuantizeV2`
1647*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41211))
1648*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in all `tf.raw_ops.QuantizeAndDequantizeV*` ops
1649*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41205))
1650*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in `ParallelConcat`
1651*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41207))
1652*b6fb3261SAndroid Build Coastguard Worker*   Fixes FPE issues in convolutions with zero size filters
1653*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41209))
1654*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in `tf.raw_ops.SparseCountSparseOutput`
1655*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41210))
1656*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in boosted trees code
1657*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41208))
1658*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation of shapes in multiple
1659*b6fb3261SAndroid Build Coastguard Worker    TF ops
1660*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41206))
1661*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault produced while copying constant resource tensor
1662*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41204))
1663*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability caused by unitialized access in
1664*b6fb3261SAndroid Build Coastguard Worker    `EinsumHelper::ParseEquation`
1665*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41201))
1666*b6fb3261SAndroid Build Coastguard Worker*   Fixes several vulnerabilities and segfaults caused by missing validation
1667*b6fb3261SAndroid Build Coastguard Worker    during checkpoint loading
1668*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41203))
1669*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow producing a crash in `tf.range`
1670*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41202))
1671*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow producing a crash in `tf.image.resize` when size is large
1672*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41199))
1673*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow producing a crash in `tf.tile` when tiling tensor is large
1674*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41198))
1675*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability produced due to incomplete validation in
1676*b6fb3261SAndroid Build Coastguard Worker    `tf.summary.create_file_writer`
1677*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41200))
1678*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple crashes due to overflow and `CHECK`-fail in ops with large
1679*b6fb3261SAndroid Build Coastguard Worker    tensor shapes
1680*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197))
1681*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in `max_pool3d` when size argument is 0 or negative
1682*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41196))
1683*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in `tf.math.segment_*` operations
1684*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41195))
1685*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.78.0` to handle
1686*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22922](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22922),
1687*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22923](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22923),
1688*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22924](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22924),
1689*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22925](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22925),
1690*b6fb3261SAndroid Build Coastguard Worker    and
1691*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22926](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22926).
1692*b6fb3261SAndroid Build Coastguard Worker
1693*b6fb3261SAndroid Build Coastguard Worker# Release 2.6.0
1694*b6fb3261SAndroid Build Coastguard Worker
1695*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes
1696*b6fb3261SAndroid Build Coastguard Worker
1697*b6fb3261SAndroid Build Coastguard Worker*   `tf.train.experimental.enable_mixed_precision_graph_rewrite` is removed, as
1698*b6fb3261SAndroid Build Coastguard Worker    the API only works in graph mode and is not customizable. The function is
1699*b6fb3261SAndroid Build Coastguard Worker    still accessible under
1700*b6fb3261SAndroid Build Coastguard Worker    `tf.compat.v1.mixed_precision.enable_mixed_precision_graph_rewrite`, but it
1701*b6fb3261SAndroid Build Coastguard Worker    is recommended to use the
1702*b6fb3261SAndroid Build Coastguard Worker    [Keras mixed precision API](https://www.tensorflow.org/guide/mixed_precision)
1703*b6fb3261SAndroid Build Coastguard Worker    instead.
1704*b6fb3261SAndroid Build Coastguard Worker
1705*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`:
1706*b6fb3261SAndroid Build Coastguard Worker
1707*b6fb3261SAndroid Build Coastguard Worker    *   Remove `experimental.nn.dynamic_rnn`, `experimental.nn.TfLiteRNNCell`
1708*b6fb3261SAndroid Build Coastguard Worker        and `experimental.nn.TfLiteLSTMCell` since they're no longer supported.
1709*b6fb3261SAndroid Build Coastguard Worker        It's recommended to just use
1710*b6fb3261SAndroid Build Coastguard Worker        [keras lstm](https://www.tensorflow.org/api_docs/python/tf/keras/layers/LSTM)
1711*b6fb3261SAndroid Build Coastguard Worker        instead.
1712*b6fb3261SAndroid Build Coastguard Worker
1713*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
1714*b6fb3261SAndroid Build Coastguard Worker
1715*b6fb3261SAndroid Build Coastguard Worker    *   Keras been split into a separate PIP package (`keras`), and its code has
1716*b6fb3261SAndroid Build Coastguard Worker        been moved to the GitHub
1717*b6fb3261SAndroid Build Coastguard Worker        repository[keras-team/keras](http://github.com/keras-team/keras). The
1718*b6fb3261SAndroid Build Coastguard Worker        API endpoints for `tf.keras` stay unchanged, but are now backed by the
1719*b6fb3261SAndroid Build Coastguard Worker        `keras` PIP package. The existing code in tensorflow/python/keras is a
1720*b6fb3261SAndroid Build Coastguard Worker        staled copy and will be removed in future release (2.7). Please remove
1721*b6fb3261SAndroid Build Coastguard Worker        any imports to `tensorflow.python.keras` and replace them with public
1722*b6fb3261SAndroid Build Coastguard Worker        tf.keras API instead.
1723*b6fb3261SAndroid Build Coastguard Worker    *   The methods `Model.to_yaml()` and `keras.models.model_from_yaml` have
1724*b6fb3261SAndroid Build Coastguard Worker        been replaced to raise a `RuntimeError` as they can be abused to cause
1725*b6fb3261SAndroid Build Coastguard Worker        arbitrary code execution. It is recommended to use JSON serialization
1726*b6fb3261SAndroid Build Coastguard Worker        instead of YAML, or, a better alternative, serialize to H5.
1727*b6fb3261SAndroid Build Coastguard Worker
1728*b6fb3261SAndroid Build Coastguard Worker## Known Caveats
1729*b6fb3261SAndroid Build Coastguard Worker
1730*b6fb3261SAndroid Build Coastguard Worker*   TF Core:
1731*b6fb3261SAndroid Build Coastguard Worker    *   A longstanding bug in `tf.while_loop`, which caused it to execute
1732*b6fb3261SAndroid Build Coastguard Worker        sequentially, even when `parallel_iterations>1`, has now been fixed.
1733*b6fb3261SAndroid Build Coastguard Worker        However, the increased parallelism may result in increased memory use.
1734*b6fb3261SAndroid Build Coastguard Worker        Users who experience unwanted regressions should reset their
1735*b6fb3261SAndroid Build Coastguard Worker        `while_loop`'s `parallel_iterations` value to 1, which is consistent
1736*b6fb3261SAndroid Build Coastguard Worker        with prior behavior.
1737*b6fb3261SAndroid Build Coastguard Worker
1738*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
1739*b6fb3261SAndroid Build Coastguard Worker
1740*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
1741*b6fb3261SAndroid Build Coastguard Worker
1742*b6fb3261SAndroid Build Coastguard Worker    *   Keras has been split into a separate PIP package (`keras`), and its code
1743*b6fb3261SAndroid Build Coastguard Worker        has been moved to the GitHub repository
1744*b6fb3261SAndroid Build Coastguard Worker        [keras-team/keras](http://github.com/keras-team/keras). The API
1745*b6fb3261SAndroid Build Coastguard Worker        endpoints for `tf.keras` stay unchanged, but are now backed by the
1746*b6fb3261SAndroid Build Coastguard Worker        `keras` PIP package. All Keras-related PRs and issues should now be
1747*b6fb3261SAndroid Build Coastguard Worker        directed to the GitHub repository.
1748*b6fb3261SAndroid Build Coastguard Worker        [keras-team/keras](http://github.com/keras-team/keras).
1749*b6fb3261SAndroid Build Coastguard Worker    *   `tf.keras.utils.experimental.DatasetCreator` now takes an optional
1750*b6fb3261SAndroid Build Coastguard Worker        `tf.distribute.InputOptions` for specific options when used with
1751*b6fb3261SAndroid Build Coastguard Worker        distribution.
1752*b6fb3261SAndroid Build Coastguard Worker    *   `tf.keras.experimental.SidecarEvaluator` is now available for a program
1753*b6fb3261SAndroid Build Coastguard Worker        intended to be run on an evaluator task, which is commonly used to
1754*b6fb3261SAndroid Build Coastguard Worker        supplement a training cluster running with
1755*b6fb3261SAndroid Build Coastguard Worker        `tf.distribute.experimental.ParameterServerStrategy` (see
1756*b6fb3261SAndroid Build Coastguard Worker        `https://www.tensorflow.org/tutorials/distribute/parameter_server_training).
1757*b6fb3261SAndroid Build Coastguard Worker        It can also be used with single-worker training or other strategies. See
1758*b6fb3261SAndroid Build Coastguard Worker        docstring for more info.
1759*b6fb3261SAndroid Build Coastguard Worker    *   Preprocessing layers moved from experimental to core.
1760*b6fb3261SAndroid Build Coastguard Worker        *   Import paths moved from `tf.keras.layers.preprocessing.experimental`
1761*b6fb3261SAndroid Build Coastguard Worker            to `tf.keras.layers`.
1762*b6fb3261SAndroid Build Coastguard Worker    *   Updates to Preprocessing layers API for consistency and clarity:
1763*b6fb3261SAndroid Build Coastguard Worker        *   `StringLookup` and `IntegerLookup` default for `mask_token` changed
1764*b6fb3261SAndroid Build Coastguard Worker            to `None`. This matches the default masking behavior of `Hashing`
1765*b6fb3261SAndroid Build Coastguard Worker            and `Embedding` layers. To keep existing behavior, pass
1766*b6fb3261SAndroid Build Coastguard Worker            `mask_token=""` during layer creation.
1767*b6fb3261SAndroid Build Coastguard Worker        *   Renamed `"binary"` output mode to `"multi_hot"` for
1768*b6fb3261SAndroid Build Coastguard Worker            `CategoryEncoding`, `StringLookup`, `IntegerLookup`, and
1769*b6fb3261SAndroid Build Coastguard Worker            `TextVectorization`. Multi-hot encoding will no longer automatically
1770*b6fb3261SAndroid Build Coastguard Worker            uprank rank 1 inputs, so these layers can now multi-hot encode
1771*b6fb3261SAndroid Build Coastguard Worker            unbatched multi-dimensional samples.
1772*b6fb3261SAndroid Build Coastguard Worker        *   Added a new output mode `"one_hot"` for `CategoryEncoding`,
1773*b6fb3261SAndroid Build Coastguard Worker            `StringLookup`, `IntegerLookup`, which will encode each element in
1774*b6fb3261SAndroid Build Coastguard Worker            an input batch individually, and automatically append a new output
1775*b6fb3261SAndroid Build Coastguard Worker            dimension if necessary. Use this mode on rank 1 inputs for the old
1776*b6fb3261SAndroid Build Coastguard Worker            `"binary"` behavior of one-hot encoding a batch of scalars.
1777*b6fb3261SAndroid Build Coastguard Worker        *   `Normalization` will no longer automatically uprank rank 1 inputs,
1778*b6fb3261SAndroid Build Coastguard Worker            allowing normalization of unbatched multi-dimensional samples.
1779*b6fb3261SAndroid Build Coastguard Worker
1780*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`:
1781*b6fb3261SAndroid Build Coastguard Worker
1782*b6fb3261SAndroid Build Coastguard Worker    *   The recommended Android NDK version for building TensorFlow Lite has
1783*b6fb3261SAndroid Build Coastguard Worker        been changed from r18b to r19c.
1784*b6fb3261SAndroid Build Coastguard Worker    *   Supports int64 for mul.
1785*b6fb3261SAndroid Build Coastguard Worker    *   Supports native variable builtin ops - ReadVariable, AssignVariable.
1786*b6fb3261SAndroid Build Coastguard Worker    *   Converter:
1787*b6fb3261SAndroid Build Coastguard Worker        *   Experimental support for variables in TFLite. To enable through
1788*b6fb3261SAndroid Build Coastguard Worker            conversion, users need to set
1789*b6fb3261SAndroid Build Coastguard Worker            `experimental_enable_resource_variables` on tf.lite.TFLiteConverter
1790*b6fb3261SAndroid Build Coastguard Worker            to True. Note: mutable variables is only available using
1791*b6fb3261SAndroid Build Coastguard Worker            `from_saved_model` in this release, support for other methods is
1792*b6fb3261SAndroid Build Coastguard Worker            coming soon.
1793*b6fb3261SAndroid Build Coastguard Worker        *   Old Converter (TOCO) is getting removed from next release. It's been
1794*b6fb3261SAndroid Build Coastguard Worker            deprecated for few releases already.
1795*b6fb3261SAndroid Build Coastguard Worker
1796*b6fb3261SAndroid Build Coastguard Worker*   `tf.saved_model`:
1797*b6fb3261SAndroid Build Coastguard Worker
1798*b6fb3261SAndroid Build Coastguard Worker    *   SavedModels can now save custom gradients. Use the option
1799*b6fb3261SAndroid Build Coastguard Worker        `tf.saved_model.SaveOption(experimental_custom_gradients=True)` to
1800*b6fb3261SAndroid Build Coastguard Worker        enable this feature. The documentation in
1801*b6fb3261SAndroid Build Coastguard Worker        [Advanced autodiff](https://www.tensorflow.org/guide/advanced_autodiff#custom_gradients)
1802*b6fb3261SAndroid Build Coastguard Worker        has been updated.
1803*b6fb3261SAndroid Build Coastguard Worker    *   Object metadata has now been deprecated and no longer saved to the
1804*b6fb3261SAndroid Build Coastguard Worker        SavedModel.
1805*b6fb3261SAndroid Build Coastguard Worker
1806*b6fb3261SAndroid Build Coastguard Worker*   TF Core:
1807*b6fb3261SAndroid Build Coastguard Worker
1808*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.config.experimental.reset_memory_stats` to reset the tracked
1809*b6fb3261SAndroid Build Coastguard Worker        peak memory returned by `tf.config.experimental.get_memory_info`.
1810*b6fb3261SAndroid Build Coastguard Worker
1811*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`:
1812*b6fb3261SAndroid Build Coastguard Worker
1813*b6fb3261SAndroid Build Coastguard Worker    *   Added `target_workers` param to `data_service_ops.from_dataset_id` and
1814*b6fb3261SAndroid Build Coastguard Worker        `data_service_ops.distribute`. Users can specify `"AUTO"`, `"ANY"`, or
1815*b6fb3261SAndroid Build Coastguard Worker        `"LOCAL"` (case insensitive). If `"AUTO"`, tf.data service runtime
1816*b6fb3261SAndroid Build Coastguard Worker        decides which workers to read from. If `"ANY"`, TF workers read from any
1817*b6fb3261SAndroid Build Coastguard Worker        tf.data service workers. If `"LOCAL"`, TF workers will only read from
1818*b6fb3261SAndroid Build Coastguard Worker        local in-processs tf.data service workers. `"AUTO"` works well for most
1819*b6fb3261SAndroid Build Coastguard Worker        cases, while users can specify other targets. For example, `"LOCAL"`
1820*b6fb3261SAndroid Build Coastguard Worker        would help avoid RPCs and data copy if every TF worker colocates with a
1821*b6fb3261SAndroid Build Coastguard Worker        tf.data service worker. Currently, `"AUTO"` reads from any tf.data
1822*b6fb3261SAndroid Build Coastguard Worker        service workers to preserve existing behavior. The default value is
1823*b6fb3261SAndroid Build Coastguard Worker        `"AUTO"`.
1824*b6fb3261SAndroid Build Coastguard Worker
1825*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
1826*b6fb3261SAndroid Build Coastguard Worker
1827*b6fb3261SAndroid Build Coastguard Worker*   TF Core:
1828*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.lookup.experimental.MutableHashTable`, which provides a
1829*b6fb3261SAndroid Build Coastguard Worker        generic mutable hash table implementation.
1830*b6fb3261SAndroid Build Coastguard Worker        *   Compared to `tf.lookup.experimental.DenseHashTable` this offers
1831*b6fb3261SAndroid Build Coastguard Worker            lower overall memory usage, and a cleaner API. It does not require
1832*b6fb3261SAndroid Build Coastguard Worker            specifying a `delete_key` and `empty_key` that cannot be inserted
1833*b6fb3261SAndroid Build Coastguard Worker            into the table.
1834*b6fb3261SAndroid Build Coastguard Worker    *   Added support for specifying number of subdivisions in all reduce host
1835*b6fb3261SAndroid Build Coastguard Worker        collective. This parallelizes work on CPU and speeds up the collective
1836*b6fb3261SAndroid Build Coastguard Worker        performance. Default behavior is unchanged.
1837*b6fb3261SAndroid Build Coastguard Worker    *   Add an option `perturb_singular` to `tf.linalg.tridiagonal_solve` that
1838*b6fb3261SAndroid Build Coastguard Worker        allows solving linear systems with a numerically singular tridiagonal
1839*b6fb3261SAndroid Build Coastguard Worker        matrix, e.g. for use in inverse iteration.
1840*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.linalg.eigh_tridiagonal` that computes the eigenvalues of a
1841*b6fb3261SAndroid Build Coastguard Worker        Hermitian tridiagonal matrix.
1842*b6fb3261SAndroid Build Coastguard Worker    *   `tf.constant` now places its output on the current default device.
1843*b6fb3261SAndroid Build Coastguard Worker    *   SavedModel
1844*b6fb3261SAndroid Build Coastguard Worker        *   Added `tf.saved_model.experimental.TrackableResource`, which allows
1845*b6fb3261SAndroid Build Coastguard Worker            the creation of custom wrapper objects for resource tensors.
1846*b6fb3261SAndroid Build Coastguard Worker        *   Added a SavedModel load option to allow restoring partial
1847*b6fb3261SAndroid Build Coastguard Worker            checkpoints into the SavedModel. See
1848*b6fb3261SAndroid Build Coastguard Worker            [`tf.saved_model.LoadOptions`](https://www.tensorflow.org/api_docs/python/tf/saved_model/LoadOptions)
1849*b6fb3261SAndroid Build Coastguard Worker            for details.
1850*b6fb3261SAndroid Build Coastguard Worker    *   Added a new op `SparseSegmentSumGrad` to match the other sparse segment
1851*b6fb3261SAndroid Build Coastguard Worker        gradient ops and avoid an extra gather operation that was in the
1852*b6fb3261SAndroid Build Coastguard Worker        previous gradient implementation.
1853*b6fb3261SAndroid Build Coastguard Worker    *   Added a new session config setting `internal_fragmentation_fraction`,
1854*b6fb3261SAndroid Build Coastguard Worker        which controls when the BFC Allocator needs to split an oversized chunk
1855*b6fb3261SAndroid Build Coastguard Worker        to satisfy an allocation request.
1856*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.get_current_name_scope()` which returns the current full name
1857*b6fb3261SAndroid Build Coastguard Worker        scope string that will be prepended to op names.
1858*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`:
1859*b6fb3261SAndroid Build Coastguard Worker    *   Promoting `tf.data.experimental.bucket_by_sequence_length` API to
1860*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Dataset.bucket_by_sequence_length` and deprecating the
1861*b6fb3261SAndroid Build Coastguard Worker        experimental endpoint.
1862*b6fb3261SAndroid Build Coastguard Worker    *   Promoting `tf.data.experimental.get_single_element` API to
1863*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Dataset.get_single_element` and deprecating the experimental
1864*b6fb3261SAndroid Build Coastguard Worker        endpoint.
1865*b6fb3261SAndroid Build Coastguard Worker    *   Promoting `tf.data.experimental.group_by_window` API to
1866*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Dataset.group_by_window` and deprecating the experimental
1867*b6fb3261SAndroid Build Coastguard Worker        endpoint.
1868*b6fb3261SAndroid Build Coastguard Worker    *   Promoting `tf.data.experimental.RandomDataset` API to
1869*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Dataset.random` and deprecating the experimental endpoint.
1870*b6fb3261SAndroid Build Coastguard Worker    *   Promoting `tf.data.experimental.scan` API to `tf.data.Dataset.scan` and
1871*b6fb3261SAndroid Build Coastguard Worker        deprecating the experimental endpoint.
1872*b6fb3261SAndroid Build Coastguard Worker    *   Promoting `tf.data.experimental.snapshot` API to
1873*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Dataset.shapshot` and deprecating the experimental endpoint.
1874*b6fb3261SAndroid Build Coastguard Worker    *   Promoting `tf.data.experimental.take_while` API to
1875*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Dataset.take_while` and deprecating the experimental endpoint.
1876*b6fb3261SAndroid Build Coastguard Worker    *   Promoting `tf.data.experimental.ThreadingOptions` API to
1877*b6fb3261SAndroid Build Coastguard Worker        `tf.data.ThreadingOptions` and deprecating the experimental endpoint.
1878*b6fb3261SAndroid Build Coastguard Worker    *   Promoting `tf.data.experimental.unique` API to `tf.data.Dataset.unique`
1879*b6fb3261SAndroid Build Coastguard Worker        and deprecating the experimental endpoint.
1880*b6fb3261SAndroid Build Coastguard Worker    *   Added `stop_on_empty_dataset` parameter to `sample_from_datasets` and
1881*b6fb3261SAndroid Build Coastguard Worker        `choose_from_datasets`. Setting `stop_on_empty_dataset=True` will stop
1882*b6fb3261SAndroid Build Coastguard Worker        sampling if it encounters an empty dataset. This preserves the sampling
1883*b6fb3261SAndroid Build Coastguard Worker        ratio throughout training. The prior behavior was to continue sampling,
1884*b6fb3261SAndroid Build Coastguard Worker        skipping over exhausted datasets, until all datasets are exhausted. By
1885*b6fb3261SAndroid Build Coastguard Worker        default, the original behavior (`stop_on_empty_dataset=False`) is
1886*b6fb3261SAndroid Build Coastguard Worker        preserved.
1887*b6fb3261SAndroid Build Coastguard Worker    *   Removed previously deprecated tf.data statistics related APIs:
1888*b6fb3261SAndroid Build Coastguard Worker        *   `tf.data.Options.experimental_stats`
1889*b6fb3261SAndroid Build Coastguard Worker        *   `tf.data.experimental.StatsAggregator`
1890*b6fb3261SAndroid Build Coastguard Worker        *   `tf.data.experimental.StatsOptions.*`
1891*b6fb3261SAndroid Build Coastguard Worker        *   `tf.data.experimental.bytes_produced_stats`
1892*b6fb3261SAndroid Build Coastguard Worker        *   `tf.data.experimental.latency_stats`
1893*b6fb3261SAndroid Build Coastguard Worker    *   Removed the following experimental tf.data optimization APIs:
1894*b6fb3261SAndroid Build Coastguard Worker        *   `tf.data.experimental.MapVectorizationOptions.*`
1895*b6fb3261SAndroid Build Coastguard Worker        *   `tf.data.experimental.OptimizationOptions.filter_with_random_uniform_fusion`
1896*b6fb3261SAndroid Build Coastguard Worker        *   `tf.data.experimental.OptimizationOptions.hoist_random_uniform`
1897*b6fb3261SAndroid Build Coastguard Worker        *   `tf.data.experimental.OptimizationOptions.map_vectorization` *
1898*b6fb3261SAndroid Build Coastguard Worker            `tf.data.experimental.OptimizationOptions.reorder_data_discarding_ops`
1899*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
1900*b6fb3261SAndroid Build Coastguard Worker    *   Fix usage of `__getitem__` slicing in Keras Functional APIs when the
1901*b6fb3261SAndroid Build Coastguard Worker        inputs are `RaggedTensor` objects.
1902*b6fb3261SAndroid Build Coastguard Worker    *   Add `keepdims` argument to all `GlobalPooling` layers.
1903*b6fb3261SAndroid Build Coastguard Worker    *   Add `include_preprocessing` argument to `MobileNetV3` architectures to
1904*b6fb3261SAndroid Build Coastguard Worker        control the inclusion of `Rescaling` layer in the model.
1905*b6fb3261SAndroid Build Coastguard Worker    *   Add optional argument (`force`) to `make_(train|test|predict)_funtion`
1906*b6fb3261SAndroid Build Coastguard Worker        methods to skip the cached function and generate a new one. This is
1907*b6fb3261SAndroid Build Coastguard Worker        useful to regenerate in a single call the compiled training function
1908*b6fb3261SAndroid Build Coastguard Worker        when any `.trainable` attribute of any model's layer has changed.
1909*b6fb3261SAndroid Build Coastguard Worker    *   Models now have a `save_spec` property which contains the `TensorSpec`
1910*b6fb3261SAndroid Build Coastguard Worker        specs for calling the model. This spec is automatically saved when the
1911*b6fb3261SAndroid Build Coastguard Worker        model is called for the first time.
1912*b6fb3261SAndroid Build Coastguard Worker*   `tf.linalg`:
1913*b6fb3261SAndroid Build Coastguard Worker    *   Add `CompositeTensor` as a base class to `LinearOperator`.
1914*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`:
1915*b6fb3261SAndroid Build Coastguard Worker    *   Fix mean op reference quantization rounding issue.
1916*b6fb3261SAndroid Build Coastguard Worker    *   Added `framework_stable` BUILD target, which links in only the
1917*b6fb3261SAndroid Build Coastguard Worker        non-experimental TF Lite APIs.
1918*b6fb3261SAndroid Build Coastguard Worker    *   Remove deprecated Java `Interpreter` methods:
1919*b6fb3261SAndroid Build Coastguard Worker        *   `modifyGraphWithDelegate` - Use `Interpreter.Options.addDelegate`
1920*b6fb3261SAndroid Build Coastguard Worker        *   `setNumThreads` - Use `Interpreter.Options.setNumThreads`
1921*b6fb3261SAndroid Build Coastguard Worker    *   Add Conv3DTranspose as a builtin op.
1922*b6fb3261SAndroid Build Coastguard Worker*   `tf.summary`:
1923*b6fb3261SAndroid Build Coastguard Worker    *   Fix `tf.summary.should_record_summaries()` so it correctly reflects when
1924*b6fb3261SAndroid Build Coastguard Worker        summaries will be written, even when `tf.summary.record_if()` is not n
1925*b6fb3261SAndroid Build Coastguard Worker        effect, by returning True tensor if default writer is present.
1926*b6fb3261SAndroid Build Coastguard Worker*   Grappler:
1927*b6fb3261SAndroid Build Coastguard Worker    *   Disable default Grappler optimization timeout to make the optimization
1928*b6fb3261SAndroid Build Coastguard Worker        pipeline deterministic. This may lead to increased model loading time,
1929*b6fb3261SAndroid Build Coastguard Worker        because time spent in graph optimizations is now unbounded (was 20
1930*b6fb3261SAndroid Build Coastguard Worker        minutes).
1931*b6fb3261SAndroid Build Coastguard Worker*   Deterministic Op Functionality (enabled by setting `TF_DETERMINISTIC_OPS` to
1932*b6fb3261SAndroid Build Coastguard Worker    `"true"` or `"1"`):
1933*b6fb3261SAndroid Build Coastguard Worker    *   Add a deterministic GPU implementation of
1934*b6fb3261SAndroid Build Coastguard Worker        `tf.nn.softmax_cross_entropy_with_logits`. See PR
1935*b6fb3261SAndroid Build Coastguard Worker        [49178](https://github.com/tensorflow/tensorflow/pull/49178).
1936*b6fb3261SAndroid Build Coastguard Worker    *   Add a deterministic CPU implementation of `tf.image.crop_and_resize`.
1937*b6fb3261SAndroid Build Coastguard Worker        See PR [48905](https://github.com/tensorflow/tensorflow/pull/48905).
1938*b6fb3261SAndroid Build Coastguard Worker    *   Add determinism-unimplemented exception-throwing to the following ops.
1939*b6fb3261SAndroid Build Coastguard Worker        When op-determinism is expected, an attempt to use the specified paths
1940*b6fb3261SAndroid Build Coastguard Worker        through the following ops on a GPU will cause
1941*b6fb3261SAndroid Build Coastguard Worker        `tf.errors.UnimplementedError` (with an understandable message) to be
1942*b6fb3261SAndroid Build Coastguard Worker        thrown.
1943*b6fb3261SAndroid Build Coastguard Worker        *   `tf.nn.sparse_softmax_cross_entropy_with_logits` forwards and/or
1944*b6fb3261SAndroid Build Coastguard Worker            backwards. See PR
1945*b6fb3261SAndroid Build Coastguard Worker            [47925](https://github.com/tensorflow/tensorflow/pull/47925).
1946*b6fb3261SAndroid Build Coastguard Worker        *   `tf.image.crop_and_resize` gradient w.r.t. either `image` or
1947*b6fb3261SAndroid Build Coastguard Worker            `boxes`. See PR
1948*b6fb3261SAndroid Build Coastguard Worker            [48905](https://github.com/tensorflow/tensorflow/pull/48905).
1949*b6fb3261SAndroid Build Coastguard Worker        *   `tf.sparse.sparse_dense_matmul` forwards. See PR
1950*b6fb3261SAndroid Build Coastguard Worker            [50355](https://github.com/tensorflow/tensorflow/pull/50355).
1951*b6fb3261SAndroid Build Coastguard Worker
1952*b6fb3261SAndroid Build Coastguard Worker## Security
1953*b6fb3261SAndroid Build Coastguard Worker
1954*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds access in sparse reduction operations
1955*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37635](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37635))
1956*b6fb3261SAndroid Build Coastguard Worker*   Fixes a floating point exception in `SparseDenseCwiseDiv`
1957*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37636](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37636))
1958*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `CompressElement`
1959*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37637](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37637))
1960*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `RaggedTensorToTensor`
1961*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37638](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37638))
1962*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference and a heap OOB read arising from operations
1963*b6fb3261SAndroid Build Coastguard Worker    restoring tensors
1964*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37639](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37639))
1965*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer division by 0 in sparse reshaping
1966*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37640](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37640))
1967*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `ResourceScatterDiv`
1968*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37642](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37642))
1969*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `RaggedGather`
1970*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37641](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37641))
1971*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `std::abort` raised from `TensorListReserve`
1972*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37644](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37644))
1973*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `MatrixDiagPartOp`
1974*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37643](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37643))
1975*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow due to conversion to unsigned
1976*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37645))
1977*b6fb3261SAndroid Build Coastguard Worker*   Fixes a bad allocation error in `StringNGrams` caused by integer conversion
1978*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37646](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37646))
1979*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `SparseTensorSliceDataset`
1980*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37647](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37647))
1981*b6fb3261SAndroid Build Coastguard Worker*   Fixes an incorrect validation of `SaveV2` inputs
1982*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37648](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37648))
1983*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `UncompressElement`
1984*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37649](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37649))
1985*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault and a heap buffer overflow in
1986*b6fb3261SAndroid Build Coastguard Worker    `{Experimental,}DatasetToTFRecord`
1987*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37650](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37650))
1988*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `FractionalAvgPoolGrad`
1989*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37651](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37651))
1990*b6fb3261SAndroid Build Coastguard Worker*   Fixes a use after free in boosted trees creation
1991*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37652](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37652))
1992*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `ResourceGather`
1993*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37653](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37653))
1994*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB and a `CHECK` fail in `ResourceGather`
1995*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37654](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37654))
1996*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `ResourceScatterUpdate`
1997*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37655](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37655))
1998*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
1999*b6fb3261SAndroid Build Coastguard Worker    `RaggedTensorToSparse`
2000*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37656](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37656))
2001*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2002*b6fb3261SAndroid Build Coastguard Worker    `MatrixDiagV*` ops
2003*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37657](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37657))
2004*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2005*b6fb3261SAndroid Build Coastguard Worker    `MatrixSetDiagV*` ops
2006*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37658](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37658))
2007*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr and
2008*b6fb3261SAndroid Build Coastguard Worker    heap OOB in binary cwise ops
2009*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37659](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37659))
2010*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in inplace operations
2011*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37660](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37660))
2012*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash caused by integer conversion to unsigned
2013*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37661](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37661))
2014*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2015*b6fb3261SAndroid Build Coastguard Worker    boosted trees
2016*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37662](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37662))
2017*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in boosted trees
2018*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37664](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37664))
2019*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities arising from incomplete validation in `QuantizeV2`
2020*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37663](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37663))
2021*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities arising from incomplete validation in MKL
2022*b6fb3261SAndroid Build Coastguard Worker    requantization
2023*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37665](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37665))
2024*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2025*b6fb3261SAndroid Build Coastguard Worker    `RaggedTensorToVariant`
2026*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37666](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37666))
2027*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2028*b6fb3261SAndroid Build Coastguard Worker    unicode encoding
2029*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37667](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37667))
2030*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in `tf.raw_ops.UnravelIndex`
2031*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37668](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37668))
2032*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in NMS ops caused by integer conversion to unsigned
2033*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37669](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37669))
2034*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `UpperBound` and `LowerBound`
2035*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37670](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37670))
2036*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in map
2037*b6fb3261SAndroid Build Coastguard Worker    operations
2038*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37671](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37671))
2039*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `SdcaOptimizerV2`
2040*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37672](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37672))
2041*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `MapStage`
2042*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37673](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37673))
2043*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability arising from incomplete validation in `MaxPoolGrad`
2044*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37674](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37674))
2045*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2046*b6fb3261SAndroid Build Coastguard Worker    shape inference
2047*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37676](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37676))
2048*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in most convolution operators
2049*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37675](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37675))
2050*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities arising from missing validation in shape inference for
2051*b6fb3261SAndroid Build Coastguard Worker    `Dequantize`
2052*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37677](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37677))
2053*b6fb3261SAndroid Build Coastguard Worker*   Fixes an arbitrary code execution due to YAML deserialization
2054*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37678](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37678))
2055*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in nested `tf.map_fn` with `RaggedTensor`s
2056*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37679](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37679))
2057*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite
2058*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37680](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37680))
2059*b6fb3261SAndroid Build Coastguard Worker*   Fixes an NPE in TFLite
2060*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37681](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37681))
2061*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability arising from use of unitialized value in TFLite
2062*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37682](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37682))
2063*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in TFLite division operations
2064*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37683](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37683))
2065*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in TFLite pooling operations
2066*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37684](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37684))
2067*b6fb3261SAndroid Build Coastguard Worker*   Fixes an infinite loop in TFLite
2068*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37686](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37686))
2069*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in TFLite
2070*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37685](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37685))
2071*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in TFLite's `Gather*` implementations
2072*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37687](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37687))
2073*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from null pointer dereference in TFLite
2074*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37688](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37688))
2075*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from null pointer dereference in TFLite
2076*b6fb3261SAndroid Build Coastguard Worker    MLIR optimizations
2077*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37689](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37689))
2078*b6fb3261SAndroid Build Coastguard Worker*   Fixes a FPE in LSH in TFLite
2079*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37691](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37691))
2080*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault on strings tensors with mismatched dimensions, arising in
2081*b6fb3261SAndroid Build Coastguard Worker    Go code
2082*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37692](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37692))
2083*b6fb3261SAndroid Build Coastguard Worker*   Fixes a use after free and a potential segfault in shape inference functions
2084*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37690](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37690))
2085*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.77.0` to handle
2086*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22876](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22876),
2087*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22897](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22897),
2088*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22898](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22898),
2089*b6fb3261SAndroid Build Coastguard Worker    and
2090*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22901](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22901).
2091*b6fb3261SAndroid Build Coastguard Worker
2092*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
2093*b6fb3261SAndroid Build Coastguard Worker
2094*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
2095*b6fb3261SAndroid Build Coastguard Worker
2096*b6fb3261SAndroid Build Coastguard WorkerAadhitya A, Abhilash Mahendrakar, Abhishek Varma, Abin Shahab, Adam Hillier,
2097*b6fb3261SAndroid Build Coastguard WorkerAditya Kane, AdityaKane2001, ag.ramesh, Amogh Joshi, Armen Poghosov,
2098*b6fb3261SAndroid Build Coastguard Workerarmkevincheng, Avrosh K, Ayan Moitra, azazhu, Banikumar Maiti, Bas Aarts, bhack,
2099*b6fb3261SAndroid Build Coastguard WorkerBhanu Prakash Bandaru Venkata, Billy Cao, Bohumir Zamecnik, Bradley Reece,
2100*b6fb3261SAndroid Build Coastguard WorkerCyanXu, Daniel Situnayake, David Pal, Ddavis-2015, DEKHTIARJonathan, Deven
2101*b6fb3261SAndroid Build Coastguard WorkerDesai, Duncan Riach, Edward, Eli Osherovich, Eugene Kuznetsov, europeanplaice,
2102*b6fb3261SAndroid Build Coastguard Workerevelynmitchell, Evgeniy Polyakov, Felix Vollmer, Florentin Hennecker, François
2103*b6fb3261SAndroid Build Coastguard WorkerChollet, Frederic Bastien, Fredrik Knutsson, Gabriele Macchi, Gaurav Shukla,
2104*b6fb3261SAndroid Build Coastguard WorkerGauri1 Deshpande, geetachavan1, Georgiy Manuilov, H, Hengwen Tong, Henri
2105*b6fb3261SAndroid Build Coastguard WorkerWoodcock, Hiran Sarkar, Ilya Arzhannikov, Janghoo Lee, jdematos, Jens Meder,
2106*b6fb3261SAndroid Build Coastguard WorkerJerry Shih, jgehw, Jim Fisher, Jingbei Li, Jiri Podivin, Joachim Gehweiler,
2107*b6fb3261SAndroid Build Coastguard WorkerJohannes Lade, Jonas I. Liechti, Jonas Liechti, Jonas Ohlsson, Jonathan
2108*b6fb3261SAndroid Build Coastguard WorkerDekhtiar, Julian Gross, Kaixi Hou, Kevin Cheng, Koan-Sin Tan, Kulin Seth,
2109*b6fb3261SAndroid Build Coastguard Workerlinzewen, Liubov Batanina, luisleee, Lukas Geiger, Mahmoud Abuzaina, mathgaming,
2110*b6fb3261SAndroid Build Coastguard WorkerMatt Conley, Max H. Gerlach, mdfaijul, Mh Kwon, Michael Martis, Michal
2111*b6fb3261SAndroid Build Coastguard WorkerSzutenberg, Måns Nilsson, nammbash, Neil Girdhar, Nicholas Vadivelu, Nick
2112*b6fb3261SAndroid Build Coastguard WorkerKreeger, Nirjas Jakilim, okyanusoz, Patrice Vignola, Patrik Laurell, Pedro
2113*b6fb3261SAndroid Build Coastguard WorkerMarques, Philipp Hack, Phillip Cloud, Piergiacomo De Marchi, Prashant Kumar,
2114*b6fb3261SAndroid Build Coastguard Workerpuneeshkhanna, pvarouktsis, QQ喵, Rajeshwar Reddy T, Rama Ketineni, Reza Rahimi,
2115*b6fb3261SAndroid Build Coastguard WorkerRobert Kalmar, rsun, Ryan Kuester, Saduf2019, Sean Morgan, Sean Moriarity,
2116*b6fb3261SAndroid Build Coastguard WorkerShaochen Shi, Sheng, Yang, Shu Wang, Shuai Zhang, Soojeong, Stanley-Nod, Steven
2117*b6fb3261SAndroid Build Coastguard WorkerI Reeves, stevenireeves, Suraj Sudhir, Sven Mayer, Tamas Bela Feher,
2118*b6fb3261SAndroid Build Coastguard Workertashuang.zk, tcervi, Teng Lu, Thales Elero Cervi, Thibaut Goetghebuer-Planchon,
2119*b6fb3261SAndroid Build Coastguard WorkerThomas Walther, Till Brychcy, Trent Lo, Uday Bondhugula, vishakha.agrawal,
2120*b6fb3261SAndroid Build Coastguard WorkerVishnuvardhan Janapati, wamuir, Wenwen Ouyang, wenwu, Williard Joshua Jose,
2121*b6fb3261SAndroid Build Coastguard Workerxiaohong1031, Xiaoming (Jason) Cui, Xinan Jiang, Yasir Modak, Yi Li, Yong Tang,
2122*b6fb3261SAndroid Build Coastguard Workerzilinzhu, 박상준, 이장
2123*b6fb3261SAndroid Build Coastguard Worker
2124*b6fb3261SAndroid Build Coastguard Worker# Release 2.5.2
2125*b6fb3261SAndroid Build Coastguard Worker
2126*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes:
2127*b6fb3261SAndroid Build Coastguard Worker
2128*b6fb3261SAndroid Build Coastguard Worker*   Fixes a code injection issue in `saved_model_cli`
2129*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41228](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41228))
2130*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability due to use of uninitialized value in Tensorflow
2131*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41225](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41225))
2132*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `FusedBatchNorm` kernels
2133*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41223](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41223))
2134*b6fb3261SAndroid Build Coastguard Worker*   Fixes an arbitrary memory read in `ImmutableConst`
2135*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41227](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41227))
2136*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `SparseBinCount`
2137*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41226](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41226))
2138*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `SparseFillEmptyRows`
2139*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41224](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41224))
2140*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault due to negative splits in `SplitV`
2141*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41222](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41222))
2142*b6fb3261SAndroid Build Coastguard Worker*   Fixes segfaults and vulnerabilities caused by accesses to invalid memory
2143*b6fb3261SAndroid Build Coastguard Worker    during shape inference in `Cudnn*` ops
2144*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41221](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41221))
2145*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer exception when `Exit` node is not preceded by `Enter`
2146*b6fb3261SAndroid Build Coastguard Worker    op
2147*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41217](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41217))
2148*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer division by 0 in `tf.raw_ops.AllToAll`
2149*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41218](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41218))
2150*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior via `nullptr` reference binding in sparse matrix
2151*b6fb3261SAndroid Build Coastguard Worker    multiplication
2152*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41219](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41219))
2153*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `Transpose`
2154*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41216](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41216))
2155*b6fb3261SAndroid Build Coastguard Worker*   Prevents deadlocks arising from mutually recursive `tf.function` objects
2156*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41213))
2157*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer exception in `DeserializeSparse`
2158*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41215](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41215))
2159*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to `nullptr` in
2160*b6fb3261SAndroid Build Coastguard Worker    `tf.ragged.cross`
2161*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41214](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41214))
2162*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in `tf.ragged.cross`
2163*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41212))
2164*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in all `tf.raw_ops.QuantizeAndDequantizeV*` ops
2165*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41205))
2166*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in `ParallelConcat`
2167*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41207))
2168*b6fb3261SAndroid Build Coastguard Worker*   Fixes FPE issues in convolutions with zero size filters
2169*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41209))
2170*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in `tf.raw_ops.SparseCountSparseOutput`
2171*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41210))
2172*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in boosted trees code
2173*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41208))
2174*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation of shapes in multiple
2175*b6fb3261SAndroid Build Coastguard Worker    TF ops
2176*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41206))
2177*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault produced while copying constant resource tensor
2178*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41204))
2179*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability caused by unitialized access in
2180*b6fb3261SAndroid Build Coastguard Worker    `EinsumHelper::ParseEquation`
2181*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41201))
2182*b6fb3261SAndroid Build Coastguard Worker*   Fixes several vulnerabilities and segfaults caused by missing validation
2183*b6fb3261SAndroid Build Coastguard Worker    during checkpoint loading
2184*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41203))
2185*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow producing a crash in `tf.range`
2186*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41202))
2187*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow producing a crash in `tf.image.resize` when size is large
2188*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41199))
2189*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow producing a crash in `tf.tile` when tiling tensor is large
2190*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41198))
2191*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability produced due to incomplete validation in
2192*b6fb3261SAndroid Build Coastguard Worker    `tf.summary.create_file_writer`
2193*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41200))
2194*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple crashes due to overflow and `CHECK`-fail in ops with large
2195*b6fb3261SAndroid Build Coastguard Worker    tensor shapes
2196*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197))
2197*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in `max_pool3d` when size argument is 0 or negative
2198*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41196))
2199*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in `tf.math.segment_*` operations
2200*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41195))
2201*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.78.0` to handle
2202*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22922](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22922),
2203*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22923](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22923),
2204*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22924](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22924),
2205*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22925](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22925),
2206*b6fb3261SAndroid Build Coastguard Worker    and
2207*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22926](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22926).
2208*b6fb3261SAndroid Build Coastguard Worker
2209*b6fb3261SAndroid Build Coastguard Worker# Release 2.5.1
2210*b6fb3261SAndroid Build Coastguard Worker
2211*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes:
2212*b6fb3261SAndroid Build Coastguard Worker
2213*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds access in sparse reduction operations
2214*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37635](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37635))
2215*b6fb3261SAndroid Build Coastguard Worker*   Fixes a floating point exception in `SparseDenseCwiseDiv`
2216*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37636](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37636))
2217*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `CompressElement`
2218*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37637](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37637))
2219*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `RaggedTensorToTensor`
2220*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37638](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37638))
2221*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference and a heap OOB read arising from operations
2222*b6fb3261SAndroid Build Coastguard Worker    restoring tensors
2223*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37639](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37639))
2224*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer division by 0 in sparse reshaping
2225*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37640](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37640))
2226*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `ResourceScatterDiv`
2227*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37642](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37642))
2228*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `RaggedGather`
2229*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37641](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37641))
2230*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `std::abort` raised from `TensorListReserve`
2231*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37644](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37644))
2232*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `MatrixDiagPartOp`
2233*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37643](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37643))
2234*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow due to conversion to unsigned
2235*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37645))
2236*b6fb3261SAndroid Build Coastguard Worker*   Fixes a bad allocation error in `StringNGrams` caused by integer conversion
2237*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37646](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37646))
2238*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `SparseTensorSliceDataset`
2239*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37647](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37647))
2240*b6fb3261SAndroid Build Coastguard Worker*   Fixes an incorrect validation of `SaveV2` inputs
2241*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37648](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37648))
2242*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `UncompressElement`
2243*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37649](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37649))
2244*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault and a heap buffer overflow in
2245*b6fb3261SAndroid Build Coastguard Worker    `{Experimental,}DatasetToTFRecord`
2246*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37650](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37650))
2247*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `FractionalAvgPoolGrad`
2248*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37651](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37651))
2249*b6fb3261SAndroid Build Coastguard Worker*   Fixes a use after free in boosted trees creation
2250*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37652](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37652))
2251*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `ResourceGather`
2252*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37653](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37653))
2253*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB and a `CHECK` fail in `ResourceGather`
2254*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37654](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37654))
2255*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `ResourceScatterUpdate`
2256*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37655](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37655))
2257*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2258*b6fb3261SAndroid Build Coastguard Worker    `RaggedTensorToSparse`
2259*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37656](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37656))
2260*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2261*b6fb3261SAndroid Build Coastguard Worker    `MatrixDiagV*` ops
2262*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37657](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37657))
2263*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2264*b6fb3261SAndroid Build Coastguard Worker    `MatrixSetDiagV*` ops
2265*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37658](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37658))
2266*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr and
2267*b6fb3261SAndroid Build Coastguard Worker    heap OOB in binary cwise ops
2268*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37659](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37659))
2269*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in inplace operations
2270*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37660](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37660))
2271*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash caused by integer conversion to unsigned
2272*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37661](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37661))
2273*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2274*b6fb3261SAndroid Build Coastguard Worker    boosted trees
2275*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37662](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37662))
2276*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in boosted trees
2277*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37664](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37664))
2278*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities arising from incomplete validation in `QuantizeV2`
2279*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37663](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37663))
2280*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities arising from incomplete validation in MKL
2281*b6fb3261SAndroid Build Coastguard Worker    requantization
2282*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37665](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37665))
2283*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2284*b6fb3261SAndroid Build Coastguard Worker    `RaggedTensorToVariant`
2285*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37666](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37666))
2286*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2287*b6fb3261SAndroid Build Coastguard Worker    unicode encoding
2288*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37667](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37667))
2289*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in `tf.raw_ops.UnravelIndex`
2290*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37668](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37668))
2291*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in NMS ops caused by integer conversion to unsigned
2292*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37669](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37669))
2293*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `UpperBound` and `LowerBound`
2294*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37670](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37670))
2295*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in map
2296*b6fb3261SAndroid Build Coastguard Worker    operations
2297*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37671](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37671))
2298*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `SdcaOptimizerV2`
2299*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37672](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37672))
2300*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `MapStage`
2301*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37673](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37673))
2302*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability arising from incomplete validation in `MaxPoolGrad`
2303*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37674](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37674))
2304*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2305*b6fb3261SAndroid Build Coastguard Worker    shape inference
2306*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37676](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37676))
2307*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in most convolution operators
2308*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37675](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37675))
2309*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities arising from missing validation in shape inference for
2310*b6fb3261SAndroid Build Coastguard Worker    `Dequantize`
2311*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37677](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37677))
2312*b6fb3261SAndroid Build Coastguard Worker*   Fixes an arbitrary code execution due to YAML deserialization
2313*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37678](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37678))
2314*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in nested `tf.map_fn` with `RaggedTensor`s
2315*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37679](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37679))
2316*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite
2317*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37680](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37680))
2318*b6fb3261SAndroid Build Coastguard Worker*   Fixes an NPE in TFLite
2319*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37681](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37681))
2320*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability arising from use of unitialized value in TFLite
2321*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37682](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37682))
2322*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in TFLite division operations
2323*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37683](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37683))
2324*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in TFLite pooling operations
2325*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37684](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37684))
2326*b6fb3261SAndroid Build Coastguard Worker*   Fixes an infinite loop in TFLite
2327*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37686](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37686))
2328*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in TFLite
2329*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37685](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37685))
2330*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in TFLite's `Gather*` implementations
2331*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37687](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37687))
2332*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from null pointer dereference in TFLite
2333*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37688](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37688))
2334*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from null pointer dereference in TFLite
2335*b6fb3261SAndroid Build Coastguard Worker    MLIR optimizations
2336*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37689](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37689))
2337*b6fb3261SAndroid Build Coastguard Worker*   Fixes a FPE in LSH in TFLite
2338*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37691](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37691))
2339*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault on strings tensors with mismatched dimensions, arising in
2340*b6fb3261SAndroid Build Coastguard Worker    Go code
2341*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37692](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37692))
2342*b6fb3261SAndroid Build Coastguard Worker*   Fixes a use after free and a potential segfault in shape inference functions
2343*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37690](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37690))
2344*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.77.0` to handle
2345*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22876](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22876),
2346*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22897](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22897),
2347*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22898](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22898),
2348*b6fb3261SAndroid Build Coastguard Worker    and
2349*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22901](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22901).
2350*b6fb3261SAndroid Build Coastguard Worker
2351*b6fb3261SAndroid Build Coastguard Worker# Release 2.4.4
2352*b6fb3261SAndroid Build Coastguard Worker
2353*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes:
2354*b6fb3261SAndroid Build Coastguard Worker
2355*b6fb3261SAndroid Build Coastguard Worker*   Fixes a code injection issue in `saved_model_cli`
2356*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41228](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41228))
2357*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability due to use of uninitialized value in Tensorflow
2358*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41225](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41225))
2359*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `FusedBatchNorm` kernels
2360*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41223](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41223))
2361*b6fb3261SAndroid Build Coastguard Worker*   Fixes an arbitrary memory read in `ImmutableConst`
2362*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41227](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41227))
2363*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `SparseBinCount`
2364*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41226](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41226))
2365*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `SparseFillEmptyRows`
2366*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41224](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41224))
2367*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault due to negative splits in `SplitV`
2368*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41222](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41222))
2369*b6fb3261SAndroid Build Coastguard Worker*   Fixes segfaults and vulnerabilities caused by accesses to invalid memory
2370*b6fb3261SAndroid Build Coastguard Worker    during shape inference in `Cudnn*` ops
2371*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41221](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41221))
2372*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer exception when `Exit` node is not preceded by `Enter`
2373*b6fb3261SAndroid Build Coastguard Worker    op
2374*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41217](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41217))
2375*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer division by 0 in `tf.raw_ops.AllToAll`
2376*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41218](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41218))
2377*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior via `nullptr` reference binding in sparse matrix
2378*b6fb3261SAndroid Build Coastguard Worker    multiplication
2379*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41219](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41219))
2380*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `Transpose`
2381*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41216](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41216))
2382*b6fb3261SAndroid Build Coastguard Worker*   Prevents deadlocks arising from mutually recursive `tf.function` objects
2383*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41213))
2384*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer exception in `DeserializeSparse`
2385*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41215](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41215))
2386*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to `nullptr` in
2387*b6fb3261SAndroid Build Coastguard Worker    `tf.ragged.cross`
2388*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41214](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41214))
2389*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in `tf.ragged.cross`
2390*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41212))
2391*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in all `tf.raw_ops.QuantizeAndDequantizeV*` ops
2392*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41205))
2393*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in `ParallelConcat`
2394*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41207))
2395*b6fb3261SAndroid Build Coastguard Worker*   Fixes FPE issues in convolutions with zero size filters
2396*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41209))
2397*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in `tf.raw_ops.SparseCountSparseOutput`
2398*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41210))
2399*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in boosted trees code
2400*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41208))
2401*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation of shapes in multiple
2402*b6fb3261SAndroid Build Coastguard Worker    TF ops
2403*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41206))
2404*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault produced while copying constant resource tensor
2405*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41204))
2406*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability caused by unitialized access in
2407*b6fb3261SAndroid Build Coastguard Worker    `EinsumHelper::ParseEquation`
2408*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41201))
2409*b6fb3261SAndroid Build Coastguard Worker*   Fixes several vulnerabilities and segfaults caused by missing validation
2410*b6fb3261SAndroid Build Coastguard Worker    during checkpoint loading
2411*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41203))
2412*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow producing a crash in `tf.range`
2413*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41202))
2414*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow producing a crash in `tf.image.resize` when size is large
2415*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41199))
2416*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow producing a crash in `tf.tile` when tiling tensor is large
2417*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41198))
2418*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability produced due to incomplete validation in
2419*b6fb3261SAndroid Build Coastguard Worker    `tf.summary.create_file_writer`
2420*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41200))
2421*b6fb3261SAndroid Build Coastguard Worker*   Fixes multiple crashes due to overflow and `CHECK`-fail in ops with large
2422*b6fb3261SAndroid Build Coastguard Worker    tensor shapes
2423*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41197))
2424*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in `max_pool3d` when size argument is 0 or negative
2425*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41196))
2426*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in `tf.math.segment_*` operations
2427*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-41195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41195))
2428*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.78.0` to handle
2429*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22922](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22922),
2430*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22923](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22923),
2431*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22924](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22924),
2432*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22925](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22925),
2433*b6fb3261SAndroid Build Coastguard Worker    and
2434*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22926](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22926).
2435*b6fb3261SAndroid Build Coastguard Worker
2436*b6fb3261SAndroid Build Coastguard Worker# Release 2.4.3
2437*b6fb3261SAndroid Build Coastguard Worker
2438*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes:
2439*b6fb3261SAndroid Build Coastguard Worker
2440*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds access in sparse reduction operations
2441*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37635](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37635))
2442*b6fb3261SAndroid Build Coastguard Worker*   Fixes a floating point exception in `SparseDenseCwiseDiv`
2443*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37636](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37636))
2444*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `CompressElement`
2445*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37637](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37637))
2446*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `RaggedTensorToTensor`
2447*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37638](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37638))
2448*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference and a heap OOB read arising from operations
2449*b6fb3261SAndroid Build Coastguard Worker    restoring tensors
2450*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37639](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37639))
2451*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer division by 0 in sparse reshaping
2452*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37640](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37640))
2453*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `ResourceScatterDiv`
2454*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37642](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37642))
2455*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `RaggedGather`
2456*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37641](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37641))
2457*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `std::abort` raised from `TensorListReserve`
2458*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37644](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37644))
2459*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `MatrixDiagPartOp`
2460*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37643](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37643))
2461*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow due to conversion to unsigned
2462*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37645))
2463*b6fb3261SAndroid Build Coastguard Worker*   Fixes a bad allocation error in `StringNGrams` caused by integer conversion
2464*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37646](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37646))
2465*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `SparseTensorSliceDataset`
2466*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37647](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37647))
2467*b6fb3261SAndroid Build Coastguard Worker*   Fixes an incorrect validation of `SaveV2` inputs
2468*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37648](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37648))
2469*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `UncompressElement`
2470*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37649](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37649))
2471*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault and a heap buffer overflow in
2472*b6fb3261SAndroid Build Coastguard Worker    `{Experimental,}DatasetToTFRecord`
2473*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37650](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37650))
2474*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `FractionalAvgPoolGrad`
2475*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37651](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37651))
2476*b6fb3261SAndroid Build Coastguard Worker*   Fixes a use after free in boosted trees creation
2477*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37652](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37652))
2478*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `ResourceGather`
2479*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37653](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37653))
2480*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB and a `CHECK` fail in `ResourceGather`
2481*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37654](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37654))
2482*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `ResourceScatterUpdate`
2483*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37655](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37655))
2484*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2485*b6fb3261SAndroid Build Coastguard Worker    `RaggedTensorToSparse`
2486*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37656](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37656))
2487*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2488*b6fb3261SAndroid Build Coastguard Worker    `MatrixDiagV*` ops
2489*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37657](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37657))
2490*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2491*b6fb3261SAndroid Build Coastguard Worker    `MatrixSetDiagV*` ops
2492*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37658](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37658))
2493*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr and
2494*b6fb3261SAndroid Build Coastguard Worker    heap OOB in binary cwise ops
2495*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37659](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37659))
2496*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in inplace operations
2497*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37660](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37660))
2498*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash caused by integer conversion to unsigned
2499*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37661](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37661))
2500*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2501*b6fb3261SAndroid Build Coastguard Worker    boosted trees
2502*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37662](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37662))
2503*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in boosted trees
2504*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37664](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37664))
2505*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities arising from incomplete validation in `QuantizeV2`
2506*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37663](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37663))
2507*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities arising from incomplete validation in MKL
2508*b6fb3261SAndroid Build Coastguard Worker    requantization
2509*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37665](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37665))
2510*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2511*b6fb3261SAndroid Build Coastguard Worker    `RaggedTensorToVariant`
2512*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37666](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37666))
2513*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2514*b6fb3261SAndroid Build Coastguard Worker    unicode encoding
2515*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37667](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37667))
2516*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in `tf.raw_ops.UnravelIndex`
2517*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37668](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37668))
2518*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in NMS ops caused by integer conversion to unsigned
2519*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37669](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37669))
2520*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `UpperBound` and `LowerBound`
2521*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37670](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37670))
2522*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in map
2523*b6fb3261SAndroid Build Coastguard Worker    operations
2524*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37671](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37671))
2525*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `SdcaOptimizerV2`
2526*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37672](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37672))
2527*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `MapStage`
2528*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37673](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37673))
2529*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability arising from incomplete validation in `MaxPoolGrad`
2530*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37674](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37674))
2531*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2532*b6fb3261SAndroid Build Coastguard Worker    shape inference
2533*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37676](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37676))
2534*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in most convolution operators
2535*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37675](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37675))
2536*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities arising from missing validation in shape inference for
2537*b6fb3261SAndroid Build Coastguard Worker    `Dequantize`
2538*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37677](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37677))
2539*b6fb3261SAndroid Build Coastguard Worker*   Fixes an arbitrary code execution due to YAML deserialization
2540*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37678](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37678))
2541*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in nested `tf.map_fn` with `RaggedTensor`s
2542*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37679](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37679))
2543*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite
2544*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37680](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37680))
2545*b6fb3261SAndroid Build Coastguard Worker*   Fixes an NPE in TFLite
2546*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37681](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37681))
2547*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability arising from use of unitialized value in TFLite
2548*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37682](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37682))
2549*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in TFLite division operations
2550*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37683](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37683))
2551*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in TFLite pooling operations
2552*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37684](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37684))
2553*b6fb3261SAndroid Build Coastguard Worker*   Fixes an infinite loop in TFLite
2554*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37686](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37686))
2555*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in TFLite
2556*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37685](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37685))
2557*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in TFLite's `Gather*` implementations
2558*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37687](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37687))
2559*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from null pointer dereference in TFLite
2560*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37688](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37688))
2561*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from null pointer dereference in TFLite
2562*b6fb3261SAndroid Build Coastguard Worker    MLIR optimizations
2563*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37689](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37689))
2564*b6fb3261SAndroid Build Coastguard Worker*   Fixes a FPE in LSH in TFLite
2565*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37691](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37691))
2566*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault on strings tensors with mismatched dimensions, arising in
2567*b6fb3261SAndroid Build Coastguard Worker    Go code
2568*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37692](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37692))
2569*b6fb3261SAndroid Build Coastguard Worker*   Fixes a use after free and a potential segfault in shape inference functions
2570*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37690](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37690))
2571*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.77.0` to handle
2572*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22876](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22876),
2573*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22897](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22897),
2574*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22898](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22898),
2575*b6fb3261SAndroid Build Coastguard Worker    and
2576*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22901](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22901).
2577*b6fb3261SAndroid Build Coastguard Worker
2578*b6fb3261SAndroid Build Coastguard Worker# Release 2.3.4
2579*b6fb3261SAndroid Build Coastguard Worker
2580*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes:
2581*b6fb3261SAndroid Build Coastguard Worker
2582*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds access in sparse reduction operations
2583*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37635](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37635))
2584*b6fb3261SAndroid Build Coastguard Worker*   Fixes a floating point exception in `SparseDenseCwiseDiv`
2585*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37636](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37636))
2586*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `CompressElement`
2587*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37637](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37637))
2588*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `RaggedTensorToTensor`
2589*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37638](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37638))
2590*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference and a heap OOB read arising from operations
2591*b6fb3261SAndroid Build Coastguard Worker    restoring tensors
2592*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37639](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37639))
2593*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer division by 0 in sparse reshaping
2594*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37640](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37640))
2595*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `ResourceScatterDiv`
2596*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37642](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37642))
2597*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `RaggedGather`
2598*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37641](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37641))
2599*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `std::abort` raised from `TensorListReserve`
2600*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37644](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37644))
2601*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `MatrixDiagPartOp`
2602*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37643](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37643))
2603*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer overflow due to conversion to unsigned
2604*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37645))
2605*b6fb3261SAndroid Build Coastguard Worker*   Fixes a bad allocation error in `StringNGrams` caused by integer conversion
2606*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37646](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37646))
2607*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `SparseTensorSliceDataset`
2608*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37647](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37647))
2609*b6fb3261SAndroid Build Coastguard Worker*   Fixes an incorrect validation of `SaveV2` inputs
2610*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37648](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37648))
2611*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `UncompressElement`
2612*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37649](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37649))
2613*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault and a heap buffer overflow in
2614*b6fb3261SAndroid Build Coastguard Worker    `{Experimental,}DatasetToTFRecord`
2615*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37650](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37650))
2616*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `FractionalAvgPoolGrad`
2617*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37651](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37651))
2618*b6fb3261SAndroid Build Coastguard Worker*   Fixes a use after free in boosted trees creation
2619*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37652](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37652))
2620*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `ResourceGather`
2621*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37653](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37653))
2622*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB and a `CHECK` fail in `ResourceGather`
2623*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37654](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37654))
2624*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `ResourceScatterUpdate`
2625*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37655](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37655))
2626*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2627*b6fb3261SAndroid Build Coastguard Worker    `RaggedTensorToSparse`
2628*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37656](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37656))
2629*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2630*b6fb3261SAndroid Build Coastguard Worker    `MatrixDiagV*` ops
2631*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37657](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37657))
2632*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2633*b6fb3261SAndroid Build Coastguard Worker    `MatrixSetDiagV*` ops
2634*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37658](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37658))
2635*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr and
2636*b6fb3261SAndroid Build Coastguard Worker    heap OOB in binary cwise ops
2637*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37659](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37659))
2638*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in inplace operations
2639*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37660](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37660))
2640*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash caused by integer conversion to unsigned
2641*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37661](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37661))
2642*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2643*b6fb3261SAndroid Build Coastguard Worker    boosted trees
2644*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37662](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37662))
2645*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in boosted trees
2646*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37664](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37664))
2647*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities arising from incomplete validation in `QuantizeV2`
2648*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37663](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37663))
2649*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities arising from incomplete validation in MKL
2650*b6fb3261SAndroid Build Coastguard Worker    requantization
2651*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37665](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37665))
2652*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2653*b6fb3261SAndroid Build Coastguard Worker    `RaggedTensorToVariant`
2654*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37666](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37666))
2655*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2656*b6fb3261SAndroid Build Coastguard Worker    unicode encoding
2657*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37667](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37667))
2658*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in `tf.raw_ops.UnravelIndex`
2659*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37668](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37668))
2660*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in NMS ops caused by integer conversion to unsigned
2661*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37669](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37669))
2662*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `UpperBound` and `LowerBound`
2663*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37670](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37670))
2664*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in map
2665*b6fb3261SAndroid Build Coastguard Worker    operations
2666*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37671](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37671))
2667*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `SdcaOptimizerV2`
2668*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37672](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37672))
2669*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `MapStage`
2670*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37673](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37673))
2671*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability arising from incomplete validation in `MaxPoolGrad`
2672*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37674](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37674))
2673*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from reference binding to nullptr in
2674*b6fb3261SAndroid Build Coastguard Worker    shape inference
2675*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37676](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37676))
2676*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in most convolution operators
2677*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37675](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37675))
2678*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities arising from missing validation in shape inference for
2679*b6fb3261SAndroid Build Coastguard Worker    `Dequantize`
2680*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37677](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37677))
2681*b6fb3261SAndroid Build Coastguard Worker*   Fixes an arbitrary code execution due to YAML deserialization
2682*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37678](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37678))
2683*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in nested `tf.map_fn` with `RaggedTensor`s
2684*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37679](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37679))
2685*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite
2686*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37680](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37680))
2687*b6fb3261SAndroid Build Coastguard Worker*   Fixes an NPE in TFLite
2688*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37681](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37681))
2689*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability arising from use of unitialized value in TFLite
2690*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37682](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37682))
2691*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in TFLite division operations
2692*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37683](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37683))
2693*b6fb3261SAndroid Build Coastguard Worker*   Fixes an FPE in TFLite pooling operations
2694*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37684](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37684))
2695*b6fb3261SAndroid Build Coastguard Worker*   Fixes an infinite loop in TFLite
2696*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37686](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37686))
2697*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in TFLite
2698*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37685](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37685))
2699*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in TFLite's `Gather*` implementations
2700*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37687](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37687))
2701*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from null pointer dereference in TFLite
2702*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37688](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37688))
2703*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior arising from null pointer dereference in TFLite
2704*b6fb3261SAndroid Build Coastguard Worker    MLIR optimizations
2705*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37689](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37689))
2706*b6fb3261SAndroid Build Coastguard Worker*   Fixes a FPE in LSH in TFLite
2707*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37691](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37691))
2708*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault on strings tensors with mismatched dimensions, arising in
2709*b6fb3261SAndroid Build Coastguard Worker    Go code
2710*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37692](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37692))
2711*b6fb3261SAndroid Build Coastguard Worker*   Fixes a use after free and a potential segfault in shape inference functions
2712*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-37690](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-37690))
2713*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.77.0` to handle
2714*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22876](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22876),
2715*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22897](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22897),
2716*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22898](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22898),
2717*b6fb3261SAndroid Build Coastguard Worker    and
2718*b6fb3261SAndroid Build Coastguard Worker    [CVE-2021-22901](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22901).
2719*b6fb3261SAndroid Build Coastguard Worker
2720*b6fb3261SAndroid Build Coastguard Worker# Release 2.4.2
2721*b6fb3261SAndroid Build Coastguard Worker
2722*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes:
2723*b6fb3261SAndroid Build Coastguard Worker
2724*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `RaggedBinCount`
2725*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29512](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29512))
2726*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds write in `RaggedBinCount`
2727*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29514](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29514))
2728*b6fb3261SAndroid Build Coastguard Worker*   Fixes a type confusion during tensor casts which leads to dereferencing null
2729*b6fb3261SAndroid Build Coastguard Worker    pointers
2730*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29513](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29513))
2731*b6fb3261SAndroid Build Coastguard Worker*   Fixes a reference binding to null pointer in `MatrixDiag*` ops
2732*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29515](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29515))
2733*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference via invalid Ragged Tensors
2734*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29516](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29516))
2735*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in `Conv3D`
2736*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29517](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29517))
2737*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities where session operations in eager mode lead to null
2738*b6fb3261SAndroid Build Coastguard Worker    pointer dereferences
2739*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29518](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29518))
2740*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `SparseCross` caused by type confusion
2741*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29519](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29519))
2742*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `SparseCountSparseOutput`
2743*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29521](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29521))
2744*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `Conv3DBackprop*`
2745*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29520](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29520))
2746*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Conv3DBackprop*`
2747*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29522](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29522))
2748*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `AddManySparseToTensorsMap`
2749*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29523](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29523))
2750*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Conv2DBackpropFilter`
2751*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29524](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29524))
2752*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Conv2DBackpropInput`
2753*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29525](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29525))
2754*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Conv2D`
2755*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29526](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29526))
2756*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedConv2D`
2757*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29527](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29527))
2758*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedMul`
2759*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29528](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29528))
2760*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by invalid validation in
2761*b6fb3261SAndroid Build Coastguard Worker    `SparseMatrixSparseCholesky`
2762*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29530](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29530))
2763*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow caused by rounding
2764*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29529](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29529))
2765*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `tf.raw_ops.EncodePng`
2766*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29531))
2767*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds read in `RaggedCross`
2768*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29532](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29532))
2769*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `DrawBoundingBoxes`
2770*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29533](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29533))
2771*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `QuantizedMul`
2772*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29535](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29535))
2773*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `SparseConcat`
2774*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29534](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29534))
2775*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `QuantizedResizeBilinear`
2776*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29537](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29537))
2777*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `QuantizedReshape`
2778*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29536](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29536))
2779*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in `Conv2DBackpropFilter`
2780*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29538](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29538))
2781*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `Conv2DBackpropFilter`
2782*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29540](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29540))
2783*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `StringNGrams`
2784*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29542](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29542))
2785*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `StringNGrams`
2786*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29541](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29541))
2787*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `QuantizeAndDequantizeV4Grad`
2788*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29544](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29544))
2789*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `CTCGreedyDecoder`
2790*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29543](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29543))
2791*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `SparseTensorToCSRSparseMatrix`
2792*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29545](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29545))
2793*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedBiasAdd`
2794*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29546](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29546))
2795*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds in `QuantizedBatchNormWithGlobalNormalization`
2796*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29547](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29547))
2797*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedBatchNormWithGlobalNormalization`
2798*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29548](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29548))
2799*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedAdd`
2800*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29549](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29549))
2801*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `FractionalAvgPool`
2802*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29550](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29550))
2803*b6fb3261SAndroid Build Coastguard Worker*   Fixes an OOB read in `MatrixTriangularSolve`
2804*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29551](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29551))
2805*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `QuantizeAndDequantizeV3`
2806*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29553](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29553))
2807*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-failure in `UnsortedSegmentJoin`
2808*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29552](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29552))
2809*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `DenseCountSparseOutput`
2810*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29554](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29554))
2811*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `FusedBatchNorm`
2812*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29555](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29555))
2813*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `SparseMatMul`
2814*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29557))
2815*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Reverse`
2816*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29556](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29556))
2817*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `SparseSplit`
2818*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29558))
2819*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB access in unicode ops
2820*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29559))
2821*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `RaggedTensorToTensor`
2822*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29560))
2823*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `LoadAndRemapMatrix`
2824*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29561))
2825*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `tf.raw_ops.IRFFT`
2826*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29562))
2827*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `tf.raw_ops.RFFT`
2828*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29563))
2829*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `EditDistance`
2830*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29564))
2831*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `SparseFillEmptyRows`
2832*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29565))
2833*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB access in `Dilation2DBackpropInput`
2834*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29566))
2835*b6fb3261SAndroid Build Coastguard Worker*   Fixes a reference binding to null in `ParameterizedTruncatedNormal`
2836*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29568))
2837*b6fb3261SAndroid Build Coastguard Worker*   Fixes a set of vulnerabilities caused by lack of validation in
2838*b6fb3261SAndroid Build Coastguard Worker    `SparseDenseCwiseMul`
2839*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29567))
2840*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds read in `MaxPoolGradWithArgmax`
2841*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29570](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29570))
2842*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds read in `RequantizationRange`
2843*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29569))
2844*b6fb3261SAndroid Build Coastguard Worker*   Fixes a memory corruption in `DrawBoundingBoxesV2`
2845*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29571))
2846*b6fb3261SAndroid Build Coastguard Worker*   Fixes a reference binding to nullptr in `SdcaOptimizer`
2847*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29572](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29572))
2848*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow and a denial of service in `tf.raw_ops.ReverseSequence`
2849*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29575))
2850*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `MaxPoolGradWithArgmax`
2851*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29573))
2852*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior in `MaxPool3DGradGrad`
2853*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29574](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29574))
2854*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `MaxPool3DGradGrad`
2855*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29576))
2856*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `AvgPool3DGrad`
2857*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29577))
2858*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior and a `CHECK`-fail in `FractionalMaxPoolGrad`
2859*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29580))
2860*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `FractionalAvgPoolGrad`
2861*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29578))
2862*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `MaxPoolGrad`
2863*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29579))
2864*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `CTCBeamSearchDecoder`
2865*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29581))
2866*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in `tf.raw_ops.Dequantize`
2867*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29582))
2868*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail due to integer overflow
2869*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29584))
2870*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow and undefined behavior in `FusedBatchNorm`
2871*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29583))
2872*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in padding computation in TFLite
2873*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29585))
2874*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in optimized pooling implementations in TFLite
2875*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29586))
2876*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `SpaceToDepth`
2877*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29587))
2878*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `GatherNd`
2879*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29589))
2880*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `TransposeConv`
2881*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29588))
2882*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in TFLite's implementation of `Minimum` or `Maximum`
2883*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29590](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29590))
2884*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in TFLite's `Reshape` operator
2885*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29592](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29592))
2886*b6fb3261SAndroid Build Coastguard Worker*   Fixes a stack overflow due to looping TFLite subgraph
2887*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29591))
2888*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `DepthToSpace`
2889*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29595](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29595))
2890*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's convolution code
2891*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29594](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29594))
2892*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `EmbeddingLookup`
2893*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29596](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29596))
2894*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `BatchToSpaceNd`
2895*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29593](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29593))
2896*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `SpaceToBatchNd`
2897*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29597](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29597))
2898*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `SVDF`
2899*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29598](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29598))
2900*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `Split`
2901*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29599](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29599))
2902*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `OneHot`
2903*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29600](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29600))
2904*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `DepthwiseConv`
2905*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29602](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29602))
2906*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of hashtable lookup
2907*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29604](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29604))
2908*b6fb3261SAndroid Build Coastguard Worker*   Fixes a integer overflow in TFLite concatentation
2909*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29601](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29601))
2910*b6fb3261SAndroid Build Coastguard Worker*   Fixes a integer overflow in TFLite memory allocation
2911*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29605](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29605))
2912*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB write in TFLite
2913*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29603](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29603))
2914*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in TFLite
2915*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29606](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29606))
2916*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB and null pointer dereference in `RaggedTensorToTensor`
2917*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29608](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29608))
2918*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in `SparseAdd`
2919*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29609](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29609))
2920*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in
2921*b6fb3261SAndroid Build Coastguard Worker    `SparseSparseMinimum`
2922*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29607](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29607))
2923*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in `SparseReshape`
2924*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29611](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29611))
2925*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by invalid validation in
2926*b6fb3261SAndroid Build Coastguard Worker    `QuantizeAndDequantizeV2`
2927*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29610](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29610))
2928*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `BandedTriangularSolve`
2929*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29612](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29612))
2930*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in
2931*b6fb3261SAndroid Build Coastguard Worker    `tf.raw_ops.CTCLoss`
2932*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29613](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29613))
2933*b6fb3261SAndroid Build Coastguard Worker*   Fixes an interpreter crash from vulnerabilities in `tf.io.decode_raw`
2934*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29614](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29614))
2935*b6fb3261SAndroid Build Coastguard Worker*   Fixes a stack overflow in `ParseAttrValue` with nested tensors
2936*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29615](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29615))
2937*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null dereference in Grappler's `TrySimplify`
2938*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29616](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29616))
2939*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in `tf.transpose` with complex inputs
2940*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29618](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29618))
2941*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in `tf.strings.substr` due to `CHECK`-fail
2942*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29617](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29617))
2943*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `tf.raw_ops.SparseCountSparseOutput`
2944*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29619](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29619))
2945*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `tf.raw_ops.ImmutableConst`
2946*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29539](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29539))
2947*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.76.0` to handle
2948*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8169](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8169),
2949*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8177](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8177),
2950*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8231](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8231),
2951*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8284](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8284),
2952*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8285](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8285)
2953*b6fb3261SAndroid Build Coastguard Worker    and
2954*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8286](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8286).
2955*b6fb3261SAndroid Build Coastguard Worker
2956*b6fb3261SAndroid Build Coastguard Worker# Release 2.3.3
2957*b6fb3261SAndroid Build Coastguard Worker
2958*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes:
2959*b6fb3261SAndroid Build Coastguard Worker
2960*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `RaggedBinCount`
2961*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29512](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29512))
2962*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds write in `RaggedBinCount`
2963*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29514](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29514))
2964*b6fb3261SAndroid Build Coastguard Worker*   Fixes a type confusion during tensor casts which leads to dereferencing null
2965*b6fb3261SAndroid Build Coastguard Worker    pointers
2966*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29513](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29513))
2967*b6fb3261SAndroid Build Coastguard Worker*   Fixes a reference binding to null pointer in `MatrixDiag*` ops
2968*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29515](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29515))
2969*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference via invalid Ragged Tensors
2970*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29516](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29516))
2971*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in `Conv3D`
2972*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29517](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29517))
2973*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities where session operations in eager mode lead to null
2974*b6fb3261SAndroid Build Coastguard Worker    pointer dereferences
2975*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29518](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29518))
2976*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `SparseCross` caused by type confusion
2977*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29519](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29519))
2978*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `SparseCountSparseOutput`
2979*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29521](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29521))
2980*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `Conv3DBackprop*`
2981*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29520](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29520))
2982*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Conv3DBackprop*`
2983*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29522](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29522))
2984*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `AddManySparseToTensorsMap`
2985*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29523](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29523))
2986*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Conv2DBackpropFilter`
2987*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29524](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29524))
2988*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Conv2DBackpropInput`
2989*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29525](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29525))
2990*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Conv2D`
2991*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29526](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29526))
2992*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedConv2D`
2993*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29527](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29527))
2994*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedMul`
2995*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29528](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29528))
2996*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by invalid validation in
2997*b6fb3261SAndroid Build Coastguard Worker    `SparseMatrixSparseCholesky`
2998*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29530](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29530))
2999*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow caused by rounding
3000*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29529](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29529))
3001*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `tf.raw_ops.EncodePng`
3002*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29531))
3003*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds read in `RaggedCross`
3004*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29532](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29532))
3005*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `DrawBoundingBoxes`
3006*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29533](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29533))
3007*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `QuantizedMul`
3008*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29535](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29535))
3009*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `SparseConcat`
3010*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29534](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29534))
3011*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `QuantizedResizeBilinear`
3012*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29537](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29537))
3013*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `QuantizedReshape`
3014*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29536](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29536))
3015*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in `Conv2DBackpropFilter`
3016*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29538](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29538))
3017*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `Conv2DBackpropFilter`
3018*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29540](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29540))
3019*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `StringNGrams`
3020*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29542](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29542))
3021*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `StringNGrams`
3022*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29541](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29541))
3023*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `QuantizeAndDequantizeV4Grad`
3024*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29544](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29544))
3025*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `CTCGreedyDecoder`
3026*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29543](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29543))
3027*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `SparseTensorToCSRSparseMatrix`
3028*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29545](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29545))
3029*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedBiasAdd`
3030*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29546](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29546))
3031*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds in `QuantizedBatchNormWithGlobalNormalization`
3032*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29547](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29547))
3033*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedBatchNormWithGlobalNormalization`
3034*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29548](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29548))
3035*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedAdd`
3036*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29549](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29549))
3037*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `FractionalAvgPool`
3038*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29550](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29550))
3039*b6fb3261SAndroid Build Coastguard Worker*   Fixes an OOB read in `MatrixTriangularSolve`
3040*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29551](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29551))
3041*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `QuantizeAndDequantizeV3`
3042*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29553](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29553))
3043*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-failure in `UnsortedSegmentJoin`
3044*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29552](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29552))
3045*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `DenseCountSparseOutput`
3046*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29554](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29554))
3047*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `FusedBatchNorm`
3048*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29555](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29555))
3049*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `SparseMatMul`
3050*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29557))
3051*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Reverse`
3052*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29556](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29556))
3053*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `SparseSplit`
3054*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29558))
3055*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB access in unicode ops
3056*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29559))
3057*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `RaggedTensorToTensor`
3058*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29560))
3059*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `LoadAndRemapMatrix`
3060*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29561))
3061*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `tf.raw_ops.IRFFT`
3062*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29562))
3063*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `tf.raw_ops.RFFT`
3064*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29563))
3065*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `EditDistance`
3066*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29564))
3067*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `SparseFillEmptyRows`
3068*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29565))
3069*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB access in `Dilation2DBackpropInput`
3070*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29566))
3071*b6fb3261SAndroid Build Coastguard Worker*   Fixes a reference binding to null in `ParameterizedTruncatedNormal`
3072*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29568))
3073*b6fb3261SAndroid Build Coastguard Worker*   Fixes a set of vulnerabilities caused by lack of validation in
3074*b6fb3261SAndroid Build Coastguard Worker    `SparseDenseCwiseMul`
3075*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29567))
3076*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds read in `MaxPoolGradWithArgmax`
3077*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29570](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29570))
3078*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds read in `RequantizationRange`
3079*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29569))
3080*b6fb3261SAndroid Build Coastguard Worker*   Fixes a memory corruption in `DrawBoundingBoxesV2`
3081*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29571))
3082*b6fb3261SAndroid Build Coastguard Worker*   Fixes a reference binding to nullptr in `SdcaOptimizer`
3083*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29572](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29572))
3084*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow and a denial of service in `tf.raw_ops.ReverseSequence`
3085*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29575))
3086*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `MaxPoolGradWithArgmax`
3087*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29573))
3088*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior in `MaxPool3DGradGrad`
3089*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29574](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29574))
3090*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `MaxPool3DGradGrad`
3091*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29576))
3092*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `AvgPool3DGrad`
3093*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29577))
3094*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior and a `CHECK`-fail in `FractionalMaxPoolGrad`
3095*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29580))
3096*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `FractionalAvgPoolGrad`
3097*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29578))
3098*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `MaxPoolGrad`
3099*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29579))
3100*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `CTCBeamSearchDecoder`
3101*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29581))
3102*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in `tf.raw_ops.Dequantize`
3103*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29582))
3104*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail due to integer overflow
3105*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29584))
3106*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow and undefined behavior in `FusedBatchNorm`
3107*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29583))
3108*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in padding computation in TFLite
3109*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29585))
3110*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in optimized pooling implementations in TFLite
3111*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29586))
3112*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `SpaceToDepth`
3113*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29587))
3114*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `GatherNd`
3115*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29589))
3116*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `TransposeConv`
3117*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29588))
3118*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in TFLite's implementation of `Minimum` or `Maximum`
3119*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29590](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29590))
3120*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in TFLite's `Reshape` operator
3121*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29592](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29592))
3122*b6fb3261SAndroid Build Coastguard Worker*   Fixes a stack overflow due to looping TFLite subgraph
3123*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29591))
3124*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `DepthToSpace`
3125*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29595](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29595))
3126*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's convolution code
3127*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29594](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29594))
3128*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `EmbeddingLookup`
3129*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29596](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29596))
3130*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `BatchToSpaceNd`
3131*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29593](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29593))
3132*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `SpaceToBatchNd`
3133*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29597](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29597))
3134*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `SVDF`
3135*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29598](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29598))
3136*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `Split`
3137*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29599](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29599))
3138*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `OneHot`
3139*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29600](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29600))
3140*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `DepthwiseConv`
3141*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29602](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29602))
3142*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of hashtable lookup
3143*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29604](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29604))
3144*b6fb3261SAndroid Build Coastguard Worker*   Fixes a integer overflow in TFLite concatentation
3145*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29601](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29601))
3146*b6fb3261SAndroid Build Coastguard Worker*   Fixes a integer overflow in TFLite memory allocation
3147*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29605](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29605))
3148*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB write in TFLite
3149*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29603](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29603))
3150*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in TFLite
3151*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29606](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29606))
3152*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB and null pointer dereference in `RaggedTensorToTensor`
3153*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29608](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29608))
3154*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in `SparseAdd`
3155*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29609](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29609))
3156*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in
3157*b6fb3261SAndroid Build Coastguard Worker    `SparseSparseMinimum`
3158*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29607](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29607))
3159*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in `SparseReshape`
3160*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29611](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29611))
3161*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by invalid validation in
3162*b6fb3261SAndroid Build Coastguard Worker    `QuantizeAndDequantizeV2`
3163*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29610](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29610))
3164*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `BandedTriangularSolve`
3165*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29612](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29612))
3166*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in
3167*b6fb3261SAndroid Build Coastguard Worker    `tf.raw_ops.CTCLoss`
3168*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29613](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29613))
3169*b6fb3261SAndroid Build Coastguard Worker*   Fixes an interpreter crash from vulnerabilities in `tf.io.decode_raw`
3170*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29614](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29614))
3171*b6fb3261SAndroid Build Coastguard Worker*   Fixes a stack overflow in `ParseAttrValue` with nested tensors
3172*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29615](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29615))
3173*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null dereference in Grappler's `TrySimplify`
3174*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29616](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29616))
3175*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in `tf.transpose` with complex inputs
3176*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29618](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29618))
3177*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in `tf.strings.substr` due to `CHECK`-fail
3178*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29617](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29617))
3179*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `tf.raw_ops.SparseCountSparseOutput`
3180*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29619](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29619))
3181*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `tf.raw_ops.ImmutableConst`
3182*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29539](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29539))
3183*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.76.0` to handle
3184*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8169](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8169),
3185*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8177](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8177),
3186*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8231](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8231),
3187*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8284](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8284),
3188*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8285](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8285)
3189*b6fb3261SAndroid Build Coastguard Worker    and
3190*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8286](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8286).
3191*b6fb3261SAndroid Build Coastguard Worker
3192*b6fb3261SAndroid Build Coastguard Worker# Release 2.2.3
3193*b6fb3261SAndroid Build Coastguard Worker
3194*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes:
3195*b6fb3261SAndroid Build Coastguard Worker
3196*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `RaggedBinCount`
3197*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29512](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29512))
3198*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds write in `RaggedBinCount`
3199*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29514](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29514))
3200*b6fb3261SAndroid Build Coastguard Worker*   Fixes a type confusion during tensor casts which leads to dereferencing null
3201*b6fb3261SAndroid Build Coastguard Worker    pointers
3202*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29513](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29513))
3203*b6fb3261SAndroid Build Coastguard Worker*   Fixes a reference binding to null pointer in `MatrixDiag*` ops
3204*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29515](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29515))
3205*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference via invalid Ragged Tensors
3206*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29516](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29516))
3207*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in `Conv3D`
3208*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29517](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29517))
3209*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities where session operations in eager mode lead to null
3210*b6fb3261SAndroid Build Coastguard Worker    pointer dereferences
3211*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29518](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29518))
3212*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `SparseCross` caused by type confusion
3213*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29519](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29519))
3214*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `SparseCountSparseOutput`
3215*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29521](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29521))
3216*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `Conv3DBackprop*`
3217*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29520](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29520))
3218*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Conv3DBackprop*`
3219*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29522](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29522))
3220*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `AddManySparseToTensorsMap`
3221*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29523](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29523))
3222*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Conv2DBackpropFilter`
3223*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29524](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29524))
3224*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Conv2DBackpropInput`
3225*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29525](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29525))
3226*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Conv2D`
3227*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29526](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29526))
3228*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedConv2D`
3229*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29527](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29527))
3230*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedMul`
3231*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29528](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29528))
3232*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by invalid validation in
3233*b6fb3261SAndroid Build Coastguard Worker    `SparseMatrixSparseCholesky`
3234*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29530](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29530))
3235*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow caused by rounding
3236*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29529](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29529))
3237*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `tf.raw_ops.EncodePng`
3238*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29531))
3239*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds read in `RaggedCross`
3240*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29532](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29532))
3241*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `DrawBoundingBoxes`
3242*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29533](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29533))
3243*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `QuantizedMul`
3244*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29535](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29535))
3245*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `SparseConcat`
3246*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29534](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29534))
3247*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `QuantizedResizeBilinear`
3248*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29537](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29537))
3249*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `QuantizedReshape`
3250*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29536](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29536))
3251*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in `Conv2DBackpropFilter`
3252*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29538](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29538))
3253*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `Conv2DBackpropFilter`
3254*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29540](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29540))
3255*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `StringNGrams`
3256*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29542](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29542))
3257*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `StringNGrams`
3258*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29541](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29541))
3259*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `QuantizeAndDequantizeV4Grad`
3260*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29544](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29544))
3261*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `CTCGreedyDecoder`
3262*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29543](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29543))
3263*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `SparseTensorToCSRSparseMatrix`
3264*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29545](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29545))
3265*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedBiasAdd`
3266*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29546](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29546))
3267*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds in `QuantizedBatchNormWithGlobalNormalization`
3268*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29547](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29547))
3269*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedBatchNormWithGlobalNormalization`
3270*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29548](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29548))
3271*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedAdd`
3272*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29549](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29549))
3273*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `FractionalAvgPool`
3274*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29550](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29550))
3275*b6fb3261SAndroid Build Coastguard Worker*   Fixes an OOB read in `MatrixTriangularSolve`
3276*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29551](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29551))
3277*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `QuantizeAndDequantizeV3`
3278*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29553](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29553))
3279*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-failure in `UnsortedSegmentJoin`
3280*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29552](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29552))
3281*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `DenseCountSparseOutput`
3282*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29554](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29554))
3283*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `FusedBatchNorm`
3284*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29555](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29555))
3285*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `SparseMatMul`
3286*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29557))
3287*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Reverse`
3288*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29556](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29556))
3289*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `SparseSplit`
3290*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29558))
3291*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB access in unicode ops
3292*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29559))
3293*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `RaggedTensorToTensor`
3294*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29560))
3295*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `LoadAndRemapMatrix`
3296*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29561))
3297*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `tf.raw_ops.IRFFT`
3298*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29562))
3299*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `tf.raw_ops.RFFT`
3300*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29563))
3301*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `EditDistance`
3302*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29564))
3303*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `SparseFillEmptyRows`
3304*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29565))
3305*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB access in `Dilation2DBackpropInput`
3306*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29566))
3307*b6fb3261SAndroid Build Coastguard Worker*   Fixes a reference binding to null in `ParameterizedTruncatedNormal`
3308*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29568))
3309*b6fb3261SAndroid Build Coastguard Worker*   Fixes a set of vulnerabilities caused by lack of validation in
3310*b6fb3261SAndroid Build Coastguard Worker    `SparseDenseCwiseMul`
3311*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29567))
3312*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds read in `MaxPoolGradWithArgmax`
3313*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29570](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29570))
3314*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds read in `RequantizationRange`
3315*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29569))
3316*b6fb3261SAndroid Build Coastguard Worker*   Fixes a memory corruption in `DrawBoundingBoxesV2`
3317*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29571))
3318*b6fb3261SAndroid Build Coastguard Worker*   Fixes a reference binding to nullptr in `SdcaOptimizer`
3319*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29572](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29572))
3320*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow and a denial of service in `tf.raw_ops.ReverseSequence`
3321*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29575))
3322*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `MaxPoolGradWithArgmax`
3323*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29573))
3324*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior in `MaxPool3DGradGrad`
3325*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29574](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29574))
3326*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `MaxPool3DGradGrad`
3327*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29576))
3328*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `AvgPool3DGrad`
3329*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29577))
3330*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior and a `CHECK`-fail in `FractionalMaxPoolGrad`
3331*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29580))
3332*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `FractionalAvgPoolGrad`
3333*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29578))
3334*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `MaxPoolGrad`
3335*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29579))
3336*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `CTCBeamSearchDecoder`
3337*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29581))
3338*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in `tf.raw_ops.Dequantize`
3339*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29582))
3340*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail due to integer overflow
3341*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29584))
3342*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow and undefined behavior in `FusedBatchNorm`
3343*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29583))
3344*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in padding computation in TFLite
3345*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29585))
3346*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in optimized pooling implementations in TFLite
3347*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29586))
3348*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `SpaceToDepth`
3349*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29587))
3350*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `GatherNd`
3351*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29589))
3352*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `TransposeConv`
3353*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29588))
3354*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in TFLite's implementation of `Minimum` or `Maximum`
3355*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29590](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29590))
3356*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in TFLite's `Reshape` operator
3357*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29592](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29592))
3358*b6fb3261SAndroid Build Coastguard Worker*   Fixes a stack overflow due to looping TFLite subgraph
3359*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29591))
3360*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `DepthToSpace`
3361*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29595](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29595))
3362*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's convolution code
3363*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29594](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29594))
3364*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `EmbeddingLookup`
3365*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29596](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29596))
3366*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `BatchToSpaceNd`
3367*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29593](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29593))
3368*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `SpaceToBatchNd`
3369*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29597](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29597))
3370*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `SVDF`
3371*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29598](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29598))
3372*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `Split`
3373*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29599](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29599))
3374*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `OneHot`
3375*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29600](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29600))
3376*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `DepthwiseConv`
3377*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29602](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29602))
3378*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of hashtable lookup
3379*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29604](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29604))
3380*b6fb3261SAndroid Build Coastguard Worker*   Fixes a integer overflow in TFLite concatentation
3381*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29601](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29601))
3382*b6fb3261SAndroid Build Coastguard Worker*   Fixes a integer overflow in TFLite memory allocation
3383*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29605](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29605))
3384*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB write in TFLite
3385*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29603](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29603))
3386*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in TFLite
3387*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29606](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29606))
3388*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB and null pointer dereference in `RaggedTensorToTensor`
3389*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29608](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29608))
3390*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in `SparseAdd`
3391*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29609](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29609))
3392*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in
3393*b6fb3261SAndroid Build Coastguard Worker    `SparseSparseMinimum`
3394*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29607](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29607))
3395*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in `SparseReshape`
3396*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29611](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29611))
3397*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by invalid validation in
3398*b6fb3261SAndroid Build Coastguard Worker    `QuantizeAndDequantizeV2`
3399*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29610](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29610))
3400*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `BandedTriangularSolve`
3401*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29612](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29612))
3402*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in
3403*b6fb3261SAndroid Build Coastguard Worker    `tf.raw_ops.CTCLoss`
3404*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29613](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29613))
3405*b6fb3261SAndroid Build Coastguard Worker*   Fixes an interpreter crash from vulnerabilities in `tf.io.decode_raw`
3406*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29614](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29614))
3407*b6fb3261SAndroid Build Coastguard Worker*   Fixes a stack overflow in `ParseAttrValue` with nested tensors
3408*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29615](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29615))
3409*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null dereference in Grappler's `TrySimplify`
3410*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29616](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29616))
3411*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in `tf.transpose` with complex inputs
3412*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29618](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29618))
3413*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in `tf.strings.substr` due to `CHECK`-fail
3414*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29617](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29617))
3415*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `tf.raw_ops.SparseCountSparseOutput`
3416*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29619](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29619))
3417*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `tf.raw_ops.ImmutableConst`
3418*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29539](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29539))
3419*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.76.0` to handle
3420*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8169](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8169),
3421*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8177](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8177),
3422*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8231](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8231),
3423*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8284](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8284),
3424*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8285](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8285)
3425*b6fb3261SAndroid Build Coastguard Worker    and
3426*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8286](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8286).
3427*b6fb3261SAndroid Build Coastguard Worker
3428*b6fb3261SAndroid Build Coastguard Worker# Release 2.1.4
3429*b6fb3261SAndroid Build Coastguard Worker
3430*b6fb3261SAndroid Build Coastguard WorkerThis release introduces several vulnerability fixes:
3431*b6fb3261SAndroid Build Coastguard Worker
3432*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `RaggedBinCount`
3433*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29512](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29512))
3434*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds write in `RaggedBinCount`
3435*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29514](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29514))
3436*b6fb3261SAndroid Build Coastguard Worker*   Fixes a type confusion during tensor casts which leads to dereferencing null
3437*b6fb3261SAndroid Build Coastguard Worker    pointers
3438*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29513](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29513))
3439*b6fb3261SAndroid Build Coastguard Worker*   Fixes a reference binding to null pointer in `MatrixDiag*` ops
3440*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29515](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29515))
3441*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference via invalid Ragged Tensors
3442*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29516](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29516))
3443*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in `Conv3D`
3444*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29517](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29517))
3445*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities where session operations in eager mode lead to null
3446*b6fb3261SAndroid Build Coastguard Worker    pointer dereferences
3447*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29518](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29518))
3448*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `SparseCross` caused by type confusion
3449*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29519](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29519))
3450*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `SparseCountSparseOutput`
3451*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29521](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29521))
3452*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `Conv3DBackprop*`
3453*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29520](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29520))
3454*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Conv3DBackprop*`
3455*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29522](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29522))
3456*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `AddManySparseToTensorsMap`
3457*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29523](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29523))
3458*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Conv2DBackpropFilter`
3459*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29524](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29524))
3460*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Conv2DBackpropInput`
3461*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29525](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29525))
3462*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Conv2D`
3463*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29526](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29526))
3464*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedConv2D`
3465*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29527](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29527))
3466*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedMul`
3467*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29528](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29528))
3468*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by invalid validation in
3469*b6fb3261SAndroid Build Coastguard Worker    `SparseMatrixSparseCholesky`
3470*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29530](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29530))
3471*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow caused by rounding
3472*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29529](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29529))
3473*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `tf.raw_ops.EncodePng`
3474*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29531))
3475*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds read in `RaggedCross`
3476*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29532](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29532))
3477*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `DrawBoundingBoxes`
3478*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29533](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29533))
3479*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `QuantizedMul`
3480*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29535](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29535))
3481*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `SparseConcat`
3482*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29534](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29534))
3483*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `QuantizedResizeBilinear`
3484*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29537](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29537))
3485*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `QuantizedReshape`
3486*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29536](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29536))
3487*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in `Conv2DBackpropFilter`
3488*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29538](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29538))
3489*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `Conv2DBackpropFilter`
3490*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29540](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29540))
3491*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `StringNGrams`
3492*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29542](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29542))
3493*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `StringNGrams`
3494*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29541](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29541))
3495*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `QuantizeAndDequantizeV4Grad`
3496*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29544](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29544))
3497*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `CTCGreedyDecoder`
3498*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29543](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29543))
3499*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `SparseTensorToCSRSparseMatrix`
3500*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29545](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29545))
3501*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedBiasAdd`
3502*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29546](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29546))
3503*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds in `QuantizedBatchNormWithGlobalNormalization`
3504*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29547](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29547))
3505*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedBatchNormWithGlobalNormalization`
3506*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29548](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29548))
3507*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `QuantizedAdd`
3508*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29549](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29549))
3509*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `FractionalAvgPool`
3510*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29550](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29550))
3511*b6fb3261SAndroid Build Coastguard Worker*   Fixes an OOB read in `MatrixTriangularSolve`
3512*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29551](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29551))
3513*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB in `QuantizeAndDequantizeV3`
3514*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29553](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29553))
3515*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-failure in `UnsortedSegmentJoin`
3516*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29552](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29552))
3517*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `DenseCountSparseOutput`
3518*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29554](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29554))
3519*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `FusedBatchNorm`
3520*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29555](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29555))
3521*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `SparseMatMul`
3522*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29557))
3523*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `Reverse`
3524*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29556](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29556))
3525*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `SparseSplit`
3526*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29558))
3527*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB access in unicode ops
3528*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29559))
3529*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `RaggedTensorToTensor`
3530*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29560))
3531*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `LoadAndRemapMatrix`
3532*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29561))
3533*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `tf.raw_ops.IRFFT`
3534*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29562))
3535*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in `tf.raw_ops.RFFT`
3536*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29563))
3537*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `EditDistance`
3538*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29564))
3539*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in `SparseFillEmptyRows`
3540*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29565))
3541*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB access in `Dilation2DBackpropInput`
3542*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29566))
3543*b6fb3261SAndroid Build Coastguard Worker*   Fixes a reference binding to null in `ParameterizedTruncatedNormal`
3544*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29568))
3545*b6fb3261SAndroid Build Coastguard Worker*   Fixes a set of vulnerabilities caused by lack of validation in
3546*b6fb3261SAndroid Build Coastguard Worker    `SparseDenseCwiseMul`
3547*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29567))
3548*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds read in `MaxPoolGradWithArgmax`
3549*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29570](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29570))
3550*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds read in `RequantizationRange`
3551*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29569))
3552*b6fb3261SAndroid Build Coastguard Worker*   Fixes a memory corruption in `DrawBoundingBoxesV2`
3553*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29571))
3554*b6fb3261SAndroid Build Coastguard Worker*   Fixes a reference binding to nullptr in `SdcaOptimizer`
3555*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29572](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29572))
3556*b6fb3261SAndroid Build Coastguard Worker*   Fixes an overflow and a denial of service in `tf.raw_ops.ReverseSequence`
3557*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29575))
3558*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by 0 in `MaxPoolGradWithArgmax`
3559*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29573))
3560*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior in `MaxPool3DGradGrad`
3561*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29574](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29574))
3562*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `MaxPool3DGradGrad`
3563*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29576))
3564*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `AvgPool3DGrad`
3565*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29577))
3566*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior and a `CHECK`-fail in `FractionalMaxPoolGrad`
3567*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29580))
3568*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `FractionalAvgPoolGrad`
3569*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29578))
3570*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `MaxPoolGrad`
3571*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29579))
3572*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `CTCBeamSearchDecoder`
3573*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29581))
3574*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in `tf.raw_ops.Dequantize`
3575*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29582))
3576*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail due to integer overflow
3577*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29584))
3578*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow and undefined behavior in `FusedBatchNorm`
3579*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29583))
3580*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in padding computation in TFLite
3581*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29585))
3582*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in optimized pooling implementations in TFLite
3583*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29586))
3584*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `SpaceToDepth`
3585*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29587))
3586*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `GatherNd`
3587*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29589))
3588*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `TransposeConv`
3589*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29588))
3590*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in TFLite's implementation of `Minimum` or `Maximum`
3591*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29590](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29590))
3592*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null pointer dereference in TFLite's `Reshape` operator
3593*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29592](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29592))
3594*b6fb3261SAndroid Build Coastguard Worker*   Fixes a stack overflow due to looping TFLite subgraph
3595*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29591))
3596*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `DepthToSpace`
3597*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29595](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29595))
3598*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's convolution code
3599*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29594](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29594))
3600*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `EmbeddingLookup`
3601*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29596](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29596))
3602*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `BatchToSpaceNd`
3603*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29593](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29593))
3604*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `SpaceToBatchNd`
3605*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29597](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29597))
3606*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `SVDF`
3607*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29598](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29598))
3608*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `Split`
3609*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29599](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29599))
3610*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `OneHot`
3611*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29600](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29600))
3612*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of `DepthwiseConv`
3613*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29602](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29602))
3614*b6fb3261SAndroid Build Coastguard Worker*   Fixes a division by zero in TFLite's implementation of hashtable lookup
3615*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29604](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29604))
3616*b6fb3261SAndroid Build Coastguard Worker*   Fixes a integer overflow in TFLite concatentation
3617*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29601](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29601))
3618*b6fb3261SAndroid Build Coastguard Worker*   Fixes a integer overflow in TFLite memory allocation
3619*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29605](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29605))
3620*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB write in TFLite
3621*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29603](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29603))
3622*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB read in TFLite
3623*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29606](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29606))
3624*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap OOB and null pointer dereference in `RaggedTensorToTensor`
3625*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29608](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29608))
3626*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in `SparseAdd`
3627*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29609](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29609))
3628*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in
3629*b6fb3261SAndroid Build Coastguard Worker    `SparseSparseMinimum`
3630*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29607](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29607))
3631*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in `SparseReshape`
3632*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29611](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29611))
3633*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by invalid validation in
3634*b6fb3261SAndroid Build Coastguard Worker    `QuantizeAndDequantizeV2`
3635*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29610](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29610))
3636*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap buffer overflow in `BandedTriangularSolve`
3637*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29612](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29612))
3638*b6fb3261SAndroid Build Coastguard Worker*   Fixes vulnerabilities caused by incomplete validation in
3639*b6fb3261SAndroid Build Coastguard Worker    `tf.raw_ops.CTCLoss`
3640*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29613](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29613))
3641*b6fb3261SAndroid Build Coastguard Worker*   Fixes an interpreter crash from vulnerabilities in `tf.io.decode_raw`
3642*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29614](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29614))
3643*b6fb3261SAndroid Build Coastguard Worker*   Fixes a stack overflow in `ParseAttrValue` with nested tensors
3644*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29615](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29615))
3645*b6fb3261SAndroid Build Coastguard Worker*   Fixes a null dereference in Grappler's `TrySimplify`
3646*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29616](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29616))
3647*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in `tf.transpose` with complex inputs
3648*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29618](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29618))
3649*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash in `tf.strings.substr` due to `CHECK`-fail
3650*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29617](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29617))
3651*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `tf.raw_ops.SparseCountSparseOutput`
3652*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29619](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29619))
3653*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `tf.raw_ops.ImmutableConst`
3654*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2021-29539](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29539))
3655*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.76.0` to handle
3656*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8169](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8169),
3657*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8177](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8177),
3658*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8231](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8231),
3659*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8284](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8284),
3660*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8285](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8285)
3661*b6fb3261SAndroid Build Coastguard Worker    and
3662*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-8286](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8286).
3663*b6fb3261SAndroid Build Coastguard Worker
3664*b6fb3261SAndroid Build Coastguard Worker# Release 2.5.0
3665*b6fb3261SAndroid Build Coastguard Worker
3666*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
3667*b6fb3261SAndroid Build Coastguard Worker
3668*b6fb3261SAndroid Build Coastguard Worker*   Support for Python3.9 has been added.
3669*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`:
3670*b6fb3261SAndroid Build Coastguard Worker    *   `tf.data` service now supports strict round-robin reads, which is useful
3671*b6fb3261SAndroid Build Coastguard Worker        for synchronous training workloads where example sizes vary. With strict
3672*b6fb3261SAndroid Build Coastguard Worker        round robin reads, users can guarantee that consumers get similar-sized
3673*b6fb3261SAndroid Build Coastguard Worker        examples in the same step.
3674*b6fb3261SAndroid Build Coastguard Worker    *   tf.data service now supports optional compression. Previously data would
3675*b6fb3261SAndroid Build Coastguard Worker        always be compressed, but now you can disable compression by passing
3676*b6fb3261SAndroid Build Coastguard Worker        `compression=None` to `tf.data.experimental.service.distribute(...)`.
3677*b6fb3261SAndroid Build Coastguard Worker    *   `tf.data.Dataset.batch()` now supports `num_parallel_calls` and
3678*b6fb3261SAndroid Build Coastguard Worker        `deterministic` arguments. `num_parallel_calls` is used to indicate that
3679*b6fb3261SAndroid Build Coastguard Worker        multiple input batches should be computed in parallel. With
3680*b6fb3261SAndroid Build Coastguard Worker        `num_parallel_calls` set, `deterministic` is used to indicate that
3681*b6fb3261SAndroid Build Coastguard Worker        outputs can be obtained in the non-deterministic order.
3682*b6fb3261SAndroid Build Coastguard Worker    *   Options returned by `tf.data.Dataset.options()` are no longer mutable.
3683*b6fb3261SAndroid Build Coastguard Worker    *   tf.data input pipelines can now be executed in debug mode, which
3684*b6fb3261SAndroid Build Coastguard Worker        disables any asynchrony, parallelism, or non-determinism and forces
3685*b6fb3261SAndroid Build Coastguard Worker        Python execution (as opposed to trace-compiled graph execution) of
3686*b6fb3261SAndroid Build Coastguard Worker        user-defined functions passed into transformations such as `map`. The
3687*b6fb3261SAndroid Build Coastguard Worker        debug mode can be enabled through
3688*b6fb3261SAndroid Build Coastguard Worker        `tf.data.experimental.enable_debug_mode()`.
3689*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`
3690*b6fb3261SAndroid Build Coastguard Worker    *   Enabled the new MLIR-based quantization backend by default
3691*b6fb3261SAndroid Build Coastguard Worker        *   The new backend is used for 8 bits full integer post-training
3692*b6fb3261SAndroid Build Coastguard Worker            quantization
3693*b6fb3261SAndroid Build Coastguard Worker        *   The new backend removes the redundant rescales and fixes some bugs
3694*b6fb3261SAndroid Build Coastguard Worker            (shared weight/bias, extremely small scales, etc)
3695*b6fb3261SAndroid Build Coastguard Worker        *   Set `experimental_new_quantizer` in tf.lite.TFLiteConverter to False
3696*b6fb3261SAndroid Build Coastguard Worker            to disable this change
3697*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`
3698*b6fb3261SAndroid Build Coastguard Worker    *   `tf.keras.metrics.AUC` now support logit predictions.
3699*b6fb3261SAndroid Build Coastguard Worker    *   Enabled a new supported input type in `Model.fit`,
3700*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.utils.experimental.DatasetCreator`, which takes a callable,
3701*b6fb3261SAndroid Build Coastguard Worker        `dataset_fn`. `DatasetCreator` is intended to work across all
3702*b6fb3261SAndroid Build Coastguard Worker        `tf.distribute` strategies, and is the only input type supported for
3703*b6fb3261SAndroid Build Coastguard Worker        Parameter Server strategy.
3704*b6fb3261SAndroid Build Coastguard Worker*   `tf.distribute`
3705*b6fb3261SAndroid Build Coastguard Worker    *   `tf.distribute.experimental.ParameterServerStrategy` now supports
3706*b6fb3261SAndroid Build Coastguard Worker        training with Keras `Model.fit` when used with `DatasetCreator`.
3707*b6fb3261SAndroid Build Coastguard Worker    *   Creating `tf.random.Generator` under `tf.distribute.Strategy` scopes is
3708*b6fb3261SAndroid Build Coastguard Worker        now allowed (except for
3709*b6fb3261SAndroid Build Coastguard Worker        `tf.distribute.experimental.CentralStorageStrategy` and
3710*b6fb3261SAndroid Build Coastguard Worker        `tf.distribute.experimental.ParameterServerStrategy`). Different
3711*b6fb3261SAndroid Build Coastguard Worker        replicas will get different random-number streams.
3712*b6fb3261SAndroid Build Coastguard Worker*   TPU embedding support
3713*b6fb3261SAndroid Build Coastguard Worker    *   Added `profile_data_directory` to `EmbeddingConfigSpec` in
3714*b6fb3261SAndroid Build Coastguard Worker        `_tpu_estimator_embedding.py`. This allows embedding lookup statistics
3715*b6fb3261SAndroid Build Coastguard Worker        gathered at runtime to be used in embedding layer partitioning
3716*b6fb3261SAndroid Build Coastguard Worker        decisions.
3717*b6fb3261SAndroid Build Coastguard Worker*   PluggableDevice
3718*b6fb3261SAndroid Build Coastguard Worker    *   Third-party devices can now connect to TensorFlow as plug-ins through
3719*b6fb3261SAndroid Build Coastguard Worker        [StreamExecutor C API](https://github.com/tensorflow/community/blob/master/rfcs/20200612-stream-executor-c-api.md).
3720*b6fb3261SAndroid Build Coastguard Worker        and
3721*b6fb3261SAndroid Build Coastguard Worker        [PluggableDevice](https://github.com/tensorflow/community/blob/master/rfcs/20200624-pluggable-device-for-tensorflow.md)
3722*b6fb3261SAndroid Build Coastguard Worker        interface.
3723*b6fb3261SAndroid Build Coastguard Worker        *   Add custom ops and kernels through
3724*b6fb3261SAndroid Build Coastguard Worker            [kernel and op registration C API](https://github.com/tensorflow/community/blob/master/rfcs/20190814-kernel-and-op-registration.md).
3725*b6fb3261SAndroid Build Coastguard Worker        *   Register custom graph optimization passes with
3726*b6fb3261SAndroid Build Coastguard Worker            [graph optimization C API](https://github.com/tensorflow/community/blob/master/rfcs/20201027-modular-tensorflow-graph-c-api.md).
3727*b6fb3261SAndroid Build Coastguard Worker*   [oneAPI Deep Neural Network Library (oneDNN)](https://github.com/oneapi-src/oneDNN)
3728*b6fb3261SAndroid Build Coastguard Worker    CPU performance optimizations from
3729*b6fb3261SAndroid Build Coastguard Worker    [Intel-optimized TensorFlow](https://software.intel.com/content/www/us/en/develop/articles/intel-optimization-for-tensorflow-installation-guide.html)
3730*b6fb3261SAndroid Build Coastguard Worker    are now available in the official x86-64 Linux and Windows builds.
3731*b6fb3261SAndroid Build Coastguard Worker    *   They are off by default. Enable them by setting the environment variable
3732*b6fb3261SAndroid Build Coastguard Worker        `TF_ENABLE_ONEDNN_OPTS=1`.
3733*b6fb3261SAndroid Build Coastguard Worker    *   We do not recommend using them in GPU systems, as they have not been
3734*b6fb3261SAndroid Build Coastguard Worker        sufficiently tested with GPUs yet.
3735*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow pip packages are now built with CUDA11.2 and cuDNN 8.1.0
3736*b6fb3261SAndroid Build Coastguard Worker
3737*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes
3738*b6fb3261SAndroid Build Coastguard Worker
3739*b6fb3261SAndroid Build Coastguard Worker*   The `TF_CPP_MIN_VLOG_LEVEL` environment variable has been renamed to
3740*b6fb3261SAndroid Build Coastguard Worker    `TF_CPP_MAX_VLOG_LEVEL` which correctly describes its effect.
3741*b6fb3261SAndroid Build Coastguard Worker
3742*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
3743*b6fb3261SAndroid Build Coastguard Worker
3744*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
3745*b6fb3261SAndroid Build Coastguard Worker
3746*b6fb3261SAndroid Build Coastguard Worker    *   Preprocessing layers API consistency changes:
3747*b6fb3261SAndroid Build Coastguard Worker        *   `StringLookup` added `output_mode`, `sparse`, and
3748*b6fb3261SAndroid Build Coastguard Worker            `pad_to_max_tokens` arguments with same semantics as
3749*b6fb3261SAndroid Build Coastguard Worker            `TextVectorization`.
3750*b6fb3261SAndroid Build Coastguard Worker        *   `IntegerLookup` added `output_mode`, `sparse`, and
3751*b6fb3261SAndroid Build Coastguard Worker            `pad_to_max_tokens` arguments with same semantics as
3752*b6fb3261SAndroid Build Coastguard Worker            `TextVectorization`. Renamed `max_values`, `oov_value` and
3753*b6fb3261SAndroid Build Coastguard Worker            `mask_value` to `max_tokens`, `oov_token` and `mask_token` to align
3754*b6fb3261SAndroid Build Coastguard Worker            with `StringLookup` and `TextVectorization`.
3755*b6fb3261SAndroid Build Coastguard Worker        *   `TextVectorization` default for `pad_to_max_tokens` switched to
3756*b6fb3261SAndroid Build Coastguard Worker            False.
3757*b6fb3261SAndroid Build Coastguard Worker        *   `CategoryEncoding` no longer supports `adapt`, `IntegerLookup` now
3758*b6fb3261SAndroid Build Coastguard Worker            supports equivalent functionality. `max_tokens` argument renamed to
3759*b6fb3261SAndroid Build Coastguard Worker            `num_tokens`.
3760*b6fb3261SAndroid Build Coastguard Worker        *   `Discretization` added `num_bins` argument for learning bins
3761*b6fb3261SAndroid Build Coastguard Worker            boundaries through calling `adapt` on a dataset. Renamed `bins`
3762*b6fb3261SAndroid Build Coastguard Worker            argument to `bin_boundaries` for specifying bins without `adapt`.
3763*b6fb3261SAndroid Build Coastguard Worker    *   Improvements to model saving/loading:
3764*b6fb3261SAndroid Build Coastguard Worker        *   `model.load_weights` now accepts paths to saved models.
3765*b6fb3261SAndroid Build Coastguard Worker    *   Keras inputs can now be created directly from arbitrary `tf.TypeSpecs`.
3766*b6fb3261SAndroid Build Coastguard Worker    *   Two new learning rate schedules added:
3767*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.optimizers.schedules.CosineDecay`
3768*b6fb3261SAndroid Build Coastguard Worker        and`tf.keras.optimizers.schedules.CosineDecayRestarts`.
3769*b6fb3261SAndroid Build Coastguard Worker
3770*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`:
3771*b6fb3261SAndroid Build Coastguard Worker
3772*b6fb3261SAndroid Build Coastguard Worker    *   Exposing `tf.data.experimental.ExternalStatePolicy`, which can be used
3773*b6fb3261SAndroid Build Coastguard Worker        to control how external state should be handled during dataset
3774*b6fb3261SAndroid Build Coastguard Worker        serialization or iterator checkpointing.
3775*b6fb3261SAndroid Build Coastguard Worker    *   Changing `tf.data.experimental.save` to store the type specification of
3776*b6fb3261SAndroid Build Coastguard Worker        the dataset elements. This avoids the need for explicitly specifying the
3777*b6fb3261SAndroid Build Coastguard Worker        `element_spec` argument of `tf.data.experimental.load` when loading the
3778*b6fb3261SAndroid Build Coastguard Worker        previously saved dataset.
3779*b6fb3261SAndroid Build Coastguard Worker    *   Add `.element_spec` property to `tf.data.DatasetSpec` to access the
3780*b6fb3261SAndroid Build Coastguard Worker        inner spec. This can be used to extract the structure of nested
3781*b6fb3261SAndroid Build Coastguard Worker        datasets.
3782*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.data.experimental.AutoShardingPolicy.HINT` which can be used to
3783*b6fb3261SAndroid Build Coastguard Worker        provide hints to tf.distribute-based auto-sharding as to where in the
3784*b6fb3261SAndroid Build Coastguard Worker        input pipeline to insert sharding transformations.
3785*b6fb3261SAndroid Build Coastguard Worker    *   Make tf.data.Options persistent across `tf.function` and `GraphDef`
3786*b6fb3261SAndroid Build Coastguard Worker        boundaries.
3787*b6fb3261SAndroid Build Coastguard Worker
3788*b6fb3261SAndroid Build Coastguard Worker*   XLA compilation:
3789*b6fb3261SAndroid Build Coastguard Worker
3790*b6fb3261SAndroid Build Coastguard Worker    *   `tf.function(experimental_compile=True)` has become a stable API,
3791*b6fb3261SAndroid Build Coastguard Worker        renamed `tf.function(jit_compile=True)`.
3792*b6fb3261SAndroid Build Coastguard Worker    *   XLA can now compile MirroredStrategy: the step function passed
3793*b6fb3261SAndroid Build Coastguard Worker        to`strategy.run` can now be annoted with `jit_compile=True`.
3794*b6fb3261SAndroid Build Coastguard Worker
3795*b6fb3261SAndroid Build Coastguard Worker*   `tf.distribute`:
3796*b6fb3261SAndroid Build Coastguard Worker
3797*b6fb3261SAndroid Build Coastguard Worker    *   Rename `experimental_prefetch_to_device` in `tf.distribute.InputOptions`
3798*b6fb3261SAndroid Build Coastguard Worker        to `experimental_fetch_to_device` to better reflect the purpose.
3799*b6fb3261SAndroid Build Coastguard Worker
3800*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`:
3801*b6fb3261SAndroid Build Coastguard Worker
3802*b6fb3261SAndroid Build Coastguard Worker    *   class `tflite::Subgraph`:
3803*b6fb3261SAndroid Build Coastguard Worker        *   Removed the `tensors()` method and the non-const overload of the
3804*b6fb3261SAndroid Build Coastguard Worker            `nodes_and_registration()` method, both of which were previously
3805*b6fb3261SAndroid Build Coastguard Worker            documented as temporary and to be removed.
3806*b6fb3261SAndroid Build Coastguard Worker            *   Uses of `tensors()` can be replaced by calling the existing
3807*b6fb3261SAndroid Build Coastguard Worker                methods `tensors_size()` and `tensor(int)`.
3808*b6fb3261SAndroid Build Coastguard Worker            *   Uses of the non-const overload of `nodes_and_registration` can
3809*b6fb3261SAndroid Build Coastguard Worker                be replaced by calling the existing methods `nodes_size()` and
3810*b6fb3261SAndroid Build Coastguard Worker                `context()`, and then calling the `GetNodeAndRegistration`
3811*b6fb3261SAndroid Build Coastguard Worker                method in the `TfLiteContext` returned by `context()`.
3812*b6fb3261SAndroid Build Coastguard Worker    *   NNAPI
3813*b6fb3261SAndroid Build Coastguard Worker        *   Removed deprecated `Interpreter::UseNNAPI(bool)` C++ API.
3814*b6fb3261SAndroid Build Coastguard Worker            *   Use `NnApiDelegate()` and related delegate configuration methods
3815*b6fb3261SAndroid Build Coastguard Worker                directly.
3816*b6fb3261SAndroid Build Coastguard Worker        *   Replaced the model cache key for models computation algorithm with
3817*b6fb3261SAndroid Build Coastguard Worker            one guaranteed to be stable across runs.
3818*b6fb3261SAndroid Build Coastguard Worker    *   16 bits quantization
3819*b6fb3261SAndroid Build Coastguard Worker        *   Added int16x8 support for ABS, REDUCE_MAX and REDUCE_MIN operators.
3820*b6fb3261SAndroid Build Coastguard Worker        *   Additional tests and fixes for ADD and SUB operators.
3821*b6fb3261SAndroid Build Coastguard Worker    *   Added support for saved model's session initializer through
3822*b6fb3261SAndroid Build Coastguard Worker        `TFLiteConverter.from_saved_model`.
3823*b6fb3261SAndroid Build Coastguard Worker    *   Added DEPTH_TO_SPACE support in Post training quantization.
3824*b6fb3261SAndroid Build Coastguard Worker    *   Added dynamic range quantization support for the BatchMatMul op.
3825*b6fb3261SAndroid Build Coastguard Worker        *   Both symmetric and asymmetric quantized input tensor are supported.
3826*b6fb3261SAndroid Build Coastguard Worker    *   Add `RFFT2D` as builtin op. (`RFFT2D` also supports `RFFTD`.) Currently
3827*b6fb3261SAndroid Build Coastguard Worker        only supports float32 input.
3828*b6fb3261SAndroid Build Coastguard Worker    *   Add 5D support to `SLICE` op.
3829*b6fb3261SAndroid Build Coastguard Worker    *   TFLite Supports SingatureDef:
3830*b6fb3261SAndroid Build Coastguard Worker        *   TFLiteConverter exports models with SignatureDef
3831*b6fb3261SAndroid Build Coastguard Worker        *   Interpreter supports getting a list of signatures and getting
3832*b6fb3261SAndroid Build Coastguard Worker            callable function for a given signaturedef.
3833*b6fb3261SAndroid Build Coastguard Worker    *   Add int8 support for `ReshapeV2`.
3834*b6fb3261SAndroid Build Coastguard Worker    *   Add experimental support for optimization with sparsity.
3835*b6fb3261SAndroid Build Coastguard Worker    *   Add nominal support for unsigned 32-bit integer tensor types. Note that
3836*b6fb3261SAndroid Build Coastguard Worker        very few TFLite kernels support this type natively, so its use in mobile
3837*b6fb3261SAndroid Build Coastguard Worker        ML authoring is generally discouraged.
3838*b6fb3261SAndroid Build Coastguard Worker    *   Add support for static hash tables through
3839*b6fb3261SAndroid Build Coastguard Worker        `TFLiteConverter.from_saved_model`.
3840*b6fb3261SAndroid Build Coastguard Worker    *   The Python TF Lite Interpreter bindings now has an option
3841*b6fb3261SAndroid Build Coastguard Worker        `experimental_preserve_all_tensors` to aid in debugging conversion.
3842*b6fb3261SAndroid Build Coastguard Worker    *   Quantized x86 execution defaults to Ruy GEMM library for platforms with
3843*b6fb3261SAndroid Build Coastguard Worker        AVX support.
3844*b6fb3261SAndroid Build Coastguard Worker    *   Deprecate
3845*b6fb3261SAndroid Build Coastguard Worker        `tf.compat.v1.lite.experimental.get_potentially_supported_ops`. Use
3846*b6fb3261SAndroid Build Coastguard Worker        `tf.lite.TFLiteConverter` directly to check whether a model is
3847*b6fb3261SAndroid Build Coastguard Worker        convertible.
3848*b6fb3261SAndroid Build Coastguard Worker    *   Add support to select one of three different built-in op resolvers
3849*b6fb3261SAndroid Build Coastguard Worker    *   Enabled post training with calibrations for models that require user
3850*b6fb3261SAndroid Build Coastguard Worker        provided TensorFlow Lite custom op libraries via
3851*b6fb3261SAndroid Build Coastguard Worker        `converter.target_spec._experimental_custom_op_registerers`. used in
3852*b6fb3261SAndroid Build Coastguard Worker        Python Interpreter API.
3853*b6fb3261SAndroid Build Coastguard Worker
3854*b6fb3261SAndroid Build Coastguard Worker*   TF Core:
3855*b6fb3261SAndroid Build Coastguard Worker
3856*b6fb3261SAndroid Build Coastguard Worker    *   Corrected higher-order gradients of control flow constructs (`tf.cond`,
3857*b6fb3261SAndroid Build Coastguard Worker        `tf.while_loop`, and compositions like `tf.foldl`) computed with
3858*b6fb3261SAndroid Build Coastguard Worker        `tf.GradientTape` inside a `tf.function`.
3859*b6fb3261SAndroid Build Coastguard Worker    *   Changed the default step size in `gradient_checker_v2.compute_gradients`
3860*b6fb3261SAndroid Build Coastguard Worker        to be exactly representable as a binary floating point numbers. This
3861*b6fb3261SAndroid Build Coastguard Worker        avoids poluting gradient approximations needlessly, which is some cases
3862*b6fb3261SAndroid Build Coastguard Worker        leads to false negatives in op gradient tests.
3863*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.config.experimental.get_memory_info`, returning a dict with
3864*b6fb3261SAndroid Build Coastguard Worker        the current and peak memory usage. Deprecated
3865*b6fb3261SAndroid Build Coastguard Worker        `tf.config.experimental.get_memory_usage` in favor of this new function.
3866*b6fb3261SAndroid Build Coastguard Worker    *   Extended `tf.config.experimental.enable_tensor_float_32_execution` to
3867*b6fb3261SAndroid Build Coastguard Worker        control Tensor-Float-32 evaluation in RNNs.
3868*b6fb3261SAndroid Build Coastguard Worker    *   Added a 'experimental_payloads' field to tf.errors.OpError and its
3869*b6fb3261SAndroid Build Coastguard Worker        subclasses to support more detailed error reporting. This is inspired
3870*b6fb3261SAndroid Build Coastguard Worker        from Abseil Status payloads:
3871*b6fb3261SAndroid Build Coastguard Worker        https://github.com/abseil/abseil-cpp/blob/master/absl/status/status.h
3872*b6fb3261SAndroid Build Coastguard Worker
3873*b6fb3261SAndroid Build Coastguard Worker*   `tf.summary`:
3874*b6fb3261SAndroid Build Coastguard Worker
3875*b6fb3261SAndroid Build Coastguard Worker    *   New `tf.summary.graph` allows manual write of TensorFlow graph
3876*b6fb3261SAndroid Build Coastguard Worker        (`tf.Graph` or `tf.compat.v1.GraphDef`) as a summary. This is not a
3877*b6fb3261SAndroid Build Coastguard Worker        replacement for the trace-based API.
3878*b6fb3261SAndroid Build Coastguard Worker
3879*b6fb3261SAndroid Build Coastguard Worker*   Set `/d2ReducedOptimizeHugeFunctions` by default for Windows builds. This
3880*b6fb3261SAndroid Build Coastguard Worker    provides a big compile-time speedup, and effectively raises the minimum
3881*b6fb3261SAndroid Build Coastguard Worker    supported MSVC version to 16.4 (current: 16.8).
3882*b6fb3261SAndroid Build Coastguard Worker
3883*b6fb3261SAndroid Build Coastguard Worker    *   See:
3884*b6fb3261SAndroid Build Coastguard Worker        https://groups.google.com/a/tensorflow.org/d/topic/build/SsW98Eo7l3o/discussion
3885*b6fb3261SAndroid Build Coastguard Worker
3886*b6fb3261SAndroid Build Coastguard Worker*   TensorRT
3887*b6fb3261SAndroid Build Coastguard Worker
3888*b6fb3261SAndroid Build Coastguard Worker    *   Removed the deprecated `session_config` parameter for the TF1-TRT
3889*b6fb3261SAndroid Build Coastguard Worker        converter `TrtGraphConverter`. Previously, we issued a warning when the
3890*b6fb3261SAndroid Build Coastguard Worker        value of the parameter is not None.
3891*b6fb3261SAndroid Build Coastguard Worker    *   The TF2-TRT converter `TrtGraphConverterV2` takes an object of class
3892*b6fb3261SAndroid Build Coastguard Worker        TrtConversionParams as a parameter. Removed three deprecated fields from
3893*b6fb3261SAndroid Build Coastguard Worker        this class: `rewriter_config_template`, `is_dynamic_op`, and
3894*b6fb3261SAndroid Build Coastguard Worker        `max_batch_size`. Previously, we issued a warning when the value of
3895*b6fb3261SAndroid Build Coastguard Worker        `rewriter_config_template` is not None. We issued an error when the
3896*b6fb3261SAndroid Build Coastguard Worker        value of `is_dynamic_op` is not True. We didn't use the value for
3897*b6fb3261SAndroid Build Coastguard Worker        `max_batch_size` for building TensorRT engines. Add parameters
3898*b6fb3261SAndroid Build Coastguard Worker        `use_dynamic_shape` to enable dynamic shape support. The default is to
3899*b6fb3261SAndroid Build Coastguard Worker        disable dynamic shape support. Add `dynamic_shape_profile_strategy` for
3900*b6fb3261SAndroid Build Coastguard Worker        selecting a dynamic shape profile strategy. The default is profile
3901*b6fb3261SAndroid Build Coastguard Worker        strategy is `Range`.
3902*b6fb3261SAndroid Build Coastguard Worker    *   Issue a warning when function get_tensorrt_rewriter_config is used.
3903*b6fb3261SAndroid Build Coastguard Worker
3904*b6fb3261SAndroid Build Coastguard Worker*   TF XLA
3905*b6fb3261SAndroid Build Coastguard Worker
3906*b6fb3261SAndroid Build Coastguard Worker    *   Add new enum value `MLIR_BRIDGE_ROLLOUT_SAFE_MODE_ENABLED` to
3907*b6fb3261SAndroid Build Coastguard Worker        `tf.config.experimental.mlir_bridge_rollout` to enable a \"safe\" mode.
3908*b6fb3261SAndroid Build Coastguard Worker        This runs the MLIR bridge only when an analysis of the graph only when
3909*b6fb3261SAndroid Build Coastguard Worker        an analysis of the graph determines that it is safe to run.
3910*b6fb3261SAndroid Build Coastguard Worker    *   Add new enum value `MLIR_BRIDGE_ROLLOUT_SAFE_MODE_FALLBACK_ENABLED'
3911*b6fb3261SAndroid Build Coastguard Worker        to`tf.config.experimental.mlir_bridge_rollout` to enable a fallback for
3912*b6fb3261SAndroid Build Coastguard Worker        the MLIR bridge in a \"safe\" mode. This runs the MLIR bridge in a
3913*b6fb3261SAndroid Build Coastguard Worker        FallbackEnabled mode when an analysis of the graph determines that the
3914*b6fb3261SAndroid Build Coastguard Worker        graph does not have unsupported features.
3915*b6fb3261SAndroid Build Coastguard Worker
3916*b6fb3261SAndroid Build Coastguard Worker*   Deterministic Op Functionality:
3917*b6fb3261SAndroid Build Coastguard Worker
3918*b6fb3261SAndroid Build Coastguard Worker    *   Add determinism-unimplemented exception-throwing to the segment-sum ops.
3919*b6fb3261SAndroid Build Coastguard Worker        When the environment variable `TF_DETERMINISTIC_OPS` is set to `"true"`
3920*b6fb3261SAndroid Build Coastguard Worker        or `"1"` (when op-determinism is expected), an attempt to run the
3921*b6fb3261SAndroid Build Coastguard Worker        following ops on a GPU will throw `tf.errors.UnimplementedError` (with
3922*b6fb3261SAndroid Build Coastguard Worker        an understandable message) when `data` is a floating-point type,
3923*b6fb3261SAndroid Build Coastguard Worker        including complex types (if supported): `tf.math.segment_prod`,
3924*b6fb3261SAndroid Build Coastguard Worker        `tf.math.segment_sum`, `tf.math.unsorted_segment_mean`,
3925*b6fb3261SAndroid Build Coastguard Worker        `tf.math.unsorted_segment_sqrt_n`, `tf.math.unsorted_segment_prod`,
3926*b6fb3261SAndroid Build Coastguard Worker        `tf.math.unsorted_segment_sum`, and therefore also
3927*b6fb3261SAndroid Build Coastguard Worker        `tf.convert_to_tensor` when `value` is of type `tf.IndexedSlices` (such
3928*b6fb3261SAndroid Build Coastguard Worker        as in the back prop though `tf.gather` into a dense embedding). See
3929*b6fb3261SAndroid Build Coastguard Worker        issue [39751](https://github.com/tensorflow/tensorflow/issues/39751)
3930*b6fb3261SAndroid Build Coastguard Worker        which this change addresses, but does not solve. This exception-throwing
3931*b6fb3261SAndroid Build Coastguard Worker        behavior can be disabled by setting the environment variable
3932*b6fb3261SAndroid Build Coastguard Worker        `TF_DISABLE_SEGMENT_REDUCTION_OP_DETERMINISM_EXCEPTIONS` to `"true"` or
3933*b6fb3261SAndroid Build Coastguard Worker        `"1"`. For more information about these changes, see the description in
3934*b6fb3261SAndroid Build Coastguard Worker        pull request
3935*b6fb3261SAndroid Build Coastguard Worker        [47772](https://github.com/tensorflow/tensorflow/pull/47772).
3936*b6fb3261SAndroid Build Coastguard Worker    *   In previous versions of TensorFlow, when a GPU was available,
3937*b6fb3261SAndroid Build Coastguard Worker        `tf.sparse.sparse_dense_matmul` introduced truly random noise in the
3938*b6fb3261SAndroid Build Coastguard Worker        forward path for data of type `tf.float32` but not for data of type
3939*b6fb3261SAndroid Build Coastguard Worker        `tf.float64` (for which there was no GPU implementation). In this
3940*b6fb3261SAndroid Build Coastguard Worker        current release, GPU support for other floating-point types
3941*b6fb3261SAndroid Build Coastguard Worker        (`tf.float16`, `tf.float64`, `tf.complex64`, and `tf.complex128`) has
3942*b6fb3261SAndroid Build Coastguard Worker        been added for this op. If you were relying on the determinism of the
3943*b6fb3261SAndroid Build Coastguard Worker        `tf.float64` CPU implementation being automatically selected because of
3944*b6fb3261SAndroid Build Coastguard Worker        the absence of the `tf.float64` GPU implementation, you with either need
3945*b6fb3261SAndroid Build Coastguard Worker        to force the op to run on the CPU or use a different data type.
3946*b6fb3261SAndroid Build Coastguard Worker
3947*b6fb3261SAndroid Build Coastguard Worker*   Security
3948*b6fb3261SAndroid Build Coastguard Worker
3949*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap buffer overflow in `RaggedBinCount`
3950*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29512](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29512))
3951*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap out of bounds write in `RaggedBinCount`
3952*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29514](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29514))
3953*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a type confusion during tensor casts which leads to dereferencing
3954*b6fb3261SAndroid Build Coastguard Worker        null pointers
3955*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29513](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29513))
3956*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a reference binding to null pointer in `MatrixDiag*` ops
3957*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29515](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29515))
3958*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a null pointer dereference via invalid Ragged Tensors
3959*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29516](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29516))
3960*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by zero in `Conv3D`
3961*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29517](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29517))
3962*b6fb3261SAndroid Build Coastguard Worker    *   Fixes vulnerabilities where session operations in eager mode lead to
3963*b6fb3261SAndroid Build Coastguard Worker        null pointer dereferences
3964*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29518](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29518))
3965*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a `CHECK`-fail in `SparseCross` caused by type confusion
3966*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29519](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29519))
3967*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a segfault in `SparseCountSparseOutput`
3968*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29521](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29521))
3969*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap buffer overflow in `Conv3DBackprop*`
3970*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29520](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29520))
3971*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by 0 in `Conv3DBackprop*`
3972*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29522](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29522))
3973*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a `CHECK`-fail in `AddManySparseToTensorsMap`
3974*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29523](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29523))
3975*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by 0 in `Conv2DBackpropFilter`
3976*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29524](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29524))
3977*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by 0 in `Conv2DBackpropInput`
3978*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29525](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29525))
3979*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by 0 in `Conv2D`
3980*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29526](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29526))
3981*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by 0 in `QuantizedConv2D`
3982*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29527](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29527))
3983*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by 0 in `QuantizedMul`
3984*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29528](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29528))
3985*b6fb3261SAndroid Build Coastguard Worker    *   Fixes vulnerabilities caused by invalid validation in
3986*b6fb3261SAndroid Build Coastguard Worker        `SparseMatrixSparseCholesky`
3987*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29530](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29530))
3988*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap buffer overflow caused by rounding
3989*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29529](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29529))
3990*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a `CHECK`-fail in `tf.raw_ops.EncodePng`
3991*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29531))
3992*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap out of bounds read in `RaggedCross`
3993*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29532](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29532))
3994*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a `CHECK`-fail in `DrawBoundingBoxes`
3995*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29533](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29533))
3996*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap buffer overflow in `QuantizedMul`
3997*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29535](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29535))
3998*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a `CHECK`-fail in `SparseConcat`
3999*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29534](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29534))
4000*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap buffer overflow in `QuantizedResizeBilinear`
4001*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29537](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29537))
4002*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap buffer overflow in `QuantizedReshape`
4003*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29536](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29536))
4004*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by zero in `Conv2DBackpropFilter`
4005*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29538](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29538))
4006*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap buffer overflow in `Conv2DBackpropFilter`
4007*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29540](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29540))
4008*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap buffer overflow in `StringNGrams`
4009*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29542](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29542))
4010*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a null pointer dereference in `StringNGrams`
4011*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29541](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29541))
4012*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a `CHECK`-fail in `QuantizeAndDequantizeV4Grad`
4013*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29544](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29544))
4014*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a `CHECK`-fail in `CTCGreedyDecoder`
4015*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29543](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29543))
4016*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap buffer overflow in `SparseTensorToCSRSparseMatrix`
4017*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29545](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29545))
4018*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by 0 in `QuantizedBiasAdd`
4019*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29546](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29546))
4020*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap out of bounds in
4021*b6fb3261SAndroid Build Coastguard Worker        `QuantizedBatchNormWithGlobalNormalization`
4022*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29547](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29547))
4023*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by 0 in `QuantizedBatchNormWithGlobalNormalization`
4024*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29548](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29548))
4025*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by 0 in `QuantizedAdd`
4026*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29549](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29549))
4027*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by 0 in `FractionalAvgPool`
4028*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29550](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29550))
4029*b6fb3261SAndroid Build Coastguard Worker    *   Fixes an OOB read in `MatrixTriangularSolve`
4030*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29551](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29551))
4031*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap OOB in `QuantizeAndDequantizeV3`
4032*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29553](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29553))
4033*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a `CHECK`-failure in `UnsortedSegmentJoin`
4034*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29552](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29552))
4035*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by 0 in `DenseCountSparseOutput`
4036*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29554](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29554))
4037*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by 0 in `FusedBatchNorm`
4038*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29555](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29555))
4039*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by 0 in `SparseMatMul`
4040*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29557](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29557))
4041*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by 0 in `Reverse`
4042*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29556](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29556))
4043*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap buffer overflow in `SparseSplit`
4044*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29558](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29558))
4045*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap OOB access in unicode ops
4046*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29559](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29559))
4047*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap buffer overflow in `RaggedTensorToTensor`
4048*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29560](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29560))
4049*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a `CHECK`-fail in `LoadAndRemapMatrix`
4050*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29561](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29561))
4051*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a `CHECK`-fail in `tf.raw_ops.IRFFT`
4052*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29562](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29562))
4053*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a `CHECK`-fail in `tf.raw_ops.RFFT`
4054*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29563](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29563))
4055*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a null pointer dereference in `EditDistance`
4056*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29564](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29564))
4057*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a null pointer dereference in `SparseFillEmptyRows`
4058*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29565](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29565))
4059*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap OOB access in `Dilation2DBackpropInput`
4060*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29566](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29566))
4061*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a reference binding to null in `ParameterizedTruncatedNormal`
4062*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29568](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29568))
4063*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a set of vulnerabilities caused by lack of validation in
4064*b6fb3261SAndroid Build Coastguard Worker        `SparseDenseCwiseMul`
4065*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29567](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29567))
4066*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap out of bounds read in `MaxPoolGradWithArgmax`
4067*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29570](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29570))
4068*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap out of bounds read in `RequantizationRange`
4069*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29569](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29569))
4070*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a memory corruption in `DrawBoundingBoxesV2`
4071*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29571](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29571))
4072*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a reference binding to nullptr in `SdcaOptimizer`
4073*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29572](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29572))
4074*b6fb3261SAndroid Build Coastguard Worker    *   Fixes an overflow and a denial of service in
4075*b6fb3261SAndroid Build Coastguard Worker        `tf.raw_ops.ReverseSequence`
4076*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29575](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29575))
4077*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by 0 in `MaxPoolGradWithArgmax`
4078*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29573](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29573))
4079*b6fb3261SAndroid Build Coastguard Worker    *   Fixes an undefined behavior in `MaxPool3DGradGrad`
4080*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29574](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29574))
4081*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap buffer overflow in `MaxPool3DGradGrad`
4082*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29576](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29576))
4083*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap buffer overflow in `AvgPool3DGrad`
4084*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29577))
4085*b6fb3261SAndroid Build Coastguard Worker    *   Fixes an undefined behavior and a `CHECK`-fail in
4086*b6fb3261SAndroid Build Coastguard Worker        `FractionalMaxPoolGrad`
4087*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29580](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29580))
4088*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap buffer overflow in `FractionalAvgPoolGrad`
4089*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29578](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29578))
4090*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap buffer overflow in `MaxPoolGrad`
4091*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29579](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29579))
4092*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a segfault in `CTCBeamSearchDecoder`
4093*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29581](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29581))
4094*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap OOB read in `tf.raw_ops.Dequantize`
4095*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29582](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29582))
4096*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a `CHECK`-fail due to integer overflow
4097*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29584](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29584))
4098*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap buffer overflow and undefined behavior in `FusedBatchNorm`
4099*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29583](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29583))
4100*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by zero in padding computation in TFLite
4101*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29585](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29585))
4102*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by zero in optimized pooling implementations in TFLite
4103*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29586](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29586))
4104*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by zero in TFLite's implementation of `SpaceToDepth`
4105*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29587))
4106*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by zero in TFLite's implementation of `GatherNd`
4107*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29589))
4108*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by zero in TFLite's implementation of `TransposeConv`
4109*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29588))
4110*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap OOB read in TFLite's implementation of `Minimum` or
4111*b6fb3261SAndroid Build Coastguard Worker        `Maximum`
4112*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29590](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29590))
4113*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a null pointer dereference in TFLite's `Reshape` operator
4114*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29592](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29592))
4115*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a stack overflow due to looping TFLite subgraph
4116*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29591](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29591))
4117*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by zero in TFLite's implementation of `DepthToSpace`
4118*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29595](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29595))
4119*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by zero in TFLite's convolution code
4120*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29594](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29594))
4121*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by zero in TFLite's implementation of `EmbeddingLookup`
4122*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29596](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29596))
4123*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by zero in TFLite's implementation of `BatchToSpaceNd`
4124*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29593](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29593))
4125*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by zero in TFLite's implementation of `SpaceToBatchNd`
4126*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29597](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29597))
4127*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by zero in TFLite's implementation of `SVDF`
4128*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29598](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29598))
4129*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by zero in TFLite's implementation of `Split`
4130*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29599](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29599))
4131*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by zero in TFLite's implementation of `OneHot`
4132*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29600](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29600))
4133*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by zero in TFLite's implementation of `DepthwiseConv`
4134*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29602](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29602))
4135*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a division by zero in TFLite's implementation of hashtable lookup
4136*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29604](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29604))
4137*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a integer overflow in TFLite concatentation
4138*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29601](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29601))
4139*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a integer overflow in TFLite memory allocation
4140*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29605](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29605))
4141*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap OOB write in TFLite
4142*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29603](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29603))
4143*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap OOB read in TFLite
4144*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29606](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29606))
4145*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap OOB and null pointer dereference in `RaggedTensorToTensor`
4146*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29608](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29608))
4147*b6fb3261SAndroid Build Coastguard Worker    *   Fixes vulnerabilities caused by incomplete validation in `SparseAdd`
4148*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29609](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29609))
4149*b6fb3261SAndroid Build Coastguard Worker    *   Fixes vulnerabilities caused by incomplete validation in
4150*b6fb3261SAndroid Build Coastguard Worker        `SparseSparseMinimum`
4151*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29607](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29607))
4152*b6fb3261SAndroid Build Coastguard Worker    *   Fixes vulnerabilities caused by incomplete validation in `SparseReshape`
4153*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29611](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29611))
4154*b6fb3261SAndroid Build Coastguard Worker    *   Fixes vulnerabilities caused by invalid validation in
4155*b6fb3261SAndroid Build Coastguard Worker        `QuantizeAndDequantizeV2`
4156*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29610](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29610))
4157*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a heap buffer overflow in `BandedTriangularSolve`
4158*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29612](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29612))
4159*b6fb3261SAndroid Build Coastguard Worker    *   Fixes vulnerabilities caused by incomplete validation in
4160*b6fb3261SAndroid Build Coastguard Worker        `tf.raw_ops.CTCLoss`
4161*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29613](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29613))
4162*b6fb3261SAndroid Build Coastguard Worker    *   Fixes an interpreter crash from vulnerabilities in `tf.io.decode_raw`
4163*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29614](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29614))
4164*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a stack overflow in `ParseAttrValue` with nested tensors
4165*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29615](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29615))
4166*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a null dereference in Grappler's `TrySimplify`
4167*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29616](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29616))
4168*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a crash in `tf.transpose` with complex inputs
4169*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29618](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29618))
4170*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a crash in `tf.strings.substr` due to `CHECK`-fail
4171*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29617](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29617))
4172*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a segfault in `tf.raw_ops.SparseCountSparseOutput`
4173*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29619](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29619))
4174*b6fb3261SAndroid Build Coastguard Worker    *   Fixes a segfault in `tf.raw_ops.ImmutableConst`
4175*b6fb3261SAndroid Build Coastguard Worker        ([CVE-2021-29539](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29539))
4176*b6fb3261SAndroid Build Coastguard Worker    *   Updates `curl` to `7.76.0` to handle
4177*b6fb3261SAndroid Build Coastguard Worker        [CVE-2020-8169](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8169),
4178*b6fb3261SAndroid Build Coastguard Worker        [CVE-2020-8177](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8177),
4179*b6fb3261SAndroid Build Coastguard Worker        [CVE-2020-8231](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8231),
4180*b6fb3261SAndroid Build Coastguard Worker        [CVE-2020-8284](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8284),
4181*b6fb3261SAndroid Build Coastguard Worker        [CVE-2020-8285](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8285)
4182*b6fb3261SAndroid Build Coastguard Worker        and
4183*b6fb3261SAndroid Build Coastguard Worker        [CVE-2020-8286](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8286).
4184*b6fb3261SAndroid Build Coastguard Worker
4185*b6fb3261SAndroid Build Coastguard Worker*   Other
4186*b6fb3261SAndroid Build Coastguard Worker
4187*b6fb3261SAndroid Build Coastguard Worker    *   Added `show_debug_info` to `mlir.convert_graph_def` and
4188*b6fb3261SAndroid Build Coastguard Worker        `mlir.convert_function`.
4189*b6fb3261SAndroid Build Coastguard Worker    *   Added
4190*b6fb3261SAndroid Build Coastguard Worker        [Arm Compute Library (ACL)](https://github.com/ARM-software/ComputeLibrary)
4191*b6fb3261SAndroid Build Coastguard Worker        support to `--config=mkl_aarch64` build.
4192*b6fb3261SAndroid Build Coastguard Worker
4193*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
4194*b6fb3261SAndroid Build Coastguard Worker
4195*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
4196*b6fb3261SAndroid Build Coastguard Worker
4197*b6fb3261SAndroid Build Coastguard Worker8bitmp3, Aaron S. Mondal, Abhilash Mahendrakar, Abhinav Upadhyay, Abhishek
4198*b6fb3261SAndroid Build Coastguard WorkerKulkarni, Abolfazl Shahbazi, Adam Hillier, Aditya Kane, Ag Ramesh, ahmedsabie,
4199*b6fb3261SAndroid Build Coastguard WorkerAlbert Villanova Del Moral, Aleksey Vitebskiy, Alex Hoffman, Alexander Bayandin,
4200*b6fb3261SAndroid Build Coastguard WorkerAlfie Edwards, Aman Kishore, Amogh Joshi, andreABbauer, Andrew Goodbody, Andrzej
4201*b6fb3261SAndroid Build Coastguard WorkerPomirski, Artemiy Ryabinkov, Ashish Jha, ather, Ayan Moitra, Bairen Yi, Bart
4202*b6fb3261SAndroid Build Coastguard WorkerRibbers, Bas Aarts, Behzad Abghari, Ben Arnao, Ben Barsdell, Benjamin Klimczak,
4203*b6fb3261SAndroid Build Coastguard Workerbhack, Brendan Collins, Can Wang, Cheng Ren, Chris Leary, Chris Olivier, Clemens
4204*b6fb3261SAndroid Build Coastguard WorkerGiuliani, Cloud Han, Corey Cole, Cui, Yifeng, Cuong V. Nguyen, Daniel Moore,
4205*b6fb3261SAndroid Build Coastguard WorkerDawid Wojciechowski, Ddavis-2015, Dean Wyatte, Denisa Roberts, dependabot[bot],
4206*b6fb3261SAndroid Build Coastguard WorkerDmitry Volodin, Dominic Jack, Duncan Riach, dushuai, Elena Zhelezina, Eli
4207*b6fb3261SAndroid Build Coastguard WorkerOsherovich, Erik Smistad, ewsn1593, Felix Fent, fo40225, François Chollet,
4208*b6fb3261SAndroid Build Coastguard WorkerFrederic Bastien, Freedom" Koan-Sin Tan, fsx950223, ganand1, gbaned, Georgiy
4209*b6fb3261SAndroid Build Coastguard WorkerManuilov, gerbauz, Guillaume Klein, Guozhong Zhuang, Harry Slatyer, Harsh188,
4210*b6fb3261SAndroid Build Coastguard Workerhenri, Henri Woodcock, Hiran Sarkar, Hollow Man, Håkon Sandsmark, I Wayan
4211*b6fb3261SAndroid Build Coastguard WorkerDharmana, icysapphire, Ikko Ashimine, Jab Hofmeier, Jack Hessel, Jacob Valdez,
4212*b6fb3261SAndroid Build Coastguard WorkerJakub Jatczak, James Bernardi, Jared Smolens, Jason Zaman, jedlimlx, Jenny
4213*b6fb3261SAndroid Build Coastguard WorkerPlunkett, Jens Elofsson, Jerry Shih, jgehw, Jia Fu Low, Jim Fisher, jpodivin,
4214*b6fb3261SAndroid Build Coastguard WorkerJulien Stephan, Jungsub Lim, Junha Park, Junhyuk So, justkw, Kaixi Hou,
4215*b6fb3261SAndroid Build Coastguard Workerkashyapraval, Kasra Bigdeli, Kazuaki Ishizaki, Keith Mok, Kevin Cheng, kopytjuk,
4216*b6fb3261SAndroid Build Coastguard WorkerKristian Hartikainen, ksood12345, Kulin Seth, kushanam, latyas, Lequn Chen,
4217*b6fb3261SAndroid Build Coastguard WorkerLeslie-Fang, Long M. Lưu, Lukas Geiger, machineko, Mahmoud Abuzaina, Manish, Mao
4218*b6fb3261SAndroid Build Coastguard WorkerYunfei, Maozhou, Ge, Marcin Juszkiewicz, Marcin Owsiany, Marconi Jiang, Marcos
4219*b6fb3261SAndroid Build Coastguard WorkerPereira, Maria Romanenko Vexlard, Maria Vexlard, Marius Brehler, marload, Martin
4220*b6fb3261SAndroid Build Coastguard WorkerKubovčík, Matej, Mateusz Holenko, Maxiwell S. Garcia, Mazhar, mazharul,
4221*b6fb3261SAndroid Build Coastguard Workermbhuiyan, mdfaijul, Michael Gielda, Michael Kuchnik, Michal Szutenberg, Mikhail
4222*b6fb3261SAndroid Build Coastguard WorkerStepanov, Milan Straka, Mitchel Humpherys, Mohamed Moselhy, Mohamed Nour
4223*b6fb3261SAndroid Build Coastguard WorkerAbouelseoud, Måns Bermell, Måns Nilsson, Nathan Luehr, Nico Jahn, Niroop
4224*b6fb3261SAndroid Build Coastguard WorkerAmmbashankar, Oceania2018, Omri Steiner, Orivej Desh, Oskar Flordal, oujiafan,
4225*b6fb3261SAndroid Build Coastguard WorkerPatrik Laurell, Paul B. Isaac'S, Paul Klinger, Pawel Piskorski, Pedro Marques,
4226*b6fb3261SAndroid Build Coastguard WorkerPhat Tran, Piotr Zierhoffer, piyushdatta, Pnikam-Cad, Prashant Kumar, Prateek
4227*b6fb3261SAndroid Build Coastguard WorkerGupta, PratsBhatt, Pravin Karandikar, qqq.jq, QQ喵, Quintin, Rama Ketineni,
4228*b6fb3261SAndroid Build Coastguard Workerravikyram, Rehan Guha, rhdong, rmothukuru, Roger Cheng, Rohit Santhanam, rposts,
4229*b6fb3261SAndroid Build Coastguard WorkerRsanthanam-Amd, rsun, Rsun-Bdti, Ryan Kuester, ryanking13, Saduf2019, Sami Kama,
4230*b6fb3261SAndroid Build Coastguard WorkerSamuel Marks, Scott Tseng, Sean Moriarity, Sergey Popov, Sergii Khomenko, Sheng,
4231*b6fb3261SAndroid Build Coastguard WorkerYang, shwetaoj, Sidong-Wei, Simon Maurer, Simrit Kaur, Srini511, Srinivasan
4232*b6fb3261SAndroid Build Coastguard WorkerNarayanamoorthy, Stephan, Stephen Matthews, Sungmann Cho, Sunoru, Suraj Sudhir,
4233*b6fb3261SAndroid Build Coastguard WorkerSuraj Upadhyay, Taebum Kim, Takayoshi Koizumi, Tamas Bela Feher, Teng Lu,
4234*b6fb3261SAndroid Build Coastguard WorkerThibaut Goetghebuer-Planchon, Tomwildenhain-Microsoft, Tony, Traun Leyden, Trent
4235*b6fb3261SAndroid Build Coastguard WorkerLo, TVLIgnacy, Tzu-Wei Sung, vaibhav, Vignesh Kothapalli, Vikram Dattu,
4236*b6fb3261SAndroid Build Coastguard Workerviktprog, Vinayaka Bandishti, Vincent Abriou, Vishakha Agrawal, Vivek Panyam,
4237*b6fb3261SAndroid Build Coastguard WorkerVladimir Silyaev, Võ Văn Nghĩa, wamuir, Wang, Yanzhang, wangsiyu, Waqar Hameed,
4238*b6fb3261SAndroid Build Coastguard Workerwxinix, Xiao Yang, xiaohong1031, Xiaoming (Jason) Cui, Xinan Jiang, Yair
4239*b6fb3261SAndroid Build Coastguard WorkerEhrenwald, Yajush Vyas, Yasir Modak, Yimei Sun, Yong Tang, Yosshi999,
4240*b6fb3261SAndroid Build Coastguard Workeryoushenmebutuo, yqtianust, Yuan Tang, yuanbopeng, Yuriy Chernyshov, Yuta
4241*b6fb3261SAndroid Build Coastguard WorkerFukasawa, Zachary Deane-Mayer, Zeno Gantner, Zhoulong Jiang, zhuyie, zilinzhu,
4242*b6fb3261SAndroid Build Coastguard Worker彭震东
4243*b6fb3261SAndroid Build Coastguard Worker
4244*b6fb3261SAndroid Build Coastguard Worker# Release 2.4.1
4245*b6fb3261SAndroid Build Coastguard Worker
4246*b6fb3261SAndroid Build Coastguard Worker*   This release removes the AVX2 requirement from TF 2.4.0.
4247*b6fb3261SAndroid Build Coastguard Worker
4248*b6fb3261SAndroid Build Coastguard Worker# Release 2.3.2
4249*b6fb3261SAndroid Build Coastguard Worker
4250*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
4251*b6fb3261SAndroid Build Coastguard Worker
4252*b6fb3261SAndroid Build Coastguard Worker*   Fixes an access to unitialized memory in Eigen code
4253*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26266](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26266))
4254*b6fb3261SAndroid Build Coastguard Worker*   Fixes a security vulnerability caused by lack of validation in
4255*b6fb3261SAndroid Build Coastguard Worker    `tf.raw_ops.DataFormatVecPermute` and `tf.raw_ops.DataFormatDimMap`
4256*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26267](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26267))
4257*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability caused by attempting to write to immutable memory
4258*b6fb3261SAndroid Build Coastguard Worker    region in `tf.raw_ops.ImmutableConst`
4259*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26268](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26268)
4260*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in LSTM with zero-length input
4261*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26270](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26270))
4262*b6fb3261SAndroid Build Coastguard Worker*   Fixes a security vulnerability caused by accessing heap data outside of
4263*b6fb3261SAndroid Build Coastguard Worker    bounds when loading a specially crafted `SavedModel`
4264*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26271](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26271))
4265*b6fb3261SAndroid Build Coastguard Worker*   Solves an OOM issue on TPUs when XLA contexts use fused average updates
4266*b6fb3261SAndroid Build Coastguard Worker*   Updates `libjpeg-turbo` to `2.0.5` to handle
4267*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13790](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13790).
4268*b6fb3261SAndroid Build Coastguard Worker*   Updates `junit` to `4.13.1` to handle
4269*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15250](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15250).
4270*b6fb3261SAndroid Build Coastguard Worker*   Updates `PCRE` to `8.44` to handle
4271*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-20838](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-20838)
4272*b6fb3261SAndroid Build Coastguard Worker    and
4273*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-14155](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14155).
4274*b6fb3261SAndroid Build Coastguard Worker*   Updates `sqlite3` to `3.44.0` to keep in sync with master branch.
4275*b6fb3261SAndroid Build Coastguard Worker
4276*b6fb3261SAndroid Build Coastguard Worker# Release 2.2.2
4277*b6fb3261SAndroid Build Coastguard Worker
4278*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
4279*b6fb3261SAndroid Build Coastguard Worker
4280*b6fb3261SAndroid Build Coastguard Worker*   Fixes an access to unitialized memory in Eigen code
4281*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26266](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26266))
4282*b6fb3261SAndroid Build Coastguard Worker*   Fixes a security vulnerability caused by lack of validation in
4283*b6fb3261SAndroid Build Coastguard Worker    `tf.raw_ops.DataFormatVecPermute` and `tf.raw_ops.DataFormatDimMap`
4284*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26267](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26267))
4285*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability caused by attempting to write to immutable memory
4286*b6fb3261SAndroid Build Coastguard Worker    region in `tf.raw_ops.ImmutableConst`
4287*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26268](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26268)
4288*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in LSTM with zero-length input
4289*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26270](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26270))
4290*b6fb3261SAndroid Build Coastguard Worker*   Fixes a security vulnerability caused by accessing heap data outside of
4291*b6fb3261SAndroid Build Coastguard Worker    bounds when loading a specially crafted `SavedModel`
4292*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26271](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26271))
4293*b6fb3261SAndroid Build Coastguard Worker*   Prevents memory leaks in loading `SavedModel`s that import functions
4294*b6fb3261SAndroid Build Coastguard Worker*   Updates `libjpeg-turbo` to `2.0.5` to handle
4295*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13790](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13790).
4296*b6fb3261SAndroid Build Coastguard Worker*   Updates `junit` to `4.13.1` to handle
4297*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15250](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15250).
4298*b6fb3261SAndroid Build Coastguard Worker*   Updates `PCRE` to `8.44` to handle
4299*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-20838](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-20838)
4300*b6fb3261SAndroid Build Coastguard Worker    and
4301*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-14155](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14155).
4302*b6fb3261SAndroid Build Coastguard Worker*   Updates `sqlite3` to `3.44.0` to keep in sync with master branch.
4303*b6fb3261SAndroid Build Coastguard Worker
4304*b6fb3261SAndroid Build Coastguard Worker# Release 2.1.3
4305*b6fb3261SAndroid Build Coastguard Worker
4306*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
4307*b6fb3261SAndroid Build Coastguard Worker
4308*b6fb3261SAndroid Build Coastguard Worker*   Fixes an access to unitialized memory in Eigen code
4309*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26266](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26266))
4310*b6fb3261SAndroid Build Coastguard Worker*   Fixes a security vulnerability caused by lack of validation in
4311*b6fb3261SAndroid Build Coastguard Worker    `tf.raw_ops.DataFormatVecPermute` and `tf.raw_ops.DataFormatDimMap`
4312*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26267](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26267))
4313*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability caused by attempting to write to immutable memory
4314*b6fb3261SAndroid Build Coastguard Worker    region in `tf.raw_ops.ImmutableConst`
4315*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26268](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26268)
4316*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in LSTM with zero-length input
4317*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26270](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26270))
4318*b6fb3261SAndroid Build Coastguard Worker*   Fixes a security vulnerability caused by accessing heap data outside of
4319*b6fb3261SAndroid Build Coastguard Worker    bounds when loading a specially crafted `SavedModel`
4320*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26271](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26271))
4321*b6fb3261SAndroid Build Coastguard Worker*   Updates `libjpeg-turbo` to `2.0.5` to handle
4322*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13790](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13790).
4323*b6fb3261SAndroid Build Coastguard Worker*   Updates `junit` to `4.13.1` to handle
4324*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15250](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15250).
4325*b6fb3261SAndroid Build Coastguard Worker*   Updates `PCRE` to `8.44` to handle
4326*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-20838](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-20838)
4327*b6fb3261SAndroid Build Coastguard Worker    and
4328*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-14155](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14155).
4329*b6fb3261SAndroid Build Coastguard Worker*   Updates `sqlite3` to `3.44.0` to keep in sync with master branch.
4330*b6fb3261SAndroid Build Coastguard Worker*   Newer ROCm versions are supported on the 2.1 branch.
4331*b6fb3261SAndroid Build Coastguard Worker
4332*b6fb3261SAndroid Build Coastguard Worker# Release 2.0.4
4333*b6fb3261SAndroid Build Coastguard Worker
4334*b6fb3261SAndroid Build Coastguard WorkerNote that this is the last patch release for the TensorFlow 2.0.x series.
4335*b6fb3261SAndroid Build Coastguard Worker
4336*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
4337*b6fb3261SAndroid Build Coastguard Worker
4338*b6fb3261SAndroid Build Coastguard Worker*   Fixes an access to unitialized memory in Eigen code
4339*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26266](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26266))
4340*b6fb3261SAndroid Build Coastguard Worker*   Fixes a security vulnerability caused by lack of validation in
4341*b6fb3261SAndroid Build Coastguard Worker    `tf.raw_ops.DataFormatVecPermute` and `tf.raw_ops.DataFormatDimMap`
4342*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26267](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26267))
4343*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability caused by attempting to write to immutable memory
4344*b6fb3261SAndroid Build Coastguard Worker    region in `tf.raw_ops.ImmutableConst`
4345*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26268](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26268)
4346*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in LSTM with zero-length input
4347*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26270](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26270))
4348*b6fb3261SAndroid Build Coastguard Worker*   Fixes a security vulnerability caused by accessing heap data outside of
4349*b6fb3261SAndroid Build Coastguard Worker    bounds when loading a specially crafted `SavedModel`
4350*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26271](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26271))
4351*b6fb3261SAndroid Build Coastguard Worker*   Updates `libjpeg-turbo` to `2.0.5` to handle
4352*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13790](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13790).
4353*b6fb3261SAndroid Build Coastguard Worker*   Updates `junit` to `4.13.1` to handle
4354*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15250](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15250).
4355*b6fb3261SAndroid Build Coastguard Worker*   Updates `PCRE` to `8.44` to handle
4356*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-20838](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-20838)
4357*b6fb3261SAndroid Build Coastguard Worker    and
4358*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-14155](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14155).
4359*b6fb3261SAndroid Build Coastguard Worker*   Updates `sqlite3` to `3.44.0` to keep in sync with master branch.
4360*b6fb3261SAndroid Build Coastguard Worker
4361*b6fb3261SAndroid Build Coastguard Worker# Release 1.15.5
4362*b6fb3261SAndroid Build Coastguard Worker
4363*b6fb3261SAndroid Build Coastguard WorkerNote that this is the last patch release for the TensorFlow 1.x series.
4364*b6fb3261SAndroid Build Coastguard Worker
4365*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
4366*b6fb3261SAndroid Build Coastguard Worker
4367*b6fb3261SAndroid Build Coastguard Worker*   Fixes an access to unitialized memory in Eigen code
4368*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26266](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26266))
4369*b6fb3261SAndroid Build Coastguard Worker*   Fixes a security vulnerability caused by lack of validation in
4370*b6fb3261SAndroid Build Coastguard Worker    `tf.raw_ops.DataFormatVecPermute` and `tf.raw_ops.DataFormatDimMap`
4371*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26267](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26267))
4372*b6fb3261SAndroid Build Coastguard Worker*   Fixes a vulnerability caused by attempting to write to immutable memory
4373*b6fb3261SAndroid Build Coastguard Worker    region in `tf.raw_ops.ImmutableConst`
4374*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26268](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26268)
4375*b6fb3261SAndroid Build Coastguard Worker*   Fixes a `CHECK`-fail in LSTM with zero-length input
4376*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26270](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26270))
4377*b6fb3261SAndroid Build Coastguard Worker*   Fixes a security vulnerability caused by accessing heap data outside of
4378*b6fb3261SAndroid Build Coastguard Worker    bounds when loading a specially crafted `SavedModel`
4379*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26271](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26271))
4380*b6fb3261SAndroid Build Coastguard Worker*   Updates `libjpeg-turbo` to `2.0.5` to handle
4381*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13790](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13790).
4382*b6fb3261SAndroid Build Coastguard Worker*   Updates `junit` to `4.13.1` to handle
4383*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15250](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15250).
4384*b6fb3261SAndroid Build Coastguard Worker*   Updates `PCRE` to `8.44` to handle
4385*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-20838](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-20838)
4386*b6fb3261SAndroid Build Coastguard Worker    and
4387*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-14155](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-14155).
4388*b6fb3261SAndroid Build Coastguard Worker*   Updates `sqlite3` to `3.44.0` to keep in sync with master branch.
4389*b6fb3261SAndroid Build Coastguard Worker
4390*b6fb3261SAndroid Build Coastguard Worker# Release 2.4.0
4391*b6fb3261SAndroid Build Coastguard Worker
4392*b6fb3261SAndroid Build Coastguard Worker\## Major Features and Improvements
4393*b6fb3261SAndroid Build Coastguard Worker
4394*b6fb3261SAndroid Build Coastguard Worker*   `tf.distribute` introduces experimental support for asynchronous training of
4395*b6fb3261SAndroid Build Coastguard Worker    models via the
4396*b6fb3261SAndroid Build Coastguard Worker    [`tf.distribute.experimental.ParameterServerStrategy`](https://www.tensorflow.org/api_docs/python/tf/distribute/experimental/ParameterServerStrategy)
4397*b6fb3261SAndroid Build Coastguard Worker    API. Please see the
4398*b6fb3261SAndroid Build Coastguard Worker    [tutorial](https://www.tensorflow.org/tutorials/distribute/parameter_server_training)
4399*b6fb3261SAndroid Build Coastguard Worker    to learn more.
4400*b6fb3261SAndroid Build Coastguard Worker
4401*b6fb3261SAndroid Build Coastguard Worker*   [`MultiWorkerMirroredStrategy`](https://www.tensorflow.org/api_docs/python/tf/distribute/MultiWorkerMirroredStrategy)
4402*b6fb3261SAndroid Build Coastguard Worker    is now a stable API and is no longer considered experimental. Some of the
4403*b6fb3261SAndroid Build Coastguard Worker    major improvements involve handling peer failure and many bug fixes. Please
4404*b6fb3261SAndroid Build Coastguard Worker    check out the detailed tutorial on
4405*b6fb3261SAndroid Build Coastguard Worker    [Multi-worker training with Keras](https://www.tensorflow.org/tutorials/distribute/multi_worker_with_keras).
4406*b6fb3261SAndroid Build Coastguard Worker
4407*b6fb3261SAndroid Build Coastguard Worker*   Introduces experimental support for a new module named
4408*b6fb3261SAndroid Build Coastguard Worker    [`tf.experimental.numpy`](https://www.tensorflow.org/api_docs/python/tf/experimental/numpy)
4409*b6fb3261SAndroid Build Coastguard Worker    which is a NumPy-compatible API for writing TF programs. See the
4410*b6fb3261SAndroid Build Coastguard Worker    [detailed guide](https://www.tensorflow.org/guide/tf_numpy) to learn more.
4411*b6fb3261SAndroid Build Coastguard Worker    Additional details below.
4412*b6fb3261SAndroid Build Coastguard Worker
4413*b6fb3261SAndroid Build Coastguard Worker*   Adds Support for
4414*b6fb3261SAndroid Build Coastguard Worker    [TensorFloat-32](https://blogs.nvidia.com/blog/2020/05/14/tensorfloat-32-precision-format/)
4415*b6fb3261SAndroid Build Coastguard Worker    on Ampere based GPUs. TensorFloat-32, or TF32 for short, is a math mode for
4416*b6fb3261SAndroid Build Coastguard Worker    NVIDIA Ampere based GPUs and is enabled by default.
4417*b6fb3261SAndroid Build Coastguard Worker
4418*b6fb3261SAndroid Build Coastguard Worker*   A major refactoring of the internals of the Keras Functional API has been
4419*b6fb3261SAndroid Build Coastguard Worker    completed, that should improve the reliability, stability, and performance
4420*b6fb3261SAndroid Build Coastguard Worker    of constructing Functional models.
4421*b6fb3261SAndroid Build Coastguard Worker
4422*b6fb3261SAndroid Build Coastguard Worker*   Keras mixed precision API
4423*b6fb3261SAndroid Build Coastguard Worker    [`tf.keras.mixed_precision`](https://www.tensorflow.org/api_docs/python/tf/keras/mixed_precision?version=nightly)
4424*b6fb3261SAndroid Build Coastguard Worker    is no longer experimental and allows the use of 16-bit floating point
4425*b6fb3261SAndroid Build Coastguard Worker    formats during training, improving performance by up to 3x on GPUs and 60%
4426*b6fb3261SAndroid Build Coastguard Worker    on TPUs. Please see below for additional details.
4427*b6fb3261SAndroid Build Coastguard Worker
4428*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow Profiler now supports profiling `MultiWorkerMirroredStrategy` and
4429*b6fb3261SAndroid Build Coastguard Worker    tracing multiple workers using the
4430*b6fb3261SAndroid Build Coastguard Worker    [sampling mode API](https://www.tensorflow.org/guide/profiler#profiling_apis).
4431*b6fb3261SAndroid Build Coastguard Worker
4432*b6fb3261SAndroid Build Coastguard Worker*   TFLite Profiler for Android is available. See the detailed
4433*b6fb3261SAndroid Build Coastguard Worker    [guide](https://www.tensorflow.org/lite/performance/measurement#trace_tensorflow_lite_internals_in_android)
4434*b6fb3261SAndroid Build Coastguard Worker    to learn more.
4435*b6fb3261SAndroid Build Coastguard Worker
4436*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow pip packages are now built with CUDA11 and cuDNN 8.0.2.
4437*b6fb3261SAndroid Build Coastguard Worker
4438*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes
4439*b6fb3261SAndroid Build Coastguard Worker
4440*b6fb3261SAndroid Build Coastguard Worker*   TF Core:
4441*b6fb3261SAndroid Build Coastguard Worker
4442*b6fb3261SAndroid Build Coastguard Worker    *   Certain float32 ops run in lower precision on Ampere based GPUs,
4443*b6fb3261SAndroid Build Coastguard Worker        including matmuls and convolutions, due to the use of
4444*b6fb3261SAndroid Build Coastguard Worker        [TensorFloat-32](https://blogs.nvidia.com/blog/2020/05/14/tensorfloat-32-precision-format/).
4445*b6fb3261SAndroid Build Coastguard Worker        Specifically, inputs to such ops are rounded from 23 bits of precision
4446*b6fb3261SAndroid Build Coastguard Worker        to 10 bits of precision. This is unlikely to cause issues in practice
4447*b6fb3261SAndroid Build Coastguard Worker        for deep learning models. In some cases, TensorFloat-32 is also used for
4448*b6fb3261SAndroid Build Coastguard Worker        complex64 ops. TensorFloat-32 can be disabled by running
4449*b6fb3261SAndroid Build Coastguard Worker        `tf.config.experimental.enable_tensor_float_32_execution(False)`.
4450*b6fb3261SAndroid Build Coastguard Worker    *   The byte layout for string tensors across the C-API has been updated to
4451*b6fb3261SAndroid Build Coastguard Worker        match TF Core/C++; i.e., a contiguous array of
4452*b6fb3261SAndroid Build Coastguard Worker        `tensorflow::tstring`/`TF_TString`s.
4453*b6fb3261SAndroid Build Coastguard Worker    *   C-API functions `TF_StringDecode`, `TF_StringEncode`, and
4454*b6fb3261SAndroid Build Coastguard Worker        `TF_StringEncodedSize` are no longer relevant and have been removed; see
4455*b6fb3261SAndroid Build Coastguard Worker        `core/platform/ctstring.h` for string access/modification in C.
4456*b6fb3261SAndroid Build Coastguard Worker    *   `tensorflow.python`, `tensorflow.core` and `tensorflow.compiler` modules
4457*b6fb3261SAndroid Build Coastguard Worker        are now hidden. These modules are not part of TensorFlow public API.
4458*b6fb3261SAndroid Build Coastguard Worker    *   `tf.raw_ops.Max` and `tf.raw_ops.Min` no longer accept inputs of type
4459*b6fb3261SAndroid Build Coastguard Worker        `tf.complex64` or `tf.complex128`, because the behavior of these ops is
4460*b6fb3261SAndroid Build Coastguard Worker        not well defined for complex types.
4461*b6fb3261SAndroid Build Coastguard Worker    *   XLA:CPU and XLA:GPU devices are no longer registered by default. Use
4462*b6fb3261SAndroid Build Coastguard Worker        `TF_XLA_FLAGS=--tf_xla_enable_xla_devices` if you really need them, but
4463*b6fb3261SAndroid Build Coastguard Worker        this flag will eventually be removed in subsequent releases.
4464*b6fb3261SAndroid Build Coastguard Worker
4465*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
4466*b6fb3261SAndroid Build Coastguard Worker
4467*b6fb3261SAndroid Build Coastguard Worker    *   The `steps_per_execution` argument in `model.compile()` is no longer
4468*b6fb3261SAndroid Build Coastguard Worker        experimental; if you were passing `experimental_steps_per_execution`,
4469*b6fb3261SAndroid Build Coastguard Worker        rename it to `steps_per_execution` in your code. This argument controls
4470*b6fb3261SAndroid Build Coastguard Worker        the number of batches to run during each `tf.function` call when calling
4471*b6fb3261SAndroid Build Coastguard Worker        `model.fit()`. Running multiple batches inside a single `tf.function`
4472*b6fb3261SAndroid Build Coastguard Worker        call can greatly improve performance on TPUs or small models with a
4473*b6fb3261SAndroid Build Coastguard Worker        large Python overhead.
4474*b6fb3261SAndroid Build Coastguard Worker    *   A **major refactoring** of the internals of the Keras Functional API may
4475*b6fb3261SAndroid Build Coastguard Worker        affect code that is relying on certain internal details:
4476*b6fb3261SAndroid Build Coastguard Worker    *   Code that uses `isinstance(x, tf.Tensor)` instead of `tf.is_tensor` when
4477*b6fb3261SAndroid Build Coastguard Worker        checking Keras symbolic inputs/outputs should switch to using
4478*b6fb3261SAndroid Build Coastguard Worker        `tf.is_tensor`.
4479*b6fb3261SAndroid Build Coastguard Worker    *   Code that is overly dependent on the exact names attached to symbolic
4480*b6fb3261SAndroid Build Coastguard Worker        tensors (e.g. assumes there will be ":0" at the end of the inputs,
4481*b6fb3261SAndroid Build Coastguard Worker        treats names as unique identifiers instead of using `tensor.ref()`,
4482*b6fb3261SAndroid Build Coastguard Worker        etc.) may break.
4483*b6fb3261SAndroid Build Coastguard Worker    *   Code that uses full path for `get_concrete_function` to trace Keras
4484*b6fb3261SAndroid Build Coastguard Worker        symbolic inputs directly should switch to building matching
4485*b6fb3261SAndroid Build Coastguard Worker        `tf.TensorSpec`s directly and tracing the `TensorSpec` objects.
4486*b6fb3261SAndroid Build Coastguard Worker    *   Code that relies on the exact number and names of the op layers that
4487*b6fb3261SAndroid Build Coastguard Worker        TensorFlow operations were converted into may have changed.
4488*b6fb3261SAndroid Build Coastguard Worker    *   Code that uses `tf.map_fn`/`tf.cond`/`tf.while_loop`/control flow as op
4489*b6fb3261SAndroid Build Coastguard Worker        layers and happens to work before TF 2.4. These will explicitly be
4490*b6fb3261SAndroid Build Coastguard Worker        unsupported now. Converting these ops to Functional API op layers was
4491*b6fb3261SAndroid Build Coastguard Worker        unreliable before TF 2.4, and prone to erroring incomprehensibly or
4492*b6fb3261SAndroid Build Coastguard Worker        being silently buggy.
4493*b6fb3261SAndroid Build Coastguard Worker    *   Code that directly asserts on a Keras symbolic value in cases where ops
4494*b6fb3261SAndroid Build Coastguard Worker        like `tf.rank` used to return a static or symbolic value depending on if
4495*b6fb3261SAndroid Build Coastguard Worker        the input had a fully static shape or not. Now these ops always return
4496*b6fb3261SAndroid Build Coastguard Worker        symbolic values.
4497*b6fb3261SAndroid Build Coastguard Worker    *   Code already susceptible to leaking tensors outside of graphs becomes
4498*b6fb3261SAndroid Build Coastguard Worker        slightly more likely to do so now.
4499*b6fb3261SAndroid Build Coastguard Worker    *   Code that tries directly getting gradients with respect to symbolic
4500*b6fb3261SAndroid Build Coastguard Worker        Keras inputs/outputs. Use `GradientTape` on the actual Tensors passed to
4501*b6fb3261SAndroid Build Coastguard Worker        the already-constructed model instead.
4502*b6fb3261SAndroid Build Coastguard Worker    *   Code that requires very tricky shape manipulation via converted op
4503*b6fb3261SAndroid Build Coastguard Worker        layers in order to work, where the Keras symbolic shape inference proves
4504*b6fb3261SAndroid Build Coastguard Worker        insufficient.
4505*b6fb3261SAndroid Build Coastguard Worker    *   Code that tries manually walking a `tf.keras.Model` layer by layer and
4506*b6fb3261SAndroid Build Coastguard Worker        assumes layers only ever have one positional argument. This assumption
4507*b6fb3261SAndroid Build Coastguard Worker        doesn't hold true before TF 2.4 either, but is more likely to cause
4508*b6fb3261SAndroid Build Coastguard Worker        issues now.
4509*b6fb3261SAndroid Build Coastguard Worker    *   Code that manually enters `keras.backend.get_graph()` before building a
4510*b6fb3261SAndroid Build Coastguard Worker        functional model is no longer needed.
4511*b6fb3261SAndroid Build Coastguard Worker    *   Start enforcing input shape assumptions when calling Functional API
4512*b6fb3261SAndroid Build Coastguard Worker        Keras models. This may potentially break some users, in case there is a
4513*b6fb3261SAndroid Build Coastguard Worker        mismatch between the shape used when creating `Input` objects in a
4514*b6fb3261SAndroid Build Coastguard Worker        Functional model, and the shape of the data passed to that model. You
4515*b6fb3261SAndroid Build Coastguard Worker        can fix this mismatch by either calling the model with correctly-shaped
4516*b6fb3261SAndroid Build Coastguard Worker        data, or by relaxing `Input` shape assumptions (note that you can pass
4517*b6fb3261SAndroid Build Coastguard Worker        shapes with `None` entries for axes that are meant to be dynamic). You
4518*b6fb3261SAndroid Build Coastguard Worker        can also disable the input checking entirely by setting
4519*b6fb3261SAndroid Build Coastguard Worker        `model.input_spec = None`.
4520*b6fb3261SAndroid Build Coastguard Worker    *   Several changes have been made to
4521*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.mixed_precision.experimental`. Note that it is now recommended
4522*b6fb3261SAndroid Build Coastguard Worker        to use the non-experimental `tf.keras.mixed_precision` API.
4523*b6fb3261SAndroid Build Coastguard Worker    *   `AutoCastVariable.dtype` now refers to the actual variable dtype, not
4524*b6fb3261SAndroid Build Coastguard Worker        the dtype it will be casted to.
4525*b6fb3261SAndroid Build Coastguard Worker    *   When mixed precision is enabled, `tf.keras.layers.Embedding` now outputs
4526*b6fb3261SAndroid Build Coastguard Worker        a float16 or bfloat16 tensor instead of a float32 tensor.
4527*b6fb3261SAndroid Build Coastguard Worker    *   The property
4528*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.mixed_precision.experimental.LossScaleOptimizer.loss_scale` is
4529*b6fb3261SAndroid Build Coastguard Worker        now a tensor, not a `LossScale` object. This means to get a loss scale
4530*b6fb3261SAndroid Build Coastguard Worker        of a `LossScaleOptimizer` as a tensor, you must now call
4531*b6fb3261SAndroid Build Coastguard Worker        `opt.loss_scale`instead of `opt.loss_scale()`.
4532*b6fb3261SAndroid Build Coastguard Worker    *   The property `should_cast_variables` has been removed from
4533*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.mixed_precision.experimental.Policy`
4534*b6fb3261SAndroid Build Coastguard Worker    *   When passing a `tf.mixed_precision.experimental.DynamicLossScale` to
4535*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.mixed_precision.experimental.LossScaleOptimizer`, the
4536*b6fb3261SAndroid Build Coastguard Worker        `DynamicLossScale`'s multiplier must be 2.
4537*b6fb3261SAndroid Build Coastguard Worker    *   When passing a `tf.mixed_precision.experimental.DynamicLossScale` to
4538*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.mixed_precision.experimental.LossScaleOptimizer`, the weights
4539*b6fb3261SAndroid Build Coastguard Worker        of the `DynanmicLossScale` are copied into the `LossScaleOptimizer`
4540*b6fb3261SAndroid Build Coastguard Worker        instead of being reused. This means modifying the weights of the
4541*b6fb3261SAndroid Build Coastguard Worker        `DynamicLossScale` will no longer affect the weights of the
4542*b6fb3261SAndroid Build Coastguard Worker        LossScaleOptimizer, and vice versa.
4543*b6fb3261SAndroid Build Coastguard Worker    *   The global policy can no longer be set to a non-floating point policy in
4544*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.mixed_precision.experimental.set_policy`
4545*b6fb3261SAndroid Build Coastguard Worker    *   In `Layer.call`, `AutoCastVariable`s will no longer be casted within
4546*b6fb3261SAndroid Build Coastguard Worker        `MirroredStrategy.run` or `ReplicaContext.merge_call`. This is because a
4547*b6fb3261SAndroid Build Coastguard Worker        thread local variable is used to determine whether `AutoCastVariable`s
4548*b6fb3261SAndroid Build Coastguard Worker        are casted, and those two functions run with a different thread. Note
4549*b6fb3261SAndroid Build Coastguard Worker        this only applies if one of these two functions is called within
4550*b6fb3261SAndroid Build Coastguard Worker        `Layer.call`; if one of those two functions calls `Layer.call`,
4551*b6fb3261SAndroid Build Coastguard Worker        `AutoCastVariable`s will still be casted.
4552*b6fb3261SAndroid Build Coastguard Worker
4553*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`:
4554*b6fb3261SAndroid Build Coastguard Worker
4555*b6fb3261SAndroid Build Coastguard Worker    *   `tf.data.experimental.service.DispatchServer` now takes a config tuple
4556*b6fb3261SAndroid Build Coastguard Worker        instead of individual arguments. Usages should be updated to
4557*b6fb3261SAndroid Build Coastguard Worker        `tf.data.experimental.service.DispatchServer(dispatcher_config)`.
4558*b6fb3261SAndroid Build Coastguard Worker    *   `tf.data.experimental.service.WorkerServer` now takes a config tuple
4559*b6fb3261SAndroid Build Coastguard Worker        instead of individual arguments. Usages should be updated to
4560*b6fb3261SAndroid Build Coastguard Worker        `tf.data.experimental.service.WorkerServer(worker_config)`.
4561*b6fb3261SAndroid Build Coastguard Worker
4562*b6fb3261SAndroid Build Coastguard Worker*   `tf.distribute`:
4563*b6fb3261SAndroid Build Coastguard Worker
4564*b6fb3261SAndroid Build Coastguard Worker    *   Removes `tf.distribute.Strategy.experimental_make_numpy_dataset`. Please
4565*b6fb3261SAndroid Build Coastguard Worker        use `tf.data.Dataset.from_tensor_slices` instead.
4566*b6fb3261SAndroid Build Coastguard Worker    *   Renames `experimental_hints` in
4567*b6fb3261SAndroid Build Coastguard Worker        `tf.distribute.StrategyExtended.reduce_to`,
4568*b6fb3261SAndroid Build Coastguard Worker        `tf.distribute.StrategyExtended.batch_reduce_to`,
4569*b6fb3261SAndroid Build Coastguard Worker        `tf.distribute.ReplicaContext.all_reduce` to `options`.
4570*b6fb3261SAndroid Build Coastguard Worker    *   Renames `tf.distribute.experimental.CollectiveHints` to
4571*b6fb3261SAndroid Build Coastguard Worker        `tf.distribute.experimental.CommunicationOptions`.
4572*b6fb3261SAndroid Build Coastguard Worker    *   Renames `tf.distribute.experimental.CollectiveCommunication` to
4573*b6fb3261SAndroid Build Coastguard Worker        `tf.distribute.experimental.CommunicationImplementation`.
4574*b6fb3261SAndroid Build Coastguard Worker    *   Renames
4575*b6fb3261SAndroid Build Coastguard Worker        `tf.distribute.Strategy.experimental_distribute_datasets_from_function`
4576*b6fb3261SAndroid Build Coastguard Worker        to `distribute_datasets_from_function` as it is no longer experimental.
4577*b6fb3261SAndroid Build Coastguard Worker    *   Removes `tf.distribute.Strategy.experimental_run_v2` method, which was
4578*b6fb3261SAndroid Build Coastguard Worker        deprecated in TF 2.2.
4579*b6fb3261SAndroid Build Coastguard Worker
4580*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`:
4581*b6fb3261SAndroid Build Coastguard Worker
4582*b6fb3261SAndroid Build Coastguard Worker    *   `tf.quantization.quantize_and_dequantize_v2` has been introduced, which
4583*b6fb3261SAndroid Build Coastguard Worker        updates the gradient definition for quantization which is outside the
4584*b6fb3261SAndroid Build Coastguard Worker        range to be 0. To simulate the V1 the behavior of
4585*b6fb3261SAndroid Build Coastguard Worker        `tf.quantization.quantize_and_dequantize(...)` use
4586*b6fb3261SAndroid Build Coastguard Worker        `tf.grad_pass_through(tf.quantization.quantize_and_dequantize_v2)(...)`.
4587*b6fb3261SAndroid Build Coastguard Worker
4588*b6fb3261SAndroid Build Coastguard Worker*   Building TensorFlow:
4589*b6fb3261SAndroid Build Coastguard Worker
4590*b6fb3261SAndroid Build Coastguard Worker    *   Windows platform builds: TensorFlow on Windows under MSVC is now built
4591*b6fb3261SAndroid Build Coastguard Worker        with `--copt=/experimental:preprocessor
4592*b6fb3261SAndroid Build Coastguard Worker        --host_copt=/experimental:preprocessor` (see `.bazelrc` for more
4593*b6fb3261SAndroid Build Coastguard Worker        details). Builds including TensorFlow may fail with unexpected syntax
4594*b6fb3261SAndroid Build Coastguard Worker        errors if these flags are absent. See also
4595*b6fb3261SAndroid Build Coastguard Worker        [this thread on SIG Build](https://groups.google.com/a/tensorflow.org/g/build/c/LbAw8RILvTg/m/ttnuhYU2BgAJ).
4596*b6fb3261SAndroid Build Coastguard Worker
4597*b6fb3261SAndroid Build Coastguard Worker## Known Caveats
4598*b6fb3261SAndroid Build Coastguard Worker
4599*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras.mixed_precision`
4600*b6fb3261SAndroid Build Coastguard Worker    *   When using mixed precision, calling `RMSprop.apply_gradients` or
4601*b6fb3261SAndroid Build Coastguard Worker        `Nadam.apply_gradients` outside a `tf.function` does not work and will
4602*b6fb3261SAndroid Build Coastguard Worker        raise the AttributeError "Tensor.op is meaningless when eager execution
4603*b6fb3261SAndroid Build Coastguard Worker        is enabled". See this
4604*b6fb3261SAndroid Build Coastguard Worker        [issue](https://github.com/tensorflow/tensorflow/issues/45536) for
4605*b6fb3261SAndroid Build Coastguard Worker        details and a workaround.
4606*b6fb3261SAndroid Build Coastguard Worker
4607*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
4608*b6fb3261SAndroid Build Coastguard Worker
4609*b6fb3261SAndroid Build Coastguard Worker### TF Core:
4610*b6fb3261SAndroid Build Coastguard Worker
4611*b6fb3261SAndroid Build Coastguard Worker*   Introduces experimental support for a new module named
4612*b6fb3261SAndroid Build Coastguard Worker    [`tf.experimental.numpy`](https://www.tensorflow.org/api_docs/python/tf/experimental/numpy),
4613*b6fb3261SAndroid Build Coastguard Worker    which is a NumPy-compatible API for writing TF programs. This module
4614*b6fb3261SAndroid Build Coastguard Worker    provides class `ndarray`, which mimics the `ndarray` class in NumPy, and
4615*b6fb3261SAndroid Build Coastguard Worker    wraps an immutable `tf.Tensor` under the hood. A subset of NumPy functions
4616*b6fb3261SAndroid Build Coastguard Worker    (e.g. `numpy.add`) are provided. Their inter-operation with TF facilities is
4617*b6fb3261SAndroid Build Coastguard Worker    seamless in most cases. See
4618*b6fb3261SAndroid Build Coastguard Worker    [tensorflow/python/ops/numpy_ops/README.md](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/ops/numpy_ops/README.md)
4619*b6fb3261SAndroid Build Coastguard Worker    for details of what operations are supported and what are the differences
4620*b6fb3261SAndroid Build Coastguard Worker    from NumPy.
4621*b6fb3261SAndroid Build Coastguard Worker*   `tf.types.experimental.TensorLike` is a new `Union` type that can be used as
4622*b6fb3261SAndroid Build Coastguard Worker    type annotation for variables representing a Tensor or a value that can be
4623*b6fb3261SAndroid Build Coastguard Worker    converted to Tensor by `tf.convert_to_tensor`.
4624*b6fb3261SAndroid Build Coastguard Worker*   Calling ops with a python constants or numpy values is now consistent with
4625*b6fb3261SAndroid Build Coastguard Worker    tf.convert_to_tensor behavior. This avoids operations like tf.reshape
4626*b6fb3261SAndroid Build Coastguard Worker    truncating inputs such as from int64 to int32.
4627*b6fb3261SAndroid Build Coastguard Worker*   Adds `tf.sparse.map_values` to apply a function to the `.value`s of
4628*b6fb3261SAndroid Build Coastguard Worker    `SparseTensor` arguments.
4629*b6fb3261SAndroid Build Coastguard Worker*   The Python bitwise operators for `Tensor` (`__and__`, `__or__`, `__xor__`
4630*b6fb3261SAndroid Build Coastguard Worker    and `__invert__` now support non-`bool` arguments and apply the
4631*b6fb3261SAndroid Build Coastguard Worker    corresponding bitwise ops. `bool` arguments continue to be supported and
4632*b6fb3261SAndroid Build Coastguard Worker    dispatch to logical ops. This brings them more in line with Python and NumPy
4633*b6fb3261SAndroid Build Coastguard Worker    behavior.
4634*b6fb3261SAndroid Build Coastguard Worker*   Adds `tf.SparseTensor.with_values`. This returns a new SparseTensor with the
4635*b6fb3261SAndroid Build Coastguard Worker    same sparsity pattern, but with new provided values. It is similar to the
4636*b6fb3261SAndroid Build Coastguard Worker    `with_values` function of `RaggedTensor`.
4637*b6fb3261SAndroid Build Coastguard Worker*   Adds `StatelessCase` op, and uses it if none of case branches has stateful
4638*b6fb3261SAndroid Build Coastguard Worker    ops.
4639*b6fb3261SAndroid Build Coastguard Worker*   Adds `tf.config.experimental.get_memory_usage` to return total memory usage
4640*b6fb3261SAndroid Build Coastguard Worker    of the device.
4641*b6fb3261SAndroid Build Coastguard Worker*   Adds gradients for `RaggedTensorToVariant` and `RaggedTensorFromVariant`.
4642*b6fb3261SAndroid Build Coastguard Worker*   Improve shape inference of nested function calls by supporting constant
4643*b6fb3261SAndroid Build Coastguard Worker    folding across Arg nodes which makes more static values available to shape
4644*b6fb3261SAndroid Build Coastguard Worker    inference functions.
4645*b6fb3261SAndroid Build Coastguard Worker*   `tf.debugging`:
4646*b6fb3261SAndroid Build Coastguard Worker    *   `tf.debugging.assert_shapes()` now works on `SparseTensor`s (Fixes
4647*b6fb3261SAndroid Build Coastguard Worker        [#36268](https://github.com/tensorflow/tensorflow/issues/36268)).
4648*b6fb3261SAndroid Build Coastguard Worker*   GPU
4649*b6fb3261SAndroid Build Coastguard Worker    *   Adds Support for
4650*b6fb3261SAndroid Build Coastguard Worker        [TensorFloat-32](https://blogs.nvidia.com/blog/2020/05/14/tensorfloat-32-precision-format/)
4651*b6fb3261SAndroid Build Coastguard Worker        on Ampere based GPUs.TensorFloat-32, or TF32 for short, is a math mode
4652*b6fb3261SAndroid Build Coastguard Worker        for NVIDIA Ampere based GPUs which causes certain float32 ops, such as
4653*b6fb3261SAndroid Build Coastguard Worker        matrix multiplications and convolutions, to run much faster on Ampere
4654*b6fb3261SAndroid Build Coastguard Worker        GPUs but with reduced precision. This reduced precision has not been
4655*b6fb3261SAndroid Build Coastguard Worker        found to effect convergence quality of deep learning models in practice.
4656*b6fb3261SAndroid Build Coastguard Worker        TensorFloat-32 is enabled by default, but can be disabled with
4657*b6fb3261SAndroid Build Coastguard Worker        `tf.config.experimental.enable_tensor_float_32_execution`.
4658*b6fb3261SAndroid Build Coastguard Worker*   `tf.math`:
4659*b6fb3261SAndroid Build Coastguard Worker    *   Adds `tf.math.erfcinv`, the inverse to `tf.math.erfc`.
4660*b6fb3261SAndroid Build Coastguard Worker*   `tf.nn`:
4661*b6fb3261SAndroid Build Coastguard Worker    *   `tf.nn.max_pool2d` now supports explicit padding.
4662*b6fb3261SAndroid Build Coastguard Worker*   `tf.image`:
4663*b6fb3261SAndroid Build Coastguard Worker    *   Adds deterministic `tf.image.stateless_random_*` functions for each
4664*b6fb3261SAndroid Build Coastguard Worker        `tf.image.random_*` function. Added a new op
4665*b6fb3261SAndroid Build Coastguard Worker        `stateless_sample_distorted_bounding_box` which is a deterministic
4666*b6fb3261SAndroid Build Coastguard Worker        version of `sample_distorted_bounding_box` op. Given the same seed,
4667*b6fb3261SAndroid Build Coastguard Worker        these stateless functions/ops produce the same results independent of
4668*b6fb3261SAndroid Build Coastguard Worker        how many times the function is called, and independent of global seed
4669*b6fb3261SAndroid Build Coastguard Worker        settings.
4670*b6fb3261SAndroid Build Coastguard Worker    *   Adds deterministic `tf.image.resize` backprop CUDA kernels for
4671*b6fb3261SAndroid Build Coastguard Worker        `method=ResizeMethod.BILINEAR` (the default method). Enable by setting
4672*b6fb3261SAndroid Build Coastguard Worker        the environment variable `TF_DETERMINISTIC_OPS` to `"true"` or `"1"`.
4673*b6fb3261SAndroid Build Coastguard Worker*   `tf.print`:
4674*b6fb3261SAndroid Build Coastguard Worker    *   Bug fix in `tf.print()` with `OrderedDict` where if an `OrderedDict`
4675*b6fb3261SAndroid Build Coastguard Worker        didn't have the keys sorted, the keys and values were not being printed
4676*b6fb3261SAndroid Build Coastguard Worker        in accordance with their correct mapping.
4677*b6fb3261SAndroid Build Coastguard Worker*   `tf.train.Checkpoint`:
4678*b6fb3261SAndroid Build Coastguard Worker    *   Now accepts a `root` argument in the initialization, which generates a
4679*b6fb3261SAndroid Build Coastguard Worker        checkpoint with a root object. This allows users to create a
4680*b6fb3261SAndroid Build Coastguard Worker        `Checkpoint` object that is compatible with Keras `model.save_weights()`
4681*b6fb3261SAndroid Build Coastguard Worker        and `model.load_weights`. The checkpoint is also compatible with the
4682*b6fb3261SAndroid Build Coastguard Worker        checkpoint saved in the `variables/` folder in the SavedModel.
4683*b6fb3261SAndroid Build Coastguard Worker    *   When restoring, `save_path` can be a path to a SavedModel. The function
4684*b6fb3261SAndroid Build Coastguard Worker        will automatically find the checkpoint in the SavedModel.
4685*b6fb3261SAndroid Build Coastguard Worker
4686*b6fb3261SAndroid Build Coastguard Worker### `tf.data`:
4687*b6fb3261SAndroid Build Coastguard Worker
4688*b6fb3261SAndroid Build Coastguard Worker*   Adds new `tf.data.experimental.service.register_dataset` and
4689*b6fb3261SAndroid Build Coastguard Worker    `tf.data.experimental.service.from_dataset_id` APIs to enable one process to
4690*b6fb3261SAndroid Build Coastguard Worker    register a dataset with the tf.data service, and another process to consume
4691*b6fb3261SAndroid Build Coastguard Worker    data from the dataset.
4692*b6fb3261SAndroid Build Coastguard Worker*   Adds support for dispatcher fault tolerance. To enable fault tolerance,
4693*b6fb3261SAndroid Build Coastguard Worker    configure a `work_dir` when running your dispatcher server and set
4694*b6fb3261SAndroid Build Coastguard Worker    `dispatcher_fault_tolerance=True`. The dispatcher will store its state to
4695*b6fb3261SAndroid Build Coastguard Worker    `work_dir`, so that on restart it can continue from its previous state after
4696*b6fb3261SAndroid Build Coastguard Worker    restart.
4697*b6fb3261SAndroid Build Coastguard Worker*   Adds support for sharing dataset graphs via shared filesystem instead of
4698*b6fb3261SAndroid Build Coastguard Worker    over RPC. This reduces load on the dispatcher, improving performance of
4699*b6fb3261SAndroid Build Coastguard Worker    distributing datasets. For this to work, the dispatcher's `work_dir` must be
4700*b6fb3261SAndroid Build Coastguard Worker    accessible from workers. If the worker fails to read from the `work_dir`, it
4701*b6fb3261SAndroid Build Coastguard Worker    falls back to using RPC for dataset graph transfer.
4702*b6fb3261SAndroid Build Coastguard Worker*   Adds support for a new "distributed_epoch" processing mode. This processing
4703*b6fb3261SAndroid Build Coastguard Worker    mode distributes a dataset across all tf.data workers, instead of having
4704*b6fb3261SAndroid Build Coastguard Worker    each worker process the full dataset. See
4705*b6fb3261SAndroid Build Coastguard Worker    [the tf.data service docs](https://www.tensorflow.org/api_docs/python/tf/data/experimental/service#understand_processing_mode)
4706*b6fb3261SAndroid Build Coastguard Worker    to learn more.
4707*b6fb3261SAndroid Build Coastguard Worker*   Adds optional `exclude_cols` parameter to CsvDataset. This parameter is the
4708*b6fb3261SAndroid Build Coastguard Worker    complement of `select_cols`; at most one of these should be specified.
4709*b6fb3261SAndroid Build Coastguard Worker*   We have implemented an optimization which reorders data-discarding
4710*b6fb3261SAndroid Build Coastguard Worker    transformations such as `take` and `shard` to happen earlier in the dataset
4711*b6fb3261SAndroid Build Coastguard Worker    when it is safe to do so. The optimization can be disabled via the
4712*b6fb3261SAndroid Build Coastguard Worker    `experimental_optimization.reorder_data_discarding_ops` dataset option.
4713*b6fb3261SAndroid Build Coastguard Worker*   `tf.data.Options` were previously immutable and can now be overridden.
4714*b6fb3261SAndroid Build Coastguard Worker*   `tf.data.Dataset.from_generator` now supports Ragged and Sparse tensors with
4715*b6fb3261SAndroid Build Coastguard Worker    a new `output_signature` argument, which allows `from_generator` to produce
4716*b6fb3261SAndroid Build Coastguard Worker    any type describable by a `tf.TypeSpec`.
4717*b6fb3261SAndroid Build Coastguard Worker*   `tf.data.experimental.AUTOTUNE` is now available in the core API as
4718*b6fb3261SAndroid Build Coastguard Worker    `tf.data.AUTOTUNE`.
4719*b6fb3261SAndroid Build Coastguard Worker
4720*b6fb3261SAndroid Build Coastguard Worker### `tf.distribute`:
4721*b6fb3261SAndroid Build Coastguard Worker
4722*b6fb3261SAndroid Build Coastguard Worker*   Introduces experimental support for asynchronous training of models via
4723*b6fb3261SAndroid Build Coastguard Worker    `tf.distribute.experimental.ParameterServerStrategy`:
4724*b6fb3261SAndroid Build Coastguard Worker    *   Replaces the existing
4725*b6fb3261SAndroid Build Coastguard Worker        `tf.distribute.experimental.ParameterServerStrategy` symbol with a new
4726*b6fb3261SAndroid Build Coastguard Worker        class that is for parameter server training in TF2. Usage of the old
4727*b6fb3261SAndroid Build Coastguard Worker        symbol, usually with Estimator API, should be **replaced** with
4728*b6fb3261SAndroid Build Coastguard Worker        [`tf.compat.v1.distribute.experimental.ParameterServerStrategy`].
4729*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.distribute.experimental.coordinator.*` namespace, including
4730*b6fb3261SAndroid Build Coastguard Worker        the main API `ClusterCoordinator` for coordinating the training cluster,
4731*b6fb3261SAndroid Build Coastguard Worker        the related data structure `RemoteValue` and `PerWorkerValue`.
4732*b6fb3261SAndroid Build Coastguard Worker*   `MultiWorkerMirroredStrategy`](https://www.tensorflow.org/api_docs/python/tf/distribute/MultiWorkerMirroredStrategy)
4733*b6fb3261SAndroid Build Coastguard Worker    is now a stable API and is no longer considered experimental. Some of the
4734*b6fb3261SAndroid Build Coastguard Worker    major improvements involve handling peer failure and many bug fixes. Please
4735*b6fb3261SAndroid Build Coastguard Worker    check out the detailed tutorial on
4736*b6fb3261SAndroid Build Coastguard Worker    [Multi-worer training with Keras](https://www.tensorflow.org/tutorials/distribute/multi_worker_with_keras).
4737*b6fb3261SAndroid Build Coastguard Worker*   Adds `tf.distribute.Strategy.gather` and
4738*b6fb3261SAndroid Build Coastguard Worker    `tf.distribute.ReplicaContext.all_gather` APIs to support gathering dense
4739*b6fb3261SAndroid Build Coastguard Worker    distributed values.
4740*b6fb3261SAndroid Build Coastguard Worker*   Fixes various issues with saving a distributed model.
4741*b6fb3261SAndroid Build Coastguard Worker
4742*b6fb3261SAndroid Build Coastguard Worker### `tf.keras`:
4743*b6fb3261SAndroid Build Coastguard Worker
4744*b6fb3261SAndroid Build Coastguard Worker*   Improvements from the Functional API refactoring:
4745*b6fb3261SAndroid Build Coastguard Worker    *   Functional model construction does not need to maintain a global
4746*b6fb3261SAndroid Build Coastguard Worker        workspace graph, removing memory leaks especially when building many
4747*b6fb3261SAndroid Build Coastguard Worker        models or very large models.
4748*b6fb3261SAndroid Build Coastguard Worker    *   Functional model construction should be ~8-10% faster on average.
4749*b6fb3261SAndroid Build Coastguard Worker    *   Functional models can now contain non-symbolic values in their call
4750*b6fb3261SAndroid Build Coastguard Worker        inputs inside of the first positional argument.
4751*b6fb3261SAndroid Build Coastguard Worker    *   Several classes of TF ops that were not reliably converted to Keras
4752*b6fb3261SAndroid Build Coastguard Worker        layers during functional API construction should now work,
4753*b6fb3261SAndroid Build Coastguard Worker        e.g.`tf.image.ssim_multiscale`
4754*b6fb3261SAndroid Build Coastguard Worker    *   Error messages when Functional API construction goes wrong (and when ops
4755*b6fb3261SAndroid Build Coastguard Worker        cannot be converted to Keras layers automatically) should be clearer and
4756*b6fb3261SAndroid Build Coastguard Worker        easier to understand.
4757*b6fb3261SAndroid Build Coastguard Worker*   `Optimizer.minimize` can now accept a loss `Tensor` and a `GradientTape` as
4758*b6fb3261SAndroid Build Coastguard Worker    an alternative to accepting a `callable` loss.
4759*b6fb3261SAndroid Build Coastguard Worker*   Adds `beta` hyperparameter to
4760*b6fb3261SAndroid Build Coastguard Worker    [FTRL](https://www.tensorflow.org/api_docs/python/tf/keras/optimizers/Ftrl)
4761*b6fb3261SAndroid Build Coastguard Worker    optimizer classes (Keras and others) to match
4762*b6fb3261SAndroid Build Coastguard Worker    [FTRL paper](https://research.google.com/pubs/archive/41159.pdf).
4763*b6fb3261SAndroid Build Coastguard Worker*   `Optimizer.__init__` now accepts a `gradient_aggregator` to allow for
4764*b6fb3261SAndroid Build Coastguard Worker    customization of how gradients are aggregated across devices, as well as
4765*b6fb3261SAndroid Build Coastguard Worker    `gradients_transformers` to allow for custom gradient transformations (such
4766*b6fb3261SAndroid Build Coastguard Worker    as gradient clipping).
4767*b6fb3261SAndroid Build Coastguard Worker*   Improvements to Keras preprocessing layers:
4768*b6fb3261SAndroid Build Coastguard Worker    *   TextVectorization can now accept a vocabulary list or file as an init
4769*b6fb3261SAndroid Build Coastguard Worker        arg.
4770*b6fb3261SAndroid Build Coastguard Worker    *   Normalization can now accept mean and variance values as init args.
4771*b6fb3261SAndroid Build Coastguard Worker*   In `Attention` and `AdditiveAttention` layers, the `call()` method now
4772*b6fb3261SAndroid Build Coastguard Worker    accepts a `return_attention_scores` argument. When set to True, the layer
4773*b6fb3261SAndroid Build Coastguard Worker    returns the attention scores as an additional output argument.
4774*b6fb3261SAndroid Build Coastguard Worker*   Adds `tf.metrics.log_cosh` and `tf.metrics.logcosh` API entrypoints with the
4775*b6fb3261SAndroid Build Coastguard Worker    same implementation as their `tf.losses` equivalent.
4776*b6fb3261SAndroid Build Coastguard Worker*   For Keras model, the individual call of `Model.evaluate` uses no cached data
4777*b6fb3261SAndroid Build Coastguard Worker    for evaluation, while `Model.fit` uses cached data when `validation_data`
4778*b6fb3261SAndroid Build Coastguard Worker    arg is provided for better performance.
4779*b6fb3261SAndroid Build Coastguard Worker*   Adds a `save_traces` argument to `model.save`/ `tf.keras.models.save_model`
4780*b6fb3261SAndroid Build Coastguard Worker    which determines whether the SavedModel format stores the Keras model/layer
4781*b6fb3261SAndroid Build Coastguard Worker    call functions. The traced functions allow Keras to revive custom models and
4782*b6fb3261SAndroid Build Coastguard Worker    layers without the original class definition, but if this isn't required the
4783*b6fb3261SAndroid Build Coastguard Worker    tracing can be disabled with the added option.
4784*b6fb3261SAndroid Build Coastguard Worker*   The `tf.keras.mixed_precision` API is now non-experimental. The
4785*b6fb3261SAndroid Build Coastguard Worker    non-experimental API differs from the experimental API in several ways.
4786*b6fb3261SAndroid Build Coastguard Worker    *   `tf.keras.mixed_precision.Policy` no longer takes in a
4787*b6fb3261SAndroid Build Coastguard Worker        `tf.mixed_precision. experimental.LossScale` in the constructor, and no
4788*b6fb3261SAndroid Build Coastguard Worker        longer has a `LossScale` associated with it. Instead, `Model.compile`
4789*b6fb3261SAndroid Build Coastguard Worker        will automatically wrap the optimizer with a `LossScaleOptimizer` using
4790*b6fb3261SAndroid Build Coastguard Worker        dynamic loss scaling if `Policy.name` is "mixed_float16".
4791*b6fb3261SAndroid Build Coastguard Worker    *   `tf.keras.mixed_precision.LossScaleOptimizer`'s constructor takes in
4792*b6fb3261SAndroid Build Coastguard Worker        different arguments. In particular, it no longer takes in a `LossScale`,
4793*b6fb3261SAndroid Build Coastguard Worker        and there is no longer a `LossScale` associated with the
4794*b6fb3261SAndroid Build Coastguard Worker        `LossScaleOptimizer`. Instead, `LossScaleOptimizer` directly implements
4795*b6fb3261SAndroid Build Coastguard Worker        fixed or dynamic loss scaling. See the documentation of
4796*b6fb3261SAndroid Build Coastguard Worker        [`tf.keras.mixed_precision.experimental.LossScaleOptimizer`](https://www.tensorflow.org/api_docs/python/tf/keras/mixed_precision/experimental/LossScaleOptimizer?version=nightly)
4797*b6fb3261SAndroid Build Coastguard Worker        for details on the differences between the experimental
4798*b6fb3261SAndroid Build Coastguard Worker        `LossScaleOptimizer` and the new non-experimental `LossScaleOptimizer`.
4799*b6fb3261SAndroid Build Coastguard Worker    *   `tf.mixed_precision.experimental.LossScale` and its subclasses are
4800*b6fb3261SAndroid Build Coastguard Worker        deprecated, as all of its functionality now exists within
4801*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.mixed_precision.LossScaleOptimizer`
4802*b6fb3261SAndroid Build Coastguard Worker
4803*b6fb3261SAndroid Build Coastguard Worker### `tf.lite`:
4804*b6fb3261SAndroid Build Coastguard Worker
4805*b6fb3261SAndroid Build Coastguard Worker*   `TFLiteConverter`:
4806*b6fb3261SAndroid Build Coastguard Worker    *   Support optional flags `inference_input_type` and
4807*b6fb3261SAndroid Build Coastguard Worker        `inference_output_type` for full integer quantized models. This allows
4808*b6fb3261SAndroid Build Coastguard Worker        users to modify the model input and output type to integer types
4809*b6fb3261SAndroid Build Coastguard Worker        (`tf.int8`, `tf.uint8`) instead of defaulting to float type
4810*b6fb3261SAndroid Build Coastguard Worker        (`tf.float32`).
4811*b6fb3261SAndroid Build Coastguard Worker*   NNAPI
4812*b6fb3261SAndroid Build Coastguard Worker    *   Adds NNAPI Delegation support for requantization use cases by converting
4813*b6fb3261SAndroid Build Coastguard Worker        the operation into a dequantize-quantize pair.
4814*b6fb3261SAndroid Build Coastguard Worker    *   Removes deprecated `Interpreter.setUseNNAPI(boolean)` Java API. Use
4815*b6fb3261SAndroid Build Coastguard Worker        `Interpreter.Options.setUseNNAPI` instead.
4816*b6fb3261SAndroid Build Coastguard Worker    *   Deprecates `Interpreter::UseNNAPI(bool)` C++ API. Use `NnApiDelegate()`
4817*b6fb3261SAndroid Build Coastguard Worker        and related delegate configuration methods directly.
4818*b6fb3261SAndroid Build Coastguard Worker    *   Deprecates `Interpreter::SetAllowFp16PrecisionForFp32(bool)` C++ API.
4819*b6fb3261SAndroid Build Coastguard Worker        Prefer controlling this via delegate options, e.g.
4820*b6fb3261SAndroid Build Coastguard Worker        `tflite::StatefulNnApiDelegate::Options::allow_fp16'
4821*b6fb3261SAndroid Build Coastguard Worker        or`TfLiteGpuDelegateOptionsV2::is_precision_loss_allowed`.
4822*b6fb3261SAndroid Build Coastguard Worker*   GPU
4823*b6fb3261SAndroid Build Coastguard Worker    *   GPU acceleration now supports quantized models by default
4824*b6fb3261SAndroid Build Coastguard Worker*   `DynamicBuffer::AddJoinedString()` will now add a separator if the first
4825*b6fb3261SAndroid Build Coastguard Worker    string to be joined is empty.
4826*b6fb3261SAndroid Build Coastguard Worker*   Adds support for cumulative sum (cumsum), both as builtin op and MLIR
4827*b6fb3261SAndroid Build Coastguard Worker    conversion.
4828*b6fb3261SAndroid Build Coastguard Worker
4829*b6fb3261SAndroid Build Coastguard Worker### `TensorRT`
4830*b6fb3261SAndroid Build Coastguard Worker
4831*b6fb3261SAndroid Build Coastguard Worker*   Issues a warning when the `session_config` parameter for the TF1 converter
4832*b6fb3261SAndroid Build Coastguard Worker    is used or the `rewrite_config_template` field in the TF2 converter
4833*b6fb3261SAndroid Build Coastguard Worker    parameter object is used.
4834*b6fb3261SAndroid Build Coastguard Worker
4835*b6fb3261SAndroid Build Coastguard Worker### TPU Enhancements:
4836*b6fb3261SAndroid Build Coastguard Worker
4837*b6fb3261SAndroid Build Coastguard Worker*   Adds support for the `beta` parameter of the FTRL optimizer for TPU
4838*b6fb3261SAndroid Build Coastguard Worker    embeddings. Users of other TensorFlow platforms can implement equivalent
4839*b6fb3261SAndroid Build Coastguard Worker    behavior by adjusting the `l2` parameter.
4840*b6fb3261SAndroid Build Coastguard Worker
4841*b6fb3261SAndroid Build Coastguard Worker### XLA Support:
4842*b6fb3261SAndroid Build Coastguard Worker
4843*b6fb3261SAndroid Build Coastguard Worker*   xla.experimental.compile is deprecated, use
4844*b6fb3261SAndroid Build Coastguard Worker    `tf.function(experimental_compile=True)` instead.
4845*b6fb3261SAndroid Build Coastguard Worker*   Adds `tf.function.experimental_get_compiler_ir` which returns compiler IR
4846*b6fb3261SAndroid Build Coastguard Worker    (currently 'hlo' and 'optimized_hlo') for given input for given function.
4847*b6fb3261SAndroid Build Coastguard Worker
4848*b6fb3261SAndroid Build Coastguard Worker### Security:
4849*b6fb3261SAndroid Build Coastguard Worker
4850*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior causing a segfault in `tf.raw_ops.Switch`,
4851*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15190))
4852*b6fb3261SAndroid Build Coastguard Worker*   Fixes three vulnerabilities in conversion to DLPack format
4853*b6fb3261SAndroid Build Coastguard Worker    *   [CVE-2020-15191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15191),
4854*b6fb3261SAndroid Build Coastguard Worker    *   [CVE-2020-15192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15192),
4855*b6fb3261SAndroid Build Coastguard Worker    *   [CVE-2020-15193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15193)
4856*b6fb3261SAndroid Build Coastguard Worker*   Fixes two vulnerabilities in `SparseFillEmptyRowsGrad`
4857*b6fb3261SAndroid Build Coastguard Worker    *   [CVE-2020-15194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15194),
4858*b6fb3261SAndroid Build Coastguard Worker    *   [CVE-2020-15195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15195)
4859*b6fb3261SAndroid Build Coastguard Worker*   Fixes several vulnerabilities in `RaggedCountSparseOutput` and
4860*b6fb3261SAndroid Build Coastguard Worker    `SparseCountSparseOutput` operations
4861*b6fb3261SAndroid Build Coastguard Worker    *   [CVE-2020-15196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15196),
4862*b6fb3261SAndroid Build Coastguard Worker    *   [CVE-2020-15197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15197),
4863*b6fb3261SAndroid Build Coastguard Worker    *   [CVE-2020-15198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15198),
4864*b6fb3261SAndroid Build Coastguard Worker    *   [CVE-2020-15199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15199),
4865*b6fb3261SAndroid Build Coastguard Worker    *   [CVE-2020-15200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15200),
4866*b6fb3261SAndroid Build Coastguard Worker    *   [CVE-2020-15201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15201)
4867*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer truncation vulnerability in code using the work sharder
4868*b6fb3261SAndroid Build Coastguard Worker    API,
4869*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15202))
4870*b6fb3261SAndroid Build Coastguard Worker*   Fixes a format string vulnerability in `tf.strings.as_string`,
4871*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15203))
4872*b6fb3261SAndroid Build Coastguard Worker*   Fixes segfault raised by calling session-only ops in eager mode,
4873*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15204))
4874*b6fb3261SAndroid Build Coastguard Worker*   Fixes data leak and potential ASLR violation from `tf.raw_ops.StringNGrams`,
4875*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15205))
4876*b6fb3261SAndroid Build Coastguard Worker*   Fixes segfaults caused by incomplete `SavedModel` validation,
4877*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15206))
4878*b6fb3261SAndroid Build Coastguard Worker*   Fixes a data corruption due to a bug in negative indexing support in TFLite,
4879*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15207))
4880*b6fb3261SAndroid Build Coastguard Worker*   Fixes a data corruption due to dimension mismatch in TFLite,
4881*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15208))
4882*b6fb3261SAndroid Build Coastguard Worker*   Fixes several vulnerabilities in TFLite saved model format
4883*b6fb3261SAndroid Build Coastguard Worker    *   [CVE-2020-15209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15209),
4884*b6fb3261SAndroid Build Coastguard Worker    *   [CVE-2020-15210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15210),
4885*b6fb3261SAndroid Build Coastguard Worker    *   [CVE-2020-15211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15211)
4886*b6fb3261SAndroid Build Coastguard Worker*   Fixes several vulnerabilities in TFLite implementation of segment sum
4887*b6fb3261SAndroid Build Coastguard Worker    *   [CVE-2020-15212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15212),
4888*b6fb3261SAndroid Build Coastguard Worker    *   [CVE-2020-15213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15213),
4889*b6fb3261SAndroid Build Coastguard Worker    *   [CVE-2020-15214](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15214)
4890*b6fb3261SAndroid Build Coastguard Worker*   Fixes a segfault in `tf.quantization.quantize_and_dequantize`,
4891*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15265](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15265))
4892*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior float cast causing a crash,
4893*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15266](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15266))
4894*b6fb3261SAndroid Build Coastguard Worker*   Fixes a lack of validation in `tf.raw_ops.DataFormatVecPermute` and
4895*b6fb3261SAndroid Build Coastguard Worker    `tf.raw_ops.DataFormatDimMap` which can cause uninitialized memory access,
4896*b6fb3261SAndroid Build Coastguard Worker    read outside bounds of arrays, data corruption and segmentation faults
4897*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26267](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26267))
4898*b6fb3261SAndroid Build Coastguard Worker*   Fixes a crash caused by writing to read only memory region
4899*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26268](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26268))
4900*b6fb3261SAndroid Build Coastguard Worker*   Fixes a heap out of bounds access in filesystem globbing implementation
4901*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-26269](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26269))
4902*b6fb3261SAndroid Build Coastguard Worker
4903*b6fb3261SAndroid Build Coastguard Worker### Other:
4904*b6fb3261SAndroid Build Coastguard Worker
4905*b6fb3261SAndroid Build Coastguard Worker*   We have replaced uses of "whitelist" and "blacklist" with "allowlist" and
4906*b6fb3261SAndroid Build Coastguard Worker    "denylist" where possible. Please see
4907*b6fb3261SAndroid Build Coastguard Worker    [this list](https://developers.google.com/style/word-list#blacklist) for
4908*b6fb3261SAndroid Build Coastguard Worker    more context.
4909*b6fb3261SAndroid Build Coastguard Worker*   Adds `tf.config.experimental.mlir_bridge_rollout` which will help us rollout
4910*b6fb3261SAndroid Build Coastguard Worker    the new MLIR TPU bridge.
4911*b6fb3261SAndroid Build Coastguard Worker*   Adds `tf.experimental.register_filesystem_plugin` to load modular filesystem
4912*b6fb3261SAndroid Build Coastguard Worker    plugins from Python
4913*b6fb3261SAndroid Build Coastguard Worker
4914*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
4915*b6fb3261SAndroid Build Coastguard Worker
4916*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google as well as the
4917*b6fb3261SAndroid Build Coastguard Workerfollowing external contributors:
4918*b6fb3261SAndroid Build Coastguard Worker
4919*b6fb3261SAndroid Build Coastguard Worker8bitmp3, aaa.jq, Abhineet Choudhary, Abolfazl Shahbazi, acxz, Adam Hillier,
4920*b6fb3261SAndroid Build Coastguard WorkerAdrian Garcia Badaracco, Ag Ramesh, ahmedsabie, Alan Anderson, Alexander Grund,
4921*b6fb3261SAndroid Build Coastguard WorkerAlexandre Lissy, Alexey Ivanov, Amedeo Cavallo, anencore94, Aniket Kumar Singh,
4922*b6fb3261SAndroid Build Coastguard WorkerAnthony Platanios, Ashwin Phadke, Balint Cristian, Basit Ayantunde, bbbboom, Ben
4923*b6fb3261SAndroid Build Coastguard WorkerBarsdell, Benjamin Chetioui, Benjamin Peterson, bhack, Bhanu Prakash Bandaru
4924*b6fb3261SAndroid Build Coastguard WorkerVenkata, Biagio Montaruli, Brent M. Spell, bubblebooy, bzhao, cfRod, Cheng Chen,
4925*b6fb3261SAndroid Build Coastguard WorkerCheng(Kit) Chen, Chris Tessum, Christian, chuanqiw, codeadmin_peritiae,
4926*b6fb3261SAndroid Build Coastguard WorkerCOTASPAR, CuiYifeng, danielknobe, danielyou0230, dannyfriar, daria,
4927*b6fb3261SAndroid Build Coastguard WorkerDarrenZhang01, Denisa Roberts, dependabot[bot], Deven Desai, Dmitry Volodin,
4928*b6fb3261SAndroid Build Coastguard WorkerDmitry Zakharov, drebain, Duncan Riach, Eduard Feicho, Ehsan Toosi, Elena
4929*b6fb3261SAndroid Build Coastguard WorkerZhelezina, emlaprise2358, Eugene Kuznetsov, Evaderan-Lab, Evgeniy Polyakov,
4930*b6fb3261SAndroid Build Coastguard WorkerFausto Morales, Felix Johnny, fo40225, Frederic Bastien, Fredrik Knutsson,
4931*b6fb3261SAndroid Build Coastguard Workerfsx950223, Gaurav Singh, Gauri1 Deshpande, George Grzegorz Pawelczak, gerbauz,
4932*b6fb3261SAndroid Build Coastguard WorkerGianluca Baratti, Giorgio Arena, Gmc2, Guozhong Zhuang, Hannes Achleitner,
4933*b6fb3261SAndroid Build Coastguard WorkerHarirai, HarisWang, Harsh188, hedgehog91, Hemal Mamtora, Hideto Ueno, Hugh Ku,
4934*b6fb3261SAndroid Build Coastguard WorkerIan Beauregard, Ilya Persky, jacco, Jakub Beránek, Jan Jongboom, Javier Montalt
4935*b6fb3261SAndroid Build Coastguard WorkerTordera, Jens Elofsson, Jerry Shih, jerryyin, jgehw, Jinjing Zhou, jma, jmsmdy,
4936*b6fb3261SAndroid Build Coastguard WorkerJohan Nordström, John Poole, Jonah Kohn, Jonathan Dekhtiar, jpodivin, Jung Daun,
4937*b6fb3261SAndroid Build Coastguard WorkerKai Katsumata, Kaixi Hou, Kamil Rakoczy, Kaustubh Maske Patil, Kazuaki Ishizaki,
4938*b6fb3261SAndroid Build Coastguard WorkerKedar Sovani, Koan-Sin Tan, Koki Ibukuro, Krzysztof Laskowski, Kushagra Sharma,
4939*b6fb3261SAndroid Build Coastguard WorkerKushan Ahmadian, Lakshay Tokas, Leicong Li, levinxo, Lukas Geiger, Maderator,
4940*b6fb3261SAndroid Build Coastguard WorkerMahmoud Abuzaina, Mao Yunfei, Marius Brehler, markf, Martin Hwasser, Martin
4941*b6fb3261SAndroid Build Coastguard WorkerKubovčík, Matt Conley, Matthias, mazharul, mdfaijul, Michael137, MichelBr,
4942*b6fb3261SAndroid Build Coastguard WorkerMikhail Startsev, Milan Straka, Ml-0, Myung-Hyun Kim, Måns Nilsson, Nathan
4943*b6fb3261SAndroid Build Coastguard WorkerLuehr, ngc92, nikochiko, Niranjan Hasabnis, nyagato_00, Oceania2018, Oleg Guba,
4944*b6fb3261SAndroid Build Coastguard WorkerOngun Kanat, OscarVanL, Patrik Laurell, Paul Tanger, Peter Sobot, Phil Pearl,
4945*b6fb3261SAndroid Build Coastguard WorkerPlusPlusUltra, Poedator, Prasad Nikam, Rahul-Kamat, Rajeshwar Reddy T,
4946*b6fb3261SAndroid Build Coastguard Workerredwrasse, Rickard, Robert Szczepanski, Rohan Lekhwani, Sam Holt, Sami Kama,
4947*b6fb3261SAndroid Build Coastguard WorkerSamuel Holt, Sandeep Giri, sboshin, Sean Settle, settle, Sharada Shiddibhavi,
4948*b6fb3261SAndroid Build Coastguard WorkerShawn Presser, ShengYang1, Shi,Guangyong, Shuxiang Gao, Sicong Li, Sidong-Wei,
4949*b6fb3261SAndroid Build Coastguard WorkerSrihari Humbarwadi, Srinivasan Narayanamoorthy, Steenu Johnson, Steven Clarkson,
4950*b6fb3261SAndroid Build Coastguard Workerstjohnso98, Tamas Bela Feher, Tamas Nyiri, Tarandeep Singh, Teng Lu, Thibaut
4951*b6fb3261SAndroid Build Coastguard WorkerGoetghebuer-Planchon, Tim Bradley, Tomasz Strejczek, Tongzhou Wang, Torsten
4952*b6fb3261SAndroid Build Coastguard WorkerRudolf, Trent Lo, Ty Mick, Tzu-Wei Sung, Varghese, Jojimon, Vignesh Kothapalli,
4953*b6fb3261SAndroid Build Coastguard WorkerVishakha Agrawal, Vividha, Vladimir Menshakov, Vladimir Silyaev, VoVAllen, Võ
4954*b6fb3261SAndroid Build Coastguard WorkerVăn Nghĩa, wondertx, xiaohong1031, Xiaoming (Jason) Cui, Xinan Jiang, Yair
4955*b6fb3261SAndroid Build Coastguard WorkerEhrenwald, Yasir Modak, Yasuhiro Matsumoto, Yimei Sun, Yiwen Li, Yixing, Yoav
4956*b6fb3261SAndroid Build Coastguard WorkerRamon, Yong Tang, Yong Wu, yuanbopeng, Yunmo Koo, Zhangqiang, Zhou Peng,
4957*b6fb3261SAndroid Build Coastguard WorkerZhuBaohe, zilinzhu, zmx
4958*b6fb3261SAndroid Build Coastguard Worker
4959*b6fb3261SAndroid Build Coastguard Worker# Release 2.3.1
4960*b6fb3261SAndroid Build Coastguard Worker
4961*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
4962*b6fb3261SAndroid Build Coastguard Worker
4963*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior causing a segfault in `tf.raw_ops.Switch`
4964*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15190))
4965*b6fb3261SAndroid Build Coastguard Worker*   Fixes three vulnerabilities in conversion to DLPack format
4966*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15191),
4967*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15192),
4968*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15193))
4969*b6fb3261SAndroid Build Coastguard Worker*   Fixes two vulnerabilities in `SparseFillEmptyRowsGrad`
4970*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15194),
4971*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15195))
4972*b6fb3261SAndroid Build Coastguard Worker*   Fixes several vulnerabilities in `RaggedCountSparseOutput` and
4973*b6fb3261SAndroid Build Coastguard Worker    `SparseCountSparseOutput` operations
4974*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15196](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15196),
4975*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15197](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15197),
4976*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15198](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15198),
4977*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15199](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15199),
4978*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15200](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15200),
4979*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15201](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15201))
4980*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer truncation vulnerability in code using the work sharder API
4981*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15202))
4982*b6fb3261SAndroid Build Coastguard Worker*   Fixes a format string vulnerability in `tf.strings.as_string`
4983*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15203))
4984*b6fb3261SAndroid Build Coastguard Worker*   Fixes segfault raised by calling session-only ops in eager mode
4985*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15204))
4986*b6fb3261SAndroid Build Coastguard Worker*   Fixes data leak and potential ASLR violation from `tf.raw_ops.StringNGrams`
4987*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15205))
4988*b6fb3261SAndroid Build Coastguard Worker*   Fixes segfaults caused by incomplete `SavedModel` validation
4989*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15206))
4990*b6fb3261SAndroid Build Coastguard Worker*   Fixes a data corruption due to a bug in negative indexing support in TFLite
4991*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15207))
4992*b6fb3261SAndroid Build Coastguard Worker*   Fixes a data corruption due to dimension mismatch in TFLite
4993*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15208))
4994*b6fb3261SAndroid Build Coastguard Worker*   Fixes several vulnerabilities in TFLite saved model format
4995*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15209),
4996*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15210),
4997*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15211))
4998*b6fb3261SAndroid Build Coastguard Worker*   Fixes several vulnerabilities in TFLite implementation of segment sum
4999*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15212),
5000*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15213),
5001*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15214](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15214))
5002*b6fb3261SAndroid Build Coastguard Worker*   Updates `sqlite3` to `3.33.00` to handle
5003*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15358](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15358).
5004*b6fb3261SAndroid Build Coastguard Worker*   Fixes deprecated usage of `collections` API
5005*b6fb3261SAndroid Build Coastguard Worker*   Removes `scipy` dependency from `setup.py` since TensorFlow does not need it
5006*b6fb3261SAndroid Build Coastguard Worker    to install the pip package
5007*b6fb3261SAndroid Build Coastguard Worker
5008*b6fb3261SAndroid Build Coastguard Worker# Release 2.2.1
5009*b6fb3261SAndroid Build Coastguard Worker
5010*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
5011*b6fb3261SAndroid Build Coastguard Worker
5012*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior causing a segfault in `tf.raw_ops.Switch`
5013*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15190))
5014*b6fb3261SAndroid Build Coastguard Worker*   Fixes three vulnerabilities in conversion to DLPack format
5015*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15191),
5016*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15192),
5017*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15193))
5018*b6fb3261SAndroid Build Coastguard Worker*   Fixes two vulnerabilities in `SparseFillEmptyRowsGrad`
5019*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15194),
5020*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15195))
5021*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer truncation vulnerability in code using the work sharder API
5022*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15202))
5023*b6fb3261SAndroid Build Coastguard Worker*   Fixes a format string vulnerability in `tf.strings.as_string`
5024*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15203))
5025*b6fb3261SAndroid Build Coastguard Worker*   Fixes segfault raised by calling session-only ops in eager mode
5026*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15204))
5027*b6fb3261SAndroid Build Coastguard Worker*   Fixes data leak and potential ASLR violation from `tf.raw_ops.StringNGrams`
5028*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15205))
5029*b6fb3261SAndroid Build Coastguard Worker*   Fixes segfaults caused by incomplete `SavedModel` validation
5030*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15206))
5031*b6fb3261SAndroid Build Coastguard Worker*   Fixes a data corruption due to a bug in negative indexing support in TFLite
5032*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15207))
5033*b6fb3261SAndroid Build Coastguard Worker*   Fixes a data corruption due to dimension mismatch in TFLite
5034*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15208))
5035*b6fb3261SAndroid Build Coastguard Worker*   Fixes several vulnerabilities in TFLite saved model format
5036*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15209),
5037*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15210),
5038*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15211))
5039*b6fb3261SAndroid Build Coastguard Worker*   Fixes several vulnerabilities in TFLite implementation of segment sum
5040*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15212](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15212),
5041*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15213](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15213),
5042*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15214](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15214))
5043*b6fb3261SAndroid Build Coastguard Worker*   Updates `sqlite3` to `3.33.00` to handle
5044*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-9327](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-9327),
5045*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-11655](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11655),
5046*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-11656](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11656),
5047*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13434](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13434),
5048*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13435](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13435),
5049*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13630](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13630),
5050*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13631](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13631),
5051*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13871](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13871),
5052*b6fb3261SAndroid Build Coastguard Worker    and
5053*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15358](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15358).
5054*b6fb3261SAndroid Build Coastguard Worker*   Fixes deprecated usage of `collections` API
5055*b6fb3261SAndroid Build Coastguard Worker*   Removes `scipy` dependency from `setup.py` since TensorFlow does not need it
5056*b6fb3261SAndroid Build Coastguard Worker    to install the pip package
5057*b6fb3261SAndroid Build Coastguard Worker
5058*b6fb3261SAndroid Build Coastguard Worker# Release 2.1.2
5059*b6fb3261SAndroid Build Coastguard Worker
5060*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
5061*b6fb3261SAndroid Build Coastguard Worker
5062*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior causing a segfault in `tf.raw_ops.Switch`
5063*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15190))
5064*b6fb3261SAndroid Build Coastguard Worker*   Fixes three vulnerabilities in conversion to DLPack format
5065*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15191),
5066*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15192),
5067*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15193))
5068*b6fb3261SAndroid Build Coastguard Worker*   Fixes two vulnerabilities in `SparseFillEmptyRowsGrad`
5069*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15194),
5070*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15195))
5071*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer truncation vulnerability in code using the work sharder API
5072*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15202))
5073*b6fb3261SAndroid Build Coastguard Worker*   Fixes a format string vulnerability in `tf.strings.as_string`
5074*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15203))
5075*b6fb3261SAndroid Build Coastguard Worker*   Fixes segfault raised by calling session-only ops in eager mode
5076*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15204))
5077*b6fb3261SAndroid Build Coastguard Worker*   Fixes data leak and potential ASLR violation from `tf.raw_ops.StringNGrams`
5078*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15205))
5079*b6fb3261SAndroid Build Coastguard Worker*   Fixes segfaults caused by incomplete `SavedModel` validation
5080*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15206))
5081*b6fb3261SAndroid Build Coastguard Worker*   Fixes a data corruption due to a bug in negative indexing support in TFLite
5082*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15207))
5083*b6fb3261SAndroid Build Coastguard Worker*   Fixes a data corruption due to dimension mismatch in TFLite
5084*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15208))
5085*b6fb3261SAndroid Build Coastguard Worker*   Fixes several vulnerabilities in TFLite saved model format
5086*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15209),
5087*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15210),
5088*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15211))
5089*b6fb3261SAndroid Build Coastguard Worker*   Updates `sqlite3` to `3.33.00` to handle
5090*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-9327](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-9327),
5091*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-11655](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11655),
5092*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-11656](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11656),
5093*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13434](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13434),
5094*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13435](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13435),
5095*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13630](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13630),
5096*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13631](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13631),
5097*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13871](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13871),
5098*b6fb3261SAndroid Build Coastguard Worker    and
5099*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15358](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15358).
5100*b6fb3261SAndroid Build Coastguard Worker*   Removes `scipy` dependency from `setup.py` since TensorFlow does not need it
5101*b6fb3261SAndroid Build Coastguard Worker    to install the pip package
5102*b6fb3261SAndroid Build Coastguard Worker*   Switches ROCM builds to use ROCM 3.7
5103*b6fb3261SAndroid Build Coastguard Worker
5104*b6fb3261SAndroid Build Coastguard Worker# Release 2.0.3
5105*b6fb3261SAndroid Build Coastguard Worker
5106*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
5107*b6fb3261SAndroid Build Coastguard Worker
5108*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior causing a segfault in `tf.raw_ops.Switch`
5109*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15190))
5110*b6fb3261SAndroid Build Coastguard Worker*   Fixes three vulnerabilities in conversion to DLPack format
5111*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15191),
5112*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15192),
5113*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15193))
5114*b6fb3261SAndroid Build Coastguard Worker*   Fixes two vulnerabilities in `SparseFillEmptyRowsGrad`
5115*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15194),
5116*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15195))
5117*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer truncation vulnerability in code using the work sharder API
5118*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15202))
5119*b6fb3261SAndroid Build Coastguard Worker*   Fixes a format string vulnerability in `tf.strings.as_string`
5120*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15203))
5121*b6fb3261SAndroid Build Coastguard Worker*   Fixes segfault raised by calling session-only ops in eager mode
5122*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15204))
5123*b6fb3261SAndroid Build Coastguard Worker*   Fixes data leak and potential ASLR violation from `tf.raw_ops.StringNGrams`
5124*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15205))
5125*b6fb3261SAndroid Build Coastguard Worker*   Fixes segfaults caused by incomplete `SavedModel` validation
5126*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15206))
5127*b6fb3261SAndroid Build Coastguard Worker*   Fixes a data corruption due to a bug in negative indexing support in TFLite
5128*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15207))
5129*b6fb3261SAndroid Build Coastguard Worker*   Fixes a data corruption due to dimension mismatch in TFLite
5130*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15208))
5131*b6fb3261SAndroid Build Coastguard Worker*   Fixes several vulnerabilities in TFLite saved model format
5132*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15209),
5133*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15210),
5134*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15211))
5135*b6fb3261SAndroid Build Coastguard Worker*   Updates `sqlite3` to `3.33.00` to handle
5136*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-9327](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-9327),
5137*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-11655](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11655),
5138*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-11656](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11656),
5139*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13434](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13434),
5140*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13435](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13435),
5141*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13630](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13630),
5142*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13631](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13631),
5143*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13871](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13871),
5144*b6fb3261SAndroid Build Coastguard Worker    and
5145*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15358](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15358).
5146*b6fb3261SAndroid Build Coastguard Worker*   Pins `numpy` to 1.18.5 to prevent ABI breakage when compiling code that uses
5147*b6fb3261SAndroid Build Coastguard Worker    both NumPy and TensorFlow headers.
5148*b6fb3261SAndroid Build Coastguard Worker
5149*b6fb3261SAndroid Build Coastguard Worker# Release 1.15.4
5150*b6fb3261SAndroid Build Coastguard Worker
5151*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
5152*b6fb3261SAndroid Build Coastguard Worker
5153*b6fb3261SAndroid Build Coastguard Worker*   Fixes an undefined behavior causing a segfault in `tf.raw_ops.Switch`
5154*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15190))
5155*b6fb3261SAndroid Build Coastguard Worker*   Fixes three vulnerabilities in conversion to DLPack format
5156*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15191](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15191),
5157*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15192](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15192),
5158*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15193](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15193))
5159*b6fb3261SAndroid Build Coastguard Worker*   Fixes two vulnerabilities in `SparseFillEmptyRowsGrad`
5160*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15194](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15194),
5161*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15195](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15195))
5162*b6fb3261SAndroid Build Coastguard Worker*   Fixes an integer truncation vulnerability in code using the work sharder API
5163*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15202](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15202))
5164*b6fb3261SAndroid Build Coastguard Worker*   Fixes a format string vulnerability in `tf.strings.as_string`
5165*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15203](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15203))
5166*b6fb3261SAndroid Build Coastguard Worker*   Fixes segfault raised by calling session-only ops in eager mode
5167*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15204](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15204))
5168*b6fb3261SAndroid Build Coastguard Worker*   Fixes data leak and potential ASLR violation from `tf.raw_ops.StringNGrams`
5169*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15205](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15205))
5170*b6fb3261SAndroid Build Coastguard Worker*   Fixes segfaults caused by incomplete `SavedModel` validation
5171*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15206))
5172*b6fb3261SAndroid Build Coastguard Worker*   Fixes a data corruption due to a bug in negative indexing support in TFLite
5173*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15207](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15207))
5174*b6fb3261SAndroid Build Coastguard Worker*   Fixes a data corruption due to dimension mismatch in TFLite
5175*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15208](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15208))
5176*b6fb3261SAndroid Build Coastguard Worker*   Fixes several vulnerabilities in TFLite saved model format
5177*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-15209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15209),
5178*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15210](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15210),
5179*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15211](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15211))
5180*b6fb3261SAndroid Build Coastguard Worker*   Updates `sqlite3` to `3.33.00` to handle
5181*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-9327](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-9327),
5182*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-11655](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11655),
5183*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-11656](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11656),
5184*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13434](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13434),
5185*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13435](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13435),
5186*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13630](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13630),
5187*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13631](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13631),
5188*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-13871](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13871),
5189*b6fb3261SAndroid Build Coastguard Worker    and
5190*b6fb3261SAndroid Build Coastguard Worker    [CVE-2020-15358](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15358).
5191*b6fb3261SAndroid Build Coastguard Worker*   Fixes #41630 by including `max_seq_length` in CuDNN descriptor cache key
5192*b6fb3261SAndroid Build Coastguard Worker*   Pins `numpy` to 1.18.5 to prevent ABI breakage when compiling code that uses
5193*b6fb3261SAndroid Build Coastguard Worker    both NumPy and TensorFlow headers.
5194*b6fb3261SAndroid Build Coastguard Worker
5195*b6fb3261SAndroid Build Coastguard Worker# Release 2.3.0
5196*b6fb3261SAndroid Build Coastguard Worker
5197*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
5198*b6fb3261SAndroid Build Coastguard Worker
5199*b6fb3261SAndroid Build Coastguard Worker*   `tf.data` adds two new mechanisms to solve input pipeline bottlenecks and
5200*b6fb3261SAndroid Build Coastguard Worker    save resources:
5201*b6fb3261SAndroid Build Coastguard Worker
5202*b6fb3261SAndroid Build Coastguard Worker    *   [snapshot](https://www.tensorflow.org/api_docs/python/tf/data/experimental/snapshot)
5203*b6fb3261SAndroid Build Coastguard Worker    *   [tf.data service](https://www.tensorflow.org/api_docs/python/tf/data/experimental/service).
5204*b6fb3261SAndroid Build Coastguard Worker
5205*b6fb3261SAndroid Build Coastguard Worker    In addition checkout the detailed
5206*b6fb3261SAndroid Build Coastguard Worker    [guide](https://www.tensorflow.org/guide/data_performance_analysis) for
5207*b6fb3261SAndroid Build Coastguard Worker    analyzing input pipeline performance with TF Profiler.
5208*b6fb3261SAndroid Build Coastguard Worker
5209*b6fb3261SAndroid Build Coastguard Worker*   [`tf.distribute.TPUStrategy`](https://www.tensorflow.org/api_docs/python/tf/distribute/TPUStrategy)
5210*b6fb3261SAndroid Build Coastguard Worker    is now a stable API and no longer considered experimental for TensorFlow.
5211*b6fb3261SAndroid Build Coastguard Worker    (earlier `tf.distribute.experimental.TPUStrategy`).
5212*b6fb3261SAndroid Build Coastguard Worker
5213*b6fb3261SAndroid Build Coastguard Worker*   [TF Profiler](https://www.tensorflow.org/guide/profiler) introduces two new
5214*b6fb3261SAndroid Build Coastguard Worker    tools: a memory profiler to visualize your model’s memory usage over time
5215*b6fb3261SAndroid Build Coastguard Worker    and a [python tracer](https://www.tensorflow.org/guide/profiler#events)
5216*b6fb3261SAndroid Build Coastguard Worker    which allows you to trace python function calls in your model. Usability
5217*b6fb3261SAndroid Build Coastguard Worker    improvements include better diagnostic messages and
5218*b6fb3261SAndroid Build Coastguard Worker    [profile options](https://tensorflow.org/guide/profiler#collect_performance_data)
5219*b6fb3261SAndroid Build Coastguard Worker    to customize the host and device trace verbosity level.
5220*b6fb3261SAndroid Build Coastguard Worker
5221*b6fb3261SAndroid Build Coastguard Worker*   Introduces experimental support for Keras Preprocessing Layers API
5222*b6fb3261SAndroid Build Coastguard Worker    ([`tf.keras.layers.experimental.preprocessing.*`](https://www.tensorflow.org/api_docs/python/tf/keras/layers/experimental/preprocessing?version=nightly))
5223*b6fb3261SAndroid Build Coastguard Worker    to handle data preprocessing operations, with support for composite tensor
5224*b6fb3261SAndroid Build Coastguard Worker    inputs. Please see below for additional details on these layers.
5225*b6fb3261SAndroid Build Coastguard Worker
5226*b6fb3261SAndroid Build Coastguard Worker*   TFLite now properly supports dynamic shapes during conversion and inference.
5227*b6fb3261SAndroid Build Coastguard Worker    We’ve also added opt-in support on Android and iOS for
5228*b6fb3261SAndroid Build Coastguard Worker    [XNNPACK](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/delegates/xnnpack),
5229*b6fb3261SAndroid Build Coastguard Worker    a highly optimized set of CPU kernels, as well as opt-in support for
5230*b6fb3261SAndroid Build Coastguard Worker    [executing quantized models on the GPU](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/g3doc/performance/gpu_advanced.md#running-quantized-models-experimental).
5231*b6fb3261SAndroid Build Coastguard Worker
5232*b6fb3261SAndroid Build Coastguard Worker*   Libtensorflow packages are available in GCS starting this release. We have
5233*b6fb3261SAndroid Build Coastguard Worker    also started to
5234*b6fb3261SAndroid Build Coastguard Worker    [release a nightly version of these packages](https://github.com/tensorflow/tensorflow#official-builds).
5235*b6fb3261SAndroid Build Coastguard Worker
5236*b6fb3261SAndroid Build Coastguard Worker*   The experimental Python API
5237*b6fb3261SAndroid Build Coastguard Worker    [`tf.debugging.experimental.enable_dump_debug_info()`](https://www.tensorflow.org/api_docs/python/tf/debugging/experimental/enable_dump_debug_info)
5238*b6fb3261SAndroid Build Coastguard Worker    now allows you to instrument a TensorFlow program and dump debugging
5239*b6fb3261SAndroid Build Coastguard Worker    information to a directory on the file system. The directory can be read and
5240*b6fb3261SAndroid Build Coastguard Worker    visualized by a new interactive dashboard in TensorBoard 2.3 called
5241*b6fb3261SAndroid Build Coastguard Worker    [Debugger V2](https://www.tensorflow.org/tensorboard/debugger_v2), which
5242*b6fb3261SAndroid Build Coastguard Worker    reveals the details of the TensorFlow program including graph structures,
5243*b6fb3261SAndroid Build Coastguard Worker    history of op executions at the Python (eager) and intra-graph levels, the
5244*b6fb3261SAndroid Build Coastguard Worker    runtime dtype, shape, and numerical composition of tensors, as well as their
5245*b6fb3261SAndroid Build Coastguard Worker    code locations.
5246*b6fb3261SAndroid Build Coastguard Worker
5247*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes
5248*b6fb3261SAndroid Build Coastguard Worker
5249*b6fb3261SAndroid Build Coastguard Worker*   Increases the **minimum bazel version** required to build TF to **3.1.0**.
5250*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`
5251*b6fb3261SAndroid Build Coastguard Worker    *   Makes the following (breaking) changes to the `tf.data`.
5252*b6fb3261SAndroid Build Coastguard Worker    *   C++ API: - `IteratorBase::RestoreInternal`,
5253*b6fb3261SAndroid Build Coastguard Worker        `IteratorBase::SaveInternal`, and `DatasetBase::CheckExternalState`
5254*b6fb3261SAndroid Build Coastguard Worker        become pure-virtual and subclasses are now expected to provide an
5255*b6fb3261SAndroid Build Coastguard Worker        implementation.
5256*b6fb3261SAndroid Build Coastguard Worker    *   The deprecated `DatasetBase::IsStateful` method is removed in favor of
5257*b6fb3261SAndroid Build Coastguard Worker        `DatasetBase::CheckExternalState`.
5258*b6fb3261SAndroid Build Coastguard Worker    *   Deprecated overrides of `DatasetBase::MakeIterator` and
5259*b6fb3261SAndroid Build Coastguard Worker        `MakeIteratorFromInputElement` are removed.
5260*b6fb3261SAndroid Build Coastguard Worker    *   The signature of `tensorflow::data::IteratorBase::SaveInternal` and
5261*b6fb3261SAndroid Build Coastguard Worker        `tensorflow::data::IteratorBase::SaveInput` has been extended with
5262*b6fb3261SAndroid Build Coastguard Worker        `SerializationContext` argument to enable overriding the default policy
5263*b6fb3261SAndroid Build Coastguard Worker        for the handling external state during iterator checkpointing. This is
5264*b6fb3261SAndroid Build Coastguard Worker        not a backwards compatible change and all subclasses of `IteratorBase`
5265*b6fb3261SAndroid Build Coastguard Worker        *need to be updated* accordingly.
5266*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`
5267*b6fb3261SAndroid Build Coastguard Worker    *   Add a new `BackupAndRestore` callback for handling distributed training
5268*b6fb3261SAndroid Build Coastguard Worker        failures & restarts. Please take a look at this
5269*b6fb3261SAndroid Build Coastguard Worker        [tutorial](https://www.tensorflow.org/tutorials/distribute/multi_worker_with_keras)
5270*b6fb3261SAndroid Build Coastguard Worker        for details on how to use the callback.
5271*b6fb3261SAndroid Build Coastguard Worker*   `tf.image.extract_glimpse` has been updated to correctly process the case
5272*b6fb3261SAndroid Build Coastguard Worker    where `centered=False` and `normalized=False`. This is a breaking change as
5273*b6fb3261SAndroid Build Coastguard Worker    the output is different from (incorrect) previous versions. Note this
5274*b6fb3261SAndroid Build Coastguard Worker    breaking change only impacts `tf.image.extract_glimpse` and
5275*b6fb3261SAndroid Build Coastguard Worker    `tf.compat.v2.image.extract_glimpse` API endpoints. The behavior of
5276*b6fb3261SAndroid Build Coastguard Worker    `tf.compat.v1.image.extract_glimpse` does not change. The behavior of
5277*b6fb3261SAndroid Build Coastguard Worker    existing C++ kernel `ExtractGlimpse` does not change either, so saved models
5278*b6fb3261SAndroid Build Coastguard Worker    using `tf.raw_ops.ExtractGlimpse` will not be impacted.
5279*b6fb3261SAndroid Build Coastguard Worker
5280*b6fb3261SAndroid Build Coastguard Worker## Known Caveats
5281*b6fb3261SAndroid Build Coastguard Worker
5282*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`
5283*b6fb3261SAndroid Build Coastguard Worker    *   Keras-based LSTM models must be converted with an explicit batch size in
5284*b6fb3261SAndroid Build Coastguard Worker        the input layer.
5285*b6fb3261SAndroid Build Coastguard Worker
5286*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
5287*b6fb3261SAndroid Build Coastguard Worker
5288*b6fb3261SAndroid Build Coastguard Worker### TF Core:
5289*b6fb3261SAndroid Build Coastguard Worker
5290*b6fb3261SAndroid Build Coastguard Worker*   Set `tf2_behavior` to 1 to enable V2 for early loading cases.
5291*b6fb3261SAndroid Build Coastguard Worker*   Add `execute_fn_for_device function` to dynamically choose the
5292*b6fb3261SAndroid Build Coastguard Worker    implementation based on underlying device placement.
5293*b6fb3261SAndroid Build Coastguard Worker*   Eager:
5294*b6fb3261SAndroid Build Coastguard Worker    *   Add `reduce_logsumexp` benchmark with experiment compile.
5295*b6fb3261SAndroid Build Coastguard Worker    *   Give `EagerTensor`s a meaningful `__array__` implementation.
5296*b6fb3261SAndroid Build Coastguard Worker    *   Add another version of defun matmul for performance analysis.
5297*b6fb3261SAndroid Build Coastguard Worker*   `tf.function`/AutoGraph:
5298*b6fb3261SAndroid Build Coastguard Worker    *   `AutoGraph` now includes into TensorFlow loops any variables that are
5299*b6fb3261SAndroid Build Coastguard Worker        closed over by local functions. Previously, such variables were
5300*b6fb3261SAndroid Build Coastguard Worker        sometimes incorrectly ignored.
5301*b6fb3261SAndroid Build Coastguard Worker    *   functions returned by the `get_concrete_function` method of
5302*b6fb3261SAndroid Build Coastguard Worker        `tf.function` objects can now be called with arguments consistent with
5303*b6fb3261SAndroid Build Coastguard Worker        the original arguments or type specs passed to `get_concrete_function`.
5304*b6fb3261SAndroid Build Coastguard Worker        This calling convention is now the preferred way to use concrete
5305*b6fb3261SAndroid Build Coastguard Worker        functions with nested values and composite tensors. Please check the
5306*b6fb3261SAndroid Build Coastguard Worker        [guide](https://www.tensorflow.org/guide/concrete_function) for more
5307*b6fb3261SAndroid Build Coastguard Worker        details on `concrete_ function`.
5308*b6fb3261SAndroid Build Coastguard Worker    *   Update `tf.function`'s `experimental_relax_shapes` to handle composite
5309*b6fb3261SAndroid Build Coastguard Worker        tensors appropriately.
5310*b6fb3261SAndroid Build Coastguard Worker    *   Optimize `tf.function` invocation, by removing redundant list converter.
5311*b6fb3261SAndroid Build Coastguard Worker    *   `tf.function` will retrace when called with a different variable instead
5312*b6fb3261SAndroid Build Coastguard Worker        of simply using the `dtype` & `shape`.
5313*b6fb3261SAndroid Build Coastguard Worker    *   [Improve support](https://github.com/tensorflow/tensorflow/issues/33862)
5314*b6fb3261SAndroid Build Coastguard Worker        for dynamically-sized TensorArray inside `tf.function`.
5315*b6fb3261SAndroid Build Coastguard Worker*   `tf.math`:
5316*b6fb3261SAndroid Build Coastguard Worker    *   Narrow down `argmin`/`argmax` contract to always return the smallest
5317*b6fb3261SAndroid Build Coastguard Worker        index for ties.
5318*b6fb3261SAndroid Build Coastguard Worker    *   `tf.math.reduce_variance` and `tf.math.reduce_std` return correct
5319*b6fb3261SAndroid Build Coastguard Worker        computation for complex types and no longer support integer types.
5320*b6fb3261SAndroid Build Coastguard Worker    *   Add Bessel functions of order 0,1 to `tf.math.special`.
5321*b6fb3261SAndroid Build Coastguard Worker    *   `tf.divide` now always returns a tensor to be consistent with
5322*b6fb3261SAndroid Build Coastguard Worker        documentation and other APIs.
5323*b6fb3261SAndroid Build Coastguard Worker*   `tf.image`:
5324*b6fb3261SAndroid Build Coastguard Worker    *   Replaced
5325*b6fb3261SAndroid Build Coastguard Worker        [`tf.image.non_max_suppression_padded`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/image/non_max_suppression_padded?hl=en)
5326*b6fb3261SAndroid Build Coastguard Worker        with a new implementation that supports batched inputs, which is
5327*b6fb3261SAndroid Build Coastguard Worker        considerably faster on TPUs and GPUs. Boxes with area=0 will be ignored.
5328*b6fb3261SAndroid Build Coastguard Worker        Existing usage with single inputs should still work as before.
5329*b6fb3261SAndroid Build Coastguard Worker*   `tf.linalg`
5330*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.linalg.banded_triangular_solve`.
5331*b6fb3261SAndroid Build Coastguard Worker*   `tf.random`:
5332*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.random.stateless_parameterized_truncated_normal`.
5333*b6fb3261SAndroid Build Coastguard Worker*   `tf.ragged`:
5334*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.ragged.cross` and `tf.ragged.cross_hashed` operations.
5335*b6fb3261SAndroid Build Coastguard Worker*   `tf.RaggedTensor`:
5336*b6fb3261SAndroid Build Coastguard Worker    *   `RaggedTensor.to_tensor()` now preserves static shape.
5337*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.strings.format()` and `tf.print()` to support RaggedTensors.
5338*b6fb3261SAndroid Build Coastguard Worker*   `tf.saved_model`:
5339*b6fb3261SAndroid Build Coastguard Worker    *   `@tf.function` from SavedModel no longer ignores args after a
5340*b6fb3261SAndroid Build Coastguard Worker        `RaggedTensor` when selecting the concrete function to run.
5341*b6fb3261SAndroid Build Coastguard Worker    *   Fix save model issue for ops with a list of functions.
5342*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.saved_model.LoadOptions` with
5343*b6fb3261SAndroid Build Coastguard Worker        [`experimental_io_device`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/saved_model/LoadOptions?hl=en)
5344*b6fb3261SAndroid Build Coastguard Worker        as arg with default value `None` to choose the I/O device for loading
5345*b6fb3261SAndroid Build Coastguard Worker        models and weights.
5346*b6fb3261SAndroid Build Coastguard Worker    *   Update `tf.saved_model.SaveOptions` with
5347*b6fb3261SAndroid Build Coastguard Worker        [`experimental_io_device`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/saved_model/SaveOptions?hl=en)
5348*b6fb3261SAndroid Build Coastguard Worker        as arg with default value `None` to choose the I/O device for saving
5349*b6fb3261SAndroid Build Coastguard Worker        models and weights.
5350*b6fb3261SAndroid Build Coastguard Worker    *   Mutable tables now restore checkpointed values when loaded from
5351*b6fb3261SAndroid Build Coastguard Worker        SavedModel.
5352*b6fb3261SAndroid Build Coastguard Worker    *   The user object metadata field in the SavedModel proto has been
5353*b6fb3261SAndroid Build Coastguard Worker        deprecated as part of the updates to Keras SavedModel. Keras was the
5354*b6fb3261SAndroid Build Coastguard Worker        only consumer of this field prior to the update.
5355*b6fb3261SAndroid Build Coastguard Worker*   GPU
5356*b6fb3261SAndroid Build Coastguard Worker    *   TF 2.3 includes PTX kernels only for
5357*b6fb3261SAndroid Build Coastguard Worker        [compute capability](https://developer.nvidia.com/cuda-gpus) 7.0 to
5358*b6fb3261SAndroid Build Coastguard Worker        reduce the TF pip binary size. Earlier releases included PTX for a
5359*b6fb3261SAndroid Build Coastguard Worker        variety of older compute capabilities.
5360*b6fb3261SAndroid Build Coastguard Worker    *   Remove environmental variable `TF_USE_CUDNN`.
5361*b6fb3261SAndroid Build Coastguard Worker*   Others
5362*b6fb3261SAndroid Build Coastguard Worker    *   Retain parent namescope for ops added inside
5363*b6fb3261SAndroid Build Coastguard Worker        `tf.while_loop`/`tf.cond`/`tf.switch_case`.
5364*b6fb3261SAndroid Build Coastguard Worker    *   Update `tf.vectorized_map` to support vectorizing `tf.while_loop` and
5365*b6fb3261SAndroid Build Coastguard Worker        TensorList operations.
5366*b6fb3261SAndroid Build Coastguard Worker    *   `tf.custom_gradient` can now be applied to functions that accept nested
5367*b6fb3261SAndroid Build Coastguard Worker        structures of `tensors` as inputs (instead of just a list of tensors).
5368*b6fb3261SAndroid Build Coastguard Worker        Note that Python structures such as tuples and lists now won't be
5369*b6fb3261SAndroid Build Coastguard Worker        treated as tensors, so if you still want them to be treated that way,
5370*b6fb3261SAndroid Build Coastguard Worker        you need to wrap them with `tf.convert_to_tensor`.
5371*b6fb3261SAndroid Build Coastguard Worker    *   No lowering on gradient case op when input is `DeviceIndex` op.
5372*b6fb3261SAndroid Build Coastguard Worker    *   Extend the ragged version of `tf.gather` to support `batch_dims` and
5373*b6fb3261SAndroid Build Coastguard Worker        `axis` args.
5374*b6fb3261SAndroid Build Coastguard Worker    *   Update `tf.map_fn` to support RaggedTensors and SparseTensors.
5375*b6fb3261SAndroid Build Coastguard Worker    *   Deprecate `tf.group`. It is not useful in eager mode.
5376*b6fb3261SAndroid Build Coastguard Worker    *   Add CPU and GPU implementation of modified variation of
5377*b6fb3261SAndroid Build Coastguard Worker        [`FTRL`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/raw_ops/ApplyFtrl)/[`FTRLV2`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/raw_ops/ApplyFtrlV2)
5378*b6fb3261SAndroid Build Coastguard Worker        that can triggerred by `multiply_linear_by_lr` allowing a learning rate
5379*b6fb3261SAndroid Build Coastguard Worker        of zero.
5380*b6fb3261SAndroid Build Coastguard Worker
5381*b6fb3261SAndroid Build Coastguard Worker### `tf.data`:
5382*b6fb3261SAndroid Build Coastguard Worker
5383*b6fb3261SAndroid Build Coastguard Worker*   `tf.data.experimental.dense_to_ragged_batch` works correctly with tuples.
5384*b6fb3261SAndroid Build Coastguard Worker*   `tf.data.experimental.dense_to_ragged_batch` to output variable ragged rank.
5385*b6fb3261SAndroid Build Coastguard Worker*   `tf.data.experimental.cardinality` is now a method on `tf.data.Dataset`.
5386*b6fb3261SAndroid Build Coastguard Worker*   `tf.data.Dataset` now supports `len(Dataset)` when the cardinality is
5387*b6fb3261SAndroid Build Coastguard Worker    finite.
5388*b6fb3261SAndroid Build Coastguard Worker
5389*b6fb3261SAndroid Build Coastguard Worker### `tf.distribute`:
5390*b6fb3261SAndroid Build Coastguard Worker
5391*b6fb3261SAndroid Build Coastguard Worker*   Expose experimental
5392*b6fb3261SAndroid Build Coastguard Worker    [`tf.distribute.DistributedDataset`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/distribute/DistributedDataset?hl=en)
5393*b6fb3261SAndroid Build Coastguard Worker    and
5394*b6fb3261SAndroid Build Coastguard Worker    [`tf.distribute.DistributedIterator`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/distribute/DistributedIterator)
5395*b6fb3261SAndroid Build Coastguard Worker    to distribute input data when using `tf.distribute` to scale training on
5396*b6fb3261SAndroid Build Coastguard Worker    multiple devices.
5397*b6fb3261SAndroid Build Coastguard Worker    *   Added a
5398*b6fb3261SAndroid Build Coastguard Worker        [`get_next_as_optional`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/distribute/DistributedIterator?hl=en#get_next_as_optional)
5399*b6fb3261SAndroid Build Coastguard Worker        method for
5400*b6fb3261SAndroid Build Coastguard Worker        [`tf.distribute.DistributedIterator`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/distribute/DistributedIterator?hl=en)
5401*b6fb3261SAndroid Build Coastguard Worker        class to return a `tf.experimental.Optional` instance that contains the
5402*b6fb3261SAndroid Build Coastguard Worker        next value for all replicas or none instead of raising an out of range
5403*b6fb3261SAndroid Build Coastguard Worker        error. Also see *new*
5404*b6fb3261SAndroid Build Coastguard Worker        [guide on input distribution](https://www.tensorflow.org/tutorials/distribute/input).
5405*b6fb3261SAndroid Build Coastguard Worker*   Allow var.assign on MirroredVariables with aggregation=NONE in replica
5406*b6fb3261SAndroid Build Coastguard Worker    context. Previously this would raise an error. We now allow this because
5407*b6fb3261SAndroid Build Coastguard Worker    many users and library writers find using `.assign` in replica context to be
5408*b6fb3261SAndroid Build Coastguard Worker    more convenient, instead of having to use `Strategy.extended.update` which
5409*b6fb3261SAndroid Build Coastguard Worker    was the previous way of updating variables in this situation.
5410*b6fb3261SAndroid Build Coastguard Worker*   `tf.distribute.experimental.MultiWorkerMirroredStrategy` adds support for
5411*b6fb3261SAndroid Build Coastguard Worker    partial batches. Workers running out of data now continue to participate in
5412*b6fb3261SAndroid Build Coastguard Worker    the training with empty inputs, instead of raising an error. Learn more
5413*b6fb3261SAndroid Build Coastguard Worker    about
5414*b6fb3261SAndroid Build Coastguard Worker    [partial batches here](https://www.tensorflow.org/tutorials/distribute/input#partial_batches).
5415*b6fb3261SAndroid Build Coastguard Worker*   Improve the performance of reading metrics eagerly under
5416*b6fb3261SAndroid Build Coastguard Worker    `tf.distribute.experimental.MultiWorkerMirroredStrategy`.
5417*b6fb3261SAndroid Build Coastguard Worker*   Fix the issue that `strategy.reduce()` inside `tf.function` may raise
5418*b6fb3261SAndroid Build Coastguard Worker    exceptions when the values to reduce are from loops or if-clauses.
5419*b6fb3261SAndroid Build Coastguard Worker*   Fix the issue that `tf.distribute.MirroredStrategy` cannot be used together
5420*b6fb3261SAndroid Build Coastguard Worker    with `tf.distribute.experimental.MultiWorkerMirroredStrategy`.
5421*b6fb3261SAndroid Build Coastguard Worker*   Add a `tf.distribute.cluster_resolver.TPUClusterResolver.connect` API to
5422*b6fb3261SAndroid Build Coastguard Worker    simplify TPU initialization.
5423*b6fb3261SAndroid Build Coastguard Worker*   Add `tf.distribute.Strategy.gather` and
5424*b6fb3261SAndroid Build Coastguard Worker    `tf.distribute.ReplicaContext.all_gather` methods to gather and concatenate
5425*b6fb3261SAndroid Build Coastguard Worker    `tf.distribute.DistributedValues` across workers and devices.
5426*b6fb3261SAndroid Build Coastguard Worker
5427*b6fb3261SAndroid Build Coastguard Worker### `tf.keras`:
5428*b6fb3261SAndroid Build Coastguard Worker
5429*b6fb3261SAndroid Build Coastguard Worker*   Introduces experimental preprocessing layers API
5430*b6fb3261SAndroid Build Coastguard Worker    (`tf.keras.layers.experimental.preprocessing`) to handle data preprocessing
5431*b6fb3261SAndroid Build Coastguard Worker    operations such as categorical feature encoding, text vectorization, data
5432*b6fb3261SAndroid Build Coastguard Worker    normalization, and data discretization (binning). The newly added layers
5433*b6fb3261SAndroid Build Coastguard Worker    provide a replacement for the legacy feature column API, and support
5434*b6fb3261SAndroid Build Coastguard Worker    composite tensor inputs.
5435*b6fb3261SAndroid Build Coastguard Worker*   Added **categorical data** processing layers:
5436*b6fb3261SAndroid Build Coastguard Worker    *   `IntegerLookup` & `StringLookup`: build an index of categorical feature
5437*b6fb3261SAndroid Build Coastguard Worker        values
5438*b6fb3261SAndroid Build Coastguard Worker    *   `CategoryEncoding`: turn integer-encoded categories into one-hot,
5439*b6fb3261SAndroid Build Coastguard Worker        multi-hot, or tf-idf encoded representations
5440*b6fb3261SAndroid Build Coastguard Worker    *   `CategoryCrossing`: create new categorical features representing
5441*b6fb3261SAndroid Build Coastguard Worker        co-occurrences of previous categorical feature values
5442*b6fb3261SAndroid Build Coastguard Worker    *   `Hashing`: the hashing trick, for large-vocabulary categorical features
5443*b6fb3261SAndroid Build Coastguard Worker    *   `Discretization`: turn continuous numerical features into categorical
5444*b6fb3261SAndroid Build Coastguard Worker        features by binning their values
5445*b6fb3261SAndroid Build Coastguard Worker*   Improved **image preprocessing** layers: `CenterCrop`, `Rescaling`
5446*b6fb3261SAndroid Build Coastguard Worker*   Improved **image augmentation** layers: `RandomCrop`, `RandomFlip`,
5447*b6fb3261SAndroid Build Coastguard Worker    `RandomTranslation`, `RandomRotation`, `RandomHeight`, `RandomWidth`,
5448*b6fb3261SAndroid Build Coastguard Worker    `RandomZoom`, `RandomContrast`
5449*b6fb3261SAndroid Build Coastguard Worker*   Improved **`TextVectorization`** layer, which handles string tokenization,
5450*b6fb3261SAndroid Build Coastguard Worker    n-gram generation, and token encoding
5451*b6fb3261SAndroid Build Coastguard Worker    *   The `TextVectorization` layer now accounts for the mask_token as part of
5452*b6fb3261SAndroid Build Coastguard Worker        the vocabulary size when output_mode='int'. This means that, if you have
5453*b6fb3261SAndroid Build Coastguard Worker        a max_tokens value of 5000, your output will have 5000 unique values
5454*b6fb3261SAndroid Build Coastguard Worker        (not 5001 as before).
5455*b6fb3261SAndroid Build Coastguard Worker    *   Change the return value of `TextVectorization.get_vocabulary()` from
5456*b6fb3261SAndroid Build Coastguard Worker        `byte` to `string`. Users who previously were calling 'decode' on the
5457*b6fb3261SAndroid Build Coastguard Worker        output of this method should no longer need to do so.
5458*b6fb3261SAndroid Build Coastguard Worker*   Introduce new Keras dataset generation utilities :
5459*b6fb3261SAndroid Build Coastguard Worker    *   **[`image_dataset_from_directory`](https://www.tensorflow.org/api_docs/python/tf/keras/preprocessing/image_dataset_from_directory)**
5460*b6fb3261SAndroid Build Coastguard Worker        is a utility based on `tf.data.Dataset`, meant to replace the legacy
5461*b6fb3261SAndroid Build Coastguard Worker        `ImageDataGenerator`. It takes you from a structured directory of images
5462*b6fb3261SAndroid Build Coastguard Worker        to a labeled dataset, in one function call. Note that it doesn't perform
5463*b6fb3261SAndroid Build Coastguard Worker        image data augmentation (which is meant to be done using preprocessing
5464*b6fb3261SAndroid Build Coastguard Worker        layers).
5465*b6fb3261SAndroid Build Coastguard Worker    *   **[`text_dataset_from_directory`](https://www.tensorflow.org/api_docs/python/tf/keras/preprocessing/text_dataset_from_directory)**
5466*b6fb3261SAndroid Build Coastguard Worker        takes you from a structured directory of text files to a labeled
5467*b6fb3261SAndroid Build Coastguard Worker        dataset, in one function call.
5468*b6fb3261SAndroid Build Coastguard Worker    *   **[`timeseries_dataset_from_array`](https://www.tensorflow.org/api_docs/python/tf/keras/preprocessing/timeseries_dataset_from_array)**
5469*b6fb3261SAndroid Build Coastguard Worker        is a `tf.data.Dataset`-based replacement of the legacy
5470*b6fb3261SAndroid Build Coastguard Worker        `TimeseriesGenerator`. It takes you from an array of timeseries data to
5471*b6fb3261SAndroid Build Coastguard Worker        a dataset of shifting windows with their targets.
5472*b6fb3261SAndroid Build Coastguard Worker*   Added
5473*b6fb3261SAndroid Build Coastguard Worker    [`experimental_steps_per_execution`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/keras/Model?hl=en#compile)
5474*b6fb3261SAndroid Build Coastguard Worker    arg to `model.compile` to indicate the number of batches to run per
5475*b6fb3261SAndroid Build Coastguard Worker    `tf.function` call. This can speed up Keras Models on TPUs up to 3x.
5476*b6fb3261SAndroid Build Coastguard Worker*   Extends `tf.keras.layers.Lambda` layers to support multi-argument lambdas,
5477*b6fb3261SAndroid Build Coastguard Worker    and keyword arguments when calling the layer.
5478*b6fb3261SAndroid Build Coastguard Worker*   Functional models now get constructed if *any* tensor in a layer call's
5479*b6fb3261SAndroid Build Coastguard Worker    arguments/keyword arguments comes from a keras input. Previously the
5480*b6fb3261SAndroid Build Coastguard Worker    functional api would only work if all of the elements in the first argument
5481*b6fb3261SAndroid Build Coastguard Worker    to the layer came from a keras input.
5482*b6fb3261SAndroid Build Coastguard Worker*   Clean up `BatchNormalization` layer's `trainable` property to act like
5483*b6fb3261SAndroid Build Coastguard Worker    standard python state when it's used inside `tf.functions` (frozen at
5484*b6fb3261SAndroid Build Coastguard Worker    tracing time), instead of acting like a pseudo-variable whose updates *kind
5485*b6fb3261SAndroid Build Coastguard Worker    of sometimes* get reflected in already-traced `tf.function` traces.
5486*b6fb3261SAndroid Build Coastguard Worker*   Add the `Conv1DTranspose` layer.
5487*b6fb3261SAndroid Build Coastguard Worker*   Refine the semantics of `SensitivitySpecificityBase` derived metrics. See
5488*b6fb3261SAndroid Build Coastguard Worker    the updated API docstrings for
5489*b6fb3261SAndroid Build Coastguard Worker    [`tf.keras.metrics.SensitivityAtSpecificity`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/keras/metrics/SensitivityAtSpecificity)
5490*b6fb3261SAndroid Build Coastguard Worker    and
5491*b6fb3261SAndroid Build Coastguard Worker    [`tf.keras.metrics.SpecificityAtSensitivty`](https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/keras/metrics/SpecificityAtSensitivity).
5492*b6fb3261SAndroid Build Coastguard Worker
5493*b6fb3261SAndroid Build Coastguard Worker### `tf.lite`:
5494*b6fb3261SAndroid Build Coastguard Worker
5495*b6fb3261SAndroid Build Coastguard Worker*   Converter
5496*b6fb3261SAndroid Build Coastguard Worker    *   Restored `inference_input_type` and `inference_output_type` flags in TF
5497*b6fb3261SAndroid Build Coastguard Worker        2.x TFLiteConverter (backward compatible with TF 1.x) to support integer
5498*b6fb3261SAndroid Build Coastguard Worker        (tf.int8, tf.uint8) input and output types in post training full integer
5499*b6fb3261SAndroid Build Coastguard Worker        quantized models.
5500*b6fb3261SAndroid Build Coastguard Worker    *   Added support for converting and resizing models with dynamic
5501*b6fb3261SAndroid Build Coastguard Worker        (placeholder) dimensions. Previously, there was only limited support for
5502*b6fb3261SAndroid Build Coastguard Worker        dynamic batch size, and even that did not guarantee that the model could
5503*b6fb3261SAndroid Build Coastguard Worker        be properly resized at runtime.
5504*b6fb3261SAndroid Build Coastguard Worker        *   Enabled experimental support for a new quantization mode with 16-bit
5505*b6fb3261SAndroid Build Coastguard Worker            activations and 8-bit weights. See
5506*b6fb3261SAndroid Build Coastguard Worker            `lite.OpsSet.EXPERIMENTAL_TFLITE_BUILTINS_ACTIVATIONS_INT16_WEIGHTS_INT8`.
5507*b6fb3261SAndroid Build Coastguard Worker*   CPU
5508*b6fb3261SAndroid Build Coastguard Worker    *   Fix an issue w/ dynamic weights and `Conv2D` on x86.
5509*b6fb3261SAndroid Build Coastguard Worker    *   Add a runtime Android flag for enabling `XNNPACK` for optimized CPU
5510*b6fb3261SAndroid Build Coastguard Worker        performance.
5511*b6fb3261SAndroid Build Coastguard Worker    *   Add a runtime iOS flag for enabling `XNNPACK` for optimized CPU
5512*b6fb3261SAndroid Build Coastguard Worker        performance.
5513*b6fb3261SAndroid Build Coastguard Worker    *   Add a compiler flag to enable building a TFLite library that applies
5514*b6fb3261SAndroid Build Coastguard Worker        `XNNPACK` delegate automatically when the model has a `fp32` operation.
5515*b6fb3261SAndroid Build Coastguard Worker*   GPU
5516*b6fb3261SAndroid Build Coastguard Worker    *   Allow GPU acceleration starting with internal graph nodes
5517*b6fb3261SAndroid Build Coastguard Worker    *   Experimental support for quantized models with the Android GPU delegate
5518*b6fb3261SAndroid Build Coastguard Worker    *   Add GPU delegate whitelist.
5519*b6fb3261SAndroid Build Coastguard Worker    *   Rename GPU whitelist -> compatibility (list).
5520*b6fb3261SAndroid Build Coastguard Worker    *   Improve GPU compatibility list entries from crash reports.
5521*b6fb3261SAndroid Build Coastguard Worker*   NNAPI
5522*b6fb3261SAndroid Build Coastguard Worker    *   Set default value for
5523*b6fb3261SAndroid Build Coastguard Worker        `StatefulNnApiDelegate::Options::max_number_delegated_partitions` to 3.
5524*b6fb3261SAndroid Build Coastguard Worker    *   Add capability to disable `NNAPI` CPU and check `NNAPI` Errno.
5525*b6fb3261SAndroid Build Coastguard Worker    *   Fix crashes when using `NNAPI` with target accelerator specified with
5526*b6fb3261SAndroid Build Coastguard Worker        model containing Conv2d or FullyConnected or LSTM nodes with quantized
5527*b6fb3261SAndroid Build Coastguard Worker        weights.
5528*b6fb3261SAndroid Build Coastguard Worker    *   Fix `ANEURALNETWORKS_BAD_DATA` execution failures with
5529*b6fb3261SAndroid Build Coastguard Worker        `sum`/`max`/`min`/`reduce` operations with `scalar` inputs.
5530*b6fb3261SAndroid Build Coastguard Worker*   Hexagon
5531*b6fb3261SAndroid Build Coastguard Worker    *   TFLite Hexagon Delegate out of experimental.
5532*b6fb3261SAndroid Build Coastguard Worker    *   Experimental `int8` support for most hexagon ops.
5533*b6fb3261SAndroid Build Coastguard Worker    *   Experimental per-channel quant support for `conv` in Hexagon delegate.
5534*b6fb3261SAndroid Build Coastguard Worker    *   Support dynamic batch size in C++ API.
5535*b6fb3261SAndroid Build Coastguard Worker*   CoreML
5536*b6fb3261SAndroid Build Coastguard Worker    *   Opensource CoreML delegate
5537*b6fb3261SAndroid Build Coastguard Worker*   Misc
5538*b6fb3261SAndroid Build Coastguard Worker    *   Enable building Android TFLite targets on Windows
5539*b6fb3261SAndroid Build Coastguard Worker    *   Add support for `BatchMatMul`.
5540*b6fb3261SAndroid Build Coastguard Worker    *   Add support for `half_pixel_centers` with `ResizeNearestNeighbor`.
5541*b6fb3261SAndroid Build Coastguard Worker    *   Add 3D support for `BatchToSpaceND`.
5542*b6fb3261SAndroid Build Coastguard Worker    *   Add 5D support for `BroadcastSub`, `Maximum`, `Minimum`, `Transpose` and
5543*b6fb3261SAndroid Build Coastguard Worker        `BroadcastDiv`.
5544*b6fb3261SAndroid Build Coastguard Worker    *   Rename `kTfLiteActRelu1` to `kTfLiteActReluN1To1`.
5545*b6fb3261SAndroid Build Coastguard Worker    *   Enable flex delegate on tensorflow.lite.Interpreter Python package.
5546*b6fb3261SAndroid Build Coastguard Worker    *   Add `Buckettize`, `SparseCross` and `BoostedTreesBucketize` to the flex
5547*b6fb3261SAndroid Build Coastguard Worker        whitelist.
5548*b6fb3261SAndroid Build Coastguard Worker    *   Add support for selective registration of flex ops.
5549*b6fb3261SAndroid Build Coastguard Worker    *   Add missing kernels for flex delegate whitelisted ops.
5550*b6fb3261SAndroid Build Coastguard Worker    *   Fix issue when using direct `ByteBuffer` inputs with graphs that have
5551*b6fb3261SAndroid Build Coastguard Worker        dynamic shapes.
5552*b6fb3261SAndroid Build Coastguard Worker    *   Fix error checking supported operations in a model containing
5553*b6fb3261SAndroid Build Coastguard Worker        `HardSwish`.
5554*b6fb3261SAndroid Build Coastguard Worker
5555*b6fb3261SAndroid Build Coastguard Worker### Packaging Support
5556*b6fb3261SAndroid Build Coastguard Worker
5557*b6fb3261SAndroid Build Coastguard Worker*   Added `tf.sysconfig.get_build_info()`. Returns a dict that describes the
5558*b6fb3261SAndroid Build Coastguard Worker    build environment of the currently installed TensorFlow package, e.g. the
5559*b6fb3261SAndroid Build Coastguard Worker    NVIDIA CUDA and NVIDIA CuDNN versions used when TensorFlow was built.
5560*b6fb3261SAndroid Build Coastguard Worker
5561*b6fb3261SAndroid Build Coastguard Worker### Profiler
5562*b6fb3261SAndroid Build Coastguard Worker
5563*b6fb3261SAndroid Build Coastguard Worker*   Fix a subtle use-after-free issue in `XStatVisitor::RefValue()`.
5564*b6fb3261SAndroid Build Coastguard Worker
5565*b6fb3261SAndroid Build Coastguard Worker### TPU Enhancements
5566*b6fb3261SAndroid Build Coastguard Worker
5567*b6fb3261SAndroid Build Coastguard Worker*   Adds 3D mesh support in TPU configurations ops.
5568*b6fb3261SAndroid Build Coastguard Worker*   Added TPU code for `FTRL` with `multiply_linear_by_lr`.
5569*b6fb3261SAndroid Build Coastguard Worker*   Silently adds a new file system registry at `gstpu`.
5570*b6fb3261SAndroid Build Coastguard Worker*   Support `restartType` in cloud tpu client.
5571*b6fb3261SAndroid Build Coastguard Worker*   Depend on a specific version of google-api-python-client.
5572*b6fb3261SAndroid Build Coastguard Worker*   Fixes apiclient import.
5573*b6fb3261SAndroid Build Coastguard Worker
5574*b6fb3261SAndroid Build Coastguard Worker### Tracing and Debugging
5575*b6fb3261SAndroid Build Coastguard Worker
5576*b6fb3261SAndroid Build Coastguard Worker*   Add a `TFE_Py_Execute` traceme.
5577*b6fb3261SAndroid Build Coastguard Worker
5578*b6fb3261SAndroid Build Coastguard Worker### XLA Support
5579*b6fb3261SAndroid Build Coastguard Worker
5580*b6fb3261SAndroid Build Coastguard Worker*   Implement stable `argmin` and `argmax`
5581*b6fb3261SAndroid Build Coastguard Worker
5582*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
5583*b6fb3261SAndroid Build Coastguard Worker
5584*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
5585*b6fb3261SAndroid Build Coastguard Worker
5586*b6fb3261SAndroid Build Coastguard Worker902449@58880@bigcat_chen@ASIC, Abdul Baseer Khan, Abhineet Choudhary, Abolfazl
5587*b6fb3261SAndroid Build Coastguard WorkerShahbazi, Adam Hillier, ag.ramesh, Agoniii, Ajay P, Alex Hoffman, Alexander
5588*b6fb3261SAndroid Build Coastguard WorkerBayandin, Alexander Grund, Alexandre Abadie, Alexey Rogachevskiy, amoitra,
5589*b6fb3261SAndroid Build Coastguard WorkerAndrew Stevens, Angus-Luo, Anshuman Tripathy, Anush Elangovan, Artem Mavrin,
5590*b6fb3261SAndroid Build Coastguard WorkerAshutosh Hathidara, autoih, Ayushman Kumar, ayushmankumar7, Bairen Yi, Bas
5591*b6fb3261SAndroid Build Coastguard WorkerAarts, Bastian Eichenberger, Ben Barsdell, bhack, Bharat Raghunathan, Biagio
5592*b6fb3261SAndroid Build Coastguard WorkerMontaruli, Bigcat-Himax, blueyi, Bryan Cutler, Byambaa, Carlos
5593*b6fb3261SAndroid Build Coastguard WorkerHernandez-Vaquero, Chen Lei, Chris Knorowski, Christian Clauss, chuanqiw,
5594*b6fb3261SAndroid Build Coastguard WorkerCuiYifeng, Daniel Situnayake, Daria Zhuravleva, Dayananda-V, Deven Desai, Devi
5595*b6fb3261SAndroid Build Coastguard WorkerSandeep Endluri, Dmitry Zakharov, Dominic Jack, Duncan Riach, Edgar Liberis,
5596*b6fb3261SAndroid Build Coastguard WorkerEhsan Toosi, ekuznetsov139, Elena Zhelezina, Eugene Kuznetsov, Eugene
5597*b6fb3261SAndroid Build Coastguard WorkerMikhantiev, Evgenii Zheltonozhskii, Fabio Di Domenico, Fausto Morales, Fei Sun,
5598*b6fb3261SAndroid Build Coastguard Workerfeihugis, Felix E. Klee, flyingcat, Frederic Bastien, Fredrik Knutsson, frreiss,
5599*b6fb3261SAndroid Build Coastguard Workerfsx950223, ganler, Gaurav Singh, Georgios Pinitas, Gian Marco Iodice, Giorgio
5600*b6fb3261SAndroid Build Coastguard WorkerArena, Giuseppe Rossini, Gregory Keith, Guozhong Zhuang, gurushantj, Hahn
5601*b6fb3261SAndroid Build Coastguard WorkerAnselm, Harald Husum, Harjyot Bagga, Hristo Vrigazov, Ilya Persky, Ir1d, Itamar
5602*b6fb3261SAndroid Build Coastguard WorkerTurner-Trauring, jacco, Jake Tae, Janosh Riebesell, Jason Zaman, jayanth, Jeff
5603*b6fb3261SAndroid Build Coastguard WorkerDaily, Jens Elofsson, Jinzhe Zeng, JLZ, Jonas Skog, Jonathan Dekhtiar, Josh
5604*b6fb3261SAndroid Build Coastguard WorkerMeyer, Joshua Chia, Judd, justkw, Kaixi Hou, Kam D Kasravi, Kamil Rakoczy, Karol
5605*b6fb3261SAndroid Build Coastguard WorkerGugala, Kayou, Kazuaki Ishizaki, Keith Smiley, Khaled Besrour, Kilaru Yasaswi
5606*b6fb3261SAndroid Build Coastguard WorkerSri Chandra Gandhi, Kim, Young Soo, Kristian Hartikainen, Kwabena W. Agyeman,
5607*b6fb3261SAndroid Build Coastguard WorkerLeslie-Fang, Leslie-Fang-Intel, Li, Guizi, Lukas Geiger, Lutz Roeder, M\U00E5Ns
5608*b6fb3261SAndroid Build Coastguard WorkerNilsson, Mahmoud Abuzaina, Manish, Marcel Koester, Marcin Sielski, marload,
5609*b6fb3261SAndroid Build Coastguard WorkerMartin Jul, Matt Conley, mdfaijul, Meng, Peng, Meteorix, Michael Käufl,
5610*b6fb3261SAndroid Build Coastguard WorkerMichael137, Milan Straka, Mitchell Vitez, Ml-0, Mokke Meguru, Mshr-H, nammbash,
5611*b6fb3261SAndroid Build Coastguard WorkerNathan Luehr, naumkin, Neeraj Bhadani, ngc92, Nick Morgan, nihui, Niranjan
5612*b6fb3261SAndroid Build Coastguard WorkerHasabnis, Niranjan Yadla, Nishidha Panpaliya, Oceania2018, oclyke, Ouyang Jin,
5613*b6fb3261SAndroid Build Coastguard WorkerOverLordGoldDragon, Owen Lyke, Patrick Hemmer, Paul Andrey, Peng Sun,
5614*b6fb3261SAndroid Build Coastguard Workerperiannath, Phil Pearl, Prashant Dandriyal, Prashant Kumar, Rahul Huilgol, Rajan
5615*b6fb3261SAndroid Build Coastguard WorkerSingh, Rajeshwar Reddy T, rangjiaheng, Rishit Dagli, Rohan Reddy, rpalakkal,
5616*b6fb3261SAndroid Build Coastguard Workerrposts, Ruan Kunliang, Rushabh Vasani, Ryohei Ikegami, Semun Lee, Seo-Inyoung,
5617*b6fb3261SAndroid Build Coastguard WorkerSergey Mironov, Sharada Shiddibhavi, ShengYang1, Shraiysh Vaishay, Shunya Ueta,
5618*b6fb3261SAndroid Build Coastguard Workershwetaoj, Siyavash Najafzade, Srinivasan Narayanamoorthy, Stephan Uphoff,
5619*b6fb3261SAndroid Build Coastguard Workerstorypku, sunchenggen, sunway513, Sven-Hendrik Haase, Swapnil Parekh, Tamas Bela
5620*b6fb3261SAndroid Build Coastguard WorkerFeher, Teng Lu, tigertang, tomas, Tomohiro Ubukata, tongxuan.ltx, Tony Tonev,
5621*b6fb3261SAndroid Build Coastguard WorkerTzu-Wei Huang, Téo Bouvard, Uday Bondhugula, Vaibhav Jade, Vijay Tadikamalla,
5622*b6fb3261SAndroid Build Coastguard WorkerVikram Dattu, Vincent Abriou, Vishnuvardhan Janapati, Vo Van Nghia, VoVAllen,
5623*b6fb3261SAndroid Build Coastguard WorkerWill Battel, William D. Irons, wyzhao, Xiaoming (Jason) Cui, Xiaoquan Kong,
5624*b6fb3261SAndroid Build Coastguard WorkerXinan Jiang, xutianming, Yair Ehrenwald, Yasir Modak, Yasuhiro Matsumoto, Yixing
5625*b6fb3261SAndroid Build Coastguard WorkerFu, Yong Tang, Yuan Tang, zhaozheng09, Zilin Zhu, zilinzhu, 张志豪
5626*b6fb3261SAndroid Build Coastguard Worker
5627*b6fb3261SAndroid Build Coastguard Worker# Release 2.1.1
5628*b6fb3261SAndroid Build Coastguard Worker
5629*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
5630*b6fb3261SAndroid Build Coastguard Worker
5631*b6fb3261SAndroid Build Coastguard Worker*   Updates `sqlite3` to `3.31.01` to handle
5632*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-19880](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19880),
5633*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-19244](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19244)
5634*b6fb3261SAndroid Build Coastguard Worker    and
5635*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-19645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19645)
5636*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.69.1` to handle
5637*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-15601](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15601)
5638*b6fb3261SAndroid Build Coastguard Worker*   Updates `libjpeg-turbo` to `2.0.4` to handle
5639*b6fb3261SAndroid Build Coastguard Worker    [CVE-2018-19664](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19664),
5640*b6fb3261SAndroid Build Coastguard Worker    [CVE-2018-20330](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20330)
5641*b6fb3261SAndroid Build Coastguard Worker    and
5642*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-13960](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13960)
5643*b6fb3261SAndroid Build Coastguard Worker*   Updates Apache Spark to `2.4.5` to handle
5644*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-10099](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10099),
5645*b6fb3261SAndroid Build Coastguard Worker    [CVE-2018-17190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-17190)
5646*b6fb3261SAndroid Build Coastguard Worker    and
5647*b6fb3261SAndroid Build Coastguard Worker    [CVE-2018-11770](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-11770)
5648*b6fb3261SAndroid Build Coastguard Worker*   Fixes a versioning bug which causes Keras layers from TF 1.x to be used
5649*b6fb3261SAndroid Build Coastguard Worker    instead of those from TF 2.x
5650*b6fb3261SAndroid Build Coastguard Worker
5651*b6fb3261SAndroid Build Coastguard Worker# Release 2.0.2
5652*b6fb3261SAndroid Build Coastguard Worker
5653*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
5654*b6fb3261SAndroid Build Coastguard Worker
5655*b6fb3261SAndroid Build Coastguard Worker*   Updates `sqlite3` to `3.31.01` to handle
5656*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-19880](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19880),
5657*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-19244](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19244)
5658*b6fb3261SAndroid Build Coastguard Worker    and
5659*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-19645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19645)
5660*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.69.1` to handle
5661*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-15601](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15601)
5662*b6fb3261SAndroid Build Coastguard Worker*   Updates `libjpeg-turbo` to `2.0.4` to handle
5663*b6fb3261SAndroid Build Coastguard Worker    [CVE-2018-19664](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19664),
5664*b6fb3261SAndroid Build Coastguard Worker    [CVE-2018-20330](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20330)
5665*b6fb3261SAndroid Build Coastguard Worker    and
5666*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-13960](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13960)
5667*b6fb3261SAndroid Build Coastguard Worker*   Updates Apache Spark to `2.4.5` to handle
5668*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-10099](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10099),
5669*b6fb3261SAndroid Build Coastguard Worker    [CVE-2018-17190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-17190)
5670*b6fb3261SAndroid Build Coastguard Worker    and
5671*b6fb3261SAndroid Build Coastguard Worker    [CVE-2018-11770](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-11770)
5672*b6fb3261SAndroid Build Coastguard Worker
5673*b6fb3261SAndroid Build Coastguard Worker# Release 1.15.3
5674*b6fb3261SAndroid Build Coastguard Worker
5675*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
5676*b6fb3261SAndroid Build Coastguard Worker
5677*b6fb3261SAndroid Build Coastguard Worker*   Updates `sqlite3` to `3.31.01` to handle
5678*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-19880](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19880),
5679*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-19244](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19244)
5680*b6fb3261SAndroid Build Coastguard Worker    and
5681*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-19645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19645)
5682*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.69.1` to handle
5683*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-15601](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-15601)
5684*b6fb3261SAndroid Build Coastguard Worker*   Updates `libjpeg-turbo` to `2.0.4` to handle
5685*b6fb3261SAndroid Build Coastguard Worker    [CVE-2018-19664](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19664),
5686*b6fb3261SAndroid Build Coastguard Worker    [CVE-2018-20330](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20330)
5687*b6fb3261SAndroid Build Coastguard Worker    and
5688*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-13960](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13960)
5689*b6fb3261SAndroid Build Coastguard Worker*   Updates Apache Spark to `2.4.5` to handle
5690*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-10099](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-10099),
5691*b6fb3261SAndroid Build Coastguard Worker    [CVE-2018-17190](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-17190)
5692*b6fb3261SAndroid Build Coastguard Worker    and
5693*b6fb3261SAndroid Build Coastguard Worker    [CVE-2018-11770](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-11770)
5694*b6fb3261SAndroid Build Coastguard Worker
5695*b6fb3261SAndroid Build Coastguard Worker# Release 2.2.0
5696*b6fb3261SAndroid Build Coastguard Worker
5697*b6fb3261SAndroid Build Coastguard WorkerTensorFlow 2.2 discontinues support for Python 2,
5698*b6fb3261SAndroid Build Coastguard Worker[previously announced](https://groups.google.com/a/tensorflow.org/d/msg/announce/gVwS5RC8mds/dCt1ka2XAAAJ)
5699*b6fb3261SAndroid Build Coastguard Workeras following
5700*b6fb3261SAndroid Build Coastguard Worker[Python 2's EOL on January 1, 2020](https://www.python.org/dev/peps/pep-0373/#update).
5701*b6fb3261SAndroid Build Coastguard Worker
5702*b6fb3261SAndroid Build Coastguard WorkerCoinciding with this change, new releases of
5703*b6fb3261SAndroid Build Coastguard Worker[TensorFlow's Docker images](https://hub.docker.com/r/tensorflow/tensorflow/)
5704*b6fb3261SAndroid Build Coastguard Workerprovide Python 3 exclusively. Because all images now use Python 3, Docker tags
5705*b6fb3261SAndroid Build Coastguard Workercontaining `-py3` will no longer be provided and existing `-py3` tags like
5706*b6fb3261SAndroid Build Coastguard Worker`latest-py3` will not be updated.
5707*b6fb3261SAndroid Build Coastguard Worker
5708*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
5709*b6fb3261SAndroid Build Coastguard Worker
5710*b6fb3261SAndroid Build Coastguard Worker*   Replaced the scalar type for string tensors from `std::string` to
5711*b6fb3261SAndroid Build Coastguard Worker    `tensorflow::tstring` which is now ABI stable.
5712*b6fb3261SAndroid Build Coastguard Worker*   A new Profiler for TF 2 for CPU/GPU/TPU. It offers both device and host
5713*b6fb3261SAndroid Build Coastguard Worker    performance analysis, including input pipeline and TF Ops. Optimization
5714*b6fb3261SAndroid Build Coastguard Worker    advisory is provided whenever possible. Please see
5715*b6fb3261SAndroid Build Coastguard Worker    [this tutorial](https://www.tensorflow.org/tensorboard/tensorboard_profiling_keras)
5716*b6fb3261SAndroid Build Coastguard Worker    and [guide](https://www.tensorflow.org/guide/profiler) for usage guidelines.
5717*b6fb3261SAndroid Build Coastguard Worker*   Export C++ functions to Python using `pybind11` as opposed to `SWIG` as a
5718*b6fb3261SAndroid Build Coastguard Worker    part of our
5719*b6fb3261SAndroid Build Coastguard Worker    [deprecation of swig efforts](https://github.com/tensorflow/community/blob/master/rfcs/20190208-pybind11.md).
5720*b6fb3261SAndroid Build Coastguard Worker*   `tf.distribute`:
5721*b6fb3261SAndroid Build Coastguard Worker    *   Support added for global sync `BatchNormalization` by using the newly
5722*b6fb3261SAndroid Build Coastguard Worker        added `tf.keras.layers.experimental.SyncBatchNormalization` layer. This
5723*b6fb3261SAndroid Build Coastguard Worker        layer will sync `BatchNormalization` statistics every step across all
5724*b6fb3261SAndroid Build Coastguard Worker        replicas taking part in sync training.
5725*b6fb3261SAndroid Build Coastguard Worker    *   Performance improvements for GPU multi-worker distributed training using
5726*b6fb3261SAndroid Build Coastguard Worker        `tf.distribute.experimental.MultiWorkerMirroredStrategy`
5727*b6fb3261SAndroid Build Coastguard Worker    *   Update NVIDIA `NCCL` to `2.5.7-1` for better performance and performance
5728*b6fb3261SAndroid Build Coastguard Worker        tuning. Please see
5729*b6fb3261SAndroid Build Coastguard Worker        [nccl developer guide](https://docs.nvidia.com/deeplearning/sdk/nccl-developer-guide/docs/env.html)
5730*b6fb3261SAndroid Build Coastguard Worker        for more information on this.
5731*b6fb3261SAndroid Build Coastguard Worker    *   Support gradient `allreduce` in `float16`. See this
5732*b6fb3261SAndroid Build Coastguard Worker        [example](https://github.com/tensorflow/models/blob/master/official/modeling/grad_utils.py)
5733*b6fb3261SAndroid Build Coastguard Worker        usage.
5734*b6fb3261SAndroid Build Coastguard Worker    *   Experimental support of
5735*b6fb3261SAndroid Build Coastguard Worker        [all reduce gradient packing](https://www.tensorflow.org/api_docs/python/tf/distribute/experimental/CollectiveHints)
5736*b6fb3261SAndroid Build Coastguard Worker        to allow overlapping gradient aggregation with backward path
5737*b6fb3261SAndroid Build Coastguard Worker        computation.
5738*b6fb3261SAndroid Build Coastguard Worker    *   Deprecated `experimental_run_v2` method for distribution strategies and
5739*b6fb3261SAndroid Build Coastguard Worker        renamed the method `run` as it is no longer experimental.
5740*b6fb3261SAndroid Build Coastguard Worker    *   Add CompositeTensor support for DistributedIterators. This should help
5741*b6fb3261SAndroid Build Coastguard Worker        prevent unnecessary function retracing and memory leaks.
5742*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
5743*b6fb3261SAndroid Build Coastguard Worker
5744*b6fb3261SAndroid Build Coastguard Worker    *   `Model.fit` major improvements:
5745*b6fb3261SAndroid Build Coastguard Worker        *   You can now use custom training logic with `Model.fit` by overriding
5746*b6fb3261SAndroid Build Coastguard Worker            `Model.train_step`.
5747*b6fb3261SAndroid Build Coastguard Worker        *   Easily write state-of-the-art training loops without worrying about
5748*b6fb3261SAndroid Build Coastguard Worker            all of the features `Model.fit` handles for you (distribution
5749*b6fb3261SAndroid Build Coastguard Worker            strategies, callbacks, data formats, looping logic, etc)
5750*b6fb3261SAndroid Build Coastguard Worker        *   See the default
5751*b6fb3261SAndroid Build Coastguard Worker            [`Model.train_step`](https://github.com/tensorflow/tensorflow/blob/1381fc8e15e22402417b98e3881dfd409998daea/tensorflow/python/keras/engine/training.py#L540)
5752*b6fb3261SAndroid Build Coastguard Worker            for an example of what this function should look like. Same applies
5753*b6fb3261SAndroid Build Coastguard Worker            for validation and inference via `Model.test_step` and
5754*b6fb3261SAndroid Build Coastguard Worker            `Model.predict_step`.
5755*b6fb3261SAndroid Build Coastguard Worker        *   SavedModel uses its own `Model._saved_model_inputs_spec` attr now
5756*b6fb3261SAndroid Build Coastguard Worker            instead of relying on `Model.inputs` and `Model.input_names`, which
5757*b6fb3261SAndroid Build Coastguard Worker            are no longer set for subclass Models. This attr is set in eager,
5758*b6fb3261SAndroid Build Coastguard Worker            `tf.function`, and graph modes. This gets rid of the need for users
5759*b6fb3261SAndroid Build Coastguard Worker            to manually call `Model._set_inputs` when using Custom Training
5760*b6fb3261SAndroid Build Coastguard Worker            Loops(CTLs).
5761*b6fb3261SAndroid Build Coastguard Worker        *   Dynamic shapes are supported for generators by calling the Model on
5762*b6fb3261SAndroid Build Coastguard Worker            the first batch we "peek" from the generator. This used to happen
5763*b6fb3261SAndroid Build Coastguard Worker            implicitly in `Model._standardize_user_data`. Long-term, a solution
5764*b6fb3261SAndroid Build Coastguard Worker            where the `DataAdapter` doesn't need to call the Model is probably
5765*b6fb3261SAndroid Build Coastguard Worker            preferable.
5766*b6fb3261SAndroid Build Coastguard Worker    *   The SavedModel format now supports all Keras built-in layers (including
5767*b6fb3261SAndroid Build Coastguard Worker        metrics, preprocessing layers, and stateful RNN layers)
5768*b6fb3261SAndroid Build Coastguard Worker    *   Update Keras batch normalization layer to use the running mean and
5769*b6fb3261SAndroid Build Coastguard Worker        average computation in the `fused_batch_norm`. You should see
5770*b6fb3261SAndroid Build Coastguard Worker        significant performance improvements when using `fused_batch_norm` in
5771*b6fb3261SAndroid Build Coastguard Worker        Eager mode.
5772*b6fb3261SAndroid Build Coastguard Worker
5773*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`:
5774*b6fb3261SAndroid Build Coastguard Worker
5775*b6fb3261SAndroid Build Coastguard Worker    *   Enable TFLite experimental new converter by default.
5776*b6fb3261SAndroid Build Coastguard Worker
5777*b6fb3261SAndroid Build Coastguard Worker*   XLA
5778*b6fb3261SAndroid Build Coastguard Worker
5779*b6fb3261SAndroid Build Coastguard Worker    *   XLA now builds and works on windows. All prebuilt packages come with XLA
5780*b6fb3261SAndroid Build Coastguard Worker        available.
5781*b6fb3261SAndroid Build Coastguard Worker    *   XLA can be
5782*b6fb3261SAndroid Build Coastguard Worker        [enabled for a `tf.function`](https://www.tensorflow.org/xla#explicit_compilation_with_tffunction)
5783*b6fb3261SAndroid Build Coastguard Worker        with “compile or throw exception” semantics on CPU and GPU.
5784*b6fb3261SAndroid Build Coastguard Worker
5785*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes
5786*b6fb3261SAndroid Build Coastguard Worker
5787*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
5788*b6fb3261SAndroid Build Coastguard Worker    *   In `tf.keras.applications` the name of the "top" layer has been
5789*b6fb3261SAndroid Build Coastguard Worker        standardized to "predictions". This is only a problem if your code
5790*b6fb3261SAndroid Build Coastguard Worker        relies on the exact name of the layer.
5791*b6fb3261SAndroid Build Coastguard Worker    *   Huber loss function has been updated to be consistent with other Keras
5792*b6fb3261SAndroid Build Coastguard Worker        losses. It now computes mean over the last axis of per-sample losses
5793*b6fb3261SAndroid Build Coastguard Worker        before applying the reduction function.
5794*b6fb3261SAndroid Build Coastguard Worker*   AutoGraph no longer converts functions passed to `tf.py_function`,
5795*b6fb3261SAndroid Build Coastguard Worker    `tf.py_func` and `tf.numpy_function`.
5796*b6fb3261SAndroid Build Coastguard Worker*   Deprecating `XLA_CPU` and `XLA_GPU` devices with this release.
5797*b6fb3261SAndroid Build Coastguard Worker*   Increasing the minimum bazel version to build TF to 2.0.0 to use Bazel's
5798*b6fb3261SAndroid Build Coastguard Worker    `cc_experimental_shared_library`.
5799*b6fb3261SAndroid Build Coastguard Worker*   Keras compile/fit behavior for functional and subclassed models have been
5800*b6fb3261SAndroid Build Coastguard Worker    unified. Model properties such as `metrics`, `metrics_names` will now be
5801*b6fb3261SAndroid Build Coastguard Worker    available only after **training/evaluating the model on actual data** for
5802*b6fb3261SAndroid Build Coastguard Worker    functional models. `metrics` will **now include** model `loss` and output
5803*b6fb3261SAndroid Build Coastguard Worker    losses.`loss_functions` property has been removed from the model. This was
5804*b6fb3261SAndroid Build Coastguard Worker    an undocumented property that was accidentally public and has now been
5805*b6fb3261SAndroid Build Coastguard Worker    removed.
5806*b6fb3261SAndroid Build Coastguard Worker
5807*b6fb3261SAndroid Build Coastguard Worker## Known Caveats
5808*b6fb3261SAndroid Build Coastguard Worker
5809*b6fb3261SAndroid Build Coastguard Worker*   The current TensorFlow release now **requires**
5810*b6fb3261SAndroid Build Coastguard Worker    [gast](https://pypi.org/project/gast/) version 0.3.3.
5811*b6fb3261SAndroid Build Coastguard Worker
5812*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
5813*b6fb3261SAndroid Build Coastguard Worker
5814*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`:
5815*b6fb3261SAndroid Build Coastguard Worker    *   Removed `autotune_algorithm` from experimental optimization options.
5816*b6fb3261SAndroid Build Coastguard Worker*   TF Core:
5817*b6fb3261SAndroid Build Coastguard Worker    *   `tf.constant` always creates CPU tensors irrespective of the current
5818*b6fb3261SAndroid Build Coastguard Worker        device context.
5819*b6fb3261SAndroid Build Coastguard Worker    *   Eager `TensorHandles` maintain a list of mirrors for any copies to local
5820*b6fb3261SAndroid Build Coastguard Worker        or remote devices. This avoids any redundant copies due to op execution.
5821*b6fb3261SAndroid Build Coastguard Worker    *   For `tf.Tensor` & `tf.Variable`, `.experimental_ref()` is no longer
5822*b6fb3261SAndroid Build Coastguard Worker        experimental and is available as simply `.ref()`.
5823*b6fb3261SAndroid Build Coastguard Worker    *   `pfor/vectorized_map`: Added support for vectorizing 56 more ops.
5824*b6fb3261SAndroid Build Coastguard Worker        Vectorizing `tf.cond` is also supported now.
5825*b6fb3261SAndroid Build Coastguard Worker    *   Set as much partial shape as we can infer statically within the gradient
5826*b6fb3261SAndroid Build Coastguard Worker        impl of the gather op.
5827*b6fb3261SAndroid Build Coastguard Worker    *   Gradient of `tf.while_loop` emits `StatelessWhile` op if `cond` and body
5828*b6fb3261SAndroid Build Coastguard Worker        functions are stateless. This allows multiple gradients while ops to run
5829*b6fb3261SAndroid Build Coastguard Worker        in parallel under distribution strategy.
5830*b6fb3261SAndroid Build Coastguard Worker    *   Speed up `GradientTape` in eager mode by auto-generating list of op
5831*b6fb3261SAndroid Build Coastguard Worker        inputs/outputs which are unused and hence not cached for gradient
5832*b6fb3261SAndroid Build Coastguard Worker        functions.
5833*b6fb3261SAndroid Build Coastguard Worker    *   Support `back_prop=False` in `while_v2` but mark it as deprecated.
5834*b6fb3261SAndroid Build Coastguard Worker    *   Improve error message when attempting to use `None` in data-dependent
5835*b6fb3261SAndroid Build Coastguard Worker        control flow.
5836*b6fb3261SAndroid Build Coastguard Worker    *   Add `RaggedTensor.numpy()`.
5837*b6fb3261SAndroid Build Coastguard Worker    *   Update `RaggedTensor.__getitem__` to preserve uniform dimensions & allow
5838*b6fb3261SAndroid Build Coastguard Worker        indexing into uniform dimensions.
5839*b6fb3261SAndroid Build Coastguard Worker    *   Update `tf.expand_dims` to always insert the new dimension as a
5840*b6fb3261SAndroid Build Coastguard Worker        non-ragged dimension.
5841*b6fb3261SAndroid Build Coastguard Worker    *   Update `tf.embedding_lookup` to use `partition_strategy` and `max_norm`
5842*b6fb3261SAndroid Build Coastguard Worker        when `ids` is ragged.
5843*b6fb3261SAndroid Build Coastguard Worker    *   Allow `batch_dims==rank(indices)` in `tf.gather`.
5844*b6fb3261SAndroid Build Coastguard Worker    *   Add support for bfloat16 in `tf.print`.
5845*b6fb3261SAndroid Build Coastguard Worker*   `tf.distribute`:
5846*b6fb3261SAndroid Build Coastguard Worker    *   Support `embedding_column` with variable-length input features for
5847*b6fb3261SAndroid Build Coastguard Worker        `MultiWorkerMirroredStrategy`.
5848*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
5849*b6fb3261SAndroid Build Coastguard Worker    *   Added `experimental_aggregate_gradients` argument to
5850*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.optimizer.Optimizer.apply_gradients`. This allows custom
5851*b6fb3261SAndroid Build Coastguard Worker        gradient aggregation and processing aggregated gradients in custom
5852*b6fb3261SAndroid Build Coastguard Worker        training loop.
5853*b6fb3261SAndroid Build Coastguard Worker    *   Allow `pathlib.Path` paths for loading models via Keras API.
5854*b6fb3261SAndroid Build Coastguard Worker*   `tf.function`/AutoGraph:
5855*b6fb3261SAndroid Build Coastguard Worker    *   AutoGraph is now available in `ReplicaContext.merge_call`,
5856*b6fb3261SAndroid Build Coastguard Worker        `Strategy.extended.update` and `Strategy.extended.update_non_slot`.
5857*b6fb3261SAndroid Build Coastguard Worker    *   Experimental support for shape invariants has been enabled in
5858*b6fb3261SAndroid Build Coastguard Worker        `tf.function`. See the API docs for
5859*b6fb3261SAndroid Build Coastguard Worker        `tf.autograph.experimental.set_loop_options` for additional info.
5860*b6fb3261SAndroid Build Coastguard Worker    *   AutoGraph error messages now exclude frames corresponding to APIs
5861*b6fb3261SAndroid Build Coastguard Worker        internal to AutoGraph.
5862*b6fb3261SAndroid Build Coastguard Worker    *   Improve shape inference for `tf.function` input arguments to unlock more
5863*b6fb3261SAndroid Build Coastguard Worker        Grappler optimizations in TensorFlow 2.x.
5864*b6fb3261SAndroid Build Coastguard Worker    *   Improve automatic control dependency management of resources by allowing
5865*b6fb3261SAndroid Build Coastguard Worker        resource reads to occur in parallel and synchronizing only on writes.
5866*b6fb3261SAndroid Build Coastguard Worker    *   Fix execution order of multiple stateful calls to `experimental_run_v2`
5867*b6fb3261SAndroid Build Coastguard Worker        in `tf.function`.
5868*b6fb3261SAndroid Build Coastguard Worker    *   You can now iterate over `RaggedTensors` using a for loop inside
5869*b6fb3261SAndroid Build Coastguard Worker        `tf.function`.
5870*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`:
5871*b6fb3261SAndroid Build Coastguard Worker    *   Migrated the `tf.lite` C inference API out of experimental into lite/c.
5872*b6fb3261SAndroid Build Coastguard Worker    *   Add an option to disallow `NNAPI` CPU / partial acceleration on Android
5873*b6fb3261SAndroid Build Coastguard Worker        10
5874*b6fb3261SAndroid Build Coastguard Worker    *   TFLite Android AARs now include the C headers and APIs are required to
5875*b6fb3261SAndroid Build Coastguard Worker        use TFLite from native code.
5876*b6fb3261SAndroid Build Coastguard Worker    *   Refactors the delegate and delegate kernel sources to allow usage in the
5877*b6fb3261SAndroid Build Coastguard Worker        linter.
5878*b6fb3261SAndroid Build Coastguard Worker    *   Limit delegated ops to actually supported ones if a device name is
5879*b6fb3261SAndroid Build Coastguard Worker        specified or `NNAPI` CPU Fallback is disabled.
5880*b6fb3261SAndroid Build Coastguard Worker    *   TFLite now supports `tf.math.reciprocal1` op by lowering to `tf.div op`.
5881*b6fb3261SAndroid Build Coastguard Worker    *   TFLite's unpack op now supports boolean tensor inputs.
5882*b6fb3261SAndroid Build Coastguard Worker    *   Microcontroller and embedded code moved from experimental to main
5883*b6fb3261SAndroid Build Coastguard Worker        TensorFlow Lite folder
5884*b6fb3261SAndroid Build Coastguard Worker    *   Check for large TFLite tensors.
5885*b6fb3261SAndroid Build Coastguard Worker    *   Fix GPU delegate crash with C++17.
5886*b6fb3261SAndroid Build Coastguard Worker    *   Add 5D support to TFLite `strided_slice`.
5887*b6fb3261SAndroid Build Coastguard Worker    *   Fix error in delegation of `DEPTH_TO_SPACE` to `NNAPI` causing op not to
5888*b6fb3261SAndroid Build Coastguard Worker        be accelerated.
5889*b6fb3261SAndroid Build Coastguard Worker    *   Fix segmentation fault when running a model with LSTM nodes using
5890*b6fb3261SAndroid Build Coastguard Worker        `NNAPI` Delegate
5891*b6fb3261SAndroid Build Coastguard Worker    *   Fix `NNAPI` delegate failure when an operand for Maximum/Minimum
5892*b6fb3261SAndroid Build Coastguard Worker        operation is a scalar.
5893*b6fb3261SAndroid Build Coastguard Worker    *   Fix `NNAPI` delegate failure when Axis input for reduce operation is a
5894*b6fb3261SAndroid Build Coastguard Worker        scalar.
5895*b6fb3261SAndroid Build Coastguard Worker    *   Expose option to limit the number of partitions that will be delegated
5896*b6fb3261SAndroid Build Coastguard Worker        to `NNAPI`.
5897*b6fb3261SAndroid Build Coastguard Worker    *   If a target accelerator is specified, use its feature level to determine
5898*b6fb3261SAndroid Build Coastguard Worker        operations to delegate instead of SDK version.
5899*b6fb3261SAndroid Build Coastguard Worker*   `tf.random`:
5900*b6fb3261SAndroid Build Coastguard Worker    *   Various random number generation improvements:
5901*b6fb3261SAndroid Build Coastguard Worker    *   Add a fast path for default `random_uniform`
5902*b6fb3261SAndroid Build Coastguard Worker    *   `random_seed` documentation improvement.
5903*b6fb3261SAndroid Build Coastguard Worker    *   `RandomBinomial` broadcasts and appends the sample shape to the left
5904*b6fb3261SAndroid Build Coastguard Worker        rather than the right.
5905*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.random.stateless_binomial`, `tf.random.stateless_gamma`,
5906*b6fb3261SAndroid Build Coastguard Worker        `tf.random.stateless_poisson`
5907*b6fb3261SAndroid Build Coastguard Worker    *   `tf.random.stateless_uniform` now supports unbounded sampling of `int`
5908*b6fb3261SAndroid Build Coastguard Worker        types.
5909*b6fb3261SAndroid Build Coastguard Worker*   Math and Linear Algebra:
5910*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.linalg.LinearOperatorTridiag`.
5911*b6fb3261SAndroid Build Coastguard Worker    *   Add `LinearOperatorBlockLowerTriangular`
5912*b6fb3261SAndroid Build Coastguard Worker    *   Add broadcasting support to
5913*b6fb3261SAndroid Build Coastguard Worker        tf.linalg.triangular_solve[#26204](https://github.com/tensorflow/tensorflow/issues/26204),
5914*b6fb3261SAndroid Build Coastguard Worker        tf.math.invert_permutation.
5915*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.math.sobol_sample` op.
5916*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.math.xlog1py`.
5917*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.math.special.{dawsn,expi,fresnel_cos,fresnel_sin,spence}`.
5918*b6fb3261SAndroid Build Coastguard Worker    *   Add a Modified Discrete Cosine Transform (MDCT) and its inverse to
5919*b6fb3261SAndroid Build Coastguard Worker        `tf.signal`.
5920*b6fb3261SAndroid Build Coastguard Worker*   TPU Enhancements:
5921*b6fb3261SAndroid Build Coastguard Worker    *   Refactor `TpuClusterResolver` to move shared logic to a separate pip
5922*b6fb3261SAndroid Build Coastguard Worker        package.
5923*b6fb3261SAndroid Build Coastguard Worker    *   Support configuring TPU software version from cloud tpu client.
5924*b6fb3261SAndroid Build Coastguard Worker    *   Allowed TPU embedding weight decay factor to be multiplied by learning
5925*b6fb3261SAndroid Build Coastguard Worker        rate.
5926*b6fb3261SAndroid Build Coastguard Worker*   XLA Support:
5927*b6fb3261SAndroid Build Coastguard Worker    *   Add standalone XLA AOT runtime target + relevant .cc sources to pip
5928*b6fb3261SAndroid Build Coastguard Worker        package.
5929*b6fb3261SAndroid Build Coastguard Worker    *   Add check for memory alignment to MemoryAllocation::MemoryAllocation()
5930*b6fb3261SAndroid Build Coastguard Worker        on 32-bit ARM. This ensures a deterministic early exit instead of a hard
5931*b6fb3261SAndroid Build Coastguard Worker        to debug bus error later.
5932*b6fb3261SAndroid Build Coastguard Worker    *   `saved_model_cli aot_compile_cpu` allows you to compile saved models to
5933*b6fb3261SAndroid Build Coastguard Worker        XLA header+object files and include them in your C++ programs.
5934*b6fb3261SAndroid Build Coastguard Worker    *   Enable `Igamma`, `Igammac` for XLA.
5935*b6fb3261SAndroid Build Coastguard Worker*   Deterministic Op Functionality:
5936*b6fb3261SAndroid Build Coastguard Worker    *   XLA reduction emitter is deterministic when the environment variable
5937*b6fb3261SAndroid Build Coastguard Worker        `TF_DETERMINISTIC_OPS` is set to "true" or "1". This extends
5938*b6fb3261SAndroid Build Coastguard Worker        deterministic `tf.nn.bias_add` back-prop functionality (and therefore
5939*b6fb3261SAndroid Build Coastguard Worker        also deterministic back-prop of bias-addition in Keras layers) to
5940*b6fb3261SAndroid Build Coastguard Worker        include when XLA JIT compilation is enabled.
5941*b6fb3261SAndroid Build Coastguard Worker    *   Fix problem, when running on a CUDA GPU and when either environment
5942*b6fb3261SAndroid Build Coastguard Worker        variable `TF_DETERMINISTIC_OPS` or environment variable
5943*b6fb3261SAndroid Build Coastguard Worker        `TF_CUDNN_DETERMINISTIC` is set to "true" or "1", in which some layer
5944*b6fb3261SAndroid Build Coastguard Worker        configurations led to an exception with the message "No algorithm
5945*b6fb3261SAndroid Build Coastguard Worker        worked!"
5946*b6fb3261SAndroid Build Coastguard Worker*   Tracing and Debugging:
5947*b6fb3261SAndroid Build Coastguard Worker    *   Add source, destination name to `_send` traceme to allow easier
5948*b6fb3261SAndroid Build Coastguard Worker        debugging.
5949*b6fb3261SAndroid Build Coastguard Worker    *   Add traceme event to `fastpathexecute`.
5950*b6fb3261SAndroid Build Coastguard Worker*   Other:
5951*b6fb3261SAndroid Build Coastguard Worker    *   Fix an issue with AUC.reset_states for multi-label AUC
5952*b6fb3261SAndroid Build Coastguard Worker        [#35852](https://github.com/tensorflow/tensorflow/issues/35852)
5953*b6fb3261SAndroid Build Coastguard Worker    *   Fix the TF upgrade script to not delete files when there is a parsing
5954*b6fb3261SAndroid Build Coastguard Worker        error and the output mode is `in-place`.
5955*b6fb3261SAndroid Build Coastguard Worker    *   Move `tensorflow/core:framework/*_pyclif` rules to
5956*b6fb3261SAndroid Build Coastguard Worker        `tensorflow/core/framework:*_pyclif`.
5957*b6fb3261SAndroid Build Coastguard Worker
5958*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
5959*b6fb3261SAndroid Build Coastguard Worker
5960*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
5961*b6fb3261SAndroid Build Coastguard Worker
5962*b6fb3261SAndroid Build Coastguard Worker372046933, 8bitmp3, aaronhma, Abin Shahab, Aditya Patwardhan, Agoniii, Ahti
5963*b6fb3261SAndroid Build Coastguard WorkerKitsik, Alan Yee, Albin Joy, Alex Hoffman, Alexander Grund, Alexandre E.
5964*b6fb3261SAndroid Build Coastguard WorkerEichenberger, Amit Kumar Jaiswal, amoitra, Andrew Anderson, Angus-Luo, Anthony
5965*b6fb3261SAndroid Build Coastguard WorkerBarbier, Anton Kachatkou, Anuj Rawat, archis, Arpan-Dhatt, Arvind Sundararajan,
5966*b6fb3261SAndroid Build Coastguard WorkerAshutosh Hathidara, autoih, Bairen Yi, Balint Cristian, Bas Aarts, BashirSbaiti,
5967*b6fb3261SAndroid Build Coastguard WorkerBasit Ayantunde, Ben Barsdell, Benjamin Gaillard, boron, Brett Koonce, Bryan
5968*b6fb3261SAndroid Build Coastguard WorkerCutler, Christian Goll, Christian Sachs, Clayne Robison, comet, Daniel Falbel,
5969*b6fb3261SAndroid Build Coastguard WorkerDaria Zhuravleva, darsh8200, David Truby, Dayananda-V, deepakm, Denis Khalikov,
5970*b6fb3261SAndroid Build Coastguard WorkerDevansh Singh, Dheeraj R Reddy, Diederik Van Liere, Diego Caballero, Dominic
5971*b6fb3261SAndroid Build Coastguard WorkerJack, dothinking, Douman, Drake Gens, Duncan Riach, Ehsan Toosi, ekuznetsov139,
5972*b6fb3261SAndroid Build Coastguard WorkerElena Zhelezina, elzino, Ending2015a, Eric Schweitz, Erik Zettel, Ethan Saadia,
5973*b6fb3261SAndroid Build Coastguard WorkerEugene Kuznetsov, Evgeniy Zheltonozhskiy, Ewout Ter Hoeven, exfalso, FAIJUL,
5974*b6fb3261SAndroid Build Coastguard WorkerFangjun Kuang, Fei Hu, Frank Laub, Frederic Bastien, Fredrik Knutsson, frreiss,
5975*b6fb3261SAndroid Build Coastguard WorkerFrédéric Rechtenstein, fsx950223, Gaurav Singh, gbaned, George Grzegorz
5976*b6fb3261SAndroid Build Coastguard WorkerPawelczak, George Sterpu, Gian Marco Iodice, Giorgio Arena, Hans Gaiser, Hans
5977*b6fb3261SAndroid Build Coastguard WorkerPabst, Haoyu Wu, Harry Slatyer, hsahovic, Hugo, Hugo Sjöberg, IrinaM21, jacco,
5978*b6fb3261SAndroid Build Coastguard WorkerJake Tae, Jean-Denis Lesage, Jean-Michel Gorius, Jeff Daily, Jens Elofsson,
5979*b6fb3261SAndroid Build Coastguard WorkerJerry Shih, jerryyin, Jin Mingjian, Jinjing Zhou, JKIsaacLee, jojimonv, Jonathan
5980*b6fb3261SAndroid Build Coastguard WorkerDekhtiar, Jose Ignacio Gomez, Joseph-Rance, Judd, Julian Gross, Kaixi Hou,
5981*b6fb3261SAndroid Build Coastguard WorkerKaustubh Maske Patil, Keunwoo Choi, Kevin Hanselman, Khor Chean Wei, Kilaru
5982*b6fb3261SAndroid Build Coastguard WorkerYasaswi Sri Chandra Gandhi, Koan-Sin Tan, Koki Ibukuro, Kristian Holsheimer,
5983*b6fb3261SAndroid Build Coastguard Workerkurileo, Lakshay Tokas, Lee Netherton, leike666666, Leslie-Fang-Intel, Li,
5984*b6fb3261SAndroid Build Coastguard WorkerGuizi, LIUJIAN435, Lukas Geiger, Lyo Nguyen, madisetti, Maher Jendoubi, Mahmoud
5985*b6fb3261SAndroid Build Coastguard WorkerAbuzaina, Manuel Freiberger, Marcel Koester, Marco Jacopo Ferrarotti, Markus
5986*b6fb3261SAndroid Build Coastguard WorkerFranke, marload, Mbah-Javis, mbhuiyan, Meng Zhang, Michael Liao,
5987*b6fb3261SAndroid Build Coastguard WorkerMichaelKonobeev, Michal Tarnowski, Milan Straka, minoring, Mohamed Nour
5988*b6fb3261SAndroid Build Coastguard WorkerAbouelseoud, MoussaMM, Mrinal Jain, mrTsjolder, Måns Nilsson, Namrata Bhave,
5989*b6fb3261SAndroid Build Coastguard WorkerNicholas Gao, Niels Ole Salscheider, nikochiko, Niranjan Hasabnis, Nishidha
5990*b6fb3261SAndroid Build Coastguard WorkerPanpaliya, nmostafa, Noah Trenaman, nuka137, Officium, Owen L - Sfe, Pallavi G,
5991*b6fb3261SAndroid Build Coastguard WorkerPaul Andrey, Peng Sun, Peng Wu, Phil Pearl, PhilipMay, pingsutw, Pooya Davoodi,
5992*b6fb3261SAndroid Build Coastguard WorkerPragmaTwice, pshiko, Qwerty71, R Gomathi, Rahul Huilgol, Richard Xiao, Rick
5993*b6fb3261SAndroid Build Coastguard WorkerWierenga, Roberto Rosmaninho, ruchit2801, Rushabh Vasani, Sami, Sana Damani,
5994*b6fb3261SAndroid Build Coastguard WorkerSarvesh Dubey, Sasan Jafarnejad, Sergii Khomenko, Shane Smiskol, Shaochen Shi,
5995*b6fb3261SAndroid Build Coastguard Workersharkdtu, Shawn Presser, ShengYang1, Shreyash Patodia, Shyam Sundar Dhanabalan,
5996*b6fb3261SAndroid Build Coastguard WorkerSiju Samuel, Somyajit Chakraborty Sam, Srihari Humbarwadi,
5997*b6fb3261SAndroid Build Coastguard Workersrinivasan.narayanamoorthy, Srishti Yadav, Steph-En-M, Stephan Uphoff, Stephen
5998*b6fb3261SAndroid Build Coastguard WorkerMugisha, SumanSudhir, Taehun Kim, Tamas Bela Feher, TengLu, Tetragramm, Thierry
5999*b6fb3261SAndroid Build Coastguard WorkerHerrmann, Tian Jin, tigertang, Tom Carchrae, Tom Forbes, Trent Lo, Victor Peng,
6000*b6fb3261SAndroid Build Coastguard Workervijayphoenix, Vincent Abriou, Vishal Bhola, Vishnuvardhan Janapati, vladbataev,
6001*b6fb3261SAndroid Build Coastguard WorkerVoVAllen, Wallyss Lima, Wen-Heng (Jack) Chung, wenxizhu, William D. Irons,
6002*b6fb3261SAndroid Build Coastguard WorkerWilliam Zhang, Xiaoming (Jason) Cui, Xiaoquan Kong, Xinan Jiang, Yasir Modak,
6003*b6fb3261SAndroid Build Coastguard WorkerYasuhiro Matsumoto, Yaxun (Sam) Liu, Yong Tang, Ytyt-Yt, yuan, Yuan Mingshuai,
6004*b6fb3261SAndroid Build Coastguard WorkerYuan Tang, Yuki Ueda, Yusup, zhangshijin, zhuwenxi
6005*b6fb3261SAndroid Build Coastguard Worker
6006*b6fb3261SAndroid Build Coastguard Worker# Release 2.0.1
6007*b6fb3261SAndroid Build Coastguard Worker
6008*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
6009*b6fb3261SAndroid Build Coastguard Worker
6010*b6fb3261SAndroid Build Coastguard Worker*   Fixes a security vulnerability where converting a Python string to a
6011*b6fb3261SAndroid Build Coastguard Worker    `tf.float16` value produces a segmentation fault
6012*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-5215](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-5215))
6013*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.66.0` to handle
6014*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-5482](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5482)
6015*b6fb3261SAndroid Build Coastguard Worker    and
6016*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-5481](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5481)
6017*b6fb3261SAndroid Build Coastguard Worker*   Updates `sqlite3` to `3.30.01` to handle
6018*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-19646](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19646),
6019*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-19645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19645)
6020*b6fb3261SAndroid Build Coastguard Worker    and
6021*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-16168](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-16168)
6022*b6fb3261SAndroid Build Coastguard Worker
6023*b6fb3261SAndroid Build Coastguard Worker# Release 1.15.2
6024*b6fb3261SAndroid Build Coastguard Worker
6025*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
6026*b6fb3261SAndroid Build Coastguard Worker
6027*b6fb3261SAndroid Build Coastguard Worker*   Fixes a security vulnerability where converting a Python string to a
6028*b6fb3261SAndroid Build Coastguard Worker    `tf.float16` value produces a segmentation fault
6029*b6fb3261SAndroid Build Coastguard Worker    ([CVE-2020-5215](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-5215))
6030*b6fb3261SAndroid Build Coastguard Worker*   Updates `curl` to `7.66.0` to handle
6031*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-5482](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5482)
6032*b6fb3261SAndroid Build Coastguard Worker    and
6033*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-5481](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5481)
6034*b6fb3261SAndroid Build Coastguard Worker*   Updates `sqlite3` to `3.30.01` to handle
6035*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-19646](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19646),
6036*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-19645](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19645)
6037*b6fb3261SAndroid Build Coastguard Worker    and
6038*b6fb3261SAndroid Build Coastguard Worker    [CVE-2019-16168](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-16168)
6039*b6fb3261SAndroid Build Coastguard Worker
6040*b6fb3261SAndroid Build Coastguard Worker# Release 2.1.0
6041*b6fb3261SAndroid Build Coastguard Worker
6042*b6fb3261SAndroid Build Coastguard WorkerTensorFlow 2.1 will be the last TF release supporting Python 2. Python 2 support
6043*b6fb3261SAndroid Build Coastguard Worker[officially ends an January 1, 2020](https://www.python.org/dev/peps/pep-0373/#update).
6044*b6fb3261SAndroid Build Coastguard Worker[As announced earlier](https://groups.google.com/a/tensorflow.org/d/msg/announce/gVwS5RC8mds/dCt1ka2XAAAJ),
6045*b6fb3261SAndroid Build Coastguard WorkerTensorFlow will also stop supporting Python 2 starting January 1, 2020, and no
6046*b6fb3261SAndroid Build Coastguard Workermore releases are expected in 2019.
6047*b6fb3261SAndroid Build Coastguard Worker
6048*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
6049*b6fb3261SAndroid Build Coastguard Worker
6050*b6fb3261SAndroid Build Coastguard Worker*   The `tensorflow` pip package now includes GPU support by default (same as
6051*b6fb3261SAndroid Build Coastguard Worker    `tensorflow-gpu`) for both Linux and Windows. This runs on machines with and
6052*b6fb3261SAndroid Build Coastguard Worker    without NVIDIA GPUs. `tensorflow-gpu` is still available, and CPU-only
6053*b6fb3261SAndroid Build Coastguard Worker    packages can be downloaded at `tensorflow-cpu` for users who are concerned
6054*b6fb3261SAndroid Build Coastguard Worker    about package size.
6055*b6fb3261SAndroid Build Coastguard Worker*   **Windows users:** Officially-released `tensorflow` Pip packages are now
6056*b6fb3261SAndroid Build Coastguard Worker    built with Visual Studio 2019 version 16.4 in order to take advantage of the
6057*b6fb3261SAndroid Build Coastguard Worker    new `/d2ReducedOptimizeHugeFunctions` compiler flag. To use these new
6058*b6fb3261SAndroid Build Coastguard Worker    packages, you must install "Microsoft Visual C++ Redistributable for Visual
6059*b6fb3261SAndroid Build Coastguard Worker    Studio 2015, 2017 and 2019", available from Microsoft's website
6060*b6fb3261SAndroid Build Coastguard Worker    [here](https://support.microsoft.com/help/2977003/the-latest-supported-visual-c-downloads).
6061*b6fb3261SAndroid Build Coastguard Worker    *   This does not change the minimum required version for building
6062*b6fb3261SAndroid Build Coastguard Worker        TensorFlow from source on Windows, but builds enabling
6063*b6fb3261SAndroid Build Coastguard Worker        `EIGEN_STRONG_INLINE` can take over 48 hours to compile without this
6064*b6fb3261SAndroid Build Coastguard Worker        flag. Refer to `configure.py` for more information about
6065*b6fb3261SAndroid Build Coastguard Worker        `EIGEN_STRONG_INLINE` and `/d2ReducedOptimizeHugeFunctions`.
6066*b6fb3261SAndroid Build Coastguard Worker    *   If either of the required DLLs, `msvcp140.dll` (old) or `msvcp140_1.dll`
6067*b6fb3261SAndroid Build Coastguard Worker        (new), are missing on your machine, `import tensorflow` will print a
6068*b6fb3261SAndroid Build Coastguard Worker        warning message.
6069*b6fb3261SAndroid Build Coastguard Worker*   The `tensorflow` pip package is built with CUDA 10.1 and cuDNN 7.6.
6070*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`
6071*b6fb3261SAndroid Build Coastguard Worker    *   Experimental support for mixed precision is available on GPUs and Cloud
6072*b6fb3261SAndroid Build Coastguard Worker        TPUs. See
6073*b6fb3261SAndroid Build Coastguard Worker        [usage guide](https://www.tensorflow.org/guide/keras/mixed_precision).
6074*b6fb3261SAndroid Build Coastguard Worker    *   Introduced the `TextVectorization` layer, which takes as input raw
6075*b6fb3261SAndroid Build Coastguard Worker        strings and takes care of text standardization, tokenization, n-gram
6076*b6fb3261SAndroid Build Coastguard Worker        generation, and vocabulary indexing. See this
6077*b6fb3261SAndroid Build Coastguard Worker        [end-to-end text classification example](https://colab.research.google.com/drive/1RvCnR7h0_l4Ekn5vINWToI9TNJdpUZB3).
6078*b6fb3261SAndroid Build Coastguard Worker    *   Keras `.compile` `.fit` `.evaluate` and `.predict` are allowed to be
6079*b6fb3261SAndroid Build Coastguard Worker        outside of the DistributionStrategy scope, as long as the model was
6080*b6fb3261SAndroid Build Coastguard Worker        constructed inside of a scope.
6081*b6fb3261SAndroid Build Coastguard Worker    *   Experimental support for Keras `.compile`, `.fit`, `.evaluate`, and
6082*b6fb3261SAndroid Build Coastguard Worker        `.predict` is available for Cloud TPUs, Cloud TPU, for all types of
6083*b6fb3261SAndroid Build Coastguard Worker        Keras models (sequential, functional and subclassing models).
6084*b6fb3261SAndroid Build Coastguard Worker    *   Automatic outside compilation is now enabled for Cloud TPUs. This allows
6085*b6fb3261SAndroid Build Coastguard Worker        `tf.summary` to be used more conveniently with Cloud TPUs.
6086*b6fb3261SAndroid Build Coastguard Worker    *   Dynamic batch sizes with DistributionStrategy and Keras are supported on
6087*b6fb3261SAndroid Build Coastguard Worker        Cloud TPUs.
6088*b6fb3261SAndroid Build Coastguard Worker    *   Support for `.fit`, `.evaluate`, `.predict` on TPU using numpy data, in
6089*b6fb3261SAndroid Build Coastguard Worker        addition to `tf.data.Dataset`.
6090*b6fb3261SAndroid Build Coastguard Worker    *   Keras reference implementations for many popular models are available in
6091*b6fb3261SAndroid Build Coastguard Worker        the TensorFlow
6092*b6fb3261SAndroid Build Coastguard Worker        [Model Garden](https://github.com/tensorflow/models/tree/master/official).
6093*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`
6094*b6fb3261SAndroid Build Coastguard Worker    *   Changes rebatching for `tf.data datasets` + DistributionStrategy for
6095*b6fb3261SAndroid Build Coastguard Worker        better performance. Note that the dataset also behaves slightly
6096*b6fb3261SAndroid Build Coastguard Worker        differently, in that the rebatched dataset cardinality will always be a
6097*b6fb3261SAndroid Build Coastguard Worker        multiple of the number of replicas.
6098*b6fb3261SAndroid Build Coastguard Worker    *   `tf.data.Dataset` now supports automatic data distribution and sharding
6099*b6fb3261SAndroid Build Coastguard Worker        in distributed environments, including on TPU pods.
6100*b6fb3261SAndroid Build Coastguard Worker    *   Distribution policies for `tf.data.Dataset` can now be tuned with 1.
6101*b6fb3261SAndroid Build Coastguard Worker        `tf.data.experimental.AutoShardPolicy(OFF, AUTO, FILE, DATA)` 2.
6102*b6fb3261SAndroid Build Coastguard Worker        `tf.data.experimental.ExternalStatePolicy(WARN, IGNORE, FAIL)`
6103*b6fb3261SAndroid Build Coastguard Worker*   `tf.debugging`
6104*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.debugging.enable_check_numerics()` and
6105*b6fb3261SAndroid Build Coastguard Worker        `tf.debugging.disable_check_numerics()` to help debugging the root
6106*b6fb3261SAndroid Build Coastguard Worker        causes of issues involving infinities and `NaN`s.
6107*b6fb3261SAndroid Build Coastguard Worker*   `tf.distribute`
6108*b6fb3261SAndroid Build Coastguard Worker    *   Custom training loop support on TPUs and TPU pods is available through
6109*b6fb3261SAndroid Build Coastguard Worker        `strategy.experimental_distribute_dataset`,
6110*b6fb3261SAndroid Build Coastguard Worker        `strategy.experimental_distribute_datasets_from_function`,
6111*b6fb3261SAndroid Build Coastguard Worker        `strategy.experimental_run_v2`, `strategy.reduce`.
6112*b6fb3261SAndroid Build Coastguard Worker    *   Support for a global distribution strategy through
6113*b6fb3261SAndroid Build Coastguard Worker        `tf.distribute.experimental_set_strategy(),` in addition to
6114*b6fb3261SAndroid Build Coastguard Worker        `strategy.scope()`.
6115*b6fb3261SAndroid Build Coastguard Worker*   `TensorRT`
6116*b6fb3261SAndroid Build Coastguard Worker    *   [TensorRT 6.0](https://developer.nvidia.com/tensorrt#tensorrt-whats-new)
6117*b6fb3261SAndroid Build Coastguard Worker        is now supported and enabled by default. This adds support for more
6118*b6fb3261SAndroid Build Coastguard Worker        TensorFlow ops including Conv3D, Conv3DBackpropInputV2, AvgPool3D,
6119*b6fb3261SAndroid Build Coastguard Worker        MaxPool3D, ResizeBilinear, and ResizeNearestNeighbor. In addition, the
6120*b6fb3261SAndroid Build Coastguard Worker        TensorFlow-TensorRT python conversion API is exported as
6121*b6fb3261SAndroid Build Coastguard Worker        `tf.experimental.tensorrt.Converter`.
6122*b6fb3261SAndroid Build Coastguard Worker*   Environment variable `TF_DETERMINISTIC_OPS` has been added. When set to
6123*b6fb3261SAndroid Build Coastguard Worker    "true" or "1", this environment variable makes `tf.nn.bias_add` operate
6124*b6fb3261SAndroid Build Coastguard Worker    deterministically (i.e. reproducibly), but currently only when XLA JIT
6125*b6fb3261SAndroid Build Coastguard Worker    compilation is *not* enabled. Setting `TF_DETERMINISTIC_OPS` to "true" or
6126*b6fb3261SAndroid Build Coastguard Worker    "1" also makes cuDNN convolution and max-pooling operate deterministically.
6127*b6fb3261SAndroid Build Coastguard Worker    This makes Keras Conv\*D and MaxPool\*D layers operate deterministically in
6128*b6fb3261SAndroid Build Coastguard Worker    both the forward and backward directions when running on a CUDA-enabled GPU.
6129*b6fb3261SAndroid Build Coastguard Worker
6130*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes
6131*b6fb3261SAndroid Build Coastguard Worker
6132*b6fb3261SAndroid Build Coastguard Worker*   Deletes `Operation.traceback_with_start_lines` for which we know of no
6133*b6fb3261SAndroid Build Coastguard Worker    usages.
6134*b6fb3261SAndroid Build Coastguard Worker*   Removed `id` from `tf.Tensor.__repr__()` as `id` is not useful other than
6135*b6fb3261SAndroid Build Coastguard Worker    internal debugging.
6136*b6fb3261SAndroid Build Coastguard Worker*   Some `tf.assert_*` methods now raise assertions at operation creation time
6137*b6fb3261SAndroid Build Coastguard Worker    if the input tensors' values are known at that time, not during the
6138*b6fb3261SAndroid Build Coastguard Worker    `session.run()`. This only changes behavior when the graph execution would
6139*b6fb3261SAndroid Build Coastguard Worker    have resulted in an error. When this happens, a noop is returned and the
6140*b6fb3261SAndroid Build Coastguard Worker    input tensors are marked non-feedable. In other words, if they are used as
6141*b6fb3261SAndroid Build Coastguard Worker    keys in `feed_dict` argument to `session.run()`, an error will be raised.
6142*b6fb3261SAndroid Build Coastguard Worker    Also, because some assert ops don't make it into the graph, the graph
6143*b6fb3261SAndroid Build Coastguard Worker    structure changes. A different graph can result in different per-op random
6144*b6fb3261SAndroid Build Coastguard Worker    seeds when they are not given explicitly (most often).
6145*b6fb3261SAndroid Build Coastguard Worker*   The following APIs are not longer experimental:
6146*b6fb3261SAndroid Build Coastguard Worker    `tf.config.list_logical_devices`, `tf.config.list_physical_devices`,
6147*b6fb3261SAndroid Build Coastguard Worker    `tf.config.get_visible_devices`, `tf.config.set_visible_devices`,
6148*b6fb3261SAndroid Build Coastguard Worker    `tf.config.get_logical_device_configuration`,
6149*b6fb3261SAndroid Build Coastguard Worker    `tf.config.set_logical_device_configuration`.
6150*b6fb3261SAndroid Build Coastguard Worker*   `tf.config.experimentalVirtualDeviceConfiguration` has been renamed to
6151*b6fb3261SAndroid Build Coastguard Worker    `tf.config.LogicalDeviceConfiguration`.
6152*b6fb3261SAndroid Build Coastguard Worker*   `tf.config.experimental_list_devices` has been removed, please use
6153*b6fb3261SAndroid Build Coastguard Worker    `tf.config.list_logical_devices`.
6154*b6fb3261SAndroid Build Coastguard Worker
6155*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
6156*b6fb3261SAndroid Build Coastguard Worker
6157*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`
6158*b6fb3261SAndroid Build Coastguard Worker    *   Fixes concurrency issue with `tf.data.experimental.parallel_interleave`
6159*b6fb3261SAndroid Build Coastguard Worker        with `sloppy=True`.
6160*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.data.experimental.dense_to_ragged_batch()`.
6161*b6fb3261SAndroid Build Coastguard Worker    *   Extend `tf.data` parsing ops to support `RaggedTensors`.
6162*b6fb3261SAndroid Build Coastguard Worker*   `tf.distribute`
6163*b6fb3261SAndroid Build Coastguard Worker    *   Fix issue where GRU would crash or give incorrect output when a
6164*b6fb3261SAndroid Build Coastguard Worker        `tf.distribute.Strategy` was used.
6165*b6fb3261SAndroid Build Coastguard Worker*   `tf.estimator`
6166*b6fb3261SAndroid Build Coastguard Worker    *   Added option in `tf.estimator.CheckpointSaverHook` to not save the
6167*b6fb3261SAndroid Build Coastguard Worker        `GraphDef`.
6168*b6fb3261SAndroid Build Coastguard Worker    *   Moving the checkpoint reader from swig to pybind11.
6169*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`
6170*b6fb3261SAndroid Build Coastguard Worker    *   Export `depthwise_conv2d` in `tf.keras.backend`.
6171*b6fb3261SAndroid Build Coastguard Worker    *   In Keras Layers and Models, Variables in `trainable_weights`,
6172*b6fb3261SAndroid Build Coastguard Worker        `non_trainable_weights`, and `weights` are explicitly deduplicated.
6173*b6fb3261SAndroid Build Coastguard Worker    *   Keras `model.load_weights` now accepts `skip_mismatch` as an argument.
6174*b6fb3261SAndroid Build Coastguard Worker        This was available in external Keras, and has now been copied over to
6175*b6fb3261SAndroid Build Coastguard Worker        `tf.keras`.
6176*b6fb3261SAndroid Build Coastguard Worker    *   Fix the input shape caching behavior of Keras convolutional layers.
6177*b6fb3261SAndroid Build Coastguard Worker    *   `Model.fit_generator`, `Model.evaluate_generator`,
6178*b6fb3261SAndroid Build Coastguard Worker        `Model.predict_generator`, `Model.train_on_batch`,
6179*b6fb3261SAndroid Build Coastguard Worker        `Model.test_on_batch`, and `Model.predict_on_batch` methods now respect
6180*b6fb3261SAndroid Build Coastguard Worker        the `run_eagerly` property, and will correctly run using `tf.function`
6181*b6fb3261SAndroid Build Coastguard Worker        by default. Note that `Model.fit_generator`, `Model.evaluate_generator`,
6182*b6fb3261SAndroid Build Coastguard Worker        and `Model.predict_generator` are deprecated endpoints. They are
6183*b6fb3261SAndroid Build Coastguard Worker        subsumed by `Model.fit`, `Model.evaluate`, and `Model.predict` which now
6184*b6fb3261SAndroid Build Coastguard Worker        support generators and Sequences.
6185*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`
6186*b6fb3261SAndroid Build Coastguard Worker    *   Legalization for `NMS` ops in TFLite.
6187*b6fb3261SAndroid Build Coastguard Worker    *   add `narrow_range` and `axis` to `quantize_v2` and `dequantize` ops.
6188*b6fb3261SAndroid Build Coastguard Worker    *   Added support for `FusedBatchNormV3` in converter.
6189*b6fb3261SAndroid Build Coastguard Worker    *   Add an `errno`-like field to `NNAPI` delegate for detecting `NNAPI`
6190*b6fb3261SAndroid Build Coastguard Worker        errors for fallback behaviour.
6191*b6fb3261SAndroid Build Coastguard Worker    *   Refactors `NNAPI` Delegate to support detailed reason why an operation
6192*b6fb3261SAndroid Build Coastguard Worker        is not accelerated.
6193*b6fb3261SAndroid Build Coastguard Worker    *   Converts hardswish subgraphs into atomic ops.
6194*b6fb3261SAndroid Build Coastguard Worker*   Other
6195*b6fb3261SAndroid Build Coastguard Worker    *   Critical stability updates for TPUs, especially in cases where the XLA
6196*b6fb3261SAndroid Build Coastguard Worker        compiler produces compilation errors.
6197*b6fb3261SAndroid Build Coastguard Worker    *   TPUs can now be re-initialized multiple times, using
6198*b6fb3261SAndroid Build Coastguard Worker        `tf.tpu.experimental.initialize_tpu_system`.
6199*b6fb3261SAndroid Build Coastguard Worker    *   Add `RaggedTensor.merge_dims()`.
6200*b6fb3261SAndroid Build Coastguard Worker    *   Added new `uniform_row_length` row-partitioning tensor to
6201*b6fb3261SAndroid Build Coastguard Worker        `RaggedTensor`.
6202*b6fb3261SAndroid Build Coastguard Worker    *   Add `shape` arg to `RaggedTensor.to_tensor`; Improve speed of
6203*b6fb3261SAndroid Build Coastguard Worker        `RaggedTensor.to_tensor`.
6204*b6fb3261SAndroid Build Coastguard Worker    *   `tf.io.parse_sequence_example` and `tf.io.parse_single_sequence_example`
6205*b6fb3261SAndroid Build Coastguard Worker        now support ragged features.
6206*b6fb3261SAndroid Build Coastguard Worker    *   Fix `while_v2` with variables in custom gradient.
6207*b6fb3261SAndroid Build Coastguard Worker    *   Support taking gradients of V2 `tf.cond` and `tf.while_loop` using
6208*b6fb3261SAndroid Build Coastguard Worker        `LookupTable`.
6209*b6fb3261SAndroid Build Coastguard Worker    *   Fix bug where `vectorized_map` failed on inputs with unknown static
6210*b6fb3261SAndroid Build Coastguard Worker        shape.
6211*b6fb3261SAndroid Build Coastguard Worker    *   Add preliminary support for sparse CSR matrices.
6212*b6fb3261SAndroid Build Coastguard Worker    *   Tensor equality with `None` now behaves as expected.
6213*b6fb3261SAndroid Build Coastguard Worker    *   Make calls to `tf.function(f)()`, `tf.function(f).get_concrete_function`
6214*b6fb3261SAndroid Build Coastguard Worker        and `tf.function(f).get_initialization_function` thread-safe.
6215*b6fb3261SAndroid Build Coastguard Worker    *   Extend `tf.identity` to work with CompositeTensors (such as
6216*b6fb3261SAndroid Build Coastguard Worker        SparseTensor)
6217*b6fb3261SAndroid Build Coastguard Worker    *   Added more `dtypes` and zero-sized inputs to `Einsum` Op and improved
6218*b6fb3261SAndroid Build Coastguard Worker        its performance
6219*b6fb3261SAndroid Build Coastguard Worker    *   Enable multi-worker `NCCL` `all-reduce` inside functions executing
6220*b6fb3261SAndroid Build Coastguard Worker        eagerly.
6221*b6fb3261SAndroid Build Coastguard Worker    *   Added complex128 support to `RFFT`, `RFFT2D`, `RFFT3D`, `IRFFT`,
6222*b6fb3261SAndroid Build Coastguard Worker        `IRFFT2D`, and `IRFFT3D`.
6223*b6fb3261SAndroid Build Coastguard Worker    *   Add `pfor` converter for `SelfAdjointEigV2`.
6224*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.math.ndtri` and `tf.math.erfinv`.
6225*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.config.experimental.enable_mlir_bridge` to allow using MLIR
6226*b6fb3261SAndroid Build Coastguard Worker        compiler bridge in eager model.
6227*b6fb3261SAndroid Build Coastguard Worker    *   Added support for MatrixSolve on Cloud TPU / XLA.
6228*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.autodiff.ForwardAccumulator` for forward-mode autodiff
6229*b6fb3261SAndroid Build Coastguard Worker    *   Add `LinearOperatorPermutation`.
6230*b6fb3261SAndroid Build Coastguard Worker    *   A few performance optimizations on `tf.reduce_logsumexp`.
6231*b6fb3261SAndroid Build Coastguard Worker    *   Added multilabel handling to `AUC` metric
6232*b6fb3261SAndroid Build Coastguard Worker    *   Optimization on `zeros_like`.
6233*b6fb3261SAndroid Build Coastguard Worker    *   Dimension constructor now requires `None` or types with an `__index__`
6234*b6fb3261SAndroid Build Coastguard Worker        method.
6235*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.random.uniform` microbenchmark.
6236*b6fb3261SAndroid Build Coastguard Worker    *   Use `_protogen` suffix for proto library targets instead of
6237*b6fb3261SAndroid Build Coastguard Worker        `_cc_protogen` suffix.
6238*b6fb3261SAndroid Build Coastguard Worker    *   Moving the checkpoint reader from `swig` to `pybind11`.
6239*b6fb3261SAndroid Build Coastguard Worker    *   `tf.device` & `MirroredStrategy` now supports passing in a
6240*b6fb3261SAndroid Build Coastguard Worker        `tf.config.LogicalDevice`
6241*b6fb3261SAndroid Build Coastguard Worker    *   If you're building Tensorflow from source, consider using
6242*b6fb3261SAndroid Build Coastguard Worker        [bazelisk](https://github.com/bazelbuild/bazelisk) to automatically
6243*b6fb3261SAndroid Build Coastguard Worker        download and use the correct Bazel version. Bazelisk reads the
6244*b6fb3261SAndroid Build Coastguard Worker        `.bazelversion` file at the root of the project directory.
6245*b6fb3261SAndroid Build Coastguard Worker
6246*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
6247*b6fb3261SAndroid Build Coastguard Worker
6248*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
6249*b6fb3261SAndroid Build Coastguard Worker
6250*b6fb3261SAndroid Build Coastguard Worker8bitmp3, Aaron Ma, AbdüLhamit Yilmaz, Abhai Kollara, aflc, Ag Ramesh, Albert Z.
6251*b6fb3261SAndroid Build Coastguard WorkerGuo, Alex Torres, amoitra, Andrii Prymostka, angeliand, Anshuman Tripathy,
6252*b6fb3261SAndroid Build Coastguard WorkerAnthony Barbier, Anton Kachatkou, Anubh-V, Anuja Jakhade, Artem Ryabov, autoih,
6253*b6fb3261SAndroid Build Coastguard WorkerBairen Yi, Bas Aarts, Basit Ayantunde, Ben Barsdell, Bhavani Subramanian, Brett
6254*b6fb3261SAndroid Build Coastguard WorkerKoonce, candy.dc, Captain-Pool, caster, cathy, Chong Yan, Choong Yin Thong,
6255*b6fb3261SAndroid Build Coastguard WorkerClayne Robison, Colle, Dan Ganea, David Norman, David Refaeli, dengziming, Diego
6256*b6fb3261SAndroid Build Coastguard WorkerCaballero, Divyanshu, djshen, Douman, Duncan Riach, EFanZh, Elena Zhelezina,
6257*b6fb3261SAndroid Build Coastguard WorkerEric Schweitz, Evgenii Zheltonozhskii, Fei Hu, fo40225, Fred Reiss, Frederic
6258*b6fb3261SAndroid Build Coastguard WorkerBastien, Fredrik Knutsson, fsx950223, fwcore, George Grzegorz Pawelczak, George
6259*b6fb3261SAndroid Build Coastguard WorkerSterpu, Gian Marco Iodice, Giorgio Arena, giuros01, Gomathi Ramamurthy, Guozhong
6260*b6fb3261SAndroid Build Coastguard WorkerZhuang, Haifeng Jin, Haoyu Wu, HarikrishnanBalagopal, HJYOO, Huang Chen-Yi,
6261*b6fb3261SAndroid Build Coastguard WorkerIlham Firdausi Putra, Imran Salam, Jared Nielsen, Jason Zaman, Jasper Vicenti,
6262*b6fb3261SAndroid Build Coastguard WorkerJeff Daily, Jeff Poznanovic, Jens Elofsson, Jerry Shih, jerryyin, Jesper
6263*b6fb3261SAndroid Build Coastguard WorkerDramsch, jim.meyer, Jongwon Lee, Jun Wan, Junyuan Xie, Kaixi Hou, kamalkraj, Kan
6264*b6fb3261SAndroid Build Coastguard WorkerChen, Karthik Muthuraman, Keiji Ariyama, Kevin Rose, Kevin Wang, Koan-Sin Tan,
6265*b6fb3261SAndroid Build Coastguard Workerkstuedem, Kwabena W. Agyeman, Lakshay Tokas, latyas, Leslie-Fang-Intel, Li,
6266*b6fb3261SAndroid Build Coastguard WorkerGuizi, Luciano Resende, Lukas Folle, Lukas Geiger, Mahmoud Abuzaina, Manuel
6267*b6fb3261SAndroid Build Coastguard WorkerFreiberger, Mark Ryan, Martin Mlostek, Masaki Kozuki, Matthew Bentham, Matthew
6268*b6fb3261SAndroid Build Coastguard WorkerDenton, mbhuiyan, mdfaijul, Muhwan Kim, Nagy Mostafa, nammbash, Nathan Luehr,
6269*b6fb3261SAndroid Build Coastguard WorkerNathan Wells, Niranjan Hasabnis, Oleksii Volkovskyi, Olivier Moindrot, olramde,
6270*b6fb3261SAndroid Build Coastguard WorkerOuyang Jin, OverLordGoldDragon, Pallavi G, Paul Andrey, Paul Wais, pkanwar23,
6271*b6fb3261SAndroid Build Coastguard WorkerPooya Davoodi, Prabindh Sundareson, Rajeshwar Reddy T, Ralovich, Kristof,
6272*b6fb3261SAndroid Build Coastguard WorkerRefraction-Ray, Richard Barnes, richardbrks, Robert Herbig, Romeo Kienzler, Ryan
6273*b6fb3261SAndroid Build Coastguard WorkerMccormick, saishruthi, Saket Khandelwal, Sami Kama, Sana Damani, Satoshi Tanaka,
6274*b6fb3261SAndroid Build Coastguard WorkerSergey Mironov, Sergii Khomenko, Shahid, Shawn Presser, ShengYang1, Siddhartha
6275*b6fb3261SAndroid Build Coastguard WorkerBagaria, Simon Plovyt, skeydan, srinivasan.narayanamoorthy, Stephen Mugisha,
6276*b6fb3261SAndroid Build Coastguard Workersunway513, Takeshi Watanabe, Taylor Jakobson, TengLu, TheMindVirus, ThisIsIsaac,
6277*b6fb3261SAndroid Build Coastguard WorkerTim Gates, Timothy Liu, Tomer Gafner, Trent Lo, Trevor Hickey, Trevor Morris,
6278*b6fb3261SAndroid Build Coastguard Workervcarpani, Wei Wang, Wen-Heng (Jack) Chung, wenshuai, Wenshuai-Xiaomi, wenxizhu,
6279*b6fb3261SAndroid Build Coastguard Workerwilliam, William D. Irons, Xinan Jiang, Yannic, Yasir Modak, Yasuhiro Matsumoto,
6280*b6fb3261SAndroid Build Coastguard WorkerYong Tang, Yongfeng Gu, Youwei Song, Zaccharie Ramzi, Zhang, Zhenyu Guo, 王振华
6281*b6fb3261SAndroid Build Coastguard Worker(Zhenhua Wang), 韩董, 이중건 Isaac Lee
6282*b6fb3261SAndroid Build Coastguard Worker
6283*b6fb3261SAndroid Build Coastguard Worker# Release 1.15.0
6284*b6fb3261SAndroid Build Coastguard Worker
6285*b6fb3261SAndroid Build Coastguard WorkerThis is the last 1.x release for TensorFlow. We do not expect to update the 1.x
6286*b6fb3261SAndroid Build Coastguard Workerbranch with features, although we will issue patch releases to fix
6287*b6fb3261SAndroid Build Coastguard Workervulnerabilities for at least one year.
6288*b6fb3261SAndroid Build Coastguard Worker
6289*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
6290*b6fb3261SAndroid Build Coastguard Worker
6291*b6fb3261SAndroid Build Coastguard Worker*   As
6292*b6fb3261SAndroid Build Coastguard Worker    [announced](https://groups.google.com/a/tensorflow.org/forum/#!topic/developers/iRCt5m4qUz0),
6293*b6fb3261SAndroid Build Coastguard Worker    `tensorflow` pip package will by default include GPU support (same as
6294*b6fb3261SAndroid Build Coastguard Worker    `tensorflow-gpu` now) for the platforms we currently have GPU support (Linux
6295*b6fb3261SAndroid Build Coastguard Worker    and Windows). It will work on machines with and without Nvidia GPUs.
6296*b6fb3261SAndroid Build Coastguard Worker    `tensorflow-gpu` will still be available, and CPU-only packages can be
6297*b6fb3261SAndroid Build Coastguard Worker    downloaded at `tensorflow-cpu` for users who are concerned about package
6298*b6fb3261SAndroid Build Coastguard Worker    size.
6299*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow 1.15 contains a complete implementation of the 2.0 API in its
6300*b6fb3261SAndroid Build Coastguard Worker    `compat.v2` module. It contains a copy of the 1.15 main module (without
6301*b6fb3261SAndroid Build Coastguard Worker    `contrib`) in the `compat.v1` module. TensorFlow 1.15 is able to emulate 2.0
6302*b6fb3261SAndroid Build Coastguard Worker    behavior using the `enable_v2_behavior()` function. This enables writing
6303*b6fb3261SAndroid Build Coastguard Worker    forward compatible code: by explicitly importing either
6304*b6fb3261SAndroid Build Coastguard Worker    `tensorflow.compat.v1` or `tensorflow.compat.v2`, you can ensure that your
6305*b6fb3261SAndroid Build Coastguard Worker    code works without modifications against an installation of 1.15 or 2.0.
6306*b6fb3261SAndroid Build Coastguard Worker*   EagerTensor now supports numpy buffer interface for tensors.
6307*b6fb3261SAndroid Build Coastguard Worker*   Add toggles `tf.enable_control_flow_v2()` and `tf.disable_control_flow_v2()`
6308*b6fb3261SAndroid Build Coastguard Worker    for enabling/disabling v2 control flow.
6309*b6fb3261SAndroid Build Coastguard Worker*   Enable v2 control flow as part of `tf.enable_v2_behavior()` and
6310*b6fb3261SAndroid Build Coastguard Worker    `TF2_BEHAVIOR=1`.
6311*b6fb3261SAndroid Build Coastguard Worker*   AutoGraph translates Python control flow into TensorFlow expressions,
6312*b6fb3261SAndroid Build Coastguard Worker    allowing users to write regular Python inside `tf.function`-decorated
6313*b6fb3261SAndroid Build Coastguard Worker    functions. AutoGraph is also applied in functions used with `tf.data`,
6314*b6fb3261SAndroid Build Coastguard Worker    `tf.distribute` and `tf.keras` APIS.
6315*b6fb3261SAndroid Build Coastguard Worker*   Adds `enable_tensor_equality()`, which switches the behavior such that:
6316*b6fb3261SAndroid Build Coastguard Worker    *   Tensors are no longer hashable.
6317*b6fb3261SAndroid Build Coastguard Worker    *   Tensors can be compared with `==` and `!=`, yielding a Boolean Tensor
6318*b6fb3261SAndroid Build Coastguard Worker        with element-wise comparison results. This will be the default behavior
6319*b6fb3261SAndroid Build Coastguard Worker        in 2.0.
6320*b6fb3261SAndroid Build Coastguard Worker
6321*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes
6322*b6fb3261SAndroid Build Coastguard Worker
6323*b6fb3261SAndroid Build Coastguard Worker*   Tensorflow code now produces 2 different pip packages: `tensorflow_core`
6324*b6fb3261SAndroid Build Coastguard Worker    containing all the code (in the future it will contain only the private
6325*b6fb3261SAndroid Build Coastguard Worker    implementation) and `tensorflow` which is a virtual pip package doing
6326*b6fb3261SAndroid Build Coastguard Worker    forwarding to `tensorflow_core` (and in the future will contain only the
6327*b6fb3261SAndroid Build Coastguard Worker    public API of tensorflow). We don't expect this to be breaking, unless you
6328*b6fb3261SAndroid Build Coastguard Worker    were importing directly from the implementation.
6329*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow 1.15 is built using devtoolset7 (GCC7) on Ubuntu 16. This may
6330*b6fb3261SAndroid Build Coastguard Worker    lead to ABI incompatibilities with extensions built against earlier versions
6331*b6fb3261SAndroid Build Coastguard Worker    of TensorFlow.
6332*b6fb3261SAndroid Build Coastguard Worker*   Deprecated the use of `constraint=` and `.constraint` with ResourceVariable.
6333*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
6334*b6fb3261SAndroid Build Coastguard Worker    *   `OMP_NUM_THREADS` is no longer used by the default Keras config. To
6335*b6fb3261SAndroid Build Coastguard Worker        configure the number of threads, use `tf.config.threading` APIs.
6336*b6fb3261SAndroid Build Coastguard Worker    *   `tf.keras.model.save_model` and `model.save` now defaults to saving a
6337*b6fb3261SAndroid Build Coastguard Worker        TensorFlow SavedModel.
6338*b6fb3261SAndroid Build Coastguard Worker    *   `keras.backend.resize_images` (and consequently,
6339*b6fb3261SAndroid Build Coastguard Worker        `keras.layers.Upsampling2D`) behavior has changed, a bug in the resizing
6340*b6fb3261SAndroid Build Coastguard Worker        implementation was fixed.
6341*b6fb3261SAndroid Build Coastguard Worker    *   Layers now default to `float32`, and automatically cast their inputs to
6342*b6fb3261SAndroid Build Coastguard Worker        the layer's dtype. If you had a model that used `float64`, it will
6343*b6fb3261SAndroid Build Coastguard Worker        probably silently use `float32` in TensorFlow2, and a warning will be
6344*b6fb3261SAndroid Build Coastguard Worker        issued that starts with Layer "layer-name" is casting an input tensor
6345*b6fb3261SAndroid Build Coastguard Worker        from dtype float64 to the layer's dtype of float32. To fix, either set
6346*b6fb3261SAndroid Build Coastguard Worker        the default dtype to float64 with
6347*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.backend.set_floatx('float64')`, or pass `dtype='float64'` to
6348*b6fb3261SAndroid Build Coastguard Worker        each of the Layer constructors. See `tf.keras.layers.Layer` for more
6349*b6fb3261SAndroid Build Coastguard Worker        information.
6350*b6fb3261SAndroid Build Coastguard Worker    *   Some `tf.assert_*` methods now raise assertions at operation creation
6351*b6fb3261SAndroid Build Coastguard Worker        time (i.e. when this Python line executes) if the input tensors' values
6352*b6fb3261SAndroid Build Coastguard Worker        are known at that time, not during the session.run(). When this happens,
6353*b6fb3261SAndroid Build Coastguard Worker        a noop is returned and the input tensors are marked non-feedable. In
6354*b6fb3261SAndroid Build Coastguard Worker        other words, if they are used as keys in `feed_dict` argument to
6355*b6fb3261SAndroid Build Coastguard Worker        `session.run()`, an error will be raised. Also, because some assert ops
6356*b6fb3261SAndroid Build Coastguard Worker        don't make it into the graph, the graph structure changes. A different
6357*b6fb3261SAndroid Build Coastguard Worker        graph can result in different per-op random seeds when they are not
6358*b6fb3261SAndroid Build Coastguard Worker        given explicitly (most often).
6359*b6fb3261SAndroid Build Coastguard Worker
6360*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
6361*b6fb3261SAndroid Build Coastguard Worker
6362*b6fb3261SAndroid Build Coastguard Worker*   `tf.estimator`:
6363*b6fb3261SAndroid Build Coastguard Worker    *   `tf.keras.estimator.model_to_estimator` now supports exporting to
6364*b6fb3261SAndroid Build Coastguard Worker        `tf.train.Checkpoint` format, which allows the saved checkpoints to be
6365*b6fb3261SAndroid Build Coastguard Worker        compatible with `model.load_weights`.
6366*b6fb3261SAndroid Build Coastguard Worker    *   Fix tests in canned estimators.
6367*b6fb3261SAndroid Build Coastguard Worker    *   Expose Head as public API.
6368*b6fb3261SAndroid Build Coastguard Worker    *   Fixes critical bugs that help with `DenseFeatures` usability in TF2
6369*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`:
6370*b6fb3261SAndroid Build Coastguard Worker    *   Promoting `unbatch` from experimental to core API.
6371*b6fb3261SAndroid Build Coastguard Worker    *   Adding support for datasets as inputs to `from_tensors` and
6372*b6fb3261SAndroid Build Coastguard Worker        `from_tensor_slices` and batching and unbatching of nested datasets.
6373*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
6374*b6fb3261SAndroid Build Coastguard Worker    *   `tf.keras.estimator.model_to_estimator` now supports exporting to
6375*b6fb3261SAndroid Build Coastguard Worker        tf.train.Checkpoint format, which allows the saved checkpoints to be
6376*b6fb3261SAndroid Build Coastguard Worker        compatible with `model.load_weights`.
6377*b6fb3261SAndroid Build Coastguard Worker    *   Saving a Keras Model using `tf.saved_model.save` now saves the list of
6378*b6fb3261SAndroid Build Coastguard Worker        variables, trainable variables, regularization losses, and the call
6379*b6fb3261SAndroid Build Coastguard Worker        function.
6380*b6fb3261SAndroid Build Coastguard Worker    *   Deprecated `tf.keras.experimental.export_saved_model` and
6381*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.experimental.function`. Please use
6382*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.models.save_model(..., save_format='tf')` and
6383*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.models.load_model` instead.
6384*b6fb3261SAndroid Build Coastguard Worker    *   Add an `implementation=3` mode for `tf.keras.layers.LocallyConnected2D`
6385*b6fb3261SAndroid Build Coastguard Worker        and `tf.keras.layers.LocallyConnected1D` layers using `tf.SparseTensor`
6386*b6fb3261SAndroid Build Coastguard Worker        to store weights, allowing a dramatic speedup for large sparse models.
6387*b6fb3261SAndroid Build Coastguard Worker    *   Enable the Keras compile API `experimental_run_tf_function` flag by
6388*b6fb3261SAndroid Build Coastguard Worker        default. This flag enables single training/eval/predict execution path.
6389*b6fb3261SAndroid Build Coastguard Worker        With this 1. All input types are converted to `Dataset`. 2. When
6390*b6fb3261SAndroid Build Coastguard Worker        distribution strategy is not specified this goes through the no-op
6391*b6fb3261SAndroid Build Coastguard Worker        distribution strategy path. 3. Execution is wrapped in tf.function
6392*b6fb3261SAndroid Build Coastguard Worker        unless `run_eagerly=True` is set in compile.
6393*b6fb3261SAndroid Build Coastguard Worker    *   Raise error if `batch_size` argument is used when input is
6394*b6fb3261SAndroid Build Coastguard Worker        dataset/generator/keras sequence.
6395*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`
6396*b6fb3261SAndroid Build Coastguard Worker    *   Add `GATHER` support to NN API delegate.
6397*b6fb3261SAndroid Build Coastguard Worker    *   tflite object detection script has a debug mode.
6398*b6fb3261SAndroid Build Coastguard Worker    *   Add delegate support for `QUANTIZE`.
6399*b6fb3261SAndroid Build Coastguard Worker    *   Added evaluation script for COCO minival.
6400*b6fb3261SAndroid Build Coastguard Worker    *   Add delegate support for `QUANTIZED_16BIT_LSTM`.
6401*b6fb3261SAndroid Build Coastguard Worker    *   Converts hardswish subgraphs into atomic ops.
6402*b6fb3261SAndroid Build Coastguard Worker*   Add support for defaulting the value of `cycle_length` argument of
6403*b6fb3261SAndroid Build Coastguard Worker    `tf.data.Dataset.interleave` to the number of schedulable CPU cores.
6404*b6fb3261SAndroid Build Coastguard Worker*   `parallel_for`: Add converter for `MatrixDiag`.
6405*b6fb3261SAndroid Build Coastguard Worker*   Add `narrow_range` attribute to `QuantizeAndDequantizeV2` and V3.
6406*b6fb3261SAndroid Build Coastguard Worker*   Added new op: `tf.strings.unsorted_segment_join`.
6407*b6fb3261SAndroid Build Coastguard Worker*   Add HW acceleration support for `topK_v2`.
6408*b6fb3261SAndroid Build Coastguard Worker*   Add new `TypeSpec` classes.
6409*b6fb3261SAndroid Build Coastguard Worker*   CloudBigtable version updated to v0.10.0.
6410*b6fb3261SAndroid Build Coastguard Worker*   Expose `Head` as public API.
6411*b6fb3261SAndroid Build Coastguard Worker*   Update docstring for gather to properly describe the non-empty `batch_dims`
6412*b6fb3261SAndroid Build Coastguard Worker    case.
6413*b6fb3261SAndroid Build Coastguard Worker*   Added `tf.sparse.from_dense` utility function.
6414*b6fb3261SAndroid Build Coastguard Worker*   Improved ragged tensor support in `TensorFlowTestCase`.
6415*b6fb3261SAndroid Build Coastguard Worker*   Makes the a-normal form transformation in Pyct configurable as to which
6416*b6fb3261SAndroid Build Coastguard Worker    nodes are converted to variables and which are not.
6417*b6fb3261SAndroid Build Coastguard Worker*   `ResizeInputTensor` now works for all delegates.
6418*b6fb3261SAndroid Build Coastguard Worker*   Add `EXPAND_DIMS` support to NN API delegate TEST: expand_dims_test
6419*b6fb3261SAndroid Build Coastguard Worker*   `tf.cond` emits a StatelessIf op if the branch functions are stateless and
6420*b6fb3261SAndroid Build Coastguard Worker    do not touch any resources.
6421*b6fb3261SAndroid Build Coastguard Worker*   `tf.cond`, `tf.while` and `if` and `while` in AutoGraph now accept a
6422*b6fb3261SAndroid Build Coastguard Worker    nonscalar predicate if has a single element. This does not affect non-V2
6423*b6fb3261SAndroid Build Coastguard Worker    control flow.
6424*b6fb3261SAndroid Build Coastguard Worker*   `tf.while_loop` emits a StatelessWhile op if the cond and body functions are
6425*b6fb3261SAndroid Build Coastguard Worker    stateless and do not touch any resources.
6426*b6fb3261SAndroid Build Coastguard Worker*   Refactors code in Quant8 LSTM support to reduce TFLite binary size.
6427*b6fb3261SAndroid Build Coastguard Worker*   Add support of local soft device placement for eager op.
6428*b6fb3261SAndroid Build Coastguard Worker*   Add HW acceleration support for `LogSoftMax`.
6429*b6fb3261SAndroid Build Coastguard Worker*   Added a function `nested_value_rowids` for ragged tensors.
6430*b6fb3261SAndroid Build Coastguard Worker*   Add guard to avoid acceleration of L2 Normalization with input rank != 4
6431*b6fb3261SAndroid Build Coastguard Worker*   Add `tf.math.cumulative_logsumexp operation`.
6432*b6fb3261SAndroid Build Coastguard Worker*   Add `tf.ragged.stack`.
6433*b6fb3261SAndroid Build Coastguard Worker*   Fix memory allocation problem when calling `AddNewInputConstantTensor`.
6434*b6fb3261SAndroid Build Coastguard Worker*   Delegate application failure leaves interpreter in valid state.
6435*b6fb3261SAndroid Build Coastguard Worker*   Add check for correct memory alignment to
6436*b6fb3261SAndroid Build Coastguard Worker    `MemoryAllocation::MemoryAllocation()`.
6437*b6fb3261SAndroid Build Coastguard Worker*   Extracts `NNAPIDelegateKernel` from nnapi_delegate.cc
6438*b6fb3261SAndroid Build Coastguard Worker*   Added support for `FusedBatchNormV3` in converter.
6439*b6fb3261SAndroid Build Coastguard Worker*   A ragged to dense op for directly calculating tensors.
6440*b6fb3261SAndroid Build Coastguard Worker*   Fix accidental quadratic graph construction cost in graph-mode
6441*b6fb3261SAndroid Build Coastguard Worker    `tf.gradients()`.
6442*b6fb3261SAndroid Build Coastguard Worker
6443*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
6444*b6fb3261SAndroid Build Coastguard Worker
6445*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
6446*b6fb3261SAndroid Build Coastguard Worker
6447*b6fb3261SAndroid Build Coastguard Workera6802739, Aaron Ma, Abdullah Selek, Abolfazl Shahbazi, Ag Ramesh, Albert Z. Guo,
6448*b6fb3261SAndroid Build Coastguard WorkerAlbin Joy, Alex Itkes, Alex Sergeev, Alexander Pivovarov, Alexey Romanov,
6449*b6fb3261SAndroid Build Coastguard Workeralhkad, Amit Srivastava, amoitra, Andrew Lihonosov, Andrii Prymostka, Anuj
6450*b6fb3261SAndroid Build Coastguard WorkerRawat, Astropeak, Ayush Agrawal, Bairen Yi, Bas Aarts, Bastian Eichenberger, Ben
6451*b6fb3261SAndroid Build Coastguard WorkerBarsdell, Benjamin Peterson, bhack, Bharat Raghunathan, Bhavani Subramanian,
6452*b6fb3261SAndroid Build Coastguard WorkerBryan Cutler, candy.dc, Cao Zongyan, Captain-Pool, Casper Da Costa-Luis, Chen
6453*b6fb3261SAndroid Build Coastguard WorkerGuoyin, Cheng Chang, chengchingwen, Chong Yan, Choong Yin Thong, Christopher
6454*b6fb3261SAndroid Build Coastguard WorkerYeh, Clayne Robison, Coady, Patrick, Dan Ganea, David Norman, Denis Khalikov,
6455*b6fb3261SAndroid Build Coastguard WorkerDeven Desai, Diego Caballero, Duncan Dean, Duncan Riach, Dwight J Lyle, Eamon
6456*b6fb3261SAndroid Build Coastguard WorkerIto-Fisher, eashtian3, EFanZh, ejot, Elroy Ashtian Jr, Eric Schweitz, Fangjun
6457*b6fb3261SAndroid Build Coastguard WorkerKuang, Fei Hu, fo40225, formath, Fred Reiss, Frederic Bastien, Fredrik Knutsson,
6458*b6fb3261SAndroid Build Coastguard WorkerG. Hussain Chinoy, Gabriel, gehring, George Grzegorz Pawelczak, Gianluca
6459*b6fb3261SAndroid Build Coastguard WorkerVarisco, Gleb Popov, Greg Peatfield, Guillaume Klein, Gurpreet Singh, Gustavo
6460*b6fb3261SAndroid Build Coastguard WorkerLima Chaves, haison, Haraldur TóMas HallgríMsson, HarikrishnanBalagopal, HåKon
6461*b6fb3261SAndroid Build Coastguard WorkerSandsmark, I-Hong, Ilham Firdausi Putra, Imran Salam, Jason Zaman, Jason
6462*b6fb3261SAndroid Build Coastguard WorkerZavaglia, jayhpark530, jefby, Jeff Daily, Jeffrey Poznanovic, Jekyll Lai, Jeroen
6463*b6fb3261SAndroid Build Coastguard WorkerBéDorf, Jerry Shih, jerryyin, jiakai, JiangXIAO, Joe Bowser, Joel Shapiro, Johan
6464*b6fb3261SAndroid Build Coastguard WorkerGunnarsson, Jojimon Varghese, Joon, Josh Beal, Julian Niedermeier, Jun Wan,
6465*b6fb3261SAndroid Build Coastguard WorkerJunqin Zhang, Junyuan Xie, Justin Tunis, Kaixi Hou, Karl Lessard, Karthik
6466*b6fb3261SAndroid Build Coastguard WorkerMuthuraman, Kbhute-Ibm, khanhlvg, Koock Yoon, kstuedem, Kyuwon Kim, Lakshay
6467*b6fb3261SAndroid Build Coastguard WorkerTokas, leike666666, leonard951, Leslie-Fang, Leslie-Fang-Intel, Li, Guizi, Lukas
6468*b6fb3261SAndroid Build Coastguard WorkerFolle, Lukas Geiger, Mahmoud Abuzaina, Manraj Singh Grover, Margaret
6469*b6fb3261SAndroid Build Coastguard WorkerMaynard-Reid, Mark Ryan, Matt Conley, Matthew Bentham, Matthew Denton, mbhuiyan,
6470*b6fb3261SAndroid Build Coastguard Workermdfaijul, Mei Jie, merturl, MichaelKonobeev, Michal W. Tarnowski, minds, mpppk,
6471*b6fb3261SAndroid Build Coastguard Workermusikisomorphie, Nagy Mostafa, Nayana Thorat, Neil, Niels Ole Salscheider,
6472*b6fb3261SAndroid Build Coastguard WorkerNiklas SilfverströM, Niranjan Hasabnis, ocjosen, olramde, Pariksheet Pinjari,
6473*b6fb3261SAndroid Build Coastguard WorkerPatrick J. Lopresti, Patrik Gustavsson, per1234, PeterLee, Phan Van Nguyen Duc,
6474*b6fb3261SAndroid Build Coastguard WorkerPhillip Kravtsov, Pooya Davoodi, Pranav Marathe, Putra Manggala, Qingqing Cao,
6475*b6fb3261SAndroid Build Coastguard WorkerRajeshwar Reddy T, Ramon ViñAs, Rasmus Diederichsen, Reuben Morais, richardbrks,
6476*b6fb3261SAndroid Build Coastguard Workerrobert, RonLek, Ryan Jiang, saishruthi, Saket Khandelwal, Saleem Abdulrasool,
6477*b6fb3261SAndroid Build Coastguard WorkerSami Kama, Sana-Damani, Sergii Khomenko, Severen Redwood, Shubham Goyal, Sigrid
6478*b6fb3261SAndroid Build Coastguard WorkerKeydana, Siju Samuel, sleighsoft, smilu97, Son Tran, Srini511,
6479*b6fb3261SAndroid Build Coastguard Workersrinivasan.narayanamoorthy, Sumesh Udayakumaran, Sungmann Cho, Tae-Hwan Jung,
6480*b6fb3261SAndroid Build Coastguard WorkerTaehoon Lee, Takeshi Watanabe, TengLu, terryky, TheMindVirus, ThisIsIsaac, Till
6481*b6fb3261SAndroid Build Coastguard WorkerHoffmann, Timothy Liu, Tomer Gafner, Tongxuan Liu, Trent Lo, Trevor Morris, Uday
6482*b6fb3261SAndroid Build Coastguard WorkerBondhugula, Vasileios Lioutas, vbvg2008, Vishnuvardhan Janapati, Vivek
6483*b6fb3261SAndroid Build Coastguard WorkerSuryamurthy, Wei Wang, Wen-Heng (Jack) Chung, wenxizhu, William D. Irons,
6484*b6fb3261SAndroid Build Coastguard Workerwinstonq, wyzhao, Xiaoming (Jason) Cui, Xinan Jiang, Xinping Wang, Yann-Yy,
6485*b6fb3261SAndroid Build Coastguard WorkerYasir Modak, Yong Tang, Yongfeng Gu, Yuchen Ying, Yuxin Wu, zyeric, 王振华 (Zhenhua
6486*b6fb3261SAndroid Build Coastguard WorkerWang)
6487*b6fb3261SAndroid Build Coastguard Worker
6488*b6fb3261SAndroid Build Coastguard Worker# Release 2.0.0
6489*b6fb3261SAndroid Build Coastguard Worker
6490*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
6491*b6fb3261SAndroid Build Coastguard Worker
6492*b6fb3261SAndroid Build Coastguard WorkerTensorFlow 2.0 focuses on **simplicity** and **ease of use**, featuring updates
6493*b6fb3261SAndroid Build Coastguard Workerlike:
6494*b6fb3261SAndroid Build Coastguard Worker
6495*b6fb3261SAndroid Build Coastguard Worker*   Easy model building with Keras and eager execution.
6496*b6fb3261SAndroid Build Coastguard Worker*   Robust model deployment in production on any platform.
6497*b6fb3261SAndroid Build Coastguard Worker*   Powerful experimentation for research.
6498*b6fb3261SAndroid Build Coastguard Worker*   API simplification by reducing duplication and removing deprecated
6499*b6fb3261SAndroid Build Coastguard Worker    endpoints.
6500*b6fb3261SAndroid Build Coastguard Worker
6501*b6fb3261SAndroid Build Coastguard WorkerFor details on best practices with 2.0, see
6502*b6fb3261SAndroid Build Coastguard Worker[the Effective 2.0 guide](https://www.tensorflow.org/beta/guide/effective_tf2)
6503*b6fb3261SAndroid Build Coastguard Worker
6504*b6fb3261SAndroid Build Coastguard WorkerFor information on upgrading your existing TensorFlow 1.x models, please refer
6505*b6fb3261SAndroid Build Coastguard Workerto our
6506*b6fb3261SAndroid Build Coastguard Worker[Upgrade](https://medium.com/tensorflow/upgrading-your-code-to-tensorflow-2-0-f72c3a4d83b5)
6507*b6fb3261SAndroid Build Coastguard Workerand [Migration](https://www.tensorflow.org/beta/guide/migration_guide) guides.
6508*b6fb3261SAndroid Build Coastguard WorkerWe have also released a collection of
6509*b6fb3261SAndroid Build Coastguard Worker[tutorials and getting started guides](https://www.tensorflow.org/beta).
6510*b6fb3261SAndroid Build Coastguard Worker
6511*b6fb3261SAndroid Build Coastguard Worker## Highlights
6512*b6fb3261SAndroid Build Coastguard Worker
6513*b6fb3261SAndroid Build Coastguard Worker*   TF 2.0 delivers Keras as the central high level API used to build and train
6514*b6fb3261SAndroid Build Coastguard Worker    models. Keras provides several model-building APIs such as Sequential,
6515*b6fb3261SAndroid Build Coastguard Worker    Functional, and Subclassing along with eager execution, for immediate
6516*b6fb3261SAndroid Build Coastguard Worker    iteration and intuitive debugging, and `tf.data`, for building scalable
6517*b6fb3261SAndroid Build Coastguard Worker    input pipelines. Checkout
6518*b6fb3261SAndroid Build Coastguard Worker    [guide](https://www.tensorflow.org/beta/guide/keras/overview) for additional
6519*b6fb3261SAndroid Build Coastguard Worker    details.
6520*b6fb3261SAndroid Build Coastguard Worker*   Distribution Strategy: TF 2.0 users will be able to use the
6521*b6fb3261SAndroid Build Coastguard Worker    [`tf.distribute.Strategy`](https://www.tensorflow.org/beta/guide/distribute_strategy)
6522*b6fb3261SAndroid Build Coastguard Worker    API to distribute training with minimal code changes, yielding great
6523*b6fb3261SAndroid Build Coastguard Worker    out-of-the-box performance. It supports distributed training with Keras
6524*b6fb3261SAndroid Build Coastguard Worker    model.fit, as well as with custom training loops. Multi-GPU support is
6525*b6fb3261SAndroid Build Coastguard Worker    available, along with experimental support for multi worker and Cloud TPUs.
6526*b6fb3261SAndroid Build Coastguard Worker    Check out the
6527*b6fb3261SAndroid Build Coastguard Worker    [guide](https://www.tensorflow.org/beta/guide/distribute_strategy) for more
6528*b6fb3261SAndroid Build Coastguard Worker    details.
6529*b6fb3261SAndroid Build Coastguard Worker*   Functions, not Sessions. The traditional declarative programming model of
6530*b6fb3261SAndroid Build Coastguard Worker    building a graph and executing it via a `tf.Session` is discouraged, and
6531*b6fb3261SAndroid Build Coastguard Worker    replaced with by writing regular Python functions. Using the `tf.function`
6532*b6fb3261SAndroid Build Coastguard Worker    decorator, such functions can be turned into graphs which can be executed
6533*b6fb3261SAndroid Build Coastguard Worker    remotely, serialized, and optimized for performance.
6534*b6fb3261SAndroid Build Coastguard Worker*   Unification of `tf.train.Optimizers` and `tf.keras.Optimizers`. Use
6535*b6fb3261SAndroid Build Coastguard Worker    `tf.keras.Optimizers` for TF2.0. `compute_gradients` is removed as public
6536*b6fb3261SAndroid Build Coastguard Worker    API, use `GradientTape` to compute gradients.
6537*b6fb3261SAndroid Build Coastguard Worker*   AutoGraph translates Python control flow into TensorFlow expressions,
6538*b6fb3261SAndroid Build Coastguard Worker    allowing users to write regular Python inside `tf.function`-decorated
6539*b6fb3261SAndroid Build Coastguard Worker    functions. AutoGraph is also applied in functions used with tf.data,
6540*b6fb3261SAndroid Build Coastguard Worker    tf.distribute and tf.keras APIs.
6541*b6fb3261SAndroid Build Coastguard Worker*   Unification of exchange formats to SavedModel. All TensorFlow ecosystem
6542*b6fb3261SAndroid Build Coastguard Worker    projects (TensorFlow Lite, TensorFlow JS, TensorFlow Serving, TensorFlow
6543*b6fb3261SAndroid Build Coastguard Worker    Hub) accept SavedModels. Model state should be saved to and restored from
6544*b6fb3261SAndroid Build Coastguard Worker    SavedModels.
6545*b6fb3261SAndroid Build Coastguard Worker*   API Changes: Many API symbols have been renamed or removed, and argument
6546*b6fb3261SAndroid Build Coastguard Worker    names have changed. Many of these changes are motivated by consistency and
6547*b6fb3261SAndroid Build Coastguard Worker    clarity. The 1.x API remains available in the compat.v1 module. A list of
6548*b6fb3261SAndroid Build Coastguard Worker    all symbol changes can be found
6549*b6fb3261SAndroid Build Coastguard Worker    [here](https://docs.google.com/spreadsheets/d/1FLFJLzg7WNP6JHODX5q8BDgptKafq_slHpnHVbJIteQ/edit#gid=0).
6550*b6fb3261SAndroid Build Coastguard Worker    *   API clean-up, included removing `tf.app`, `tf.flags`, and `tf.logging`
6551*b6fb3261SAndroid Build Coastguard Worker        in favor of [absl-py](https://github.com/abseil/abseil-py).
6552*b6fb3261SAndroid Build Coastguard Worker*   No more global variables with helper methods like
6553*b6fb3261SAndroid Build Coastguard Worker    `tf.global_variables_initializer` and `tf.get_global_step`.
6554*b6fb3261SAndroid Build Coastguard Worker*   Add toggles `tf.enable_control_flow_v2()` and `tf.disable_control_flow_v2()`
6555*b6fb3261SAndroid Build Coastguard Worker    for enabling/disabling v2 control flow.
6556*b6fb3261SAndroid Build Coastguard Worker*   Enable v2 control flow as part of `tf.enable_v2_behavior()` and
6557*b6fb3261SAndroid Build Coastguard Worker    `TF2_BEHAVIOR=1`.
6558*b6fb3261SAndroid Build Coastguard Worker*   Fixes autocomplete for most TensorFlow API references by switching to use
6559*b6fb3261SAndroid Build Coastguard Worker    relative imports in API `__init__.py` files.
6560*b6fb3261SAndroid Build Coastguard Worker*   Auto Mixed-Precision graph optimizer simplifies converting models to
6561*b6fb3261SAndroid Build Coastguard Worker    `float16` for acceleration on Volta and Turing Tensor Cores. This feature
6562*b6fb3261SAndroid Build Coastguard Worker    can be enabled by wrapping an optimizer class with
6563*b6fb3261SAndroid Build Coastguard Worker    `tf.train.experimental.enable_mixed_precision_graph_rewrite()`.
6564*b6fb3261SAndroid Build Coastguard Worker*   Add environment variable `TF_CUDNN_DETERMINISTIC`. Setting to "true" or "1"
6565*b6fb3261SAndroid Build Coastguard Worker    forces the selection of deterministic cuDNN convolution and max-pooling
6566*b6fb3261SAndroid Build Coastguard Worker    algorithms. When this is enabled, the algorithm selection procedure itself
6567*b6fb3261SAndroid Build Coastguard Worker    is also deterministic.
6568*b6fb3261SAndroid Build Coastguard Worker
6569*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes
6570*b6fb3261SAndroid Build Coastguard Worker
6571*b6fb3261SAndroid Build Coastguard Worker*   Many backwards incompatible API changes have been made to clean up the APIs
6572*b6fb3261SAndroid Build Coastguard Worker    and make them more consistent.
6573*b6fb3261SAndroid Build Coastguard Worker*   Toolchains:
6574*b6fb3261SAndroid Build Coastguard Worker
6575*b6fb3261SAndroid Build Coastguard Worker    *   TensorFlow 2.0.0 is built using devtoolset7 (GCC7) on Ubuntu 16. This
6576*b6fb3261SAndroid Build Coastguard Worker        may lead to ABI incompatibilities with extensions built against earlier
6577*b6fb3261SAndroid Build Coastguard Worker        versions of TensorFlow.
6578*b6fb3261SAndroid Build Coastguard Worker    *   Tensorflow code now produces 2 different pip packages: tensorflow_core
6579*b6fb3261SAndroid Build Coastguard Worker        containing all the code (in the future it will contain only the private
6580*b6fb3261SAndroid Build Coastguard Worker        implementation) and tensorflow which is a virtual pip package doing
6581*b6fb3261SAndroid Build Coastguard Worker        forwarding to tensorflow_core (and in the future will contain only the
6582*b6fb3261SAndroid Build Coastguard Worker        public API of tensorflow). We don't expect this to be breaking, unless
6583*b6fb3261SAndroid Build Coastguard Worker        you were importing directly from the implementation. Removed the
6584*b6fb3261SAndroid Build Coastguard Worker        `freeze_graph` command line tool; `SavedModel` should be used in place
6585*b6fb3261SAndroid Build Coastguard Worker        of frozen graphs.
6586*b6fb3261SAndroid Build Coastguard Worker
6587*b6fb3261SAndroid Build Coastguard Worker*   `tf.contrib`:
6588*b6fb3261SAndroid Build Coastguard Worker
6589*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib` has been deprecated, and functionality has been either
6590*b6fb3261SAndroid Build Coastguard Worker        migrated to the core TensorFlow API, to an ecosystem project such as
6591*b6fb3261SAndroid Build Coastguard Worker        [tensorflow/addons](https://www.github.com/tensorflow/addons) or
6592*b6fb3261SAndroid Build Coastguard Worker        [tensorflow/io](https://www.github.com/tensorflow/io), or removed
6593*b6fb3261SAndroid Build Coastguard Worker        entirely.
6594*b6fb3261SAndroid Build Coastguard Worker    *   Remove `tf.contrib.timeseries` dependency on TF distributions.
6595*b6fb3261SAndroid Build Coastguard Worker    *   Replace contrib references with `tf.estimator.experimental.*` for apis
6596*b6fb3261SAndroid Build Coastguard Worker        in `early_stopping.py`.
6597*b6fb3261SAndroid Build Coastguard Worker
6598*b6fb3261SAndroid Build Coastguard Worker*   `tf.estimator`:
6599*b6fb3261SAndroid Build Coastguard Worker
6600*b6fb3261SAndroid Build Coastguard Worker    *   Premade estimators in the tf.estimator.DNN/Linear/DNNLinearCombined
6601*b6fb3261SAndroid Build Coastguard Worker        family have been updated to use `tf.keras.optimizers` instead of the
6602*b6fb3261SAndroid Build Coastguard Worker        `tf.compat.v1.train.Optimizer`s. If you do not pass in an `optimizer=`
6603*b6fb3261SAndroid Build Coastguard Worker        arg or if you use a string, the premade estimator will use the Keras
6604*b6fb3261SAndroid Build Coastguard Worker        optimizer. This is checkpoint breaking, as the optimizers have separate
6605*b6fb3261SAndroid Build Coastguard Worker        variables. A checkpoint converter tool for converting optimizers is
6606*b6fb3261SAndroid Build Coastguard Worker        included with the release, but if you want to avoid any change, switch
6607*b6fb3261SAndroid Build Coastguard Worker        to the v1 version of the estimator:
6608*b6fb3261SAndroid Build Coastguard Worker        `tf.compat.v1.estimator.DNN/Linear/DNNLinearCombined*`.
6609*b6fb3261SAndroid Build Coastguard Worker    *   Default aggregation for canned Estimators is now `SUM_OVER_BATCH_SIZE`.
6610*b6fb3261SAndroid Build Coastguard Worker        To maintain previous default behavior, please pass `SUM` as the loss
6611*b6fb3261SAndroid Build Coastguard Worker        aggregation method.
6612*b6fb3261SAndroid Build Coastguard Worker    *   Canned Estimators don’t support `input_layer_partitioner` arg in the
6613*b6fb3261SAndroid Build Coastguard Worker        API. If you have this arg, you will have to switch to `tf.compat.v1
6614*b6fb3261SAndroid Build Coastguard Worker        canned Estimators`.
6615*b6fb3261SAndroid Build Coastguard Worker    *   `Estimator.export_savedmodel` has been renamed to `export_saved_model`.
6616*b6fb3261SAndroid Build Coastguard Worker    *   When saving to SavedModel, Estimators will strip default op attributes.
6617*b6fb3261SAndroid Build Coastguard Worker        This is almost always the correct behavior, as it is more forwards
6618*b6fb3261SAndroid Build Coastguard Worker        compatible, but if you require that default attributes to be saved with
6619*b6fb3261SAndroid Build Coastguard Worker        the model, please use `tf.compat.v1.Estimator`.
6620*b6fb3261SAndroid Build Coastguard Worker    *   Feature Columns have been upgraded to be more Eager-friendly and to work
6621*b6fb3261SAndroid Build Coastguard Worker        with Keras. As a result, `tf.feature_column.input_layer` has been
6622*b6fb3261SAndroid Build Coastguard Worker        deprecated in favor of `tf.keras.layers.DenseFeatures`. v1 feature
6623*b6fb3261SAndroid Build Coastguard Worker        columns have direct analogues in v2 except for
6624*b6fb3261SAndroid Build Coastguard Worker        `shared_embedding_columns`, which are not cross-compatible with v1 and
6625*b6fb3261SAndroid Build Coastguard Worker        v2. Use `tf.feature_column.shared_embeddings` instead.
6626*b6fb3261SAndroid Build Coastguard Worker
6627*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
6628*b6fb3261SAndroid Build Coastguard Worker
6629*b6fb3261SAndroid Build Coastguard Worker    *   `OMP_NUM_THREADS` is no longer used by the default Keras config. To
6630*b6fb3261SAndroid Build Coastguard Worker        configure the number of threads, use `tf.config.threading` APIs.
6631*b6fb3261SAndroid Build Coastguard Worker    *   `tf.keras.model.save_model` and `model.save` now defaults to saving a
6632*b6fb3261SAndroid Build Coastguard Worker        TensorFlow SavedModel. HDF5 files are still supported.
6633*b6fb3261SAndroid Build Coastguard Worker    *   Deprecated `tf.keras.experimental.export_saved_model` and
6634*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.experimental.function`. Please use
6635*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.models.save_model(..., save_format='tf')` and
6636*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.models.load_model` instead.
6637*b6fb3261SAndroid Build Coastguard Worker    *   Layers now default to float32, and automatically cast their inputs to
6638*b6fb3261SAndroid Build Coastguard Worker        the layer's dtype. If you had a model that used float64, it will
6639*b6fb3261SAndroid Build Coastguard Worker        probably silently use float32 in TensorFlow 2, and a warning will be
6640*b6fb3261SAndroid Build Coastguard Worker        issued that starts with `Layer <layer-name>` is casting an input tensor
6641*b6fb3261SAndroid Build Coastguard Worker        from dtype float64 to the layer's dtype of float32. To fix, either set
6642*b6fb3261SAndroid Build Coastguard Worker        the default dtype to float64 with
6643*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.backend.set_floatx('float64')`, or pass `dtype='float64'` to
6644*b6fb3261SAndroid Build Coastguard Worker        each of the Layer constructors. See `tf.keras.layers.Layer` for more
6645*b6fb3261SAndroid Build Coastguard Worker        information.
6646*b6fb3261SAndroid Build Coastguard Worker
6647*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`:
6648*b6fb3261SAndroid Build Coastguard Worker
6649*b6fb3261SAndroid Build Coastguard Worker    *   Removed `lite.OpHint`, `lite.experimental`, and `lite.constant` from 2.0
6650*b6fb3261SAndroid Build Coastguard Worker        API.
6651*b6fb3261SAndroid Build Coastguard Worker
6652*b6fb3261SAndroid Build Coastguard Worker*   Tensors are no longer hashable, but instead compare element-wise with `==`
6653*b6fb3261SAndroid Build Coastguard Worker    and `!=`. Use `tf.compat.v1.disable_tensor_equality()` to return to the
6654*b6fb3261SAndroid Build Coastguard Worker    previous behavior.
6655*b6fb3261SAndroid Build Coastguard Worker
6656*b6fb3261SAndroid Build Coastguard Worker*   Performing equality operations on Tensors or Variables with incompatible
6657*b6fb3261SAndroid Build Coastguard Worker    shapes an exception is no longer thrown. Instead `__eq__` returns False and
6658*b6fb3261SAndroid Build Coastguard Worker    `__ne__` returns True.
6659*b6fb3261SAndroid Build Coastguard Worker
6660*b6fb3261SAndroid Build Coastguard Worker*   Removed `tf.string_split` from v2 API.
6661*b6fb3261SAndroid Build Coastguard Worker
6662*b6fb3261SAndroid Build Coastguard Worker*   Deprecated the use of `constraint=` and `.constraint` with ResourceVariable.
6663*b6fb3261SAndroid Build Coastguard Worker
6664*b6fb3261SAndroid Build Coastguard Worker*   Add `UnifiedGRU` as the new GRU implementation for tf2.0. Change the default
6665*b6fb3261SAndroid Build Coastguard Worker    recurrent activation function for GRU from `hard_sigmoid` to `sigmoid`, and
6666*b6fb3261SAndroid Build Coastguard Worker    `reset_after` to True in 2.0. Historically recurrent activation is
6667*b6fb3261SAndroid Build Coastguard Worker    `hard_sigmoid` since it is fast than 'sigmoid'. With new unified backend
6668*b6fb3261SAndroid Build Coastguard Worker    between CPU and GPU mode, since the CuDNN kernel is using sigmoid, we change
6669*b6fb3261SAndroid Build Coastguard Worker    the default for CPU mode to sigmoid as well. With that, the default GRU will
6670*b6fb3261SAndroid Build Coastguard Worker    be compatible with both CPU and GPU kernel. This will enable user with GPU
6671*b6fb3261SAndroid Build Coastguard Worker    to use CuDNN kernel by default and get a 10x performance boost in training.
6672*b6fb3261SAndroid Build Coastguard Worker    Note that this is checkpoint breaking change. If user want to use their 1.x
6673*b6fb3261SAndroid Build Coastguard Worker    pre-trained checkpoint, please construct the layer with
6674*b6fb3261SAndroid Build Coastguard Worker    GRU(recurrent_activation='hard_sigmoid', reset_after=False) to fallback to
6675*b6fb3261SAndroid Build Coastguard Worker    1.x behavior.
6676*b6fb3261SAndroid Build Coastguard Worker
6677*b6fb3261SAndroid Build Coastguard Worker*   `CUDNN_INSTALL_PATH`, `TENSORRT_INSTALL_PATH`, `NCCL_INSTALL_PATH`,
6678*b6fb3261SAndroid Build Coastguard Worker    `NCCL_HDR_PATH` are deprecated. Use `TF_CUDA_PATHS` instead which supports a
6679*b6fb3261SAndroid Build Coastguard Worker    comma-separated list of base paths that are searched to find CUDA libraries
6680*b6fb3261SAndroid Build Coastguard Worker    and headers.
6681*b6fb3261SAndroid Build Coastguard Worker
6682*b6fb3261SAndroid Build Coastguard WorkerRefer to our
6683*b6fb3261SAndroid Build Coastguard Worker[public project status tracker](https://github.com/orgs/tensorflow/projects/4)
6684*b6fb3261SAndroid Build Coastguard Workerand
6685*b6fb3261SAndroid Build Coastguard Worker[issues tagged with `2.0`](https://github.com/tensorflow/tensorflow/issues?q=is%3Aopen+is%3Aissue+label%3A2.0)
6686*b6fb3261SAndroid Build Coastguard Workeron GitHub for insight into recent issues and development progress.
6687*b6fb3261SAndroid Build Coastguard Worker
6688*b6fb3261SAndroid Build Coastguard WorkerIf you experience any snags when using TF 2.0, please let us know at the
6689*b6fb3261SAndroid Build Coastguard Worker[TF 2.0 Testing User Group](https://groups.google.com/a/tensorflow.org/forum/?utm_medium=email&utm_source=footer#!forum/testing).
6690*b6fb3261SAndroid Build Coastguard WorkerWe have a support mailing list as well as weekly testing meetings, and would
6691*b6fb3261SAndroid Build Coastguard Workerlove to hear your migration feedback and questions.
6692*b6fb3261SAndroid Build Coastguard Worker
6693*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
6694*b6fb3261SAndroid Build Coastguard Worker
6695*b6fb3261SAndroid Build Coastguard Worker*   `tf.contrib`:
6696*b6fb3261SAndroid Build Coastguard Worker
6697*b6fb3261SAndroid Build Coastguard Worker    *   Expose `tf.contrib.proto.*` ops in `tf.io` (they will exist in TF2)
6698*b6fb3261SAndroid Build Coastguard Worker
6699*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`:
6700*b6fb3261SAndroid Build Coastguard Worker
6701*b6fb3261SAndroid Build Coastguard Worker    *   Add support for TensorArrays to `tf.data Dataset`.
6702*b6fb3261SAndroid Build Coastguard Worker    *   Integrate Ragged Tensors with `tf.data`.
6703*b6fb3261SAndroid Build Coastguard Worker    *   All core and experimental tf.data transformations that input
6704*b6fb3261SAndroid Build Coastguard Worker        user-defined functions can span multiple devices now.
6705*b6fb3261SAndroid Build Coastguard Worker    *   Extending the TF 2.0 support for `shuffle(...,
6706*b6fb3261SAndroid Build Coastguard Worker        reshuffle_each_iteration=True)` and `cache()` to work across different
6707*b6fb3261SAndroid Build Coastguard Worker        Python iterators for the same dataset.
6708*b6fb3261SAndroid Build Coastguard Worker    *   Removing the `experimental_numa_aware` option from `tf.data.Options`.
6709*b6fb3261SAndroid Build Coastguard Worker    *   Add `num_parallel_reads` and passing in a Dataset containing filenames
6710*b6fb3261SAndroid Build Coastguard Worker        into `TextLineDataset` and `FixedLengthRecordDataset`.
6711*b6fb3261SAndroid Build Coastguard Worker    *   Add support for defaulting the value of `cycle_length` argument of
6712*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Dataset.interleave` to the number of schedulable CPU cores.
6713*b6fb3261SAndroid Build Coastguard Worker    *   Promoting `tf.data.experimental.enumerate_dataset` to core as
6714*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Dataset.enumerate`.
6715*b6fb3261SAndroid Build Coastguard Worker    *   Promoting `tf.data.experimental.unbatch` to core as
6716*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Dataset.unbatch`.
6717*b6fb3261SAndroid Build Coastguard Worker    *   Adds option for introducing slack in the pipeline to reduce CPU
6718*b6fb3261SAndroid Build Coastguard Worker        contention, via `tf.data.Options().experimental_slack = True`
6719*b6fb3261SAndroid Build Coastguard Worker    *   Added experimental support for parallel batching to `batch()` and
6720*b6fb3261SAndroid Build Coastguard Worker        `padded_batch()`. This functionality can be enabled through
6721*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Options()`.
6722*b6fb3261SAndroid Build Coastguard Worker    *   Support cancellation of long-running `reduce`.
6723*b6fb3261SAndroid Build Coastguard Worker    *   Now we use `dataset` node name as prefix instead of the op name, to
6724*b6fb3261SAndroid Build Coastguard Worker        identify the component correctly in metrics, for pipelines with repeated
6725*b6fb3261SAndroid Build Coastguard Worker        components.
6726*b6fb3261SAndroid Build Coastguard Worker    *   Improve the performance of datasets using `from_tensors()`.
6727*b6fb3261SAndroid Build Coastguard Worker    *   Promoting `unbatch` from experimental to core API.
6728*b6fb3261SAndroid Build Coastguard Worker    *   Adding support for datasets as inputs to `from_tensors` and
6729*b6fb3261SAndroid Build Coastguard Worker        `from_tensor_slices` and batching and unbatching of nested datasets.
6730*b6fb3261SAndroid Build Coastguard Worker
6731*b6fb3261SAndroid Build Coastguard Worker*   `tf.distribute`:
6732*b6fb3261SAndroid Build Coastguard Worker
6733*b6fb3261SAndroid Build Coastguard Worker    *   Enable `tf.distribute.experimental.MultiWorkerMirroredStrategy` working
6734*b6fb3261SAndroid Build Coastguard Worker        in eager mode.
6735*b6fb3261SAndroid Build Coastguard Worker    *   Callbacks are supported in `MultiWorkerMirroredStrategy`.
6736*b6fb3261SAndroid Build Coastguard Worker    *   Disable `run_eagerly` and distribution strategy if there are symbolic
6737*b6fb3261SAndroid Build Coastguard Worker        tensors added to the model using `add_metric` or `add_loss`.
6738*b6fb3261SAndroid Build Coastguard Worker    *   Loss and gradients should now more reliably be correctly scaled w.r.t.
6739*b6fb3261SAndroid Build Coastguard Worker        the global batch size when using a `tf.distribute.Strategy`.
6740*b6fb3261SAndroid Build Coastguard Worker    *   Set default loss reduction as `AUTO` for improving reliability of loss
6741*b6fb3261SAndroid Build Coastguard Worker        scaling with distribution strategy and custom training loops. `AUTO`
6742*b6fb3261SAndroid Build Coastguard Worker        indicates that the reduction option will be determined by the usage
6743*b6fb3261SAndroid Build Coastguard Worker        context. For almost all cases this defaults to `SUM_OVER_BATCH_SIZE`.
6744*b6fb3261SAndroid Build Coastguard Worker        When used in distribution strategy scope, outside of built-in training
6745*b6fb3261SAndroid Build Coastguard Worker        loops such as `tf.keras` `compile` and `fit`, we expect reduction value
6746*b6fb3261SAndroid Build Coastguard Worker        to be 'None' or 'SUM'. Using other values will raise an error.
6747*b6fb3261SAndroid Build Coastguard Worker    *   Support for multi-host `ncclAllReduce` in Distribution Strategy.
6748*b6fb3261SAndroid Build Coastguard Worker
6749*b6fb3261SAndroid Build Coastguard Worker*   `tf.estimator`:
6750*b6fb3261SAndroid Build Coastguard Worker
6751*b6fb3261SAndroid Build Coastguard Worker    *   Replace `tf.contrib.estimator.add_metrics` with
6752*b6fb3261SAndroid Build Coastguard Worker        `tf.estimator.add_metrics`
6753*b6fb3261SAndroid Build Coastguard Worker    *   Use `tf.compat.v1.estimator.inputs` instead of `tf.estimator.inputs`
6754*b6fb3261SAndroid Build Coastguard Worker    *   Replace contrib references with `tf.estimator.experimental.*` for apis
6755*b6fb3261SAndroid Build Coastguard Worker        in early_s in Estimator
6756*b6fb3261SAndroid Build Coastguard Worker    *   Canned Estimators will now use keras optimizers by default. An error
6757*b6fb3261SAndroid Build Coastguard Worker        will be raised if tf.train.Optimizers are used, and you will have to
6758*b6fb3261SAndroid Build Coastguard Worker        switch to tf.keras.optimizers or tf.compat.v1 canned Estimators.
6759*b6fb3261SAndroid Build Coastguard Worker    *   A checkpoint converter for canned Estimators has been provided to
6760*b6fb3261SAndroid Build Coastguard Worker        transition canned Estimators that are warm started from
6761*b6fb3261SAndroid Build Coastguard Worker        `tf.train.Optimizers` to `tf.keras.optimizers`.
6762*b6fb3261SAndroid Build Coastguard Worker    *   Losses are scaled in canned estimator v2 and not in the optimizers
6763*b6fb3261SAndroid Build Coastguard Worker        anymore. If you are using Estimator + distribution strategy + optimikzer
6764*b6fb3261SAndroid Build Coastguard Worker        v1 then the behavior does not change. This implies that if you are using
6765*b6fb3261SAndroid Build Coastguard Worker        custom estimator with optimizer v2, you have to scale losses. We have
6766*b6fb3261SAndroid Build Coastguard Worker        new utilities to help scale losses `tf.nn.compute_average_loss`,
6767*b6fb3261SAndroid Build Coastguard Worker        `tf.nn.scale_regularization_loss`.
6768*b6fb3261SAndroid Build Coastguard Worker
6769*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
6770*b6fb3261SAndroid Build Coastguard Worker
6771*b6fb3261SAndroid Build Coastguard Worker    *   Premade models (including Linear and WideDeep) have been introduced for
6772*b6fb3261SAndroid Build Coastguard Worker        the purpose of replacing Premade estimators.
6773*b6fb3261SAndroid Build Coastguard Worker    *   Model saving changes
6774*b6fb3261SAndroid Build Coastguard Worker    *   `model.save` and `tf.saved_model.save` may now save to the TensorFlow
6775*b6fb3261SAndroid Build Coastguard Worker        SavedModel format. The model can be restored using
6776*b6fb3261SAndroid Build Coastguard Worker        `tf.keras.models.load_model`. HDF5 files are still supported, and may be
6777*b6fb3261SAndroid Build Coastguard Worker        used by specifying `save_format="h5"` when saving.
6778*b6fb3261SAndroid Build Coastguard Worker    *   Raw TensorFlow functions can now be used in conjunction with the Keras
6779*b6fb3261SAndroid Build Coastguard Worker        Functional API during model creation. This obviates the need for users
6780*b6fb3261SAndroid Build Coastguard Worker        to create Lambda layers in most cases when using the Functional API.
6781*b6fb3261SAndroid Build Coastguard Worker        Like Lambda layers, TensorFlow functions that result in Variable
6782*b6fb3261SAndroid Build Coastguard Worker        creation or assign ops are not supported.
6783*b6fb3261SAndroid Build Coastguard Worker    *   Add support for passing list of lists to the `metrics` argument in Keras
6784*b6fb3261SAndroid Build Coastguard Worker        `compile`.
6785*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.keras.layers.AbstractRNNCell` as the preferred implementation
6786*b6fb3261SAndroid Build Coastguard Worker        for RNN cells in TF v2. User can use it to implement RNN cells with
6787*b6fb3261SAndroid Build Coastguard Worker        custom behavior.
6788*b6fb3261SAndroid Build Coastguard Worker    *   Keras training and validation curves are shown on the same plot when
6789*b6fb3261SAndroid Build Coastguard Worker        using the TensorBoard callback.
6790*b6fb3261SAndroid Build Coastguard Worker    *   Switched Keras `fit/evaluate/predict` execution to use only a single
6791*b6fb3261SAndroid Build Coastguard Worker        unified path by default unless eager execution has been explicitly
6792*b6fb3261SAndroid Build Coastguard Worker        disabled, regardless of input type. This unified path places an
6793*b6fb3261SAndroid Build Coastguard Worker        eager-friendly training step inside of a `tf.function`. With this
6794*b6fb3261SAndroid Build Coastguard Worker    *   All input types are converted to `Dataset`.
6795*b6fb3261SAndroid Build Coastguard Worker    *   The path assumes there is always a distribution strategy. when
6796*b6fb3261SAndroid Build Coastguard Worker        distribution strategy is not specified the path uses a no-op
6797*b6fb3261SAndroid Build Coastguard Worker        distribution strategy.
6798*b6fb3261SAndroid Build Coastguard Worker    *   The training step is wrapped in `tf.function` unless `run_eagerly=True`
6799*b6fb3261SAndroid Build Coastguard Worker        is set in compile. The single path execution code does not yet support
6800*b6fb3261SAndroid Build Coastguard Worker        all use cases. We fallback to the existing v1 execution paths if your
6801*b6fb3261SAndroid Build Coastguard Worker        model contains the following:
6802*b6fb3261SAndroid Build Coastguard Worker        1.  `sample_weight_mode` in compile
6803*b6fb3261SAndroid Build Coastguard Worker        2.  `weighted_metrics` in compile
6804*b6fb3261SAndroid Build Coastguard Worker        3.  v1 optimizer
6805*b6fb3261SAndroid Build Coastguard Worker        4.  target tensors in compile If you are experiencing any issues because
6806*b6fb3261SAndroid Build Coastguard Worker            of this change, please inform us (file an issue) about your use case
6807*b6fb3261SAndroid Build Coastguard Worker            and you can unblock yourself by setting
6808*b6fb3261SAndroid Build Coastguard Worker            `experimental_run_tf_function=False` in compile meanwhile. We have
6809*b6fb3261SAndroid Build Coastguard Worker            seen couple of use cases where the model usage pattern is not as
6810*b6fb3261SAndroid Build Coastguard Worker            expected and would not work with this change.
6811*b6fb3261SAndroid Build Coastguard Worker    *   output tensors of one layer is used in the constructor of another.
6812*b6fb3261SAndroid Build Coastguard Worker    *   symbolic tensors outside the scope of the model are used in custom loss
6813*b6fb3261SAndroid Build Coastguard Worker        functions. The flag can be disabled for these cases and ideally the
6814*b6fb3261SAndroid Build Coastguard Worker        usage pattern will need to be fixed.
6815*b6fb3261SAndroid Build Coastguard Worker    *   Mark Keras `set_session` as `compat.v1` only.
6816*b6fb3261SAndroid Build Coastguard Worker    *   `tf.keras.estimator.model_to_estimator` now supports exporting to
6817*b6fb3261SAndroid Build Coastguard Worker        `tf.train.Checkpoint format`, which allows the saved checkpoints to be
6818*b6fb3261SAndroid Build Coastguard Worker        compatible with `model.load_weights`.
6819*b6fb3261SAndroid Build Coastguard Worker    *   `keras.backend.resize_images` (and consequently,
6820*b6fb3261SAndroid Build Coastguard Worker        `keras.layers.Upsampling2D`) behavior has changed, a bug in the resizing
6821*b6fb3261SAndroid Build Coastguard Worker        implementation was fixed.
6822*b6fb3261SAndroid Build Coastguard Worker    *   Add an `implementation=3` mode for `tf.keras.layers.LocallyConnected2D`
6823*b6fb3261SAndroid Build Coastguard Worker        and `tf.keras.layers.LocallyConnected1D` layers using `tf.SparseTensor`
6824*b6fb3261SAndroid Build Coastguard Worker        to store weights, allowing a dramatic speedup for large sparse models.
6825*b6fb3261SAndroid Build Coastguard Worker    *   Raise error if `batch_size` argument is used when input is
6826*b6fb3261SAndroid Build Coastguard Worker        dataset/generator/keras sequence.
6827*b6fb3261SAndroid Build Coastguard Worker    *   Update TF 2.0 `keras.backend.name_scope` to use TF 2.0 `name_scope`.
6828*b6fb3261SAndroid Build Coastguard Worker    *   Add v2 module aliases for losses, metrics, initializers and optimizers:
6829*b6fb3261SAndroid Build Coastguard Worker        `tf.losses = tf.keras.losses` & `tf.metrics = tf.keras.metrics` &
6830*b6fb3261SAndroid Build Coastguard Worker        `tf.initializers = tf.keras.initializers` & `tf.optimizers =
6831*b6fb3261SAndroid Build Coastguard Worker        tf.keras.optimizers`.
6832*b6fb3261SAndroid Build Coastguard Worker    *   Updates binary cross entropy logic in Keras when input is probabilities.
6833*b6fb3261SAndroid Build Coastguard Worker        Instead of converting probabilities to logits, we are using the cross
6834*b6fb3261SAndroid Build Coastguard Worker        entropy formula for probabilities.
6835*b6fb3261SAndroid Build Coastguard Worker    *   Added public APIs for `cumsum` and `cumprod` keras backend functions.
6836*b6fb3261SAndroid Build Coastguard Worker    *   Add support for temporal sample weight mode in subclassed models.
6837*b6fb3261SAndroid Build Coastguard Worker    *   Raise `ValueError` if an integer is passed to the training APIs.
6838*b6fb3261SAndroid Build Coastguard Worker    *   Added fault-tolerance support for training Keras model via `model.fit()`
6839*b6fb3261SAndroid Build Coastguard Worker        with `MultiWorkerMirroredStrategy`, tutorial available.
6840*b6fb3261SAndroid Build Coastguard Worker    *   Custom Callback tutorial is now available.
6841*b6fb3261SAndroid Build Coastguard Worker    *   To train with `tf.distribute`, Keras API is recommended over estimator.
6842*b6fb3261SAndroid Build Coastguard Worker    *   `steps_per_epoch` and `steps` arguments are supported with numpy arrays.
6843*b6fb3261SAndroid Build Coastguard Worker    *   New error message when unexpected keys are used in
6844*b6fb3261SAndroid Build Coastguard Worker        sample_weight/class_weight dictionaries
6845*b6fb3261SAndroid Build Coastguard Worker    *   Losses are scaled in Keras compile/fit and not in the optimizers
6846*b6fb3261SAndroid Build Coastguard Worker        anymore. If you are using custom training loop, we have new utilities to
6847*b6fb3261SAndroid Build Coastguard Worker        help scale losses `tf.nn.compute_average_loss`,
6848*b6fb3261SAndroid Build Coastguard Worker        `tf.nn.scale_regularization_loss`.
6849*b6fb3261SAndroid Build Coastguard Worker    *   `Layer` apply and add_variable APIs are deprecated.
6850*b6fb3261SAndroid Build Coastguard Worker    *   Added support for channels first data format in cross entropy losses
6851*b6fb3261SAndroid Build Coastguard Worker        with logits and support for tensors with unknown ranks.
6852*b6fb3261SAndroid Build Coastguard Worker    *   Error messages will be raised if `add_update`, `add_metric`, `add_loss`,
6853*b6fb3261SAndroid Build Coastguard Worker        activity regularizers are used inside of a control flow branch.
6854*b6fb3261SAndroid Build Coastguard Worker    *   New loss reduction types:
6855*b6fb3261SAndroid Build Coastguard Worker    *   `AUTO`: Indicates that the reduction option will be determined by the
6856*b6fb3261SAndroid Build Coastguard Worker        usage context. For almost all cases this defaults to
6857*b6fb3261SAndroid Build Coastguard Worker        `SUM_OVER_BATCH_SIZE`. When used with `tf.distribute.Strategy`, outside
6858*b6fb3261SAndroid Build Coastguard Worker        of built-in training loops such as `tf.keras` `compile` and `fit`, we
6859*b6fb3261SAndroid Build Coastguard Worker        expect reduction value to be `SUM` or `NONE`. Using `AUTO` in that case
6860*b6fb3261SAndroid Build Coastguard Worker        will raise an error.
6861*b6fb3261SAndroid Build Coastguard Worker    *   `NONE`: Weighted losses with one dimension reduced (axis=-1, or axis
6862*b6fb3261SAndroid Build Coastguard Worker        specified by loss function). When this reduction type used with built-in
6863*b6fb3261SAndroid Build Coastguard Worker        Keras training loops like `fit`/`evaluate`, the unreduced vector loss is
6864*b6fb3261SAndroid Build Coastguard Worker        passed to the optimizer but the reported loss will be a scalar value.
6865*b6fb3261SAndroid Build Coastguard Worker    *   `SUM`: Scalar sum of weighted losses. 4. `SUM_OVER_BATCH_SIZE`: Scalar
6866*b6fb3261SAndroid Build Coastguard Worker        `SUM` divided by number of elements in losses. This reduction type is
6867*b6fb3261SAndroid Build Coastguard Worker        not supported when used with `tf.distribute.Strategy` outside of
6868*b6fb3261SAndroid Build Coastguard Worker        built-in training loops like `tf.keras` `compile`/`fit`.
6869*b6fb3261SAndroid Build Coastguard Worker    *   Wraps losses passed to the `compile` API (strings and v1 losses) which
6870*b6fb3261SAndroid Build Coastguard Worker        are not instances of v2 `Loss` class in `LossWrapper` class. => All
6871*b6fb3261SAndroid Build Coastguard Worker        losses will now use `SUM_OVER_BATCH_SIZE` reduction as default.
6872*b6fb3261SAndroid Build Coastguard Worker    *   `model.add_loss(symbolic_tensor)` should work in ambient eager.
6873*b6fb3261SAndroid Build Coastguard Worker    *   Update metric name to always reflect what the user has given in compile.
6874*b6fb3261SAndroid Build Coastguard Worker        Affects following cases
6875*b6fb3261SAndroid Build Coastguard Worker    *   When name is given as 'accuracy'/'crossentropy'
6876*b6fb3261SAndroid Build Coastguard Worker    *   When an aliased function name is used eg. 'mse'
6877*b6fb3261SAndroid Build Coastguard Worker    *   Removing the `weighted` prefix from weighted metric names.
6878*b6fb3261SAndroid Build Coastguard Worker    *   Allow non-Tensors through v2 losses.
6879*b6fb3261SAndroid Build Coastguard Worker    *   Add v2 sparse categorical crossentropy metric.
6880*b6fb3261SAndroid Build Coastguard Worker    *   Add v2 APIs for `AUCCurve` and `AUCSummationMethod` enums.
6881*b6fb3261SAndroid Build Coastguard Worker    *   `add_update` can now be passed a zero-arg callable in order to support
6882*b6fb3261SAndroid Build Coastguard Worker        turning off the update when setting `trainable=False` on a Layer of a
6883*b6fb3261SAndroid Build Coastguard Worker        Model compiled with `run_eagerly=True`.
6884*b6fb3261SAndroid Build Coastguard Worker    *   Standardize the LayerNormalization API by replacing the args `norm_axis`
6885*b6fb3261SAndroid Build Coastguard Worker        and `params_axis` with `axis`.
6886*b6fb3261SAndroid Build Coastguard Worker    *   Fixed critical bugs that help with DenseFeatures usability in TF2
6887*b6fb3261SAndroid Build Coastguard Worker
6888*b6fb3261SAndroid Build Coastguard Worker*   `tf.lite`:
6889*b6fb3261SAndroid Build Coastguard Worker
6890*b6fb3261SAndroid Build Coastguard Worker    *   Added evaluation script for `COCO` minival
6891*b6fb3261SAndroid Build Coastguard Worker    *   Add delegate support for `QUANTIZE`.
6892*b6fb3261SAndroid Build Coastguard Worker    *   Add `GATHER` support to NN API delegate.
6893*b6fb3261SAndroid Build Coastguard Worker    *   Added support for TFLiteConverter Python API in 2.0. Contains functions
6894*b6fb3261SAndroid Build Coastguard Worker        from_saved_model, from_keras_file, and from_concrete_functions.
6895*b6fb3261SAndroid Build Coastguard Worker    *   Add `EXPAND_DIMS` support to NN API delegate TEST.
6896*b6fb3261SAndroid Build Coastguard Worker    *   Add `narrow_range` attribute to QuantizeAndDequantizeV2 and V3.
6897*b6fb3261SAndroid Build Coastguard Worker    *   Added support for `tflite_convert` command line tool in 2.0.
6898*b6fb3261SAndroid Build Coastguard Worker    *   Post-training quantization tool supports quantizing weights shared by
6899*b6fb3261SAndroid Build Coastguard Worker        multiple operations. The models made with versions of this tool will use
6900*b6fb3261SAndroid Build Coastguard Worker        INT8 types for weights and will only be executable interpreters from
6901*b6fb3261SAndroid Build Coastguard Worker        this version onwards.
6902*b6fb3261SAndroid Build Coastguard Worker    *   Post-training quantization tool supports fp16 weights and GPU delegate
6903*b6fb3261SAndroid Build Coastguard Worker        acceleration for fp16.
6904*b6fb3261SAndroid Build Coastguard Worker    *   Add delegate support for `QUANTIZED_16BIT_LSTM`.
6905*b6fb3261SAndroid Build Coastguard Worker    *   Extracts `NNAPIDelegateKernel` from nnapi_delegate.cc
6906*b6fb3261SAndroid Build Coastguard Worker
6907*b6fb3261SAndroid Build Coastguard Worker*   TensorRT
6908*b6fb3261SAndroid Build Coastguard Worker
6909*b6fb3261SAndroid Build Coastguard Worker    *   Add TensorFlow 2.0-compatible `TrtGraphConverterV2` API for TensorRT
6910*b6fb3261SAndroid Build Coastguard Worker        conversion. TensorRT initialization arguments are now passed wrapped in
6911*b6fb3261SAndroid Build Coastguard Worker        a named-tuple, `TrtConversionParams`, rather than as separate arguments
6912*b6fb3261SAndroid Build Coastguard Worker        as in `TrtGraphConverter`.
6913*b6fb3261SAndroid Build Coastguard Worker    *   Changed API to optimize TensorRT engines during graph optimization. This
6914*b6fb3261SAndroid Build Coastguard Worker        is now done by calling `converter.build()` where previously
6915*b6fb3261SAndroid Build Coastguard Worker        `is_dynamic_op=False` would be set.
6916*b6fb3261SAndroid Build Coastguard Worker    *   `converter.convert()` no longer returns a `tf.function`. Now the
6917*b6fb3261SAndroid Build Coastguard Worker        function must be accessed from the saved model.
6918*b6fb3261SAndroid Build Coastguard Worker    *   The `converter.calibrate()` method has been removed. To trigger
6919*b6fb3261SAndroid Build Coastguard Worker        calibration, a `calibration_input_fn` should be provided to
6920*b6fb3261SAndroid Build Coastguard Worker        `converter.convert()`.
6921*b6fb3261SAndroid Build Coastguard Worker
6922*b6fb3261SAndroid Build Coastguard Worker*   Other:
6923*b6fb3261SAndroid Build Coastguard Worker
6924*b6fb3261SAndroid Build Coastguard Worker    *   Fix accidental quadratic graph construction cost in graph-mode
6925*b6fb3261SAndroid Build Coastguard Worker        `tf.gradients()`.
6926*b6fb3261SAndroid Build Coastguard Worker    *   ResourceVariable's gather op supports batch dimensions.
6927*b6fb3261SAndroid Build Coastguard Worker    *   ResourceVariable support for `gather_nd`.
6928*b6fb3261SAndroid Build Coastguard Worker    *   `ResourceVariable` and `Variable` no longer accepts `constraint` in the
6929*b6fb3261SAndroid Build Coastguard Worker        constructor, nor expose it as a @property.
6930*b6fb3261SAndroid Build Coastguard Worker    *   Added gradient for `SparseToDense` op.
6931*b6fb3261SAndroid Build Coastguard Worker    *   Expose a flag that allows the number of threads to vary across Python
6932*b6fb3261SAndroid Build Coastguard Worker        benchmarks.
6933*b6fb3261SAndroid Build Coastguard Worker    *   `image.resize` in 2.0 now supports gradients for the new resize kernels.
6934*b6fb3261SAndroid Build Coastguard Worker    *   `image.resize` now considers proper pixel centers and has new kernels
6935*b6fb3261SAndroid Build Coastguard Worker        (incl. anti-aliasing).
6936*b6fb3261SAndroid Build Coastguard Worker    *   Renamed `tf.image` functions to remove duplicate "image" where it is
6937*b6fb3261SAndroid Build Coastguard Worker        redundant.
6938*b6fb3261SAndroid Build Coastguard Worker    *   Variadic reduce is supported on CPU Variadic reduce is supported on CPU
6939*b6fb3261SAndroid Build Coastguard Worker    *   Remove unused `StringViewVariantWrapper`.
6940*b6fb3261SAndroid Build Coastguard Worker    *   Delete unused `Fingerprint64Map` op registration
6941*b6fb3261SAndroid Build Coastguard Worker    *   Add broadcasting support to `tf.matmul`.
6942*b6fb3261SAndroid Build Coastguard Worker    *   Add C++ Gradient for `BatchMatMulV2`.
6943*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.math.cumulative_logsumexp` operation.
6944*b6fb3261SAndroid Build Coastguard Worker    *   Add ellipsis (...) support for `tf.einsum()`.
6945*b6fb3261SAndroid Build Coastguard Worker    *   Add expand_composites argument to all `nest.*` methods.
6946*b6fb3261SAndroid Build Coastguard Worker    *   Added `strings.byte_split`.
6947*b6fb3261SAndroid Build Coastguard Worker    *   Add a new "result_type" parameter to `tf.strings.split`.
6948*b6fb3261SAndroid Build Coastguard Worker    *   Add name argument to `tf.string_split` and `tf.strings_split`.
6949*b6fb3261SAndroid Build Coastguard Worker    *   Extend `tf.strings.split` to support inputs with any rank.
6950*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.random.binomial`.
6951*b6fb3261SAndroid Build Coastguard Worker    *   Added `key` and `skip` methods to `random.experimental.Generator`.
6952*b6fb3261SAndroid Build Coastguard Worker    *   Extend `tf.function` with basic support for CompositeTensors arguments
6953*b6fb3261SAndroid Build Coastguard Worker        (such as `SparseTensor` and `RaggedTensor`).
6954*b6fb3261SAndroid Build Coastguard Worker    *   `parallel_for.pfor`: add converters for Softmax, LogSoftmax, IsNaN, All,
6955*b6fb3261SAndroid Build Coastguard Worker        Any, and MatrixSetDiag.
6956*b6fb3261SAndroid Build Coastguard Worker    *   `parallel_for`: add converters for LowerTriangularSolve and Cholesky.
6957*b6fb3261SAndroid Build Coastguard Worker    *   `parallel_for`: add converters for `LogMatrixDeterminant` and
6958*b6fb3261SAndroid Build Coastguard Worker        `MatrixBandPart`.
6959*b6fb3261SAndroid Build Coastguard Worker    *   `parallel_for`: Add converter for `MatrixDiag`.
6960*b6fb3261SAndroid Build Coastguard Worker    *   `parallel_for`: Add converters for `OneHot`, `LowerBound`, `UpperBound`.
6961*b6fb3261SAndroid Build Coastguard Worker    *   `parallel_for`: add converter for `BroadcastTo`.
6962*b6fb3261SAndroid Build Coastguard Worker    *   Add `pfor` converter for `Squeeze`.
6963*b6fb3261SAndroid Build Coastguard Worker    *   Add `RaggedTensor.placeholder()`.
6964*b6fb3261SAndroid Build Coastguard Worker    *   Add ragged tensor support to `tf.squeeze`.
6965*b6fb3261SAndroid Build Coastguard Worker    *   Update RaggedTensors to support int32 row_splits.
6966*b6fb3261SAndroid Build Coastguard Worker    *   Allow `LinearOperator.solve` to take a `LinearOperator`.
6967*b6fb3261SAndroid Build Coastguard Worker    *   Allow all dtypes for `LinearOperatorCirculant`.
6968*b6fb3261SAndroid Build Coastguard Worker    *   Introduce MaxParallelism method
6969*b6fb3261SAndroid Build Coastguard Worker    *   Add `LinearOperatorHouseholder`.
6970*b6fb3261SAndroid Build Coastguard Worker    *   Adds Philox support to new stateful RNG's XLA path.
6971*b6fb3261SAndroid Build Coastguard Worker    *   Added `TensorSpec` support for CompositeTensors.
6972*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.linalg.tridiagonal_solve` op.
6973*b6fb3261SAndroid Build Coastguard Worker    *   Added partial_pivoting input parameter to `tf.linalg.tridiagonal_solve`.
6974*b6fb3261SAndroid Build Coastguard Worker    *   Added gradient to `tf.linalg.tridiagonal_solve`.
6975*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.linalg.tridiagonal_mul op`.
6976*b6fb3261SAndroid Build Coastguard Worker    *   Added GPU implementation of `tf.linalg.tridiagonal_matmul`.
6977*b6fb3261SAndroid Build Coastguard Worker    *   Added `LinearOperatorToeplitz`.
6978*b6fb3261SAndroid Build Coastguard Worker    *   Upgraded LIBXSMM to version 1.11.
6979*b6fb3261SAndroid Build Coastguard Worker    *   Uniform processing of quantized embeddings by Gather and EmbeddingLookup
6980*b6fb3261SAndroid Build Coastguard Worker        Ops.
6981*b6fb3261SAndroid Build Coastguard Worker    *   Correct a misstatement in the documentation of the sparse softmax cross
6982*b6fb3261SAndroid Build Coastguard Worker        entropy logit parameter.
6983*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.ragged.boolean_mask`.
6984*b6fb3261SAndroid Build Coastguard Worker    *   `tf.switch_case` added, which selects a branch_fn based on a
6985*b6fb3261SAndroid Build Coastguard Worker        branch_index.
6986*b6fb3261SAndroid Build Coastguard Worker    *   The C++ kernel of gather op supports batch dimensions.
6987*b6fb3261SAndroid Build Coastguard Worker    *   Fixed default value and documentation for `trainable` arg of
6988*b6fb3261SAndroid Build Coastguard Worker        tf.Variable.
6989*b6fb3261SAndroid Build Coastguard Worker    *   `EagerTensor` now supports numpy buffer interface for tensors.
6990*b6fb3261SAndroid Build Coastguard Worker    *   This change bumps the version number of the `FullyConnected` Op to 5.
6991*b6fb3261SAndroid Build Coastguard Worker    *   Added new op: `tf.strings.unsorted_segment_join`.
6992*b6fb3261SAndroid Build Coastguard Worker    *   Added HW acceleration support for `topK_v2`.
6993*b6fb3261SAndroid Build Coastguard Worker    *   CloudBigtable version updated to v0.10.0 BEGIN_PUBLIC CloudBigtable
6994*b6fb3261SAndroid Build Coastguard Worker        version updated to v0.10.0.
6995*b6fb3261SAndroid Build Coastguard Worker    *   Expose `Head` as public API.
6996*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.sparse.from_dense` utility function.
6997*b6fb3261SAndroid Build Coastguard Worker    *   Improved ragged tensor support in `TensorFlowTestCase`.
6998*b6fb3261SAndroid Build Coastguard Worker    *   Added a function `nested_value_rowids` for ragged tensors.
6999*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.ragged.stack`.
7000*b6fb3261SAndroid Build Coastguard Worker    *   Makes the a-normal form transformation in Pyct configurable as to which
7001*b6fb3261SAndroid Build Coastguard Worker        nodes are converted to variables and which are not.
7002*b6fb3261SAndroid Build Coastguard Worker    *   `ResizeInputTensor` now works for all delegates.
7003*b6fb3261SAndroid Build Coastguard Worker    *   `tf.cond` emits a StatelessIf op if the branch functions are stateless
7004*b6fb3261SAndroid Build Coastguard Worker        and do not touch any resources.
7005*b6fb3261SAndroid Build Coastguard Worker    *   Add support of local soft device placement for eager op.
7006*b6fb3261SAndroid Build Coastguard Worker    *   Pass partial_pivoting to the `_TridiagonalSolveGrad`.
7007*b6fb3261SAndroid Build Coastguard Worker    *   Add HW acceleration support for `LogSoftMax`.
7008*b6fb3261SAndroid Build Coastguard Worker    *   Add guard to avoid acceleration of L2 Normalization with input rank != 4
7009*b6fb3261SAndroid Build Coastguard Worker    *   Fix memory allocation problem when calling `AddNewInputConstantTensor`.
7010*b6fb3261SAndroid Build Coastguard Worker    *   Delegate application failure leaves interpreter in valid state
7011*b6fb3261SAndroid Build Coastguard Worker    *   `tf.while_loop` emits a StatelessWhile op if the cond and body functions
7012*b6fb3261SAndroid Build Coastguard Worker        are stateless and do not touch any resources.
7013*b6fb3261SAndroid Build Coastguard Worker    *   `tf.cond`, `tf.while` and if and while in AutoGraph now accept a
7014*b6fb3261SAndroid Build Coastguard Worker        nonscalar predicate if has a single element. This does not affect non-V2
7015*b6fb3261SAndroid Build Coastguard Worker        control flow.
7016*b6fb3261SAndroid Build Coastguard Worker    *   Fix potential security vulnerability where decoding variant tensors from
7017*b6fb3261SAndroid Build Coastguard Worker        proto could result in heap out of bounds memory access.
7018*b6fb3261SAndroid Build Coastguard Worker    *   Only create a GCS directory object if the object does not already exist.
7019*b6fb3261SAndroid Build Coastguard Worker    *   Introduce `dynamic` constructor argument in Layer and Model, which
7020*b6fb3261SAndroid Build Coastguard Worker        should be set to `True` when using imperative control flow in the `call`
7021*b6fb3261SAndroid Build Coastguard Worker        method.
7022*b6fb3261SAndroid Build Coastguard Worker    *   Begin adding Go wrapper for C Eager API.
7023*b6fb3261SAndroid Build Coastguard Worker    *   XLA HLO graphs can be inspected with interactive_graphviz tool now.
7024*b6fb3261SAndroid Build Coastguard Worker    *   Add dataset ops to the graph (or create kernels in Eager execution)
7025*b6fb3261SAndroid Build Coastguard Worker        during the python Dataset object creation instead doing it during
7026*b6fb3261SAndroid Build Coastguard Worker        Iterator creation time.
7027*b6fb3261SAndroid Build Coastguard Worker    *   Add `batch_dims` argument to `tf.gather`.
7028*b6fb3261SAndroid Build Coastguard Worker    *   The behavior of `tf.gather` is now correct when `axis=None` and
7029*b6fb3261SAndroid Build Coastguard Worker        `batch_dims<0`.
7030*b6fb3261SAndroid Build Coastguard Worker    *   Update docstring for gather to properly describe the non-empty
7031*b6fb3261SAndroid Build Coastguard Worker        `batch_dims` case.
7032*b6fb3261SAndroid Build Coastguard Worker    *   Removing of dtype in the constructor of initializers and partition_info
7033*b6fb3261SAndroid Build Coastguard Worker        in call.
7034*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.math.nextafter` op.
7035*b6fb3261SAndroid Build Coastguard Worker    *   Turn on MKL-DNN contraction kernels by default. MKL-DNN dynamically
7036*b6fb3261SAndroid Build Coastguard Worker        dispatches the best kernel implementation based on CPU vector
7037*b6fb3261SAndroid Build Coastguard Worker        architecture. To disable them, build with
7038*b6fb3261SAndroid Build Coastguard Worker        `--define=tensorflow_mkldnn_contraction_kernel=0`.
7039*b6fb3261SAndroid Build Coastguard Worker    *   `tf.linspace(start, stop, num)` now always uses "stop" as last value
7040*b6fb3261SAndroid Build Coastguard Worker        (for num > 1)
7041*b6fb3261SAndroid Build Coastguard Worker    *   Added top-k to precision and recall to keras metrics.
7042*b6fb3261SAndroid Build Coastguard Worker    *   Add a ragged size op and register it to the op dispatcher
7043*b6fb3261SAndroid Build Coastguard Worker    *   Transitive dependencies on :`pooling_ops` were removed. Some users may
7044*b6fb3261SAndroid Build Coastguard Worker        need to add explicit dependencies on :`pooling_ops` if they reference
7045*b6fb3261SAndroid Build Coastguard Worker        the operators from that library.
7046*b6fb3261SAndroid Build Coastguard Worker    *   Add `CompositeTensor` base class.
7047*b6fb3261SAndroid Build Coastguard Worker    *   Malformed gif images could result in an access out of bounds in the
7048*b6fb3261SAndroid Build Coastguard Worker        color palette of the frame. This has been fixed now
7049*b6fb3261SAndroid Build Coastguard Worker    *   Add templates and interfaces for creating lookup tables
7050*b6fb3261SAndroid Build Coastguard Worker    *   `Tensor::UnsafeCopyFromInternal` deprecated in favor
7051*b6fb3261SAndroid Build Coastguard Worker        `Tensor::BitcastFrom`.
7052*b6fb3261SAndroid Build Coastguard Worker    *   In `map_vectorization` optimization, reduce the degree of parallelism in
7053*b6fb3261SAndroid Build Coastguard Worker        the vectorized map node.
7054*b6fb3261SAndroid Build Coastguard Worker    *   Add variant wrapper for `absl::string_view`.
7055*b6fb3261SAndroid Build Coastguard Worker    *   Add OpKernels for some stateless maps.
7056*b6fb3261SAndroid Build Coastguard Worker    *   DType is no longer convertible to an int. Use `dtype.as_datatype_enum`
7057*b6fb3261SAndroid Build Coastguard Worker        instead of `int(dtype)` to get the same result.
7058*b6fb3261SAndroid Build Coastguard Worker    *   Support both binary and -1/1 label input in v2 hinge and squared hinge
7059*b6fb3261SAndroid Build Coastguard Worker        losses.
7060*b6fb3261SAndroid Build Coastguard Worker    *   Added `LinearOperator.adjoint` and `LinearOperator.H` (alias).
7061*b6fb3261SAndroid Build Coastguard Worker    *   Expose CriticalSection in core as `tf.CriticalSection`.
7062*b6fb3261SAndroid Build Coastguard Worker    *   Enhanced graphviz output.
7063*b6fb3261SAndroid Build Coastguard Worker    *   Add opkernel templates for common table operations.
7064*b6fb3261SAndroid Build Coastguard Worker    *   Fix callbacks do not log values in eager mode when a deferred build
7065*b6fb3261SAndroid Build Coastguard Worker        model is used.
7066*b6fb3261SAndroid Build Coastguard Worker    *   `SignatureDef` util functions have been deprecated.
7067*b6fb3261SAndroid Build Coastguard Worker    *   Update `Fingerprint64Map` to use aliases
7068*b6fb3261SAndroid Build Coastguard Worker    *   Add legacy string flat hash map op kernels.
7069*b6fb3261SAndroid Build Coastguard Worker    *   Add support for `add_metric` in the graph function mode.
7070*b6fb3261SAndroid Build Coastguard Worker    *   Updating cosine similarity loss - removed the negate sign from cosine
7071*b6fb3261SAndroid Build Coastguard Worker        similarity.
7072*b6fb3261SAndroid Build Coastguard Worker    *   Changed default for gradient accumulation for TPU embeddings to true.
7073*b6fb3261SAndroid Build Coastguard Worker    *   Adds summary trace API for collecting graph and profile information.
7074*b6fb3261SAndroid Build Coastguard Worker    *   The `precision_mode` argument to `TrtGraphConverter` is now case
7075*b6fb3261SAndroid Build Coastguard Worker        insensitive.
7076*b6fb3261SAndroid Build Coastguard Worker
7077*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
7078*b6fb3261SAndroid Build Coastguard Worker
7079*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
7080*b6fb3261SAndroid Build Coastguard Worker
7081*b6fb3261SAndroid Build Coastguard Worker1e100, a6802739, 4d55397500, a6802739, Abdullah Selek, abenmao, Abolfazl
7082*b6fb3261SAndroid Build Coastguard WorkerShahbazi, Adam Richter, Adam Weiss, Ag Ramesh, Alan Du, Albin Joy, Alex, Alex
7083*b6fb3261SAndroid Build Coastguard WorkerItkes, Alex Sergeev, Alexander Pivovarov, Alexey Romanov, alhkad, Aman Patel,
7084*b6fb3261SAndroid Build Coastguard WorkerAmit, Amit Kumar Jaiswal, Amit Srivastava, amoitra, Andreas Eberle, Andrew
7085*b6fb3261SAndroid Build Coastguard WorkerLihonosov, Andy Craze, Anshuman Tripathy, Anthony Hsu, Anthony Platanios, Anuj
7086*b6fb3261SAndroid Build Coastguard WorkerRawat, arp95, Arpit Shah, Armen Poghosov, armenpoghosov, Astropeak, Ashwin
7087*b6fb3261SAndroid Build Coastguard WorkerRamaswami, Arpit Shah, Augustina Ragwitz, Aurelien Geron, AuréLien Geron,
7088*b6fb3261SAndroid Build Coastguard Workeravasid, aweers, awesomealex1, Ayush Agrawal, Bas Aarts, Bastian Eichenberger,
7089*b6fb3261SAndroid Build Coastguard WorkerBairen Yi, Bayberry Z, Ben Barsdell, Benjamin Peterson, bhack, Bharat
7090*b6fb3261SAndroid Build Coastguard WorkerRaghunathan, Bhavani Subramanian, Bin Fan, blairhan, BléNesi Attila, Bodin-E,
7091*b6fb3261SAndroid Build Coastguard WorkerBrandon Carter, Bryan Cutler, candy.dc, Cao Zongyan, Casper Da Costa-Luis, Chao
7092*b6fb3261SAndroid Build Coastguard WorkerLiu, Chen Guoyin, chenchc, chengchingwen, chie8842, Christian Hansen, Christoph
7093*b6fb3261SAndroid Build Coastguard WorkerBoeddeker, Christopher Yeh, Clayne Robison, Coady, Patrick, crafet, csukuangfj,
7094*b6fb3261SAndroid Build Coastguard Workerctiijima, Dan Jarvis, Dan Lazewatsky, Daniel Ingram, Daniel Rasmussen, Daniel
7095*b6fb3261SAndroid Build Coastguard WorkerSalvadori, Dave Airlie, David Norman, Dayananda V, delock, Denis Khalikov, Deven
7096*b6fb3261SAndroid Build Coastguard WorkerDesai, Dheeraj Rajaram Reddy, Diego Caballero, dmitrievanthony, Donovan Ong,
7097*b6fb3261SAndroid Build Coastguard WorkerDrew Szurko, Duncan Dean, Duncan Riach, Dustin Neighly, Dwight J Lyle, Eamon
7098*b6fb3261SAndroid Build Coastguard WorkerIto-Fisher, eashtian3, Edward Forgacs, EFanZh, ejot, Elroy Ashtian Jr, Eric
7099*b6fb3261SAndroid Build Coastguard WorkerSchweitz, Evgeniy Polyakov, Fangjun Kuang, Federico Martinez, Fei Hu, Felix
7100*b6fb3261SAndroid Build Coastguard WorkerLemke, Filip Matzner, FlashTek, fo40225, formath, FrançOis Chollet, frreiss,
7101*b6fb3261SAndroid Build Coastguard WorkerFred Reiss, Frederic Bastien, Fredrik Knutsson, G. Hussain Chinoy, Gabriel,
7102*b6fb3261SAndroid Build Coastguard WorkerGautam, gehring, Geoffrey Irving, George Grzegorz Pawelczak, Grzegorz Pawelczak,
7103*b6fb3261SAndroid Build Coastguard WorkerGeorge Sterpu, Gianluca Varisco, Gleb Popov, Greg Peatfield, Guillaume Klein,
7104*b6fb3261SAndroid Build Coastguard WorkerGurpreet Singh, Gustavo Lima Chaves, Gyoung-Yoon Ryoo, haison, Hanton Yang,
7105*b6fb3261SAndroid Build Coastguard WorkerHanGuo97, Haraldur TóMas HallgríMsson, Hari Shankar, hehongliang, Heungsub Lee,
7106*b6fb3261SAndroid Build Coastguard WorkerHoeseong Kim, Huan Li (李卓桓), HåKon Sandsmark, I-Hong, I-Hong Jhuo, Ilham
7107*b6fb3261SAndroid Build Coastguard WorkerFirdausi Putra, Ilango R, Imran Salam, Innovimax, Jacky Ko, Irene Dea, Ivan
7108*b6fb3261SAndroid Build Coastguard WorkerHabernal, Jakub Lipinski, Jacky, Jason Zaman, Jason Zavaglia, jayhpark530,
7109*b6fb3261SAndroid Build Coastguard Workerjcf94, jefby, Jeff Daily, Jeff Poznanovic, Jeffrey Poznanovic, Jekyll Lai, jer,
7110*b6fb3261SAndroid Build Coastguard WorkerJeroen BéDorf, jerryyin, jhalakp, jiakai, Jia Qingtong, Jiankang, JiangXIAO, Joe
7111*b6fb3261SAndroid Build Coastguard WorkerBowser, Joe Q, Joe Quadrino, Joel Shapiro, Johan Gunnarsson, Jojimon Varghese,
7112*b6fb3261SAndroid Build Coastguard WorkerJonas Rauber, Jonathan Kyl, Jonathan, Joon, Joppe Geluykens, Joseph Friedman,
7113*b6fb3261SAndroid Build Coastguard WorkerJosh Beal, jtressle, Julian Niedermeier, Junqin Zhang, Justin Dujardin, Justin
7114*b6fb3261SAndroid Build Coastguard WorkerTunis, jwu, K. Hodges, kaixih, Kaixi Hou, kjopek, Karl Lessard, Karl
7115*b6fb3261SAndroid Build Coastguard WorkerWeinmeister, Karthik Muthuraman, Kashif Rasul, Kay Zhu, Kbhute-Ibm, KDR, Keno
7116*b6fb3261SAndroid Build Coastguard WorkerFischer, Kevin Mader, khanhlvg, Kilaru Yasaswi Sri Chandra Gandhi, Koan-Sin Tan,
7117*b6fb3261SAndroid Build Coastguard WorkerKoock Yoon, kouml, ktaebum, Kyuwon Kim, Lakshay Tokas, Laurent Le Brun,
7118*b6fb3261SAndroid Build Coastguard Workerleike666666, leonard951, Leslie-Fang, Letian Kang, Li, Guizi, Loo Rong Jie,
7119*b6fb3261SAndroid Build Coastguard WorkerLucas Hendren, Lukas Folle, Lukas Geiger, Luke Han, luxupu, lvli, Ma, Guokai,
7120*b6fb3261SAndroid Build Coastguard WorkerMahmoud Abuzaina, Maksym Kysylov, Mandar Deshpande, manhyuk, Manraj Singh
7121*b6fb3261SAndroid Build Coastguard WorkerGrover, Marco Gaido, Marek Drozdowski, Margaret Maynard-Reid, Mark Ryan, mars20,
7122*b6fb3261SAndroid Build Coastguard WorkerMateusz Chudyk, Matt Conley, mbhuiyan, mdfaijul, Mei Jie, Melissa Grueter,
7123*b6fb3261SAndroid Build Coastguard Workermerturl, MichaelKonobeev, Michael KäUfl, Michal W. Tarnowski, MickaëL
7124*b6fb3261SAndroid Build Coastguard WorkerSchoentgen, Miguel Morin, Mihail Salnikov, Mikalai Drabovich, Mike Arpaia, Mike
7125*b6fb3261SAndroid Build Coastguard WorkerHolcomb, minds, monklof, Moses Marin, mpppk, Mr. Metal, Mshr-H, musikisomorphie,
7126*b6fb3261SAndroid Build Coastguard Workernammbash, Natalia Gimelshein, Nathan Luehr, Nayana-Ibm, Nayana Thorat, neargye,
7127*b6fb3261SAndroid Build Coastguard WorkerNeeraj Pradhan, Nehal J Wani, Neil, Nick, Nick Lewycky, Niels Ole Salscheider,
7128*b6fb3261SAndroid Build Coastguard WorkerNiklas SilfverströM, Niranjan Hasabnis, Nuka-137, Nutti, ocjosen, olicht,
7129*b6fb3261SAndroid Build Coastguard Workeromeir1, P Sudeepam, Paige Bailey, Palmer Lao, Pan Daoxin, Pariksheet Pinjari,
7130*b6fb3261SAndroid Build Coastguard WorkerPasquale Minervini, Patrick J. Lopresti, Patrik Gustavsson, Pavel Akhtyamov,
7131*b6fb3261SAndroid Build Coastguard WorkerPavel Samolysov, PENGWA, per1234, PeterLee, Phan Van Nguyen Duc, Philipp Jund,
7132*b6fb3261SAndroid Build Coastguard WorkerPhillip Kravtsov, Pooya Davoodi, Pranav Marathe, Putra Manggala, Qingqing Cao, R
7133*b6fb3261SAndroid Build Coastguard WorkerS Nikhil Krishna, Rajeshwar Reddy T, Ramon ViñAs, Rasmus Diederichsen, Reuben
7134*b6fb3261SAndroid Build Coastguard WorkerMorais, robert, Rohit Gupta, Roland Zimmermann, Roman Soldatow, RonLek, Ruizhe,
7135*b6fb3261SAndroid Build Coastguard WorkerRyan Jiang, saishruthi, Saleem Abdulrasool, Samantha Andow, Sami Kama,
7136*b6fb3261SAndroid Build Coastguard WorkerSana-Damani, Saurabh Deoras, sdamani, Sean Morgan, seanshpark, Sebastien Iooss,
7137*b6fb3261SAndroid Build Coastguard WorkerServ-Inc, Severen Redwood, Shahzad Lone, Shashank Gupta, shashvat, Shashvat
7138*b6fb3261SAndroid Build Coastguard WorkerChand Shahi, Shubham Goyal, Shashi, Sigrid Keydana, Siju, Siju Samuel,
7139*b6fb3261SAndroid Build Coastguard Workersleighsoft, smilu97, Snease-Abq, Son Tran, Spencer Schaber, sremedios, Srini511,
7140*b6fb3261SAndroid Build Coastguard Workersrinivasan.narayanamoorthy, Steve Lang, Steve Nesae, Subin, Sumesh Udayakumaran,
7141*b6fb3261SAndroid Build Coastguard WorkerSungmann Cho, sunway513, Supriya Rao, sxwang, Tae-Hwan Jung, Taehoon Lee, Takeo
7142*b6fb3261SAndroid Build Coastguard WorkerSawada, Taylor Jakobson, Taylor Thornton, Ted Chang, TengLu, terryky,
7143*b6fb3261SAndroid Build Coastguard WorkerThisIsIsaac, ThisIsPIRI, Thomas Deegan, Thomas Hagebols, tianyapiaozi, Till
7144*b6fb3261SAndroid Build Coastguard WorkerHoffmann, Tim Zaman, tomguluson92, Tongxuan Liu, Trent Lo, Trevor Morris,
7145*b6fb3261SAndroid Build Coastguard WorkerTungJerry, Tyorden, Uday Bondhugula, v1incent, Vagif, Vasileios Lioutas,
7146*b6fb3261SAndroid Build Coastguard Workervbvg2008, vcarpani, Vijay Ravichandran, Vikram Tiwari,Viktor Gal, Vishwak
7147*b6fb3261SAndroid Build Coastguard WorkerSrinivasan, Vincent, Vishnuvardhan Janapati, Vitor-Alves, Vivek Suryamurthy,
7148*b6fb3261SAndroid Build Coastguard Workerwangsiyu, wateryzephyr, WeberXie, Wei Wang, WeijieSun, Wen-Heng (Jack) Chung,
7149*b6fb3261SAndroid Build Coastguard Workerwenxizhu, Will Battel, William D. Irons, winstonq, wyzhao, Xiaoming (Jason) Cui,
7150*b6fb3261SAndroid Build Coastguard WorkerXiaoquan Kong, Xin, Xinping Wang, Yan Facai (颜发才), Yann-Yy, Yasir Modak,
7151*b6fb3261SAndroid Build Coastguard WorkerYasuhiro Matsumoto, ymodak, Yong Tang, Yongfeng Gu, Younes Khoudli, Yuan Lin,
7152*b6fb3261SAndroid Build Coastguard WorkerYuan (Terry) Tang, Yuchen Ying, Yves-Noel Weweler, zhangyujing, zjjott, zyeric,
7153*b6fb3261SAndroid Build Coastguard Worker王振华 (Zhenhua Wang), 黄鑫
7154*b6fb3261SAndroid Build Coastguard Worker
7155*b6fb3261SAndroid Build Coastguard Worker# Release 1.14.0
7156*b6fb3261SAndroid Build Coastguard Worker
7157*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
7158*b6fb3261SAndroid Build Coastguard Worker
7159*b6fb3261SAndroid Build Coastguard Worker*   This is the first 1.x release containing the compat.v2 module. This module
7160*b6fb3261SAndroid Build Coastguard Worker    is required to allow libraries to publish code which works in both 1.x and
7161*b6fb3261SAndroid Build Coastguard Worker    2.x. After this release, no backwards incompatible changes are allowed in
7162*b6fb3261SAndroid Build Coastguard Worker    the 2.0 Python API.
7163*b6fb3261SAndroid Build Coastguard Worker*   Turn on MKL-DNN contraction kernels by default. MKL-DNN dynamically
7164*b6fb3261SAndroid Build Coastguard Worker    dispatches the best kernel implementation based on CPU vector architecture.
7165*b6fb3261SAndroid Build Coastguard Worker    To disable them, build with --define=tensorflow_mkldnn_contraction_kernel=0.
7166*b6fb3261SAndroid Build Coastguard Worker
7167*b6fb3261SAndroid Build Coastguard Worker## Behavioral changes
7168*b6fb3261SAndroid Build Coastguard Worker
7169*b6fb3261SAndroid Build Coastguard Worker*   Set default loss reduction as `AUTO` for improving reliability of loss
7170*b6fb3261SAndroid Build Coastguard Worker    scaling with distribution strategy and custom training loops. `AUTO`
7171*b6fb3261SAndroid Build Coastguard Worker    indicates that the reduction option will be determined by the usage context.
7172*b6fb3261SAndroid Build Coastguard Worker    For almost all cases this defaults to `SUM_OVER_BATCH_SIZE`. When used in
7173*b6fb3261SAndroid Build Coastguard Worker    distribution strategy scope, outside of built-in training loops such as
7174*b6fb3261SAndroid Build Coastguard Worker    `tf.keras` `compile` and `fit`, we expect reduction value to be 'None' or
7175*b6fb3261SAndroid Build Coastguard Worker    'SUM'. Using other values will raise an error.
7176*b6fb3261SAndroid Build Coastguard Worker*   Wraps losses passed to the `compile` API (strings and v1 losses) which are
7177*b6fb3261SAndroid Build Coastguard Worker    not instances of v2 `Loss` class in `LossWrapper` class. => All losses will
7178*b6fb3261SAndroid Build Coastguard Worker    now use `SUM_OVER_BATCH_SIZE` reduction as default.
7179*b6fb3261SAndroid Build Coastguard Worker*   Disable `run_eagerly` and distribution strategy if there are symbolic
7180*b6fb3261SAndroid Build Coastguard Worker    tensors added to the model using `add_metric` or `add_loss`.
7181*b6fb3261SAndroid Build Coastguard Worker*   tf.linspace(start, stop, num) now always uses "stop" as last value (for
7182*b6fb3261SAndroid Build Coastguard Worker    num > 1)
7183*b6fb3261SAndroid Build Coastguard Worker*   `ResourceVariable` and `Variable` no longer accepts `constraint` in the
7184*b6fb3261SAndroid Build Coastguard Worker    constructor, nor expose it as a @property.
7185*b6fb3261SAndroid Build Coastguard Worker*   The behavior of tf.gather is now correct when axis=None and batch_dims<0.
7186*b6fb3261SAndroid Build Coastguard Worker*   Only create a GCS directory object if the object does not already exist.
7187*b6fb3261SAndroid Build Coastguard Worker*   In `map_vectorization` optimization, reduce the degree of parallelism in the
7188*b6fb3261SAndroid Build Coastguard Worker    vectorized map node.
7189*b6fb3261SAndroid Build Coastguard Worker*   Bug fix: loss and gradients should now more reliably be correctly scaled
7190*b6fb3261SAndroid Build Coastguard Worker    w.r.t. the global batch size when using a tf.distribute.Strategy.
7191*b6fb3261SAndroid Build Coastguard Worker*   Updating cosine similarity loss - removed the negate sign from cosine
7192*b6fb3261SAndroid Build Coastguard Worker    similarity.
7193*b6fb3261SAndroid Build Coastguard Worker*   DType is no longer convertible to an int. Use dtype.as_datatype_enum instead
7194*b6fb3261SAndroid Build Coastguard Worker    of int(dtype) to get the same result.
7195*b6fb3261SAndroid Build Coastguard Worker*   Changed default for gradient accumulation for TPU embeddings to true.
7196*b6fb3261SAndroid Build Coastguard Worker*   Callbacks now log values in eager mode when a deferred build model is used.
7197*b6fb3261SAndroid Build Coastguard Worker*   Transitive dependencies on :pooling_ops were removed. Some users may need to
7198*b6fb3261SAndroid Build Coastguard Worker    add explicit dependencies on :pooling_ops if they reference the operators
7199*b6fb3261SAndroid Build Coastguard Worker    from that library.
7200*b6fb3261SAndroid Build Coastguard Worker*   tf.keras.optimizers default learning rate changes:
7201*b6fb3261SAndroid Build Coastguard Worker    *   Adadelta: 1.000 to 0.001
7202*b6fb3261SAndroid Build Coastguard Worker    *   Adagrad: 0.01 to 0.001
7203*b6fb3261SAndroid Build Coastguard Worker    *   Adamax: 0.002 to 0.001
7204*b6fb3261SAndroid Build Coastguard Worker    *   NAdam: 0.002 to 0.001
7205*b6fb3261SAndroid Build Coastguard Worker
7206*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
7207*b6fb3261SAndroid Build Coastguard Worker
7208*b6fb3261SAndroid Build Coastguard Worker*   Documentation
7209*b6fb3261SAndroid Build Coastguard Worker*   Deprecations and Symbol renames.
7210*b6fb3261SAndroid Build Coastguard Worker    *   Remove unused StringViewVariantWrapper
7211*b6fb3261SAndroid Build Coastguard Worker    *   Delete unused Fingerprint64Map op registration
7212*b6fb3261SAndroid Build Coastguard Worker    *   SignatureDef util functions have been deprecated.
7213*b6fb3261SAndroid Build Coastguard Worker    *   Renamed tf.image functions to remove duplicate "image" where it is
7214*b6fb3261SAndroid Build Coastguard Worker        redundant.
7215*b6fb3261SAndroid Build Coastguard Worker    *   tf.keras.experimental.export renamed to
7216*b6fb3261SAndroid Build Coastguard Worker        tf.keras.experimental.export_saved_model
7217*b6fb3261SAndroid Build Coastguard Worker    *   Standardize the LayerNormalization API by replacing the args `norm_axis`
7218*b6fb3261SAndroid Build Coastguard Worker        and `params_axis` with `axis`.
7219*b6fb3261SAndroid Build Coastguard Worker    *   Tensor::UnsafeCopyFromInternal deprecated in favor Tensor::BitcastFrom
7220*b6fb3261SAndroid Build Coastguard Worker*   Keras & Python API
7221*b6fb3261SAndroid Build Coastguard Worker    *   Add v2 module aliases for:
7222*b6fb3261SAndroid Build Coastguard Worker    *   tf.initializers => tf.keras.initializers
7223*b6fb3261SAndroid Build Coastguard Worker    *   tf.losses => tf.keras.losses & tf.metrics => tf.keras.metrics
7224*b6fb3261SAndroid Build Coastguard Worker    *   tf.optimizers => tf.keras.optimizers
7225*b6fb3261SAndroid Build Coastguard Worker    *   Add tf.keras.layers.AbstractRNNCell as the preferred implementation of
7226*b6fb3261SAndroid Build Coastguard Worker        RNN cell for TF v2. User can use it to implement RNN cell with custom
7227*b6fb3261SAndroid Build Coastguard Worker        behavior.
7228*b6fb3261SAndroid Build Coastguard Worker    *   Adding `clear_losses` API to be able to clear losses at the end of
7229*b6fb3261SAndroid Build Coastguard Worker        forward pass in a custom training loop in eager.
7230*b6fb3261SAndroid Build Coastguard Worker    *   Add support for passing list of lists to the `metrics` param in Keras
7231*b6fb3261SAndroid Build Coastguard Worker        `compile`.
7232*b6fb3261SAndroid Build Coastguard Worker    *   Added top-k to precision and recall to keras metrics.
7233*b6fb3261SAndroid Build Coastguard Worker    *   Adding public APIs for `cumsum` and `cumprod` keras backend functions.
7234*b6fb3261SAndroid Build Coastguard Worker    *   Fix: model.add_loss(symbolic_tensor) should work in ambient eager.
7235*b6fb3261SAndroid Build Coastguard Worker    *   Add name argument to tf.string_split and tf.strings_split
7236*b6fb3261SAndroid Build Coastguard Worker    *   Minor change to SavedModels exported from Keras using
7237*b6fb3261SAndroid Build Coastguard Worker        tf.keras.experimental.export. (SignatureDef key for evaluation mode is
7238*b6fb3261SAndroid Build Coastguard Worker        now "eval" instead of "test"). This will be reverted back to "test" in
7239*b6fb3261SAndroid Build Coastguard Worker        the near future.
7240*b6fb3261SAndroid Build Coastguard Worker    *   Updates binary cross entropy logic in Keras when input is probabilities.
7241*b6fb3261SAndroid Build Coastguard Worker        Instead of converting probabilities to logits, we are using the cross
7242*b6fb3261SAndroid Build Coastguard Worker        entropy formula for probabilities.
7243*b6fb3261SAndroid Build Coastguard Worker    *   Raw TensorFlow functions can now be used in conjunction with the Keras
7244*b6fb3261SAndroid Build Coastguard Worker        Functional API during model creation. This obviates the need for users
7245*b6fb3261SAndroid Build Coastguard Worker        to create Lambda layers in most cases when using the Functional API.
7246*b6fb3261SAndroid Build Coastguard Worker        Like Lambda layers, TensorFlow functions that result in Variable
7247*b6fb3261SAndroid Build Coastguard Worker        creation or assign ops are not supported.
7248*b6fb3261SAndroid Build Coastguard Worker    *   Keras training and validation curves are shown on the same plot.
7249*b6fb3261SAndroid Build Coastguard Worker    *   Introduce `dynamic` constructor argument in Layer and Model, which
7250*b6fb3261SAndroid Build Coastguard Worker        should be set to True when using imperative control flow in the `call`
7251*b6fb3261SAndroid Build Coastguard Worker        method.
7252*b6fb3261SAndroid Build Coastguard Worker    *   Removing of dtype in the constructor of initializers and partition_info
7253*b6fb3261SAndroid Build Coastguard Worker        in call.
7254*b6fb3261SAndroid Build Coastguard Worker*   New ops and improved op functionality
7255*b6fb3261SAndroid Build Coastguard Worker    *   Add OpKernels for some stateless maps
7256*b6fb3261SAndroid Build Coastguard Worker    *   Add v2 APIs for AUCCurve and AUCSummationMethod
7257*b6fb3261SAndroid Build Coastguard Worker        enums. #tf-metrics-convergence
7258*b6fb3261SAndroid Build Coastguard Worker    *   Add tf.math.nextafter op.
7259*b6fb3261SAndroid Build Coastguard Worker    *   Add CompositeTensor base class.
7260*b6fb3261SAndroid Build Coastguard Worker    *   Add tf.linalg.tridiagonal_solve op.
7261*b6fb3261SAndroid Build Coastguard Worker    *   Add opkernel templates for common table operations.
7262*b6fb3261SAndroid Build Coastguard Worker    *   Added support for TFLite in TensorFlow 2.0.
7263*b6fb3261SAndroid Build Coastguard Worker    *   Adds summary trace API for collecting graph and profile information.
7264*b6fb3261SAndroid Build Coastguard Worker    *   Add batch_dims argument to tf.gather.
7265*b6fb3261SAndroid Build Coastguard Worker    *   Add support for `add_metric` in the graph function mode.
7266*b6fb3261SAndroid Build Coastguard Worker    *   Add C++ Gradient for BatchMatMulV2.
7267*b6fb3261SAndroid Build Coastguard Worker    *   Added tf.random.binomial
7268*b6fb3261SAndroid Build Coastguard Worker    *   Added gradient for SparseToDense op.
7269*b6fb3261SAndroid Build Coastguard Worker    *   Add legacy string flat hash map op kernels
7270*b6fb3261SAndroid Build Coastguard Worker    *   Add a ragged size op and register it to the op dispatcher
7271*b6fb3261SAndroid Build Coastguard Worker    *   Add broadcasting support to tf.matmul.
7272*b6fb3261SAndroid Build Coastguard Worker    *   Add ellipsis (...) support for tf.einsum()
7273*b6fb3261SAndroid Build Coastguard Worker    *   Added LinearOperator.adjoint and LinearOperator.H (alias).
7274*b6fb3261SAndroid Build Coastguard Worker    *   Added GPU implementation of tf.linalg.tridiagonal_solve.
7275*b6fb3261SAndroid Build Coastguard Worker    *   Added strings.byte_split
7276*b6fb3261SAndroid Build Coastguard Worker    *   Add RaggedTensor.placeholder()
7277*b6fb3261SAndroid Build Coastguard Worker    *   Add a new "result_type" parameter to tf.strings.split
7278*b6fb3261SAndroid Build Coastguard Worker    *   `add_update` can now be passed a zero-arg callable in order to support
7279*b6fb3261SAndroid Build Coastguard Worker        turning off the update when setting `trainable=False` on a Layer of a
7280*b6fb3261SAndroid Build Coastguard Worker        Model compiled with `run_eagerly=True`.
7281*b6fb3261SAndroid Build Coastguard Worker    *   Add variant wrapper for absl::string_view
7282*b6fb3261SAndroid Build Coastguard Worker    *   Add expand_composites argument to all nest.* methods.
7283*b6fb3261SAndroid Build Coastguard Worker    *   Add pfor converter for Squeeze.
7284*b6fb3261SAndroid Build Coastguard Worker    *   Bug fix for tf.tile gradient
7285*b6fb3261SAndroid Build Coastguard Worker    *   Expose CriticalSection in core as tf.CriticalSection.
7286*b6fb3261SAndroid Build Coastguard Worker    *   Update Fingerprint64Map to use aliases
7287*b6fb3261SAndroid Build Coastguard Worker    *   ResourceVariable support for gather_nd.
7288*b6fb3261SAndroid Build Coastguard Worker    *   ResourceVariable's gather op supports batch dimensions.
7289*b6fb3261SAndroid Build Coastguard Worker    *   Variadic reduce is supported on CPU
7290*b6fb3261SAndroid Build Coastguard Worker    *   Extend tf.function with basic support for CompositeTensors arguments
7291*b6fb3261SAndroid Build Coastguard Worker        (such as SparseTensor and RaggedTensor).
7292*b6fb3261SAndroid Build Coastguard Worker    *   Add templates and interfaces for creating lookup tables
7293*b6fb3261SAndroid Build Coastguard Worker    *   Post-training quantization tool supports quantizing weights shared by
7294*b6fb3261SAndroid Build Coastguard Worker        multiple operations. The models made with versions of this tool will use
7295*b6fb3261SAndroid Build Coastguard Worker        INT8 types for weights and will only be executable interpreters from
7296*b6fb3261SAndroid Build Coastguard Worker        this version onwards.
7297*b6fb3261SAndroid Build Coastguard Worker    *   Malformed gif images could result in an access out of bounds in the
7298*b6fb3261SAndroid Build Coastguard Worker        color palette of the frame. This has been fixed now
7299*b6fb3261SAndroid Build Coastguard Worker    *   image.resize now considers proper pixel centers and has new kernels
7300*b6fb3261SAndroid Build Coastguard Worker        (incl. anti-aliasing).
7301*b6fb3261SAndroid Build Coastguard Worker    *   Added an isotonic regression solver (tf.nn.isotonic_regression).
7302*b6fb3261SAndroid Build Coastguard Worker*   Performance
7303*b6fb3261SAndroid Build Coastguard Worker    *   Turn on MKL-DNN contraction kernels by default. MKL-DNN dynamically
7304*b6fb3261SAndroid Build Coastguard Worker        dispatches the best kernel implementation based on CPU vector
7305*b6fb3261SAndroid Build Coastguard Worker        architecture. To disable them, build with
7306*b6fb3261SAndroid Build Coastguard Worker        --define=tensorflow_mkldnn_contraction_kernel=0.
7307*b6fb3261SAndroid Build Coastguard Worker    *   Support for multi-host ncclAllReduce in Distribution Strategy.
7308*b6fb3261SAndroid Build Coastguard Worker    *   Expose a flag that allows the number of threads to vary across Python
7309*b6fb3261SAndroid Build Coastguard Worker        benchmarks.
7310*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow 2.0 Development
7311*b6fb3261SAndroid Build Coastguard Worker    *   Add v2 sparse categorical crossentropy metric.
7312*b6fb3261SAndroid Build Coastguard Worker    *   Allow non-Tensors through v2 losses.
7313*b6fb3261SAndroid Build Coastguard Worker    *   Add UnifiedGRU as the new GRU implementation for tf2.0. Change the
7314*b6fb3261SAndroid Build Coastguard Worker        default recurrent activation function for GRU from 'hard_sigmoid' to
7315*b6fb3261SAndroid Build Coastguard Worker        'sigmoid', and 'reset_after' to True in 2.0. Historically recurrent
7316*b6fb3261SAndroid Build Coastguard Worker        activation is 'hard_sigmoid' since it is fast than 'sigmoid'. With new
7317*b6fb3261SAndroid Build Coastguard Worker        unified backend between CPU and GPU mode, since the CuDNN kernel is
7318*b6fb3261SAndroid Build Coastguard Worker        using sigmoid, we change the default for CPU mode to sigmoid as well.
7319*b6fb3261SAndroid Build Coastguard Worker        With that, the default GRU will be compatible with both CPU and GPU
7320*b6fb3261SAndroid Build Coastguard Worker        kernel. This will enable user with GPU to use CuDNN kernel by default
7321*b6fb3261SAndroid Build Coastguard Worker        and get a 10x performance boost in training. Note that this is
7322*b6fb3261SAndroid Build Coastguard Worker        checkpoint breaking change. If user want to use their 1.x pre-trained
7323*b6fb3261SAndroid Build Coastguard Worker        checkpoint, please construct the layer with
7324*b6fb3261SAndroid Build Coastguard Worker        GRU(recurrent_activation='hard_sigmoid', reset_after=False) to fallback
7325*b6fb3261SAndroid Build Coastguard Worker        to 1.x behavior.
7326*b6fb3261SAndroid Build Coastguard Worker    *   TF 2.0 - Update metric name to always reflect what the user has given in
7327*b6fb3261SAndroid Build Coastguard Worker        compile. Affects following cases 1. When name is given as
7328*b6fb3261SAndroid Build Coastguard Worker        'accuracy'/'crossentropy' 2. When an aliased function name is used eg.
7329*b6fb3261SAndroid Build Coastguard Worker        'mse' 3. Removing the `weighted` prefix from weighted metric names.
7330*b6fb3261SAndroid Build Coastguard Worker    *   Begin adding Go wrapper for C Eager API
7331*b6fb3261SAndroid Build Coastguard Worker    *   image.resize in 2.0 now supports gradients for the new resize kernels.
7332*b6fb3261SAndroid Build Coastguard Worker    *   removed tf.string_split from v2 API
7333*b6fb3261SAndroid Build Coastguard Worker    *   Expose tf.contrib.proto.* ops in tf.io (they will exist in TF2)
7334*b6fb3261SAndroid Build Coastguard Worker    *   "Updates the TFLiteConverter API in 2.0. Changes from_concrete_function
7335*b6fb3261SAndroid Build Coastguard Worker        to from_concrete_functions."
7336*b6fb3261SAndroid Build Coastguard Worker    *   Enable tf.distribute.experimental.MultiWorkerMirroredStrategy working in
7337*b6fb3261SAndroid Build Coastguard Worker        eager mode.
7338*b6fb3261SAndroid Build Coastguard Worker    *   Support both binary and -1/1 label input in v2 hinge and squared hinge
7339*b6fb3261SAndroid Build Coastguard Worker        losses.
7340*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow Lite
7341*b6fb3261SAndroid Build Coastguard Worker    *   "Adds support for tflite_convert in 2.0."
7342*b6fb3261SAndroid Build Coastguard Worker    *   "Remove lite.OpHint, lite.experimental, and lite.constant from 2.0 API."
7343*b6fb3261SAndroid Build Coastguard Worker*   tf.contrib
7344*b6fb3261SAndroid Build Coastguard Worker    *   Added Neural Turing Implementation as described in
7345*b6fb3261SAndroid Build Coastguard Worker        https://arxiv.org/abs/1807.08518.
7346*b6fb3261SAndroid Build Coastguard Worker    *   Remove tf.contrib.timeseries dependency on TF distributions.
7347*b6fb3261SAndroid Build Coastguard Worker*   tf.data
7348*b6fb3261SAndroid Build Coastguard Worker    *   Add num_parallel_reads and passing in a Dataset containing filenames
7349*b6fb3261SAndroid Build Coastguard Worker        into TextLineDataset and FixedLengthRecordDataset
7350*b6fb3261SAndroid Build Coastguard Worker    *   Going forward we operate in TF 2.0, this change is part of the effort to
7351*b6fb3261SAndroid Build Coastguard Worker        slowly converting XYZDataset to DatasetV2 type which is the official
7352*b6fb3261SAndroid Build Coastguard Worker        version going to be used in TF 2.0 and motivated by some compatibility
7353*b6fb3261SAndroid Build Coastguard Worker        issue found, _BigtableXYZDataset (of type DatasetV2) does not implement
7354*b6fb3261SAndroid Build Coastguard Worker        the _as_variant_tensor() of DatasetV1, when moving contrib.bigtable to
7355*b6fb3261SAndroid Build Coastguard Worker        tensorflow_io. Converting into DatasetV2 removes the overheads to
7356*b6fb3261SAndroid Build Coastguard Worker        maintain V1 while we are moving into TF 2.0.
7357*b6fb3261SAndroid Build Coastguard Worker    *   Add dataset ops to the graph (or create kernels in Eager execution)
7358*b6fb3261SAndroid Build Coastguard Worker        during the python Dataset object creation instead doing it during
7359*b6fb3261SAndroid Build Coastguard Worker        Iterator creation time.
7360*b6fb3261SAndroid Build Coastguard Worker    *   Add support for TensorArrays to tf.data Dataset.
7361*b6fb3261SAndroid Build Coastguard Worker    *   Switching tf.data functions to use `defun`, providing an escape hatch to
7362*b6fb3261SAndroid Build Coastguard Worker        continue using the legacy `Defun`.
7363*b6fb3261SAndroid Build Coastguard Worker*   Toolchains
7364*b6fb3261SAndroid Build Coastguard Worker    *   CUDNN_INSTALL_PATH, TENSORRT_INSTALL_PATH, NCCL_INSTALL_PATH,
7365*b6fb3261SAndroid Build Coastguard Worker        NCCL_HDR_PATH are deprecated. Use TF_CUDA_PATHS instead which supports a
7366*b6fb3261SAndroid Build Coastguard Worker        comma-separated list of base paths that are searched to find CUDA
7367*b6fb3261SAndroid Build Coastguard Worker        libraries and headers.
7368*b6fb3261SAndroid Build Coastguard Worker    *   TF code now resides in `tensorflow_core` and `tensorflow` is just a
7369*b6fb3261SAndroid Build Coastguard Worker        virtual pip package. No code changes are needed for projects using
7370*b6fb3261SAndroid Build Coastguard Worker        TensorFlow, the change is transparent
7371*b6fb3261SAndroid Build Coastguard Worker*   XLA
7372*b6fb3261SAndroid Build Coastguard Worker    *   XLA HLO graphs can be inspected with interactive_graphviz tool now.
7373*b6fb3261SAndroid Build Coastguard Worker*   Estimator
7374*b6fb3261SAndroid Build Coastguard Worker    *   Use tf.compat.v1.estimator.inputs instead of tf.estimator.inputs
7375*b6fb3261SAndroid Build Coastguard Worker    *   Replace contrib references with tf.estimator.experimental.* for apis in
7376*b6fb3261SAndroid Build Coastguard Worker        early_stopping.py
7377*b6fb3261SAndroid Build Coastguard Worker
7378*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
7379*b6fb3261SAndroid Build Coastguard Worker
7380*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
7381*b6fb3261SAndroid Build Coastguard Worker
7382*b6fb3261SAndroid Build Coastguard Worker1e100, 4d55397500, a6802739, abenmao, Adam Weiss, Ag Ramesh, Alan Du, Albin Joy,
7383*b6fb3261SAndroid Build Coastguard WorkerAlex, Aman Patel, Amit, Amit Kumar Jaiswal, Amit Srivastava, Andreas Eberle,
7384*b6fb3261SAndroid Build Coastguard WorkerAndy Craze, Anthony Platanios, Armen Poghosov, armenpoghosov, arp95, Arpit Shah,
7385*b6fb3261SAndroid Build Coastguard WorkerAshwin Ramaswami, Aurelien Geron, AuréLien Geron, aweers, awesomealex1, Ayush
7386*b6fb3261SAndroid Build Coastguard WorkerAgrawal, Ben Barsdell, Bharat Raghunathan, Bhavani Subramanian, blairhan,
7387*b6fb3261SAndroid Build Coastguard WorkerBléNesi Attila, Brandon Carter, candy.dc, Chao Liu, chenchc, chie8842, Christian
7388*b6fb3261SAndroid Build Coastguard WorkerHansen, Christian Sigg, Clayne Robison, crafet, csukuangfj, ctiijima, Dan
7389*b6fb3261SAndroid Build Coastguard WorkerJarvis, Dan Lazewatsky, Daniel Ingram, Daniel Salvadori, Dave Airlie, David
7390*b6fb3261SAndroid Build Coastguard WorkerNorman, Dayananda V, Dayananda-V, delock, Denis Khalikov, Deven Desai, Dheeraj
7391*b6fb3261SAndroid Build Coastguard WorkerRajaram Reddy, dmitrievanthony, Donovan Ong, Drew Szurko, Duncan Riach, Dustin
7392*b6fb3261SAndroid Build Coastguard WorkerNeighly, Edward Forgacs, EFanZh, Fei Hu, Felix Lemke, Filip Matzner, fo40225,
7393*b6fb3261SAndroid Build Coastguard Workerfrreiss, Gautam, gehring, Geoffrey Irving, Grzegorz George Pawelczak, Grzegorz
7394*b6fb3261SAndroid Build Coastguard WorkerPawelczak, Gyoung-Yoon Ryoo, HanGuo97, Hanton Yang, Hari Shankar, hehongliang,
7395*b6fb3261SAndroid Build Coastguard WorkerHeungsub Lee, Hoeseong Kim, I-Hong Jhuo, Ilango R, Innovimax, Irene Dea, Jacky
7396*b6fb3261SAndroid Build Coastguard WorkerKo, Jakub Lipinski, Jason Zaman, jcf94, Jeffrey Poznanovic, Jens Elofsson,
7397*b6fb3261SAndroid Build Coastguard WorkerJeroen BéDorf, Jia Qingtong, Jiankang, Joe Q, Joe Quadrino, Joeran Beel, Jonas
7398*b6fb3261SAndroid Build Coastguard WorkerRauber, Jonathan, Jonathan Kyl, Joppe Geluykens, Joseph Friedman, jtressle, jwu,
7399*b6fb3261SAndroid Build Coastguard WorkerK Yasaswi Sri Chandra Gandhi, K. Hodges, Kaixi Hou, Karl Lessard, Karl
7400*b6fb3261SAndroid Build Coastguard WorkerWeinmeister, Karthik Muthuraman, Kashif Rasul, KDR, Keno Fischer, Kevin Mader,
7401*b6fb3261SAndroid Build Coastguard Workerkjopek, Koan-Sin Tan, kouml, ktaebum, Lakshay Tokas, Laurent Le Brun, Letian
7402*b6fb3261SAndroid Build Coastguard WorkerKang, Li, Guizi, Loo Rong Jie, Lucas Hendren, Lukas Geiger, Luke Han, luxupu,
7403*b6fb3261SAndroid Build Coastguard WorkerMa, Guokai, Mahmoud Abuzaina, Mandar Deshpande, manhyuk, Marco Gaido, Marek
7404*b6fb3261SAndroid Build Coastguard WorkerDrozdowski, Mark Collier, Mark Ryan, mars20, Mateusz Chudyk, Matt Conley,
7405*b6fb3261SAndroid Build Coastguard WorkerMattConley, mbhuiyan, mdfaijul, Melissa Grueter, Michael KäUfl, MickaëL
7406*b6fb3261SAndroid Build Coastguard WorkerSchoentgen, Miguel Morin, Mihail Salnikov, Mike Arpaia, Mike Holcomb, monklof,
7407*b6fb3261SAndroid Build Coastguard WorkerMoses Marin, Mshr-H, nammbash, Natalia Gimelshein, Nayana-Ibm, neargye, Neeraj
7408*b6fb3261SAndroid Build Coastguard WorkerPradhan, Nehal J Wani, Nick, Niels Ole Salscheider, Niranjan Hasabnis, nlewycky,
7409*b6fb3261SAndroid Build Coastguard WorkerNuka-137, Nutti, olicht, P Sudeepam, Palmer Lao, Pan Daoxin, Pariksheet Pinjari,
7410*b6fb3261SAndroid Build Coastguard WorkerPavel Samolysov, PENGWA, Pooya Davoodi, R S Nikhil Krishna, Rohit Gupta, Roman
7411*b6fb3261SAndroid Build Coastguard WorkerSoldatow, rthadur, Ruizhe, Ryan Jiang, Samantha Andow, Sami Kama, Sana-Damani,
7412*b6fb3261SAndroid Build Coastguard WorkerSaurabh Deoras, sdamani, seanshpark, Sebastien Iooss, Serv-Inc, Shahzad Lone,
7413*b6fb3261SAndroid Build Coastguard WorkerShashank Gupta, Shashi, shashvat, shashvatshahi1998, Siju, Siju Samuel,
7414*b6fb3261SAndroid Build Coastguard WorkerSnease-Abq, Spencer Schaber, sremedios, srinivasan.narayanamoorthy, Steve Lang,
7415*b6fb3261SAndroid Build Coastguard WorkerSteve Nesae, Sumesh Udayakumaran, Supriya Rao, Taylor Jakobson, Taylor Thornton,
7416*b6fb3261SAndroid Build Coastguard WorkerTed Chang, ThisIsPIRI, Thomas Deegan, Thomas Hagebols, tianyapiaozi, Tim Zaman,
7417*b6fb3261SAndroid Build Coastguard Workertomguluson92, Tongxuan Liu, TungJerry, v1incent, Vagif, vcarpani, Vikram Tiwari,
7418*b6fb3261SAndroid Build Coastguard WorkerVishwak Srinivasan, Vitor-Alves, wangsiyu, wateryzephyr, WeberXie, WeijieSun,
7419*b6fb3261SAndroid Build Coastguard WorkerWen-Heng (Jack) Chung, wenxizhu, Will Battel, William D. Irons, wyzhao, Xin,
7420*b6fb3261SAndroid Build Coastguard WorkerYasuhiro Matsumoto, ymodak, Yong Tang, Younes Khoudli, Yuan Lin, Yves-Noel
7421*b6fb3261SAndroid Build Coastguard WorkerWeweler, Zantares, zjjott, 卜居, 王振华 (Wang Zhenhua), 黄鑫
7422*b6fb3261SAndroid Build Coastguard Worker
7423*b6fb3261SAndroid Build Coastguard Worker# Release 1.12.3
7424*b6fb3261SAndroid Build Coastguard Worker
7425*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
7426*b6fb3261SAndroid Build Coastguard Worker
7427*b6fb3261SAndroid Build Coastguard Worker*   Updates `png_archive` dependency to 1.6.37 to not be affected by
7428*b6fb3261SAndroid Build Coastguard Worker    CVE-2019-7317, CVE-2018-13785, and CVE-2018-14048.
7429*b6fb3261SAndroid Build Coastguard Worker*   Updates `sqlite` dependency to 3.28.0 to not be affected by CVE-2018-20506,
7430*b6fb3261SAndroid Build Coastguard Worker    CVE-2018-20346, and CVE-2018-20505.
7431*b6fb3261SAndroid Build Coastguard Worker
7432*b6fb3261SAndroid Build Coastguard Worker# Release 1.12.2
7433*b6fb3261SAndroid Build Coastguard Worker
7434*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
7435*b6fb3261SAndroid Build Coastguard Worker
7436*b6fb3261SAndroid Build Coastguard Worker*   Fixes a potential security vulnerability where carefully crafted GIF images
7437*b6fb3261SAndroid Build Coastguard Worker    can produce a null pointer dereference during decoding.
7438*b6fb3261SAndroid Build Coastguard Worker
7439*b6fb3261SAndroid Build Coastguard Worker# Release 1.13.0
7440*b6fb3261SAndroid Build Coastguard Worker
7441*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
7442*b6fb3261SAndroid Build Coastguard Worker
7443*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow Lite has moved from contrib to core. This means that Python
7444*b6fb3261SAndroid Build Coastguard Worker    modules are under `tf.lite` and source code is now under `tensorflow/lite`
7445*b6fb3261SAndroid Build Coastguard Worker    rather than `tensorflow/contrib/lite`.
7446*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow GPU binaries are now built against CUDA 10 and TensorRT 5.0.
7447*b6fb3261SAndroid Build Coastguard Worker*   Support for Python3.7 on all operating systems.
7448*b6fb3261SAndroid Build Coastguard Worker*   Moved NCCL to core.
7449*b6fb3261SAndroid Build Coastguard Worker
7450*b6fb3261SAndroid Build Coastguard Worker## Behavioral changes
7451*b6fb3261SAndroid Build Coastguard Worker
7452*b6fb3261SAndroid Build Coastguard Worker*   Disallow conversion of python floating types to uint32/64 (matching behavior
7453*b6fb3261SAndroid Build Coastguard Worker    of other integer types) in `tf.constant`.
7454*b6fb3261SAndroid Build Coastguard Worker*   Make the `gain` argument of convolutional orthogonal initializers
7455*b6fb3261SAndroid Build Coastguard Worker    (`convolutional_delta_orthogonal`, `convolutional_orthogonal_1D`,
7456*b6fb3261SAndroid Build Coastguard Worker    `convolutional_orthogonal_2D`, `convolutional_orthogonal_3D`) have
7457*b6fb3261SAndroid Build Coastguard Worker    consistent behavior with the `tf.initializers.orthogonal` initializer, i.e.
7458*b6fb3261SAndroid Build Coastguard Worker    scale the output l2-norm by `gain` and NOT by `sqrt(gain)`. (Note that these
7459*b6fb3261SAndroid Build Coastguard Worker    functions are currently in `tf.contrib` which is not guaranteed backward
7460*b6fb3261SAndroid Build Coastguard Worker    compatible).
7461*b6fb3261SAndroid Build Coastguard Worker
7462*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
7463*b6fb3261SAndroid Build Coastguard Worker
7464*b6fb3261SAndroid Build Coastguard Worker*   Documentation
7465*b6fb3261SAndroid Build Coastguard Worker    *   Update the doc with the details about the rounding mode used in
7466*b6fb3261SAndroid Build Coastguard Worker        quantize_and_dequantize_v2.
7467*b6fb3261SAndroid Build Coastguard Worker    *   Clarify that tensorflow::port::InitMain() *should* be called before
7468*b6fb3261SAndroid Build Coastguard Worker        using the TensorFlow library. Programs failing to do this are not
7469*b6fb3261SAndroid Build Coastguard Worker        portable to all platforms.
7470*b6fb3261SAndroid Build Coastguard Worker*   Deprecations and Symbol renames.
7471*b6fb3261SAndroid Build Coastguard Worker    *   Removing deprecations for the following endpoints: `tf.acos`,
7472*b6fb3261SAndroid Build Coastguard Worker        `tf.acosh`, `tf.add`, `tf.as_string`, `tf.asin`, `tf.asinh`, `tf.atan`,
7473*b6fb3261SAndroid Build Coastguard Worker        `tf.atan2`, `tf.atanh`, `tf.cos`, `tf.cosh`, `tf.equal`, `tf.exp`,
7474*b6fb3261SAndroid Build Coastguard Worker        `tf.floor`, `tf.greater`, `tf.greater_equal`, `tf.less`,
7475*b6fb3261SAndroid Build Coastguard Worker        `tf.less_equal`, `tf.log`, `tf.logp1`, `tf.logical_and`,
7476*b6fb3261SAndroid Build Coastguard Worker        `tf.logical_not`, `tf.logical_or`, `tf.maximum`, `tf.minimum`,
7477*b6fb3261SAndroid Build Coastguard Worker        `tf.not_equal`, `tf.sin`, `tf.sinh`, `tf.tan`
7478*b6fb3261SAndroid Build Coastguard Worker    *   Deprecate `tf.data.Dataset.shard`.
7479*b6fb3261SAndroid Build Coastguard Worker    *   Deprecate `saved_model.loader.load` which is replaced by
7480*b6fb3261SAndroid Build Coastguard Worker        `saved_model.load` and `saved_model.main_op`, which will be replaced by
7481*b6fb3261SAndroid Build Coastguard Worker        `saved_model.main_op` in V2.
7482*b6fb3261SAndroid Build Coastguard Worker    *   Deprecate tf.QUANTIZED_DTYPES. The official new symbol is
7483*b6fb3261SAndroid Build Coastguard Worker        tf.dtypes.QUANTIZED_DTYPES.
7484*b6fb3261SAndroid Build Coastguard Worker    *   Update sklearn imports for deprecated packages.
7485*b6fb3261SAndroid Build Coastguard Worker    *   Deprecate `Variable.count_up_to` and `tf.count_up_to` in favor of
7486*b6fb3261SAndroid Build Coastguard Worker        `Dataset.range`.
7487*b6fb3261SAndroid Build Coastguard Worker    *   Export `confusion_matrix` op as `tf.math.confusion_matrix` instead of
7488*b6fb3261SAndroid Build Coastguard Worker        `tf.train.confusion_matrix`.
7489*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.dtypes.` endpoint for every constant in dtypes.py. Moving
7490*b6fb3261SAndroid Build Coastguard Worker        endpoints in versions.py to corresponding endpoints in `tf.sysconfig.`
7491*b6fb3261SAndroid Build Coastguard Worker        and `tf.version.`. Moving all constants under `tf.saved_model`
7492*b6fb3261SAndroid Build Coastguard Worker        submodules to `tf.saved_model` module. New endpoints are added in V1 and
7493*b6fb3261SAndroid Build Coastguard Worker        V2 but existing endpoint removals are only applied in V2.
7494*b6fb3261SAndroid Build Coastguard Worker    *   Deprecates behavior where device assignment overrides collocation
7495*b6fb3261SAndroid Build Coastguard Worker        constraints inside a collocation context manager.
7496*b6fb3261SAndroid Build Coastguard Worker*   Keras & Python API
7497*b6fb3261SAndroid Build Coastguard Worker    *   Add to Keras functionality analogous to
7498*b6fb3261SAndroid Build Coastguard Worker        `tf.register_tensor_conversion_function`.
7499*b6fb3261SAndroid Build Coastguard Worker    *   Subclassed Keras models can now be saved through
7500*b6fb3261SAndroid Build Coastguard Worker        `tf.contrib.saved_model.save_keras_model`.
7501*b6fb3261SAndroid Build Coastguard Worker    *   `LinearOperator.matmul` now returns a new `LinearOperator`.
7502*b6fb3261SAndroid Build Coastguard Worker*   New ops and improved op functionality
7503*b6fb3261SAndroid Build Coastguard Worker    *   Add a Nearest Neighbor Resize op.
7504*b6fb3261SAndroid Build Coastguard Worker    *   Add an `ignore_unknown` argument to `parse_values` which suppresses
7505*b6fb3261SAndroid Build Coastguard Worker        ValueError for unknown hyperparameter types. Such * Add
7506*b6fb3261SAndroid Build Coastguard Worker        `tf.linalg.matvec` convenience function.
7507*b6fb3261SAndroid Build Coastguard Worker    *   `tf.einsum()`raises `ValueError` for unsupported equations like
7508*b6fb3261SAndroid Build Coastguard Worker        `"ii->"`.
7509*b6fb3261SAndroid Build Coastguard Worker    *   Add DCT-I and IDCT-I in `tf.signal.dct` and `tf.signal.idct`.
7510*b6fb3261SAndroid Build Coastguard Worker    *   Add LU decomposition op.
7511*b6fb3261SAndroid Build Coastguard Worker    *   Add quantile loss to gradient boosted trees in estimator.
7512*b6fb3261SAndroid Build Coastguard Worker    *   Add `round_mode` to `QuantizeAndDequantizeV2` op to select rounding
7513*b6fb3261SAndroid Build Coastguard Worker        algorithm.
7514*b6fb3261SAndroid Build Coastguard Worker    *   Add `unicode_encode`, `unicode_decode`, `unicode_decode_with_offsets`,
7515*b6fb3261SAndroid Build Coastguard Worker        `unicode_split`, `unicode_split_with_offset`, and `unicode_transcode`
7516*b6fb3261SAndroid Build Coastguard Worker        ops. Amongst other things, this Op adds the ability to encode, decode,
7517*b6fb3261SAndroid Build Coastguard Worker        and transcode a variety of input text encoding formats into the main
7518*b6fb3261SAndroid Build Coastguard Worker        Unicode encodings (UTF-8, UTF-16-BE, UTF-32-BE)
7519*b6fb3261SAndroid Build Coastguard Worker    *   Add "unit" attribute to the substr op, which allows obtaining the
7520*b6fb3261SAndroid Build Coastguard Worker        substring of a string containing unicode characters.
7521*b6fb3261SAndroid Build Coastguard Worker    *   Broadcasting support for Ragged Tensors.
7522*b6fb3261SAndroid Build Coastguard Worker    *   `SpaceToDepth` supports uint8 data type.
7523*b6fb3261SAndroid Build Coastguard Worker    *   Support multi-label quantile regression in estimator.
7524*b6fb3261SAndroid Build Coastguard Worker    *   We now use "div" as the default partition_strategy in
7525*b6fb3261SAndroid Build Coastguard Worker        `tf.nn.safe_embedding_lookup_sparse`, `tf.nn.sampled_softmax` and
7526*b6fb3261SAndroid Build Coastguard Worker        `tf.nn.nce_loss`. hyperparameter are ignored.
7527*b6fb3261SAndroid Build Coastguard Worker*   Performance
7528*b6fb3261SAndroid Build Coastguard Worker    *   Improve performance of GPU cumsum/cumprod by up to 300x.
7529*b6fb3261SAndroid Build Coastguard Worker    *   Added support for weight decay in most TPU embedding optimizers,
7530*b6fb3261SAndroid Build Coastguard Worker        including AdamW and MomentumW.
7531*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow 2.0 Development
7532*b6fb3261SAndroid Build Coastguard Worker    *   Add a command line tool to convert to TF2.0, tf_upgrade_v2
7533*b6fb3261SAndroid Build Coastguard Worker    *   Merge `tf.spectral` into `tf.signal` for TensorFlow 2.0.
7534*b6fb3261SAndroid Build Coastguard Worker    *   Change the default recurrent activation function for LSTM from
7535*b6fb3261SAndroid Build Coastguard Worker        'hard_sigmoid' to 'sigmoid' in 2.0. Historically recurrent activation is
7536*b6fb3261SAndroid Build Coastguard Worker        'hard_sigmoid' since it is fast than 'sigmoid'. With new unified backend
7537*b6fb3261SAndroid Build Coastguard Worker        between CPU and GPU mode, since the CuDNN kernel is using sigmoid, we
7538*b6fb3261SAndroid Build Coastguard Worker        change the default for CPU mode to sigmoid as well. With that, the
7539*b6fb3261SAndroid Build Coastguard Worker        default LSTM will be compatible with both CPU and GPU kernel. This will
7540*b6fb3261SAndroid Build Coastguard Worker        enable user with GPU to use CuDNN kernel by default and get a 10x
7541*b6fb3261SAndroid Build Coastguard Worker        performance boost in training. Note that this is checkpoint breaking
7542*b6fb3261SAndroid Build Coastguard Worker        change. If user want to use their 1.x pre-trained checkpoint, please
7543*b6fb3261SAndroid Build Coastguard Worker        construct the layer with LSTM(recurrent_activation='hard_sigmoid') to
7544*b6fb3261SAndroid Build Coastguard Worker        fallback to 1.x behavior.
7545*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow Lite
7546*b6fb3261SAndroid Build Coastguard Worker    *   Move from `tensorflow/contrib/lite` to `tensorflow/lite`.
7547*b6fb3261SAndroid Build Coastguard Worker    *   Add experimental Java API for injecting TensorFlow Lite delegates
7548*b6fb3261SAndroid Build Coastguard Worker    *   Add support for strings in TensorFlow Lite Java API.
7549*b6fb3261SAndroid Build Coastguard Worker*   `tf.contrib`:
7550*b6fb3261SAndroid Build Coastguard Worker    *   Add Apache Ignite Filesystem plugin to support accessing Apache IGFS.
7551*b6fb3261SAndroid Build Coastguard Worker    *   Dropout now takes `rate` argument, `keep_prob` is deprecated.
7552*b6fb3261SAndroid Build Coastguard Worker    *   Estimator occurrences references `tf.contrib.estimator` were changed to
7553*b6fb3261SAndroid Build Coastguard Worker        `tf.estimator`:
7554*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.estimator.BaselineEstimator` with
7555*b6fb3261SAndroid Build Coastguard Worker        `tf.estimator.BaselineEstimator`
7556*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.estimator.DNNLinearCombinedEstimator` with
7557*b6fb3261SAndroid Build Coastguard Worker        `tf.estimator.DNNLinearCombinedEstimator`
7558*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.estimator.DNNEstimator` with `tf.estimator.DNNEstimator`
7559*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.estimator.LinearEstimator` with
7560*b6fb3261SAndroid Build Coastguard Worker        `tf.estimator.LinearEstimator`
7561*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.estimator.InMemoryEvaluatorHook` and
7562*b6fb3261SAndroid Build Coastguard Worker        tf.estimator.experimental.InMemoryEvaluatorHook`.
7563*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.estimator.make_stop_at_checkpoint_step_hook` with
7564*b6fb3261SAndroid Build Coastguard Worker        `tf.estimator.experimental.make_stop_at_checkpoint_step_hook`.
7565*b6fb3261SAndroid Build Coastguard Worker    *   Expose `tf.distribute.Strategy as the new name for
7566*b6fb3261SAndroid Build Coastguard Worker        tf.contrib.distribute.DistributionStrategy.
7567*b6fb3261SAndroid Build Coastguard Worker    *   Migrate linear optimizer from contrib to core.
7568*b6fb3261SAndroid Build Coastguard Worker    *   Move `tf.contrib.signal` to `tf.signal` (preserving aliases in
7569*b6fb3261SAndroid Build Coastguard Worker        tf.contrib.signal).
7570*b6fb3261SAndroid Build Coastguard Worker    *   Users of `tf.contrib.estimator.export_all_saved_models` and related
7571*b6fb3261SAndroid Build Coastguard Worker        should switch to
7572*b6fb3261SAndroid Build Coastguard Worker        `tf.estimator.Estimator.experimental_export_all_saved_models`.
7573*b6fb3261SAndroid Build Coastguard Worker*   tf.data:
7574*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.data.experimental.StatsOptions()`, to configure options to
7575*b6fb3261SAndroid Build Coastguard Worker        collect statistics from `tf.data.Dataset` pipeline using
7576*b6fb3261SAndroid Build Coastguard Worker        `StatsAggregator`. Add nested option, `experimental_stats` (which takes
7577*b6fb3261SAndroid Build Coastguard Worker        a `tf.data.experimen tal.StatsOptions` object), to `tf.data.Options`.
7578*b6fb3261SAndroid Build Coastguard Worker        Deprecates `tf.data.experimental.set_stats_agregator`.
7579*b6fb3261SAndroid Build Coastguard Worker    *   Performance optimizations:
7580*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.data.experimental.OptimizationOptions()`, to configure options
7581*b6fb3261SAndroid Build Coastguard Worker        to enable `tf.data` performance optimizations. Add nested option,
7582*b6fb3261SAndroid Build Coastguard Worker        `experimental_optimization` (which takes a
7583*b6fb3261SAndroid Build Coastguard Worker        `tf.data.experimental.OptimizationOptions` object), to
7584*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Options`. Remove performance optimization options from
7585*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Options`, and add them under
7586*b6fb3261SAndroid Build Coastguard Worker        `tf.data.experimental.OptimizationOptions` instead.
7587*b6fb3261SAndroid Build Coastguard Worker    *   Enable `map_and_batch_fusion` and `noop_elimination` optimizations by
7588*b6fb3261SAndroid Build Coastguard Worker        default. They can be disabled by configuring
7589*b6fb3261SAndroid Build Coastguard Worker        `tf.data.experimental.OptimizationOptions` to set `map_and_batch =
7590*b6fb3261SAndroid Build Coastguard Worker        False` or `noop_elimination = False` respectively. To disable all
7591*b6fb3261SAndroid Build Coastguard Worker        default optimizations, set `apply_default_optimizations = False`.
7592*b6fb3261SAndroid Build Coastguard Worker    *   Support parallel map in `map_and_filter_fusion`.
7593*b6fb3261SAndroid Build Coastguard Worker    *   Disable static optimizations for input pipelines that use non-resource
7594*b6fb3261SAndroid Build Coastguard Worker        `tf.Variable`s.
7595*b6fb3261SAndroid Build Coastguard Worker    *   Add NUMA-aware MapAndBatch dataset.
7596*b6fb3261SAndroid Build Coastguard Worker    *   Deprecate `tf.data.Dataset.make_one_shot_iterator()` in V1, removed it
7597*b6fb3261SAndroid Build Coastguard Worker        from V2, and added tf.compat.v1.data.make_one_shot_iterator()`.
7598*b6fb3261SAndroid Build Coastguard Worker    *   Deprecate `tf.data.Dataset.make_initializable_iterator()` in V1, removed
7599*b6fb3261SAndroid Build Coastguard Worker        it from V2, and added `tf.compat.v1.data.make_initializable_iterator()`.
7600*b6fb3261SAndroid Build Coastguard Worker    *   Enable nested dataset support in core `tf.data` transformations.
7601*b6fb3261SAndroid Build Coastguard Worker    *   For `tf.data.Dataset` implementers: Added
7602*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Dataset._element_structured property` to replace
7603*b6fb3261SAndroid Build Coastguard Worker        `Dataset.output_{types,shapes,classes}`.
7604*b6fb3261SAndroid Build Coastguard Worker    *   Make `num_parallel_calls` of `tf.data.Dataset.interleave` and
7605*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Dataset.map` work in Eager mode.
7606*b6fb3261SAndroid Build Coastguard Worker*   Toolchains
7607*b6fb3261SAndroid Build Coastguard Worker    *   Fixed OpenSSL compatibility by avoiding `EVP_MD_CTX_destroy`.
7608*b6fb3261SAndroid Build Coastguard Worker    *   Added bounds checking to printing deprecation warnings.
7609*b6fb3261SAndroid Build Coastguard Worker    *   Upgraded CUDA dependency to 10.0
7610*b6fb3261SAndroid Build Coastguard Worker    *   To build with Android NDK r14b, add "#include <linux/compiler.h>" to
7611*b6fb3261SAndroid Build Coastguard Worker        android-ndk-r14b/platforms/android-14/arch-*/usr/include/linux/futex.h
7612*b6fb3261SAndroid Build Coastguard Worker    *   Removed `:android_tensorflow_lib_selective_registration*` targets, use
7613*b6fb3261SAndroid Build Coastguard Worker        `:android_tensorflow_lib_lite*` targets instead.
7614*b6fb3261SAndroid Build Coastguard Worker*   XLA
7615*b6fb3261SAndroid Build Coastguard Worker    *   Move `RoundToEven` function to xla/client/lib/math.h.
7616*b6fb3261SAndroid Build Coastguard Worker    *   A new environment variable `TF_XLA_DEBUG_OPTIONS_PASSTHROUGH` set to "1"
7617*b6fb3261SAndroid Build Coastguard Worker        or "true" allows the debug options passed within an XRTCompile op to be
7618*b6fb3261SAndroid Build Coastguard Worker        passed directly to the XLA compilation backend. If such variable is not
7619*b6fb3261SAndroid Build Coastguard Worker        set (service side), only a restricted set will be passed through.
7620*b6fb3261SAndroid Build Coastguard Worker    *   Allow the XRTCompile op to return the ProgramShape resulted form the XLA
7621*b6fb3261SAndroid Build Coastguard Worker        compilation as a second return argument.
7622*b6fb3261SAndroid Build Coastguard Worker    *   XLA HLO graphs can now be rendered as SVG/HTML.
7623*b6fb3261SAndroid Build Coastguard Worker*   Estimator
7624*b6fb3261SAndroid Build Coastguard Worker    *   Replace all occurrences of `tf.contrib.estimator.BaselineEstimator` with
7625*b6fb3261SAndroid Build Coastguard Worker        `tf.estimator.BaselineEstimator`
7626*b6fb3261SAndroid Build Coastguard Worker    *   Replace all occurrences of
7627*b6fb3261SAndroid Build Coastguard Worker        `tf.contrib.estimator.DNNLinearCombinedEstimator` with
7628*b6fb3261SAndroid Build Coastguard Worker        `tf.estimator.DNNLinearCombinedEstimator`
7629*b6fb3261SAndroid Build Coastguard Worker    *   Replace all occurrences of `tf.contrib.estimator.DNNEstimator` with
7630*b6fb3261SAndroid Build Coastguard Worker        `tf.estimator.DNNEstimator`
7631*b6fb3261SAndroid Build Coastguard Worker    *   Replace all occurrences of `tf.contrib.estimator.LinearEstimator` with
7632*b6fb3261SAndroid Build Coastguard Worker        `tf.estimator.LinearEstimator`
7633*b6fb3261SAndroid Build Coastguard Worker    *   Users of `tf.contrib.estimator.export_all_saved_models` and related
7634*b6fb3261SAndroid Build Coastguard Worker        should switch to
7635*b6fb3261SAndroid Build Coastguard Worker        `tf.estimator.Estimator.experimental_export_all_saved_models`.
7636*b6fb3261SAndroid Build Coastguard Worker    *   Update `regression_head` to the new Head API for Canned Estimator V2.
7637*b6fb3261SAndroid Build Coastguard Worker    *   Switch `multi_class_head` to Head API for Canned Estimator V2.
7638*b6fb3261SAndroid Build Coastguard Worker    *   Replace all occurrences of `tf.contrib.estimator.InMemoryEvaluatorHook`
7639*b6fb3261SAndroid Build Coastguard Worker        and `tf.contrib.estimator.make_stop_at_checkpoint_step_hook` with
7640*b6fb3261SAndroid Build Coastguard Worker        `tf.estimator.experimental.InMemoryEvaluatorHook` and
7641*b6fb3261SAndroid Build Coastguard Worker        `tf.estimator.experimental.make_stop_at_checkpoint_step_hook`
7642*b6fb3261SAndroid Build Coastguard Worker    *   Migrate linear optimizer from contrib to core.
7643*b6fb3261SAndroid Build Coastguard Worker
7644*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
7645*b6fb3261SAndroid Build Coastguard Worker
7646*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
7647*b6fb3261SAndroid Build Coastguard Worker
7648*b6fb3261SAndroid Build Coastguard WorkerAbhinav Upadhyay, Ag Ramesh, akikaaa, Alexis Louis, Anders Huss, Andreas Madsen,
7649*b6fb3261SAndroid Build Coastguard WorkerAndrew Banchich, Andy Craze, Anton Dmitriev, Artem Malykh, Avijit-Nervana,
7650*b6fb3261SAndroid Build Coastguard WorkerBalint Cristian, Benjamin Tan Wei Hao, Bhavani Subramanian, Brendan Finan, Brian
7651*b6fb3261SAndroid Build Coastguard WorkerNemsick, Bryan Cutler, By Shen, Cao Zongyan, Castiel, Chris Antaki, Christian
7652*b6fb3261SAndroid Build Coastguard WorkerGoll, Cibifang, Clayne Robison, Codrut Grosu, Cong Xu, Dalmo Cirne, Daniel
7653*b6fb3261SAndroid Build Coastguard WorkerHunter, Dougal J. Sutherland, Edvard Fagerholm, EFanZh, Erik Smistad, Evgeniy
7654*b6fb3261SAndroid Build Coastguard WorkerPolyakov, Feiyang Chen, franklin5, Fred Reiss, Gautam, gehring, Geoffrey Irving,
7655*b6fb3261SAndroid Build Coastguard WorkerGeorge Sterpu, Gitea, Grzegorz George Pawelczak, Guozhong Zhuang, himkt,
7656*b6fb3261SAndroid Build Coastguard WorkerHoeseong Kim, Huan Li (李卓桓), HuiyangFei, hyunyoung, Isaac Burbank, jackonan,
7657*b6fb3261SAndroid Build Coastguard WorkerJacky Ko, Jason Furmanek, Jason Zaman, Javier Luraschi, Jiang,Zhoulong, joaak,
7658*b6fb3261SAndroid Build Coastguard WorkerJohn Lin, Jonathan Wyatt Hoech, josephyearsley, Josh Gordon, Julian Niedermeier,
7659*b6fb3261SAndroid Build Coastguard WorkerKarl Lessard, Keno Fischer, lanhin, Leon Graser, leondgarse, Li, Guizi, Li,
7660*b6fb3261SAndroid Build Coastguard WorkerYiqiang, lxl910915, Mahmoud Abuzaina, manhyuk, Marcela Morales Quispe,
7661*b6fb3261SAndroid Build Coastguard Workermargaretmz, Matt Conley, Max Pumperla, mbhuiyan, mdfaijul, Meng, Peng, Michael,
7662*b6fb3261SAndroid Build Coastguard WorkerMichael Gielda, mrTsjolder, Muhammad Wildan, neargye, Nehal J Wani, NEWPLAN,
7663*b6fb3261SAndroid Build Coastguard WorkerNiranjan Hasabnis, Nutti, olicht, Pan Daoxin, Pedro Monreal, Peng Yu,
7664*b6fb3261SAndroid Build Coastguard Workerpillarpond, Pooya Davoodi, qiezi, Rholais Lii, Richard Yu, Rin Arakaki, Roger
7665*b6fb3261SAndroid Build Coastguard WorkerIyengar, sahilbadyal, Sami Kama, Sandip Giri, Scott Leishman, Serge Panev,
7666*b6fb3261SAndroid Build Coastguard WorkerSeunghoon Park, Shafi Dayatar, shengfuintel, Shimin Guo, Siju, silent567, Stefan
7667*b6fb3261SAndroid Build Coastguard WorkerDyulgerov, steven, Tao Wei, Thor Johnsen, Tingbo Lu, tomguluson92, Tongxuan Liu,
7668*b6fb3261SAndroid Build Coastguard WorkerTrevor Morris, Ubuntu, Vadim Borisov, vanderliang, wangsiyu, Wen Yun, Wen-Heng
7669*b6fb3261SAndroid Build Coastguard Worker(Jack) Chung, wenxizhu, William D. Irons, Xiaoming (Jason) Cui, Yan Facai (颜发才),
7670*b6fb3261SAndroid Build Coastguard WorkerYanbo Liang, Yaniv Blumenfeld, Yash Gaurkar, Yicheng Fan, Yong Tang, Yongjoon
7671*b6fb3261SAndroid Build Coastguard WorkerLee, Yuan (Terry) Tang, Yuxin Wu, zldrobit
7672*b6fb3261SAndroid Build Coastguard Worker
7673*b6fb3261SAndroid Build Coastguard Worker# Release 1.12.0
7674*b6fb3261SAndroid Build Coastguard Worker
7675*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
7676*b6fb3261SAndroid Build Coastguard Worker
7677*b6fb3261SAndroid Build Coastguard Worker*   Keras models can now be directly exported to the SavedModel
7678*b6fb3261SAndroid Build Coastguard Worker    format(`tf.contrib.saved_model.save_keras_model()`) and used with Tensorflow
7679*b6fb3261SAndroid Build Coastguard Worker    Serving.
7680*b6fb3261SAndroid Build Coastguard Worker*   Keras models now support evaluating with a `tf.data.Dataset`.
7681*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow binaries are built with XLA support linked in by default.
7682*b6fb3261SAndroid Build Coastguard Worker*   Ignite Dataset added to contrib/ignite that allows to work with Apache
7683*b6fb3261SAndroid Build Coastguard Worker    Ignite.
7684*b6fb3261SAndroid Build Coastguard Worker
7685*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
7686*b6fb3261SAndroid Build Coastguard Worker
7687*b6fb3261SAndroid Build Coastguard Worker*   tf.data:
7688*b6fb3261SAndroid Build Coastguard Worker    *   tf.data users can now represent, get, and set options of TensorFlow
7689*b6fb3261SAndroid Build Coastguard Worker        input pipelines using `tf.data.Options()`, `tf.data.Dataset.options()`,
7690*b6fb3261SAndroid Build Coastguard Worker        and `tf.data.Dataset.with_options()` respectively.
7691*b6fb3261SAndroid Build Coastguard Worker    *   New `tf.data.Dataset.reduce()` API allows users to reduce a finite
7692*b6fb3261SAndroid Build Coastguard Worker        dataset to a single element using a user-provided reduce function.
7693*b6fb3261SAndroid Build Coastguard Worker    *   New `tf.data.Dataset.window()` API allows users to create finite windows
7694*b6fb3261SAndroid Build Coastguard Worker        of input dataset; when combined with the `tf.data.Dataset.reduce()` API,
7695*b6fb3261SAndroid Build Coastguard Worker        this allows users to implement customized batching.
7696*b6fb3261SAndroid Build Coastguard Worker    *   All C++ code moves to the `tensorflow::data` namespace.
7697*b6fb3261SAndroid Build Coastguard Worker    *   Add support for `num_parallel_calls` to `tf.data.Dataset.interleave`.
7698*b6fb3261SAndroid Build Coastguard Worker*   `tf.contrib`:
7699*b6fb3261SAndroid Build Coastguard Worker    *   Remove `tf.contrib.linalg`. `tf.linalg` should be used instead.
7700*b6fb3261SAndroid Build Coastguard Worker    *   Replace any calls to `tf.contrib.get_signature_def_by_key(metagraph_def,
7701*b6fb3261SAndroid Build Coastguard Worker        signature_def_key)` with
7702*b6fb3261SAndroid Build Coastguard Worker        `meta_graph_def.signature_def[signature_def_key]`. Catching a ValueError
7703*b6fb3261SAndroid Build Coastguard Worker        exception thrown by `tf.contrib.get_signature_def_by_key` should be
7704*b6fb3261SAndroid Build Coastguard Worker        replaced by catching a KeyError exception.
7705*b6fb3261SAndroid Build Coastguard Worker*   `tf.contrib.data`
7706*b6fb3261SAndroid Build Coastguard Worker    *   Deprecate, and replace by tf.data.experimental.
7707*b6fb3261SAndroid Build Coastguard Worker*   Other:
7708*b6fb3261SAndroid Build Coastguard Worker    *   Instead of jemalloc, revert back to using system malloc since it
7709*b6fb3261SAndroid Build Coastguard Worker        simplifies build and has comparable performance.
7710*b6fb3261SAndroid Build Coastguard Worker    *   Remove integer types from `tf.nn.softplus` and `tf.nn.softsign` OpDefs.
7711*b6fb3261SAndroid Build Coastguard Worker        This is a bugfix; these ops were never meant to support integers.
7712*b6fb3261SAndroid Build Coastguard Worker    *   Allow subslicing Tensors with a single dimension.
7713*b6fb3261SAndroid Build Coastguard Worker    *   Add option to calculate string length in Unicode characters.
7714*b6fb3261SAndroid Build Coastguard Worker    *   Add functionality to SubSlice a tensor.
7715*b6fb3261SAndroid Build Coastguard Worker    *   Add searchsorted (ie lower/upper_bound) op.
7716*b6fb3261SAndroid Build Coastguard Worker    *   Add model explainability to Boosted Trees.
7717*b6fb3261SAndroid Build Coastguard Worker    *   Support negative positions for tf.substr.
7718*b6fb3261SAndroid Build Coastguard Worker    *   There was previously a bug in the bijector_impl where the
7719*b6fb3261SAndroid Build Coastguard Worker        _reduce_jacobian_det_over_event does not handle scalar ILDJ
7720*b6fb3261SAndroid Build Coastguard Worker        implementations properly.
7721*b6fb3261SAndroid Build Coastguard Worker    *   In tf eager execution, allow re-entering a GradientTape context.
7722*b6fb3261SAndroid Build Coastguard Worker    *   Add tf_api_version flag. If --define=tf_api_version=2 flag is passed in,
7723*b6fb3261SAndroid Build Coastguard Worker        then bazel will build TensorFlow API version 2.0. Note that TensorFlow
7724*b6fb3261SAndroid Build Coastguard Worker        2.0 is under active development and has no guarantees at this point.
7725*b6fb3261SAndroid Build Coastguard Worker    *   Add additional compression options to TfRecordWriter.
7726*b6fb3261SAndroid Build Coastguard Worker    *   Performance improvements for regex full match operations.
7727*b6fb3261SAndroid Build Coastguard Worker    *   Replace tf.GraphKeys.VARIABLES with `tf.GraphKeys.GLOBAL_VARIABLES`.
7728*b6fb3261SAndroid Build Coastguard Worker    *   Remove unused dynamic learning rate support.
7729*b6fb3261SAndroid Build Coastguard Worker
7730*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
7731*b6fb3261SAndroid Build Coastguard Worker
7732*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
7733*b6fb3261SAndroid Build Coastguard Worker
7734*b6fb3261SAndroid Build Coastguard Worker(David) Siu-Kei Muk, Ag Ramesh, Anton Dmitriev, Artem Sobolev, Avijit-Nervana,
7735*b6fb3261SAndroid Build Coastguard WorkerBairen Yi, Bruno Goncalves, By Shen, candy.dc, Cheng Chen, Clayne Robison,
7736*b6fb3261SAndroid Build Coastguard Workercoder3101, Dao Zhang, Elms, Fei Hu, feiquan, Geoffrey Irving, Guozhong Zhuang,
7737*b6fb3261SAndroid Build Coastguard Workerhellcom, Hoeseong Kim, imsheridan, Jason Furmanek, Jason Zaman, Jenny Sahng,
7738*b6fb3261SAndroid Build Coastguard Workerjiefangxuanyan, Johannes Bannhofer, Jonathan Homer, Koan-Sin Tan, kouml, Loo
7739*b6fb3261SAndroid Build Coastguard WorkerRong Jie, Lukas Geiger, manipopopo, Ming Li, Moritz KröGer, Naurril, Niranjan
7740*b6fb3261SAndroid Build Coastguard WorkerHasabnis, Pan Daoxin, Peng Yu, pengwa, rasmi, Roger Xin, Roland Fernandez, Sami
7741*b6fb3261SAndroid Build Coastguard WorkerKama, Samuel Matzek, Sangjung Woo, Sergei Lebedev, Sergii Khomenko, shaohua,
7742*b6fb3261SAndroid Build Coastguard WorkerShaohua Zhang, Shujian2015, Sunitha Kambhampati, tomguluson92, ViníCius Camargo,
7743*b6fb3261SAndroid Build Coastguard Workerwangsiyu, weidankong, Wen-Heng (Jack) Chung, William D. Irons, Xin Jin, Yan
7744*b6fb3261SAndroid Build Coastguard WorkerFacai (颜发才), Yanbo Liang, Yash Katariya, Yong Tang, 在原佐为
7745*b6fb3261SAndroid Build Coastguard Worker
7746*b6fb3261SAndroid Build Coastguard Worker# Release 1.11.0
7747*b6fb3261SAndroid Build Coastguard Worker
7748*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
7749*b6fb3261SAndroid Build Coastguard Worker
7750*b6fb3261SAndroid Build Coastguard Worker*   Nvidia GPU:
7751*b6fb3261SAndroid Build Coastguard Worker    *   Prebuilt binaries are now (as of TensorFlow 1.11) built against cuDNN
7752*b6fb3261SAndroid Build Coastguard Worker        7.2 and TensorRT 4. See updated install guides:
7753*b6fb3261SAndroid Build Coastguard Worker        [Installing TensorFlow on Ubuntu](https://www.tensorflow.org/install/install_linux#tensorflow_gpu_support)
7754*b6fb3261SAndroid Build Coastguard Worker*   Google Cloud TPU:
7755*b6fb3261SAndroid Build Coastguard Worker    *   Experimental tf.data integration for Keras on Google Cloud TPUs.
7756*b6fb3261SAndroid Build Coastguard Worker    *   Experimental / preview support for eager execution on Google Cloud TPUs.
7757*b6fb3261SAndroid Build Coastguard Worker*   DistributionStrategy:
7758*b6fb3261SAndroid Build Coastguard Worker    *   Add multi-GPU DistributionStrategy support in tf.keras. Users can now
7759*b6fb3261SAndroid Build Coastguard Worker        use `fit`, `evaluate` and `predict` to distribute their model on
7760*b6fb3261SAndroid Build Coastguard Worker        multiple GPUs.
7761*b6fb3261SAndroid Build Coastguard Worker    *   Add multi-worker DistributionStrategy and standalone client support in
7762*b6fb3261SAndroid Build Coastguard Worker        Estimator. See
7763*b6fb3261SAndroid Build Coastguard Worker        [README](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/distribute)
7764*b6fb3261SAndroid Build Coastguard Worker        for more details.
7765*b6fb3261SAndroid Build Coastguard Worker*   Add C, C++, and Python functions for querying kernels.
7766*b6fb3261SAndroid Build Coastguard Worker
7767*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes
7768*b6fb3261SAndroid Build Coastguard Worker
7769*b6fb3261SAndroid Build Coastguard Worker*   Keras:
7770*b6fb3261SAndroid Build Coastguard Worker    *   The default values for tf.keras `RandomUniform`, `RandomNormal`, and
7771*b6fb3261SAndroid Build Coastguard Worker        `TruncatedNormal` initializers have been changed to match those in
7772*b6fb3261SAndroid Build Coastguard Worker        external Keras.
7773*b6fb3261SAndroid Build Coastguard Worker    *   Breaking change: `model.get_config()` on a Sequential model now returns
7774*b6fb3261SAndroid Build Coastguard Worker        a config dictionary (consistent with other Model instances) instead of a
7775*b6fb3261SAndroid Build Coastguard Worker        list of configs for the underlying layers.
7776*b6fb3261SAndroid Build Coastguard Worker
7777*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
7778*b6fb3261SAndroid Build Coastguard Worker
7779*b6fb3261SAndroid Build Coastguard Worker*   C++:
7780*b6fb3261SAndroid Build Coastguard Worker    *   Changed the signature of SessionFactory::NewSession so that it can
7781*b6fb3261SAndroid Build Coastguard Worker        return a meaningful error message on failure.
7782*b6fb3261SAndroid Build Coastguard Worker*   tf.data:
7783*b6fb3261SAndroid Build Coastguard Worker    *   Remove `num_parallel_parser_calls` argument from
7784*b6fb3261SAndroid Build Coastguard Worker        `tf.contrib.data.make_csv_dataset()`. [tf.data] Remove
7785*b6fb3261SAndroid Build Coastguard Worker        `num_parallel_parser_calls` argument from
7786*b6fb3261SAndroid Build Coastguard Worker        `tf.contrib.data.make_csv_dataset()`.
7787*b6fb3261SAndroid Build Coastguard Worker    *   `tf.data.Dataset.list_files()` raises an exception at initialization
7788*b6fb3261SAndroid Build Coastguard Worker        time if the argument matches no files.
7789*b6fb3261SAndroid Build Coastguard Worker    *   Renamed BigTable class to BigtableTable for clarity
7790*b6fb3261SAndroid Build Coastguard Worker    *   Document use of the Cloud Bigtable API
7791*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.contrib.data.reduce_dataset` which can be used to reduce a
7792*b6fb3261SAndroid Build Coastguard Worker        dataset to a single element.
7793*b6fb3261SAndroid Build Coastguard Worker    *   Generalization of `tf.contrib.data.sliding_window_batch`.
7794*b6fb3261SAndroid Build Coastguard Worker*   INC:
7795*b6fb3261SAndroid Build Coastguard Worker    *   Runtime improvements to triangular solve.
7796*b6fb3261SAndroid Build Coastguard Worker*   `tf.contrib`:
7797*b6fb3261SAndroid Build Coastguard Worker    *   Add an `implementation` argument to `tf.keras.layers.LocallyConnected2D`
7798*b6fb3261SAndroid Build Coastguard Worker        and `tf.keras.layers.LocallyConnected1D`. The new mode
7799*b6fb3261SAndroid Build Coastguard Worker        (`implementation=2`) performs forward pass as a single dense matrix
7800*b6fb3261SAndroid Build Coastguard Worker        multiplication, allowing dramatic speedups in certain scenarios (but
7801*b6fb3261SAndroid Build Coastguard Worker        worse performance in others - see docstring). The option also allows to
7802*b6fb3261SAndroid Build Coastguard Worker        use `padding=same`.
7803*b6fb3261SAndroid Build Coastguard Worker    *   Add documentation clarifying the differences between tf.fill and
7804*b6fb3261SAndroid Build Coastguard Worker        tf.constant.
7805*b6fb3261SAndroid Build Coastguard Worker    *   Add experimental IndexedDatasets.
7806*b6fb3261SAndroid Build Coastguard Worker    *   Add selective registration target using the lite proto runtime.
7807*b6fb3261SAndroid Build Coastguard Worker    *   Add simple Tensor and DataType classes to TensorFlow Lite Java
7808*b6fb3261SAndroid Build Coastguard Worker    *   Add support for bitcasting to/from uint32 and uint64.
7809*b6fb3261SAndroid Build Coastguard Worker    *   Added a subclass of Estimator that can be created from a SavedModel
7810*b6fb3261SAndroid Build Coastguard Worker        (SavedModelEstimator).
7811*b6fb3261SAndroid Build Coastguard Worker    *   Adds leaf index modes as an argument.
7812*b6fb3261SAndroid Build Coastguard Worker    *   Allow a different output shape from the input in
7813*b6fb3261SAndroid Build Coastguard Worker        tf.contrib.image.transform.
7814*b6fb3261SAndroid Build Coastguard Worker    *   Change the state_size order of the StackedRNNCell to be natural order.
7815*b6fb3261SAndroid Build Coastguard Worker        To keep the existing behavior, user can add reverse_state_order=True
7816*b6fb3261SAndroid Build Coastguard Worker        when constructing the StackedRNNCells.
7817*b6fb3261SAndroid Build Coastguard Worker    *   Deprecate self.test_session() in favor of self.session() or
7818*b6fb3261SAndroid Build Coastguard Worker        self.cached_session().
7819*b6fb3261SAndroid Build Coastguard Worker    *   Directly import tensor.proto.h (the transitive import will be removed
7820*b6fb3261SAndroid Build Coastguard Worker        from tensor.h soon).
7821*b6fb3261SAndroid Build Coastguard Worker    *   Estimator.train() now supports tf.contrib.summary.\* summaries out of
7822*b6fb3261SAndroid Build Coastguard Worker        the box; each call to .train() will now create a separate tfevents file
7823*b6fb3261SAndroid Build Coastguard Worker        rather than re-using a shared one.
7824*b6fb3261SAndroid Build Coastguard Worker    *   Fix FTRL L2-shrinkage behavior: the gradient from the L2 shrinkage term
7825*b6fb3261SAndroid Build Coastguard Worker        should not end up in the accumulator.
7826*b6fb3261SAndroid Build Coastguard Worker    *   Fix toco compilation/execution on Windows.
7827*b6fb3261SAndroid Build Coastguard Worker    *   GoogleZoneProvider class added to detect which Google Cloud Engine zone
7828*b6fb3261SAndroid Build Coastguard Worker        tensorflow is running in.
7829*b6fb3261SAndroid Build Coastguard Worker    *   It is now safe to call any of the C API's TF_Delete\* functions on
7830*b6fb3261SAndroid Build Coastguard Worker        nullptr.
7831*b6fb3261SAndroid Build Coastguard Worker    *   Log some errors on Android to logcat.
7832*b6fb3261SAndroid Build Coastguard Worker    *   Match FakeQuant numerics in TFLite to improve accuracy of TFLite
7833*b6fb3261SAndroid Build Coastguard Worker        quantized inference models.
7834*b6fb3261SAndroid Build Coastguard Worker    *   Optional bucket location check for the GCS Filesystem.
7835*b6fb3261SAndroid Build Coastguard Worker    *   Performance enhancements for StringSplitOp & StringSplitV2Op.
7836*b6fb3261SAndroid Build Coastguard Worker    *   Performance improvements for regex replace operations.
7837*b6fb3261SAndroid Build Coastguard Worker    *   TFRecordWriter now raises an error if .write() fails.
7838*b6fb3261SAndroid Build Coastguard Worker    *   TPU: More helpful error messages in TPUClusterResolvers.
7839*b6fb3261SAndroid Build Coastguard Worker    *   The legacy_init_op argument to SavedModelBuilder methods for adding
7840*b6fb3261SAndroid Build Coastguard Worker        MetaGraphs has been deprecated. Please use the equivalent main_op
7841*b6fb3261SAndroid Build Coastguard Worker        argument instead. As part of this, we now explicitly check for a single
7842*b6fb3261SAndroid Build Coastguard Worker        main_op or legacy_init_op at the time of SavedModel building, whereas
7843*b6fb3261SAndroid Build Coastguard Worker        the check on main_op was previously only done at load time.
7844*b6fb3261SAndroid Build Coastguard Worker    *   The protocol used for Estimator training is now configurable in
7845*b6fb3261SAndroid Build Coastguard Worker        RunConfig.
7846*b6fb3261SAndroid Build Coastguard Worker    *   Triangular solve performance improvements.
7847*b6fb3261SAndroid Build Coastguard Worker    *   Unify RNN cell interface between TF and Keras. Add new
7848*b6fb3261SAndroid Build Coastguard Worker        get_initial_state() to Keras and TF RNN cell, which will use to replace
7849*b6fb3261SAndroid Build Coastguard Worker        the existing zero_state() method.
7850*b6fb3261SAndroid Build Coastguard Worker    *   Update initialization of variables in Keras.
7851*b6fb3261SAndroid Build Coastguard Worker    *   Updates to "constrained_optimization" in tensorflow/contrib.
7852*b6fb3261SAndroid Build Coastguard Worker    *   boosted trees: adding pruning mode.
7853*b6fb3261SAndroid Build Coastguard Worker    *   tf.train.Checkpoint does not delete old checkpoints by default.
7854*b6fb3261SAndroid Build Coastguard Worker    *   tfdbg: Limit the total disk space occupied by dumped tensor data to 100
7855*b6fb3261SAndroid Build Coastguard Worker        GBytes. Add environment variable `TFDBG_DISK_BYTES_LIMIT` to allow
7856*b6fb3261SAndroid Build Coastguard Worker        adjustment of this upper limit.
7857*b6fb3261SAndroid Build Coastguard Worker
7858*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
7859*b6fb3261SAndroid Build Coastguard Worker
7860*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
7861*b6fb3261SAndroid Build Coastguard Worker
7862*b6fb3261SAndroid Build Coastguard WorkerAapeli, adoda, Ag Ramesh, Amogh Mannekote, Andrew Gibiansky, Andy Craze, Anirudh
7863*b6fb3261SAndroid Build Coastguard WorkerKoul, Aurelien Geron, Avijit, Avijit-Nervana, Ben, Benjamin H. Myara, bhack,
7864*b6fb3261SAndroid Build Coastguard WorkerBrett Koonce, Cao Zongyan, cbockman, cheerss, Chikanaga Tomoyuki, Clayne
7865*b6fb3261SAndroid Build Coastguard WorkerRobison, cosine0, Cui Wei, Dan J, David, David Norman, Dmitry Klimenkov, Eliel
7866*b6fb3261SAndroid Build Coastguard WorkerHojman, Florian Courtial, fo40225, formath, Geoffrey Irving, gracehoney,
7867*b6fb3261SAndroid Build Coastguard WorkerGrzegorz Pawelczak, Guoliang Hua, Guozhong Zhuang, Herman Zvonimir DošIlović,
7868*b6fb3261SAndroid Build Coastguard WorkerHuiyangFei, Jacker, Jan HüNnemeyer, Jason Taylor, Jason Zaman, Jesse,
7869*b6fb3261SAndroid Build Coastguard WorkerJiang,Zhoulong, Jiawei Zhang, Jie, Joe Yearsley, Johannes Schmitz, Jon Perl, Jon
7870*b6fb3261SAndroid Build Coastguard WorkerTriebenbach, Jonathan, Jonathan Hseu, Jongmin Park, Justin Shenk, [email protected],
7871*b6fb3261SAndroid Build Coastguard WorkerKate Hodesdon, Kb Sriram, Keishi Hattori, Kenneth Blomqvist, Koan-Sin Tan, Li
7872*b6fb3261SAndroid Build Coastguard WorkerLiangbin, Li, Yiqiang, Loo Rong Jie, Madiyar, Mahmoud Abuzaina, Mark Ryan, Matt
7873*b6fb3261SAndroid Build Coastguard WorkerDodge, mbhuiyan, melvinljy96, Miguel Mota, Nafis Sadat, Nathan Luehr, naurril,
7874*b6fb3261SAndroid Build Coastguard WorkerNehal J Wani, Niall Moran, Niranjan Hasabnis, Nishidha Panpaliya, npow, olicht,
7875*b6fb3261SAndroid Build Coastguard WorkerPei Zhang, Peng Wang (Simpeng), Peng Yu, Philipp Jund, Pradeep Banavara, Pratik
7876*b6fb3261SAndroid Build Coastguard WorkerKalshetti, qwertWZ, Rakesh Chada, Randy West, Ray Kim, Rholais Lii, Robin
7877*b6fb3261SAndroid Build Coastguard WorkerRichtsfeld, Rodrigo Silveira, Ruizhi, Santosh Kumar, Seb Bro, Sergei Lebedev,
7878*b6fb3261SAndroid Build Coastguard Workersfujiwara, Shaba Abhiram, Shashi, SneakyFish5, Soila Kavulya, Stefan Dyulgerov,
7879*b6fb3261SAndroid Build Coastguard WorkerSteven Winston, Sunitha Kambhampati, Surry Shome, Taehoon Lee, Thor Johnsen,
7880*b6fb3261SAndroid Build Coastguard WorkerTristan Rice, TShapinsky, tucan, tucan9389, Vicente Reyes, Vilmar-Hillow, Vitaly
7881*b6fb3261SAndroid Build Coastguard WorkerLavrukhin, wangershi, weidan.kong, weidankong, Wen-Heng (Jack) Chung, William D.
7882*b6fb3261SAndroid Build Coastguard WorkerIrons, Wim Glenn, XFeiF, Yan Facai (颜发才), Yanbo Liang, Yong Tang, Yoshihiro
7883*b6fb3261SAndroid Build Coastguard WorkerYamazaki, Yuan (Terry) Tang, Yuan, Man, zhaoyongke, ÁRon Ricardo Perez-Lopez,
7884*b6fb3261SAndroid Build Coastguard Worker张天启, 张晓飞
7885*b6fb3261SAndroid Build Coastguard Worker
7886*b6fb3261SAndroid Build Coastguard Worker# Release 1.10.1
7887*b6fb3261SAndroid Build Coastguard Worker
7888*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
7889*b6fb3261SAndroid Build Coastguard Worker
7890*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
7891*b6fb3261SAndroid Build Coastguard Worker    *   Fixing keras on Cloud TPUs. No new binaries will be built for Windows.
7892*b6fb3261SAndroid Build Coastguard Worker
7893*b6fb3261SAndroid Build Coastguard Worker# Release 1.10.0
7894*b6fb3261SAndroid Build Coastguard Worker
7895*b6fb3261SAndroid Build Coastguard Worker## Major Features And Improvements
7896*b6fb3261SAndroid Build Coastguard Worker
7897*b6fb3261SAndroid Build Coastguard Worker*   The `tf.lite` runtime now supports `complex64`.
7898*b6fb3261SAndroid Build Coastguard Worker*   Initial
7899*b6fb3261SAndroid Build Coastguard Worker    [Google Cloud Bigtable integration](https://github.com/tensorflow/tensorflow/tree/r1.10/tensorflow/contrib/bigtable)
7900*b6fb3261SAndroid Build Coastguard Worker    for `tf.data`.
7901*b6fb3261SAndroid Build Coastguard Worker*   Improved local run behavior in `tf.estimator.train_and_evaluate` which does
7902*b6fb3261SAndroid Build Coastguard Worker    not reload checkpoints for evaluation.
7903*b6fb3261SAndroid Build Coastguard Worker*   `RunConfig` now sets device_filters to restrict how workers and PS can
7904*b6fb3261SAndroid Build Coastguard Worker    communicate. This can speed up training and ensure clean shutdowns in some
7905*b6fb3261SAndroid Build Coastguard Worker    situations. But if you have jobs that require communication between workers,
7906*b6fb3261SAndroid Build Coastguard Worker    you will have to set custom session_options in your `RunConfig`.
7907*b6fb3261SAndroid Build Coastguard Worker*   Moved Distributions and Bijectors from `tf.contrib.distributions` to
7908*b6fb3261SAndroid Build Coastguard Worker    [Tensorflow Probability (TFP)](https://github.com/tensorflow/probability).
7909*b6fb3261SAndroid Build Coastguard Worker    `tf.contrib.distributions` is now deprecated and will be removed by the end
7910*b6fb3261SAndroid Build Coastguard Worker    of 2018.
7911*b6fb3261SAndroid Build Coastguard Worker*   Adding new endpoints for existing tensorflow symbols. These endpoints are
7912*b6fb3261SAndroid Build Coastguard Worker    going to be the preferred endpoints going forward and may replace some of
7913*b6fb3261SAndroid Build Coastguard Worker    the existing endpoints in the future. See below for the complete list. New
7914*b6fb3261SAndroid Build Coastguard Worker    symbols have been added to the following modules:
7915*b6fb3261SAndroid Build Coastguard Worker    [`tf.debugging`](https://www.tensorflow.org/versions/master/api_docs/python/tf/debugging),
7916*b6fb3261SAndroid Build Coastguard Worker    [`tf.dtypes`](https://www.tensorflow.org/versions/master/api_docs/python/tf/dtypes),
7917*b6fb3261SAndroid Build Coastguard Worker    [`tf.image`](https://www.tensorflow.org/versions/master/api_docs/python/tf/image),
7918*b6fb3261SAndroid Build Coastguard Worker    [`tf.io`](https://www.tensorflow.org/versions/master/api_docs/python/tf/io),
7919*b6fb3261SAndroid Build Coastguard Worker    [`tf.linalg`](https://www.tensorflow.org/versions/master/api_docs/python/tf/linalg),
7920*b6fb3261SAndroid Build Coastguard Worker    [`tf.manip`](https://www.tensorflow.org/versions/master/api_docs/python/tf/manip),
7921*b6fb3261SAndroid Build Coastguard Worker    [`tf.math`](https://www.tensorflow.org/versions/master/api_docs/python/tf/math),
7922*b6fb3261SAndroid Build Coastguard Worker    [`tf.quantization`](https://www.tensorflow.org/versions/master/api_docs/python/tf/quantization),
7923*b6fb3261SAndroid Build Coastguard Worker    [`tf.strings`](https://www.tensorflow.org/versions/master/api_docs/python/tf/strings)
7924*b6fb3261SAndroid Build Coastguard Worker
7925*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes
7926*b6fb3261SAndroid Build Coastguard Worker
7927*b6fb3261SAndroid Build Coastguard Worker*   Prebuilt binaries are now (as of TensorFlow 1.10) built against NCCL 2.2 and
7928*b6fb3261SAndroid Build Coastguard Worker    no longer include NCCL in the binary install. TensorFlow usage with multiple
7929*b6fb3261SAndroid Build Coastguard Worker    GPUs and NCCL requires upgrade to
7930*b6fb3261SAndroid Build Coastguard Worker    [NCCL 2.2](https://developer.nvidia.com/nccl). See updated install guides:
7931*b6fb3261SAndroid Build Coastguard Worker    [TensorFlow GPU support](https://www.tensorflow.org/install/gpu) and
7932*b6fb3261SAndroid Build Coastguard Worker    [Build TensorFlow from source](https://www.tensorflow.org/install/source).
7933*b6fb3261SAndroid Build Coastguard Worker*   Starting from TensorFlow 1.11, Windows builds will use Bazel. Therefore, we
7934*b6fb3261SAndroid Build Coastguard Worker    will drop official support for cmake.
7935*b6fb3261SAndroid Build Coastguard Worker
7936*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
7937*b6fb3261SAndroid Build Coastguard Worker
7938*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`:
7939*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.data.group_by_reducer()` is now available via the public
7940*b6fb3261SAndroid Build Coastguard Worker        API.
7941*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.data.choose_from_datasets()` is now available via the public
7942*b6fb3261SAndroid Build Coastguard Worker        API.
7943*b6fb3261SAndroid Build Coastguard Worker    *   Adding `drop_remainder` argument to `tf.data.Dataset.batch()` and
7944*b6fb3261SAndroid Build Coastguard Worker        `tf.data.Dataset.padded_batch()`, deprecating
7945*b6fb3261SAndroid Build Coastguard Worker        `tf.contrib.data.batch_and_drop_remainder()` and
7946*b6fb3261SAndroid Build Coastguard Worker        `tf.contrib.data.padded_batch_and_drop_remainder()`.
7947*b6fb3261SAndroid Build Coastguard Worker*   `tf.estimator`:
7948*b6fb3261SAndroid Build Coastguard Worker    *   `Estimator`s now use custom savers included in `EstimatorSpec` scaffolds
7949*b6fb3261SAndroid Build Coastguard Worker        for saving SavedModels during export.
7950*b6fb3261SAndroid Build Coastguard Worker    *   `EstimatorSpec` will now add a default prediction output for export if
7951*b6fb3261SAndroid Build Coastguard Worker        no `export_output` is provided, eliminating the need to explicitly
7952*b6fb3261SAndroid Build Coastguard Worker        include a `PredictOutput` object in the `model_fn` for simple use-cases.
7953*b6fb3261SAndroid Build Coastguard Worker    *   Support sparse_combiner in canned Linear Estimators.
7954*b6fb3261SAndroid Build Coastguard Worker    *   Added batch normalization to `DNNClassifier`, `DNNRegressor`, and
7955*b6fb3261SAndroid Build Coastguard Worker        `DNNEstimator`.
7956*b6fb3261SAndroid Build Coastguard Worker    *   Adding ranking support for boosted trees.
7957*b6fb3261SAndroid Build Coastguard Worker    *   Adding center bias option for boosted trees.
7958*b6fb3261SAndroid Build Coastguard Worker*   Add `synchronization` and `aggregation` args to get_variable(). These args
7959*b6fb3261SAndroid Build Coastguard Worker    will be used for distributed variables.
7960*b6fb3261SAndroid Build Coastguard Worker*   Add `synchronization` and `aggregation` args to the layer `add_weight()`
7961*b6fb3261SAndroid Build Coastguard Worker    API. These args will be used for distributed variables.
7962*b6fb3261SAndroid Build Coastguard Worker*   `tf.losses.*` do not add to the global collection when executing eagerly (to
7963*b6fb3261SAndroid Build Coastguard Worker    avoid leaking memory).
7964*b6fb3261SAndroid Build Coastguard Worker*   Support different summary and checkpoint directories in
7965*b6fb3261SAndroid Build Coastguard Worker    `tf.train.MonitoredTrainingSession()`.
7966*b6fb3261SAndroid Build Coastguard Worker*   Added IndRNN, IndyGRU, and IndyLSTM cells to `tf.contrib.rnn`.
7967*b6fb3261SAndroid Build Coastguard Worker*   Add safe static factory functions for SparseTensor and convert all CHECKs to
7968*b6fb3261SAndroid Build Coastguard Worker    DCHECKs. Using the constructor directly is unsafe and deprecated.
7969*b6fb3261SAndroid Build Coastguard Worker*   Make the Bigtable client connection pool configurable & increase the
7970*b6fb3261SAndroid Build Coastguard Worker    default # of connections for performance.
7971*b6fb3261SAndroid Build Coastguard Worker*   Added derivative of `tf.random_gamma` with respect to the alpha parameter.
7972*b6fb3261SAndroid Build Coastguard Worker*   Added derivative of `tf.igamma(a, x)` and `tf.igammac(a, x)` with respect to
7973*b6fb3261SAndroid Build Coastguard Worker    a.
7974*b6fb3261SAndroid Build Coastguard Worker*   Modified Bessel functions of order zero and one.
7975*b6fb3261SAndroid Build Coastguard Worker*   Add FillTriangular Bijector to create triangular matrices.
7976*b6fb3261SAndroid Build Coastguard Worker*   Added support for Type III DCT, and `tf.spectral.idct(type=2|3)`.
7977*b6fb3261SAndroid Build Coastguard Worker*   Correctly handle CuDNN RNN weight loaded when nest in `TimeDistributed`.
7978*b6fb3261SAndroid Build Coastguard Worker*   Adding per-element weight support for `WALSComputePartialLhsAndRhsOp`.
7979*b6fb3261SAndroid Build Coastguard Worker*   ZerosLike and OnesLike ops treated as constants by Graph Transform Tool.
7980*b6fb3261SAndroid Build Coastguard Worker*   Gamma distribution and the derived distributions (Beta, Dirichlet, Student's
7981*b6fb3261SAndroid Build Coastguard Worker    t, inverse Gamma) now fully reparameterized.
7982*b6fb3261SAndroid Build Coastguard Worker*   Java: Experimental wrapper classes to make graph generation easier. Thanks
7983*b6fb3261SAndroid Build Coastguard Worker    @karllessard and @kbsriram
7984*b6fb3261SAndroid Build Coastguard Worker*   Build & link in secure gRPC components (switch from the insecure grpc
7985*b6fb3261SAndroid Build Coastguard Worker    dependency to secure grpc dependency).
7986*b6fb3261SAndroid Build Coastguard Worker*   Adding new endpoints for existing tensorflow symbols. These endpoints are
7987*b6fb3261SAndroid Build Coastguard Worker    going to be the preferred endpoints going forward and may replace some of
7988*b6fb3261SAndroid Build Coastguard Worker    the existing endpoints in the future. List of new endpoints:
7989*b6fb3261SAndroid Build Coastguard Worker    *   New endpoints in `tf.image` namespace: `tf.image.extract_image_patches`
7990*b6fb3261SAndroid Build Coastguard Worker    *   New endpoints in `tf.debugging` namespace:
7991*b6fb3261SAndroid Build Coastguard Worker        `tf.debugging.check_numerics`, `tf.debugging.is_finite`,
7992*b6fb3261SAndroid Build Coastguard Worker        `tf.debugging.is_inf`, `tf.debugging.is_nan`.
7993*b6fb3261SAndroid Build Coastguard Worker    *   New endpoints in `tf.dtypes` namespace: `tf.dtypes.as_string`.
7994*b6fb3261SAndroid Build Coastguard Worker    *   New endpoints in `tf.io` namespace: `tf.io.decode_base64`,
7995*b6fb3261SAndroid Build Coastguard Worker        `tf.io.decode_compressed`, `tf.io.decode_json_example`,
7996*b6fb3261SAndroid Build Coastguard Worker        `tf.io.decode_raw`, `tf.io.encode_base64`, `tf.io.matching_files`,
7997*b6fb3261SAndroid Build Coastguard Worker        `tf.io.parse_tensor`, `tf.io.read_file,`tf.io.write_file`.
7998*b6fb3261SAndroid Build Coastguard Worker    *   New endpoints in tf.linalg namespace: `tf.linalg.cross`,
7999*b6fb3261SAndroid Build Coastguard Worker        `tf.linalg.tensor_diag` (corresponds to `tf.diag`),
8000*b6fb3261SAndroid Build Coastguard Worker        `tf.linalg.tensor_diag_part` (corresponds to `tf.diag_part`).
8001*b6fb3261SAndroid Build Coastguard Worker    *   New endpoints in tf.manip namespace: `tf.manip.batch_to_space_nd`,
8002*b6fb3261SAndroid Build Coastguard Worker        `tf.manip.gather_nd`, `tf.manip.reshape`, `tf.manip.reverse`,
8003*b6fb3261SAndroid Build Coastguard Worker        `tf.manip.scatter_nd`, `tf.manip.space_to_batch_nd`, `tf.manip.tile`
8004*b6fb3261SAndroid Build Coastguard Worker    *   New endpoints in tf.math namespace: `tf.math.acos`, `tf.math.acosh`,
8005*b6fb3261SAndroid Build Coastguard Worker        `tf.math.add`, `tf.math.asin`, `tf.math.asinh`, `tf.math.atan`,
8006*b6fb3261SAndroid Build Coastguard Worker        `tf.math.atan2`, `tf.math.atanh`, `tf.math.betainc`, `tf.math.ceil`,
8007*b6fb3261SAndroid Build Coastguard Worker        `tf.math.cos`, `tf.math.cosh`, `tf.math.digamma`, `tf.math.equal`,
8008*b6fb3261SAndroid Build Coastguard Worker        `tf.math.erfc`, `tf.math.exp`, `tf.math.expm1`, `tf.math.floor`,
8009*b6fb3261SAndroid Build Coastguard Worker        `tf.math.greater`, `tf.math.greater_equal`, `tf.math.igamma`,
8010*b6fb3261SAndroid Build Coastguard Worker        `tf.math.igammac`, `tf.math.invert_permutation`, `tf.math.less`,
8011*b6fb3261SAndroid Build Coastguard Worker        `tf.math.less_equal`, `tf.math.lgamma`, `tf.math.log`, `tf.math.log1p`,
8012*b6fb3261SAndroid Build Coastguard Worker        `tf.math.logical_and`, `tf.math.logical_not`, `tf.math.logical_or`,
8013*b6fb3261SAndroid Build Coastguard Worker        `tf.math.maximum`, `tf.math.minimum`, `tf.math.not_equal`,
8014*b6fb3261SAndroid Build Coastguard Worker        `tf.math.polygamma`, `tf.math.reciprocal`, `tf.math.rint`,
8015*b6fb3261SAndroid Build Coastguard Worker        `tf.math.rsqrt`, `tf.math.segment_max`, `tf.math.segment_mean`,
8016*b6fb3261SAndroid Build Coastguard Worker        `tf.math.segment_min`, `tf.math.segment_prod`, `tf.math.segment_sum`,
8017*b6fb3261SAndroid Build Coastguard Worker        `tf.math.sin`, `tf.math.sinh`, `tf.math.softplus`, `tf.math.softsign`,
8018*b6fb3261SAndroid Build Coastguard Worker        `tf.math.squared_difference`, `tf.math.tan`,
8019*b6fb3261SAndroid Build Coastguard Worker        `tf.math.unsorted_segment_max`, `tf.math.unsorted_segment_min`,
8020*b6fb3261SAndroid Build Coastguard Worker        `tf.math.unsorted_segment_prod`, `tf.math.unsorted_segment_sum`,
8021*b6fb3261SAndroid Build Coastguard Worker        `tf.math.zeta`.
8022*b6fb3261SAndroid Build Coastguard Worker    *   New endpoints in `tf.quantization` namespace:
8023*b6fb3261SAndroid Build Coastguard Worker        `tf.quantization.dequantize`,
8024*b6fb3261SAndroid Build Coastguard Worker        `tf.quantization.fake_quant_with_min_max_args`,
8025*b6fb3261SAndroid Build Coastguard Worker        `tf.quantization.fake_quant_with_min_max_args_gradient`,
8026*b6fb3261SAndroid Build Coastguard Worker        `tf.quantization.fake_quant_with_min_max_vars`,
8027*b6fb3261SAndroid Build Coastguard Worker        `tf.quantization.fake_quant_with_min_max_vars_gradient`,
8028*b6fb3261SAndroid Build Coastguard Worker        `tf.quantization.fake_quant_with_min_max_vars_per_channel`,
8029*b6fb3261SAndroid Build Coastguard Worker        `tf.quantization.fake_quant_with_min_max_vars_per_channel_gradient`.
8030*b6fb3261SAndroid Build Coastguard Worker    *   New endpoints in tf.strings namespace: `tf.strings.join` (corresponds to
8031*b6fb3261SAndroid Build Coastguard Worker        `tf.string_join`), `tf.strings.regex_replace`, `tf.strings.to_number`
8032*b6fb3261SAndroid Build Coastguard Worker        (corresponds to `tf.string_to_number`), `tf.strings.strip` (corresponds
8033*b6fb3261SAndroid Build Coastguard Worker        to `tf.string_strip`), `tf.strings.substr`, `tf.strings.to_hash_bucket`
8034*b6fb3261SAndroid Build Coastguard Worker        (corresponds to `tf.string_to_hash_bucket`),
8035*b6fb3261SAndroid Build Coastguard Worker        `tf.strings.to_hash_bucket_fast` (corresponds to
8036*b6fb3261SAndroid Build Coastguard Worker        `tf.string_to_hash_bucket_fast`), `tf.strings.to_hash_bucket_strong`
8037*b6fb3261SAndroid Build Coastguard Worker        (corresponds to `tf.string_to_hash_bucket_strong`).
8038*b6fb3261SAndroid Build Coastguard Worker
8039*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
8040*b6fb3261SAndroid Build Coastguard Worker
8041*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
8042*b6fb3261SAndroid Build Coastguard Worker
8043*b6fb3261SAndroid Build Coastguard WorkerAg Ramesh, Alex Wiltschko, Alexander Pantyukhin, Amogh Mannekote, An Jiaoyang,
8044*b6fb3261SAndroid Build Coastguard WorkerAndrei Nigmatulin, Andrew Ginns, BjøRn Moholt, Brett Koonce, Chengzhi Chen,
8045*b6fb3261SAndroid Build Coastguard WorkerChinmay Das, Christian Ertler, Christoph Boeddeker, Clayne Robison, Courtial
8046*b6fb3261SAndroid Build Coastguard WorkerFlorian, ctiijima, Dan Douthit, Dan J, Dan Ringwalt, EFanZh, Emanuele Ballarin,
8047*b6fb3261SAndroid Build Coastguard Workereqy, Evgeniy Zheltonozhskiy, Freedom" Koan-Sin Tan, FréDéRic Branchaud-Charron,
8048*b6fb3261SAndroid Build Coastguard WorkerG K, gracehoney, Guillaume Klein, Guozhong Zhuang, Hsien-Yang Li, hsm207,
8049*b6fb3261SAndroid Build Coastguard WorkerImSheridan, Jayaram Bobba, Jiandong Ruan, Jie, Joel Shor, Jonas Rauber, Jongmin
8050*b6fb3261SAndroid Build Coastguard WorkerBaek, jsawruk, Karan Kaw, Karl Lessard, [email protected], Kb Sriram, KinmanLam,
8051*b6fb3261SAndroid Build Coastguard Workerleiiwang, Li, Yiqiang, Loo Rong Jie, Mahmoud Abuzaina, Mahmoud Aslan, ManHyuk,
8052*b6fb3261SAndroid Build Coastguard WorkerMartin Patz, Martin Zeitler, mktozk, Mohammad Ashraf Bhuiyan, mrTsjolder, Naman
8053*b6fb3261SAndroid Build Coastguard WorkerBhalla, Nick Felt, Nicolas Lopez, Niranjan Hasabnis, Nishidha Panpaliya, Nitish,
8054*b6fb3261SAndroid Build Coastguard Workernrstott, Nutti, Parag Jain, PeterLee, Philipp Jund, Rach L, Rafal Wojdyla,
8055*b6fb3261SAndroid Build Coastguard WorkerRoland Zimmermann, Sergei Lebedev, SneakyFish5, Soila Kavulya, Sriram Veturi,
8056*b6fb3261SAndroid Build Coastguard WorkerSteven Schmatz, Taehoon Lee, Tang, Wenyi, Taras Sereda, Ted Chang, Tim Zaman,
8057*b6fb3261SAndroid Build Coastguard WorkerTristan Rice, tucan, vchigrin, Vikram Tiwari, Vincent, WeberXie, William D.
8058*b6fb3261SAndroid Build Coastguard WorkerIrons, Yan Facai (颜发才), Yong Tang, Yu Yi, Yuxin Wu, Zé ViníCius
8059*b6fb3261SAndroid Build Coastguard Worker
8060*b6fb3261SAndroid Build Coastguard Worker# Release 1.9.0
8061*b6fb3261SAndroid Build Coastguard Worker
8062*b6fb3261SAndroid Build Coastguard Worker## Major Features And Improvements
8063*b6fb3261SAndroid Build Coastguard Worker
8064*b6fb3261SAndroid Build Coastguard Worker*   Updated docs for `tf.keras`: New Keras-based
8065*b6fb3261SAndroid Build Coastguard Worker    [get started](http://tensorflow.org/versions/r1.9/get_started), and
8066*b6fb3261SAndroid Build Coastguard Worker    [programmers guide page](http://tensorflow.org/versions/r1.9/programmers_guide/keras).
8067*b6fb3261SAndroid Build Coastguard Worker*   Update `tf.keras` to the Keras 2.1.6 API.
8068*b6fb3261SAndroid Build Coastguard Worker*   Added
8069*b6fb3261SAndroid Build Coastguard Worker    [`tf.keras.layers.CuDNNGRU`](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/keras/layers/CuDNNGRU)
8070*b6fb3261SAndroid Build Coastguard Worker    and
8071*b6fb3261SAndroid Build Coastguard Worker    [`tf.keras.layers.CuDNNLSTM`](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/keras/layers/CuDNNLSTM)
8072*b6fb3261SAndroid Build Coastguard Worker    layers.
8073*b6fb3261SAndroid Build Coastguard Worker    [Try it](https://colab.sandbox.google.com/github/tensorflow/tensorflow/blob/master/tensorflow/contrib/eager/python/examples/nmt_with_attention/nmt_with_attention.ipynb?linkId=53292082).
8074*b6fb3261SAndroid Build Coastguard Worker*   Adding support of core
8075*b6fb3261SAndroid Build Coastguard Worker    [feature columns](https://www.tensorflow.org/get_started/feature_columns)
8076*b6fb3261SAndroid Build Coastguard Worker    and [losses](https://www.tensorflow.org/api_docs/python/tf/losses) to
8077*b6fb3261SAndroid Build Coastguard Worker    [gradient boosted trees estimators](https://github.com/tensorflow/models/tree/master/official/r1/boosted_trees).
8078*b6fb3261SAndroid Build Coastguard Worker*   The
8079*b6fb3261SAndroid Build Coastguard Worker    [python interface](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/lite)
8080*b6fb3261SAndroid Build Coastguard Worker    for the
8081*b6fb3261SAndroid Build Coastguard Worker    [TFLite Optimizing Converter](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/toco/README.md)
8082*b6fb3261SAndroid Build Coastguard Worker    has been expanded, and the command line interface (AKA: `toco`,
8083*b6fb3261SAndroid Build Coastguard Worker    `tflite_convert`) is once again included in the standard `pip` installation.
8084*b6fb3261SAndroid Build Coastguard Worker*   Improved data-loading and text processing with:
8085*b6fb3261SAndroid Build Coastguard Worker    *   [`tf.decode_compressed`](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/decode_compressed)
8086*b6fb3261SAndroid Build Coastguard Worker    *   [`tf.string_strip`](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/string_strip)
8087*b6fb3261SAndroid Build Coastguard Worker    *   [`tf.strings.regex_full_match`](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/strings/regex_full_match)
8088*b6fb3261SAndroid Build Coastguard Worker*   Added experimental support for new pre-made Estimators:
8089*b6fb3261SAndroid Build Coastguard Worker    *   [`tf.contrib.estimator.BaselineEstimator`](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/contrib/estimator/BaselineEstimator)
8090*b6fb3261SAndroid Build Coastguard Worker    *   [`tf.contrib.estimator.RNNClassifier`](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/contrib/estimator/RNNEstimator)
8091*b6fb3261SAndroid Build Coastguard Worker    *   [`tf.contrib.estimator.RNNEstimator`](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/contrib/estimator/RNNClassifier)
8092*b6fb3261SAndroid Build Coastguard Worker*   The
8093*b6fb3261SAndroid Build Coastguard Worker    [distributions.Bijector](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/contrib/distributions/bijectors/Bijector)
8094*b6fb3261SAndroid Build Coastguard Worker    API supports broadcasting for Bijectors with new API changes.
8095*b6fb3261SAndroid Build Coastguard Worker
8096*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes
8097*b6fb3261SAndroid Build Coastguard Worker
8098*b6fb3261SAndroid Build Coastguard Worker*   If you're opening empty variable scopes; replace `variable_scope('', ...)`
8099*b6fb3261SAndroid Build Coastguard Worker    by `variable_scope(tf.get_variable_scope(), ...)`.
8100*b6fb3261SAndroid Build Coastguard Worker*   Headers used for building custom ops have been moved from
8101*b6fb3261SAndroid Build Coastguard Worker    site-packages/external into site-packages/tensorflow/include/external.
8102*b6fb3261SAndroid Build Coastguard Worker
8103*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
8104*b6fb3261SAndroid Build Coastguard Worker
8105*b6fb3261SAndroid Build Coastguard Worker*   `tfe.Network` is deprecated. Please inherit from `tf.keras.Model`.
8106*b6fb3261SAndroid Build Coastguard Worker*   Layered variable names have changed in the following conditions:
8107*b6fb3261SAndroid Build Coastguard Worker    *   Using `tf.keras.layers` with custom variable scopes.
8108*b6fb3261SAndroid Build Coastguard Worker    *   Using `tf.layers` in a subclassed `tf.keras.Model` class. See
8109*b6fb3261SAndroid Build Coastguard Worker        [here](https://www.tensorflow.org/versions/r1.9/api_docs/python/tf/layers)
8110*b6fb3261SAndroid Build Coastguard Worker        for more details
8111*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`:
8112*b6fb3261SAndroid Build Coastguard Worker    *   `Dataset.from_generator()` now accepts an `args` list, in order to
8113*b6fb3261SAndroid Build Coastguard Worker        create nested generators.
8114*b6fb3261SAndroid Build Coastguard Worker    *   `Dataset.list_files()` now produces deterministic results when
8115*b6fb3261SAndroid Build Coastguard Worker        `shuffle=False` or a `seed` is passed.
8116*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.data.sample_from_datasets()` and
8117*b6fb3261SAndroid Build Coastguard Worker        `tf.contrib.data.choose_from_datasets()` make it easier to sample or
8118*b6fb3261SAndroid Build Coastguard Worker        deterministically choose elements from multiple datasets.
8119*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.data.make_csv_dataset()` now supports line breaks in quoted
8120*b6fb3261SAndroid Build Coastguard Worker        strings, and two infrequently used arguments removed.
8121*b6fb3261SAndroid Build Coastguard Worker    *   (C++) `DatasetBase::DebugString()` is now `const`.
8122*b6fb3261SAndroid Build Coastguard Worker    *   (C++) `DatasetBase::MakeIterator()` has been renamed to
8123*b6fb3261SAndroid Build Coastguard Worker        `DatasetBase::MakeIteratorInternal()`.
8124*b6fb3261SAndroid Build Coastguard Worker    *   (C++) `IteratorBase::Initialize()` method was added to support raising
8125*b6fb3261SAndroid Build Coastguard Worker        errors during iterator construction.
8126*b6fb3261SAndroid Build Coastguard Worker*   Eager Execution:
8127*b6fb3261SAndroid Build Coastguard Worker    *   Added the ability to pause recording operations for gradient computation
8128*b6fb3261SAndroid Build Coastguard Worker        via `tf.GradientTape.stop_recording`.
8129*b6fb3261SAndroid Build Coastguard Worker    *   Updated documentation, introductory notebooks.
8130*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
8131*b6fb3261SAndroid Build Coastguard Worker    *   Move Keras code out of _impl folder and remove API files.
8132*b6fb3261SAndroid Build Coastguard Worker    *   `tf.keras.Model.save_weights` now saves in TensorFlow format by default.
8133*b6fb3261SAndroid Build Coastguard Worker    *   Enable dataset iterators to be passed to `tf.keras.Model` training/eval
8134*b6fb3261SAndroid Build Coastguard Worker        methods.
8135*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow Debugger (tfdbg) CLI: fix an issue in which the TensorBoard
8136*b6fb3261SAndroid Build Coastguard Worker    Debugger Plugin could not handle total source file size exceeding gRPC
8137*b6fb3261SAndroid Build Coastguard Worker    message size limit (4 MB).
8138*b6fb3261SAndroid Build Coastguard Worker*   `tf.contrib`:
8139*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.framework.zero_initializer` supports ResourceVariable.
8140*b6fb3261SAndroid Build Coastguard Worker    *   Adding "constrained_optimization" to tensorflow/contrib.
8141*b6fb3261SAndroid Build Coastguard Worker*   Other:
8142*b6fb3261SAndroid Build Coastguard Worker    *   Add GCS Configuration Ops.
8143*b6fb3261SAndroid Build Coastguard Worker    *   Changing signature of `MakeIterator` to enable propagating error status.
8144*b6fb3261SAndroid Build Coastguard Worker    *   KL divergence for two Dirichlet distributions.
8145*b6fb3261SAndroid Build Coastguard Worker    *   More consistent GcsFileSystem behavior for certain reads past EOF.
8146*b6fb3261SAndroid Build Coastguard Worker    *   Update benchmark for tf.scan to match ranges across eager and graph
8147*b6fb3261SAndroid Build Coastguard Worker        modes.
8148*b6fb3261SAndroid Build Coastguard Worker    *   Fixed bug in `tf.reduce_prod gradient` for complex dtypes.
8149*b6fb3261SAndroid Build Coastguard Worker    *   Allow the use of '.' in variables (e.g. "hparams.parse('a.b=1.0')"),
8150*b6fb3261SAndroid Build Coastguard Worker        which would previously raise an error. This will correspond to an
8151*b6fb3261SAndroid Build Coastguard Worker        attribute name with an embedded '.' symbol (e.g. 'a.b'), which can only
8152*b6fb3261SAndroid Build Coastguard Worker        be accessed indirectly (e.g. through getattr and setattr). To set this
8153*b6fb3261SAndroid Build Coastguard Worker        up the user will first need to explicitly add the variable to the hparam
8154*b6fb3261SAndroid Build Coastguard Worker        object (e.g. "hparams.add_hparam(name='a.b', value=0.0)").
8155*b6fb3261SAndroid Build Coastguard Worker    *   Benchmark for tf.scan in graph and eager modes.
8156*b6fb3261SAndroid Build Coastguard Worker    *   Added complex128 support to FFT, FFT2D, FFT3D, IFFT, IFFT2D, and IFFT3D.
8157*b6fb3261SAndroid Build Coastguard Worker    *   Making ids unique in `nn.embedding_lookup_sparse`. This helps to reduce
8158*b6fb3261SAndroid Build Coastguard Worker        RPC calls for looking up the embeddings when there are repeated ids in
8159*b6fb3261SAndroid Build Coastguard Worker        the batch.
8160*b6fb3261SAndroid Build Coastguard Worker    *   Support indicator column in boosted trees.
8161*b6fb3261SAndroid Build Coastguard Worker    *   Prevent `tf.gradients()` from backpropagating through integer tensors.
8162*b6fb3261SAndroid Build Coastguard Worker    *   LinearOperator[1D,2D,3D]Circulant added to `tensorflow.linalg`.
8163*b6fb3261SAndroid Build Coastguard Worker    *   Conv3D, Conv3DBackpropInput, Conv3DBackpropFilter now supports
8164*b6fb3261SAndroid Build Coastguard Worker        arbitrary.
8165*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.train.Checkpoint` for reading/writing object-based
8166*b6fb3261SAndroid Build Coastguard Worker        checkpoints.
8167*b6fb3261SAndroid Build Coastguard Worker    *   Added LinearOperatorKronecker, a dense-free implementation of the
8168*b6fb3261SAndroid Build Coastguard Worker        Kronecker Product.
8169*b6fb3261SAndroid Build Coastguard Worker    *   Allow LinearOperator to broadcast.
8170*b6fb3261SAndroid Build Coastguard Worker    *   SavedModelBuilder will now deduplicate asset names that point to files
8171*b6fb3261SAndroid Build Coastguard Worker        with the same basename and the same contents. Note that this may result
8172*b6fb3261SAndroid Build Coastguard Worker        in new asset files included in SavedModels in cases where assets with
8173*b6fb3261SAndroid Build Coastguard Worker        the same name but different contents were previously overwriting each
8174*b6fb3261SAndroid Build Coastguard Worker        other.
8175*b6fb3261SAndroid Build Coastguard Worker
8176*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
8177*b6fb3261SAndroid Build Coastguard Worker
8178*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
8179*b6fb3261SAndroid Build Coastguard Worker
8180*b6fb3261SAndroid Build Coastguard WorkerAbdullah Alrasheed, Achal Shah, Ad-530, ADiegoCAlonso, Aditya Yogi, Ag Ramesh,
8181*b6fb3261SAndroid Build Coastguard Workerakindyakov, Andy Kernahan, Anya Petrova, Aurelien Geron, Ben, Ben Barsdell,
8182*b6fb3261SAndroid Build Coastguard WorkerBhavani-Subramanian, braincodercn, Brett Koonce, Brian Nemsick, Brian Zier,
8183*b6fb3261SAndroid Build Coastguard WorkerBryan Heden, candy.dc, cclauss, Clayne Robison, ctiijima, Dalmo Cirne, David
8184*b6fb3261SAndroid Build Coastguard WorkerNorman, David T.H. Kao, DosLin, ekelsen, Elson Rodriguez, Erik Smistad, Felix
8185*b6fb3261SAndroid Build Coastguard WorkerAbecassis, Fergal Cotter, fo40225, foo0x29a, Freedom" Koan-Sin Tan, FréDéRic
8186*b6fb3261SAndroid Build Coastguard WorkerBranchaud-Charron, gdh1995, Geoffrey Irving, Giuseppe, gracehoney, Guido
8187*b6fb3261SAndroid Build Coastguard WorkerZuidhof, Guillaume Klein, Guozhong Zhuang, Haggai, Harald Husum, imsheridan,
8188*b6fb3261SAndroid Build Coastguard WorkerIvan Zhang, Jan Zikes, Jayaram Bobba, Jesse Benson, Jesse Gumz, Jiajia Li, Jie,
8189*b6fb3261SAndroid Build Coastguard Workerjinghuangintel, Jingwen, jjsjann123, Joe Yearsley, Joel Hestness, Joel Shor,
8190*b6fb3261SAndroid Build Coastguard Workerjosephyearsley, Junpeng Lao, Karol M. Langner, Kb Sriram, krantideep95, Krish
8191*b6fb3261SAndroid Build Coastguard WorkerRavindranath, Letian Feng, Loo Rong Jie, Lukas Geiger, Maciej, Mahmoud Abuzaina,
8192*b6fb3261SAndroid Build Coastguard WorkerManHyuk, Mark Ryan, mbhuiyan, Michal Turek, Mostafa Alaa, Myungsung Kwak, Nand
8193*b6fb3261SAndroid Build Coastguard WorkerDalal, Nehal J Wani, Neil Tenenholtz, ngc92, Nicholas Nadeau, P.Eng., Avs,
8194*b6fb3261SAndroid Build Coastguard WorkerNiranjan Hasabnis, P-Hidringer, Paul Van Eck, Peng Yu, Qing Zhao, Qingying Chen,
8195*b6fb3261SAndroid Build Coastguard WorkerQuanlong, Rajendra Arora, Rholais Lii, rmanyari, Robin Richtsfeld, Russell
8196*b6fb3261SAndroid Build Coastguard WorkerKlopfer, Sagi, Sam Sendelbach, Sandeep N Gupta, Sandip Giri, Sarah Edkins, Scott
8197*b6fb3261SAndroid Build Coastguard WorkerTseng, Sdalbsoo, Sergii Khomenko, Seungwoo Choi (Biggie), Seyed Majid Azimi,
8198*b6fb3261SAndroid Build Coastguard WorkerShaoning Zeng, shengfuintel, Siu Kei, Muk, Smit Shilu, soonson, Stefan Schweter,
8199*b6fb3261SAndroid Build Coastguard WorkerSukhwan Kim, Sunitha Kambhampati, Taehoon Lee, tamimaddari82, Tang, Wenyi, Ted
8200*b6fb3261SAndroid Build Coastguard WorkerChang, u2takey, Utkarsh Upadhyay, Vadim Markovtsev, voegtlel, Wai Hon Law,
8201*b6fb3261SAndroid Build Coastguard Workerwangsiyu, Wenhao Hu, wenhao.hu, William D. Irons, Yan Facai (颜发才), Yanbo Liang,
8202*b6fb3261SAndroid Build Coastguard WorkerYihong Wang, Yilei (Dolee) Yang, Yong Tang, Yuan (Terry) Tang
8203*b6fb3261SAndroid Build Coastguard Worker
8204*b6fb3261SAndroid Build Coastguard Worker# Release 1.8.0
8205*b6fb3261SAndroid Build Coastguard Worker
8206*b6fb3261SAndroid Build Coastguard Worker## Major Features And Improvements
8207*b6fb3261SAndroid Build Coastguard Worker
8208*b6fb3261SAndroid Build Coastguard Worker*   Can now pass `tf.contrib.distribute.MirroredStrategy()` to
8209*b6fb3261SAndroid Build Coastguard Worker    `tf.estimator.RunConfig()` to run an Estimator model on multiple GPUs on one
8210*b6fb3261SAndroid Build Coastguard Worker    machine.
8211*b6fb3261SAndroid Build Coastguard Worker*   Add `tf.contrib.data.prefetch_to_device()`, which supports prefetching to
8212*b6fb3261SAndroid Build Coastguard Worker    GPU memory.
8213*b6fb3261SAndroid Build Coastguard Worker*   Added Gradient Boosted Trees as pre-made Estimators: BoostedTreesClassifier,
8214*b6fb3261SAndroid Build Coastguard Worker    BoostedTreesRegressor.
8215*b6fb3261SAndroid Build Coastguard Worker*   Add 3rd generation pipeline config for Cloud TPUs which improves performance
8216*b6fb3261SAndroid Build Coastguard Worker    and usability.
8217*b6fb3261SAndroid Build Coastguard Worker*   `tf.contrib.bayesflow` is moving out to it's own repo.
8218*b6fb3261SAndroid Build Coastguard Worker*   Added `tf.contrib.{proto,rpc}` to allow generic proto parsing and RPC
8219*b6fb3261SAndroid Build Coastguard Worker    communication<sup>[1](#rpc-issue)</sup>.
8220*b6fb3261SAndroid Build Coastguard Worker
8221*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
8222*b6fb3261SAndroid Build Coastguard Worker
8223*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`:
8224*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.contrib.data.prefetch_to_device`, which enables prefetching
8225*b6fb3261SAndroid Build Coastguard Worker        dataset elements to GPU memory.
8226*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.contrib.data.AUTOTUNE`, which allows the tf.data runtime to
8227*b6fb3261SAndroid Build Coastguard Worker        automatically tune the prefetch buffer sizes based on your system and
8228*b6fb3261SAndroid Build Coastguard Worker        environment.
8229*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.contrib.data.make_csv_dataset` for building datasets of CSV
8230*b6fb3261SAndroid Build Coastguard Worker        files.
8231*b6fb3261SAndroid Build Coastguard Worker*   Eager Execution:
8232*b6fb3261SAndroid Build Coastguard Worker    *   With eager execution Datasets can now be used as standard python
8233*b6fb3261SAndroid Build Coastguard Worker        iterators (`for batch in dataset:`). Both `Dataset.__iter__()` and
8234*b6fb3261SAndroid Build Coastguard Worker        `Dataset.make_one_shot_iterator()` can now be used to create iterators
8235*b6fb3261SAndroid Build Coastguard Worker        when eager execution is enabled.
8236*b6fb3261SAndroid Build Coastguard Worker    *   Automatic device placement has been enabled (i.e., use a GPU if
8237*b6fb3261SAndroid Build Coastguard Worker        available automatically, without requiring an explicit `with
8238*b6fb3261SAndroid Build Coastguard Worker        tf.device(“/gpu:0”)`) (Fixes #14133)
8239*b6fb3261SAndroid Build Coastguard Worker    *   `tf.GradientTape` has moved out of contrib.
8240*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras`:
8241*b6fb3261SAndroid Build Coastguard Worker    *   Added the fashion mnist dataset.
8242*b6fb3261SAndroid Build Coastguard Worker    *   New data preprocessing functions: `image/random_brightness`,
8243*b6fb3261SAndroid Build Coastguard Worker        `sequence/TimeseriesGenerator`, and `text/hashing_trick`.
8244*b6fb3261SAndroid Build Coastguard Worker*   Accelerated Linear Algebra (XLA):
8245*b6fb3261SAndroid Build Coastguard Worker    *   Select and scatter in reference util and evaluator now use
8246*b6fb3261SAndroid Build Coastguard Worker        lexicographical order to break ties.
8247*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow Debugger (tfdbg) CLI:
8248*b6fb3261SAndroid Build Coastguard Worker    *   During tensor-filter operations, allow exclusion of nodes by regular
8249*b6fb3261SAndroid Build Coastguard Worker        expressions.
8250*b6fb3261SAndroid Build Coastguard Worker    *   Fix spurious background colors in some text terminals.
8251*b6fb3261SAndroid Build Coastguard Worker*   `tf.contrib`:
8252*b6fb3261SAndroid Build Coastguard Worker    *   Add meta-distribution BatchReshape which reshapes batch dimensions.
8253*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.layers.recompute_grad` works for explicit gradient
8254*b6fb3261SAndroid Build Coastguard Worker        checkpointing on TPU.
8255*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.contrib.framework.argsort`.
8256*b6fb3261SAndroid Build Coastguard Worker    *   Allow `DNNBoostedTreeCombinedEstimator` to work with core versions of
8257*b6fb3261SAndroid Build Coastguard Worker        feature columns and losses.
8258*b6fb3261SAndroid Build Coastguard Worker    *   Add non-linear image warping ops: `tf.contrib.image.sparse_image_warp`,
8259*b6fb3261SAndroid Build Coastguard Worker        `tf.contrib.image.dense_image_warp`, and
8260*b6fb3261SAndroid Build Coastguard Worker        `tf.contrib.image.interpolate_spline`.
8261*b6fb3261SAndroid Build Coastguard Worker    *   Fix bug in `tf.contrib.opt.MultitaskOptimizerWrapper` where types of
8262*b6fb3261SAndroid Build Coastguard Worker        tensors were mismatched.
8263*b6fb3261SAndroid Build Coastguard Worker*   Other:
8264*b6fb3261SAndroid Build Coastguard Worker    *   Low-level graph construction now calls the TensorFlow C API. This change
8265*b6fb3261SAndroid Build Coastguard Worker        should be invisible to most users, but can be disabled by setting the
8266*b6fb3261SAndroid Build Coastguard Worker        environment variable `TF_C_API_GRAPH_CONSTRUCTION=0` in this release.
8267*b6fb3261SAndroid Build Coastguard Worker        Future releases will remove the ability to disable this change. Please
8268*b6fb3261SAndroid Build Coastguard Worker        [file a bug](https://github.com/tensorflow/tensorflow/issues/new) if you
8269*b6fb3261SAndroid Build Coastguard Worker        find yourself using this escape hatch.
8270*b6fb3261SAndroid Build Coastguard Worker    *   Add description of shapes and a pointer to tutorial notebook in
8271*b6fb3261SAndroid Build Coastguard Worker        `tf.distributions.Distribution`.
8272*b6fb3261SAndroid Build Coastguard Worker    *   Update scatter operations:
8273*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.scatter_min` and `tf.scatter_max`
8274*b6fb3261SAndroid Build Coastguard Worker    *   Extend scatter operations to work with a scalar update parameter.
8275*b6fb3261SAndroid Build Coastguard Worker    *   Move cuDNN RNN ops to core for use in TensorFlow codebase only.
8276*b6fb3261SAndroid Build Coastguard Worker    *   Add `float64` support for `Conv2d`, `Conv2dBackpropInput`, and
8277*b6fb3261SAndroid Build Coastguard Worker        `Conv2dBackpropFilter`.
8278*b6fb3261SAndroid Build Coastguard Worker    *   Add `float64` support for `AvgPool`/`AvgPoolGrad`.
8279*b6fb3261SAndroid Build Coastguard Worker    *   Make graph name scope thread local so that they work correctly in
8280*b6fb3261SAndroid Build Coastguard Worker        multi-threaded environments.
8281*b6fb3261SAndroid Build Coastguard Worker    *   Update nsync synchronization library to avoid slow primitives on Linux.
8282*b6fb3261SAndroid Build Coastguard Worker    *   Removed need to put nsync/public on C include path when building custom
8283*b6fb3261SAndroid Build Coastguard Worker        ops.
8284*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.image.psnr`, `tf.image.ssim`, `tf.image.ssim_multiscale`,
8285*b6fb3261SAndroid Build Coastguard Worker        `tf.image.image_gradients`, `tf.image.sobel_edges`.
8286*b6fb3261SAndroid Build Coastguard Worker    *   Add links to https://js.tensorflow.org.
8287*b6fb3261SAndroid Build Coastguard Worker    *   Fix non-uniformity of orthogonal matrices.
8288*b6fb3261SAndroid Build Coastguard Worker    *   Fix bug where multi-image Estimator eval summaries were not displayed
8289*b6fb3261SAndroid Build Coastguard Worker        correctly.
8290*b6fb3261SAndroid Build Coastguard Worker
8291*b6fb3261SAndroid Build Coastguard Worker<a name="rpc-issue"><sup>1</sup></a> The cancellation logic of the RPC op
8292*b6fb3261SAndroid Build Coastguard Workercontains a concurrency error. A fix has been submitted to master and will be
8293*b6fb3261SAndroid Build Coastguard Workerpart of the next release.
8294*b6fb3261SAndroid Build Coastguard Worker
8295*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
8296*b6fb3261SAndroid Build Coastguard Worker
8297*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
8298*b6fb3261SAndroid Build Coastguard Worker
8299*b6fb3261SAndroid Build Coastguard Worker4d55397500, Aghasy, Alan Du, Alan Lee, Alan Yee, Alex Wiltschko, Animesh
8300*b6fb3261SAndroid Build Coastguard WorkerKarnewar, Ankit Gupta, Anton Matosov, Aris L, Ben Barsdell, Brent Yi, Brett
8301*b6fb3261SAndroid Build Coastguard WorkerKoonce, Carl Thomé, cbockman, Chikanaga Tomoyuki, Chris Tava, CéDric Deltheil,
8302*b6fb3261SAndroid Build Coastguard WorkerDahan Gong, Dalmo Cirne, Daniel Erenrich, David Norman, DavidNorman, Edd
8303*b6fb3261SAndroid Build Coastguard WorkerWilder-James, Fanjin Zeng, Felix Abecassis, fo40225, George Sterpu, Giovanni
8304*b6fb3261SAndroid Build Coastguard WorkerTerlingen, Gor Baghdasaryan, Guillaume Klein, Hanchen Li, Ilya Polenov, Jakub
8305*b6fb3261SAndroid Build Coastguard WorkerKolodziejczyk, Jason Sadler, Jayaram Bobba, Jerry Liu, jinghuangintel, Jiongyan
8306*b6fb3261SAndroid Build Coastguard WorkerZhang (张炯衍), Joel Shor, Jong Wook Kim, Julian Eisenschlos, Karl Lessard, Krish
8307*b6fb3261SAndroid Build Coastguard WorkerRavindranath, Loo Rong Jie, Lukas Geiger, Luke Iwanski, Mahmoud Abuzaina,
8308*b6fb3261SAndroid Build Coastguard WorkerManHyuk, Marvin Richter, Maximilian Mitchell, Mohammad Ashraf Bhuiyan, msofka,
8309*b6fb3261SAndroid Build Coastguard WorkerMustafa Kasap, Nathan Burnham, Nathan Luehr, Naveen Marri, ngc92, nio1814, Oleg
8310*b6fb3261SAndroid Build Coastguard WorkerZabluda, Ou Changkun, Panos Ipeirotis, Paul Van Eck, Peter Lee, Piotr Czapla,
8311*b6fb3261SAndroid Build Coastguard Workerqjivy, Rholais Lii, Rodrigo Formigone, Russell Klopfer, ryantimjohn, Sang Han,
8312*b6fb3261SAndroid Build Coastguard WorkerSebastiáN RamíRez, shengfuintel, Siby Jose Plathottam, Silver Chan, Stanislaw
8313*b6fb3261SAndroid Build Coastguard WorkerAntol, Taehoon Lee, Tarang Chugh, Ted Chang, Thomas Bastiani, Xian Xu, Xiaoming
8314*b6fb3261SAndroid Build Coastguard Worker(Jason) Cui, Yan Facai (颜发才), yaox12, Yashal Shakti Kanungo, Yong Tang, Yuan
8315*b6fb3261SAndroid Build Coastguard Worker(Terry) Tang, Yuxin Wu, Ziyue(Louis) Lu
8316*b6fb3261SAndroid Build Coastguard Worker
8317*b6fb3261SAndroid Build Coastguard Worker# Release 1.7.0
8318*b6fb3261SAndroid Build Coastguard Worker
8319*b6fb3261SAndroid Build Coastguard Worker## Major Features And Improvements
8320*b6fb3261SAndroid Build Coastguard Worker
8321*b6fb3261SAndroid Build Coastguard Worker*   Eager mode is moving out of contrib, try `tf.enable_eager_execution()`.
8322*b6fb3261SAndroid Build Coastguard Worker*   Graph rewrites emulating fixed-point quantization compatible with TensorFlow
8323*b6fb3261SAndroid Build Coastguard Worker    Lite, supported by new `tf.contrib.quantize` package.
8324*b6fb3261SAndroid Build Coastguard Worker*   Easily customize gradient computation with `tf.custom_gradient`.
8325*b6fb3261SAndroid Build Coastguard Worker*   [TensorBoard Debugger Plugin](https://github.com/tensorflow/tensorboard/blob/master/tensorboard/plugins/debugger/README.md),
8326*b6fb3261SAndroid Build Coastguard Worker    the graphical user interface (GUI) of TensorFlow Debugger (tfdbg), is now in
8327*b6fb3261SAndroid Build Coastguard Worker    alpha.
8328*b6fb3261SAndroid Build Coastguard Worker*   Experimental support for reading a sqlite database as a `Dataset` with new
8329*b6fb3261SAndroid Build Coastguard Worker    `tf.contrib.data.SqlDataset`.
8330*b6fb3261SAndroid Build Coastguard Worker*   Distributed Mutex / CriticalSection added to
8331*b6fb3261SAndroid Build Coastguard Worker    `tf.contrib.framework.CriticalSection`.
8332*b6fb3261SAndroid Build Coastguard Worker*   Better text processing with `tf.regex_replace`.
8333*b6fb3261SAndroid Build Coastguard Worker*   Easy, efficient sequence input with
8334*b6fb3261SAndroid Build Coastguard Worker    `tf.contrib.data.bucket_by_sequence_length`
8335*b6fb3261SAndroid Build Coastguard Worker*   Initial support for `tf.contrib.tensorrt` that enables native TensorRT in
8336*b6fb3261SAndroid Build Coastguard Worker    TensorFlow.
8337*b6fb3261SAndroid Build Coastguard Worker
8338*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
8339*b6fb3261SAndroid Build Coastguard Worker
8340*b6fb3261SAndroid Build Coastguard Worker*   Accelerated Linear Algebra (XLA):
8341*b6fb3261SAndroid Build Coastguard Worker    *   Add `MaxPoolGradGrad` support for XLA
8342*b6fb3261SAndroid Build Coastguard Worker    *   CSE pass from Tensorflow is now disabled in XLA.
8343*b6fb3261SAndroid Build Coastguard Worker*   `tf.data`:
8344*b6fb3261SAndroid Build Coastguard Worker    *   `tf.data.Dataset`
8345*b6fb3261SAndroid Build Coastguard Worker    *   Add support for building C++ Dataset op kernels as external libraries,
8346*b6fb3261SAndroid Build Coastguard Worker        using the `tf.load_op_library()` mechanism.
8347*b6fb3261SAndroid Build Coastguard Worker    *   `Dataset.list_files()` now shuffles its output by default.
8348*b6fb3261SAndroid Build Coastguard Worker    *   `Dataset.shuffle(..., seed=tf.constant(0, dtype=tf.int64))` now yields
8349*b6fb3261SAndroid Build Coastguard Worker        the same sequence of elements as `Dataset.shuffle(..., seed=0)`.
8350*b6fb3261SAndroid Build Coastguard Worker    *   Add `num_parallel_reads` argument to `tf.data.TFRecordDataset`.
8351*b6fb3261SAndroid Build Coastguard Worker*   `tf.contrib`:
8352*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.bayesflow.halton_sequence` now supports randomization.
8353*b6fb3261SAndroid Build Coastguard Worker    *   Add support for scalars in `tf.contrib.all_reduce`.
8354*b6fb3261SAndroid Build Coastguard Worker    *   Add `effective_sample_size` to `tf.contrib.bayesflow.mcmc_diagnostics`.
8355*b6fb3261SAndroid Build Coastguard Worker    *   Add `potential_scale_reduction` to
8356*b6fb3261SAndroid Build Coastguard Worker        `tf.contrib.bayesflow.mcmc_diagnostics`.
8357*b6fb3261SAndroid Build Coastguard Worker    *   Add `BatchNormalization`, `Kumaraswamy` bijectors.
8358*b6fb3261SAndroid Build Coastguard Worker    *   Deprecate `tf.contrib.learn`. Please check contrib/learn/README.md for
8359*b6fb3261SAndroid Build Coastguard Worker        instructions on how to convert existing code.
8360*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.data`
8361*b6fb3261SAndroid Build Coastguard Worker    *   Remove deprecated `tf.contrib.data.Dataset`, `tf.contrib.data.Iterator`,
8362*b6fb3261SAndroid Build Coastguard Worker        `tf.contrib.data.FixedLengthRecordDataset`,
8363*b6fb3261SAndroid Build Coastguard Worker        `tf.contrib.data.TextLineDataset`, and `tf.contrib.data.TFRecordDataset`
8364*b6fb3261SAndroid Build Coastguard Worker        classes.
8365*b6fb3261SAndroid Build Coastguard Worker    *   Added `bucket_by_sequence_length`, `sliding_window_batch`, and
8366*b6fb3261SAndroid Build Coastguard Worker        `make_batched_features_dataset`
8367*b6fb3261SAndroid Build Coastguard Worker    *   Remove unmaintained `tf.contrib.ndlstm`. You can find it externally at
8368*b6fb3261SAndroid Build Coastguard Worker        https://github.com/tmbarchive/tfndlstm.
8369*b6fb3261SAndroid Build Coastguard Worker    *   Moved most of `tf.contrib.bayesflow` to its own repo: `tfp`
8370*b6fb3261SAndroid Build Coastguard Worker*   Other:
8371*b6fb3261SAndroid Build Coastguard Worker    *   tf.py_func now reports the full stack trace if an exception occurs.
8372*b6fb3261SAndroid Build Coastguard Worker    *   Integrate `TPUClusterResolver` with GKE's integration for Cloud TPUs.
8373*b6fb3261SAndroid Build Coastguard Worker    *   Add a library for statistical testing of samplers.
8374*b6fb3261SAndroid Build Coastguard Worker    *   Add Helpers to stream data from the GCE VM to a Cloud TPU.
8375*b6fb3261SAndroid Build Coastguard Worker    *   Integrate ClusterResolvers with TPUEstimator.
8376*b6fb3261SAndroid Build Coastguard Worker    *   Unify metropolis_hastings interface with HMC kernel.
8377*b6fb3261SAndroid Build Coastguard Worker    *   Move LIBXSMM convolutions to a separate --define flag so that they are
8378*b6fb3261SAndroid Build Coastguard Worker        disabled by default.
8379*b6fb3261SAndroid Build Coastguard Worker    *   Fix `MomentumOptimizer` lambda.
8380*b6fb3261SAndroid Build Coastguard Worker    *   Reduce `tfp.layers` boilerplate via programmable docstrings.
8381*b6fb3261SAndroid Build Coastguard Worker    *   Add `auc_with_confidence_intervals`, a method for computing the AUC and
8382*b6fb3261SAndroid Build Coastguard Worker        confidence interval with linearithmic time complexity.
8383*b6fb3261SAndroid Build Coastguard Worker    *   `regression_head` now accepts customized link function, to satisfy the
8384*b6fb3261SAndroid Build Coastguard Worker        usage that user can define their own link function if the
8385*b6fb3261SAndroid Build Coastguard Worker        `array_ops.identity` does not meet the requirement.
8386*b6fb3261SAndroid Build Coastguard Worker    *   Fix `initialized_value` and `initial_value` behaviors for
8387*b6fb3261SAndroid Build Coastguard Worker        `ResourceVariables` created from `VariableDef` protos.
8388*b6fb3261SAndroid Build Coastguard Worker    *   Add TensorSpec to represent the specification of Tensors.
8389*b6fb3261SAndroid Build Coastguard Worker    *   Constant folding pass is now deterministic.
8390*b6fb3261SAndroid Build Coastguard Worker    *   Support `float16` `dtype` in `tf.linalg.*`.
8391*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.estimator.export.TensorServingInputReceiver` that allows
8392*b6fb3261SAndroid Build Coastguard Worker        `tf.estimator.Estimator.export_savedmodel` to pass raw tensors to model
8393*b6fb3261SAndroid Build Coastguard Worker        functions.
8394*b6fb3261SAndroid Build Coastguard Worker
8395*b6fb3261SAndroid Build Coastguard Worker## Deprecations
8396*b6fb3261SAndroid Build Coastguard Worker
8397*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow 1.7 may be the last time we support Cuda versions below 8.0.
8398*b6fb3261SAndroid Build Coastguard Worker    Starting with TensorFlow 1.8 release, 8.0 will be the minimum supported
8399*b6fb3261SAndroid Build Coastguard Worker    version.
8400*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow 1.7 may be the last time we support cuDNN versions below 6.0.
8401*b6fb3261SAndroid Build Coastguard Worker    Starting with TensorFlow 1.8 release, 6.0 will be the minimum supported
8402*b6fb3261SAndroid Build Coastguard Worker    version.
8403*b6fb3261SAndroid Build Coastguard Worker
8404*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
8405*b6fb3261SAndroid Build Coastguard Worker
8406*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
8407*b6fb3261SAndroid Build Coastguard Worker
8408*b6fb3261SAndroid Build Coastguard Worker4d55397500, Abe, Alistair Low, Andy Kernahan, Appledore, Ben, Ben Barsdell,
8409*b6fb3261SAndroid Build Coastguard WorkerBoris Pfahringer, Brad Wannow, Brett Koonce, Carl Thomé, cclauss, Chengzhi Chen,
8410*b6fb3261SAndroid Build Coastguard WorkerChris Drake, Christopher Yeh, Clayne Robison, Codrut Grosu, Daniel Trebbien,
8411*b6fb3261SAndroid Build Coastguard WorkerDanny Goodman, David Goodwin, David Norman, Deron Eriksson, Donggeon Lim, Donny
8412*b6fb3261SAndroid Build Coastguard WorkerViszneki, DosLin, DylanDmitri, Francisco Guerrero, Fred Reiss, gdh1995,
8413*b6fb3261SAndroid Build Coastguard WorkerGiuseppe, Glenn Weidner, gracehoney, Guozhong Zhuang, Haichen "Hc" Li, Harald
8414*b6fb3261SAndroid Build Coastguard WorkerHusum, harumitsu.nobuta, Henry Spivey, hsm207, Jekyll Song, Jerome, Jiongyan
8415*b6fb3261SAndroid Build Coastguard WorkerZhang, jjsjann123, John Sungjin Park, Johnson145, JoshVarty, Julian Wolff, Jun
8416*b6fb3261SAndroid Build Coastguard WorkerWang, June-One, Kamil Sindi, Kb Sriram, Kdavis-Mozilla, Kenji, lazypanda1,
8417*b6fb3261SAndroid Build Coastguard WorkerLiang-Chi Hsieh, Loo Rong Jie, Mahesh Bhosale, MandarJKulkarni, ManHyuk, Marcus
8418*b6fb3261SAndroid Build Coastguard WorkerOng, Marshal Hayes, Martin Pool, matthieudelaro, mdfaijul, mholzel, Michael
8419*b6fb3261SAndroid Build Coastguard WorkerZhou, Ming Li, Minmin Sun, Myungjoo Ham, MyungsungKwak, Naman Kamra, Peng Yu,
8420*b6fb3261SAndroid Build Coastguard WorkerPenghao Cen, Phil, Raghuraman-K, resec, Rohin Mohanadas, Sandeep N Gupta, Scott
8421*b6fb3261SAndroid Build Coastguard WorkerTseng, seaotterman, Seo Sanghyeon, Sergei Lebedev, Ted Chang, terrytangyuan, Tim
8422*b6fb3261SAndroid Build Coastguard WorkerH, tkunic, Tod, vihanjain, Yan Facai (颜发才), Yin Li, Yong Tang, Yukun Chen,
8423*b6fb3261SAndroid Build Coastguard WorkerYusuke Yamada
8424*b6fb3261SAndroid Build Coastguard Worker
8425*b6fb3261SAndroid Build Coastguard Worker# Release 1.6.0
8426*b6fb3261SAndroid Build Coastguard Worker
8427*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes
8428*b6fb3261SAndroid Build Coastguard Worker
8429*b6fb3261SAndroid Build Coastguard Worker*   Prebuilt binaries are now built against CUDA 9.0 and cuDNN 7.
8430*b6fb3261SAndroid Build Coastguard Worker*   Prebuilt binaries will use AVX instructions. This may break TF on older
8431*b6fb3261SAndroid Build Coastguard Worker    CPUs.
8432*b6fb3261SAndroid Build Coastguard Worker
8433*b6fb3261SAndroid Build Coastguard Worker## Major Features And Improvements
8434*b6fb3261SAndroid Build Coastguard Worker
8435*b6fb3261SAndroid Build Coastguard Worker*   New Optimizer internal API for non-slot variables. Descendants of
8436*b6fb3261SAndroid Build Coastguard Worker    AdamOptimizer that access _beta[12]_power will need to be updated.
8437*b6fb3261SAndroid Build Coastguard Worker*   `tf.estimator.{FinalExporter,LatestExporter}` now export stripped
8438*b6fb3261SAndroid Build Coastguard Worker    SavedModels. This improves forward compatibility of the SavedModel.
8439*b6fb3261SAndroid Build Coastguard Worker*   FFT support added to XLA CPU/GPU.
8440*b6fb3261SAndroid Build Coastguard Worker
8441*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
8442*b6fb3261SAndroid Build Coastguard Worker
8443*b6fb3261SAndroid Build Coastguard Worker*   Documentation updates:
8444*b6fb3261SAndroid Build Coastguard Worker    *   Added a second version of Getting Started, which is aimed at ML
8445*b6fb3261SAndroid Build Coastguard Worker        newcomers.
8446*b6fb3261SAndroid Build Coastguard Worker    *   Clarified documentation on `resize_images.align_corners` parameter.
8447*b6fb3261SAndroid Build Coastguard Worker    *   Additional documentation for TPUs.
8448*b6fb3261SAndroid Build Coastguard Worker*   Google Cloud Storage (GCS):
8449*b6fb3261SAndroid Build Coastguard Worker    *   Add client-side throttle.
8450*b6fb3261SAndroid Build Coastguard Worker    *   Add a `FlushCaches()` method to the FileSystem interface, with an
8451*b6fb3261SAndroid Build Coastguard Worker        implementation for GcsFileSystem.
8452*b6fb3261SAndroid Build Coastguard Worker*   Other:
8453*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.contrib.distributions.Kumaraswamy`.
8454*b6fb3261SAndroid Build Coastguard Worker    *   `RetryingFileSystem::FlushCaches()` calls the base FileSystem's
8455*b6fb3261SAndroid Build Coastguard Worker        `FlushCaches()`.
8456*b6fb3261SAndroid Build Coastguard Worker    *   Add `auto_correlation` to distributions.
8457*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.contrib.distributions.Autoregressive`.
8458*b6fb3261SAndroid Build Coastguard Worker    *   Add SeparableConv1D layer.
8459*b6fb3261SAndroid Build Coastguard Worker    *   Add convolutional Flipout layers.
8460*b6fb3261SAndroid Build Coastguard Worker    *   When both inputs of `tf.matmul` are bfloat16, it returns bfloat16,
8461*b6fb3261SAndroid Build Coastguard Worker        instead of float32.
8462*b6fb3261SAndroid Build Coastguard Worker    *   Added `tf.contrib.image.connected_components`.
8463*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.contrib.framework.CriticalSection` that allows atomic variable
8464*b6fb3261SAndroid Build Coastguard Worker        access.
8465*b6fb3261SAndroid Build Coastguard Worker    *   Output variance over trees predictions for classifications tasks.
8466*b6fb3261SAndroid Build Coastguard Worker    *   For `pt` and `eval` commands, allow writing tensor values to filesystem
8467*b6fb3261SAndroid Build Coastguard Worker        as numpy files.
8468*b6fb3261SAndroid Build Coastguard Worker    *   gRPC: Propagate truncated errors (instead of returning gRPC internal
8469*b6fb3261SAndroid Build Coastguard Worker        error).
8470*b6fb3261SAndroid Build Coastguard Worker    *   Augment `parallel_interleave` to support 2 kinds of prefetching.
8471*b6fb3261SAndroid Build Coastguard Worker    *   Improved XLA support for C64-related ops log, pow, atan2, tanh.
8472*b6fb3261SAndroid Build Coastguard Worker    *   Add probabilistic convolutional layers.
8473*b6fb3261SAndroid Build Coastguard Worker
8474*b6fb3261SAndroid Build Coastguard Worker## API Changes
8475*b6fb3261SAndroid Build Coastguard Worker
8476*b6fb3261SAndroid Build Coastguard Worker*   Introducing `prepare_variance` boolean with default setting to False for
8477*b6fb3261SAndroid Build Coastguard Worker    backward compatibility.
8478*b6fb3261SAndroid Build Coastguard Worker*   Move `layers_dense_variational_impl.py` to `layers_dense_variational.py`.
8479*b6fb3261SAndroid Build Coastguard Worker
8480*b6fb3261SAndroid Build Coastguard Worker## Known Bugs
8481*b6fb3261SAndroid Build Coastguard Worker
8482*b6fb3261SAndroid Build Coastguard Worker*   Using XLA:GPU with CUDA 9 and CUDA 9.1 results in garbage results and/or
8483*b6fb3261SAndroid Build Coastguard Worker    `CUDA_ILLEGAL_ADDRESS` failures.
8484*b6fb3261SAndroid Build Coastguard Worker
8485*b6fb3261SAndroid Build Coastguard Worker    Google discovered in mid-December 2017 that the PTX-to-SASS compiler in CUDA
8486*b6fb3261SAndroid Build Coastguard Worker    9 and CUDA 9.1 sometimes does not properly compute the carry bit when
8487*b6fb3261SAndroid Build Coastguard Worker    decomposing 64-bit address calculations with large offsets (e.g. `load [x +
8488*b6fb3261SAndroid Build Coastguard Worker    large_constant]`) into 32-bit arithmetic in SASS.
8489*b6fb3261SAndroid Build Coastguard Worker
8490*b6fb3261SAndroid Build Coastguard Worker    As a result, these versions of `ptxas` miscompile most XLA programs which
8491*b6fb3261SAndroid Build Coastguard Worker    use more than 4GB of temp memory. This results in garbage results and/or
8492*b6fb3261SAndroid Build Coastguard Worker    `CUDA_ERROR_ILLEGAL_ADDRESS` failures.
8493*b6fb3261SAndroid Build Coastguard Worker
8494*b6fb3261SAndroid Build Coastguard Worker    A fix in CUDA 9.1.121 is expected in late February 2018. We do not expect a
8495*b6fb3261SAndroid Build Coastguard Worker    fix for CUDA 9.0.x. Until the fix is available, the only workaround is to
8496*b6fb3261SAndroid Build Coastguard Worker    [downgrade](https://developer.nvidia.com/cuda-toolkit-archive) to CUDA 8.0.x
8497*b6fb3261SAndroid Build Coastguard Worker    or disable XLA:GPU.
8498*b6fb3261SAndroid Build Coastguard Worker
8499*b6fb3261SAndroid Build Coastguard Worker    TensorFlow will print a warning if you use XLA:GPU with a known-bad version
8500*b6fb3261SAndroid Build Coastguard Worker    of CUDA; see e00ba24c4038e7644da417ddc639169b6ea59122.
8501*b6fb3261SAndroid Build Coastguard Worker
8502*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
8503*b6fb3261SAndroid Build Coastguard Worker
8504*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
8505*b6fb3261SAndroid Build Coastguard Worker
8506*b6fb3261SAndroid Build Coastguard Worker4d55397500, Ag Ramesh, Aiden Scandella, Akimasa Kimura, Alex Rothberg, Allen
8507*b6fb3261SAndroid Build Coastguard WorkerGoodman, amilioto, Andrei Costinescu, Andrei Nigmatulin, Anjum Sayed, Anthony
8508*b6fb3261SAndroid Build Coastguard WorkerPlatanios, Anush Elangovan, Armando Fandango, Ashish Kumar Ram, Ashwini Shukla,
8509*b6fb3261SAndroid Build Coastguard WorkerBen, Bhavani Subramanian, Brett Koonce, Carl Thomé, cclauss, Cesc, Changming
8510*b6fb3261SAndroid Build Coastguard WorkerSun, Christoph Boeddeker, Clayne Robison, Clemens Schulz, Clint (Woonhyuk Baek),
8511*b6fb3261SAndroid Build Coastguard Workercodrut3, Cole Gerdemann, Colin Raffel, Daniel Trebbien, Daniel Ylitalo, Daniel
8512*b6fb3261SAndroid Build Coastguard WorkerZhang, Daniyar, Darjan Salaj, Dave Maclachlan, David Norman, Dong--Jian,
8513*b6fb3261SAndroid Build Coastguard Workerdongsamb, dssgsra, Edward H, eladweiss, elilienstein, Eric Lilienstein, error.d,
8514*b6fb3261SAndroid Build Coastguard WorkerEunji Jeong, fanlu, Florian Courtial, fo40225, Fred, Gregg Helt, Guozhong
8515*b6fb3261SAndroid Build Coastguard WorkerZhuang, Hanchen Li, hsm207, hyunyoung2, ImSheridan, Ishant Mrinal Haloi, Jacky
8516*b6fb3261SAndroid Build Coastguard WorkerKo, Jay Young, Jean Flaherty, Jerome, JerrikEph, Jesse Kinkead, jfaath, Jian
8517*b6fb3261SAndroid Build Coastguard WorkerLin, jinghuangintel, Jiongyan Zhang, Joel Hestness, Joel Shor, Johnny Chan,
8518*b6fb3261SAndroid Build Coastguard WorkerJulian Niedermeier, Julian Wolff, JxKing, K-W-W, Karl Lessard, Kasper Marstal,
8519*b6fb3261SAndroid Build Coastguard WorkerKeiji Ariyama, Koan-Sin Tan, Loki Der Quaeler, Loo Rong Jie, Luke Schaefer, Lynn
8520*b6fb3261SAndroid Build Coastguard WorkerJackson, ManHyuk, Matt Basta, Matt Smith, Matthew Schulkind, Michael,
8521*b6fb3261SAndroid Build Coastguard Workermichaelkhan3, Miguel Piedrafita, Mikalai Drabovich, Mike Knapp, mjwen, mktozk,
8522*b6fb3261SAndroid Build Coastguard WorkerMohamed Aly, Mohammad Ashraf Bhuiyan, Myungjoo Ham, Naman Bhalla, Namrata-Ibm,
8523*b6fb3261SAndroid Build Coastguard WorkerNathan Luehr, nathansilberman, Netzeband, Niranjan Hasabnis, Omar Aflak, Ozge
8524*b6fb3261SAndroid Build Coastguard WorkerYalcinkaya, Parth P Panchal, patrickzzy, Patryk Chrabaszcz, Paul Van Eck, Paweł
8525*b6fb3261SAndroid Build Coastguard WorkerKapica, Peng Yu, Philip Yang, Pierre Blondeau, Po-Hsien Chu, powderluv, Puyu
8526*b6fb3261SAndroid Build Coastguard WorkerWang, Rajendra Arora, Rasmus, Renat Idrisov, resec, Robin Richtsfeld, Ronald
8527*b6fb3261SAndroid Build Coastguard WorkerEddy Jr, Sahil Singh, Sam Matzek, Sami Kama, sandipmgiri, Santiago Castro, Sayed
8528*b6fb3261SAndroid Build Coastguard WorkerHadi Hashemi, Scott Tseng, Sergii Khomenko, Shahid, Shengpeng Liu, Shreyash
8529*b6fb3261SAndroid Build Coastguard WorkerSharma, Shrinidhi Kl, Simone Cirillo, simsicon, Stanislav Levental,
8530*b6fb3261SAndroid Build Coastguard Workerstarsblinking, Stephen Lumenta, Steven Hickson, Su Tang, Taehoon Lee, Takuya
8531*b6fb3261SAndroid Build Coastguard WorkerWakisaka, Ted Chang, Ted Ying, Tijmen Verhulsdonck, Timofey Kondrashov, vade,
8532*b6fb3261SAndroid Build Coastguard Workervaibhav, Valentin Khrulkov, vchigrin, Victor Costan, Viraj Navkal, Vivek Rane,
8533*b6fb3261SAndroid Build Coastguard Workerwagonhelm, Yan Facai (颜发才), Yanbo Liang, Yaroslav Bulatov, yegord, Yong Tang,
8534*b6fb3261SAndroid Build Coastguard WorkerYoni Tsafir, yordun, Yuan (Terry) Tang, Yuxin Wu, zhengdi, Zhengsheng Wei, 田传武
8535*b6fb3261SAndroid Build Coastguard Worker
8536*b6fb3261SAndroid Build Coastguard Worker# Release 1.5.0
8537*b6fb3261SAndroid Build Coastguard Worker
8538*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes
8539*b6fb3261SAndroid Build Coastguard Worker
8540*b6fb3261SAndroid Build Coastguard Worker*   Prebuilt binaries are now built against CUDA 9.0 and cuDNN 7.
8541*b6fb3261SAndroid Build Coastguard Worker*   Starting from 1.6 release, our prebuilt binaries will use AVX instructions.
8542*b6fb3261SAndroid Build Coastguard Worker    This may break TF on older CPUs.
8543*b6fb3261SAndroid Build Coastguard Worker
8544*b6fb3261SAndroid Build Coastguard Worker## Major Features And Improvements
8545*b6fb3261SAndroid Build Coastguard Worker
8546*b6fb3261SAndroid Build Coastguard Worker*   [Eager execution](https://github.com/tensorflow/tensorflow/tree/r1.5/tensorflow/contrib/eager)
8547*b6fb3261SAndroid Build Coastguard Worker    preview version is now available.
8548*b6fb3261SAndroid Build Coastguard Worker*   [TensorFlow Lite](https://github.com/tensorflow/tensorflow/tree/r1.5/tensorflow/lite)
8549*b6fb3261SAndroid Build Coastguard Worker    dev preview is now available.
8550*b6fb3261SAndroid Build Coastguard Worker*   CUDA 9.0 and cuDNN 7 support.
8551*b6fb3261SAndroid Build Coastguard Worker*   Accelerated Linear Algebra (XLA):
8552*b6fb3261SAndroid Build Coastguard Worker    *   Add `complex64` support to XLA compiler.
8553*b6fb3261SAndroid Build Coastguard Worker    *   `bfloat` support is now added to XLA infrastructure.
8554*b6fb3261SAndroid Build Coastguard Worker    *   Make `ClusterSpec` propagation work with XLA devices.
8555*b6fb3261SAndroid Build Coastguard Worker    *   Use a deterministic executor to generate XLA graph.
8556*b6fb3261SAndroid Build Coastguard Worker*   `tf.contrib`:
8557*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.distributions`:
8558*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.contrib.distributions.Autoregressive`.
8559*b6fb3261SAndroid Build Coastguard Worker    *   Make `tf.contrib.distributions` QuadratureCompound classes support batch
8560*b6fb3261SAndroid Build Coastguard Worker    *   Infer `tf.contrib.distributions.RelaxedOneHotCategorical` `dtype` from
8561*b6fb3261SAndroid Build Coastguard Worker        arguments.
8562*b6fb3261SAndroid Build Coastguard Worker    *   Make `tf.contrib.distributions` quadrature family parameterized by
8563*b6fb3261SAndroid Build Coastguard Worker        `quadrature_grid_and_prob` vs `quadrature_degree`.
8564*b6fb3261SAndroid Build Coastguard Worker    *   `auto_correlation` added to `tf.contrib.distributions`
8565*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.contrib.bayesflow.layers`, a collection of probabilistic
8566*b6fb3261SAndroid Build Coastguard Worker        (neural) layers.
8567*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.contrib.bayesflow.halton_sequence`.
8568*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.contrib.data.make_saveable_from_iterator.`
8569*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.contrib.data.shuffle_and_repeat`.
8570*b6fb3261SAndroid Build Coastguard Worker    *   Add new custom transformation: `tf.contrib.data.scan()`.
8571*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.distributions.bijectors`:
8572*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.contrib.distributions.bijectors.MaskedAutoregressiveFlow`.
8573*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.contrib.distributions.bijectors.Permute`.
8574*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.contrib.distributions.bijectors.Gumbel`.
8575*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.contrib.distributions.bijectors.Reshape`.
8576*b6fb3261SAndroid Build Coastguard Worker    *   Support shape inference (i.e., shapes containing -1) in the Reshape
8577*b6fb3261SAndroid Build Coastguard Worker        bijector.
8578*b6fb3261SAndroid Build Coastguard Worker*   Add `streaming_precision_recall_at_equal_thresholds,` a method for computing
8579*b6fb3261SAndroid Build Coastguard Worker    streaming precision and recall with `O(num_thresholds + size of
8580*b6fb3261SAndroid Build Coastguard Worker    predictions)` time and space complexity.
8581*b6fb3261SAndroid Build Coastguard Worker*   Change `RunConfig` default behavior to not set a random seed, making random
8582*b6fb3261SAndroid Build Coastguard Worker    behavior independently random on distributed workers. We expect this to
8583*b6fb3261SAndroid Build Coastguard Worker    generally improve training performance. Models that do rely on determinism
8584*b6fb3261SAndroid Build Coastguard Worker    should set a random seed explicitly.
8585*b6fb3261SAndroid Build Coastguard Worker*   Replaced the implementation of `tf.flags` with `absl.flags`.
8586*b6fb3261SAndroid Build Coastguard Worker*   Add support for `CUBLAS_TENSOR_OP_MATH` in fp16 GEMM
8587*b6fb3261SAndroid Build Coastguard Worker*   Add support for CUDA on NVIDIA Tegra devices
8588*b6fb3261SAndroid Build Coastguard Worker
8589*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
8590*b6fb3261SAndroid Build Coastguard Worker
8591*b6fb3261SAndroid Build Coastguard Worker*   Documentation updates:
8592*b6fb3261SAndroid Build Coastguard Worker    *   Clarified that you can only install TensorFlow on 64-bit machines.
8593*b6fb3261SAndroid Build Coastguard Worker    *   Added a short doc explaining how `Estimator`s save checkpoints.
8594*b6fb3261SAndroid Build Coastguard Worker    *   Add documentation for ops supported by the `tf2xla` bridge.
8595*b6fb3261SAndroid Build Coastguard Worker    *   Fix minor typos in the doc of `SpaceToDepth` and `DepthToSpace`.
8596*b6fb3261SAndroid Build Coastguard Worker    *   Updated documentation comments in `mfcc_mel_filterbank.h` and `mfcc.h`
8597*b6fb3261SAndroid Build Coastguard Worker        to clarify that the input domain is squared magnitude spectra and the
8598*b6fb3261SAndroid Build Coastguard Worker        weighting is done on linear magnitude spectra (sqrt of inputs).
8599*b6fb3261SAndroid Build Coastguard Worker    *   Change `tf.contrib.distributions` docstring examples to use `tfd` alias
8600*b6fb3261SAndroid Build Coastguard Worker        rather than `ds`, `bs`.
8601*b6fb3261SAndroid Build Coastguard Worker    *   Fix docstring typos in `tf.distributions.bijectors.Bijector`.
8602*b6fb3261SAndroid Build Coastguard Worker    *   `tf.assert_equal` no longer raises `ValueError.` It now raises
8603*b6fb3261SAndroid Build Coastguard Worker        `InvalidArgumentError,` as documented.
8604*b6fb3261SAndroid Build Coastguard Worker    *   Update Getting Started docs and API intro.
8605*b6fb3261SAndroid Build Coastguard Worker*   Google Cloud Storage (GCS):
8606*b6fb3261SAndroid Build Coastguard Worker    *   Add userspace DNS caching for the GCS client.
8607*b6fb3261SAndroid Build Coastguard Worker    *   Customize request timeouts for the GCS filesystem.
8608*b6fb3261SAndroid Build Coastguard Worker    *   Improve GCS filesystem caching.
8609*b6fb3261SAndroid Build Coastguard Worker*   Bug Fixes:
8610*b6fb3261SAndroid Build Coastguard Worker    *   Fix bug where partitioned integer variables got their wrong shapes.
8611*b6fb3261SAndroid Build Coastguard Worker        Before
8612*b6fb3261SAndroid Build Coastguard Worker    *   Fix correctness bug in CPU and GPU implementations of Adadelta.
8613*b6fb3261SAndroid Build Coastguard Worker    *   Fix a bug in `import_meta_graph`'s handling of partitioned variables
8614*b6fb3261SAndroid Build Coastguard Worker        when importing into a scope. WARNING: This may break loading checkpoints
8615*b6fb3261SAndroid Build Coastguard Worker        of graphs with partitioned variables saved after using
8616*b6fb3261SAndroid Build Coastguard Worker        `import_meta_graph` with a non-empty `import_scope` argument.
8617*b6fb3261SAndroid Build Coastguard Worker    *   Fix bug in offline debugger which prevented viewing events.
8618*b6fb3261SAndroid Build Coastguard Worker    *   Added the `WorkerService.DeleteWorkerSession` method to the gRPC
8619*b6fb3261SAndroid Build Coastguard Worker        interface, to fix a memory leak. Ensure that your master and worker
8620*b6fb3261SAndroid Build Coastguard Worker        servers are running the same version of TensorFlow to avoid
8621*b6fb3261SAndroid Build Coastguard Worker        compatibility issues.
8622*b6fb3261SAndroid Build Coastguard Worker    *   Fix bug in peephole implementation of BlockLSTM cell.
8623*b6fb3261SAndroid Build Coastguard Worker    *   Fix bug by casting dtype of `log_det_jacobian` to match `log_prob` in
8624*b6fb3261SAndroid Build Coastguard Worker        `TransformedDistribution`.
8625*b6fb3261SAndroid Build Coastguard Worker    *   Fix a bug in `import_meta_graph`'s handling of partitioned variables
8626*b6fb3261SAndroid Build Coastguard Worker        when
8627*b6fb3261SAndroid Build Coastguard Worker    *   Ensure `tf.distributions.Multinomial` doesn't underflow in `log_prob`.
8628*b6fb3261SAndroid Build Coastguard Worker        Before this change, all partitions of an integer variable were
8629*b6fb3261SAndroid Build Coastguard Worker        initialized with the shape of the unpartitioned variable; after this
8630*b6fb3261SAndroid Build Coastguard Worker        change they are initialized correctly.
8631*b6fb3261SAndroid Build Coastguard Worker*   Other:
8632*b6fb3261SAndroid Build Coastguard Worker    *   Add necessary shape util support for bfloat16.
8633*b6fb3261SAndroid Build Coastguard Worker    *   Add a way to run ops using a step function to MonitoredSession.
8634*b6fb3261SAndroid Build Coastguard Worker    *   Add `DenseFlipout` probabilistic layer.
8635*b6fb3261SAndroid Build Coastguard Worker    *   A new flag `ignore_live_threads` is available on train. If set to
8636*b6fb3261SAndroid Build Coastguard Worker        `True`, it will ignore threads that remain running when tearing down
8637*b6fb3261SAndroid Build Coastguard Worker        infrastructure after successfully completing training, instead of
8638*b6fb3261SAndroid Build Coastguard Worker        throwing a RuntimeError.
8639*b6fb3261SAndroid Build Coastguard Worker    *   Restandardize `DenseVariational` as simpler template for other
8640*b6fb3261SAndroid Build Coastguard Worker        probabilistic layers.
8641*b6fb3261SAndroid Build Coastguard Worker    *   `tf.data` now supports `tf.SparseTensor` components in dataset elements.
8642*b6fb3261SAndroid Build Coastguard Worker    *   It is now possible to iterate over `Tensor`s.
8643*b6fb3261SAndroid Build Coastguard Worker    *   Allow `SparseSegmentReduction` ops to have missing segment IDs.
8644*b6fb3261SAndroid Build Coastguard Worker    *   Modify custom export strategy to account for multidimensional sparse
8645*b6fb3261SAndroid Build Coastguard Worker        float splits.
8646*b6fb3261SAndroid Build Coastguard Worker    *   `Conv2D`, `Conv2DBackpropInput`, `Conv2DBackpropFilter` now supports
8647*b6fb3261SAndroid Build Coastguard Worker        arbitrary dilations with GPU and cuDNNv6 support.
8648*b6fb3261SAndroid Build Coastguard Worker    *   `Estimator` now supports `Dataset`: `input_fn` can return a `Dataset`
8649*b6fb3261SAndroid Build Coastguard Worker        instead of `Tensor`s.
8650*b6fb3261SAndroid Build Coastguard Worker    *   Add `RevBlock`, a memory-efficient implementation of reversible residual
8651*b6fb3261SAndroid Build Coastguard Worker        layers.
8652*b6fb3261SAndroid Build Coastguard Worker    *   Reduce BFCAllocator internal fragmentation.
8653*b6fb3261SAndroid Build Coastguard Worker    *   Add `cross_entropy` and `kl_divergence` to
8654*b6fb3261SAndroid Build Coastguard Worker        `tf.distributions.Distribution`.
8655*b6fb3261SAndroid Build Coastguard Worker    *   Add `tf.nn.softmax_cross_entropy_with_logits_v2` which enables backprop
8656*b6fb3261SAndroid Build Coastguard Worker        w.r.t. the labels.
8657*b6fb3261SAndroid Build Coastguard Worker    *   GPU back-end now uses `ptxas` to compile generated PTX.
8658*b6fb3261SAndroid Build Coastguard Worker    *   `BufferAssignment`'s protocol buffer dump is now deterministic.
8659*b6fb3261SAndroid Build Coastguard Worker    *   Change embedding op to use parallel version of `DynamicStitch`.
8660*b6fb3261SAndroid Build Coastguard Worker    *   Add support for sparse multidimensional feature columns.
8661*b6fb3261SAndroid Build Coastguard Worker    *   Speed up the case for sparse float columns that have only 1 value.
8662*b6fb3261SAndroid Build Coastguard Worker    *   Allow sparse float splits to support multivalent feature columns.
8663*b6fb3261SAndroid Build Coastguard Worker    *   Add `quantile` to `tf.distributions.TransformedDistribution`.
8664*b6fb3261SAndroid Build Coastguard Worker    *   Add `NCHW_VECT_C` support for `tf.depth_to_space` on GPU.
8665*b6fb3261SAndroid Build Coastguard Worker    *   Add `NCHW_VECT_C` support for `tf.space_to_depth` on GPU.
8666*b6fb3261SAndroid Build Coastguard Worker
8667*b6fb3261SAndroid Build Coastguard Worker## API Changes
8668*b6fb3261SAndroid Build Coastguard Worker
8669*b6fb3261SAndroid Build Coastguard Worker*   Rename `SqueezeDims` attribute to `Axis` in C++ API for Squeeze op.
8670*b6fb3261SAndroid Build Coastguard Worker*   `Stream::BlockHostUntilDone` now returns Status rather than bool.
8671*b6fb3261SAndroid Build Coastguard Worker*   Minor refactor: move stats files from `stochastic` to `common` and remove
8672*b6fb3261SAndroid Build Coastguard Worker    `stochastic`.
8673*b6fb3261SAndroid Build Coastguard Worker
8674*b6fb3261SAndroid Build Coastguard Worker## Known Bugs
8675*b6fb3261SAndroid Build Coastguard Worker
8676*b6fb3261SAndroid Build Coastguard Worker*   Using XLA:GPU with CUDA 9 and CUDA 9.1 results in garbage results and/or
8677*b6fb3261SAndroid Build Coastguard Worker    `CUDA_ILLEGAL_ADDRESS` failures.
8678*b6fb3261SAndroid Build Coastguard Worker
8679*b6fb3261SAndroid Build Coastguard Worker    Google discovered in mid-December 2017 that the PTX-to-SASS compiler in CUDA
8680*b6fb3261SAndroid Build Coastguard Worker    9 and CUDA 9.1 sometimes does not properly compute the carry bit when
8681*b6fb3261SAndroid Build Coastguard Worker    decomposing 64-bit address calculations with large offsets (e.g. `load [x +
8682*b6fb3261SAndroid Build Coastguard Worker    large_constant]`) into 32-bit arithmetic in SASS.
8683*b6fb3261SAndroid Build Coastguard Worker
8684*b6fb3261SAndroid Build Coastguard Worker    As a result, these versions of `ptxas` miscompile most XLA programs which
8685*b6fb3261SAndroid Build Coastguard Worker    use more than 4GB of temp memory. This results in garbage results and/or
8686*b6fb3261SAndroid Build Coastguard Worker    `CUDA_ERROR_ILLEGAL_ADDRESS` failures.
8687*b6fb3261SAndroid Build Coastguard Worker
8688*b6fb3261SAndroid Build Coastguard Worker    A fix in CUDA 9.1.121 is expected in late February 2018. We do not expect a
8689*b6fb3261SAndroid Build Coastguard Worker    fix for CUDA 9.0.x. Until the fix is available, the only workaround is to
8690*b6fb3261SAndroid Build Coastguard Worker    [downgrade](https://developer.nvidia.com/cuda-toolkit-archive) to CUDA 8.0.x
8691*b6fb3261SAndroid Build Coastguard Worker    or disable XLA:GPU.
8692*b6fb3261SAndroid Build Coastguard Worker
8693*b6fb3261SAndroid Build Coastguard Worker    TensorFlow will print a warning if you use XLA:GPU with a known-bad version
8694*b6fb3261SAndroid Build Coastguard Worker    of CUDA; see e00ba24c4038e7644da417ddc639169b6ea59122.
8695*b6fb3261SAndroid Build Coastguard Worker
8696*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
8697*b6fb3261SAndroid Build Coastguard Worker
8698*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
8699*b6fb3261SAndroid Build Coastguard Worker
8700*b6fb3261SAndroid Build Coastguard WorkerAdam Zahran, Ag Ramesh, Alan Lee, Alan Yee, Alex Sergeev, Alexander, Amir H.
8701*b6fb3261SAndroid Build Coastguard WorkerJadidinejad, Amy, Anastasios Doumoulakis, Andrei Costinescu, Andrei Nigmatulin,
8702*b6fb3261SAndroid Build Coastguard WorkerAnthony Platanios, Anush Elangovan, arixlin, Armen Donigian, ArtëM Sobolev,
8703*b6fb3261SAndroid Build Coastguard WorkerAtlas7, Ben Barsdell, Bill Prin, Bo Wang, Brett Koonce, Cameron Thomas, Carl
8704*b6fb3261SAndroid Build Coastguard WorkerThomé, Cem Eteke, cglewis, Changming Sun, Charles Shenton, Chi-Hung, Chris
8705*b6fb3261SAndroid Build Coastguard WorkerDonahue, Chris Filo Gorgolewski, Chris Hoyean Song, Chris Tava, Christian Grail,
8706*b6fb3261SAndroid Build Coastguard WorkerChristoph Boeddeker, cinqS, Clayne Robison, codrut3, concerttttt, CQY, Dan
8707*b6fb3261SAndroid Build Coastguard WorkerBecker, Dan Jarvis, Daniel Zhang, David Norman, dmaclach, Dmitry Trifonov,
8708*b6fb3261SAndroid Build Coastguard WorkerDonggeon Lim, dongpilYu, Dr. Kashif Rasul, Edd Wilder-James, Eric Lv, fcharras,
8709*b6fb3261SAndroid Build Coastguard WorkerFelix Abecassis, FirefoxMetzger, formath, FredZhang, Gaojin Cao, Gary Deer,
8710*b6fb3261SAndroid Build Coastguard WorkerGuenther Schmuelling, Hanchen Li, Hanmin Qin, hannesa2, hyunyoung2, Ilya
8711*b6fb3261SAndroid Build Coastguard WorkerEdrenkin, Jackson Kontny, Jan, Javier Luraschi, Jay Young, Jayaram Bobba, Jeff,
8712*b6fb3261SAndroid Build Coastguard WorkerJeff Carpenter, Jeremy Sharpe, Jeroen BéDorf, Jimmy Jia, Jinze Bai, Jiongyan
8713*b6fb3261SAndroid Build Coastguard WorkerZhang, Joe Castagneri, Johan Ju, Josh Varty, Julian Niedermeier, JxKing, Karl
8714*b6fb3261SAndroid Build Coastguard WorkerLessard, Kb Sriram, Keven Wang, Koan-Sin Tan, Kyle Mills, lanhin, LevineHuang,
8715*b6fb3261SAndroid Build Coastguard WorkerLoki Der Quaeler, Loo Rong Jie, Luke Iwanski, LáSzló Csomor, Mahdi Abavisani,
8716*b6fb3261SAndroid Build Coastguard WorkerMahmoud Abuzaina, ManHyuk, Marek ŠUppa, MathSquared, Mats Linander, Matt Wytock,
8717*b6fb3261SAndroid Build Coastguard WorkerMatthew Daley, Maximilian Bachl, mdymczyk, melvyniandrag, Michael Case, Mike
8718*b6fb3261SAndroid Build Coastguard WorkerTraynor, miqlas, Namrata-Ibm, Nathan Luehr, Nathan Van Doorn, Noa Ezra, Nolan
8719*b6fb3261SAndroid Build Coastguard WorkerLiu, Oleg Zabluda, opensourcemattress, Ouwen Huang, Paul Van Eck, peisong, Peng
8720*b6fb3261SAndroid Build Coastguard WorkerYu, PinkySan, pks, powderluv, Qiao Hai-Jun, Qiao Longfei, Rajendra Arora, Ralph
8721*b6fb3261SAndroid Build Coastguard WorkerTang, resec, Robin Richtsfeld, Rohan Varma, Ryohei Kuroki, SaintNazaire, Samuel
8722*b6fb3261SAndroid Build Coastguard WorkerHe, Sandeep Dcunha, sandipmgiri, Sang Han, scott, Scott Mudge, Se-Won Kim, Simon
8723*b6fb3261SAndroid Build Coastguard WorkerPerkins, Simone Cirillo, Steffen Schmitz, Suvojit Manna, Sylvus, Taehoon Lee,
8724*b6fb3261SAndroid Build Coastguard WorkerTed Chang, Thomas Deegan, Till Hoffmann, Tim, Toni Kunic, Toon Verstraelen,
8725*b6fb3261SAndroid Build Coastguard WorkerTristan Rice, Urs KöSter, Utkarsh Upadhyay, Vish (Ishaya) Abrams, Winnie Tsang,
8726*b6fb3261SAndroid Build Coastguard WorkerYan Chen, Yan Facai (颜发才), Yi Yang, Yong Tang, Youssef Hesham, Yuan (Terry)
8727*b6fb3261SAndroid Build Coastguard WorkerTang, Zhengsheng Wei, zxcqwe4906, 张志豪, 田传武
8728*b6fb3261SAndroid Build Coastguard Worker
8729*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and
8730*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions.
8731*b6fb3261SAndroid Build Coastguard Worker
8732*b6fb3261SAndroid Build Coastguard Worker# Release 1.4.1
8733*b6fb3261SAndroid Build Coastguard Worker
8734*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
8735*b6fb3261SAndroid Build Coastguard Worker
8736*b6fb3261SAndroid Build Coastguard Worker*   `LinearClassifier` fix.
8737*b6fb3261SAndroid Build Coastguard Worker
8738*b6fb3261SAndroid Build Coastguard Worker# Release 1.4.0
8739*b6fb3261SAndroid Build Coastguard Worker
8740*b6fb3261SAndroid Build Coastguard Worker## Major Features And Improvements
8741*b6fb3261SAndroid Build Coastguard Worker
8742*b6fb3261SAndroid Build Coastguard Worker*   `tf.keras` is now part of the core TensorFlow API.
8743*b6fb3261SAndroid Build Coastguard Worker*   [`tf.data`](http://tensorflow.org/guide/data) is now part of the core
8744*b6fb3261SAndroid Build Coastguard Worker    TensorFlow API.
8745*b6fb3261SAndroid Build Coastguard Worker    *   The API is now subject to backwards compatibility guarantees.
8746*b6fb3261SAndroid Build Coastguard Worker    *   For a guide to migrating from the `tf.contrib.data` API, see the
8747*b6fb3261SAndroid Build Coastguard Worker        [README](https://github.com/tensorflow/tensorflow/blob/r1.4/tensorflow/contrib/data/README.md).
8748*b6fb3261SAndroid Build Coastguard Worker    *   Major new features include `Dataset.from_generator()` (for building an
8749*b6fb3261SAndroid Build Coastguard Worker        input pipeline from a Python generator), and the `Dataset.apply()`
8750*b6fb3261SAndroid Build Coastguard Worker        method for applying custom transformation functions.
8751*b6fb3261SAndroid Build Coastguard Worker    *   Several custom transformation functions have been added, including
8752*b6fb3261SAndroid Build Coastguard Worker        `tf.contrib.data.batch_and_drop_remainder()` and
8753*b6fb3261SAndroid Build Coastguard Worker        `tf.contrib.data.sloppy_interleave()`.
8754*b6fb3261SAndroid Build Coastguard Worker*   Add `train_and_evaluate` for simple distributed `Estimator` training.
8755*b6fb3261SAndroid Build Coastguard Worker*   Add `tf.spectral.dct` for computing the DCT-II.
8756*b6fb3261SAndroid Build Coastguard Worker*   Add Mel-Frequency Cepstral Coefficient support to `tf.contrib.signal` (with
8757*b6fb3261SAndroid Build Coastguard Worker    GPU and gradient support).
8758*b6fb3261SAndroid Build Coastguard Worker*   Add a self-check on `import tensorflow` for Windows DLL issues.
8759*b6fb3261SAndroid Build Coastguard Worker*   Add NCHW support to `tf.depth_to_space` on GPU.
8760*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow Debugger (tfdbg):
8761*b6fb3261SAndroid Build Coastguard Worker    *   Add `eval` command to allow evaluation of arbitrary Python/numpy
8762*b6fb3261SAndroid Build Coastguard Worker        expressions in tfdbg command-line interface. See
8763*b6fb3261SAndroid Build Coastguard Worker        [Debugging TensorFlow Programs](https://www.tensorflow.org/guide/debugger)
8764*b6fb3261SAndroid Build Coastguard Worker        for more details.
8765*b6fb3261SAndroid Build Coastguard Worker    *   Usability improvement: The frequently used tensor filter
8766*b6fb3261SAndroid Build Coastguard Worker        `has_inf_or_nan` is now added to `Session` wrappers and hooks by
8767*b6fb3261SAndroid Build Coastguard Worker        default. So there is no need for clients to call
8768*b6fb3261SAndroid Build Coastguard Worker        `.add_tensor_filter(tf_debug.has_inf_or_nan)` anymore.
8769*b6fb3261SAndroid Build Coastguard Worker*   SinhArcsinh (scalar) distribution added to `contrib.distributions`.
8770*b6fb3261SAndroid Build Coastguard Worker*   Make `GANEstimator` opensource.
8771*b6fb3261SAndroid Build Coastguard Worker*   `Estimator.export_savedmodel()` now includes all valid serving signatures
8772*b6fb3261SAndroid Build Coastguard Worker    that can be constructed from the Serving Input Receiver and all available
8773*b6fb3261SAndroid Build Coastguard Worker    ExportOutputs. For instance, a classifier may provide regression- and
8774*b6fb3261SAndroid Build Coastguard Worker    prediction-flavored outputs, in addition to the classification-flavored one.
8775*b6fb3261SAndroid Build Coastguard Worker    Building signatures from these allows TF Serving to honor requests using the
8776*b6fb3261SAndroid Build Coastguard Worker    different APIs (Classify, Regress, and Predict). Furthermore,
8777*b6fb3261SAndroid Build Coastguard Worker    `serving_input_receiver_fn()` may now specify alternative subsets of nodes
8778*b6fb3261SAndroid Build Coastguard Worker    that may act as inputs. This allows, for instance, producing a prediction
8779*b6fb3261SAndroid Build Coastguard Worker    signature for a classifier that accepts raw `Tensors` instead of a
8780*b6fb3261SAndroid Build Coastguard Worker    serialized `tf.Example`.
8781*b6fb3261SAndroid Build Coastguard Worker*   Add `tf.contrib.bayesflow.hmc`.
8782*b6fb3261SAndroid Build Coastguard Worker*   Add `tf.contrib.distributions.MixtureSameFamily`.
8783*b6fb3261SAndroid Build Coastguard Worker*   Make `Dataset.shuffle()` always reshuffles after each iteration by default.
8784*b6fb3261SAndroid Build Coastguard Worker*   Add `tf.contrib.bayesflow.metropolis_hastings`.
8785*b6fb3261SAndroid Build Coastguard Worker*   Add `log_rate` parameter to `tf.contrib.distributions.Poisson`.
8786*b6fb3261SAndroid Build Coastguard Worker*   Extend `tf.contrib.distributions.bijector` API to handle some non-injective
8787*b6fb3261SAndroid Build Coastguard Worker    transforms.
8788*b6fb3261SAndroid Build Coastguard Worker*   Java:
8789*b6fb3261SAndroid Build Coastguard Worker    *   Generics (e.g., `Tensor<Integer>`) for improved type-safety (courtesy
8790*b6fb3261SAndroid Build Coastguard Worker        @andrewcmyers).
8791*b6fb3261SAndroid Build Coastguard Worker    *   Support for multi-dimensional string tensors.
8792*b6fb3261SAndroid Build Coastguard Worker    *   Support loading of custom operations (e.g. many in `tf.contrib`) on
8793*b6fb3261SAndroid Build Coastguard Worker        Linux and OS X
8794*b6fb3261SAndroid Build Coastguard Worker*   All our prebuilt binaries have been built with CUDA 8 and cuDNN 6. We
8795*b6fb3261SAndroid Build Coastguard Worker    anticipate releasing TensorFlow 1.5 with CUDA 9 and cuDNN 7.
8796*b6fb3261SAndroid Build Coastguard Worker
8797*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
8798*b6fb3261SAndroid Build Coastguard Worker
8799*b6fb3261SAndroid Build Coastguard Worker*   `tf.nn.rnn_cell.DropoutWrapper` is now more careful about dropping out LSTM
8800*b6fb3261SAndroid Build Coastguard Worker    states. Specifically, it no longer ever drops the `c` (memory) state of an
8801*b6fb3261SAndroid Build Coastguard Worker    `LSTMStateTuple`. The new behavior leads to proper dropout behavior for
8802*b6fb3261SAndroid Build Coastguard Worker    LSTMs and stacked LSTMs. This bug fix follows recommendations from published
8803*b6fb3261SAndroid Build Coastguard Worker    literature, but is a behavioral change. State dropout behavior may be
8804*b6fb3261SAndroid Build Coastguard Worker    customized via the new `dropout_state_filter_visitor` argument.
8805*b6fb3261SAndroid Build Coastguard Worker*   Removed `tf.contrib.training.python_input`. The same behavior, in a more
8806*b6fb3261SAndroid Build Coastguard Worker    flexible and reproducible package, is available via the new
8807*b6fb3261SAndroid Build Coastguard Worker    `tf.contrib.data.Dataset.from_generator` method!
8808*b6fb3261SAndroid Build Coastguard Worker*   Fix `tf.contrib.distributions.Affine` incorrectly computing
8809*b6fb3261SAndroid Build Coastguard Worker    log-det-jacobian.
8810*b6fb3261SAndroid Build Coastguard Worker*   Fix `tf.random_gamma` incorrectly handling non-batch, scalar draws.
8811*b6fb3261SAndroid Build Coastguard Worker*   Resolved a race condition in TensorForest TreePredictionsV4Op.
8812*b6fb3261SAndroid Build Coastguard Worker*   Google Cloud Storage file system, Amazon S3 file system, and Hadoop file
8813*b6fb3261SAndroid Build Coastguard Worker    system support are now default build options.
8814*b6fb3261SAndroid Build Coastguard Worker*   Custom op libraries must link against libtensorflow_framework.so (installed
8815*b6fb3261SAndroid Build Coastguard Worker    at `tf.sysconfig.get_lib()`).
8816*b6fb3261SAndroid Build Coastguard Worker*   Change `RunConfig` default behavior to not set a random seed, making random
8817*b6fb3261SAndroid Build Coastguard Worker    behavior independently random on distributed workers. We expect this to
8818*b6fb3261SAndroid Build Coastguard Worker    generally improve training performance. Models that do rely on determinism
8819*b6fb3261SAndroid Build Coastguard Worker    should set a random seed explicitly.
8820*b6fb3261SAndroid Build Coastguard Worker
8821*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes to the API
8822*b6fb3261SAndroid Build Coastguard Worker
8823*b6fb3261SAndroid Build Coastguard Worker*   The signature of the `tf.contrib.data.rejection_resample()` function has
8824*b6fb3261SAndroid Build Coastguard Worker    been changed. It now returns a function that can be used as an argument to
8825*b6fb3261SAndroid Build Coastguard Worker    `Dataset.apply()`.
8826*b6fb3261SAndroid Build Coastguard Worker*   Remove `tf.contrib.data.Iterator.from_dataset()` method. Use
8827*b6fb3261SAndroid Build Coastguard Worker    `Dataset.make_initializable_iterator()` instead.
8828*b6fb3261SAndroid Build Coastguard Worker*   Remove seldom used and unnecessary `tf.contrib.data.Iterator.dispose_op()`.
8829*b6fb3261SAndroid Build Coastguard Worker*   Reorder some TF-GAN loss functions in a non-backwards compatible way.
8830*b6fb3261SAndroid Build Coastguard Worker
8831*b6fb3261SAndroid Build Coastguard Worker## Known Issues
8832*b6fb3261SAndroid Build Coastguard Worker
8833*b6fb3261SAndroid Build Coastguard Worker*   In Python 3, `Dataset.from_generator()` does not support Unicode strings.
8834*b6fb3261SAndroid Build Coastguard Worker    You must convert any strings to bytes objects before yielding them from the
8835*b6fb3261SAndroid Build Coastguard Worker    generator.
8836*b6fb3261SAndroid Build Coastguard Worker
8837*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
8838*b6fb3261SAndroid Build Coastguard Worker
8839*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
8840*b6fb3261SAndroid Build Coastguard Worker
8841*b6fb3261SAndroid Build Coastguard Worker4d55397500, Abdullah Alrasheed, abenmao, Adam Salvail, Aditya Dhulipala, Ag
8842*b6fb3261SAndroid Build Coastguard WorkerRamesh, Akimasa Kimura, Alan Du, Alan Yee, Alexander, Amit Kushwaha, Amy, Andrei
8843*b6fb3261SAndroid Build Coastguard WorkerCostinescu, Andrei Nigmatulin, Andrew Erlichson, Andrew Myers, Andrew Stepanov,
8844*b6fb3261SAndroid Build Coastguard WorkerAndrobin, AngryPowman, Anish Shah, Anton Daitche, Artsiom Chapialiou, asdf2014,
8845*b6fb3261SAndroid Build Coastguard WorkerAseem Raj Baranwal, Ash Hall, Bart Kiers, Batchu Venkat Vishal, ben, Ben
8846*b6fb3261SAndroid Build Coastguard WorkerBarsdell, Bill Piel, Carl Thomé, Catalin Voss, Changming Sun, Chengzhi Chen, Chi
8847*b6fb3261SAndroid Build Coastguard WorkerZeng, Chris Antaki, Chris Donahue, Chris Oelmueller, Chris Tava, Clayne Robison,
8848*b6fb3261SAndroid Build Coastguard WorkerCodrut, Courtial Florian, Dalmo Cirne, Dan J, Darren Garvey, David
8849*b6fb3261SAndroid Build Coastguard WorkerKristoffersson, David Norman, David RöThlisberger, DavidNorman, Dhruv, DimanNe,
8850*b6fb3261SAndroid Build Coastguard WorkerDorokhov, Duncan Mac-Vicar P, EdwardDixon, EMCP, error.d, FAIJUL, Fan Xia,
8851*b6fb3261SAndroid Build Coastguard WorkerFrancois Xavier, Fred Reiss, Freedom" Koan-Sin Tan, Fritz Obermeyer, Gao, Xiang,
8852*b6fb3261SAndroid Build Coastguard WorkerGuenther Schmuelling, Guo Yejun (郭叶军), Hans Gaiser, HectorSVC, Hyungsuk Yoon,
8853*b6fb3261SAndroid Build Coastguard WorkerJames Pruegsanusak, Jay Young, Jean Wanka, Jeff Carpenter, Jeremy Rutman, Jeroen
8854*b6fb3261SAndroid Build Coastguard WorkerBéDorf, Jett Jones, Jimmy Jia, jinghuangintel, jinze1994, JKurland, Joel
8855*b6fb3261SAndroid Build Coastguard WorkerHestness, joetoth, John B Nelson, John Impallomeni, John Lawson, Jonas, Jonathan
8856*b6fb3261SAndroid Build Coastguard WorkerDekhtiar, joshkyh, Jun Luan, Jun Mei, Kai Sasaki, Karl Lessard, [email protected], Kb
8857*b6fb3261SAndroid Build Coastguard WorkerSriram, Kenichi Ueno, Kevin Slagle, Kongsea, Lakshay Garg, lhlmgr, Lin Min,
8858*b6fb3261SAndroid Build Coastguard Workerliu.guangcong, Loki Der Quaeler, Louie Helm, lucasmoura, Luke Iwanski, Lyndon
8859*b6fb3261SAndroid Build Coastguard WorkerWhite, Mahmoud Abuzaina, Marcel Puyat, Mark Aaron Shirley, Michele Colombo,
8860*b6fb3261SAndroid Build Coastguard WorkerMtDersvan, Namrata-Ibm, Nathan Luehr, Naurril, Nayana Thorat, Nicolas Lopez,
8861*b6fb3261SAndroid Build Coastguard WorkerNiranjan Hasabnis, Nolan Liu, Nouce, Oliver Hennigh, osdamv, Patrik Erdes,
8862*b6fb3261SAndroid Build Coastguard WorkerPatryk Chrabaszcz, Pavel Christof, Penghao Cen, postBG, Qingqing Cao, Qingying
8863*b6fb3261SAndroid Build Coastguard WorkerChen, qjivy, Raphael, Rasmi, raymondxyang, Renze Yu, resec, Roffel, Ruben
8864*b6fb3261SAndroid Build Coastguard WorkerVereecken, Ryohei Kuroki, sandipmgiri, Santiago Castro, Scott Kirkland, Sean
8865*b6fb3261SAndroid Build Coastguard WorkerVig, Sebastian Raschka, Sebastian Weiss, Sergey Kolesnikov, Sergii Khomenko,
8866*b6fb3261SAndroid Build Coastguard WorkerShahid, Shivam Kotwalia, Stuart Berg, Sumit Gouthaman, superzerg, Sven Mayer,
8867*b6fb3261SAndroid Build Coastguard Workertetris, Ti Zhou, Tiago Freitas Pereira, Tian Jin, Tomoaki Oiki, Vaibhav Sood,
8868*b6fb3261SAndroid Build Coastguard Workervfdev, Vivek Rane, Vladimir Moskva, wangqr, Weber Xie, Will Frey, Yan Facai
8869*b6fb3261SAndroid Build Coastguard Worker(颜发才), yanivbl6, Yaroslav Bulatov, Yixing Lao, Yong Tang, youkaichao, Yuan
8870*b6fb3261SAndroid Build Coastguard Worker(Terry) Tang, Yue Zhang, Yuxin Wu, Ziming Dong, ZxYuan, 黄璞
8871*b6fb3261SAndroid Build Coastguard Worker
8872*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and
8873*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions.
8874*b6fb3261SAndroid Build Coastguard Worker
8875*b6fb3261SAndroid Build Coastguard Worker# Release 1.3.0
8876*b6fb3261SAndroid Build Coastguard Worker
8877*b6fb3261SAndroid Build Coastguard WorkerSee also
8878*b6fb3261SAndroid Build Coastguard Worker[TensorBoard 0.1.4](https://github.com/tensorflow/tensorboard/releases/tag/0.1.4)
8879*b6fb3261SAndroid Build Coastguard Workerrelease notes.
8880*b6fb3261SAndroid Build Coastguard Worker
8881*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
8882*b6fb3261SAndroid Build Coastguard Worker
8883*b6fb3261SAndroid Build Coastguard Worker*   Added canned estimators to Tensorflow library. List of added estimators:
8884*b6fb3261SAndroid Build Coastguard Worker    *   `DNNClassifier`
8885*b6fb3261SAndroid Build Coastguard Worker    *   `DNNRegressor`
8886*b6fb3261SAndroid Build Coastguard Worker    *   `LinearClassifier`
8887*b6fb3261SAndroid Build Coastguard Worker    *   `LinearRegressor`
8888*b6fb3261SAndroid Build Coastguard Worker    *   `DNNLinearCombinedClassifier`
8889*b6fb3261SAndroid Build Coastguard Worker    *   `DNNLinearCombinedRegressor`.
8890*b6fb3261SAndroid Build Coastguard Worker*   All our prebuilt binaries have been built with cuDNN 6. We anticipate
8891*b6fb3261SAndroid Build Coastguard Worker    releasing TensorFlow 1.4 with cuDNN 7.
8892*b6fb3261SAndroid Build Coastguard Worker*   `import tensorflow` now goes much faster.
8893*b6fb3261SAndroid Build Coastguard Worker*   Adds a file cache to the GCS filesystem with configurable max staleness for
8894*b6fb3261SAndroid Build Coastguard Worker    file contents. This permits caching of file contents across close/open
8895*b6fb3261SAndroid Build Coastguard Worker    boundaries.
8896*b6fb3261SAndroid Build Coastguard Worker*   Added an axis parameter to `tf.gather`.
8897*b6fb3261SAndroid Build Coastguard Worker*   Added a `constant_values` keyword argument to `tf.pad`.
8898*b6fb3261SAndroid Build Coastguard Worker*   Adds `Dataset.interleave` transformation.
8899*b6fb3261SAndroid Build Coastguard Worker*   Add `ConcatenateDataset` to concatenate two datasets.
8900*b6fb3261SAndroid Build Coastguard Worker*   Added Mobilenet support to TensorFlow for Poets training script.
8901*b6fb3261SAndroid Build Coastguard Worker*   Adds a block cache to the GCS filesystem with configurable block size and
8902*b6fb3261SAndroid Build Coastguard Worker    count.
8903*b6fb3261SAndroid Build Coastguard Worker*   SinhArcSinh bijector added.
8904*b6fb3261SAndroid Build Coastguard Worker*   Added `Dataset.list_files` API.
8905*b6fb3261SAndroid Build Coastguard Worker*   Introduces new operations and Python bindings for the Cloud TPU.
8906*b6fb3261SAndroid Build Coastguard Worker*   Adding TensorFlow-iOS CocoaPod for symmetry with tensorflow-android.
8907*b6fb3261SAndroid Build Coastguard Worker*   Introduces base implementations of ClusterResolvers.
8908*b6fb3261SAndroid Build Coastguard Worker*   Unify memory representations of TensorShape and PartialTensorShape. As a
8909*b6fb3261SAndroid Build Coastguard Worker    consequence, tensors now have a maximum of 254 dimensions, not 255.
8910*b6fb3261SAndroid Build Coastguard Worker*   Changed references to LIBXSMM to use version 1.8.1.
8911*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow Debugger (tfdbg):
8912*b6fb3261SAndroid Build Coastguard Worker    *   Display summaries of numeric tensor values with the `-s` flag to command
8913*b6fb3261SAndroid Build Coastguard Worker        `print_tensor` or `pt`.
8914*b6fb3261SAndroid Build Coastguard Worker    *   Display feed values with the `print_feed` or `pf` command and clickable
8915*b6fb3261SAndroid Build Coastguard Worker        links in the curses UI.
8916*b6fb3261SAndroid Build Coastguard Worker    *   Runtime profiler at the op level and the Python source line level with
8917*b6fb3261SAndroid Build Coastguard Worker        the `run -p` command.
8918*b6fb3261SAndroid Build Coastguard Worker*   Initial release of the statistical distribution library `tf.distributions`.
8919*b6fb3261SAndroid Build Coastguard Worker*   GPU kernels and speed improvements for unary `tf.where` and `tf.nn.top_k`.
8920*b6fb3261SAndroid Build Coastguard Worker*   Monotonic Attention wrappers added to `tf.contrib.seq2seq`.
8921*b6fb3261SAndroid Build Coastguard Worker*   Added `tf.contrib.signal`, a library for signal processing primitives.
8922*b6fb3261SAndroid Build Coastguard Worker*   Added `tf.contrib.resampler`, containing CPU and GPU ops for differentiable
8923*b6fb3261SAndroid Build Coastguard Worker    resampling of images.
8924*b6fb3261SAndroid Build Coastguard Worker
8925*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes to the API
8926*b6fb3261SAndroid Build Coastguard Worker
8927*b6fb3261SAndroid Build Coastguard Worker*   `tf.RewriterConfig` was removed from the Python API after being available in
8928*b6fb3261SAndroid Build Coastguard Worker    1.2 release candidates (it was never in an actual release). Graph rewriting
8929*b6fb3261SAndroid Build Coastguard Worker    is still available, just not as `tf.RewriterConfig`. Instead add an explicit
8930*b6fb3261SAndroid Build Coastguard Worker    import.
8931*b6fb3261SAndroid Build Coastguard Worker*   Breaking change to `tf.contrib.data.Dataset` APIs that expect a nested
8932*b6fb3261SAndroid Build Coastguard Worker    structure. Lists are now converted to `tf.Tensor` implicitly. You may need
8933*b6fb3261SAndroid Build Coastguard Worker    to change uses of lists to tuples in existing code. In addition, dicts are
8934*b6fb3261SAndroid Build Coastguard Worker    now supported as a nested structure.
8935*b6fb3261SAndroid Build Coastguard Worker
8936*b6fb3261SAndroid Build Coastguard Worker## Changes to contrib APIs
8937*b6fb3261SAndroid Build Coastguard Worker
8938*b6fb3261SAndroid Build Coastguard Worker*   Adds tf.contrib.nn.rank_sampled_softmax_loss, a sampled-softmax variant that
8939*b6fb3261SAndroid Build Coastguard Worker    can improve rank loss.
8940*b6fb3261SAndroid Build Coastguard Worker*   `tf.contrib.metrics`.{streaming_covariance,streaming_pearson_correlation}
8941*b6fb3261SAndroid Build Coastguard Worker    modified to return nan when they have seen less or equal to 1 unit of
8942*b6fb3261SAndroid Build Coastguard Worker    weight.
8943*b6fb3261SAndroid Build Coastguard Worker*   Adds time series models to contrib. See contrib/timeseries/README.md for
8944*b6fb3261SAndroid Build Coastguard Worker    details.
8945*b6fb3261SAndroid Build Coastguard Worker*   Adds FULLY_CONNECTED Op to tensorflow/lite/schema.fbs
8946*b6fb3261SAndroid Build Coastguard Worker
8947*b6fb3261SAndroid Build Coastguard Worker## Known Issues
8948*b6fb3261SAndroid Build Coastguard Worker
8949*b6fb3261SAndroid Build Coastguard Worker*   Tensorflow_gpu compilation fails with Bazel 0.5.3.
8950*b6fb3261SAndroid Build Coastguard Worker
8951*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
8952*b6fb3261SAndroid Build Coastguard Worker
8953*b6fb3261SAndroid Build Coastguard Worker*   Fixes `strides` and `begin` dtype mismatch when slicing using int64 Tensor
8954*b6fb3261SAndroid Build Coastguard Worker    index in python.
8955*b6fb3261SAndroid Build Coastguard Worker*   Improved convolution padding documentation.
8956*b6fb3261SAndroid Build Coastguard Worker*   Add a tag constant, gpu, to present graph with GPU support.
8957*b6fb3261SAndroid Build Coastguard Worker*   `saved_model.utils` now support SparseTensors transparently.
8958*b6fb3261SAndroid Build Coastguard Worker*   A more efficient implementation of non-max suppression.
8959*b6fb3261SAndroid Build Coastguard Worker*   Add support for the shrinkage-type L2 to FtrlOptimizer in addition to the
8960*b6fb3261SAndroid Build Coastguard Worker    online L2 it already supports.
8961*b6fb3261SAndroid Build Coastguard Worker*   Fix negative variance in moments calculation.
8962*b6fb3261SAndroid Build Coastguard Worker*   Expand UniqueOp Benchmark Tests to cover more collision cases.
8963*b6fb3261SAndroid Build Coastguard Worker*   Improves stability of GCS filesystem on Mac.
8964*b6fb3261SAndroid Build Coastguard Worker*   Add time estimation to HloCostAnalysis.
8965*b6fb3261SAndroid Build Coastguard Worker*   Fixed the bug in Estimator that params in constructor was not a deepcopy of
8966*b6fb3261SAndroid Build Coastguard Worker    the user provided one. This bugs inadvertently enabled user to mutate the
8967*b6fb3261SAndroid Build Coastguard Worker    params after the creation of Estimator, leading to potentially undefined
8968*b6fb3261SAndroid Build Coastguard Worker    behavior.
8969*b6fb3261SAndroid Build Coastguard Worker*   Added None check for save_path in `saver.restore`.
8970*b6fb3261SAndroid Build Coastguard Worker*   Register devices under their legacy names in device_mgr to ease the
8971*b6fb3261SAndroid Build Coastguard Worker    transition to clusterspec-propagated configurations.
8972*b6fb3261SAndroid Build Coastguard Worker*   VectorExponential added to distributions.
8973*b6fb3261SAndroid Build Coastguard Worker*   Add a bitwise module with bitwise_and, bitwise_or, bitwise_xor, and invert
8974*b6fb3261SAndroid Build Coastguard Worker    functions.
8975*b6fb3261SAndroid Build Coastguard Worker*   Add fixed-grid ODE integration routines.
8976*b6fb3261SAndroid Build Coastguard Worker*   Allow passing bounds to ScipyOptimizerInterface.
8977*b6fb3261SAndroid Build Coastguard Worker*   Correctness fixes for fft_length parameter to `tf.spectral.rfft` &
8978*b6fb3261SAndroid Build Coastguard Worker    `tf.spectral.irfft`.
8979*b6fb3261SAndroid Build Coastguard Worker*   Exported model signatures using the 'predict' method will no longer have
8980*b6fb3261SAndroid Build Coastguard Worker    their input and output keys silently ignored and rewritten to 'inputs' and
8981*b6fb3261SAndroid Build Coastguard Worker    'outputs'. If a model was exported with different names before 1.2, and is
8982*b6fb3261SAndroid Build Coastguard Worker    now served with tensorflow/serving, it will accept requests using 'inputs'
8983*b6fb3261SAndroid Build Coastguard Worker    and 'outputs'. Starting at 1.2, such a model will accept the keys specified
8984*b6fb3261SAndroid Build Coastguard Worker    during export. Therefore, inference requests using 'inputs' and 'outputs'
8985*b6fb3261SAndroid Build Coastguard Worker    may start to fail. To fix this, either update any inference clients to send
8986*b6fb3261SAndroid Build Coastguard Worker    requests with the actual input and output keys used by the trainer code, or
8987*b6fb3261SAndroid Build Coastguard Worker    conversely, update the trainer code to name the input and output Tensors
8988*b6fb3261SAndroid Build Coastguard Worker    'inputs' and 'outputs', respectively. Signatures using the 'classify' and
8989*b6fb3261SAndroid Build Coastguard Worker    'regress' methods are not affected by this change; they will continue to
8990*b6fb3261SAndroid Build Coastguard Worker    standardize their input and output keys as before.
8991*b6fb3261SAndroid Build Coastguard Worker*   Add in-memory caching to the Dataset API.
8992*b6fb3261SAndroid Build Coastguard Worker*   Set default end_of_sequence variable in datasets iterators to false.
8993*b6fb3261SAndroid Build Coastguard Worker*   [Performance] Increase performance of `tf.layers.conv2d` when setting
8994*b6fb3261SAndroid Build Coastguard Worker    use_bias=True by 2x by using nn.bias_add.
8995*b6fb3261SAndroid Build Coastguard Worker*   Update iOS examples to use CocoaPods, and moved to tensorflow/examples/ios.
8996*b6fb3261SAndroid Build Coastguard Worker*   Adds a family= attribute in `tf.summary` ops to allow controlling the tab
8997*b6fb3261SAndroid Build Coastguard Worker    name used in Tensorboard for organizing summaries.
8998*b6fb3261SAndroid Build Coastguard Worker*   When GPU is configured, do not require --config=cuda, instead, automatically
8999*b6fb3261SAndroid Build Coastguard Worker    build for GPU if this is requested in the configure script.
9000*b6fb3261SAndroid Build Coastguard Worker*   Fix incorrect sampling of small probabilities in CPU/GPU multinomial.
9001*b6fb3261SAndroid Build Coastguard Worker*   Add a list_devices() API on sessions to list devices within a cluster.
9002*b6fb3261SAndroid Build Coastguard Worker    Additionally, this change augment the ListDevices master API to support
9003*b6fb3261SAndroid Build Coastguard Worker    specifying a session.
9004*b6fb3261SAndroid Build Coastguard Worker*   Allow uses of over-parameterized separable convolution.
9005*b6fb3261SAndroid Build Coastguard Worker*   TensorForest multi-regression bug fix.
9006*b6fb3261SAndroid Build Coastguard Worker*   Framework now supports armv7, cocoapods.org now displays correct page.
9007*b6fb3261SAndroid Build Coastguard Worker*   Script to create iOS framework for CocoaPods.
9008*b6fb3261SAndroid Build Coastguard Worker*   Android releases of TensorFlow are now pushed to jcenter for easier
9009*b6fb3261SAndroid Build Coastguard Worker    integration into apps. See
9010*b6fb3261SAndroid Build Coastguard Worker    https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/android/inference_interface/README.md
9011*b6fb3261SAndroid Build Coastguard Worker    for more details.
9012*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow Debugger (tfdbg):
9013*b6fb3261SAndroid Build Coastguard Worker    *   Fixed a bug that prevented tfdbg from functioning with multi-GPU setups.
9014*b6fb3261SAndroid Build Coastguard Worker    *   Fixed a bug that prevented tfdbg from working with
9015*b6fb3261SAndroid Build Coastguard Worker        `tf.Session.make_callable`.
9016*b6fb3261SAndroid Build Coastguard Worker
9017*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
9018*b6fb3261SAndroid Build Coastguard Worker
9019*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
9020*b6fb3261SAndroid Build Coastguard Worker
9021*b6fb3261SAndroid Build Coastguard Worker4F2E4A2E, Adriano Carmezim, Adrià Arrufat, Alan Yee, Alex Lattas, Alex Rothberg,
9022*b6fb3261SAndroid Build Coastguard WorkerAlexandr Baranezky, Ali Siddiqui, Andreas Solleder, Andrei Costinescu, Andrew
9023*b6fb3261SAndroid Build Coastguard WorkerHundt, Androbin, Andy Kernahan, Anish Shah, Anthony Platanios, Arvinds-Ds, b1rd,
9024*b6fb3261SAndroid Build Coastguard WorkerBaptiste Arnaud, Ben Mabey, Benedikt Linse, Beomsu Kim, Bo Wang, Boyuan Deng,
9025*b6fb3261SAndroid Build Coastguard WorkerBrett Koonce, Bruno Rosa, Carl Thomé, Changming Sun, Chase Roberts, Chirag
9026*b6fb3261SAndroid Build Coastguard WorkerBhatia, Chris Antaki, Chris Hoyean Song, Chris Tava, Christos Nikolaou, Croath
9027*b6fb3261SAndroid Build Coastguard WorkerLiu, cxx, Czxck001, Daniel Ylitalo, Danny Goodman, Darren Garvey, David
9028*b6fb3261SAndroid Build Coastguard WorkerBrailovsky, David Norman, DavidNorman, davidpham87, ddurham2, Dhruv, DimanNe,
9029*b6fb3261SAndroid Build Coastguard WorkerDrew Hintz, Dustin Tran, Earthson Lu, ethiraj, Fabian Winnen, Fei Sun, Freedom"
9030*b6fb3261SAndroid Build Coastguard WorkerKoan-Sin Tan, Fritz Obermeyer, Gao, Xiang, Gautam, Guenther Schmuelling, Gyu-Ho
9031*b6fb3261SAndroid Build Coastguard WorkerLee, Hauke Brammer, horance, Humanity123, J Alammar, Jayeol Chun, Jeroen BéDorf,
9032*b6fb3261SAndroid Build Coastguard WorkerJianfei Wang, jiefangxuanyan, Jing Jun Yin, Joan Puigcerver, Joel Hestness,
9033*b6fb3261SAndroid Build Coastguard WorkerJohannes Mayer, John Lawson, Johnson145, Jon Malmaud, Jonathan
9034*b6fb3261SAndroid Build Coastguard WorkerAlvarez-Gutierrez, Juang, Yi-Lin, Julian Viereck, Kaarthik Sivashanmugam, Karl
9035*b6fb3261SAndroid Build Coastguard WorkerLessard, [email protected], Kevin Carbone, Kevin Van Der Burgt, Kongsea, ksellesk,
9036*b6fb3261SAndroid Build Coastguard Workerlanhin, Lef Ioannidis, Liangliang He, Louis Tiao, Luke Iwanski, LáSzló Csomor,
9037*b6fb3261SAndroid Build Coastguard Workermagixsno, Mahmoud Abuzaina, Marcel Hlopko, Mark Neumann, Maxwell Paul Brickner,
9038*b6fb3261SAndroid Build Coastguard Workermdfaijul, MichaëL Defferrard, Michał JastrzęBski, Michele Colombo, Mike Brodie,
9039*b6fb3261SAndroid Build Coastguard WorkerMosnoi Ion, mouradmourafiq, myPrecious, Nayana Thorat, Neeraj Kashyap, Nelson
9040*b6fb3261SAndroid Build Coastguard WorkerLiu, Niranjan Hasabnis, Olivier Moindrot, orome, Pankaj Gupta, Paul Van Eck,
9041*b6fb3261SAndroid Build Coastguard Workerpeeyush18, Peng Yu, Pierre, preciousdp11, qjivy, Raingo, raoqiyu, ribx, Richard
9042*b6fb3261SAndroid Build Coastguard WorkerS. Imaoka, Rishabh Patel, Robert Walecki, Rockford Wei, Ryan Kung, Sahil Dua,
9043*b6fb3261SAndroid Build Coastguard WorkerSandip Giri, Sayed Hadi Hashemi, sgt101, Shitian Ni, Shuolongbj, Siim PõDer,
9044*b6fb3261SAndroid Build Coastguard WorkerSimon Perkins, sj6077, SOLARIS, Spotlight0xff, Steffen Eberbach, Stephen Fox,
9045*b6fb3261SAndroid Build Coastguard Workersuperryanguo, Sven Mayer, Tapan Prakash, Tiago Morais Morgado, Till Hoffmann, Tj
9046*b6fb3261SAndroid Build Coastguard WorkerRana, Vadim Markovtsev, vhasanov, Wei Wu, windead, Yan (Asta) Li, Yan Chen, Yann
9047*b6fb3261SAndroid Build Coastguard WorkerHenon, Yi Wang, Yong Tang, yorkie, Yuan (Terry) Tang, Yuxin Wu, zhengjiajin,
9048*b6fb3261SAndroid Build Coastguard Workerzhongzyd, 黄璞
9049*b6fb3261SAndroid Build Coastguard Worker
9050*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and
9051*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions.
9052*b6fb3261SAndroid Build Coastguard Worker
9053*b6fb3261SAndroid Build Coastguard Worker# Release 1.2.1
9054*b6fb3261SAndroid Build Coastguard Worker
9055*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
9056*b6fb3261SAndroid Build Coastguard Worker
9057*b6fb3261SAndroid Build Coastguard Worker*   Updating markdown version required to >= 2.6.8.
9058*b6fb3261SAndroid Build Coastguard Worker*   Support tensors as dropout rates again, by removing the min(max(..))
9059*b6fb3261SAndroid Build Coastguard Worker
9060*b6fb3261SAndroid Build Coastguard Worker# Release 1.2.0
9061*b6fb3261SAndroid Build Coastguard Worker
9062*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
9063*b6fb3261SAndroid Build Coastguard Worker
9064*b6fb3261SAndroid Build Coastguard Worker*   Python 3.6 support on Windows.
9065*b6fb3261SAndroid Build Coastguard Worker*   Added `tf.layers.conv3d_transpose` layer for spatio temporal deconvolution.
9066*b6fb3261SAndroid Build Coastguard Worker*   Added `tf.Session.make_callable()`, which provides a lower overhead means of
9067*b6fb3261SAndroid Build Coastguard Worker    running a similar step multiple times.
9068*b6fb3261SAndroid Build Coastguard Worker*   Added libverbs-based RDMA support to contrib (courtesy @junshi15 from
9069*b6fb3261SAndroid Build Coastguard Worker    Yahoo).
9070*b6fb3261SAndroid Build Coastguard Worker*   Bring `tf.feature_column.*` into the API. Non-deprecated functionality from
9071*b6fb3261SAndroid Build Coastguard Worker    `tf.contrib.layers.*` is moved to `tf.feature_column.*` with cosmetic
9072*b6fb3261SAndroid Build Coastguard Worker    changes.
9073*b6fb3261SAndroid Build Coastguard Worker*   `RNNCell` objects now subclass `tf.layers.Layer`. The strictness described
9074*b6fb3261SAndroid Build Coastguard Worker    in the TensorFlow 1.1 release is gone: The first time an RNNCell is used, it
9075*b6fb3261SAndroid Build Coastguard Worker    caches its scope. All future uses of the RNNCell will reuse variables from
9076*b6fb3261SAndroid Build Coastguard Worker    that same scope. This is a breaking change from the behavior of RNNCells in
9077*b6fb3261SAndroid Build Coastguard Worker    TensorFlow versions <= 1.0.1. TensorFlow 1.1 had checks in place to ensure
9078*b6fb3261SAndroid Build Coastguard Worker    old code works correctly with the new semantics; this version allows more
9079*b6fb3261SAndroid Build Coastguard Worker    flexible uses of RNNCell but can lead to subtle errors if using code meant
9080*b6fb3261SAndroid Build Coastguard Worker    for TensorFlow <= 1.0.1. For example, writing: `MultiRNNCell([lstm] * 5)`
9081*b6fb3261SAndroid Build Coastguard Worker    will now build a 5-layer LSTM stack where each layer shares the **same**
9082*b6fb3261SAndroid Build Coastguard Worker    parameters. To get 5 layers each with their own parameters, write:
9083*b6fb3261SAndroid Build Coastguard Worker    `MultiRNNCell([LSTMCell(...) for _ in range(5)])`. If at all unsure, first
9084*b6fb3261SAndroid Build Coastguard Worker    test your code with TF 1.1; ensure it raises no errors, and then upgrade to
9085*b6fb3261SAndroid Build Coastguard Worker    TF 1.2.
9086*b6fb3261SAndroid Build Coastguard Worker*   RNNCells' variable names have been renamed for consistency with Keras
9087*b6fb3261SAndroid Build Coastguard Worker    layers. Specifically, the previous variable names "weights" and "biases"
9088*b6fb3261SAndroid Build Coastguard Worker    have been changed to "kernel" and "bias", respectively. This may cause
9089*b6fb3261SAndroid Build Coastguard Worker    backward incompatibility with regard to your old checkpoints containing such
9090*b6fb3261SAndroid Build Coastguard Worker    RNN cells, in which case you can use the tool
9091*b6fb3261SAndroid Build Coastguard Worker    [checkpoint_convert script](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/rnn/python/tools/checkpoint_convert.py)
9092*b6fb3261SAndroid Build Coastguard Worker    to convert the variable names in your old checkpoints.
9093*b6fb3261SAndroid Build Coastguard Worker*   Many of the RNN functions and classes that were in the `tf.nn` namespace
9094*b6fb3261SAndroid Build Coastguard Worker    before the 1.0 release and which were moved to `tf.contrib.rnn` have now
9095*b6fb3261SAndroid Build Coastguard Worker    been moved back to the core namespace. This includes `RNNCell`, `LSTMCell`,
9096*b6fb3261SAndroid Build Coastguard Worker    `GRUCell`, and a number of other cells. These now reside in `tf.nn.rnn_cell`
9097*b6fb3261SAndroid Build Coastguard Worker    (with aliases in `tf.contrib.rnn` for backwards compatibility). The original
9098*b6fb3261SAndroid Build Coastguard Worker    `tf.nn.rnn` function is now `tf.nn.static_rnn`, and the bidirectional static
9099*b6fb3261SAndroid Build Coastguard Worker    and state saving static rnn functions are also now back in the `tf.nn`
9100*b6fb3261SAndroid Build Coastguard Worker    namespace.
9101*b6fb3261SAndroid Build Coastguard Worker
9102*b6fb3261SAndroid Build Coastguard Worker    Notable exceptions are the `EmbeddingWrapper`, `InputProjectionWrapper` and
9103*b6fb3261SAndroid Build Coastguard Worker    `OutputProjectionWrapper`, which will slowly be moved to deprecation in
9104*b6fb3261SAndroid Build Coastguard Worker    `tf.contrib.rnn`. These are inefficient wrappers that should often be
9105*b6fb3261SAndroid Build Coastguard Worker    replaced by calling `embedding_lookup` or `layers.dense` as pre- or post-
9106*b6fb3261SAndroid Build Coastguard Worker    processing of the rnn. For RNN decoding, this functionality has been
9107*b6fb3261SAndroid Build Coastguard Worker    replaced with an alternative API in `tf.contrib.seq2seq`.
9108*b6fb3261SAndroid Build Coastguard Worker
9109*b6fb3261SAndroid Build Coastguard Worker*   Intel MKL Integration
9110*b6fb3261SAndroid Build Coastguard Worker    (https://software.intel.com/en-us/articles/tensorflow-optimizations-on-modern-intel-architecture).
9111*b6fb3261SAndroid Build Coastguard Worker    Intel developed a number of optimized deep learning primitives: In addition
9112*b6fb3261SAndroid Build Coastguard Worker    to matrix multiplication and convolution, these building blocks include:
9113*b6fb3261SAndroid Build Coastguard Worker    Direct batched convolution Pooling: maximum, minimum, average Normalization:
9114*b6fb3261SAndroid Build Coastguard Worker    LRN, batch normalization Activation: rectified linear unit (ReLU) Data
9115*b6fb3261SAndroid Build Coastguard Worker    manipulation: multi-dimensional transposition (conversion), split, concat,
9116*b6fb3261SAndroid Build Coastguard Worker    sum and scale.
9117*b6fb3261SAndroid Build Coastguard Worker
9118*b6fb3261SAndroid Build Coastguard Worker*   TensorForest Estimator now supports SavedModel export for serving.
9119*b6fb3261SAndroid Build Coastguard Worker
9120*b6fb3261SAndroid Build Coastguard Worker*   Support client-provided ClusterSpec's and propagate them to all workers to
9121*b6fb3261SAndroid Build Coastguard Worker    enable the creation of dynamic TensorFlow clusters.
9122*b6fb3261SAndroid Build Coastguard Worker
9123*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow C library now available for Windows.
9124*b6fb3261SAndroid Build Coastguard Worker
9125*b6fb3261SAndroid Build Coastguard Worker*   We released a new open-source version of TensorBoard.
9126*b6fb3261SAndroid Build Coastguard Worker
9127*b6fb3261SAndroid Build Coastguard Worker*   [`SavedModel CLI`](https://www.tensorflow.org/versions/master/guide/saved_model_cli)
9128*b6fb3261SAndroid Build Coastguard Worker    tool available to inspect and execute MetaGraph in SavedModel
9129*b6fb3261SAndroid Build Coastguard Worker
9130*b6fb3261SAndroid Build Coastguard Worker*   Android releases of TensorFlow are now pushed to jcenter for easier
9131*b6fb3261SAndroid Build Coastguard Worker    integration into apps. See
9132*b6fb3261SAndroid Build Coastguard Worker    https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/android/inference_interface/README.md
9133*b6fb3261SAndroid Build Coastguard Worker    for more details.
9134*b6fb3261SAndroid Build Coastguard Worker
9135*b6fb3261SAndroid Build Coastguard Worker## Deprecations
9136*b6fb3261SAndroid Build Coastguard Worker
9137*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow 1.2 may be the last time we build with cuDNN 5.1. Starting with
9138*b6fb3261SAndroid Build Coastguard Worker    TensorFlow 1.3, we will try to build all our prebuilt binaries with cuDNN
9139*b6fb3261SAndroid Build Coastguard Worker    6.0. While we will try to keep our source code compatible with cuDNN 5.1, it
9140*b6fb3261SAndroid Build Coastguard Worker    will be best effort.
9141*b6fb3261SAndroid Build Coastguard Worker
9142*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes to the API
9143*b6fb3261SAndroid Build Coastguard Worker
9144*b6fb3261SAndroid Build Coastguard Worker*   `org.tensorflow.contrib.android.TensorFlowInferenceInterface` now throws
9145*b6fb3261SAndroid Build Coastguard Worker    exceptions where possible and has simplified method signatures.
9146*b6fb3261SAndroid Build Coastguard Worker
9147*b6fb3261SAndroid Build Coastguard Worker## Changes to contrib APIs
9148*b6fb3261SAndroid Build Coastguard Worker
9149*b6fb3261SAndroid Build Coastguard Worker*   Added `tf.contrib.util.create_example`.
9150*b6fb3261SAndroid Build Coastguard Worker*   Added bilinear interpolation to `tf.contrib.image`.
9151*b6fb3261SAndroid Build Coastguard Worker*   Add `tf.contrib.stateless` for random ops with custom seed control.
9152*b6fb3261SAndroid Build Coastguard Worker*   MultivariateNormalFullCovariance added to contrib/distributions/
9153*b6fb3261SAndroid Build Coastguard Worker*   tensorflow/contrib/rnn undergoes RNN cell variable renaming for consistency
9154*b6fb3261SAndroid Build Coastguard Worker    with Keras layers. Specifically, the previous variable names "weights" and
9155*b6fb3261SAndroid Build Coastguard Worker    "biases" are changed to "kernel" and "bias", respectively. This may cause
9156*b6fb3261SAndroid Build Coastguard Worker    backward incompatibility with regard to your old checkpoints containing such
9157*b6fb3261SAndroid Build Coastguard Worker    RNN cells, in which case you can use the
9158*b6fb3261SAndroid Build Coastguard Worker    [checkpoint_convert script](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/rnn/python/tools/checkpoint_convert.py)
9159*b6fb3261SAndroid Build Coastguard Worker    to convert the variable names in your old checkpoints.
9160*b6fb3261SAndroid Build Coastguard Worker*   Added `tf.contrib.kernel_methods` module with Ops and estimators for primal
9161*b6fb3261SAndroid Build Coastguard Worker    (explicit) kernel methods in TensorFlow.
9162*b6fb3261SAndroid Build Coastguard Worker
9163*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
9164*b6fb3261SAndroid Build Coastguard Worker
9165*b6fb3261SAndroid Build Coastguard Worker*   In python, `Operation.get_attr` on type attributes returns the Python DType
9166*b6fb3261SAndroid Build Coastguard Worker    version of the type to match expected get_attr documentation rather than the
9167*b6fb3261SAndroid Build Coastguard Worker    protobuf enum.
9168*b6fb3261SAndroid Build Coastguard Worker*   tensorflow/contrib/rnn undergoes RNN cell variable renaming for consistency
9169*b6fb3261SAndroid Build Coastguard Worker    with Keras layers. Specifically, the previous variable names "weights" and
9170*b6fb3261SAndroid Build Coastguard Worker    "biases" are changed to "kernel" and "bias", respectively.
9171*b6fb3261SAndroid Build Coastguard Worker*   Changed MIN_SDK version to 8.0 when building iOS libraries.
9172*b6fb3261SAndroid Build Coastguard Worker*   Fixed LIBXSMM integration.
9173*b6fb3261SAndroid Build Coastguard Worker*   Make decode_jpeg/decode_png/decode_gif handle all formats, since users
9174*b6fb3261SAndroid Build Coastguard Worker    frequently try to decode an image as the wrong type.
9175*b6fb3261SAndroid Build Coastguard Worker*   Improve implicit broadcasting lowering.
9176*b6fb3261SAndroid Build Coastguard Worker*   Improving stability of GCS/BigQuery clients by a faster retrying of stale
9177*b6fb3261SAndroid Build Coastguard Worker    transmissions.
9178*b6fb3261SAndroid Build Coastguard Worker*   Remove OpKernelConstruction::op_def() as part of minimizing proto
9179*b6fb3261SAndroid Build Coastguard Worker    dependencies.
9180*b6fb3261SAndroid Build Coastguard Worker*   VectorLaplaceDiag distribution added.
9181*b6fb3261SAndroid Build Coastguard Worker*   Android demo no longer requires libtensorflow_demo.so to run
9182*b6fb3261SAndroid Build Coastguard Worker    (libtensorflow_inference.so still required)
9183*b6fb3261SAndroid Build Coastguard Worker*   Added `categorical_column_with_vocabulary_file`.
9184*b6fb3261SAndroid Build Coastguard Worker*   Introduce ops for batching/unbatching tensors across Session::Run() calls.
9185*b6fb3261SAndroid Build Coastguard Worker*   Add tf.log_sigmoid(x) = tf.log(tf.sigmoid(x)) = -tf.nn.softplus(-x).
9186*b6fb3261SAndroid Build Coastguard Worker*   Changed hooks lists to immutable tuples, and now allow any iterable for the
9187*b6fb3261SAndroid Build Coastguard Worker    associated arguments.
9188*b6fb3261SAndroid Build Coastguard Worker*   Introduce TFDecorator.
9189*b6fb3261SAndroid Build Coastguard Worker*   Added an Mfcc op for speech feature generation.
9190*b6fb3261SAndroid Build Coastguard Worker*   Improved DirectSession::Run() overhead and error checking. Feeding a value
9191*b6fb3261SAndroid Build Coastguard Worker    of the wrong type will now synchronously raise an INVALID_ARGUMENT error
9192*b6fb3261SAndroid Build Coastguard Worker    instead of asynchronously raising an INTERNAL error. Code that depends on
9193*b6fb3261SAndroid Build Coastguard Worker    the (undefined) behavior when feeding a tensor of the wrong type may need to
9194*b6fb3261SAndroid Build Coastguard Worker    be updated.
9195*b6fb3261SAndroid Build Coastguard Worker*   Added unreduced NONE, and reduced MEAN options for losses. Removed
9196*b6fb3261SAndroid Build Coastguard Worker    "WEIGHTED_" prefix from other Reduction constants.
9197*b6fb3261SAndroid Build Coastguard Worker*   assertAllClose now handles dicts.
9198*b6fb3261SAndroid Build Coastguard Worker*   Added Gmock matcher for HloInstructions.
9199*b6fb3261SAndroid Build Coastguard Worker*   Add var name to errors on variable restore.
9200*b6fb3261SAndroid Build Coastguard Worker*   Added an AudioSpectrogram op for audio feature generation.
9201*b6fb3261SAndroid Build Coastguard Worker*   Added `reduction` arg to losses.
9202*b6fb3261SAndroid Build Coastguard Worker*   `tf.placeholder` can represent scalar shapes and partially known.
9203*b6fb3261SAndroid Build Coastguard Worker*   Remove estimator_spec(mode) argument.
9204*b6fb3261SAndroid Build Coastguard Worker*   Added an AudioSpectrogram op for audio feature generation.
9205*b6fb3261SAndroid Build Coastguard Worker*   TensorBoard disables all runs by default if there are more than 40 runs.
9206*b6fb3261SAndroid Build Coastguard Worker*   Removed old doc generator code.
9207*b6fb3261SAndroid Build Coastguard Worker*   GCS file system integration now supports domain buckets, e.g
9208*b6fb3261SAndroid Build Coastguard Worker    gs://bucket.domain.com/path.
9209*b6fb3261SAndroid Build Coastguard Worker*   Add `tf.summary.text` for outputting text to TensorBoard.
9210*b6fb3261SAndroid Build Coastguard Worker*   The "run" command of tfdbg's command-line interface now supports filtering
9211*b6fb3261SAndroid Build Coastguard Worker    of tensors by node name, op type and tensor dtype.
9212*b6fb3261SAndroid Build Coastguard Worker*   `tf.string_to_number` now supports int64 and float64 outputs.
9213*b6fb3261SAndroid Build Coastguard Worker
9214*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
9215*b6fb3261SAndroid Build Coastguard Worker
9216*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
9217*b6fb3261SAndroid Build Coastguard Worker
9218*b6fb3261SAndroid Build Coastguard Worker4F2E4A2E, Aaron Schumacher, Abhi Agg, admcrae, Adriano Carmezim, Adrià Arrufat,
9219*b6fb3261SAndroid Build Coastguard Workeragramesh1, Akimitsu Seo, Alan Mosca, Alex Egg, Alex Rothberg, Alexander
9220*b6fb3261SAndroid Build Coastguard WorkerHeinecke, Alexander Matyasko, Alexandr Baranezky, Alexandre Caulier, Ali
9221*b6fb3261SAndroid Build Coastguard WorkerSiddiqui, Anand Venkat, Andrew Hundt, Androbin, Anmol Sharma, Arie, Arno Leist,
9222*b6fb3261SAndroid Build Coastguard WorkerArron Cao, AuréLien Geron, Bairen Yi, Beomsu Kim, Carl Thomé, cfperez, Changming
9223*b6fb3261SAndroid Build Coastguard WorkerSun, Corey Wharton, critiqjo, Dalei Li, Daniel Rasmussen, Daniel Trebbien, DaríO
9224*b6fb3261SAndroid Build Coastguard WorkerHereñú, David Eng, David Norman, David Y. Zhang, Davy Song, ddurham2, Deepak
9225*b6fb3261SAndroid Build Coastguard WorkerSubburam, Dmytro Kyrychuk, Dominic Rossi, Dominik SchlöSser, Dustin Tran,
9226*b6fb3261SAndroid Build Coastguard WorkerEduardo Pinho, Egil Martinsson, Elliot Saba, Eric Bigelow, Erik Smistad, Evan
9227*b6fb3261SAndroid Build Coastguard WorkerKlitzke, Fabrizio Milo, Falcon Dai, Fei Gao, FloopCZ, Fung Lam, Gautam,
9228*b6fb3261SAndroid Build Coastguard WorkerGBLin5566, Greg Peatfield, Gu Wang, Guenther Schmuelling, Hans Pabst, Harun
9229*b6fb3261SAndroid Build Coastguard WorkerGunaydin, Huaizheng, Ido Shamay, Ikaro Silva, Ilya Edrenkin, Immexxx, James
9230*b6fb3261SAndroid Build Coastguard WorkerMishra, Jamie Cooke, Jay Young, Jayaram Bobba, Jianfei Wang, jinghua2, Joey
9231*b6fb3261SAndroid Build Coastguard WorkerMeyer, John Maidens, Jonghoon Jin, Julian Villella, Jun Kim, Jun Shi, Junwei
9232*b6fb3261SAndroid Build Coastguard WorkerPan, jyegerlehner, Karan Desai, Karel Van De Plassche, Kb Sriram,
9233*b6fb3261SAndroid Build Coastguard WorkerKhabarlakKonstantin, Koan-Sin Tan, krivard, Kwotsin, Leandro Gracia Gil, Li
9234*b6fb3261SAndroid Build Coastguard WorkerChen, Liangliang He, Louie Helm, lspvic, Luiz Henrique Soares, LáSzló Csomor,
9235*b6fb3261SAndroid Build Coastguard WorkerMark Wong, Mathew Wicks, Matthew Rahtz, Maxwell Paul Brickner, Michael Hofmann,
9236*b6fb3261SAndroid Build Coastguard WorkerMiguel Flores Ruiz De Eguino, MikeTam1021, Mortada Mehyar, Mycosynth, Namnamseo,
9237*b6fb3261SAndroid Build Coastguard WorkerNate Harada, Neven Miculinic, Nghia Tran, Nick Lyu, Niranjan Hasabnis, Nishidha,
9238*b6fb3261SAndroid Build Coastguard WorkerOleksii Kuchaiev, Oyesh Mann Singh, Panmari, Patrick, Paul Van Eck, Piyush
9239*b6fb3261SAndroid Build Coastguard WorkerChaudhary, Quim Llimona, Raingo, Richard Davies, Ruben Vereecken, Sahit
9240*b6fb3261SAndroid Build Coastguard WorkerChintalapudi, Sam Abrahams, Santiago Castro, Scott Sievert, Sean O'Keefe,
9241*b6fb3261SAndroid Build Coastguard WorkerSebastian Schlecht, Shane, Shubhankar Deshpande, Spencer Schaber, Sunyeop Lee,
9242*b6fb3261SAndroid Build Coastguard Workert13m, td2014, Thomas H. P. Andersen, Toby Petty, Umang Mehta, Vadim Markovtsev,
9243*b6fb3261SAndroid Build Coastguard WorkerValentin Iovene, Vincent Zhao, Vit Stepanovs, Vivek Rane, Vu Pham,
9244*b6fb3261SAndroid Build Coastguard Workerwannabesrevenge, weipingpku, wuhaixutab, wydwww, Xiang Gao, Xiaolin Lin,
9245*b6fb3261SAndroid Build Coastguard Workerxiaoyaozhuzi, Yaroslav Bulatov, Yi Liu, Yoshihiro Sugi, Yuan (Terry) Tang,
9246*b6fb3261SAndroid Build Coastguard WorkerYuming Wang, Yuxin Wu, Zader Zheng, Zhaojun Zhang, zhengjiajin, ZhipengShen,
9247*b6fb3261SAndroid Build Coastguard WorkerZiming Dong, zjj2wry
9248*b6fb3261SAndroid Build Coastguard Worker
9249*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and
9250*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions.
9251*b6fb3261SAndroid Build Coastguard Worker
9252*b6fb3261SAndroid Build Coastguard Worker# Release 1.1.0
9253*b6fb3261SAndroid Build Coastguard Worker
9254*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
9255*b6fb3261SAndroid Build Coastguard Worker
9256*b6fb3261SAndroid Build Coastguard Worker*   Added Java API support for Windows.
9257*b6fb3261SAndroid Build Coastguard Worker*   Added `tf.spectral` module. Moved existing FFT ops to `tf.spectral` while
9258*b6fb3261SAndroid Build Coastguard Worker    keeping an alias in the old location (`tf.*`).
9259*b6fb3261SAndroid Build Coastguard Worker*   Added 1D, 2D and 3D Fourier transform ops for real signals to `tf.spectral`.
9260*b6fb3261SAndroid Build Coastguard Worker*   Added a `tf.bincount` function.
9261*b6fb3261SAndroid Build Coastguard Worker*   Added Keras 2 API to contrib.
9262*b6fb3261SAndroid Build Coastguard Worker*   Added a new lightweight queue-like object - `RecordInput`.
9263*b6fb3261SAndroid Build Coastguard Worker*   Added `tf.contrib.image.compose_transforms` function.
9264*b6fb3261SAndroid Build Coastguard Worker*   Bring `tf.estimator.*` into the API. Non-deprecated functionality from
9265*b6fb3261SAndroid Build Coastguard Worker    `tf.contrib.learn.Estimator` is moved to `tf.estimator.Estimator` with
9266*b6fb3261SAndroid Build Coastguard Worker    cosmetic changes.
9267*b6fb3261SAndroid Build Coastguard Worker*   Docker images: TF images on gcr.io and Docker Hub are upgraded to
9268*b6fb3261SAndroid Build Coastguard Worker    ubuntu:16.04.
9269*b6fb3261SAndroid Build Coastguard Worker*   Added the following features to TensorFlow Debugger (tfdbg):
9270*b6fb3261SAndroid Build Coastguard Worker    *   Ability to inspect Python source file against TF ops and tensors
9271*b6fb3261SAndroid Build Coastguard Worker        (command `print_source` / `ps`)
9272*b6fb3261SAndroid Build Coastguard Worker    *   New navigation bar in Curses-based UI
9273*b6fb3261SAndroid Build Coastguard Worker    *   NodeStepper (command `invoke_stepper`) now uses intermediate tensor
9274*b6fb3261SAndroid Build Coastguard Worker        dumps. It also uses `TensorHandles` as direct feeds during successive
9275*b6fb3261SAndroid Build Coastguard Worker        `cont` calls for improved performance and reduced memory consumption.
9276*b6fb3261SAndroid Build Coastguard Worker*   Initial release of installation guides for Java, C, and Go.
9277*b6fb3261SAndroid Build Coastguard Worker*   Added Text Dashboard to TensorBoard.
9278*b6fb3261SAndroid Build Coastguard Worker
9279*b6fb3261SAndroid Build Coastguard Worker## Deprecations
9280*b6fb3261SAndroid Build Coastguard Worker
9281*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow 1.1.0 will be the last time we release a binary with Mac GPU
9282*b6fb3261SAndroid Build Coastguard Worker    support. Going forward, we will stop testing on Mac GPU systems. We continue
9283*b6fb3261SAndroid Build Coastguard Worker    to welcome patches that maintain Mac GPU support, and we will try to keep
9284*b6fb3261SAndroid Build Coastguard Worker    the Mac GPU build working.
9285*b6fb3261SAndroid Build Coastguard Worker
9286*b6fb3261SAndroid Build Coastguard Worker## Changes to contrib APIs
9287*b6fb3261SAndroid Build Coastguard Worker
9288*b6fb3261SAndroid Build Coastguard Worker*   The behavior of RNNCells is now stricter due to the transition towards
9289*b6fb3261SAndroid Build Coastguard Worker    making RNNCells act more like Keras layers.
9290*b6fb3261SAndroid Build Coastguard Worker    *   If an RNNCell is used twice in two different variable scopes, an error
9291*b6fb3261SAndroid Build Coastguard Worker        is raised describing how to avoid this behavior.
9292*b6fb3261SAndroid Build Coastguard Worker    *   If an RNNCell is used in a variable scope with existing conflicting
9293*b6fb3261SAndroid Build Coastguard Worker        variables, an error is raised showing that the RNNCell must be
9294*b6fb3261SAndroid Build Coastguard Worker        constructed with argument `reuse=True`.
9295*b6fb3261SAndroid Build Coastguard Worker*   Deprecated contrib/distributions `pmf`, `pdf`, `log_pmf`, `log_pdf`.
9296*b6fb3261SAndroid Build Coastguard Worker*   Moved `bayesflow.special_math` to distributions.
9297*b6fb3261SAndroid Build Coastguard Worker*   `tf.contrib.tensor_forest.python.tensor_forest.RandomForestDeviceAssigner`
9298*b6fb3261SAndroid Build Coastguard Worker    removed.
9299*b6fb3261SAndroid Build Coastguard Worker*   Changed some MVN classes and parameters:
9300*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.distributions.MultivariateNormalFull` replaced by
9301*b6fb3261SAndroid Build Coastguard Worker        `tf.contrib.distributions.MultivariateNormalTriL`.
9302*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.distributions.MultivariateNormalCholesky` replaced by
9303*b6fb3261SAndroid Build Coastguard Worker        `tf.contrib.distributions.MultivariateNormalTriL`
9304*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.distributions.MultivariateNormalDiagWithSoftplusStDev`
9305*b6fb3261SAndroid Build Coastguard Worker        replaced by
9306*b6fb3261SAndroid Build Coastguard Worker        `tf.contrib.distributions.MultivariateNormalDiagWithSoftplusScale`
9307*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.distributions.MultivariateNormalDiag` arguments changed from
9308*b6fb3261SAndroid Build Coastguard Worker        `mu`, `diag_stddev` to `log`, `scale_diag`.
9309*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.distributions.MultivariateNormalDiagPlusVDVT` removed.
9310*b6fb3261SAndroid Build Coastguard Worker    *   `tf.contrib.distributions.MultivariateNormalDiagPlusLowRank` added.
9311*b6fb3261SAndroid Build Coastguard Worker
9312*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
9313*b6fb3261SAndroid Build Coastguard Worker
9314*b6fb3261SAndroid Build Coastguard Worker*   Java: Support for loading models exported using the SavedModel API (courtesy
9315*b6fb3261SAndroid Build Coastguard Worker    @EronWright).
9316*b6fb3261SAndroid Build Coastguard Worker*   Go: Added support for incremental graph execution.
9317*b6fb3261SAndroid Build Coastguard Worker*   Fix a bug in the WALS solver when single-threaded.
9318*b6fb3261SAndroid Build Coastguard Worker*   Added support for integer sparse feature values in
9319*b6fb3261SAndroid Build Coastguard Worker    `tf.contrib.layers.sparse_column_with_keys`.
9320*b6fb3261SAndroid Build Coastguard Worker*   Fixed `tf.set_random_seed(0)` to be deterministic for all ops.
9321*b6fb3261SAndroid Build Coastguard Worker*   Stability improvements for the GCS file system support.
9322*b6fb3261SAndroid Build Coastguard Worker*   Improved TensorForest performance.
9323*b6fb3261SAndroid Build Coastguard Worker*   Added support for multiple filename globs in `tf.matching_files`.
9324*b6fb3261SAndroid Build Coastguard Worker*   `LogMessage` now includes a timestamp as beginning of a message.
9325*b6fb3261SAndroid Build Coastguard Worker*   Added MultiBox person detector example standalone binary.
9326*b6fb3261SAndroid Build Coastguard Worker*   Android demo: Makefile build functionality added to build.gradle to fully
9327*b6fb3261SAndroid Build Coastguard Worker    support building TensorFlow demo in Android on Windows.
9328*b6fb3261SAndroid Build Coastguard Worker*   Android demo: read MultiBox priors from txt file rather than protobuf.
9329*b6fb3261SAndroid Build Coastguard Worker*   Added colocation constraints to `StagingArea`.
9330*b6fb3261SAndroid Build Coastguard Worker*   `sparse_matmul_op` reenabled for Android builds.
9331*b6fb3261SAndroid Build Coastguard Worker*   Restrict weights rank to be the same as the broadcast target, to avoid
9332*b6fb3261SAndroid Build Coastguard Worker    ambiguity on broadcast rules.
9333*b6fb3261SAndroid Build Coastguard Worker*   Upgraded libxsmm to 1.7.1 and applied other changes for performance and
9334*b6fb3261SAndroid Build Coastguard Worker    memory usage.
9335*b6fb3261SAndroid Build Coastguard Worker*   Fixed bfloat16 integration of LIBXSMM sparse mat-mul.
9336*b6fb3261SAndroid Build Coastguard Worker*   Improved performance and reduce memory usage by allowing ops to forward
9337*b6fb3261SAndroid Build Coastguard Worker    input buffers to output buffers and perform computations in-place.
9338*b6fb3261SAndroid Build Coastguard Worker*   Improved the performance of CPU assignment for strings.
9339*b6fb3261SAndroid Build Coastguard Worker*   Speed up matrix * vector multiplication and matrix * matrix with unknown
9340*b6fb3261SAndroid Build Coastguard Worker    shapes.
9341*b6fb3261SAndroid Build Coastguard Worker*   C API: Graph imports now support input remapping, control dependencies, and
9342*b6fb3261SAndroid Build Coastguard Worker    returning imported nodes (see `TF_GraphImportGraphDefWithReturnOutputs()`)
9343*b6fb3261SAndroid Build Coastguard Worker*   Multiple C++ API updates.
9344*b6fb3261SAndroid Build Coastguard Worker*   Multiple TensorBoard updates including:
9345*b6fb3261SAndroid Build Coastguard Worker    *   Users can now view image summaries at various sampled steps (instead of
9346*b6fb3261SAndroid Build Coastguard Worker        just the last step).
9347*b6fb3261SAndroid Build Coastguard Worker    *   Bugs involving switching runs as well as the image dashboard are fixed.
9348*b6fb3261SAndroid Build Coastguard Worker    *   Removed data download links from TensorBoard.
9349*b6fb3261SAndroid Build Coastguard Worker    *   TensorBoard uses a relative data directory, for easier embedding.
9350*b6fb3261SAndroid Build Coastguard Worker    *   TensorBoard automatically ignores outliers for domain calculation, and
9351*b6fb3261SAndroid Build Coastguard Worker        formats proportional values consistently.
9352*b6fb3261SAndroid Build Coastguard Worker*   Multiple tfdbg bug fixes:
9353*b6fb3261SAndroid Build Coastguard Worker    *   Fixed Windows compatibility issues.
9354*b6fb3261SAndroid Build Coastguard Worker    *   Command history now persists across runs.
9355*b6fb3261SAndroid Build Coastguard Worker    *   Bug fix in graph validation related to `tf.while_loops`.
9356*b6fb3261SAndroid Build Coastguard Worker*   Java Maven fixes for bugs with Windows installation.
9357*b6fb3261SAndroid Build Coastguard Worker*   Backport fixes and improvements from external keras.
9358*b6fb3261SAndroid Build Coastguard Worker*   Keras config file handling fix.
9359*b6fb3261SAndroid Build Coastguard Worker
9360*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
9361*b6fb3261SAndroid Build Coastguard Worker
9362*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
9363*b6fb3261SAndroid Build Coastguard Worker
9364*b6fb3261SAndroid Build Coastguard WorkerA. Besir Kurtulmus, Adal Chiriliuc, @akash, Alec-Desouza, Alex Rothberg, Alex
9365*b6fb3261SAndroid Build Coastguard WorkerSergeev, Alexander Heinecke, Allen Guo, Andreas Madsen, Ankesh Anand, Anton
9366*b6fb3261SAndroid Build Coastguard WorkerLoss, @Aravind, @Arie, Ashutosh Das, AuréLien Geron, Bairen Yi, @bakunyo, Ben
9367*b6fb3261SAndroid Build Coastguard WorkerVisser, Brady Zhou, Calpa Liu, Changming Sun, Chih Cheng Liang, Christopher
9368*b6fb3261SAndroid Build Coastguard WorkerBerner, Clark Zinzow, @Conchylicultor, Dan Ellis, Dan J, Dan Jarvis, Daniel
9369*b6fb3261SAndroid Build Coastguard WorkerYlitalo, Darren Garvey, David Norman, David Truong, @DavidNorman, Dimitar
9370*b6fb3261SAndroid Build Coastguard WorkerPavlov, Dmitry Persiyanov, @Eddie, @elirex, Erfan Noury, Eron Wright, Evgeny
9371*b6fb3261SAndroid Build Coastguard WorkerMazovetskiy, Fabrizio (Misto) Milo, @fanlu, Fisher Coder, Florian Courtial,
9372*b6fb3261SAndroid Build Coastguard WorkerFranck Dernoncourt, Gagan Goel, Gao, Xiang, @Gautam, Gefu Tang, @guilherme,
9373*b6fb3261SAndroid Build Coastguard Worker@guschmue, Hannah Provenza, Hans Pabst, @hartb, Hsiao Yi, Huazuo Gao, Igor
9374*b6fb3261SAndroid Build Coastguard WorkerChorążEwicz, Ivan Smirnov, Jakub Kolodziejczyk, Jason Gavris, Jason Morton, Jay
9375*b6fb3261SAndroid Build Coastguard WorkerYoung, Jayaram Bobba, Jeremy Sawruk, Jiaming Liu, Jihun Choi, @jiqiu, Joan
9376*b6fb3261SAndroid Build Coastguard WorkerThibault, John C F, Jojy George Varghese, Jon Malmaud, Julian Berman, Julian
9377*b6fb3261SAndroid Build Coastguard WorkerNiedermeier, Junpeng Lao, Kai Sasaki, @Kankroc, Karl Lessard, Kyle Bostelmann,
9378*b6fb3261SAndroid Build Coastguard Worker@Lezcano, Li Yi, Luo Yun, @lurker, Mahmoud-Abuzaina, Mandeep Singh, Marek
9379*b6fb3261SAndroid Build Coastguard WorkerKolodziej, Mark Szepieniec, Martial Hue, Medhat Omr, Memo Akten, Michael Gharbi,
9380*b6fb3261SAndroid Build Coastguard WorkerMichaëL Defferrard, Milan Straka, @MircoT, @mlucool, Muammar Ibn Faisal, Nayana
9381*b6fb3261SAndroid Build Coastguard WorkerThorat, @nghiattran, Nicholas Connor, Nikolaas Steenbergen, Niraj Patel,
9382*b6fb3261SAndroid Build Coastguard WorkerNiranjan Hasabnis, @Panmari, Pavel Bulanov, Philip Pries Henningsen, Philipp
9383*b6fb3261SAndroid Build Coastguard WorkerJund, @polonez, Prayag Verma, Rahul Kavi, Raphael Gontijo Lopes, @rasbt, Raven
9384*b6fb3261SAndroid Build Coastguard WorkerIqqe, Reid Pryzant, Richard Shin, Rizwan Asif, Russell Kaplan, Ryo Asakura,
9385*b6fb3261SAndroid Build Coastguard WorkerRüDiger Busche, Saisai Shao, Sam Abrahams, @sanosay, Sean Papay, @seaotterman,
9386*b6fb3261SAndroid Build Coastguard Worker@selay01, Shaurya Sharma, Sriram Narayanamoorthy, Stefano Probst, @taknevski,
9387*b6fb3261SAndroid Build Coastguard Worker@tbonza, @teldridge11, Tim Anglade, Tomas Reimers, Tomer Gafner, Valentin
9388*b6fb3261SAndroid Build Coastguard WorkerIovene, Vamsi Sripathi, Viktor Malyi, Vit Stepanovs, Vivek Rane, Vlad Firoiu,
9389*b6fb3261SAndroid Build Coastguard Worker@wangg12, @will, Xiaoyu Tao, Yaroslav Bulatov, Yi Liu, Yuan (Terry) Tang,
9390*b6fb3261SAndroid Build Coastguard Worker@Yufeng, Yuming Wang, Yuxin Wu, Zafar Takhirov, Ziming Dong
9391*b6fb3261SAndroid Build Coastguard Worker
9392*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and
9393*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions.
9394*b6fb3261SAndroid Build Coastguard Worker
9395*b6fb3261SAndroid Build Coastguard Worker# Release 1.0.1
9396*b6fb3261SAndroid Build Coastguard Worker
9397*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
9398*b6fb3261SAndroid Build Coastguard Worker
9399*b6fb3261SAndroid Build Coastguard Worker*   Change GraphConstructor to not increase the version when importing, but
9400*b6fb3261SAndroid Build Coastguard Worker    instead take the min of all versions.
9401*b6fb3261SAndroid Build Coastguard Worker*   Google Cloud Storage fixes.
9402*b6fb3261SAndroid Build Coastguard Worker*   Removed `tf.core` and `tf.python` modules from the API. These were never
9403*b6fb3261SAndroid Build Coastguard Worker    intended to be exposed. Please use the same objects through top-level `tf`
9404*b6fb3261SAndroid Build Coastguard Worker    module instead.
9405*b6fb3261SAndroid Build Coastguard Worker
9406*b6fb3261SAndroid Build Coastguard Worker# Release 1.0.0
9407*b6fb3261SAndroid Build Coastguard Worker
9408*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
9409*b6fb3261SAndroid Build Coastguard Worker
9410*b6fb3261SAndroid Build Coastguard Worker*   XLA (experimental): initial release of
9411*b6fb3261SAndroid Build Coastguard Worker    [XLA](https://www.tensorflow.org/versions/master/experimental/xla/), a
9412*b6fb3261SAndroid Build Coastguard Worker    domain-specific compiler for TensorFlow graphs, that targets CPUs and GPUs.
9413*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow Debugger (tfdbg): command-line interface and API.
9414*b6fb3261SAndroid Build Coastguard Worker*   New python 3 docker images added.
9415*b6fb3261SAndroid Build Coastguard Worker*   Made pip packages pypi compliant. TensorFlow can now be installed by `pip
9416*b6fb3261SAndroid Build Coastguard Worker    install tensorflow` command.
9417*b6fb3261SAndroid Build Coastguard Worker*   Several python API calls have been changed to resemble NumPy more closely.
9418*b6fb3261SAndroid Build Coastguard Worker*   Android: person detection + tracking demo implementing Scalable Object
9419*b6fb3261SAndroid Build Coastguard Worker    Detection using Deep Neural Networks.
9420*b6fb3261SAndroid Build Coastguard Worker*   New (experimental)
9421*b6fb3261SAndroid Build Coastguard Worker    [Java API](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/java).
9422*b6fb3261SAndroid Build Coastguard Worker*   Add new Android image stylization demo based on "A Learned Representation
9423*b6fb3261SAndroid Build Coastguard Worker    For Artistic Style", and add YOLO object detector support.
9424*b6fb3261SAndroid Build Coastguard Worker
9425*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes to the API
9426*b6fb3261SAndroid Build Coastguard Worker
9427*b6fb3261SAndroid Build Coastguard WorkerTo help you upgrade your existing TensorFlow Python code to match the API
9428*b6fb3261SAndroid Build Coastguard Workerchanges below, we have prepared a
9429*b6fb3261SAndroid Build Coastguard Worker[conversion script](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tools/compatibility).
9430*b6fb3261SAndroid Build Coastguard Worker* TensorFlow/models have been moved to a separate github repository. * Division
9431*b6fb3261SAndroid Build Coastguard Workerand modulus operators (/, //, %) now match Python (flooring) semantics. This
9432*b6fb3261SAndroid Build Coastguard Workerapplies to `tf.div` and `tf.mod` as well. To obtain forced integer truncation
9433*b6fb3261SAndroid Build Coastguard Workerbased behaviors you can use `tf.truncatediv` and `tf.truncatemod`. *
9434*b6fb3261SAndroid Build Coastguard Worker`tf.divide()` is now the recommended division function. `tf.div()` will remain,
9435*b6fb3261SAndroid Build Coastguard Workerbut its semantics do not respond to Python 3 or `from future` mechanisms. *
9436*b6fb3261SAndroid Build Coastguard Workertf.reverse() now takes indices of axes to be reversed. E.g. `tf.reverse(a,
9437*b6fb3261SAndroid Build Coastguard Worker[True, False, True])` must now be written as `tf.reverse(a, [0, 2])`.
9438*b6fb3261SAndroid Build Coastguard Worker`tf.reverse_v2()` will remain until 1.0 final. * `tf.mul`, `tf.sub` and `tf.neg`
9439*b6fb3261SAndroid Build Coastguard Workerare deprecated in favor of `tf.multiply`, `tf.subtract` and `tf.negative`. *
9440*b6fb3261SAndroid Build Coastguard Worker`tf.pack` and `tf.unpack` are deprecated in favor of `tf.stack` and
9441*b6fb3261SAndroid Build Coastguard Worker`tf.unstack`. * `TensorArray.pack` and `TensorArray.unpack` are getting
9442*b6fb3261SAndroid Build Coastguard Workerdeprecated in favor of `TensorArray.stack` and `TensorArray.unstack`. * The
9443*b6fb3261SAndroid Build Coastguard Workerfollowing Python functions have had their arguments changed to use `axis` when
9444*b6fb3261SAndroid Build Coastguard Workerreferring to specific dimensions. We have kept the old keyword arguments for
9445*b6fb3261SAndroid Build Coastguard Workercompatibility currently, but we will be removing them well before the final 1.0.
9446*b6fb3261SAndroid Build Coastguard Worker* `tf.argmax`: `dimension` becomes `axis` * `tf.argmin`: `dimension` becomes
9447*b6fb3261SAndroid Build Coastguard Worker`axis` * `tf.count_nonzero`: `reduction_indices` becomes `axis` *
9448*b6fb3261SAndroid Build Coastguard Worker`tf.expand_dims`: `dim` becomes `axis` * `tf.reduce_all`: `reduction_indices`
9449*b6fb3261SAndroid Build Coastguard Workerbecomes `axis` * `tf.reduce_any`: `reduction_indices` becomes `axis` *
9450*b6fb3261SAndroid Build Coastguard Worker`tf.reduce_join`: `reduction_indices` becomes `axis` * `tf.reduce_logsumexp`:
9451*b6fb3261SAndroid Build Coastguard Worker`reduction_indices` becomes `axis` * `tf.reduce_max`: `reduction_indices`
9452*b6fb3261SAndroid Build Coastguard Workerbecomes `axis` * `tf.reduce_mean`: `reduction_indices` becomes `axis` *
9453*b6fb3261SAndroid Build Coastguard Worker`tf.reduce_min`: `reduction_indices` becomes `axis` * `tf.reduce_prod`:
9454*b6fb3261SAndroid Build Coastguard Worker`reduction_indices` becomes `axis` * `tf.reduce_sum`: `reduction_indices`
9455*b6fb3261SAndroid Build Coastguard Workerbecomes `axis` * `tf.reverse_sequence`: `batch_dim` becomes `batch_axis`,
9456*b6fb3261SAndroid Build Coastguard Worker`seq_dim` becomes `seq_axis` * `tf.sparse_concat`: `concat_dim` becomes `axis` *
9457*b6fb3261SAndroid Build Coastguard Worker`tf.sparse_reduce_sum`: `reduction_axes` becomes `axis` *
9458*b6fb3261SAndroid Build Coastguard Worker`tf.sparse_reduce_sum_sparse`: `reduction_axes` becomes `axis` *
9459*b6fb3261SAndroid Build Coastguard Worker`tf.sparse_split`: `split_dim` becomes `axis` * `tf.listdiff` has been renamed
9460*b6fb3261SAndroid Build Coastguard Workerto `tf.setdiff1d` to match NumPy naming. * `tf.inv` has been renamed to be
9461*b6fb3261SAndroid Build Coastguard Worker`tf.reciprocal` (component-wise reciprocal) to avoid confusion with `np.inv`
9462*b6fb3261SAndroid Build Coastguard Workerwhich is matrix inversion * tf.round now uses banker's rounding (round to even)
9463*b6fb3261SAndroid Build Coastguard Workersemantics to match NumPy. * `tf.split` now takes arguments in a reversed order
9464*b6fb3261SAndroid Build Coastguard Workerand with different keywords. In particular, we now match NumPy order as
9465*b6fb3261SAndroid Build Coastguard Worker`tf.split(value, num_or_size_splits, axis)`. * `tf.sparse_split` now takes
9466*b6fb3261SAndroid Build Coastguard Workerarguments in reversed order and with different keywords. In particular we now
9467*b6fb3261SAndroid Build Coastguard Workermatch NumPy order as `tf.sparse_split(sp_input, num_split, axis)`. NOTE: we have
9468*b6fb3261SAndroid Build Coastguard Workertemporarily made `tf.sparse_split` require keyword arguments. * `tf.concat` now
9469*b6fb3261SAndroid Build Coastguard Workertakes arguments in reversed order and with different keywords. In particular we
9470*b6fb3261SAndroid Build Coastguard Workernow match NumPy order as `tf.concat(values, axis, name)`. *
9471*b6fb3261SAndroid Build Coastguard Worker`tf.image.decode_jpeg` by default uses the faster DCT method, sacrificing a
9472*b6fb3261SAndroid Build Coastguard Workerlittle fidelity for improved speed. One can revert to the old behavior by
9473*b6fb3261SAndroid Build Coastguard Workerspecifying the attribute `dct_method='INTEGER_ACCURATE'`. * `tf.complex_abs` has
9474*b6fb3261SAndroid Build Coastguard Workerbeen removed from the Python interface. `tf.abs` supports complex tensors and
9475*b6fb3261SAndroid Build Coastguard Workershould be used instead. * In the C++ API (in tensorflow/cc), Input, Output, etc.
9476*b6fb3261SAndroid Build Coastguard Workerhave moved from the tensorflow::ops namespace to tensorflow. *
9477*b6fb3261SAndroid Build Coastguard WorkerTemplate.`var_scope` property renamed to `.variable_scope` *
9478*b6fb3261SAndroid Build Coastguard WorkerSyncReplicasOptimizer is removed and SyncReplicasOptimizerV2 renamed to
9479*b6fb3261SAndroid Build Coastguard WorkerSyncReplicasOptimizer. * `tf.zeros_initializer()` and `tf.ones_initializer()`
9480*b6fb3261SAndroid Build Coastguard Workernow return a callable that must be called with initializer arguments, in your
9481*b6fb3261SAndroid Build Coastguard Workercode replace `tf.zeros_initializer` with `tf.zeros_initializer()`. *
9482*b6fb3261SAndroid Build Coastguard Worker`SparseTensor.shape` has been renamed to `SparseTensor.dense_shape`. Same for
9483*b6fb3261SAndroid Build Coastguard Worker`SparseTensorValue.shape`. * Replace tf.scalar_summary, tf.histogram_summary,
9484*b6fb3261SAndroid Build Coastguard Workertf.audio_summary, tf.image_summary with tf.summary.scalar, tf.summary.histogram,
9485*b6fb3261SAndroid Build Coastguard Workertf.summary.audio, tf.summary.image, respectively. The new summary ops take name
9486*b6fb3261SAndroid Build Coastguard Workerrather than tag as their first argument, meaning summary ops now respect
9487*b6fb3261SAndroid Build Coastguard WorkerTensorFlow name scopes. * Replace tf.train.SummaryWriter and
9488*b6fb3261SAndroid Build Coastguard Workertf.train.SummaryWriterCache with tf.summary.FileWriter and
9489*b6fb3261SAndroid Build Coastguard Workertf.summary.FileWriterCache. * Removes RegisterShape from public API. Use C++
9490*b6fb3261SAndroid Build Coastguard Workershape function registration instead. * Deprecated `_ref` dtypes from the python
9491*b6fb3261SAndroid Build Coastguard WorkerAPI. * In the C++ API (in tensorflow/cc), Input, Output, etc. have moved from
9492*b6fb3261SAndroid Build Coastguard Workerthe tensorflow::ops namespace to tensorflow. * Change arg order for
9493*b6fb3261SAndroid Build Coastguard Worker`{softmax,sparse_softmax,sigmoid}_cross_entropy_with_logits` to be (labels,
9494*b6fb3261SAndroid Build Coastguard Workerpredictions), and force use of named args. * tf.nn.rnn_cell.* and most functions
9495*b6fb3261SAndroid Build Coastguard Workerin tf.nn.rnn.* (with the exception of dynamic_rnn and raw_rnn) are temporarily
9496*b6fb3261SAndroid Build Coastguard Workerin tf.contrib.rnn. They will be moved back into core for TF 1.2. *
9497*b6fb3261SAndroid Build Coastguard Worker`tf.nn.sampled_softmax_loss` and `tf.nn.nce_loss` have both changed their API
9498*b6fb3261SAndroid Build Coastguard Workersuch that you need to switch the `inputs, labels` to `labels, inputs`
9499*b6fb3261SAndroid Build Coastguard Workerparameters. * The shape keyword argument of the `SparseTensor` constructor
9500*b6fb3261SAndroid Build Coastguard Workerchanges its name to `dense_shape` between Tensorflow 0.12 and Tensorflow 1.0.
9501*b6fb3261SAndroid Build Coastguard Worker
9502*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
9503*b6fb3261SAndroid Build Coastguard Worker
9504*b6fb3261SAndroid Build Coastguard Worker*   Numerous C++ API updates.
9505*b6fb3261SAndroid Build Coastguard Worker*   New op: `parallel_stack`.
9506*b6fb3261SAndroid Build Coastguard Worker*   Introducing common tf io compression options constants for
9507*b6fb3261SAndroid Build Coastguard Worker    RecordReader/RecordWriter.
9508*b6fb3261SAndroid Build Coastguard Worker*   Add `sparse_column_with_vocabulary_file`, to specify a feature column that
9509*b6fb3261SAndroid Build Coastguard Worker    transform string features to IDs, where the mapping is defined by a
9510*b6fb3261SAndroid Build Coastguard Worker    vocabulary file.
9511*b6fb3261SAndroid Build Coastguard Worker*   Added `index_to_string_table` which returns a lookup table that maps indices
9512*b6fb3261SAndroid Build Coastguard Worker    to strings.
9513*b6fb3261SAndroid Build Coastguard Worker*   Add `string_to_index_table`, which returns a lookup table that matches
9514*b6fb3261SAndroid Build Coastguard Worker    strings to indices.
9515*b6fb3261SAndroid Build Coastguard Worker*   Add a `ParallelForWithWorkerId` function.
9516*b6fb3261SAndroid Build Coastguard Worker*   Add `string_to_index_table`, which returns a lookup table that matches
9517*b6fb3261SAndroid Build Coastguard Worker    strings to indices.
9518*b6fb3261SAndroid Build Coastguard Worker*   Support restore session from checkpoint files in v2 in
9519*b6fb3261SAndroid Build Coastguard Worker    `contrib/session_bundle`.
9520*b6fb3261SAndroid Build Coastguard Worker*   Added a tf.contrib.image.rotate function for arbitrary angles.
9521*b6fb3261SAndroid Build Coastguard Worker*   Added `tf.contrib.framework.filter_variables` as a convenience function to
9522*b6fb3261SAndroid Build Coastguard Worker    filter lists of variables based on regular expressions.
9523*b6fb3261SAndroid Build Coastguard Worker*   `make_template()` takes an optional `custom_getter_ param`.
9524*b6fb3261SAndroid Build Coastguard Worker*   Added comment about how existing directories are handled by
9525*b6fb3261SAndroid Build Coastguard Worker    `recursive_create_dir`.
9526*b6fb3261SAndroid Build Coastguard Worker*   Added an op for QR factorizations.
9527*b6fb3261SAndroid Build Coastguard Worker*   Divides and mods in Python API now use flooring (Python) semantics.
9528*b6fb3261SAndroid Build Coastguard Worker*   Android: pre-built libs are now built nightly.
9529*b6fb3261SAndroid Build Coastguard Worker*   Android: cmake/gradle build for TensorFlow Inference library under
9530*b6fb3261SAndroid Build Coastguard Worker    `contrib/android/cmake`
9531*b6fb3261SAndroid Build Coastguard Worker*   Android: Much more robust Session initialization code.
9532*b6fb3261SAndroid Build Coastguard Worker*   Android: TF stats now exposed directly in demo and log when debug mode is
9533*b6fb3261SAndroid Build Coastguard Worker    active
9534*b6fb3261SAndroid Build Coastguard Worker*   Android: new/better README.md documentation
9535*b6fb3261SAndroid Build Coastguard Worker*   saved_model is available as `tf.saved_model`.
9536*b6fb3261SAndroid Build Coastguard Worker*   Empty op is now stateful.
9537*b6fb3261SAndroid Build Coastguard Worker*   Improve speed of scatter_update on the cpu for ASSIGN operations.
9538*b6fb3261SAndroid Build Coastguard Worker*   Change `reduce_join` to treat `reduction_indices` in the same way as other
9539*b6fb3261SAndroid Build Coastguard Worker    `reduce_` ops.
9540*b6fb3261SAndroid Build Coastguard Worker*   Move `TensorForestEstimator` to `contrib/tensor_forest`.
9541*b6fb3261SAndroid Build Coastguard Worker*   Enable compiler optimizations by default and allow configuration in
9542*b6fb3261SAndroid Build Coastguard Worker    configure.
9543*b6fb3261SAndroid Build Coastguard Worker*   `tf.divide` now honors the name field.
9544*b6fb3261SAndroid Build Coastguard Worker*   Make metrics weight broadcasting more strict.
9545*b6fb3261SAndroid Build Coastguard Worker*   Add new queue-like `StagingArea` and new ops: `stage` and `unstage`.
9546*b6fb3261SAndroid Build Coastguard Worker*   Enable inplace update ops for strings on CPU. Speed up string concat.
9547*b6fb3261SAndroid Build Coastguard Worker
9548*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
9549*b6fb3261SAndroid Build Coastguard Worker
9550*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
9551*b6fb3261SAndroid Build Coastguard Worker
9552*b6fb3261SAndroid Build Coastguard WorkerAaron Hu, Abhishek Aggarwal, Adam Michael, Adriano Carmezim, @AfirSraftGarrier,
9553*b6fb3261SAndroid Build Coastguard WorkerAlexander Novikov, Alexander Rosenberg Johansen, Andrew Gibiansky, Andrew Hundt,
9554*b6fb3261SAndroid Build Coastguard WorkerAnish Shah, Anton Loss, @b0noI, @BoyuanJiang, Carl Thomé, Chad Kennedy, Comic
9555*b6fb3261SAndroid Build Coastguard WorkerChang, Connor Braa, Daniel N. Lang, Daniel Trebbien, @danielgordon10, Darcy Liu,
9556*b6fb3261SAndroid Build Coastguard WorkerDarren Garvey, Dmitri Lapin, Eron Wright, Evan Cofer, Fabrizio Milo, Finbarr
9557*b6fb3261SAndroid Build Coastguard WorkerTimbers, Franck Dernoncourt, Garrett Smith, @guschmue, Hao Wei, Henrik Holst,
9558*b6fb3261SAndroid Build Coastguard WorkerHuazuo Gao, @Ian, @Issac, Jacob Israel, Jangsoo Park, Jin Kim, Jingtian Peng,
9559*b6fb3261SAndroid Build Coastguard WorkerJohn Pope, Kye Bostelmann, Liangliang He, Ling Zhang, Luheng He, Luke Iwanski,
9560*b6fb3261SAndroid Build Coastguard Worker@lvli, Michael Basilyan, Mihir Patel, Mikalai Drabovich, Morten Just, @newge,
9561*b6fb3261SAndroid Build Coastguard WorkerNick Butlin, Nishant Shukla, Pengfei Ni, Przemyslaw Tredak, @rasbt, @Ronny,
9562*b6fb3261SAndroid Build Coastguard WorkerRudolf Rosa, @RustingSword, Sam Abrahams, Sam Putnam, @SeongAhJo, Shi Jiaxin,
9563*b6fb3261SAndroid Build Coastguard Worker@skavulya, Steffen MüLler, @TheUSER123, @tiriplicamihai, @vhasanov, Victor
9564*b6fb3261SAndroid Build Coastguard WorkerCostan, Vit Stepanovs, Wangda Tan, Wenjian Huang, Xingdong Zuo, Yaroslav
9565*b6fb3261SAndroid Build Coastguard WorkerBulatov, Yota Toyama, Yuan (Terry) Tang, Yuxin Wu
9566*b6fb3261SAndroid Build Coastguard Worker
9567*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and
9568*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions.
9569*b6fb3261SAndroid Build Coastguard Worker
9570*b6fb3261SAndroid Build Coastguard Worker# Release 0.12.0
9571*b6fb3261SAndroid Build Coastguard Worker
9572*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
9573*b6fb3261SAndroid Build Coastguard Worker
9574*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow now builds and runs on Microsoft Windows (tested on Windows 10,
9575*b6fb3261SAndroid Build Coastguard Worker    Windows 7, and Windows Server 2016). Supported languages include Python (via
9576*b6fb3261SAndroid Build Coastguard Worker    a pip package) and C++. CUDA 8.0 and cuDNN 5.1 are supported for GPU
9577*b6fb3261SAndroid Build Coastguard Worker    acceleration. Known limitations include: It is not currently possible to
9578*b6fb3261SAndroid Build Coastguard Worker    load a custom op library. The GCS and HDFS file systems are not currently
9579*b6fb3261SAndroid Build Coastguard Worker    supported. The following ops are not currently implemented: Dequantize,
9580*b6fb3261SAndroid Build Coastguard Worker    QuantizeAndDequantize, QuantizedAvgPool,
9581*b6fb3261SAndroid Build Coastguard Worker    QuantizedBatchNomWithGlobalNormalization, QuantizedBiasAdd, QuantizedConcat,
9582*b6fb3261SAndroid Build Coastguard Worker    QuantizedConv2D, QuantizedMatmul, QuantizedMaxPool,
9583*b6fb3261SAndroid Build Coastguard Worker    QuantizeDownAndShrinkRange, QuantizedRelu, QuantizedRelu6, QuantizedReshape,
9584*b6fb3261SAndroid Build Coastguard Worker    QuantizeV2, RequantizationRange, and Requantize.
9585*b6fb3261SAndroid Build Coastguard Worker*   Go: Experimental API in Go to create and execute graphs
9586*b6fb3261SAndroid Build Coastguard Worker    (https://godoc.org/github.com/tensorflow/tensorflow/tensorflow/go)
9587*b6fb3261SAndroid Build Coastguard Worker*   New checkpoint format becomes the default in `tf.train.Saver`. Old V1
9588*b6fb3261SAndroid Build Coastguard Worker    checkpoints continue to be readable; controlled by the `write_version`
9589*b6fb3261SAndroid Build Coastguard Worker    argument, `tf.train.Saver` now by default writes out in the new V2 format.
9590*b6fb3261SAndroid Build Coastguard Worker    It significantly reduces the peak memory required and latency incurred
9591*b6fb3261SAndroid Build Coastguard Worker    during restore.
9592*b6fb3261SAndroid Build Coastguard Worker*   Added a new library for library of matrix-free (iterative) solvers for
9593*b6fb3261SAndroid Build Coastguard Worker    linear equations, linear least-squares, eigenvalues and singular values in
9594*b6fb3261SAndroid Build Coastguard Worker    tensorflow/contrib/solvers. Initial version has lanczos bidiagonalization,
9595*b6fb3261SAndroid Build Coastguard Worker    conjugate gradients and CGLS.
9596*b6fb3261SAndroid Build Coastguard Worker*   Added gradients for `matrix_solve_ls` and `self_adjoint_eig`.
9597*b6fb3261SAndroid Build Coastguard Worker*   Large cleanup to add second order gradient for ops with C++ gradients and
9598*b6fb3261SAndroid Build Coastguard Worker    improve existing gradients such that most ops can now be differentiated
9599*b6fb3261SAndroid Build Coastguard Worker    multiple times.
9600*b6fb3261SAndroid Build Coastguard Worker*   Added a solver for ordinary differential equations,
9601*b6fb3261SAndroid Build Coastguard Worker    `tf.contrib.integrate.odeint`.
9602*b6fb3261SAndroid Build Coastguard Worker*   New contrib module for tensors with named axes, `tf.contrib.labeled_tensor`.
9603*b6fb3261SAndroid Build Coastguard Worker*   Visualization of embeddings in TensorBoard.
9604*b6fb3261SAndroid Build Coastguard Worker
9605*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes to the API
9606*b6fb3261SAndroid Build Coastguard Worker
9607*b6fb3261SAndroid Build Coastguard Worker*   `BusAdjacency` enum replaced with a protocol buffer `DeviceLocality`. PCI
9608*b6fb3261SAndroid Build Coastguard Worker    bus indexing now starts from 1 instead of 0, and `bus_id==0` is used where
9609*b6fb3261SAndroid Build Coastguard Worker    previously `BUS_ANY` was used.
9610*b6fb3261SAndroid Build Coastguard Worker*   `Env::FileExists` and `FileSystem::FileExists` now return a
9611*b6fb3261SAndroid Build Coastguard Worker    tensorflow::Status instead of a bool. Any callers to this function can be
9612*b6fb3261SAndroid Build Coastguard Worker    converted to a bool by adding .ok() to the call.
9613*b6fb3261SAndroid Build Coastguard Worker*   The C API type `TF_SessionWithGraph` has been renamed to `TF_Session`,
9614*b6fb3261SAndroid Build Coastguard Worker    indicating its preferred use in language bindings for TensorFlow. What was
9615*b6fb3261SAndroid Build Coastguard Worker    previously `TF_Session` has been renamed to `TF_DeprecatedSession`.
9616*b6fb3261SAndroid Build Coastguard Worker*   Renamed `TF_Port` to `TF_Output` in the C API.
9617*b6fb3261SAndroid Build Coastguard Worker*   Removes RegisterShape from public API. Use C++ shape function registration
9618*b6fb3261SAndroid Build Coastguard Worker    instead. indexing now starts from 1 instead of 0, and `bus_id==0` is used
9619*b6fb3261SAndroid Build Coastguard Worker    where previously `BUS_ANY` was used.
9620*b6fb3261SAndroid Build Coastguard Worker*   Most RNN cells and RNN functions now use different variable scopes to be
9621*b6fb3261SAndroid Build Coastguard Worker    consistent with layers (`tf.contrib.layers`). This means old checkpoints
9622*b6fb3261SAndroid Build Coastguard Worker    written using this code will not load after this change without providing
9623*b6fb3261SAndroid Build Coastguard Worker    `Saver` a list of variable renames. Examples of variable scope changes
9624*b6fb3261SAndroid Build Coastguard Worker    include `RNN` -> `rnn` in `tf.nn.rnn`, `tf.nn.dynamic_rnn` and moving from
9625*b6fb3261SAndroid Build Coastguard Worker    `Linear/Matrix` -> `weights` and `Linear/Bias` -> `biases` in most RNN
9626*b6fb3261SAndroid Build Coastguard Worker    cells.
9627*b6fb3261SAndroid Build Coastguard Worker*   Deprecated tf.select op. tf.where should be used instead.
9628*b6fb3261SAndroid Build Coastguard Worker*   `SparseTensor.shape` has been renamed to `SparseTensor.dense_shape`. Same
9629*b6fb3261SAndroid Build Coastguard Worker    for `SparseTensorValue.shape`.
9630*b6fb3261SAndroid Build Coastguard Worker*   `Env::FileExists` and `FileSystem::FileExists` now return a
9631*b6fb3261SAndroid Build Coastguard Worker    `tensorflow::Status` instead of a bool. Any callers to this function can be
9632*b6fb3261SAndroid Build Coastguard Worker    converted to a bool by adding `.ok()` to the call.
9633*b6fb3261SAndroid Build Coastguard Worker*   C API: Type `TF_SessionWithGraph` has been renamed to `TF_Session`,
9634*b6fb3261SAndroid Build Coastguard Worker    indicating its preferred use in language bindings for TensorFlow. What was
9635*b6fb3261SAndroid Build Coastguard Worker    previously `TF_Session` has been renamed to `TF_DeprecatedSession`.
9636*b6fb3261SAndroid Build Coastguard Worker*   C API: Renamed `TF_Port` to `TF_Output`.
9637*b6fb3261SAndroid Build Coastguard Worker*   C API: The caller retains ownership of `TF_Tensor` objects provided to
9638*b6fb3261SAndroid Build Coastguard Worker    `TF_Run`, `TF_SessionRun`, `TF_SetAttrTensor` etc.
9639*b6fb3261SAndroid Build Coastguard Worker*   Renamed `tf.image.per_image_whitening()` to
9640*b6fb3261SAndroid Build Coastguard Worker    `tf.image.per_image_standardization()`
9641*b6fb3261SAndroid Build Coastguard Worker*   Move Summary protobuf constructors to `tf.summary` submodule.
9642*b6fb3261SAndroid Build Coastguard Worker*   Deprecate `histogram_summary`, `audio_summary`, `scalar_summary`,
9643*b6fb3261SAndroid Build Coastguard Worker    `image_summary`, `merge_summary`, and `merge_all_summaries`.
9644*b6fb3261SAndroid Build Coastguard Worker*   Combined `batch_*` and regular version of linear algebra and FFT ops. The
9645*b6fb3261SAndroid Build Coastguard Worker    regular op now handles batches as well. All `batch_*` Python interfaces were
9646*b6fb3261SAndroid Build Coastguard Worker    removed.
9647*b6fb3261SAndroid Build Coastguard Worker*   `tf.all_variables`, `tf.VARIABLES` and `tf.initialize_all_variables` renamed
9648*b6fb3261SAndroid Build Coastguard Worker    to `tf.global_variables`, `tf.GLOBAL_VARIABLES` and
9649*b6fb3261SAndroid Build Coastguard Worker    `tf.global_variables_initializer` respectively.
9650*b6fb3261SAndroid Build Coastguard Worker*   `tf.zeros_initializer()` and `tf.ones_initializer()` now return a callable
9651*b6fb3261SAndroid Build Coastguard Worker    that must be called with initializer arguments, in your code replace
9652*b6fb3261SAndroid Build Coastguard Worker    `tf.zeros_initializer` with `tf.zeros_initializer()`
9653*b6fb3261SAndroid Build Coastguard Worker
9654*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
9655*b6fb3261SAndroid Build Coastguard Worker
9656*b6fb3261SAndroid Build Coastguard Worker*   Use threadsafe version of `lgamma` function.
9657*b6fb3261SAndroid Build Coastguard Worker*   Fix `tf.sqrt` handling of negative arguments.
9658*b6fb3261SAndroid Build Coastguard Worker*   Fixed bug causing incorrect number of threads to be used for multi-threaded
9659*b6fb3261SAndroid Build Coastguard Worker    benchmarks.
9660*b6fb3261SAndroid Build Coastguard Worker*   Performance optimizations for `batch_matmul` on multi-core CPUs.
9661*b6fb3261SAndroid Build Coastguard Worker*   Improve trace, `matrix_set_diag`, `matrix_diag_part` and their gradients to
9662*b6fb3261SAndroid Build Coastguard Worker    work for rectangular matrices.
9663*b6fb3261SAndroid Build Coastguard Worker*   Support for SVD of complex valued matrices.
9664*b6fb3261SAndroid Build Coastguard Worker
9665*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
9666*b6fb3261SAndroid Build Coastguard Worker
9667*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
9668*b6fb3261SAndroid Build Coastguard Worker
9669*b6fb3261SAndroid Build Coastguard Worker@a7744hsc, Abhi Agg, @admcrae, Adriano Carmezim, Aki Sukegawa, Alex Kendall,
9670*b6fb3261SAndroid Build Coastguard WorkerAlexander Rosenberg Johansen, @amcrae, Amlan Kar, Andre Simpelo, Andreas Eberle,
9671*b6fb3261SAndroid Build Coastguard WorkerAndrew Hundt, Arnaud Lenglet, @b0noI, Balachander Ramachandran, Ben Barsdell,
9672*b6fb3261SAndroid Build Coastguard WorkerBen Guidarelli, Benjamin Mularczyk, Burness Duan, @c0g, Changming Sun, @chanis,
9673*b6fb3261SAndroid Build Coastguard WorkerCorey Wharton, Dan J, Daniel Trebbien, Darren Garvey, David Brailovsky, David
9674*b6fb3261SAndroid Build Coastguard WorkerJones, Di Zeng, @DjangoPeng, Dr. Kashif Rasul, @drag0, Fabrizio (Misto) Milo,
9675*b6fb3261SAndroid Build Coastguard WorkerFabríCio Ceschin, @fp, @Ghedeon, @guschmue, Gökçen Eraslan, Haosdent Huang,
9676*b6fb3261SAndroid Build Coastguard WorkerHaroen Viaene, Harold Cooper, Henrik Holst, @hoangmit, Ivan Ukhov, Javier
9677*b6fb3261SAndroid Build Coastguard WorkerDehesa, Jingtian Peng, Jithin Odattu, Joan Pastor, Johan Mathe, Johannes Mayer,
9678*b6fb3261SAndroid Build Coastguard WorkerJongwook Choi, Justus Schwabedal, Kai Wolf, Kamil Hryniewicz, Kamran Amini,
9679*b6fb3261SAndroid Build Coastguard WorkerKaren Brems, Karl Lattimer, @kborer, Ken Shirriff, Kevin Rose, Larissa Laich,
9680*b6fb3261SAndroid Build Coastguard WorkerLaurent Mazare, Leonard Lee, Liang-Chi Hsieh, Liangliang He, Luke Iwanski, Marek
9681*b6fb3261SAndroid Build Coastguard WorkerKolodziej, Moustafa Alzantot, @MrQianjinsi, @nagachika, Neil Han, Nick Meehan,
9682*b6fb3261SAndroid Build Coastguard WorkerNiels Ole Salscheider, Nikhil Mishra, @nschuc, Ondrej Skopek, OndřEj Filip,
9683*b6fb3261SAndroid Build Coastguard Worker@OscarDPan, Pablo Moyano, Przemyslaw Tredak, @qitaishui, @Quarazy, @raix852,
9684*b6fb3261SAndroid Build Coastguard WorkerPhilipp Helo, Sam Abrahams, @SriramRamesh, Till Hoffmann, Tushar Soni, @tvn,
9685*b6fb3261SAndroid Build Coastguard Worker@tyfkda, Uwe Schmidt, Victor Villas, Vit Stepanovs, Vladislav Gubarev,
9686*b6fb3261SAndroid Build Coastguard Worker@wujingyue, Xuesong Yang, Yi Liu, Yilei Yang, @youyou3, Yuan (Terry) Tang,
9687*b6fb3261SAndroid Build Coastguard WorkerYuming Wang, Zafar Takhirov, @zhongyuk, Ziming Dong, @guotong1988
9688*b6fb3261SAndroid Build Coastguard Worker
9689*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and
9690*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions.
9691*b6fb3261SAndroid Build Coastguard Worker
9692*b6fb3261SAndroid Build Coastguard Worker# Release 0.11.0
9693*b6fb3261SAndroid Build Coastguard Worker
9694*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
9695*b6fb3261SAndroid Build Coastguard Worker
9696*b6fb3261SAndroid Build Coastguard Worker*   CUDA 8 support.
9697*b6fb3261SAndroid Build Coastguard Worker*   cuDNN 5 support.
9698*b6fb3261SAndroid Build Coastguard Worker*   HDFS Support.
9699*b6fb3261SAndroid Build Coastguard Worker*   Adds Fused LSTM support via cuDNN 5 in `tensorflow/contrib/cudnn_rnn`.
9700*b6fb3261SAndroid Build Coastguard Worker*   Improved support for NumPy style basic slicing including non-1 strides,
9701*b6fb3261SAndroid Build Coastguard Worker    ellipses, newaxis, and negative indices. For example complicated expressions
9702*b6fb3261SAndroid Build Coastguard Worker    like `foo[1, 2:4, tf.newaxis, ..., :-3:-1, :]` are now supported. In
9703*b6fb3261SAndroid Build Coastguard Worker    addition we have preliminary (non-broadcasting) support for sliced
9704*b6fb3261SAndroid Build Coastguard Worker    assignment to variables. In particular one can write
9705*b6fb3261SAndroid Build Coastguard Worker    `var[1:3].assign([1,11,111])`.
9706*b6fb3261SAndroid Build Coastguard Worker*   Deprecated `tf.op_scope` and `tf.variable_op_scope` in favor of a unified
9707*b6fb3261SAndroid Build Coastguard Worker    `tf.name_scope` and `tf.variable_scope`. The new argument order of
9708*b6fb3261SAndroid Build Coastguard Worker    `tf.variable_scope` is incompatible with previous versions.
9709*b6fb3261SAndroid Build Coastguard Worker*   Introducing `core/util/tensor_bundle` module: a module to efficiently
9710*b6fb3261SAndroid Build Coastguard Worker    serialize/deserialize tensors to disk. Will be used in TF's new checkpoint
9711*b6fb3261SAndroid Build Coastguard Worker    format.
9712*b6fb3261SAndroid Build Coastguard Worker*   Added tf.svd for computing the singular value decomposition (SVD) of dense
9713*b6fb3261SAndroid Build Coastguard Worker    matrices or batches of matrices (CPU only).
9714*b6fb3261SAndroid Build Coastguard Worker*   Added gradients for eigenvalues and eigenvectors computed using
9715*b6fb3261SAndroid Build Coastguard Worker    `self_adjoint_eig` or `self_adjoint_eigvals`.
9716*b6fb3261SAndroid Build Coastguard Worker*   Eliminated `batch_*` methods for most linear algebra and FFT ops and
9717*b6fb3261SAndroid Build Coastguard Worker    promoted the non-batch version of the ops to handle batches of matrices.
9718*b6fb3261SAndroid Build Coastguard Worker*   Tracing/timeline support for distributed runtime (no GPU profiler yet).
9719*b6fb3261SAndroid Build Coastguard Worker*   C API gives access to inferred shapes with `TF_GraphGetTensorNumDims` and
9720*b6fb3261SAndroid Build Coastguard Worker    `TF_GraphGetTensorShape`.
9721*b6fb3261SAndroid Build Coastguard Worker*   Shape functions for core ops have moved to C++ via
9722*b6fb3261SAndroid Build Coastguard Worker    `REGISTER_OP(...).SetShapeFn(...)`. Python shape inference RegisterShape
9723*b6fb3261SAndroid Build Coastguard Worker    calls use the C++ shape functions with `common_shapes.call_cpp_shape_fn`. A
9724*b6fb3261SAndroid Build Coastguard Worker    future release will remove `RegisterShape` from python.
9725*b6fb3261SAndroid Build Coastguard Worker
9726*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
9727*b6fb3261SAndroid Build Coastguard Worker
9728*b6fb3261SAndroid Build Coastguard Worker*   Documentation now includes operator overloads on Tensor and Variable.
9729*b6fb3261SAndroid Build Coastguard Worker*   `tensorflow.__git_version__` now allows users to identify the version of the
9730*b6fb3261SAndroid Build Coastguard Worker    code that TensorFlow was compiled with. We also have
9731*b6fb3261SAndroid Build Coastguard Worker    `tensorflow.__git_compiler__` which identifies the compiler used to compile
9732*b6fb3261SAndroid Build Coastguard Worker    TensorFlow's core.
9733*b6fb3261SAndroid Build Coastguard Worker*   Improved multi-threaded performance of `batch_matmul`.
9734*b6fb3261SAndroid Build Coastguard Worker*   LSTMCell, BasicLSTMCell, and MultiRNNCell constructors now default to
9735*b6fb3261SAndroid Build Coastguard Worker    `state_is_tuple=True`. For a quick fix while transitioning to the new
9736*b6fb3261SAndroid Build Coastguard Worker    default, simply pass the argument `state_is_tuple=False`.
9737*b6fb3261SAndroid Build Coastguard Worker*   DeviceFactory's AddDevices and CreateDevices functions now return a Status
9738*b6fb3261SAndroid Build Coastguard Worker    instead of void.
9739*b6fb3261SAndroid Build Coastguard Worker*   Int32 elements of list(type) arguments are no longer placed in host memory
9740*b6fb3261SAndroid Build Coastguard Worker    by default. If necessary, a list(type) argument to a kernel can be placed in
9741*b6fb3261SAndroid Build Coastguard Worker    host memory using a HostMemory annotation.
9742*b6fb3261SAndroid Build Coastguard Worker*   `uniform_unit_scaling_initializer()` no longer takes a `full_shape` arg,
9743*b6fb3261SAndroid Build Coastguard Worker    instead relying on the partition info passed to the initializer function
9744*b6fb3261SAndroid Build Coastguard Worker    when it's called.
9745*b6fb3261SAndroid Build Coastguard Worker*   The NodeDef protocol message is now defined in its own file `node_def.proto`
9746*b6fb3261SAndroid Build Coastguard Worker    `instead of graph.proto`.
9747*b6fb3261SAndroid Build Coastguard Worker*   `ops.NoGradient` was renamed `ops.NotDifferentiable`. `ops.NoGradient` will
9748*b6fb3261SAndroid Build Coastguard Worker    be removed soon.
9749*b6fb3261SAndroid Build Coastguard Worker*   `dot.h` / DotGraph was removed (it was an early analysis tool prior to
9750*b6fb3261SAndroid Build Coastguard Worker    TensorBoard, no longer that useful). It remains in history should someone
9751*b6fb3261SAndroid Build Coastguard Worker    find the code useful.
9752*b6fb3261SAndroid Build Coastguard Worker*   re2 / regexp.h was removed from being a public interface of TF. Should users
9753*b6fb3261SAndroid Build Coastguard Worker    need regular expressions, they should depend on the RE2 library directly
9754*b6fb3261SAndroid Build Coastguard Worker    rather than via TensorFlow.
9755*b6fb3261SAndroid Build Coastguard Worker
9756*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
9757*b6fb3261SAndroid Build Coastguard Worker
9758*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
9759*b6fb3261SAndroid Build Coastguard Worker
9760*b6fb3261SAndroid Build Coastguard WorkerAbid K, @afshinrahimi, @AidanGG, Ajay Rao, Aki Sukegawa, Alex Rothberg,
9761*b6fb3261SAndroid Build Coastguard WorkerAlexander Rosenberg Johansen, Andrew Gibiansky, Andrew Thomas, @Appleholic,
9762*b6fb3261SAndroid Build Coastguard WorkerBastiaan Quast, Ben Dilday, Bofu Chen, Brandon Amos, Bryon Gloden, Cissp®,
9763*b6fb3261SAndroid Build Coastguard Worker@chanis, Chenyang Liu, Corey Wharton, Daeyun Shin, Daniel Julius Lasiman, Daniel
9764*b6fb3261SAndroid Build Coastguard WorkerWaterworth, Danijar Hafner, Darren Garvey, Denis Gorbachev, @DjangoPeng,
9765*b6fb3261SAndroid Build Coastguard WorkerEgor-Krivov, Elia Palme, Eric Platon, Fabrizio Milo, Gaetan Semet, Georg
9766*b6fb3261SAndroid Build Coastguard WorkerNebehay, Gu Wang, Gustav Larsson, @haosdent, Harold Cooper, Hw-Zz, @ichuang,
9767*b6fb3261SAndroid Build Coastguard WorkerIgor Babuschkin, Igor Macedo Quintanilha, Ilya Edrenkin, @ironhead, Jakub
9768*b6fb3261SAndroid Build Coastguard WorkerKolodziejczyk, Jennifer Guo, Jihun Choi, Jonas Rauber, Josh Bleecher Snyder,
9769*b6fb3261SAndroid Build Coastguard Worker@jpangburn, Jules Gagnon-Marchand, Karen Brems, @kborer, Kirill Bobyrev, Laurent
9770*b6fb3261SAndroid Build Coastguard WorkerMazare, Longqi Yang, Malith Yapa, Maniteja Nandana, Martin Englund, Matthias
9771*b6fb3261SAndroid Build Coastguard WorkerWinkelmann, @mecab, Mu-Ik Jeon, Nand Dalal, Niels Ole Salscheider, Nikhil
9772*b6fb3261SAndroid Build Coastguard WorkerMishra, Park Jiin, Pieter De Rijk, @raix852, Ritwik Gupta, Sahil Sharma,
9773*b6fb3261SAndroid Build Coastguard WorkerSangheum Hwang, @SergejsRk, Shinichiro Hamaji, Simon Denel, @Steve,
9774*b6fb3261SAndroid Build Coastguard Worker@suiyuan2009, Tiago Jorge, Tijmen Tieleman, @tvn, @tyfkda, Wang Yang, Wei-Ting
9775*b6fb3261SAndroid Build Coastguard WorkerKuo, Wenjian Huang, Yan Chen, @YenChenLin, Yuan (Terry) Tang, Yuncheng Li,
9776*b6fb3261SAndroid Build Coastguard WorkerYunfeng Wang, Zack Polizzi, @zhongzyd, Ziming Dong, @perhapszzy
9777*b6fb3261SAndroid Build Coastguard Worker
9778*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and
9779*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions.
9780*b6fb3261SAndroid Build Coastguard Worker
9781*b6fb3261SAndroid Build Coastguard Worker# Release 0.10.0
9782*b6fb3261SAndroid Build Coastguard Worker
9783*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
9784*b6fb3261SAndroid Build Coastguard Worker
9785*b6fb3261SAndroid Build Coastguard Worker*   Added support for C++ shape inference
9786*b6fb3261SAndroid Build Coastguard Worker*   Added graph-construction C API
9787*b6fb3261SAndroid Build Coastguard Worker*   Major revision to the graph-construction C++ API
9788*b6fb3261SAndroid Build Coastguard Worker*   Support makefile build for iOS
9789*b6fb3261SAndroid Build Coastguard Worker*   Added Mac GPU support
9790*b6fb3261SAndroid Build Coastguard Worker*   Full version of TF-Slim available as `tf.contrib.slim`
9791*b6fb3261SAndroid Build Coastguard Worker*   Added k-Means clustering and WALS matrix factorization
9792*b6fb3261SAndroid Build Coastguard Worker
9793*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
9794*b6fb3261SAndroid Build Coastguard Worker
9795*b6fb3261SAndroid Build Coastguard Worker*   Allow gradient computation for scalar values.
9796*b6fb3261SAndroid Build Coastguard Worker*   Performance improvements for gRPC
9797*b6fb3261SAndroid Build Coastguard Worker*   Improved support for fp16
9798*b6fb3261SAndroid Build Coastguard Worker*   New high-level ops in tf.contrib. {layers,metrics}
9799*b6fb3261SAndroid Build Coastguard Worker*   New features for TensorBoard, such as shape display, exponential smoothing
9800*b6fb3261SAndroid Build Coastguard Worker*   Faster and more stable Google Cloud Storage (GCS) filesystem support
9801*b6fb3261SAndroid Build Coastguard Worker*   Support for zlib compression and decompression for TFRecordReader and
9802*b6fb3261SAndroid Build Coastguard Worker    TFRecordWriter
9803*b6fb3261SAndroid Build Coastguard Worker*   Support for reading (animated) GIFs
9804*b6fb3261SAndroid Build Coastguard Worker*   Improved support for SparseTensor
9805*b6fb3261SAndroid Build Coastguard Worker*   Added support for more probability distributions (Dirichlet, Beta,
9806*b6fb3261SAndroid Build Coastguard Worker    Bernoulli, etc.)
9807*b6fb3261SAndroid Build Coastguard Worker*   Added Python interfaces to reset resource containers.
9808*b6fb3261SAndroid Build Coastguard Worker*   Many bugfixes and performance improvements
9809*b6fb3261SAndroid Build Coastguard Worker*   Many documentation fixes
9810*b6fb3261SAndroid Build Coastguard Worker
9811*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
9812*b6fb3261SAndroid Build Coastguard Worker
9813*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
9814*b6fb3261SAndroid Build Coastguard Worker
9815*b6fb3261SAndroid Build Coastguard WorkerAlex Rothberg, Andrew Royer, Austin Marshall, @BlackCoal, Bob Adolf, Brian
9816*b6fb3261SAndroid Build Coastguard WorkerDiesel, Charles-Emmanuel Dias, @chemelnucfin, Chris Lesniewski, Daeyun Shin,
9817*b6fb3261SAndroid Build Coastguard WorkerDaniel Rodriguez, Danijar Hafner, Darcy Liu, Kristinn R. Thórisson, Daniel
9818*b6fb3261SAndroid Build Coastguard WorkerCastro, Dmitry Savintsev, Kashif Rasul, Dylan Paiton, Emmanuel T. Odeke, Ernest
9819*b6fb3261SAndroid Build Coastguard WorkerGrzybowski, Gavin Sherry, Gideon Dresdner, Gregory King, Harold Cooper,
9820*b6fb3261SAndroid Build Coastguard Worker@heinzbeinz, Henry Saputra, Huarong Huo, Huazuo Gao, Igor Babuschkin, Igor
9821*b6fb3261SAndroid Build Coastguard WorkerMacedo Quintanilha, Ivan Ukhov, James Fysh, Jan Wilken Dörrie, Jihun Choi,
9822*b6fb3261SAndroid Build Coastguard WorkerJohnny Lim, Jonathan Raiman, Justin Francis, @lilac, Li Yi, Marc Khoury, Marco
9823*b6fb3261SAndroid Build Coastguard WorkerMarchesi, Max Melnick, Micael Carvalho, @mikowals, Mostafa Gazar, Nico Galoppo,
9824*b6fb3261SAndroid Build Coastguard WorkerNishant Agrawal, Petr Janda, Yuncheng Li, @raix852, Robert Rose,
9825*b6fb3261SAndroid Build Coastguard Worker@Robin-des-Bois, Rohit Girdhar, Sam Abrahams, satok16, Sergey Kishchenko, Sharkd
9826*b6fb3261SAndroid Build Coastguard WorkerTu, @shotat, Siddharth Agrawal, Simon Denel, @sono-bfio, SunYeop Lee, Thijs
9827*b6fb3261SAndroid Build Coastguard WorkerVogels, @tobegit3hub, @Undo1, Wang Yang, Wenjian Huang, Yaroslav Bulatov, Yuan
9828*b6fb3261SAndroid Build Coastguard WorkerTang, Yunfeng Wang, Ziming Dong
9829*b6fb3261SAndroid Build Coastguard Worker
9830*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and
9831*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions.
9832*b6fb3261SAndroid Build Coastguard Worker
9833*b6fb3261SAndroid Build Coastguard Worker# Release 0.9.0
9834*b6fb3261SAndroid Build Coastguard Worker
9835*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
9836*b6fb3261SAndroid Build Coastguard Worker
9837*b6fb3261SAndroid Build Coastguard Worker*   Python 3.5 support and binaries
9838*b6fb3261SAndroid Build Coastguard Worker*   Added iOS support
9839*b6fb3261SAndroid Build Coastguard Worker*   Added support for processing on GPUs on MacOS
9840*b6fb3261SAndroid Build Coastguard Worker*   Added makefile for better cross-platform build support (C API only)
9841*b6fb3261SAndroid Build Coastguard Worker*   fp16 support and improved complex128 support for many ops
9842*b6fb3261SAndroid Build Coastguard Worker*   Higher level functionality in contrib. {layers,losses,metrics,learn}
9843*b6fb3261SAndroid Build Coastguard Worker*   More features to Tensorboard
9844*b6fb3261SAndroid Build Coastguard Worker*   Improved support for string embedding and sparse features
9845*b6fb3261SAndroid Build Coastguard Worker*   The RNN api is finally "official" (see, e.g., `tf.nn.dynamic_rnn`,
9846*b6fb3261SAndroid Build Coastguard Worker    `tf.nn.rnn`, and the classes in `tf.nn.rnn_cell`).
9847*b6fb3261SAndroid Build Coastguard Worker*   TensorBoard now has an Audio Dashboard, with associated audio summaries.
9848*b6fb3261SAndroid Build Coastguard Worker
9849*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
9850*b6fb3261SAndroid Build Coastguard Worker
9851*b6fb3261SAndroid Build Coastguard Worker*   Turned on CuDNN Autotune.
9852*b6fb3261SAndroid Build Coastguard Worker*   Added support for using third-party Python optimization algorithms
9853*b6fb3261SAndroid Build Coastguard Worker    (contrib.opt).
9854*b6fb3261SAndroid Build Coastguard Worker*   Google Cloud Storage filesystem support.
9855*b6fb3261SAndroid Build Coastguard Worker*   HDF5 support
9856*b6fb3261SAndroid Build Coastguard Worker*   Add support for 3d convolutions and pooling.
9857*b6fb3261SAndroid Build Coastguard Worker*   Update gRPC release to 0.14.
9858*b6fb3261SAndroid Build Coastguard Worker*   Eigen version upgrade.
9859*b6fb3261SAndroid Build Coastguard Worker*   Switch to eigen thread pool
9860*b6fb3261SAndroid Build Coastguard Worker*   `tf.nn.moments()` now accepts a `shift` argument. Shifting by a good
9861*b6fb3261SAndroid Build Coastguard Worker    estimate of the mean improves numerical stability. Also changes the behavior
9862*b6fb3261SAndroid Build Coastguard Worker    of the `shift` argument to `tf.nn.sufficient_statistics()`.
9863*b6fb3261SAndroid Build Coastguard Worker*   Performance improvements
9864*b6fb3261SAndroid Build Coastguard Worker*   Many bugfixes
9865*b6fb3261SAndroid Build Coastguard Worker*   Many documentation fixes
9866*b6fb3261SAndroid Build Coastguard Worker*   TensorBoard fixes: graphs with only one data point, Nan values, reload
9867*b6fb3261SAndroid Build Coastguard Worker    button and auto-reload, tooltips in scalar charts, run filtering, stable
9868*b6fb3261SAndroid Build Coastguard Worker    colors
9869*b6fb3261SAndroid Build Coastguard Worker*   Tensorboard graph visualizer now supports run metadata. Clicking on nodes
9870*b6fb3261SAndroid Build Coastguard Worker    while viewing a stats for a particular run will show runtime statistics,
9871*b6fb3261SAndroid Build Coastguard Worker    such as memory or compute usage. Unused nodes will be faded out.
9872*b6fb3261SAndroid Build Coastguard Worker
9873*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
9874*b6fb3261SAndroid Build Coastguard Worker
9875*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
9876*b6fb3261SAndroid Build Coastguard Worker
9877*b6fb3261SAndroid Build Coastguard WorkerAaron Schumacher, Aidan Dang, Akihiko ITOH, Aki Sukegawa, Arbit Chen, Aziz Alto,
9878*b6fb3261SAndroid Build Coastguard WorkerDanijar Hafner, Erik Erwitt, Fabrizio Milo, Felix Maximilian Möller, Henry
9879*b6fb3261SAndroid Build Coastguard WorkerSaputra, Sung Kim, Igor Babuschkin, Jan Zikes, Jeremy Barnes, Jesper Steen
9880*b6fb3261SAndroid Build Coastguard WorkerMøller, Johannes Mayer, Justin Harris, Kashif Rasul, Kevin Robinson, Loo Rong
9881*b6fb3261SAndroid Build Coastguard WorkerJie, Lucas Moura, Łukasz Bieniasz-Krzywiec, Mario Cho, Maxim Grechkin, Michael
9882*b6fb3261SAndroid Build Coastguard WorkerHeilman, Mostafa Rahmani, Mourad Mourafiq, @ninotoshi, Orion Reblitz-Richardson,
9883*b6fb3261SAndroid Build Coastguard WorkerYuncheng Li, @raoqiyu, Robert DiPietro, Sam Abrahams, Sebastian Raschka,
9884*b6fb3261SAndroid Build Coastguard WorkerSiddharth Agrawal, @snakecharmer1024, Stephen Roller, Sung Kim, SunYeop Lee,
9885*b6fb3261SAndroid Build Coastguard WorkerThijs Vogels, Till Hoffmann, Victor Melo, Ville Kallioniemi, Waleed Abdulla,
9886*b6fb3261SAndroid Build Coastguard WorkerWenjian Huang, Yaroslav Bulatov, Yeison Rodriguez, Yuan Tang, Yuxin Wu,
9887*b6fb3261SAndroid Build Coastguard Worker@zhongzyd, Ziming Dong, Zohar Jackson
9888*b6fb3261SAndroid Build Coastguard Worker
9889*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and
9890*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions.
9891*b6fb3261SAndroid Build Coastguard Worker
9892*b6fb3261SAndroid Build Coastguard Worker# Release 0.8.0
9893*b6fb3261SAndroid Build Coastguard Worker
9894*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
9895*b6fb3261SAndroid Build Coastguard Worker
9896*b6fb3261SAndroid Build Coastguard Worker*   Added a distributed runtime using GRPC
9897*b6fb3261SAndroid Build Coastguard Worker*   Move skflow to `contrib/learn`
9898*b6fb3261SAndroid Build Coastguard Worker*   Better linear optimizer in `contrib/linear_optimizer`
9899*b6fb3261SAndroid Build Coastguard Worker*   Random forest implementation in `contrib/tensor_forest`
9900*b6fb3261SAndroid Build Coastguard Worker*   CTC loss and decoders in `contrib/ctc`
9901*b6fb3261SAndroid Build Coastguard Worker*   Basic support for `half` data type
9902*b6fb3261SAndroid Build Coastguard Worker*   Better support for loading user ops (see examples in `contrib/`)
9903*b6fb3261SAndroid Build Coastguard Worker*   Allow use of (non-blocking) Eigen threadpool with
9904*b6fb3261SAndroid Build Coastguard Worker    `TENSORFLOW_USE_EIGEN_THREADPOOL` define
9905*b6fb3261SAndroid Build Coastguard Worker*   Add an extension mechanism for adding network file system support
9906*b6fb3261SAndroid Build Coastguard Worker*   TensorBoard displays metadata stats (running time, memory usage and device
9907*b6fb3261SAndroid Build Coastguard Worker    used) and tensor shapes
9908*b6fb3261SAndroid Build Coastguard Worker
9909*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
9910*b6fb3261SAndroid Build Coastguard Worker
9911*b6fb3261SAndroid Build Coastguard Worker*   Utility for inspecting checkpoints
9912*b6fb3261SAndroid Build Coastguard Worker*   Basic tracing and timeline support
9913*b6fb3261SAndroid Build Coastguard Worker*   Allow building against cuDNN 5 (not incl. RNN/LSTM support)
9914*b6fb3261SAndroid Build Coastguard Worker*   Added instructions and binaries for ProtoBuf library with fast serialization
9915*b6fb3261SAndroid Build Coastguard Worker    and without 64MB limit
9916*b6fb3261SAndroid Build Coastguard Worker*   Added special functions
9917*b6fb3261SAndroid Build Coastguard Worker*   `bool`-strictness: Tensors have to be explicitly compared to `None`
9918*b6fb3261SAndroid Build Coastguard Worker*   Shape strictness: all fed values must have a shape that is compatible with
9919*b6fb3261SAndroid Build Coastguard Worker    the tensor they are replacing
9920*b6fb3261SAndroid Build Coastguard Worker*   Exposed `tf.while_loop` (deprecated `control_flow_ops.While`)
9921*b6fb3261SAndroid Build Coastguard Worker*   run() now takes RunOptions and RunMetadata, which enable timing stats
9922*b6fb3261SAndroid Build Coastguard Worker*   Fixed lots of potential overflow problems in op kernels
9923*b6fb3261SAndroid Build Coastguard Worker*   Various performance improvements, especially for RNNs and convolutions
9924*b6fb3261SAndroid Build Coastguard Worker*   Many bugfixes
9925*b6fb3261SAndroid Build Coastguard Worker*   Nightly builds, tutorial tests, many test improvements
9926*b6fb3261SAndroid Build Coastguard Worker*   New examples: transfer learning and deepdream ipython notebook
9927*b6fb3261SAndroid Build Coastguard Worker*   Added tutorials, many documentation fixes.
9928*b6fb3261SAndroid Build Coastguard Worker
9929*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
9930*b6fb3261SAndroid Build Coastguard Worker
9931*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
9932*b6fb3261SAndroid Build Coastguard Worker
9933*b6fb3261SAndroid Build Coastguard WorkerAbhinav Upadhyay, Aggelos Avgerinos, Alan Wu, Alexander G. de G. Matthews,
9934*b6fb3261SAndroid Build Coastguard WorkerAleksandr Yahnev, @amchercashin, Andy Kitchen, Aurelien Geron, Awni Hannun,
9935*b6fb3261SAndroid Build Coastguard Worker@BanditCat, Bas Veeling, Cameron Chen, @cg31, Cheng-Lung Sung, Christopher
9936*b6fb3261SAndroid Build Coastguard WorkerBonnett, Dan Becker, Dan Van Boxel, Daniel Golden, Danijar Hafner, Danny
9937*b6fb3261SAndroid Build Coastguard WorkerGoodman, Dave Decker, David Dao, David Kretch, Dongjoon Hyun, Dustin Dorroh,
9938*b6fb3261SAndroid Build Coastguard Worker@e-lin, Eurico Doirado, Erik Erwitt, Fabrizio Milo, @gaohuazuo, Iblis Lin, Igor
9939*b6fb3261SAndroid Build Coastguard WorkerBabuschkin, Isaac Hodes, Isaac Turner, Iván Vallés, J Yegerlehner, Jack Zhang,
9940*b6fb3261SAndroid Build Coastguard WorkerJames Wexler, Jan Zikes, Jay Young, Jeff Hodges, @jmtatsch, Johnny Lim, Jonas
9941*b6fb3261SAndroid Build Coastguard WorkerMeinertz Hansen, Kanit Wongsuphasawat, Kashif Rasul, Ken Shirriff, Kenneth
9942*b6fb3261SAndroid Build Coastguard WorkerMitchner, Kenta Yonekura, Konrad Magnusson, Konstantin Lopuhin, @lahwran,
9943*b6fb3261SAndroid Build Coastguard Worker@lekaha, @liyongsea, Lucas Adams, @makseq, Mandeep Singh, @manipopopo, Mark
9944*b6fb3261SAndroid Build Coastguard WorkerAmery, Memo Akten, Michael Heilman, Michael Peteuil, Nathan Daly, Nicolas
9945*b6fb3261SAndroid Build Coastguard WorkerFauchereau, @ninotoshi, Olav Nymoen, @panmari, @papelita1234, Pedro Lopes,
9946*b6fb3261SAndroid Build Coastguard WorkerPranav Sailesh Mani, RJ Ryan, Rob Culliton, Robert DiPietro, @ronrest, Sam
9947*b6fb3261SAndroid Build Coastguard WorkerAbrahams, Sarath Shekkizhar, Scott Graham, Sebastian Raschka, Sung Kim, Surya
9948*b6fb3261SAndroid Build Coastguard WorkerBhupatiraju, Syed Ahmed, Till Hoffmann, @timsl, @urimend, @vesnica, Vlad Frolov,
9949*b6fb3261SAndroid Build Coastguard WorkerVlad Zagorodniy, Wei-Ting Kuo, Wenjian Huang, William Dmitri Breaden Madden,
9950*b6fb3261SAndroid Build Coastguard WorkerWladimir Schmidt, Yuan Tang, Yuwen Yan, Yuxin Wu, Yuya Kusakabe, @zhongzyd,
9951*b6fb3261SAndroid Build Coastguard Worker@znah.
9952*b6fb3261SAndroid Build Coastguard Worker
9953*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and
9954*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions.
9955*b6fb3261SAndroid Build Coastguard Worker
9956*b6fb3261SAndroid Build Coastguard Worker# Release 0.7.1
9957*b6fb3261SAndroid Build Coastguard Worker
9958*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
9959*b6fb3261SAndroid Build Coastguard Worker
9960*b6fb3261SAndroid Build Coastguard Worker*   Added gfile.Open and gfile.Copy, used by input_data.py.
9961*b6fb3261SAndroid Build Coastguard Worker*   Fixed Saver bug when MakeDirs tried to create empty directory.
9962*b6fb3261SAndroid Build Coastguard Worker*   GPU Pip wheels are built with cuda 7.5 and cudnn-v4, making them required
9963*b6fb3261SAndroid Build Coastguard Worker    for the binary releases. Lower versions of cuda/cudnn can be supported by
9964*b6fb3261SAndroid Build Coastguard Worker    installing from sources and setting the options during ./configure
9965*b6fb3261SAndroid Build Coastguard Worker*   Fix dataset encoding example for Python3 (@danijar)
9966*b6fb3261SAndroid Build Coastguard Worker*   Fix PIP installation by not packaging protobuf as part of wheel, require
9967*b6fb3261SAndroid Build Coastguard Worker    protobuf 3.0.0b2.
9968*b6fb3261SAndroid Build Coastguard Worker*   Fix Mac pip installation of numpy by requiring pip >= 1.10.1.
9969*b6fb3261SAndroid Build Coastguard Worker*   Improvements and fixes to Docker image.
9970*b6fb3261SAndroid Build Coastguard Worker
9971*b6fb3261SAndroid Build Coastguard Worker# Release 0.7.0
9972*b6fb3261SAndroid Build Coastguard Worker
9973*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
9974*b6fb3261SAndroid Build Coastguard Worker
9975*b6fb3261SAndroid Build Coastguard Worker*   Allow using any installed Cuda >= 7.0 and cuDNN >= R2, and add support for
9976*b6fb3261SAndroid Build Coastguard Worker    cuDNN R4
9977*b6fb3261SAndroid Build Coastguard Worker*   Added a `contrib/` directory for unsupported or experimental features,
9978*b6fb3261SAndroid Build Coastguard Worker    including higher level `layers` module
9979*b6fb3261SAndroid Build Coastguard Worker*   Added an easy way to add and dynamically load user-defined ops
9980*b6fb3261SAndroid Build Coastguard Worker*   Built out a good suite of tests, things should break less!
9981*b6fb3261SAndroid Build Coastguard Worker*   Added `MetaGraphDef` which makes it easier to save graphs with metadata
9982*b6fb3261SAndroid Build Coastguard Worker*   Added assignments for "Deep Learning with TensorFlow" udacity course
9983*b6fb3261SAndroid Build Coastguard Worker
9984*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes and Other Changes
9985*b6fb3261SAndroid Build Coastguard Worker
9986*b6fb3261SAndroid Build Coastguard Worker*   Added a versioning framework for `GraphDef`s to ensure compatibility
9987*b6fb3261SAndroid Build Coastguard Worker*   Enforced Python 3 compatibility
9988*b6fb3261SAndroid Build Coastguard Worker*   Internal changes now show up as sensibly separated commits
9989*b6fb3261SAndroid Build Coastguard Worker*   Open-sourced the doc generator
9990*b6fb3261SAndroid Build Coastguard Worker*   Un-fork Eigen
9991*b6fb3261SAndroid Build Coastguard Worker*   Simplified the `BUILD` files and cleaned up C++ headers
9992*b6fb3261SAndroid Build Coastguard Worker*   TensorFlow can now be used as a submodule in another bazel build
9993*b6fb3261SAndroid Build Coastguard Worker*   New ops (e.g., `*fft`, `*_matrix_solve`)
9994*b6fb3261SAndroid Build Coastguard Worker*   Support for more data types in many ops
9995*b6fb3261SAndroid Build Coastguard Worker*   Performance improvements
9996*b6fb3261SAndroid Build Coastguard Worker*   Various bugfixes
9997*b6fb3261SAndroid Build Coastguard Worker*   Documentation fixes and improvements
9998*b6fb3261SAndroid Build Coastguard Worker
9999*b6fb3261SAndroid Build Coastguard Worker## Breaking Changes to the API
10000*b6fb3261SAndroid Build Coastguard Worker
10001*b6fb3261SAndroid Build Coastguard Worker*   `AdjustContrast` kernel deprecated, new kernel `AdjustContrastv2` takes and
10002*b6fb3261SAndroid Build Coastguard Worker    outputs float only. `adjust_contrast` now takes all data types.
10003*b6fb3261SAndroid Build Coastguard Worker*   `adjust_brightness`'s `delta` argument is now always assumed to be in
10004*b6fb3261SAndroid Build Coastguard Worker    `[0,1]` (as is the norm for images in floating point formats), independent
10005*b6fb3261SAndroid Build Coastguard Worker    of the data type of the input image.
10006*b6fb3261SAndroid Build Coastguard Worker*   The image processing ops do not take `min` and `max` inputs any more,
10007*b6fb3261SAndroid Build Coastguard Worker    casting safety is handled by `saturate_cast`, which makes sure over- and
10008*b6fb3261SAndroid Build Coastguard Worker    underflows are handled before casting to data types with smaller ranges.
10009*b6fb3261SAndroid Build Coastguard Worker*   For C++ API users: `IsLegacyScalar` and `IsLegacyVector` are now gone from
10010*b6fb3261SAndroid Build Coastguard Worker    `TensorShapeUtils` since TensorFlow is scalar strict within Google (for
10011*b6fb3261SAndroid Build Coastguard Worker    example, the shape argument to `tf.reshape` can't be a scalar anymore). The
10012*b6fb3261SAndroid Build Coastguard Worker    open source release was already scalar strict, so outside Google `IsScalar`
10013*b6fb3261SAndroid Build Coastguard Worker    and `IsVector` are exact replacements.
10014*b6fb3261SAndroid Build Coastguard Worker*   The following files are being removed from `tensorflow/core/public/`:
10015*b6fb3261SAndroid Build Coastguard Worker    *   `env.h` -> `../platform/env.h`
10016*b6fb3261SAndroid Build Coastguard Worker    *   `status.h` -> `../lib/core/status.h`
10017*b6fb3261SAndroid Build Coastguard Worker    *   `tensor.h` -> `../framework/tensor.h`
10018*b6fb3261SAndroid Build Coastguard Worker    *   `tensor_shape.h` -> `../framework/tensor_shape.h`
10019*b6fb3261SAndroid Build Coastguard Worker    *   `partial_tensor_shape.h` -> `../framework/partial_tensor_shape.h`
10020*b6fb3261SAndroid Build Coastguard Worker    *   `tensorflow_server.h` deleted
10021*b6fb3261SAndroid Build Coastguard Worker*   For C++ API users: `TensorShape::ShortDebugString` has been renamed to
10022*b6fb3261SAndroid Build Coastguard Worker    `DebugString`, and the previous `DebugString` behavior is gone (it was
10023*b6fb3261SAndroid Build Coastguard Worker    needlessly verbose and produced a confusing empty string for scalars).
10024*b6fb3261SAndroid Build Coastguard Worker*   `GraphOptions.skip_common_subexpression_elimination` has been removed. All
10025*b6fb3261SAndroid Build Coastguard Worker    graph optimizer options are now specified via
10026*b6fb3261SAndroid Build Coastguard Worker    `GraphOptions.OptimizerOptions`.
10027*b6fb3261SAndroid Build Coastguard Worker*   `ASSERT_OK` / `EXPECT_OK` macros conflicted with external projects, so they
10028*b6fb3261SAndroid Build Coastguard Worker    were renamed `TF_ASSERT_OK`, `TF_EXPECT_OK`. The existing macros are
10029*b6fb3261SAndroid Build Coastguard Worker    currently maintained for short-term compatibility but will be removed.
10030*b6fb3261SAndroid Build Coastguard Worker*   The non-public `nn.rnn` and the various `nn.seq2seq` methods now return just
10031*b6fb3261SAndroid Build Coastguard Worker    the final state instead of the list of all states.
10032*b6fb3261SAndroid Build Coastguard Worker*   `tf.scatter_update` now no longer guarantees that lexicographically largest
10033*b6fb3261SAndroid Build Coastguard Worker    index be used for update when duplicate entries exist.
10034*b6fb3261SAndroid Build Coastguard Worker*   `tf.image.random_crop(image, [height, width])` is now `tf.random_crop(image,
10035*b6fb3261SAndroid Build Coastguard Worker    [height, width, depth])`, and `tf.random_crop` works for any rank (not just
10036*b6fb3261SAndroid Build Coastguard Worker    3-D images). The C++ `RandomCrop` op has been replaced with pure Python.
10037*b6fb3261SAndroid Build Coastguard Worker*   Renamed `tf.test.GetTempDir` and `tf.test.IsBuiltWithCuda` to
10038*b6fb3261SAndroid Build Coastguard Worker    `tf.test.get_temp_dir` and `tf.test.is_built_with_cuda` for PEP-8
10039*b6fb3261SAndroid Build Coastguard Worker    compatibility.
10040*b6fb3261SAndroid Build Coastguard Worker*   `parse_example`'s interface has changed, the old interface is accessible in
10041*b6fb3261SAndroid Build Coastguard Worker    `legacy_parse_example` (same for related functions).
10042*b6fb3261SAndroid Build Coastguard Worker*   New `Variable`s are not added to the same collection several times even if a
10043*b6fb3261SAndroid Build Coastguard Worker    list with duplicates is passed to the constructor.
10044*b6fb3261SAndroid Build Coastguard Worker*   The Python API will now properly set the `list` member of `AttrValue` in
10045*b6fb3261SAndroid Build Coastguard Worker    constructed `GraphDef` messages for empty lists. The serialization of some
10046*b6fb3261SAndroid Build Coastguard Worker    graphs will change, but the change is both forwards and backwards
10047*b6fb3261SAndroid Build Coastguard Worker    compatible. It will break tests that compare a generated `GraphDef` to a
10048*b6fb3261SAndroid Build Coastguard Worker    golden serialized `GraphDef` (which is discouraged).
10049*b6fb3261SAndroid Build Coastguard Worker
10050*b6fb3261SAndroid Build Coastguard Worker## Thanks to our Contributors
10051*b6fb3261SAndroid Build Coastguard Worker
10052*b6fb3261SAndroid Build Coastguard WorkerThis release contains contributions from many people at Google, as well as:
10053*b6fb3261SAndroid Build Coastguard Worker
10054*b6fb3261SAndroid Build Coastguard WorkerAkiomi Kamakura, Alex Vig, Alexander Rosenberg Johansen, Andre Cruz, Arun Ahuja,
10055*b6fb3261SAndroid Build Coastguard WorkerBart Coppens, Bernardo Pires, Carl Vondrick, Cesar Salgado, Chen Yu, Christian
10056*b6fb3261SAndroid Build Coastguard WorkerJauvin, Damien Aymeric, Dan Vanderkam, Denny Britz, Dongjoon Hyun, Eren Güven,
10057*b6fb3261SAndroid Build Coastguard WorkerErik Erwitt, Fabrizio Milo, G. Hussain Chinoy, Jim Fleming, Joao Felipe Santos,
10058*b6fb3261SAndroid Build Coastguard WorkerJonas Meinertz Hansen, Joshi Rekha, Julian Viereck, Keiji Ariyama, Kenton Lee,
10059*b6fb3261SAndroid Build Coastguard WorkerKrishna Sankar, Kristina Chodorow, Linchao Zhu, Lukas Krecan, Mark Borgerding,
10060*b6fb3261SAndroid Build Coastguard WorkerMark Daoust, Moussa Taifi, Nathan Howell, Naveen Sundar Govindarajulu, Nick
10061*b6fb3261SAndroid Build Coastguard WorkerSweeting, Niklas Riekenbrauck, Olivier Grisel, Patrick Christ, Povilas
10062*b6fb3261SAndroid Build Coastguard WorkerLiubauskas, Rainer Wasserfuhr, Romain Thouvenin, Sagan Bolliger, Sam Abrahams,
10063*b6fb3261SAndroid Build Coastguard WorkerTaehoon Kim, Timothy J Laurent, Vlad Zavidovych, Yangqing Jia, Yi-Lin Juang,
10064*b6fb3261SAndroid Build Coastguard WorkerYuxin Wu, Zachary Lipton, Zero Chen, Alan Wu, @brchiu, @emmjaykay, @jalammar,
10065*b6fb3261SAndroid Build Coastguard Worker@Mandar-Shinde, @nsipplswezey, @ninotoshi, @panmari, @prolearner and
10066*b6fb3261SAndroid Build Coastguard Worker@rizzomichaelg.
10067*b6fb3261SAndroid Build Coastguard Worker
10068*b6fb3261SAndroid Build Coastguard WorkerWe are also grateful to all who filed issues or helped resolve them, asked and
10069*b6fb3261SAndroid Build Coastguard Workeranswered questions, and were part of inspiring discussions.
10070*b6fb3261SAndroid Build Coastguard Worker
10071*b6fb3261SAndroid Build Coastguard Worker# Release 0.6.0
10072*b6fb3261SAndroid Build Coastguard Worker
10073*b6fb3261SAndroid Build Coastguard Worker## Major Features and Improvements
10074*b6fb3261SAndroid Build Coastguard Worker
10075*b6fb3261SAndroid Build Coastguard Worker*   Python 3.3+ support via changes to python codebase and ability to specify
10076*b6fb3261SAndroid Build Coastguard Worker    python version via ./configure.
10077*b6fb3261SAndroid Build Coastguard Worker
10078*b6fb3261SAndroid Build Coastguard Worker*   Some improvements to GPU performance and memory usage:
10079*b6fb3261SAndroid Build Coastguard Worker    [convnet benchmarks](https://github.com/soumith/convnet-benchmarks/issues/66)
10080*b6fb3261SAndroid Build Coastguard Worker    roughly equivalent with native cudnn v2 performance. Improvements mostly due
10081*b6fb3261SAndroid Build Coastguard Worker    to moving to 32-bit indices, faster shuffling kernels. More improvements to
10082*b6fb3261SAndroid Build Coastguard Worker    come in later releases.
10083*b6fb3261SAndroid Build Coastguard Worker
10084*b6fb3261SAndroid Build Coastguard Worker## Bug Fixes
10085*b6fb3261SAndroid Build Coastguard Worker
10086*b6fb3261SAndroid Build Coastguard Worker*   Lots of fixes to documentation and tutorials, many contributed by the
10087*b6fb3261SAndroid Build Coastguard Worker    public.
10088*b6fb3261SAndroid Build Coastguard Worker
10089*b6fb3261SAndroid Build Coastguard Worker*   271 closed issues on github issues.
10090*b6fb3261SAndroid Build Coastguard Worker
10091*b6fb3261SAndroid Build Coastguard Worker## Backwards-Incompatible Changes
10092*b6fb3261SAndroid Build Coastguard Worker
10093*b6fb3261SAndroid Build Coastguard Worker*   `tf.nn.fixed_unigram_candidate_sampler` changed its default 'distortion'
10094*b6fb3261SAndroid Build Coastguard Worker    attribute from 0.0 to 1.0. This was a bug in the original release that is
10095*b6fb3261SAndroid Build Coastguard Worker    now fixed.
10096*b6fb3261SAndroid Build Coastguard Worker
10097*b6fb3261SAndroid Build Coastguard Worker*   added DeterministicRandomTestTool to migration_utils.py. This is useful when
10098*b6fb3261SAndroid Build Coastguard Worker    you are migrating from TF 1.x to TF2 and need to make sure your computation
10099*b6fb3261SAndroid Build Coastguard Worker    is still happening correctly along the way. See the
10100*b6fb3261SAndroid Build Coastguard Worker    [validating correctness migration guide](https://www.tensorflow.org/guide/migrate/validate_correctness)
10101*b6fb3261SAndroid Build Coastguard Worker    for more info.
10102*b6fb3261SAndroid Build Coastguard Worker
10103*b6fb3261SAndroid Build Coastguard Worker# Release 0.5.0
10104*b6fb3261SAndroid Build Coastguard Worker
10105*b6fb3261SAndroid Build Coastguard WorkerInitial release of TensorFlow.
10106