Merge master#67
Conversation
#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.
There was a problem hiding this comment.
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.
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",| "@angular/material": "^16.2.14", | ||
| "@angular/platform-browser": "^16.2.12", | ||
| "@angular/platform-browser-dynamic": "^16.2.12", | ||
| "@angular/router": "^16.2.12", |
There was a problem hiding this comment.
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)
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.



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.js0.13), updating Bazel test bootstrapping,zone.jsimports, and refactoring dynamic component creation to useViewContainerRef.createComponent()(droppingComponentFactoryResolver) and.jsESM imports forthreeOrbitControls.Updates and adds
patch-packagepatches for@angular/build-toolingand@bazel/concatjsto keep Bazel/karma builds working (including--no-sandboxfor CustomChrome), pins several D3@typesviaresolutions, and documents patch whitespace hygiene.On the Python side, replaces
pkg_resourceswithimportlib.metadataentry points andpackaging.versionparsing (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.