)]}'
{
  "log": [
    {
      "commit": "644827fe6b74fd782ee8b4b790b77da93366b69e",
      "tree": "ec22e89365c90b556940633db7721a86a40d7a7f",
      "parents": [
        "c82b30dd77b8aef1fb8b156808070c5f2b2b7265"
      ],
      "author": {
        "name": "ApacheRoyale",
        "email": "ApacheRoyale@ApacheRoyale3.5fqhacghrxnu5p2kyqqiah341h.parx.internal.cloudapp.net",
        "time": "Mon Aug 17 10:20:33 2026 +0000"
      },
      "committer": {
        "name": "ApacheRoyale",
        "email": "ApacheRoyale@ApacheRoyale3.5fqhacghrxnu5p2kyqqiah341h.parx.internal.cloudapp.net",
        "time": "Mon Aug 17 10:20:33 2026 +0000"
      },
      "message": "[maven-release-plugin] prepare for next development iteration"
    },
    {
      "commit": "c82b30dd77b8aef1fb8b156808070c5f2b2b7265",
      "tree": "ea049aa6337d632900a2718719ec0891491bd62e",
      "parents": [
        "4c5ffb378ae9904872d8fbe1efcc29b9921807fb"
      ],
      "author": {
        "name": "ApacheRoyale",
        "email": "ApacheRoyale@ApacheRoyale3.5fqhacghrxnu5p2kyqqiah341h.parx.internal.cloudapp.net",
        "time": "Mon Aug 17 10:20:31 2026 +0000"
      },
      "committer": {
        "name": "ApacheRoyale",
        "email": "ApacheRoyale@ApacheRoyale3.5fqhacghrxnu5p2kyqqiah341h.parx.internal.cloudapp.net",
        "time": "Mon Aug 17 10:20:31 2026 +0000"
      },
      "message": "[maven-release-plugin] prepare branch @{releaseLabel}"
    },
    {
      "commit": "4c5ffb378ae9904872d8fbe1efcc29b9921807fb",
      "tree": "984be4a2df6e190975eaab2659db17443fb9c00e",
      "parents": [
        "65602c0a987957d10014a6953fffa5a28a34f8d4"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Aug 07 15:21:06 2026 +0100"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Mon Aug 17 11:14:01 2026 +0100"
      },
      "message": "Use released compiler-jburg-types 1.1.1\n"
    },
    {
      "commit": "65602c0a987957d10014a6953fffa5a28a34f8d4",
      "tree": "cf5bae28470e898a0007ccf92e14f556bee93017",
      "parents": [
        "185958a948da986757d707ca3e2cdf0e7ee35f01"
      ],
      "author": {
        "name": "ApacheRoyale",
        "email": "ApacheRoyale@ApacheRoyale3.5fqhacghrxnu5p2kyqqiah341h.parx.internal.cloudapp.net",
        "time": "Fri Aug 14 09:32:54 2026 +0000"
      },
      "committer": {
        "name": "ApacheRoyale",
        "email": "ApacheRoyale@ApacheRoyale3.5fqhacghrxnu5p2kyqqiah341h.parx.internal.cloudapp.net",
        "time": "Fri Aug 14 09:32:54 2026 +0000"
      },
      "message": "[maven-release-plugin] prepare for next development iteration"
    },
    {
      "commit": "185958a948da986757d707ca3e2cdf0e7ee35f01",
      "tree": "8f4a86431e2e07117234709e196e048c6ed641f2",
      "parents": [
        "63cd0eaf2d8b4fc5d909d0dc79c94bfc84181efb"
      ],
      "author": {
        "name": "ApacheRoyale",
        "email": "ApacheRoyale@ApacheRoyale3.5fqhacghrxnu5p2kyqqiah341h.parx.internal.cloudapp.net",
        "time": "Fri Aug 14 09:32:53 2026 +0000"
      },
      "committer": {
        "name": "ApacheRoyale",
        "email": "ApacheRoyale@ApacheRoyale3.5fqhacghrxnu5p2kyqqiah341h.parx.internal.cloudapp.net",
        "time": "Fri Aug 14 09:32:53 2026 +0000"
      },
      "message": "[maven-release-plugin] prepare branch @{releaseLabel}"
    },
    {
      "commit": "63cd0eaf2d8b4fc5d909d0dc79c94bfc84181efb",
      "tree": "320414f67c9d3ab2aef5100905a0b79cbc9b5883",
      "parents": [
        "0158f0099d0dd1a0e85667da1b6ab016d8989a16"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Aug 13 10:19:15 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Aug 13 10:19:45 2026 -0700"
      },
      "message": "BinaryOperatorEmitter, UnaryOperatorEmitter, DynamicAccessEmitter: followup to ensure matching closing parentheses for JSDynamicAccessOverride\n\nAlso added tests for parentheses to avoid future regressions.\n\nFollowup to commit 308d8867b923c0edff4bf814fa89a175123dcf37\n"
    },
    {
      "commit": "0158f0099d0dd1a0e85667da1b6ab016d8989a16",
      "tree": "3bd1fcd9bceebdc632971b16841388cbdc897d44",
      "parents": [
        "7c14907b2296c5c8b58310e5a63def5b85815bbd"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Aug 12 14:24:27 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Aug 12 14:24:42 2026 -0700"
      },
      "message": "UnaryOperatorEmitter, BinaryOperatorEmitter: followup to adding JSDynamicOverride metadata, adding a new setMethodReversed attribute to optionally reverse key and value parameters\n\nMay be set to true or false. If true,  the key and value parameters are reversed so that the value is first. By default, the key is first, followed by the value.\n\nFollowup to commits 308d8867b923c0edff4bf814fa89a175123dcf37 and b939a18ed7d101a505eda9c1aba5ec7b746d63d2\n"
    },
    {
      "commit": "7c14907b2296c5c8b58310e5a63def5b85815bbd",
      "tree": "37ef7c57190c56c652675aee27360c6b30dc9a99",
      "parents": [
        "b939a18ed7d101a505eda9c1aba5ec7b746d63d2"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Aug 12 10:07:06 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Aug 12 10:07:08 2026 -0700"
      },
      "message": "GoogDepsWriter: followup to handling -includes compiler option by also ensuring that they get sorted properly in release builds\n\nFollowup to commit 488fc5fbc7f5f5a638d8832a385886cf66c6246a\n"
    },
    {
      "commit": "b939a18ed7d101a505eda9c1aba5ec7b746d63d2",
      "tree": "f855ac1b30bcad0ddc325c20c05dee834e4a2a74",
      "parents": [
        "69784e981fa5aa2903cd34e7bd8723a68675ed47"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Aug 11 15:06:32 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Aug 11 15:06:52 2026 -0700"
      },
      "message": "UnaryOperatorEmitter: followup to adding new JSDynamicAccess metadata to also support ++ and -- operators\n\nFollowup to commit 308d8867b923c0edff4bf814fa89a175123dcf37\n"
    },
    {
      "commit": "69784e981fa5aa2903cd34e7bd8723a68675ed47",
      "tree": "ae8563cb2c6336bc92a97fffe698ee4e5a8b0773",
      "parents": [
        "5227fb433493dd123fffc7fca065e7b088335c5f"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Aug 11 09:33:30 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Aug 11 09:33:30 2026 -0700"
      },
      "message": "RoyaleJSTarget: add includes, include-resource-bundles and include-libraries to rooted compilation units, similar to RoyaleAppSWFTarget\n\nThis ensures that all dependencies are included too.\n"
    },
    {
      "commit": "5227fb433493dd123fffc7fca065e7b088335c5f",
      "tree": "2896af1d82023627133b9ffa9489bdb6ab8bc7c7",
      "parents": [
        "d446e126bf54023242122109e4a5b8ef96907b44"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Aug 07 08:43:47 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Aug 07 08:44:30 2026 -0700"
      },
      "message": "JSDynamicAccessOverride, JSForInOverride, and JSForEachOverride metadata: followup to detect this metadata on subclasses and interfaces\n\nAlso added tests for the metadata to ensure that the emitted JS uses the methods specified\n\nFollowup to commit 308d8867b923c0edff4bf814fa89a175123dcf37\n"
    },
    {
      "commit": "d446e126bf54023242122109e4a5b8ef96907b44",
      "tree": "7fe2a8c617b6fa393321a72cc57d16e441a5bc7e",
      "parents": [
        "ee29ee5efaf5e6b420ba79a9987802a214e7d432",
        "db9cd8da2b12eeef4fd0782b89004a8d076d6e55"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Aug 07 12:17:16 2026 +0100"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Aug 07 12:17:16 2026 +0100"
      },
      "message": "Merge branch \u0027develop\u0027 of https://github.com/apache/royale-compiler into develop\n"
    },
    {
      "commit": "ee29ee5efaf5e6b420ba79a9987802a214e7d432",
      "tree": "2fa27ed92bd92eacce2a7fddcf086002c8eadf90",
      "parents": [
        "8d02a4bace981c9053a23bef72f0b96a7218bb2c"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Aug 07 12:16:45 2026 +0100"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Aug 07 12:16:45 2026 +0100"
      },
      "message": "Make source-vs-tag verification mandatory in the approve scripts\n"
    },
    {
      "commit": "db9cd8da2b12eeef4fd0782b89004a8d076d6e55",
      "tree": "026fae4326670f28c344dccd431790fb24e19d99",
      "parents": [
        "8d02a4bace981c9053a23bef72f0b96a7218bb2c"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Aug 05 09:36:23 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Aug 05 09:36:23 2026 -0700"
      },
      "message": "RoyaleJSTarget: compiler-jx/src/main/java/org/apache/royale/compiler/internal/targets/RoyaleJSTarget.java\n\nShould have been catching ProblemParsingCSSRuntimeException, similar to RoyaleAppSWFTarget, when searching the SWCs for defaults.css files\n"
    },
    {
      "commit": "8d02a4bace981c9053a23bef72f0b96a7218bb2c",
      "tree": "9745a5fb71e76957cb6176a8ccb4d13317f59159",
      "parents": [
        "f9a54902e4189fb5ccbd1bc391047141d6c593e6"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Tue Aug 04 13:45:50 2026 +0100"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Tue Aug 04 13:45:50 2026 +0100"
      },
      "message": "fix(compiler-jx): restore codegraph test build dependencies\n\nThe codegraph commits introduced JSON Schema validation tests and runtime\nresources without updating the Ant build. Clean builds could not resolve\nJackson and NetworkNT classes, and packaged tools could not load required\nresources.\n\nDownload the test-only dependency graph, add it to Ant test classpaths, and\npackage compiler-jx main resources into jsc.jar.\n"
    },
    {
      "commit": "f9a54902e4189fb5ccbd1bc391047141d6c593e6",
      "tree": "df9bca3265a759bc8cdc9096adb8ceb9251c641d",
      "parents": [
        "471d89534961536185c84c75cb52666c84aa0d6a"
      ],
      "author": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Mon Aug 03 17:30:43 2026 +0300"
      },
      "committer": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Mon Aug 03 17:30:43 2026 +0300"
      },
      "message": "feat(codegraph): Normalize line endings in test assertions and add helper method\n"
    },
    {
      "commit": "471d89534961536185c84c75cb52666c84aa0d6a",
      "tree": "adad4c6122da238a118715430e5be2df69a30bb0",
      "parents": [
        "78f61c25e4a41ab2757a67ab3dc78be225c3c18e"
      ],
      "author": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Mon Aug 03 16:57:12 2026 +0300"
      },
      "committer": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Mon Aug 03 16:57:12 2026 +0300"
      },
      "message": "feat(asdoc): Update ASDocComment to handle Windows line endings and add test for private ASDoc tags\n"
    },
    {
      "commit": "78f61c25e4a41ab2757a67ab3dc78be225c3c18e",
      "tree": "108adadfd3fd586304c6fd769a9f6e0f75c67c2c",
      "parents": [
        "b3496973a45e483b8193db857e55a09d78f3ebd2"
      ],
      "author": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Mon Aug 03 13:36:32 2026 +0300"
      },
      "committer": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Mon Aug 03 13:36:32 2026 +0300"
      },
      "message": "feat(codegraph): Update implementation plan and enhance CompileCodeGraphMojo with skipCodeGraph property\n"
    },
    {
      "commit": "b3496973a45e483b8193db857e55a09d78f3ebd2",
      "tree": "af942b0ce6fa513607d4e29e2ec28ced525c84b5",
      "parents": [
        "8a92d8acc6161c335142aaa8e77535e9f50d35cb"
      ],
      "author": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Sat Aug 01 22:47:31 2026 +0300"
      },
      "committer": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Sat Aug 01 22:47:31 2026 +0300"
      },
      "message": "feat(codegraph): Update CODEGRAPH_EXPORTER implementation plan with current status, completed integrations, and remaining release tasks\n"
    },
    {
      "commit": "8a92d8acc6161c335142aaa8e77535e9f50d35cb",
      "tree": "dad78c710419f76ef53b760e98d0327508c94678",
      "parents": [
        "15511ad2bbd6b15b0f57d545f50e8b0cd9ab8c67"
      ],
      "author": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Sat Aug 01 22:06:45 2026 +0300"
      },
      "committer": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Sat Aug 01 22:06:45 2026 +0300"
      },
      "message": "feat(codegraph): Enhance Code Graph functionality with static and instance field handling, improved error reporting, and updated configuration files\n"
    },
    {
      "commit": "15511ad2bbd6b15b0f57d545f50e8b0cd9ab8c67",
      "tree": "1939f944c5e88886af7cf476afc56c25066e1551",
      "parents": [
        "0141844f6d5030c68c3653ba85c4d1957d63714d"
      ],
      "author": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Fri Jul 31 16:54:08 2026 +0300"
      },
      "committer": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Fri Jul 31 16:54:08 2026 +0300"
      },
      "message": "feat(codegraph): Implement Code Graph Exporter with JSON Schema validation\n\n- Added CODEGRAPH implementation plan with detailed schema compatibility policy.\n- Introduced `codegraph.jar` in the build process and created corresponding scripts for Unix and Windows.\n- Integrated CODEGRAPH tool into RoyaleToolGroup for seamless usage.\n- Developed CodeGraphExporter and CodeGraphWriter classes to handle graph generation and output.\n- Created JSON Schema for code graph validation and added tests to ensure compliance.\n- Enhanced TestCODEGRAPH to validate tool registration and output correctness.\n- Added Maven plugin for compiling code graphs with configurable output options.\n- Implemented configuration files for JS and SWF code graph compilation.\n"
    },
    {
      "commit": "0141844f6d5030c68c3653ba85c4d1957d63714d",
      "tree": "90a312e20234fb05e90f6ff8a0e71cb9e7d26d02",
      "parents": [
        "1428821a82f4cea22ee8f7fcf6a244514fc6ab32"
      ],
      "author": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Fri Jul 31 15:11:44 2026 +0300"
      },
      "committer": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Fri Jul 31 15:11:44 2026 +0300"
      },
      "message": "Enhance CODEGRAPH functionality and improve code graph export\n\n- Updated CODEGRAPH to include module name in the exported graph.\n- Refactored CodeGraphExporter to exclude definitions marked as private from the public API.\n- Added support for unresolved types in the code graph, ensuring they are explicitly marked in the output.\n- Enhanced CodeGraphSymbol to include additional properties such as visibility, origin, and modifiers (static, final, dynamic, override, abstract, native).\n- Improved CodeGraphWriter to output new properties in the JSON representation of the code graph.\n- Added tests to verify the inclusion of unresolved types and the correct export of source files.\n- Updated existing test cases to ensure compatibility with the new features.\n"
    },
    {
      "commit": "1428821a82f4cea22ee8f7fcf6a244514fc6ab32",
      "tree": "f1fd9c4a84168cd12b9cc61344a468155556b152",
      "parents": [
        "98758c2da3412ec77efed8e0a73b495a9ea48bee"
      ],
      "author": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Fri Jul 31 14:45:25 2026 +0300"
      },
      "committer": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Fri Jul 31 14:45:25 2026 +0300"
      },
      "message": "Add tests for compiler defines in Code Graph: implement testCompilerDefinesSelectTargetMembers to verify target labels and active-member selection for JS and SWF outputs.\n"
    },
    {
      "commit": "98758c2da3412ec77efed8e0a73b495a9ea48bee",
      "tree": "b644402bce3f6e1148f40d5edcbe5dba72f5cae6",
      "parents": [
        "9fd5ae8c132aa45277efd11d76e8e9bf3a3835e5"
      ],
      "author": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Fri Jul 31 14:42:07 2026 +0300"
      },
      "committer": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Fri Jul 31 14:42:07 2026 +0300"
      },
      "message": "Enhance Code Graph functionality: implement package-level definitions with focused coverage, add packageCallable method, and introduce tests for package definitions and callable symbols.\n"
    },
    {
      "commit": "9fd5ae8c132aa45277efd11d76e8e9bf3a3835e5",
      "tree": "fbadff1b071e7e356756f244550d5e56ce3a3cf8",
      "parents": [
        "0ba4d648e1acaa8106bccb1c51a590a0eb2d94b2"
      ],
      "author": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Fri Jul 31 14:37:11 2026 +0300"
      },
      "committer": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Fri Jul 31 14:37:11 2026 +0300"
      },
      "message": "Add ASDoc support to Code Graph: implement CodeGraphASDoc and CodeGraphASDocTag classes, update CodeGraphExporter and CodeGraphWriter to handle ASDoc, and enhance tests for ASDoc integration\n"
    },
    {
      "commit": "0ba4d648e1acaa8106bccb1c51a590a0eb2d94b2",
      "tree": "3cab56ac303886232438bc5ff3c9add171a3f087",
      "parents": [
        "58f92e5911839a492083e01b825858234fbbd3b6"
      ],
      "author": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Fri Jul 31 14:28:07 2026 +0300"
      },
      "committer": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Fri Jul 31 14:28:07 2026 +0300"
      },
      "message": "Add metadata handling to Code Graph: implement metadata classes and update exporter and writer\n"
    },
    {
      "commit": "58f92e5911839a492083e01b825858234fbbd3b6",
      "tree": "2c278558246c6b276268c6e0fbdbb2525bcb2e74",
      "parents": [
        "d80de8a97b97680f758d489770fcb93b67d5874e"
      ],
      "author": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Fri Jul 31 14:16:30 2026 +0300"
      },
      "committer": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Fri Jul 31 14:16:30 2026 +0300"
      },
      "message": "Enhance CODEGRAPH functionality and add tests for error handling and output generation\n"
    },
    {
      "commit": "d80de8a97b97680f758d489770fcb93b67d5874e",
      "tree": "b5d66e5a140b62ea68ebc5e9ba269f6df607b43d",
      "parents": [
        "c947b9b0bc93d80168a557370caf958a1f450707"
      ],
      "author": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Fri Jul 31 14:00:16 2026 +0300"
      },
      "committer": {
        "name": "Harbs",
        "email": "harbs@in-tools.com",
        "time": "Fri Jul 31 14:00:16 2026 +0300"
      },
      "message": "Add Code Graph Exporter and Related Classes\n\n- Introduced CodeGraphExporter for exporting code graph models from definitions.\n- Added CodeGraphModel to represent the structure of the code graph.\n- Implemented CodeGraphSymbol to encapsulate symbol details including members and parameters.\n- Created CodeGraphWriter for serializing the code graph model to a structured format.\n- Developed CodeGraphIdFactory for generating unique identifiers for definitions and members.\n- Added CodeGraphParameter and CodeGraphReference to represent function parameters and type references.\n- Implemented unit tests for CodeGraphExporter, CodeGraphIdFactory, and CodeGraphWriter to ensure correct functionality and output.\n"
    },
    {
      "commit": "c947b9b0bc93d80168a557370caf958a1f450707",
      "tree": "d5eaa588066a01956ec923bf066285bc719ee29b",
      "parents": [
        "30fc0637cee9c8793e8f61abb235d910738d3475"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Jul 29 15:40:14 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Jul 29 15:50:51 2026 -0700"
      },
      "message": "EmitterUtils: fix E4X filter emitted to JS with wrong member access expression for variable or function with PACKAGE_MEMBER, FILE_MEMBER, or LOCAL classification\n\nPreviously, local variables were actually detected, but in kind of a convoluted way. After adding support for PACKAGE_MEMBER and FILE_MEMBER classifications, it was easy to switch to a simple comparison for LOCAL classification that applied to both functions and variables.\n\nWas previously emitted with a \"node.\" prefix, like \"node.localName\", \"node.packageMemberName\" or \"node.fileMemberName\", when it should have been simply \"localName\", \"packageMemberName\", or \"fileMemberName\". The \"node.\" prefix is only needed for XML members.\n\nI also tweaked some of the instanceof usage in this method to prefer interfaces over classes for definitions.\n"
    },
    {
      "commit": "30fc0637cee9c8793e8f61abb235d910738d3475",
      "tree": "363b165be71c998537a1682ce2e63dbd43e647ff",
      "parents": [
        "2b7b170b660be153072ca0459b5f2af003eee2c5"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Jul 29 14:30:50 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Jul 29 14:34:19 2026 -0700"
      },
      "message": "MXMLJSCRoyale, MXMLJSCNative: fix missing compilation units for resource bundles specified with -include-resource-bundles compiler option\n"
    },
    {
      "commit": "2b7b170b660be153072ca0459b5f2af003eee2c5",
      "tree": "3018b757c985c4ad3d1b040c9521c2dcc8f7a8c7",
      "parents": [
        "71498fc46153cb37541b54559c9f0e5c7772c780",
        "2737f98c87b48f21271e8cc3bf5bbddafae8dc45"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Sun Jul 26 14:52:08 2026 +0100"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Sun Jul 26 14:52:08 2026 +0100"
      },
      "message": "Merge branch \u0027develop\u0027 of https://github.com/apache/royale-compiler into develop\n"
    },
    {
      "commit": "71498fc46153cb37541b54559c9f0e5c7772c780",
      "tree": "5643bf16dda0779e01616880cfbfb6c9fabd2efe",
      "parents": [
        "dcd23695b12fe20a17e20a549f6d113245dda038"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Sun Jul 26 14:51:53 2026 +0100"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Sun Jul 26 14:51:53 2026 +0100"
      },
      "message": "Add optional verify-source-matches-tag to utility approve scripts\n"
    },
    {
      "commit": "2737f98c87b48f21271e8cc3bf5bbddafae8dc45",
      "tree": "a913008a75008f7629feb79ea0c776824c3711f6",
      "parents": [
        "dcd23695b12fe20a17e20a549f6d113245dda038"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jul 24 15:47:45 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jul 24 15:59:46 2026 -0700"
      },
      "message": "EmbedData: Fixed error for duplicate class definitions when using Embed metadata even though there were no actual duplicates\n\nMade the generation of the EmbedData\u0027s uniqueName (which is assigned to the the hashCodeSourceName) more consistent. The inconsistent hashCodeSourceName was causing the DuplicateClassDefinitionProblem to be reported intermittently.\n\nThe result of hashCode() was different between calling EmbedData\u0027s createTranscoder() method and calling its getQName() method. If the EmbedData was used as a key for the embedCompilationUnits in CompilerProject before getQName() was called, the hashCode() calculated for put() and the hashCode() calculated for get() would be different. The EmbedData wouldn\u0027t be found because of the HashMap\u0027s internal bucketing doesn\u0027t associate the EmbedData with its new hash, even though equals() would now return true. Then, put() would be called again, and the map would end up with two of the same key, so two separate compilation units for the exact same EmbedData.\n\nNow, in both createTranscoder() and getQName(), the hashCodeSourceName is set to the same value by calling the same private getUniqueName(). The hashCode() is consistent, and there are no longer duplicate compilation units created for the same EmbedData.\n\nRelated commits: c97ab3ef32a49784e4cb07ca2630880c633f8c28, 970df1e7e6a92f4d498772c2dcd43b72f7833b26, and b4deb222208eb93003a574a34697781351ebcfab\n"
    },
    {
      "commit": "dcd23695b12fe20a17e20a549f6d113245dda038",
      "tree": "57bb55dbb4baf1283e14a089954d1bb94e436c7b",
      "parents": [
        "e10f20c2d27910528fb68db6bc358751c021e2f5"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 24 17:28:36 2026 +0100"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 24 17:28:36 2026 +0100"
      },
      "message": "Include Git tag/commit provenance and clarify 72-hour minimum in release vote emails\n"
    },
    {
      "commit": "e10f20c2d27910528fb68db6bc358751c021e2f5",
      "tree": "a54bc84324096c00bae6be51e7260e281591fafa",
      "parents": [
        "4cc10861353d2b04071c07b13a2734d2e1322bda"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 24 14:31:57 2026 +0100"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 24 14:31:57 2026 +0100"
      },
      "message": "Clean up unused fields in approval step for jburg\n"
    },
    {
      "commit": "4cc10861353d2b04071c07b13a2734d2e1322bda",
      "tree": "87bc619381ebd9203dff0b88e9e123d9a593ea48",
      "parents": [
        "480482654d9ea4cd825f072a69b82141d0e1b4dd"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 24 13:48:00 2026 +0100"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 24 13:48:00 2026 +0100"
      },
      "message": "Remove beta-quality wording from release vote email templates\n"
    },
    {
      "commit": "480482654d9ea4cd825f072a69b82141d0e1b4dd",
      "tree": "96bec02eba27481b91821dc2a33db6f477876804",
      "parents": [
        "5efce8cbb54474966cad936bfe62af460f7e1d61",
        "6cb97d33bf2278d982171408f39e05d30118c017"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 24 13:27:00 2026 +0100"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 24 13:27:00 2026 +0100"
      },
      "message": "Merge branch \u0027develop\u0027 of https://github.com/apache/royale-compiler into develop\n"
    },
    {
      "commit": "5efce8cbb54474966cad936bfe62af460f7e1d61",
      "tree": "27e66cee37f629b070a1bfdc4402f4b45b08125c",
      "parents": [
        "2ddf3afeceace0315fefc11bcc519031b2e94d89"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 24 13:26:49 2026 +0100"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 24 13:26:49 2026 +0100"
      },
      "message": "compiler-jburg-types: add optional verify-compiler-integration target to ApproveJBurgTypes.xml\n"
    },
    {
      "commit": "6cb97d33bf2278d982171408f39e05d30118c017",
      "tree": "cec97517b57c2b7dec39b17350c84b3b5327cac9",
      "parents": [
        "3d9fca8a179fbcc0dc8b8d84b0cab6c8895197e5"
      ],
      "author": {
        "name": "yishayw",
        "email": "yishayw@apache.org",
        "time": "Fri Jul 24 08:47:46 2026 +0000"
      },
      "committer": {
        "name": "yishayw",
        "email": "yishayw@apache.org",
        "time": "Fri Jul 24 08:47:46 2026 +0000"
      },
      "message": "[maven-release-plugin] prepare for next development iteration\n"
    },
    {
      "commit": "3d9fca8a179fbcc0dc8b8d84b0cab6c8895197e5",
      "tree": "bffded8ae4ce765d9f6822c9e7f86f9f47681333",
      "parents": [
        "2ddf3afeceace0315fefc11bcc519031b2e94d89"
      ],
      "author": {
        "name": "yishayw",
        "email": "yishayw@apache.org",
        "time": "Fri Jul 24 08:47:39 2026 +0000"
      },
      "committer": {
        "name": "yishayw",
        "email": "yishayw@apache.org",
        "time": "Fri Jul 24 08:47:39 2026 +0000"
      },
      "message": "[maven-release-plugin] prepare release org.apache.royale.compiler-jburg-types-1.1.1-rc2\n"
    },
    {
      "commit": "2ddf3afeceace0315fefc11bcc519031b2e94d89",
      "tree": "966eac8e63915136eac376fba0c89718669cc940",
      "parents": [
        "dc25bb5160c7e8d6c66c0bb08bbf45897284d98f"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 24 09:18:36 2026 +0100"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 24 09:18:36 2026 +0100"
      },
      "message": "Revert \"[maven-release-plugin] prepare release org.apache.royale.compiler-jburg-types-1.1.1-rc1\"\n\nThis reverts commit 4fcb8cdf13795b465bf17a7d0ea802de28084488.\n"
    },
    {
      "commit": "dc25bb5160c7e8d6c66c0bb08bbf45897284d98f",
      "tree": "dba8c868e31610fa90663fafd3da0dbd18c8f17b",
      "parents": [
        "f2889488c802fec307cc8b1f6d6a8aa60089bf52"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 24 09:18:36 2026 +0100"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 24 09:18:36 2026 +0100"
      },
      "message": "Revert \"[maven-release-plugin] prepare for next development iteration\"\n\nThis reverts commit 479bb7529d3932abe3b986b6a3989a8777ab29c0.\n"
    },
    {
      "commit": "f2889488c802fec307cc8b1f6d6a8aa60089bf52",
      "tree": "cec97517b57c2b7dec39b17350c84b3b5327cac9",
      "parents": [
        "780afff2042e6f7d0fc549958b5f83554f00b039"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 24 08:52:31 2026 +0100"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 24 09:17:07 2026 +0100"
      },
      "message": "compiler-jburg-types: add royale-release profile (mirrors compiler-build-tools)\n"
    },
    {
      "commit": "780afff2042e6f7d0fc549958b5f83554f00b039",
      "tree": "1cec42195abd8070a1ba56d38eb55db5e524faeb",
      "parents": [
        "cbb65f6ca263277b4893883e79a7209f5512f0ce"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Jul 23 12:40:40 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Jul 23 12:43:51 2026 -0700"
      },
      "message": "MXMLStateSplitter: allow dot (.) character in MXML namespace prefixes\n\nExamples:\n\nxmlns:com.exmaple\u003d\"com.example.*\"\n\u003ccom.example:MyClass/\u003e\n\nThe Flex compiler differentiated between . as a state override and . in an MXML namespace prefix. These locations for the . don\u0027t conflict at all, so it is safe to make the Royale behavior support this same syntax as Flex.\n"
    },
    {
      "commit": "cbb65f6ca263277b4893883e79a7209f5512f0ce",
      "tree": "1aa3e409cdc880d05a905902ab76cce9817b8585",
      "parents": [
        "479bb7529d3932abe3b986b6a3989a8777ab29c0"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Jul 23 12:37:47 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Jul 23 12:43:51 2026 -0700"
      },
      "message": "IMXMLToken: similar to IASToken, it should extend ISourceLocation\n\nThe MXMLToken implementation already extends ASToken, so no other change is required, and this helps us avoid unnecessary casting.\n"
    },
    {
      "commit": "479bb7529d3932abe3b986b6a3989a8777ab29c0",
      "tree": "5b5b79def9c366c07e5d4d6c5c9b08ac44d4c175",
      "parents": [
        "4fcb8cdf13795b465bf17a7d0ea802de28084488"
      ],
      "author": {
        "name": "yishayw",
        "email": "yishayw@apache.org",
        "time": "Thu Jul 23 09:13:11 2026 +0000"
      },
      "committer": {
        "name": "yishayw@apache.org",
        "email": "yishayw@apache.org",
        "time": "Thu Jul 23 09:13:11 2026 +0000"
      },
      "message": "[maven-release-plugin] prepare for next development iteration\n"
    },
    {
      "commit": "4fcb8cdf13795b465bf17a7d0ea802de28084488",
      "tree": "c33acfbb765234a542e92d00b5aeae127ffe9bd5",
      "parents": [
        "f9b385a7e991ebd017a1cf958106cf0c1ba90c4f"
      ],
      "author": {
        "name": "yishayw",
        "email": "yishayw@apache.org",
        "time": "Thu Jul 23 09:13:05 2026 +0000"
      },
      "committer": {
        "name": "yishayw@apache.org",
        "email": "yishayw@apache.org",
        "time": "Thu Jul 23 09:13:05 2026 +0000"
      },
      "message": "[maven-release-plugin] prepare release org.apache.royale.compiler-jburg-types-1.1.1-rc1\n"
    },
    {
      "commit": "f9b385a7e991ebd017a1cf958106cf0c1ba90c4f",
      "tree": "966dd56511adb32c92c1f77a51ff9cffd8c9d9f4",
      "parents": [
        "e6ee821c2c491980c0beb58da384e7fac5406eb4"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 17 15:30:39 2026 +0100"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 17 15:30:39 2026 +0100"
      },
      "message": "compiler-jburg-types: add release scaffolding (releasesteps.xml, ApproveJBurgTypes.xml)\n"
    },
    {
      "commit": "e6ee821c2c491980c0beb58da384e7fac5406eb4",
      "tree": "73200abc06841ebb47d47240428f7e0f7b8ed1cd",
      "parents": [
        "0e8029f6a9d5f78cc0aebb5cb962ebea72bdd489"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 17 14:29:41 2026 +0100"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Fri Jul 17 14:30:57 2026 +0100"
      },
      "message": "Bump compiler-build-tools to 1.2.2\n"
    },
    {
      "commit": "0e8029f6a9d5f78cc0aebb5cb962ebea72bdd489",
      "tree": "f19c62c6a4ca44674712d1cc75ffd4677fc8ea11",
      "parents": [
        "aed3bed67ff4188e1150c0d5bb2f260f78e07901"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Jul 16 14:34:03 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Jul 16 14:34:19 2026 -0700"
      },
      "message": "MXMLRoyaleEmitter: followup to children-as-data\u003dfalse in JS to include IMXMLFactoryNode\n\nFollowup to commit de684f3eb4c65bcaa424e9a5d22d45ced57c7005\n"
    },
    {
      "commit": "aed3bed67ff4188e1150c0d5bb2f260f78e07901",
      "tree": "0a422ada6dccd57546a6dce46fafbc15ab05041b",
      "parents": [
        "4a54ab95351c84670c73cbe0261a2316bf638ba5"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jul 14 16:25:24 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jul 14 16:25:24 2026 -0700"
      },
      "message": "MXMLRoyaleEmitter: followup to fix extra comma in array when instance node descriptor should be skipped\n\nFollowup to commit a05d8400c466da4bebebb04e0f99415e14c3a5ab\n"
    },
    {
      "commit": "4a54ab95351c84670c73cbe0261a2316bf638ba5",
      "tree": "cc5103f2bc7d4ce071d3d127d4e1c0423f5fbe00",
      "parents": [
        "739d7db2bf47095ae4626d821636df195c6bddf1"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jul 14 09:52:59 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jul 14 09:52:59 2026 -0700"
      },
      "message": "DefinitionBase: Fixed race condition in populating metadata on definitions.\n\nMultiple threads may be writing or reading the meta tags on a definition. Use a lock to ensure that they play nicely together. Not using synchronized because other threads should be able to access non-meta tag parts of the definition at the same time without issue.\n"
    },
    {
      "commit": "739d7db2bf47095ae4626d821636df195c6bddf1",
      "tree": "1a42fd7e40fcafd63b27431c32f6222decad1bed",
      "parents": [
        "ed5b2af43f66bd0fce017af7598d8bcebf8095e8"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jul 13 15:57:56 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jul 13 15:57:56 2026 -0700"
      },
      "message": "MXMLClassDirectiveProcessor: Fixed operand stack underflow error when using data binding in MXML to assign to \u003cfx:Object\u003e property.\n"
    },
    {
      "commit": "ed5b2af43f66bd0fce017af7598d8bcebf8095e8",
      "tree": "97360e0ca915031e30fa10db8962b82187bb4270",
      "parents": [
        "d678e7269fd54106da0868f79bea0d80694ea5f2"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jul 13 13:42:15 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jul 13 13:42:15 2026 -0700"
      },
      "message": "JSRoyaleEmitter: fixed null exception when emitting embedded plain text strings\n"
    },
    {
      "commit": "d678e7269fd54106da0868f79bea0d80694ea5f2",
      "tree": "34af74d257cb95d45691f3095f4b47957204e348",
      "parents": [
        "bbe6adab4f6e3d066af33468a1dd21ea36f6ec6c"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jul 13 10:20:56 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jul 13 10:20:56 2026 -0700"
      },
      "message": "ProblemQuery: Fixed missing Generated byte code contains an operand stack underflow error when warnings are reported, but not other errors\n\nThe CodeGenErrorFilter should have been checking the severity.\n"
    },
    {
      "commit": "bbe6adab4f6e3d066af33468a1dd21ea36f6ec6c",
      "tree": "5321876131e93854e84cec93e9e2826e1ac05b5c",
      "parents": [
        "ff0c89189a838f56c3b5a1296e10c8ddc77b669e"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jul 10 15:48:44 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jul 10 15:48:44 2026 -0700"
      },
      "message": "MXMLRoyaleEmitter: follow up to emitting MXML factory methods to include mx:Function, mx:Class, and mx:RegExp\n\nFollowup to de684f3eb4c65bcaa424e9a5d22d45ced57c7005\n"
    },
    {
      "commit": "ff0c89189a838f56c3b5a1296e10c8ddc77b669e",
      "tree": "09d30f70a6f423a9da1cb49166fa1cff165d2abf",
      "parents": [
        "ce9a41b0a5055e8d1252c09487d7bb00d6de2642"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jul 10 15:26:48 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jul 10 15:26:48 2026 -0700"
      },
      "message": "MXMLRoyaleEmitter: follow up to component descriptors to skip embed nodes in properties for now\n\nFollowup to commit 5469ef57820dbc3d7d59b58d72cef2ab3dbbe87d\n"
    },
    {
      "commit": "ce9a41b0a5055e8d1252c09487d7bb00d6de2642",
      "tree": "50f6aec3253041f17fcb963eb81ace565844a3b5",
      "parents": [
        "caae4bfdf370c6341e46adbb7ffcc463ad28d5ce"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jul 10 14:22:25 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jul 10 14:22:25 2026 -0700"
      },
      "message": "MXMLClassDirectiveProcessor, MXMLClassReferenceNodeBase: fix operand stack underflow when using \u003cmx:Repeater\u003e\n"
    },
    {
      "commit": "caae4bfdf370c6341e46adbb7ffcc463ad28d5ce",
      "tree": "b8a11ff9425c038ee7cc09e687f079f550a6d6fe",
      "parents": [
        "2454b69c710823e5be79f97f97770662a2b45c3d"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Jul 08 10:10:28 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Jul 08 10:10:46 2026 -0700"
      },
      "message": "royaleunit-ant-tasks: avoid possible infinite loop in recently improved check for AIR adl versions\n\nFollowup to commit adb5a29699b41d9520dfb6660b5b7413ed87df16\n"
    },
    {
      "commit": "2454b69c710823e5be79f97f97770662a2b45c3d",
      "tree": "d74fd462ae996c7455f608980d48f6a28a01257f",
      "parents": [
        "c2137debbad7180098ec1a1fea42f9796774a97b"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Jun 18 15:21:24 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Jun 18 16:16:05 2026 -0700"
      },
      "message": "FunctionNode: remove existing definitions from scope immediately before adding new definitions for parsed function body (references #249)\n\nFollowup to bad8386b0555df1b6304cec79267d67ce56bc32f and 35eed62f13519c659e6346d26cca3f44afe3170f\n\nRemoving the definitions in analyze() when hasBeenParsed() is false, instead of in parseFunctionBody() before post processing still resulted in weird states where a scope might not contain any non-parameter local definitions. This change basically avoids removing any definitions unless those definitions are guaranteed to be immediately replaced because the function body is in the process of being re-parsed. This seems to fix the original assertion failure, and also seems to prevent scopes with no definitions.\n"
    },
    {
      "commit": "c2137debbad7180098ec1a1fea42f9796774a97b",
      "tree": "eb4877fcbd556af8bfdcfe8b1ef2c671a0f46de2",
      "parents": [
        "488fc5fbc7f5f5a638d8832a385886cf66c6246a"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jun 16 14:31:19 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jun 16 14:31:19 2026 -0700"
      },
      "message": "IMXMLTypeConstants: mx.core.FlexVersion should not have been converted to mx.core.RoyaleVersion\n\nThis is used for Flex framework compilation. There is no RoyaleVersion class in royale-asjs\n"
    },
    {
      "commit": "488fc5fbc7f5f5a638d8832a385886cf66c6246a",
      "tree": "27c3b33bab48a9abd03fb02ef0b0120d8921a458",
      "parents": [
        "bad8386b0555df1b6304cec79267d67ce56bc32f"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jun 16 09:45:33 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jun 16 09:45:33 2026 -0700"
      },
      "message": "GoogDepsWriter: Fixed missing symbols specified with -includes compiler option in generated JS.\n"
    },
    {
      "commit": "bad8386b0555df1b6304cec79267d67ce56bc32f",
      "tree": "2e34f0dffb3da7ee9b72481f71875f632ae6a542",
      "parents": [
        "36637fdd3171bd2781bb70e9ec5b61d53ab5f649"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jun 12 12:20:07 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jun 12 12:20:19 2026 -0700"
      },
      "message": "FunctionNode: fix missing definitions in FunctionScope when emitting methods as JavaScript (references #249)\n\nUses the existing deferredBodyParsingLock that is already used by parseFunctionBody() and discardFunctionBody() to ensure thread safety when reconnecting the scope to the ScopedBlockNode, and also when removing stale definitions when the function body needs to be re-parsed and will create new definitions to replace them.\n\nI ended up moving the changes from 35eed62f13519c659e6346d26cca3f44afe3170f from FunctionScope to FunctionNode. FunctionNode is the only place where the scope is reconnected, and it\u0027s the only place where definitions are already added to and removed from the FunctionScope. So it\u0027s better to remove stale definitions in the same place.\n\nThis issue is very difficult to reproduce (although building MXRoyaleBaseJS usually does it eventually... sometimes dozens or hundreds of compiles!). My best guess is that reconnecting the scope node while the body is currently being parsed, or while the definitions are currently being added to the scope, is where it leaves the scope without any definitions at all. I see that in analyze(), PostProcessStep.POPULATE_SCOPE creates a new FunctionScope, and PostProcessStep.RECONNECT_DEFINITIONS connects it to the ScopedBlockNode. Perhaps parseFunctionBody() was occasionally populating an old FunctionScope instead of the newly created one, and the lock is now forcing it to wait for the new scope to be connected before it starts populating.\n"
    },
    {
      "commit": "36637fdd3171bd2781bb70e9ec5b61d53ab5f649",
      "tree": "07ae8183b20f05ffb75daec4f303264847f8eb7e",
      "parents": [
        "208b6ad4dff50dec7c31c25cf7aa4dd3f0e56ceb"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Jun 10 16:01:43 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Jun 10 16:02:00 2026 -0700"
      },
      "message": "RoyaleProject: Fixed missing binding data caused by multiple threads accessing same HashMap (closes #182) (closes #250)\n\ngetBindingMap() is now a ConcurrentHashMap because multiple threads writing to and reading from a regular HashMap can corrupt the data structure. ConcurrentHashMap is designed to be accessed from multiple threads simultaneously and handles locking/unlocking automatically.\n\nDuring compilation, un MXMLRoyaleEmitter.emitBindingData(), project.getBindingMap().get(cdef) was sometimes returning null (often needed multiple compiles to reproduce). This is one sign that the HashMap wass corrupted. Another sign of corruption is that the size() of the map may be smaller than it should be, and not consistent between compiles (but sometimes the size was still correct, but get() still returned null).\n"
    },
    {
      "commit": "208b6ad4dff50dec7c31c25cf7aa4dd3f0e56ceb",
      "tree": "0f578bbe2aa66deae4ab8ea5a7d900cc13732181",
      "parents": [
        "a5f549f577eb3e20b229c56995fb275cc18f5918"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jun 05 16:52:35 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jun 05 16:52:35 2026 -0700"
      },
      "message": "IdentifierEmitter, MemberAccessEmitter: also check for INTERFACE_MEMBER classification when determining if a closure is required for a function\n"
    },
    {
      "commit": "a5f549f577eb3e20b229c56995fb275cc18f5918",
      "tree": "dac75e0b957d3bdc321f120988d2f565657ebf54",
      "parents": [
        "522010b9408b35e49f30d4f06d30160c9b735789"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jun 05 16:34:31 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jun 05 16:34:31 2026 -0700"
      },
      "message": "MemberAccessEmitter: don\u0027t include closure() around package-level functions (just non-static members)\n"
    },
    {
      "commit": "522010b9408b35e49f30d4f06d30160c9b735789",
      "tree": "224fb87366f748e2a4a04412d72272a2f500f157",
      "parents": [
        "319f57ba7951d45379a6db4fcf85d838da9949f1"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jun 05 16:30:38 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jun 05 16:30:38 2026 -0700"
      },
      "message": "IdentifierEmitter: Fixed missing require for package-level functions or variables in some situations.\n\nThe qname wasn\u0027t being formatted, so it wasn\u0027t considered used. Now, format it without emitting the formatted name.\n"
    },
    {
      "commit": "319f57ba7951d45379a6db4fcf85d838da9949f1",
      "tree": "5ad609c127e094521ac93deb0b219ac0a52d817d",
      "parents": [
        "e1b037f42ca8ed07059d0f51399328ebd2a33f41"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jun 05 14:53:41 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jun 05 14:53:59 2026 -0700"
      },
      "message": "JSCSSCompilationSession: output null instead of nothing for PropertyReference() and Embed() functions\n\nThis ensures that the JS syntax is valid.\n\nAlso, use constants instead of strings to compare with ClassReference, PropertyReference, and Embed\n"
    },
    {
      "commit": "e1b037f42ca8ed07059d0f51399328ebd2a33f41",
      "tree": "2d1453bdedee3fdcff9a7fbf91272beccca91fb5",
      "parents": [
        "adb5a29699b41d9520dfb6660b5b7413ed87df16"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jun 05 09:24:15 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Jun 05 09:24:15 2026 -0700"
      },
      "message": "Configuration: Fixed parsing of namespace uri and manifest mappings to allow multiple manifest paths per URI\n\nThe documentation explains that the namespace compiler option may specify multiple manifest paths for a single URI, and the config buffer treated it that way too. However, it was trying to alternate between URIs and manifest paths, which would be as if the user should specify multiple URIs, each with a single manifest.\n"
    },
    {
      "commit": "adb5a29699b41d9520dfb6660b5b7413ed87df16",
      "tree": "06935c88ad86c73a4d8f3650eb08db16a3eb111a",
      "parents": [
        "6a022275568f98d9dc76bcd91308b8c336adb8fb"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Jun 03 12:16:39 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Jun 03 12:17:39 2026 -0700"
      },
      "message": "royaleunit-ant-tasks: when checking for AIR version, ignore JAVA_TOOL_OPTIONS and JDK_JAVA_OPTIONS output\n"
    },
    {
      "commit": "6a022275568f98d9dc76bcd91308b8c336adb8fb",
      "tree": "3810222241c90de9eb9d5964f99d1ff090b80145",
      "parents": [
        "9e580afe579447835df7b4b88c8b45bc148e424b"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jun 01 13:08:07 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jun 01 13:13:09 2026 -0700"
      },
      "message": "IdentifierNode, DefinitionBase: Fixed rare race condition where certain cached values are detected as non-null but become null before the method returns.\n"
    },
    {
      "commit": "9e580afe579447835df7b4b88c8b45bc148e424b",
      "tree": "6a3f3c54c78818f8ec7b547765082141b3ef515c",
      "parents": [
        "42b49b4e328496087f7e09450275739839e55c01"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri May 22 15:25:36 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri May 22 15:26:24 2026 -0700"
      },
      "message": "MXMLJSCNative: support resource bundles for JS target, similar to JSRoyale\n"
    },
    {
      "commit": "42b49b4e328496087f7e09450275739839e55c01",
      "tree": "296e591404dfacac8833ed5cb71b83dbd0f344fe",
      "parents": [
        "9dd78ef74a9e6192ce1b8e6185f86ebf18de73dd"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed May 20 14:35:21 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed May 20 14:35:21 2026 -0700"
      },
      "message": "MXMLRoyaleEmitter: when emitting the new UIComponentDescriptors, include children for MX containers\n\nFollowup to commit a05d8400c466da4bebebb04e0f99415e14c3a5ab\n"
    },
    {
      "commit": "9dd78ef74a9e6192ce1b8e6185f86ebf18de73dd",
      "tree": "14c3e641cb62538a6e6c29084a9ba55f8fcbaab9",
      "parents": [
        "bbeed1399413308a56112ed490f6f930464d4114"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue May 19 14:57:24 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue May 19 14:57:24 2026 -0700"
      },
      "message": "IJSMetaAttributeConstants: missed adding a separate iteratorDoneMethod for JSForEachOverride\n\nWas accidentally using the one for JSForInOverride instead.\n\nFollowup to commit 308d8867b923c0edff4bf814fa89a175123dcf37\n"
    },
    {
      "commit": "bbeed1399413308a56112ed490f6f930464d4114",
      "tree": "1383be9f415ff161f012fade466934009a4769f7",
      "parents": [
        "b1370d2e1ce5e0f2a397bace45adc1fca0444205"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue May 19 09:35:16 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue May 19 09:35:16 2026 -0700"
      },
      "message": "Fix up some more metadata checks to use constants\n"
    },
    {
      "commit": "b1370d2e1ce5e0f2a397bace45adc1fca0444205",
      "tree": "6b7b44f9784f4d582e37677ea9337bed84b98f64",
      "parents": [
        "308d8867b923c0edff4bf814fa89a175123dcf37"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue May 19 09:30:15 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue May 19 09:30:18 2026 -0700"
      },
      "message": "IJSMetaAttributeConstants: move from some magic strings to constants for existing JS metadata\n"
    },
    {
      "commit": "308d8867b923c0edff4bf814fa89a175123dcf37",
      "tree": "b8ffac37f2b37af1dfe6b91676f043322af34469",
      "parents": [
        "41932d78557a350d05f3cb94db1a121911e3b43e"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Apr 21 14:08:25 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue May 19 08:43:23 2026 -0700"
      },
      "message": "JSDynamicAccessOverride, JSForInOverride, and JSForEachOverride metadata: optionally emit custom method calls when specific syntax is encountered\n\nIntended to allow folks using Royale to emulate classes like flash.utils.Dictionary and flash.utils.ByteArray, which may support custom behaviors for dynamic access with [] square brackets, for-in loop, and for-each loop syntax.\n\nJSDynamicAccessOverride supports getMethod and setMethod properties to get and set a key, deleteMethod to delete/remove a key, and inMethod to check if a key exists.\n\nJSForInOverride supports the iteratorMethod property to create an iterator object with the target\u0027s keys. iteratorNextMethod gets the next object from the iterator. iteratorHasNextMethod or iteratorDoneMethod is used to determine if a next object exists. iteratorHasNextMethod and iteratorDoneMethod are considered optional. If they are not defined, a null result from iteratorNextMethod will be considered the end of the iterator.\n\nJSForEachOverride supports the same methods, but iterates over the values instead of the keys. If JSForEachOverride is omitted, the compiler will intelligently use JSForInOverride to loop over the keys, and then get each value dynamically at runtime (possibly using JSDynamicAccessOverride, if defined).\n"
    },
    {
      "commit": "41932d78557a350d05f3cb94db1a121911e3b43e",
      "tree": "a99b1c3d4b16f547117e706773652b1dd4a11e8e",
      "parents": [
        "5469ef57820dbc3d7d59b58d72cef2ab3dbbe87d"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed May 06 15:38:44 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed May 06 15:38:44 2026 -0700"
      },
      "message": "MXMLRoyaleEmitter: when outputting UIComponentDescriptor, set _document befor calling setDocumentDescriptor()\n\nFollowup to commit a05d8400c466da4bebebb04e0f99415e14c3a5ab\n"
    },
    {
      "commit": "5469ef57820dbc3d7d59b58d72cef2ab3dbbe87d",
      "tree": "840a324ab04c78e44bb7473878b58397bdb50512",
      "parents": [
        "9cca41eeba7c43bf9b4956dae8abde20c3c55fe9"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed May 06 15:35:00 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed May 06 15:35:00 2026 -0700"
      },
      "message": "MXMLRoyaleEmitter: skip emitting UIComponentDescriptor properties and styles that are embed or data binding\n\nFollowup to commit a05d8400c466da4bebebb04e0f99415e14c3a5ab\n"
    },
    {
      "commit": "9cca41eeba7c43bf9b4956dae8abde20c3c55fe9",
      "tree": "fc843c376f7fc8a7e053027ad75c70c5b2356a6f",
      "parents": [
        "9b63725070fba92c01c1efa5467e50be2d7ab540"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed May 06 09:53:14 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed May 06 09:53:14 2026 -0700"
      },
      "message": "MXMLRoyaleEmitter: fix detection of E4X wildcard syntax (dot star) when generating JavaScript\n"
    },
    {
      "commit": "9b63725070fba92c01c1efa5467e50be2d7ab540",
      "tree": "217250bca4f0e3067aaed9dae98dd4909dcd0e12",
      "parents": [
        "c03be24bc3941a5a1a298b0b1b70974567710eae"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed May 06 09:35:03 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed May 06 09:35:03 2026 -0700"
      },
      "message": "MXMLRoyaleEmitter: the new children-as-data\u003dfalse factory methods were missing rpc services and XML/XMLList\n\nFollowup to commit de684f3eb4c65bcaa424e9a5d22d45ced57c7005\n"
    },
    {
      "commit": "c03be24bc3941a5a1a298b0b1b70974567710eae",
      "tree": "e7391d15bbd6972c565decd98231045ba9429ced",
      "parents": [
        "4bec47177b748bb04c083f447ed950221160e000"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon May 04 16:00:31 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon May 04 16:00:31 2026 -0700"
      },
      "message": "MXMLRoyaleEmitter: fix missing comma after childDescriptors with children-as-data\u003dfalse if there are 0 child descriptors\n\nFollowup to commit a05d8400c466da4bebebb04e0f99415e14c3a5ab\n"
    },
    {
      "commit": "4bec47177b748bb04c083f447ed950221160e000",
      "tree": "22913d59e01b79a657fa8b1847fbca790f7286d6",
      "parents": [
        "e8af9f8032c079d1392bf9888ea45e9a5303556c"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon May 04 13:51:16 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon May 04 13:51:30 2026 -0700"
      },
      "message": "MXMLRoyaleEmitter: fixed missing event handlers with children-as-data\u003dfalse because children of container weren\u0027t walked\n\nFollowup to commit a05d8400c466da4bebebb04e0f99415e14c3a5ab\n"
    },
    {
      "commit": "e8af9f8032c079d1392bf9888ea45e9a5303556c",
      "tree": "479646c99070293ac8c15c4db0896292795631ed",
      "parents": [
        "00ee1bf099eeb9a81c77fb94f1b428306df436ef"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Apr 28 14:19:18 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Apr 28 14:21:30 2026 -0700"
      },
      "message": "MethodBodySemanticChecker: don\u0027t warn when comparing numeric or boolean with null if default initializers are disabled for JS\n"
    },
    {
      "commit": "00ee1bf099eeb9a81c77fb94f1b428306df436ef",
      "tree": "0398cda9b1c952277b91a50a0316a03fe82de81e",
      "parents": [
        "e6b7a6f7b5d635e0a8e876f8bcd4c56bef400b3e"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Apr 23 11:04:55 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Apr 23 11:04:55 2026 -0700"
      },
      "message": "ApproveFalcon.xml: don\u0027t require ANT_HOME environment variable, and download Apache Rat JARs to basedir when they\u0027re not found\n"
    },
    {
      "commit": "e6b7a6f7b5d635e0a8e876f8bcd4c56bef400b3e",
      "tree": "d91a7a9fb99521081a5ac73499ef93fc3aa0dc91",
      "parents": [
        "20abe9bc658b4e4dd00327f93180744afb233043"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Apr 23 10:47:51 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Apr 23 10:47:51 2026 -0700"
      },
      "message": "ApproveFalcon.xml: fix examine-jars to work on all platforms (not macOS only)\n"
    },
    {
      "commit": "20abe9bc658b4e4dd00327f93180744afb233043",
      "tree": "6e241164a64d72f02c863e0cdb2cefb45b001ca4",
      "parents": [
        "6e422dae4605140621f00860878825ba858f6efb"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Apr 23 10:35:26 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Apr 23 10:35:26 2026 -0700"
      },
      "message": "ApproveBuildTools.xml: fix examine-jars to work on all platforms (not macOS only)\n"
    },
    {
      "commit": "6e422dae4605140621f00860878825ba858f6efb",
      "tree": "059ccdc9faa7f369a3b35fcd59237f3e7542ed8a",
      "parents": [
        "cc2dcdbfa11b0b0fafcb72ba6be4569058898fd3"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Apr 22 14:53:05 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Apr 22 14:53:05 2026 -0700"
      },
      "message": "JSRoyaleEmitter: fix namespace URI when namespace is defined in a package\n"
    },
    {
      "commit": "cc2dcdbfa11b0b0fafcb72ba6be4569058898fd3",
      "tree": "769bbf3448b41fc2716da3e01c3615cfc8965836",
      "parents": [
        "e7edc8bfa4c99a8fda3d1dc1c61e9bcf9c9d42d8"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Apr 17 16:02:05 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Apr 17 16:02:05 2026 -0700"
      },
      "message": "ExcludeTagNode: improved parsing of [Exclude] metadata to make the member name an identifier for tooling\n\nWill be used for renaming properties/styles/etc. in editors and IDEs that use the compiler for code intelligence.\n"
    },
    {
      "commit": "e7edc8bfa4c99a8fda3d1dc1c61e9bcf9c9d42d8",
      "tree": "e0279105646ea41ac3ad46532e1370dc11035434",
      "parents": [
        "9fd223b41d542c3b180bbd548ed919af054cffc5"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Apr 13 10:06:50 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Apr 13 10:06:50 2026 -0700"
      },
      "message": "Configuration: get/set functions for allow-strict-function-types weren\u0027t named properly following the existing convention\n"
    },
    {
      "commit": "9fd223b41d542c3b180bbd548ed919af054cffc5",
      "tree": "479b4123f67c2dbf9d03b0bfbb3f253e320ea1e3",
      "parents": [
        "44685a4c4cfad31dea85d2b9accf06f5cf6b0f3d"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Apr 13 09:14:13 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Apr 13 09:19:52 2026 -0700"
      },
      "message": "ApproveBuildTools.xml: don\u0027t require ANT_HOME environment variable, and download Apache Rat JARs to basedir when they\u0027re not found\n\nOn both macOS and Linux, I\u0027ve been forced to use sudo in a terminal to manually copy the Apache Rat JARs into env.ANT_HOME, so the approval script always fails when the JARs are missing. Instead, if the script doesn\u0027t find the Rat JARs, it should simply download them into ${basedir} instead of env.ANT_HOME. This will make it easier for PMCs to use the approval script.\n\nHowever, if ANT_HOME is configured, this path will still be searched for previously copied JAR files. This will allow PMCs to keep using the script the old way, if they\u0027re already set things up. I made sure that specifying ANT_HOME without the Rat JARs present won\u0027t fail either.\n\nAlso, added description to main-no-download.\n"
    },
    {
      "commit": "44685a4c4cfad31dea85d2b9accf06f5cf6b0f3d",
      "tree": "c9af773003b3641279286a057983eb801873dff5",
      "parents": [
        "ccea89b745465009c9325713b1d7e64a648f2414"
      ],
      "author": {
        "name": "Andrew Wetmore",
        "email": "andrew@cottage14.com",
        "time": "Fri Apr 10 14:49:35 2026 -0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 10 14:49:35 2026 -0300"
      },
      "message": "Create README"
    },
    {
      "commit": "ccea89b745465009c9325713b1d7e64a648f2414",
      "tree": "68b5d13ee540d56308c13baf93b0032a6e6af035",
      "parents": [
        "60f69203c05d55e29cd6420f5df714a1862b1508"
      ],
      "author": {
        "name": "yishayw",
        "email": "yishayw@apache.org",
        "time": "Tue Apr 07 06:48:38 2026 +0000"
      },
      "committer": {
        "name": "yishayw",
        "email": "yishayw@apache.org",
        "time": "Tue Apr 07 06:48:38 2026 +0000"
      },
      "message": "[maven-release-plugin] prepare for next development iteration\n"
    },
    {
      "commit": "60f69203c05d55e29cd6420f5df714a1862b1508",
      "tree": "8e15610719a1b7c209ad1a27d6f998db3af4fdfd",
      "parents": [
        "f574e82e74802f5ce5fd2c11773f1bf3584e5801"
      ],
      "author": {
        "name": "yishayw",
        "email": "yishayw@apache.org",
        "time": "Tue Apr 07 06:48:31 2026 +0000"
      },
      "committer": {
        "name": "yishayw",
        "email": "yishayw@apache.org",
        "time": "Tue Apr 07 06:48:31 2026 +0000"
      },
      "message": "[maven-release-plugin] prepare release org.apache.royale.compiler-build-tools-1.2.2-rc1\n"
    },
    {
      "commit": "f574e82e74802f5ce5fd2c11773f1bf3584e5801",
      "tree": "25e928c8945e74a4034a371be410852bd3362ef8",
      "parents": [
        "3373454a4f35005026412122d7d740718d784c2d"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Sat Apr 04 21:38:28 2026 +0300"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Sat Apr 04 21:38:28 2026 +0300"
      },
      "message": "Fix duplicate properties tag in compiler-build-tools pom.xml\n"
    },
    {
      "commit": "3373454a4f35005026412122d7d740718d784c2d",
      "tree": "acc8acfc55e55a00fff3049b249f61add5376c82",
      "parents": [
        "223607f637a6f7b8df19dc05fb426dbd73fbc42b"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Sat Apr 04 20:46:45 2026 +0300"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Sat Apr 04 20:46:45 2026 +0300"
      },
      "message": "Set maven.compiler.source/target to 11 for utils (JDK 21 dropped Java 7 support)\n"
    },
    {
      "commit": "223607f637a6f7b8df19dc05fb426dbd73fbc42b",
      "tree": "e346d2f7a9639b8279ab731e97bf8002b29ea1db",
      "parents": [
        "3fb6c58cbb6989b6ff9ccc990f19d5865ed4d354"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Sat Apr 04 18:13:27 2026 +0300"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Sat Apr 04 18:13:27 2026 +0300"
      },
      "message": "Update compiler-jburg-types version to 1.1.1-SNAPSHOT and add release notes\n\nChanges are maintenance-only (dependency security updates, Java 11 minimum),\nso 1.1.1 is more appropriate than 1.2.0. Also adds release notes for both\ncompiler-jburg-types 1.1.1 and compiler-build-tools 1.2.2.\n"
    },
    {
      "commit": "3fb6c58cbb6989b6ff9ccc990f19d5865ed4d354",
      "tree": "73ea8068a64ded495b26903cbb800042be9b3a87",
      "parents": [
        "d441671bbd27c50686cf499da470a4201398d69c",
        "7009c0c1390b1d7720f4ccf2bfe804d94e92bf0b"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Sat Apr 04 18:02:35 2026 +0300"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Sat Apr 04 18:02:35 2026 +0300"
      },
      "message": "Merge branch \u0027develop\u0027 of https://github.com/apache/royale-compiler into develop\n"
    },
    {
      "commit": "d441671bbd27c50686cf499da470a4201398d69c",
      "tree": "f4329e7790e8fda02ad158c55933f3ae471971cc",
      "parents": [
        "a487fcfeb00ff5998d7789a78708bd534bb5825e"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Sat Apr 04 18:02:22 2026 +0300"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Sat Apr 04 18:02:22 2026 +0300"
      },
      "message": "Update release notes for jburg-types and build-tools\n"
    },
    {
      "commit": "7009c0c1390b1d7720f4ccf2bfe804d94e92bf0b",
      "tree": "1a4561d8426a3a62ec52794c932f5468f1848539",
      "parents": [
        "a05d8400c466da4bebebb04e0f99415e14c3a5ab"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Apr 01 16:17:34 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Apr 01 16:17:34 2026 -0700"
      },
      "message": "forgot release note\n"
    }
  ],
  "next": "a05d8400c466da4bebebb04e0f99415e14c3a5ab"
}
