Skip to content

Conversation

@tsavo-at-pieces
Copy link

Summary

This PR updates the Dart SDK and Flutter SDK constraints across all packages within the monorepo to ensure compatibility with newer SDK versions. It also unifies workspace dependencies to maintain consistency and prepare for future development.

Changes

  • Update environment.sdk constraint to ^3.4.0 for most packages, including pkgs/cronet_http, pkgs/http, pkgs/http_client_conformance_tests, pkgs/http_multi_server, pkgs/http_parser, pkgs/http_profile, pkgs/http2, pkgs/ok_http, pkgs/web_socket, and pkgs/web_socket_conformance_tests.
  • Update environment.sdk constraint to ^3.3.0 for pkgs/web_socket_channel.
  • Update environment.flutter constraint to >=3.22.0 for pkgs/cronet_http, pkgs/cupertino_http, and pkgs/flutter_http_example.
  • Apply updated SDK constraints to all example/pubspec.yaml files within affected packages.

- Bump SDK constraint to `^3.4.0` or `^3.8.0` across 16 sub-packages.
- Update Flutter SDK constraints to `>=3.22.0` or `>=3.32.0` for relevant packages.
- Unify `http` package dependency to `^1.5.0`.
- Update `web` dependency to `>=0.5.0 <2.0.0` in `http` and `web_socket` dependencies.

Branch: dev
Base: main
Related to: cross-repo workspace change affecting 63 repositories
@github-actions
Copy link

github-actions bot commented Feb 10, 2026

PR Health

License Headers ✔️
// Copyright (c) 2026, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
Files
no missing headers

All source files should start with a license header.

Unrelated files missing license headers
Files
pkgs/http/example/main.dart
pkgs/http_multi_server/test/cert.dart

This check can be disabled by tagging the PR with skip-license-check.

API leaks ✔️

The following packages contain symbols visible in the public API, but not exported by the library. Export these symbols or remove them from your publicly visible API.

Package Leaked API symbol Leaking sources

This check can be disabled by tagging the PR with skip-leaking-check.

Breaking changes ✔️
Package Change Current Version New Version Needed Version Looking good?

This check can be disabled by tagging the PR with skip-breaking-check.

Unused Dependencies ✔️
Package Status
None No packages found to check.

For details on how to fix these, see dependency_validator.

This check can be disabled by tagging the PR with skip-unused-dependencies-check.

Coverage ✔️
File Coverage

This check for test coverage is informational (issues shown here will not fail the PR).

This check can be disabled by tagging the PR with skip-coverage-check.

Changelog Entry ✔️
Package Changed Files

Changes to files need to be accounted for in their respective changelogs.

This check can be disabled by tagging the PR with skip-changelog-check.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds workspace resolution configuration to all packages in the dart-lang/http monorepo to enable unified dependency management across the workspace.

Changes:

  • Added resolution: workspace to all 16 pubspec.yaml files across the monorepo packages and their examples
  • Ensures consistent workspace dependency resolution for all packages in the repository

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pkgs/web_socket_conformance_tests/pubspec.yaml Added workspace resolution configuration
pkgs/web_socket_channel/pubspec.yaml Added workspace resolution configuration
pkgs/web_socket/pubspec.yaml Added workspace resolution configuration
pkgs/ok_http/pubspec.yaml Added workspace resolution configuration
pkgs/ok_http/example/pubspec.yaml Added workspace resolution configuration
pkgs/http_profile/pubspec.yaml Added workspace resolution configuration
pkgs/http_parser/pubspec.yaml Added workspace resolution configuration
pkgs/http_multi_server/pubspec.yaml Added workspace resolution configuration
pkgs/http_client_conformance_tests/pubspec.yaml Added workspace resolution configuration
pkgs/http2/pubspec.yaml Added workspace resolution configuration
pkgs/http/pubspec.yaml Added workspace resolution configuration
pkgs/flutter_http_example/pubspec.yaml Added workspace resolution configuration
pkgs/cupertino_http/pubspec.yaml Added workspace resolution configuration
pkgs/cupertino_http/example/pubspec.yaml Added workspace resolution configuration
pkgs/cronet_http/pubspec.yaml Added workspace resolution configuration
pkgs/cronet_http/example/pubspec.yaml Added workspace resolution configuration

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 11 to 12
resolution: workspace

Copy link

Choose a reason for hiding this comment

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

Bug: The pubspec.yaml files use resolution: workspace but have SDK constraints below the required ^3.6.0 and the root configuration is missing the workspace: section, which will break pub get.
Severity: CRITICAL

Suggested Fix

Update the SDK constraint in all workspace package pubspec.yaml files to environment: { sdk: '^3.6.0' }. In the root pubspec.yaml, add a workspace: section that lists all the packages intended to be part of the workspace, for example: workspace: [pkgs/http, pkgs/http_parser, ...].

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: pkgs/http_client_conformance_tests/pubspec.yaml#L11-L12

Potential issue: The introduction of `resolution: workspace` in multiple `pubspec.yaml`
files requires all workspace packages to have a Dart SDK constraint of `^3.6.0` or
higher. However, many packages, including the root package, have lower constraints
(e.g., `^3.4.0`, `^3.0.0`). Additionally, the root `pubspec.yaml` file declares
`resolution: workspace` but is missing the required `workspace:` section that defines
the member packages. This incomplete and incorrect configuration will cause dependency
resolution to fail when running `dart pub get` or `flutter pub get`, breaking the build
process for the entire project.

Did we get this right? 👍 / 👎 to inform future reviews.

environment:
sdk: ^3.4.0

resolution: workspace
Copy link

Choose a reason for hiding this comment

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

Bug: The PR adds resolution: workspace to multiple packages but fails to declare the corresponding workspace: section in the root pubspec.yaml, which will break dependency resolution.
Severity: CRITICAL

Suggested Fix

Update the root pubspec.yaml file to include a workspace: key. This key's value should be a list of paths to all the packages that are now part of the workspace, such as pkgs/http, pkgs/http2, etc.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: pkgs/http/pubspec.yaml#L14

Potential issue: The pull request introduces `resolution: workspace` to 16 package
`pubspec.yaml` files. According to Dart's documentation, this requires a workspace root
`pubspec.yaml` in a parent directory that defines a `workspace:` section listing all
member packages. The current root `pubspec.yaml` is missing this `workspace:`
declaration. Consequently, any attempt to run `dart pub get` or `flutter pub get` in
these packages will fail, breaking local development, CI/CD builds, and all dependency
resolution operations.

Did we get this right? 👍 / 👎 to inform future reviews.

- Update environment SDK constraint to `^3.4.0`
- Remove specific dependency version constraints for unified workspace management

Branch: dev
Base: main
Related to: cross-repo workspace change affecting 62 repositories
@tsavo-at-pieces
Copy link
Author

smart-prs is closing this PR automatically.

Reason: 0 file changes between dev and master (2 commit(s) ahead but identical content).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant