Weekly GitHub Report for Tensorflow: April 06, 2026 - April 13, 2026 (19:31:02)
Weekly GitHub Report for Tensorflow
Thank you for subscribing to our weekly newsletter! Each week, we deliver a comprehensive summary of your GitHub project's latest activity right to your inbox, including an overview of your project's issues, pull requests, contributors, and commit activity.
Table of Contents
I. News
1.1 Recent Version Releases:
The current version of this repository is v2.19.0
1.2 Version Information:
Released on March 5, 2025, TensorFlow version 2.19.0 introduces a breaking change in the LiteRT (tf.lite) API, including the deprecation of tf.lite.Interpreter in favor of ai_edge_litert.interpreter and changes to certain C++ constants for better API compatibility. Key improvements include support for the bfloat16 data type in the tfl.Cast operation, alongside the discontinuation of separate libtensorflow package publishing, while still allowing unpacking from PyPI.
II. Issues
2.1 Top 5 Active Issues:
We consider active issues to be issues that that have been commented on most frequently within the last week. Bot comments are omitted.
-
[TYPE:DOCS-BUG] [TYPE:BUG] Issue report: a bug in the example code of "Keras layers" subsection: This issue reports a bug in the example code of the "Keras layers" subsection of the TensorFlow documentation, where the user encounters a ValueError because the example passes a plain Python list instead of a TensorFlow tensor to a Keras layer. The user is unable to get the expected output and shares the error message, seeking clarification on the correct usage.
- The comments clarify that the error occurs because the input must be a TensorFlow tensor rather than a plain list, and the suggested fix is to wrap the input with
tf.constant. The discussion includes an acknowledgment of the fix and an offer to update the documentation accordingly. - Number of comments this week: 3
- The comments clarify that the error occurs because the input must be a TensorFlow tensor rather than a plain list, and the suggested fix is to wrap the input with
-
[TYPE:BUG] [COMP:LITE] FlatBufferModel::BuildFromBuffer + ValidateModelBuffers crash on small crafted .tflite (heap OOB read via unchecked root table offset): This issue reports a critical bug in TensorFlow Lite's FlatBufferModel::BuildFromBuffer and ValidateModelBuffers functions, where unchecked FlatBuffer root table offsets can cause heap out-of-bounds reads and crashes when loading small crafted .tflite files. The root cause is the absence of buffer verification before dereferencing offsets, allowing attacker-controlled inputs to trigger memory corruption, and the issue extends beyond initial validation into interpreter construction stages, posing a broad security risk.
- The comments reveal an extended fuzzing campaign that uncovered 1,480 unique crash inputs across six crash sites, demonstrating the vulnerability affects multiple stages of model loading, including InterpreterBuilder. The discussion emphasizes that the proper fix requires adding FlatBuffer verification at the BuildFromAllocation level rather than patching individual accessors, highlighting the ease of exploitation and the need to update official examples to use verified APIs.
- Number of comments this week: 2
-
[TYPE:DOCS-BUG] [TYPE:BUG] [COMP:CORE] a bug in the example code of "The build step" subsection: This issue reports a bug in the example code found in the "The build step" subsection of the TensorFlow documentation, where the expected output message does not appear during execution, specifically the
flexible_dense.variablesreturns an empty list instead of the expected variables. The user has attempted to reproduce the problem using the official tutorial in Google Colab and has provided a link to standalone code and screenshots to illustrate the unexpected behavior.- The comments include an offer of assistance from one user to another, checking if the issue is still being worked on, and a brief acknowledgment expressing appreciation for the help offered.
- Number of comments this week: 2
-
[TYPE:DOCS-BUG] [TYPE:BUG] [AWAITING PR MERGE] Typos in the "Tensor" tutorial, https://www.tensorflow.org/guide/tensor: This issue reports two typographical errors in the TensorFlow "Tensor" tutorial documentation, specifically in the "Multi-axis indexing" and "String tensors" sections, where incorrect phrasing and punctuation need correction. The user highlights that "2-rank tensor" should be changed to "rank-2 tensor" and a comment in the code should be split into two sentences for clarity.
- The maintainer acknowledged the report and submitted a pull request to fix the typos, indicating that the issue will be resolved once the PR is merged.
- Number of comments this week: 1
-
[STAT:AWAITING RESPONSE] [TYPE:SUPPORT] [COMP:OPS] [TF 2.11] tf.linalg.lstsq returns NaN for rank-deficient matrices despite well-defined least-norm solution: This issue reports that the function tf.linalg.lstsq returns NaN values when applied to rank-deficient matrices, despite the existence of a well-defined least-norm solution, indicating a problem with handling singular or ill-conditioned inputs. The user demonstrates this behavior with a minimal example using TensorFlow 2.11 on Linux, expecting the function to return a finite solution or at least warn about numerical instability instead of producing NaNs.
- The comment explains that the observed NaNs are expected behavior when using the default fast=True option, which is only stable for full-rank matrices, and suggests trying fast=False to obtain a valid minimum-norm solution; it also recommends testing with a newer TensorFlow version.
- Number of comments this week: 1
2.2 Top 5 Stale Issues:
We consider stale issues to be issues that has had no activity within the last 30 days. The team should work together to get these issues resolved and closed as soon as possible.
As of our latest update, there are no stale issues for the project this week.
2.3 Open Issues
This section lists, groups, and then summarizes issues that were created within the last week in the repository.
Issues Opened This Week: 15
Summarized Issues:
- Numerical inconsistencies across devices and execution modes: Several issues report discrepancies in numerical results between CPU and GPU computations or between eager and XLA-compiled execution in TensorFlow. These inconsistencies affect functions like sine, cosine, hyperbolic cosine, cumulative sum, standard deviation, and sorting, leading to incorrect or unexpected outputs that may impact model correctness and reproducibility.
- issues/115507, issues/115508, issues/115731, issues/115733, issues/115735
- Precision and data type handling bugs: Multiple issues highlight problems with TensorFlow's handling of float16 precision and data type conversions, including overflow in element counts stored as float16, NaN results from standard deviation calculations, and inconsistent integer casting rules between CPU and GPU. These bugs cause incorrect numerical results such as zeros, NaNs, or inconsistent outputs across devices.
- issues/115732, issues/115733, issues/115736
- TensorFlow function correctness and edge case failures: Some issues describe bugs where TensorFlow functions return incorrect results or fail on specific inputs, such as tf.linalg.lstsq returning NaN for rank-deficient matrices and logdet returning NaN instead of -inf for singular matrices. These failures indicate improper handling of mathematical edge cases and deviations from expected or NumPy-consistent behavior.
- issues/115505, issues/115768
- Documentation and example code errors: There are reports of bugs in TensorFlow documentation and example code, including passing incorrect data types to Keras layers and tutorial code not producing expected outputs. These issues cause runtime errors or confusion for users following official guides.
- issues/115674, issues/115702
- Installation and environment setup issues: One issue describes difficulties obtaining specific TensorFlow versions and files due to unclear instructions and version availability conflicts on Colab, hindering user setup and reproducibility.
- issues/115652
- Security vulnerability in FlatBufferModel parsing: A critical security issue exists in TensorFlow Lite's FlatBufferModel where unchecked root table offsets in small crafted .tflite files cause out-of-bounds heap reads and crashes. The problem extends beyond validation into interpreter construction, requiring added FlatBuffer verification to prevent multiple crash paths and potential exploitation.
- issues/115308
- GPU kernel IEEE 754 compliance bug: The TensorFlow GPU CUDA kernel incorrectly returns NaN instead of infinity when computing the absolute value of complex64 numbers with infinite and NaN components, violating IEEE 754 standards and causing incorrect results.
- issues/115734
2.4 Closed Issues
This section lists, groups, and then summarizes issues that were closed within the last week in the repository. This section also links the associated pull requests if applicable.
Issues Closed This Week: 2
Summarized Issues:
- tf.cond with multiple branches and jit_compile error: Using
tf.condwith more than two branches inside a function decorated with@tf.function(jit_compile=True)in TensorFlow 2.20.0 causes aTypeError. The error message is unclear, making it difficult to diagnose the problem when more than two callable arguments are provided. - issues/113345
- Documentation and import errors in tutorials: The TensorFlow "Tensor" tutorial has a minor error where the omission of "import numpy as np" causes code execution to fail. Improving the documentation is suggested to help beginners avoid this common mistake.
- issues/115277
2.5 Issue Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed issues that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed issues from the past week.
III. Pull Requests
3.1 Open Pull Requests
This section provides a summary of pull requests that were opened in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Opened This Week: 25
Key Open Pull Requests
1. Adding a warning if tf.where is used in gradienttape: This pull request introduces a warning message when the function tf.where is used within a GradientTape context in TensorFlow, addressing issue #115116 and including relevant unit tests to ensure the warning is properly triggered.
- URL: pull/115698
2. Fix integer overflow in pad output shape computation: This pull request fixes an integer overflow vulnerability in the pad::ResizeOutputTensor() function by computing the sum of input dimension and paddings in 64-bit integer arithmetic and validating that the result fits within 32-bit integer limits before resizing the output tensor, thereby preventing heap-buffer-overflow writes caused by unchecked overflow in output shape computation.
- URL: pull/115456
3. Fix integer overflow in scatter_nd / sparse_to_dense output shape: This pull request fixes an integer overflow vulnerability in the scatter_nd::ResizeOutputTensor and sparse_to_dense::Resize functions by adding validation to ensure that each dimension value copied from attacker-controlled input tensors is non-negative and fits within the int32 range before assignment, thereby preventing heap-buffer-overflow writes caused by unchecked narrowing and invalid output shapes.
- URL: pull/115460
Other Open Pull Requests
- Integer overflow fixes in TensorFlow Lite and stablehlo kernels: Multiple pull requests address integer overflow vulnerabilities in various TensorFlow Lite kernels (
fill,broadcast_to,space_to_batch_nd,batch_to_space_nd,mirror_pad::GetPaddedOutputShape) and the stablehlo.pad kernel by adding checked integer arithmetic and explicit bounds checks. These changes prevent unsafe tensor resizing and heap-buffer-overflow writes caused by unchecked narrowing from int64 to int32 or invalid padding values.
- Output shape and dimension validation in slicing and strided_slice kernels: Pull requests fix integer overflow and validation gaps in the
strided_slicekernel and theslice::CalculateOutputShapeVector<T>function by promoting calculations to 64-bit integers and adding bounds checks. These fixes prevent heap-buffer-overflow writes and out-of-bounds reads caused by maliciously crafted input tensors.
- Bounds checking and validation in TensorFlow Lite kernels and operations: Several pull requests add validation checks to prevent out-of-bounds reads and writes in TensorFlow Lite kernels such as
gather_ndand operations likeRaggedTensorToTensorand image decoders. These changes raise errors or reject invalid inputs to prevent memory corruption and process aborts.
- Fixes for GPU kernel and CPU crash issues: A pull request fixes an out-of-bounds write vulnerability in the MaxPoolGradWithArgmax GPU kernel by adding proper bounds checking and replacing a CPU-side crash-inducing CHECK() with a safer bounds check to avoid process termination.
- Build and configuration improvements: One pull request fixes the TFLite CMake configuration to properly support out-of-tree builds by adjusting source directory derivation and module path settings, ensuring correct local module loading and preventing header/source mismatches. Another addresses a compilation error by adding missing forward declarations for Tensor and Helper classes.
- Security and stability improvements in input loading and decoding: Updates to the
saved_model_clitool disallow pickle deserialization when loading.npyfiles to prevent arbitrary code execution. Additional pull requests add pre-allocation bounds checks to GIF and JPEG decoders to prevent excessive memory allocation and introduce OSS-Fuzz compatible fuzz targets.
- Numerical stability fixes in cumulative_logsumexp function: Two pull requests fix issues where inputs containing multiple positive infinity values caused NaN results by adding guards that detect and correctly handle infinite values, preventing invalid subtraction operations.
- Dependency and environment updates: A pull request removes the google-pasta dependency for Python 3.14 and later by adding environment markers, deleting it from the requirements lock file, and modifying scripts to raise clear ImportErrors for unsupported Python versions, reflecting TensorFlow 1.x end-of-life.
- Memory allocation safeguards in Tensor operations: Pull requests add upper-bound guards to limit memory allocation sizes in
Tensor::FromProto,TensorListReserve, andTensorListResizeoperations to prevent amplification attacks and denial-of-service scenarios caused by excessive memory requests.
- Miscellaneous fixes: A pull request fixes a TypeError caused by
sys.pathcontainingPosixPathobjects by casting path elements to strings, preventing import-time crashes. Another pull request fixes minor spelling mistakes in comments and docstrings across the codebase without affecting functionality. An update to the__init__.pyfile is also included.
3.2 Closed Pull Requests
This section provides a summary of pull requests that were closed in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Closed This Week: 3
Key Closed Pull Requests
1. Fix integer overflow in stablehlo_pad output dimension computation: This pull request fixes critical integer overflow vulnerabilities in the TensorFlow Lite stablehlo_pad kernel's output dimension computation by adding comprehensive overflow checks to prevent heap buffer overflows caused by silent truncation from int64_t to int32_t and arithmetic overflows during tensor resizing operations.
- URL: pull/113493
2. Fix integer overflow in tile output shape computation: This pull request addresses a critical integer overflow vulnerability in the Tile::MultiplyShapeDims function by introducing checked arithmetic using CheckedInt<int> to safely compute output tensor dimensions, thereby preventing heap-buffer-overflow errors caused by unchecked multiplication of attacker-controlled input shapes and multipliers in TensorFlow Lite models.
- URL: pull/115454
3. Fix integer overflow in stablehlo_reduce_window dimension computation: This pull request addresses an integer overflow issue in the stablehlo_reduce_window dimension computation by adding overflow detection and validation checks to prevent silent truncation of large dimension values, thereby avoiding heap buffer overflows and ensuring that tensor allocation fails gracefully with an error instead of causing memory corruption.
- URL: pull/114990
- Associated Commits: f5d43
- Associated Commits: f5d43
3.3 Pull Request Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed pull requests that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed pull requests from the past week.
IV. Contributors
4.1 Contributors
Active Contributors:
We consider an active contributor in this project to be any contributor who has made at least 1 commit, opened at least 1 issue, created at least 1 pull request, or made more than 2 comments in the last month.
If there are more than 10 active contributors, the list is truncated to the top 10 based on contribution metrics for better clarity.
| Contributor | Commits | Pull Requests | Issues | Comments |
|---|---|---|---|---|
| mohammadmseet-hue | 24 | 13 | 0 | 0 |
| qukhan | 0 | 0 | 0 | 14 |
| ssam18 | 8 | 3 | 0 | 0 |
| beanduan22 | 0 | 0 | 11 | 0 |
| champ24-36 | 8 | 0 | 0 | 0 |
| Cyrax321 | 4 | 3 | 0 | 0 |
| RadikHoroshev | 3 | 3 | 0 | 0 |
| instantraaamen | 3 | 3 | 0 | 0 |
| HsienChing | 0 | 0 | 5 | 1 |
| shanky-kapoor | 4 | 1 | 0 | 0 |
Access Last Week's Newsletter: