Skip to content

Merge master#67

Merged
Demonstrandum merged 3 commits into
Demonstrandum:masterfrom
tensorflow:master
Mar 11, 2026
Merged

Merge master#67
Demonstrandum merged 3 commits into
Demonstrandum:masterfrom
tensorflow:master

Conversation

@Demonstrandum

@Demonstrandum Demonstrandum commented Mar 10, 2026

Copy link
Copy Markdown
Owner

Merge in upstream


Note

Medium Risk
Medium risk due to a major frontend dependency upgrade (Angular 16/zone.js) plus Bazel/Angular build-tooling patches that can affect bundling and test execution; CI also drops macOS coverage for the data-server pip build.

Overview
Upgrades the webapp from Angular 15 to Angular 16 (and zone.js 0.13), updating Bazel test bootstrapping, zone.js imports, and refactoring dynamic component creation to use ViewContainerRef.createComponent() (dropping ComponentFactoryResolver) and .js ESM imports for three OrbitControls.

Updates and adds patch-package patches for @angular/build-tooling and @bazel/concatjs to keep Bazel/karma builds working (including --no-sandbox for CustomChrome), pins several D3 @types via resolutions, and documents patch whitespace hygiene.

On the Python side, replaces pkg_resources with importlib.metadata entry points and packaging.version parsing (updating BUILD deps/tests accordingly), and CI now builds the data-server pip artifact only on Ubuntu (not macOS).

Written by Cursor Bugbot for commit fe3782a. This will update automatically on new commits. Configure here.

0xmagnus91 and others added 3 commits March 4, 2026 18:30
#7057)

## Motivation for features / changes

Fixes #7003.

`pkg_resources` is removed in newer setuptools, which can break
TensorBoard at import/runtime. This change removes runtime reliance on
`pkg_resources` in the two affected code paths.

## Technical description of changes

- Replaced dynamic plugin discovery in `tensorboard/default.py`:
  - from `pkg_resources.iter_entry_points(...)`
- to `importlib.metadata.entry_points(...)` with compatibility handling
for different Python return shapes.
- Replaced version parsing in `tensorboard/data/server_ingester.py`:
  - from `pkg_resources.parse_version(...)`
  - to `packaging.version.parse(...)`.
- Updated related tests:
- `tensorboard/default_test.py` now patches `_iter_entry_points` and
uses `load()`-style fake entry points.
- `tensorboard/version_test.py` now validates PEP 440 behavior using
`packaging.version`.
- Updated Bazel deps to use `expect_packaging_installed` where
`packaging` is now required.

## Detailed steps to verify changes work correctly (as executed by you)

Executed locally in an isolated venv:

- `python -m py_compile tensorboard/default.py
tensorboard/default_test.py tensorboard/data/server_ingester.py
tensorboard/version_test.py`
- `PYTHONPATH=. python tensorboard/version_test.py` (passes)

Attempted but environment-limited locally:

- `bazel test //tensorboard:version_test //tensorboard:default_test
//tensorboard/data:server_ingester_test` (bazel not available in local
shell)
- Direct execution of `default_test.py` and `server_ingester_test.py`
without Bazel-generated artifacts hit local environment/import
constraints.

## Alternate designs / implementations considered (or N/A)

- N/A
## Motivation for features / changes
This PR is the first step in a planned major Angular upgrade cycle,
where each major version will be delivered in a separate PR,
incrementally progressing until the project reaches Angular 20.

This specific PR upgrades TensorBoard from Angular 15 to Angular 16,
initiating the migration path toward Angular 20+.

Keeping the framework and aligned dependencies (NgRx, TypeScript, RxJS,
zone.js, etc.) up to date ensures continued compatibility, security
support, and maintainability, while preparing the project for future
Angular features and ecosystem improvements.

## Technical description of changes
Upgrade the TensorBoard web application from Angular 15 to Angular 16
following TensorBoard’s DEVELOPMENT.md guidelines and the official
Angular migration guide.

## Detailed steps to verify changes work correctly (as executed by you)
- Follow steps to run Tensorboard from clean state
https://github.com/tensorflow/tensorboard/blob/master/DEVELOPMENT.md#how-to-develop-tensorboard
- Execute docker build
- Run with iBazel
…ks (#7069)

## Motivation for features / changes
This MacOS version is not supported anymore as we intend to reduce
maintenance we opt for removing this task.

## Technical description of changes
This line defines the platforms on which the job runs.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Free Tier Details

Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: NgRx 15 kept with Angular 16 upgrade
    • Upgraded @ngrx/store and @ngrx/effects from ^15.4.0 to ^16.3.0 to match the Angular 16 upgrade, since NgRx 16 is the version that officially supports Angular 16.

Create PR

Or push these changes by commenting:

@cursor push 74a84d75df
Preview (74a84d75df)
diff --git a/package.json b/package.json
--- a/package.json
+++ b/package.json
@@ -75,8 +75,8 @@
     "@angular/platform-browser": "^15.2.9",
     "@angular/platform-browser-dynamic": "^15.2.9",
     "@angular/router": "^15.2.9",
-    "@ngrx/effects": "^15.4.0",
-    "@ngrx/store": "^15.4.0",
+    "@ngrx/effects": "^16.3.0",
+    "@ngrx/store": "^16.3.0",
     "@polymer/decorators": "^3.0.0",
     "@polymer/iron-behaviors": "^3.0.1",
     "@polymer/iron-collapse": "^3.0.1",
This Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.

Comment thread package.json
"@angular/material": "^16.2.14",
"@angular/platform-browser": "^16.2.12",
"@angular/platform-browser-dynamic": "^16.2.12",
"@angular/router": "^16.2.12",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NgRx 15 kept with Angular 16 upgrade

Medium Severity

Angular packages are upgraded from 15.x to 16.x, but @ngrx/store and @ngrx/effects remain at ^15.4.0. NgRx 15 officially supports only Angular 15, creating a peer dependency mismatch. The test files already show symptoms of this — the spyOn(store, 'dispatch') calls now require explicit as jasmine.Spy casts to work around type incompatibilities between NgRx 15's dispatch signature and Angular 16. This is an unsupported configuration that may break with patch-level updates.

Additional Locations (2)

Fix in Cursor Fix in Web

cursor Bot pushed a commit that referenced this pull request Mar 10, 2026
NgRx follows Angular's versioning scheme: NgRx 15 targets Angular 15,
NgRx 16 targets Angular 16. Since Angular packages are being upgraded
to 16.x (in PR #67), NgRx must also be upgraded to 16.x to maintain
a supported configuration and avoid peer dependency mismatches.
@Demonstrandum Demonstrandum merged commit 605980f into Demonstrandum:master Mar 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants