)]}'
{
  "commit": "c1f116788a9c0187ac566517eecaf31a49c2bbf7",
  "tree": "303d8077a2c6a3bd68d38035bff53f991ef929e7",
  "parents": [
    "99155a84f372cef1c5fc2d03c54d6980fb9df808"
  ],
  "author": {
    "name": "Christoph Deil",
    "email": "Deil.Christoph@gmail.com",
    "time": "Thu Mar 19 16:06:43 2026 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Mar 19 15:06:43 2026 +0000"
  },
  "message": "[camera] Make Optional.of constructor const (#11247)\n\nResolves old TODO from 2023 ( https://github.com/flutter/packages/commit/6e09f5b0d26f77bf70ab27d6ab4c7f8b46968c34 committed by @camsim99 ) by making the `Optional.of` constructor `const` and removing the obsolete runtime `ArgumentError.checkNotNull` guard that was only needed during Dart 2\u0027s mixed-mode (unsound null safety) era. Mixed-mode execution was removed in Dart 3.0, so this is dead code. Not a breaking change.\r\n\r\nNote that the entire `Optional\u003cT\u003e` class (and surrounding `CameraController`) is copy-pasted across 4 files in the camera packages. Would you prefer to move `Optional\u003cT\u003e` into `camera_platform_interface` to share it, or replace it entirely e.g. with a private sentinel pattern in `copyWith` (as the Flutter framework does for `ThemeData`)?\r\n\r\n## Pre-Review Checklist",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "397973454698322716576c3bb37f832953ceab82",
      "old_mode": 33188,
      "old_path": "packages/camera/camera/CHANGELOG.md",
      "new_id": "557e16ea59e44b07a0c2006ef70be946d4b82d41",
      "new_mode": 33188,
      "new_path": "packages/camera/camera/CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "53e029b0faad779c83f00f5f0d7e863261cb3062",
      "old_mode": 33188,
      "old_path": "packages/camera/camera/lib/src/camera_controller.dart",
      "new_id": "d941c2e85f667697e61d65036eda21c58a11c6e5",
      "new_mode": 33188,
      "new_path": "packages/camera/camera/lib/src/camera_controller.dart"
    },
    {
      "type": "modify",
      "old_id": "1c9e8bb0b145b2f369f2ecf9ba2c2d298ec32f0f",
      "old_mode": 33188,
      "old_path": "packages/camera/camera/pubspec.yaml",
      "new_id": "2d5967181c3243985c5c389241645c43d55f4f57",
      "new_mode": 33188,
      "new_path": "packages/camera/camera/pubspec.yaml"
    },
    {
      "type": "modify",
      "old_id": "97f4f2b424a9e3addb41f1e35757b80c95476f71",
      "old_mode": 33188,
      "old_path": "packages/camera/camera/test/camera_test.dart",
      "new_id": "913d3391cd9ec55613a6c63a0d728e7580e60c98",
      "new_mode": 33188,
      "new_path": "packages/camera/camera/test/camera_test.dart"
    },
    {
      "type": "modify",
      "old_id": "8215ef8fed549c0d4d92bec75514d048142eea9b",
      "old_mode": 33188,
      "old_path": "packages/camera/camera_android/example/lib/camera_controller.dart",
      "new_id": "33cafe13e447fab326349c8dab5bd974ef9e3eab",
      "new_mode": 33188,
      "new_path": "packages/camera/camera_android/example/lib/camera_controller.dart"
    },
    {
      "type": "modify",
      "old_id": "ae95d306d52ad3b9ecc27dbf4c8b70a8c3126e24",
      "old_mode": 33188,
      "old_path": "packages/camera/camera_android_camerax/example/lib/camera_controller.dart",
      "new_id": "7d456043fa4aeedd1d66e3cc695fb094b05b735a",
      "new_mode": 33188,
      "new_path": "packages/camera/camera_android_camerax/example/lib/camera_controller.dart"
    },
    {
      "type": "modify",
      "old_id": "84850b8d928f6cf4e216f018a3a447f8af693c2b",
      "old_mode": 33188,
      "old_path": "packages/camera/camera_avfoundation/example/lib/camera_controller.dart",
      "new_id": "ed3a8e5a953df8b52cea7383d5284fe1b0e84d99",
      "new_mode": 33188,
      "new_path": "packages/camera/camera_avfoundation/example/lib/camera_controller.dart"
    }
  ]
}
