)]}'
{
  "commit": "fba9fb4e8277dab1033d7587435d648f591e851c",
  "tree": "6e518b95ee8a86799a3cb2de7ad7661deb2ff4bc",
  "parents": [
    "5a61196bf115b5aa2c28c501574502a928d1ce41"
  ],
  "author": {
    "name": "Gary Bressler",
    "email": "geb@fuchsia.infra.roller.google.com",
    "time": "Wed Sep 25 22:06:23 2024 +0000"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Sep 25 15:08:14 2024 -0700"
  },
  "message": "[roll] Roll fuchsia [cml] Revise syntax for dynamic dictionaries\n\nInstead of:\n\n```\ncapabilities: [\n  {\n    dictionary: \"dict\",\n    extends: \"program/svc/fuchsia.component.sandbox.Router\",\n  },\n]\n```\n\nThe new syntax is:\n\n```\ncapabilities: [\n  {\n    dictionary: \"dict\",\n    path: \"/svc/fuchsia.component.sandbox.Router\",\n  },\n]\n```\n\nThis harmonizes better with other capability types. The semantics of\n`extending from program` diverge from `extending from\nparent/self/child`, and it\u0027s a good idea to reflect this in the API.\n\nIn a followup, I will land a change to decouple dynamic dictionaries\nfrom the extension codepath entirely.\n\nIn addition, disallow `extends` and `offer to self/dict` in this mode -\nthey no longer make sense as in the followup we\u0027re no longer creating an\nintermediate dictionary. If users want this behavior, they can always\ncreate a second dictionary and extend the dynamic one.\n\nOriginal-Bug: 368155371\nOriginal-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1121718\nOriginal-Revision: 64d7522aa87ebf7f9876338abc52062919937f26\nGitOrigin-RevId: de67026d667261fed3938657a53384a66fce6a9c\nChange-Id: I64dfd5dd043c63e6d2341f812c34098876f6949a\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "962d08173d7745de58c786e4d897df24465fab0a",
      "old_mode": 33188,
      "old_path": "stem",
      "new_id": "a757c917dc4af0e60f5523fa1f14806bc0a050c5",
      "new_mode": 33188,
      "new_path": "stem"
    }
  ]
}
