diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7438d5d..02ba848 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,7 +6,18 @@
 
 ### `dart:developer`
 
-- Deprecates `UserTag.MAX_USER_TAGS` in favor of `UserTag.maxUserTags`.
+#### `dart:developer`
+
+- **Breaking change** [#34233][]: The previously deprecated APIs
+  `kInvalidParams`, `kExtensionError`, `kExtensionErrorMax`, and
+  `kExtensionErrorMin` in [`ServiceExtensionResponse`][] have been removed. They
+  have been replaced by `invalidParams`, `extensionError`, `extensionErrorMax`,
+  and `extensionErrorMin`.
+
+[#34233]: https://github.com/dart-lang/sdk/issues/34233
+[`ServiceExtensionResponse`]: https://api.dart.dev/stable/dart-developer/ServiceExtensionResponse-class.html#constants
+
+- Deprecated `UserTag.MAX_USER_TAGS` in favor of `UserTag.maxUserTags`.
 
 ### Tools
 
@@ -41,12 +52,11 @@
 
 [language version]: https://dart.dev/guides/language/evolution
 
--  **[Enhanced type inference for generic invocations with function
-   literals][]**: Invocations of generic methods/constructors that supply
-   function literal arguments now have improved type inference.  This primarily
-   affects the `Iterable.fold` method.  For example, in previous versions of
-   Dart, the compiler would fail to infer an appropriate type for the parameter
-   `a`:
+-  **[Enhanced type inference for generic invocations with function literals][]**: 
+   Invocations of generic methods/constructors that supply function literal
+   arguments now have improved type inference. This primarily affects the
+   `Iterable.fold` method. For example, in previous versions of Dart, the
+   compiler would fail to infer an appropriate type for the parameter `a`:
 
    ```dart
    void main() {
@@ -79,6 +89,7 @@
          (a, b) => a == null || a < b ? b : a);
    }
    ```
+[Enhanced type inference for generic invocations with function literals]: https://github.com/dart-lang/language/issues/731
 
 - **Breaking Change** [#48167](https://github.com/dart-lang/sdk/issues/48167):
   Mixin of classes that don't extend `Object` is no longer supported:
@@ -200,6 +211,30 @@
 
 ### Tools
 
+#### General
+
+- **Breaking Change** [#48272](https://github.com/dart-lang/sdk/issues/48272):
+  The `.packages` file has been fully discontinued. Historically when the
+  commands `dart pub get` or `flutter pub get` are executed, pub resolved all
+  dependencies, and installs those dependencies to the local pub cache. It
+  furthermore created a mapping from each used package to their location on the
+  local file system, and wrote that into two files:
+
+    * `.dart_tool/package_config.json`
+    * `.packages` (deprecated in Dart 2.8.0)
+
+  As of Dart 2.18.0, the `.packages` is now fully desupported, and all tools
+  distributed in, and based on, the Dart SDK no longer support it, and thus
+  solely use the `.dart_tool/package_config.json` file. If you've run `dart pub
+  get` or `flutter pub get` with any Dart SDK from the past few years you
+  already have a `.dart_tool/package_config.json` and thus should not be
+  impacted. You can delete any old `.packages` files.
+
+  If you have any third-party tools that for historical reasons depend on a
+  `.packages` we will support the ability to generate a `.packages` by passing
+  the flag `--legacy-packages-file` to `dart pub get`. This support will be
+  removed in a following stable release.
+
 #### Dart command line
 
 - **Breaking change** [#46100](https://github.com/dart-lang/sdk/issues/46100):
@@ -244,9 +279,8 @@
 
 #### Pub
 
-* Breaking: `dart pub get` and `dart pub upgrade` no longer creates the
-  [deprecated](https://github.com/dart-lang/sdk/issues/47431) `.packages` file.
-  It can still be created with the `--legacy-packages-file` flag.
+* `dart pub get` and `dart pub upgrade` no longer create the
+  `.packages` file. For details, see breaking change #48272 above.
 * `dart pub outdated` now shows which of your dependencies are discontinued.
 * `dart pub publish` will now list all the files it is about to publish.
 
diff --git a/pkg/dart_internal/CHANGELOG.md b/pkg/dart_internal/CHANGELOG.md
index 4b8c21c..9099270 100644
--- a/pkg/dart_internal/CHANGELOG.md
+++ b/pkg/dart_internal/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.2.6
+
+- Support the latest Dart SDK.
+
 ## 0.2.5
 
 - Support the latest Dart SDK.
diff --git a/pkg/dart_internal/pubspec.yaml b/pkg/dart_internal/pubspec.yaml
index 5d59e77..2c2e9f8 100644
--- a/pkg/dart_internal/pubspec.yaml
+++ b/pkg/dart_internal/pubspec.yaml
@@ -1,5 +1,5 @@
 name: dart_internal
-version: 0.2.5
+version: 0.2.6
 description: >-
   This package is not intended for wide use. It provides a temporary API to
   solve the problem: "Given an object some generic type A, how do I construct an
@@ -9,7 +9,7 @@
 environment:
   # Restrict the upper bound so that we can remove support for this in a later
   # version of the SDK without it being a breaking change.
-  sdk: ">=2.12.0 <2.19.0"
+  sdk: ">=2.12.0 <2.20.0"
 
 # Use 'any' constraints here; we get our versions from the DEPS file.
 dev_dependencies:
diff --git a/sdk/lib/_internal/vm/lib/developer.dart b/sdk/lib/_internal/vm/lib/developer.dart
index 46d0507..3a78b32 100644
--- a/sdk/lib/_internal/vm/lib/developer.dart
+++ b/sdk/lib/_internal/vm/lib/developer.dart
@@ -88,13 +88,13 @@
   } catch (e, st) {
     var errorDetails = (st == null) ? '$e' : '$e\n$st';
     response = new ServiceExtensionResponse.error(
-        ServiceExtensionResponse.kExtensionError, errorDetails);
+        ServiceExtensionResponse.extensionError, errorDetails);
     _postResponse(replyPort, id, response, trace_service);
     return;
   }
   if (response is! Future) {
     response = new ServiceExtensionResponse.error(
-        ServiceExtensionResponse.kExtensionError,
+        ServiceExtensionResponse.extensionError,
         "Extension handler must return a Future");
     _postResponse(replyPort, id, response, trace_service);
     return;
@@ -103,13 +103,13 @@
     // Catch any errors eagerly and wrap them in a ServiceExtensionResponse.
     var errorDetails = (st == null) ? '$e' : '$e\n$st';
     return new ServiceExtensionResponse.error(
-        ServiceExtensionResponse.kExtensionError, errorDetails);
+        ServiceExtensionResponse.extensionError, errorDetails);
   }).then((response) {
     // Post the valid response or the wrapped error after verifying that
     // the response is a ServiceExtensionResponse.
     if (response is! ServiceExtensionResponse) {
       response = new ServiceExtensionResponse.error(
-          ServiceExtensionResponse.kExtensionError,
+          ServiceExtensionResponse.extensionError,
           "Extension handler must complete to a ServiceExtensionResponse");
     }
     _postResponse(replyPort, id, response, trace_service);
diff --git a/sdk/lib/developer/extension.dart b/sdk/lib/developer/extension.dart
index aa10674..ceef2d8 100644
--- a/sdk/lib/developer/extension.dart
+++ b/sdk/lib/developer/extension.dart
@@ -46,22 +46,6 @@
   }
 
   /// Invalid method parameter(s) error code.
-  @deprecated
-  static const kInvalidParams = invalidParams;
-
-  /// Generic extension error code.
-  @deprecated
-  static const kExtensionError = extensionError;
-
-  /// Maximum extension provided error code.
-  @deprecated
-  static const kExtensionErrorMax = extensionErrorMax;
-
-  /// Minimum extension provided error code.
-  @deprecated
-  static const kExtensionErrorMin = extensionErrorMin;
-
-  /// Invalid method parameter(s) error code.
   static const invalidParams = -32602;
 
   /// Generic extension error code.
diff --git a/tests/lib/fix_data_tests/developer.dart b/tests/lib/fix_data_tests/developer.dart
index a9dc42b..6f4d9d5 100644
--- a/tests/lib/fix_data_tests/developer.dart
+++ b/tests/lib/fix_data_tests/developer.dart
@@ -5,8 +5,8 @@
 import 'dart:developer';
 
 void main() {
-  print(ServiceExtensionResponse.kInvalidParams);
-  print(ServiceExtensionResponse.kExtensionError);
-  print(ServiceExtensionResponse.kExtensionErrorMax);
-  print(ServiceExtensionResponse.kExtensionErrorMin);
+  print(ServiceExtensionResponse.invalidParams);
+  print(ServiceExtensionResponse.extensionError);
+  print(ServiceExtensionResponse.extensionErrorMax);
+  print(ServiceExtensionResponse.extensionErrorMin);
 }
diff --git a/tools/VERSION b/tools/VERSION
index af12ecc..33ccdaf 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 19
 PATCH 0
-PRERELEASE 9
+PRERELEASE 10
 PRERELEASE_PATCH 0
\ No newline at end of file
