)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "a05d8400c466da4bebebb04e0f99415e14c3a5ab",
      "tree": "c2571be475c7377ffb89903fd75fd77dc31539b3",
      "parents": [
        "51d22a5ac31ee823f655a84a05181919e9ddffc5"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Apr 01 11:27:36 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Apr 01 11:27:36 2026 -0700"
      },
      "message": "MXMLRoyaleEmitter: Added support for mx.core.UIComponentDescriptor with -children-as-data\u003dfalse for JavaScript\n"
    },
    {
      "commit": "51d22a5ac31ee823f655a84a05181919e9ddffc5",
      "tree": "f36fae30f5897477464af0139c317ebe87f496a5",
      "parents": [
        "af8b62129a0d8e1110b3f501f92ac7e19fae983f"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Mar 31 13:46:24 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Mar 31 13:46:24 2026 -0700"
      },
      "message": "MXMLRoyalEmitter: Added support for mx.core.IDeferredInstance for default properties with -children-as-data\u003dfalse\n"
    },
    {
      "commit": "af8b62129a0d8e1110b3f501f92ac7e19fae983f",
      "tree": "990443f75567ef92661fb0a8f451b03c06f2d80e",
      "parents": [
        "9356c8a62ff42b0a068825b165b4f4c6196c74df"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Mar 31 12:05:58 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Mar 31 12:06:03 2026 -0700"
      },
      "message": "MXMLJSCJSEmitter: Fixed intermittent missing goog.require() calls because formatQualifiedName() was overridden to remove formatting\n"
    },
    {
      "commit": "9356c8a62ff42b0a068825b165b4f4c6196c74df",
      "tree": "1f79671180fcdf9b096366a2d587efdf67ad48d3",
      "parents": [
        "b4e3ff671c7b48662f5f8a17548a0ea1d7043d66"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Mar 31 12:03:25 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Mar 31 12:04:02 2026 -0700"
      },
      "message": "MXMLDeferredInstanceNode: added missing dependency on mx.core.DeferredInstanceFromFunction that prevented it from being emitted in JavaScript\n"
    },
    {
      "commit": "b4e3ff671c7b48662f5f8a17548a0ea1d7043d66",
      "tree": "cd5150f768deb6a27179b63f4bd65a77fc98235e",
      "parents": [
        "fad7ee8c1504c14b2938dc2f6e2f3c3939e918a2"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Mar 31 11:17:40 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Mar 31 11:17:40 2026 -0700"
      },
      "message": "JSCPublisher: don\u0027t call start() for MXML classes either\n\nAt the time, I wasn\u0027t sure if MXML needed a start() method. It does not.\n"
    },
    {
      "commit": "fad7ee8c1504c14b2938dc2f6e2f3c3939e918a2",
      "tree": "562dae7668e3457edb81200af1624bb43a426100",
      "parents": [
        "a487fcfeb00ff5998d7789a78708bd534bb5825e"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Mar 31 11:09:43 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Mar 31 11:09:43 2026 -0700"
      },
      "message": "DefinitionBase: fix resolution of types specified in [InstanceType] when they are in a package\n"
    },
    {
      "commit": "a487fcfeb00ff5998d7789a78708bd534bb5825e",
      "tree": "92cab1751eb59eec08580d1d13f1204b18d69dc5",
      "parents": [
        "e6b5a815a4f66b4ce500a7cf0c9da2e2ab4790d6"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Mar 27 10:19:14 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Mar 27 10:19:14 2026 -0700"
      },
      "message": "MXMLRoyalePublisher added mainClass as a token that may be replaced in the HTML template (closes #245)\n"
    },
    {
      "commit": "e6b5a815a4f66b4ce500a7cf0c9da2e2ab4790d6",
      "tree": "046378489a78d5202a7805d24659533cf44bf115",
      "parents": [
        "4ba78509cfd7404c315aa6c82298df3676d415a2"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Wed Mar 18 17:58:45 2026 +0200"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Wed Mar 18 17:58:45 2026 +0200"
      },
      "message": "Update release notes for 1.0.0\n"
    },
    {
      "commit": "4ba78509cfd7404c315aa6c82298df3676d415a2",
      "tree": "aeff1213452382ef1c971d3ced35163a5362bcf8",
      "parents": [
        "7d583da57d8667c2e67435c0aafb3292478e7ccd"
      ],
      "author": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Wed Mar 18 12:21:39 2026 +0200"
      },
      "committer": {
        "name": "Yishay Weiss",
        "email": "yishayjobs@hotmail.com",
        "time": "Wed Mar 18 12:23:34 2026 +0200"
      },
      "message": "Update version to 1.0.0 for release\n"
    },
    {
      "commit": "7d583da57d8667c2e67435c0aafb3292478e7ccd",
      "tree": "8afd8937f35b7ed28b266fa5183508fd246171d5",
      "parents": [
        "85a936b59ce07674f8e218e5744a63e65058eb8f"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Mar 17 13:55:09 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Mar 17 13:55:09 2026 -0700"
      },
      "message": "MXMLRoyaleEmitter: don\u0027t assign property in factory method if it uses data binding\n\nIt was emitting nothing, resulting in a JS syntax error.\n"
    },
    {
      "commit": "85a936b59ce07674f8e218e5744a63e65058eb8f",
      "tree": "2dc582da28e3fcd038fb1e9b1e8326717990b600",
      "parents": [
        "8f40ae2960703a91878c42f5fee1a7ccb1befc34"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Mar 17 08:54:25 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Mar 17 08:54:25 2026 -0700"
      },
      "message": "update release notes with latest commits\n"
    },
    {
      "commit": "8f40ae2960703a91878c42f5fee1a7ccb1befc34",
      "tree": "8599bf033e241b75df929fdb6a7e3ec023d78b02",
      "parents": [
        "a0a2d54ebabd29b020868510672da621f114da47"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Mar 16 13:55:47 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Mar 16 13:55:47 2026 -0700"
      },
      "message": "MXMLClassReferenceNodeBase: an fx:DesignLayer may have children in MXML without [DefaultProperty] metadata\n\nSimilar to MX containers allowing UI components as children without [DefaultProperty].\n"
    },
    {
      "commit": "a0a2d54ebabd29b020868510672da621f114da47",
      "tree": "7723eb52ec0a46197e1e98f9bf8f80d17714222b",
      "parents": [
        "de684f3eb4c65bcaa424e9a5d22d45ced57c7005"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Mar 16 13:54:06 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Mar 16 13:54:06 2026 -0700"
      },
      "message": "MXMLArrayNode: special case for fx:DesignLayer when checking if children are valid for the specified optional [ArrayElementType]\n\nNeeds to check the children of the DesignLayer because the DesignLayer is pulled out of the hierarchy. A DesignLayer may contain other DesignLayers as children.\n"
    },
    {
      "commit": "de684f3eb4c65bcaa424e9a5d22d45ced57c7005",
      "tree": "84cf23f14364f68c2e5b20bf4023d148bc597582",
      "parents": [
        "6c75f00b96f52a4d9072d558ec27da7ce30819e7"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Mar 16 09:59:33 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Mar 16 10:57:04 2026 -0700"
      },
      "message": "MXMLRoyaleEmitter: implement children-as-data\u003dfalse for JS emitter\n\nAlso, Vector is always treated as if children-as-data\u003dfalse because the compiler supports specifying a custom vector class or function, and the MXML data interpreter would have been pre-compiled with the SDK and can\u0027t know which vector class to use.\n"
    },
    {
      "commit": "6c75f00b96f52a4d9072d558ec27da7ce30819e7",
      "tree": "cafd2aeec9285b3c6ecbf642fc8530e1163b1ecf",
      "parents": [
        "16e41abb886ea592c6c7bc9390ca98ce100f4e24"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Mar 16 09:55:44 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Mar 16 09:56:00 2026 -0700"
      },
      "message": "MXMLClassReferenceNodeBase: stricter MXML handling of default element children\n\nMX Containers may have children, and classes with [DefaultProperty] metadata may have children, but a compile-time error should be reported for classes that meet neither requirement.\n"
    },
    {
      "commit": "16e41abb886ea592c6c7bc9390ca98ce100f4e24",
      "tree": "ee3a47e55c880c20d043d007c2922fc132ba544e",
      "parents": [
        "2ed32afd86982c8af66a79e1e3038f636aea430b"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Mar 11 15:30:22 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Mar 11 15:40:13 2026 -0700"
      },
      "message": "MXMLRoyaleEmitter: missing implementation for \u003cfx:Vector\u003e inside \u003cfx:Declarations\u003e\n"
    },
    {
      "commit": "2ed32afd86982c8af66a79e1e3038f636aea430b",
      "tree": "b3770b8f8caee50d1756b51b5114852f61a3b7bd",
      "parents": [
        "7c450b0583fb9e46b10d04f1d9e4ae312f4b55d2"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Mar 11 15:09:59 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Mar 11 15:09:59 2026 -0700"
      },
      "message": "MXMLRoyaleEmitter: an array containing a vector is not simple\n"
    },
    {
      "commit": "7c450b0583fb9e46b10d04f1d9e4ae312f4b55d2",
      "tree": "4686f84300682c144384901cf0afee0cfe9ed681",
      "parents": [
        "733c414091cbf6515e5d3416df1206b041ec06b5"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Mar 11 14:49:45 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Mar 11 14:49:45 2026 -0700"
      },
      "message": "MXMLVectorNode: fix wrong value of type in initializeDefaultProperty()\n\nWas being set to Vector.\u003cT\u003e instead of T. However, getType() is documented as being the type of the elements in the vector.\n"
    },
    {
      "commit": "733c414091cbf6515e5d3416df1206b041ec06b5",
      "tree": "e8b3741c0fe3996eeb6d68299779a788d5366044",
      "parents": [
        "63ed1bc7f7214483d4b0fa2d0083d0fc13de9a19"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Mar 11 09:46:19 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Mar 11 11:17:45 2026 -0700"
      },
      "message": "MXMLClassReferenceNodeBase: detect MXML 2006 declarations and add them to implicit MXMLDeclarationsNodes in the AST (references #243)\n\n\u003cfx:Declarations\u003e doesn\u0027t exist in MXML 2006. Instead, declarations are direct children of the root. This is a little quirky. If the root is an mx.core.IContainer, and the child implements mx.core.IUIComponent, then it isn\u0027t considered a Declaration. Otherwise, for non-container roots, or children that aren\u0027t UI components, then they are declarations.\n\nI could have added the declarations directly to the root (they were being incorrectly including in the default property), but then the SWF and JS emitters would also need to detect MXML 2006, and it all got pretty messy. Instead, the implicit MXMLDeclarationsNode makes the emitters detect declarations the same as MXML 2009.\n"
    },
    {
      "commit": "63ed1bc7f7214483d4b0fa2d0083d0fc13de9a19",
      "tree": "47e0e8847143cee47d6f28bd55c0d9b9b67971a2",
      "parents": [
        "4dc4c0f3c020aa8bbb064d36f2c3aed420e75a1a"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Mar 09 08:31:51 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Mar 09 08:31:51 2026 -0700"
      },
      "message": "RELEASE_NOTES: update\n"
    },
    {
      "commit": "4dc4c0f3c020aa8bbb064d36f2c3aed420e75a1a",
      "tree": "d052cb56f50d5ae95670684d25106b5ca2282986",
      "parents": [
        "9bbc3e4b64984aa01a6394bb0e561841ec9b0798"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Mar 09 08:10:35 2026 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Mar 09 08:10:35 2026 -0700"
      },
      "message": "JSConfiguration: move warn-this-within-closure default value of true from Configuration\n\nConfiguration tries to keep closer to defaults of Flex SDK, since it may be used with other frameworks. This warning can be a good default for Royale apps, especially in JS. That\u0027s where arrow functions are enabled by default, which is the better option.\n"
    },
    {
      "commit": "9bbc3e4b64984aa01a6394bb0e561841ec9b0798",
      "tree": "ff38e3cb7347b73d9e76398a2f467df9622f223a",
      "parents": [
        "3879893f975cb1d89981d86c850fed6157bead71"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Mar 04 12:00:58 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Mar 04 12:00:58 2026 -0800"
      },
      "message": "JSCPublisher: null check for result of resolveQNameToDefinition() when writing HTML template body\n"
    },
    {
      "commit": "3879893f975cb1d89981d86c850fed6157bead71",
      "tree": "26e4a69e01e21d1c301ca2dd76d0b8f48899ce6e",
      "parents": [
        "0c4b77107440b2fbe83532b35cc0c66c6f5ba5ac"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Feb 27 15:43:13 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Feb 27 15:43:13 2026 -0800"
      },
      "message": "externc: expand list of top-level classes that should be dynamic, and add a list of top-level classes that should be final\n"
    },
    {
      "commit": "0c4b77107440b2fbe83532b35cc0c66c6f5ba5ac",
      "tree": "4a3e2dab70bcf621ffa428c7c6ab930baa4fb50b",
      "parents": [
        "5bf3f7fad5a106fce7054f530664260965994c0c"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Feb 27 11:20:07 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Fri Feb 27 11:20:07 2026 -0800"
      },
      "message": "ASC: fix comment that said the opposite of what it meant\n"
    },
    {
      "commit": "5bf3f7fad5a106fce7054f530664260965994c0c",
      "tree": "f737ceef923310a15a0fa7df91770c6babdf4b30",
      "parents": [
        "4fdacaea1500da1bbadf666c06b28a90118522df"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Feb 24 13:39:07 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Feb 24 13:39:07 2026 -0800"
      },
      "message": "NOTICE: 2026\n"
    },
    {
      "commit": "4fdacaea1500da1bbadf666c06b28a90118522df",
      "tree": "f2e40287adf1bbe815f38e3f4e08d2c1502426d8",
      "parents": [
        "9c1556260f6b33ecf5ad551a8713cb24de2a090a"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Feb 23 10:08:26 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Feb 23 10:08:52 2026 -0800"
      },
      "message": "CSSTree: fix CSS attribute selectors that use an identifier instead of a string (closes apache/royale-asjs#108)\n\nExample: input[type\u003drange] instead of input[type\u003d\"range\"]\n\nIt was appending the string, but assigning the identifier, so the attribute name and operator were getting forgotten when using an identifier.\n"
    },
    {
      "commit": "9c1556260f6b33ecf5ad551a8713cb24de2a090a",
      "tree": "bd28c841117fdddf08479a46764f48953fa76c40",
      "parents": [
        "34ca20ce4ada89da910daf864f8fb4e8dda0f00a"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Feb 19 16:11:13 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Feb 19 16:11:13 2026 -0800"
      },
      "message": "royaleunit-ant-tasks: parse Adobe AIR version including both major and minor\n\nWhen the version number went into the double-digits, the minor part started getting ignored. This wasn\u0027t a huge issue because the minor part was usually 0. However, Harman started using minor versions again, like 33.1 and 51.2.\n"
    },
    {
      "commit": "34ca20ce4ada89da910daf864f8fb4e8dda0f00a",
      "tree": "915757d44863c7ceedecfe4ab46f08b9504d91ab",
      "parents": [
        "a3f12492b6bd5bd66a6af5ff1f7025d3df8c584a"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Feb 18 14:51:57 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Feb 18 14:51:57 2026 -0800"
      },
      "message": "externc: hasSuperMethod() and hasSuperField() on ClassReference return false if super method/field is excluded\n"
    },
    {
      "commit": "a3f12492b6bd5bd66a6af5ff1f7025d3df8c584a",
      "tree": "f9c72c102c059c9170c63a2b3b9c4f6b057481c7",
      "parents": [
        "392f5e3811ed0a7296fc382d0adcc9b57cfcd861"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Feb 18 14:31:41 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Feb 18 14:31:41 2026 -0800"
      },
      "message": "externc: more exhaustive search for field and method overrides from interfaces\n\nWas searching directly implemented interfaces, but was not searching the interfaces that were extended by the first set of interfaces\n"
    },
    {
      "commit": "392f5e3811ed0a7296fc382d0adcc9b57cfcd861",
      "tree": "620b89d56e6302a719db2f2d7c927e693c734418",
      "parents": [
        "a6290f7a23c97b04d8229dfee6877b0d3c3802cc"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Feb 18 09:30:09 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Feb 18 09:30:09 2026 -0800"
      },
      "message": "externc: FieldReference needs to check if the field was originally defined on an interface, similar to MethodReference\n\nFields may have just an override jsdoc tag in this case, which was defaulting to type Object instead of the type from the interface\n"
    },
    {
      "commit": "a6290f7a23c97b04d8229dfee6877b0d3c3802cc",
      "tree": "be0c814560443fa917dc96bb2b717dff17e8be69",
      "parents": [
        "8bd5ca9feddcff783429d8a55be04448c2a957a0"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Feb 17 14:53:31 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Feb 17 15:01:33 2026 -0800"
      },
      "message": "MethodBodySemanticChecker: certain expressions that can resolve to a function type expression can be nested, so those need to be checked too\n"
    },
    {
      "commit": "8bd5ca9feddcff783429d8a55be04448c2a957a0",
      "tree": "24709d3ec4c56c5a7b653119247b971b6d5ebed9",
      "parents": [
        "046842d74962f02001852ca1d775a45eeef44b53"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Feb 04 13:34:23 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Feb 04 13:48:14 2026 -0800"
      },
      "message": "sdk.dependent.tests: fix for Linux\n\nTweaks to match how flex-sdk Ant build behaves\n\n- skip automation SWCs\n- use different config for mobilethheme on Linux\n\nBug:\n\n- fix textLayout path for case-sensitive file system\n"
    },
    {
      "commit": "046842d74962f02001852ca1d775a45eeef44b53",
      "tree": "cbd9a53c7affa9dad55e869fc68192bc2f756ace",
      "parents": [
        "72a4a282612ccf119a1f5ef5fb5a1f30574781b8"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Feb 04 12:51:17 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Feb 04 12:51:17 2026 -0800"
      },
      "message": "MethodBodySemanticChecker: handle function type expressions as operands in ternary operators and logical binary operators\n"
    },
    {
      "commit": "72a4a282612ccf119a1f5ef5fb5a1f30574781b8",
      "tree": "0f3f23f98c43aa758d27d513584aeaa9105967ba",
      "parents": [
        "5db27588dd9105848956571891909450999cf1c5"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Feb 04 09:08:35 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Feb 04 11:21:36 2026 -0800"
      },
      "message": "AccessorDefinition: fix function type expression metadata to work similarly to variables\n\nFunctionDefinition: don\u0027t add function type expression metadata to accessors because the AccessorDefinition will handle it\n"
    },
    {
      "commit": "5db27588dd9105848956571891909450999cf1c5",
      "tree": "01b3eeaf1ab28e0d988a454f92c5d4fb7b382dbb",
      "parents": [
        "3def6a8bd2ec6a1e24b43f25e42bec37dda73fe9"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Feb 03 14:06:36 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Feb 03 14:06:36 2026 -0800"
      },
      "message": "compiler: allow tests to be run with AIR ADL instead of Flash Player\n\nStill uses FLASHPLAYER_DEBUGGER, if defined, but can fall back to ADL if AIR_HOME is defined instead\n"
    },
    {
      "commit": "3def6a8bd2ec6a1e24b43f25e42bec37dda73fe9",
      "tree": "96d82dda1fa379a44b2680d1a1cdf707938ed6b1",
      "parents": [
        "71a1962ee7aeefb25881ba2289765aa8f166fd0b"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Feb 02 16:09:49 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Feb 02 16:09:49 2026 -0800"
      },
      "message": "royaleUnitDescriptor.template: hide AIR window by default\n"
    },
    {
      "commit": "71a1962ee7aeefb25881ba2289765aa8f166fd0b",
      "tree": "524506eee9a13e8d2f4c65e4efb1840a36d6bcf1",
      "parents": [
        "a6a7f83a9f30d7affabb3f7b46cab5faf9e6b978"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Feb 02 16:09:10 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Feb 02 16:09:10 2026 -0800"
      },
      "message": "royaleUnitDescriptor.template: consistent indentation\n"
    },
    {
      "commit": "a6a7f83a9f30d7affabb3f7b46cab5faf9e6b978",
      "tree": "956f74aa530eca78dcf4944e2f62d1dee7a711c0",
      "parents": [
        "8cee3fb636fa987e460947da24033b2039f65d42"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Feb 02 14:41:56 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Feb 02 14:41:56 2026 -0800"
      },
      "message": "royaleunit-ant-tasks: prefer AIR_HOME over ROYALE_HOME, if available, to find adl and adt executables\n"
    },
    {
      "commit": "8cee3fb636fa987e460947da24033b2039f65d42",
      "tree": "f48c26fd8993a47405f16b3ece236a6a00b8e13e",
      "parents": [
        "06e46e5a23bd532d25d7cfbfd1402aebd3a7cda6"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jan 27 12:06:07 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jan 27 12:06:07 2026 -0800"
      },
      "message": "MethodBodySemanticChecker: don\u0027t allow an arrow function to be used with new as a constructor\n"
    },
    {
      "commit": "06e46e5a23bd532d25d7cfbfd1402aebd3a7cda6",
      "tree": "19bb72956447c99e63d5c00328c4c2f01c0f111e",
      "parents": [
        "42bf14a42850a60af5684776145d6c9551c38626"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jan 27 11:52:47 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jan 27 11:52:50 2026 -0800"
      },
      "message": "MethodBodySemanticChecker: prevent \u0027arguments\u0027 binding from being used in an arrow function\n\nArrow functions aren\u0027t supposed to have their own this, super, or arguments bindings. The compiler already reports an error if this or super are used in contexts where they don\u0027t make sense. Report a similar error for arguments here.\n"
    },
    {
      "commit": "42bf14a42850a60af5684776145d6c9551c38626",
      "tree": "986b39f9be9447ca22ed5305eb54a48e9358a545",
      "parents": [
        "5a4b8d34d201024f89818df4ebb1cc41373717b1"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jan 26 15:32:57 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jan 26 15:32:57 2026 -0800"
      },
      "message": "formatter, linter: fix incorrect end line and end column on generated whitespace or extra tokens\n"
    },
    {
      "commit": "5a4b8d34d201024f89818df4ebb1cc41373717b1",
      "tree": "4043d7b5ab2ca0cc0401494be58e1bd5ac3d2ea2",
      "parents": [
        "2404c68eae3734d9f568faa09e40b6bf56ca474e"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jan 26 14:11:09 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jan 26 14:11:09 2026 -0800"
      },
      "message": "RELEASE_NOTES: update for 0.9.13\n"
    },
    {
      "commit": "2404c68eae3734d9f568faa09e40b6bf56ca474e",
      "tree": "a191f1a2bd722be5406846babeb4383907f9c38c",
      "parents": [
        "5ed20c96320eee806802895c6c12219553cc4a64"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jan 26 12:28:24 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jan 26 12:28:31 2026 -0800"
      },
      "message": "MethodBodySemanticChecker: another exception for return types that aren\u0027t the same or subclasses (any (*) type)\n\nAS3 allows calling a function with return type void and assigning it to a variable of type any (*). The assigned value will be undefined. Same idea here.\n"
    },
    {
      "commit": "5ed20c96320eee806802895c6c12219553cc4a64",
      "tree": "2765f7506df6b9b68cfec07549f35f0104d53880",
      "parents": [
        "a6c8e592719f57d3d23e29321ac12fd3aff7ea7d"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jan 26 12:13:23 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jan 26 12:13:23 2026 -0800"
      },
      "message": "FunctionTypeExpressionNode: fix null AST node when parsing signature\n\nFalls back to getting the source locations from the definition instead (which is necessary when compiled into a SWC, since the AST nodes won\u0027t exist anymore)\n"
    },
    {
      "commit": "a6c8e592719f57d3d23e29321ac12fd3aff7ea7d",
      "tree": "dce3fd01b2ef9f0e87eabf9190ad24bc1f96f1ff",
      "parents": [
        "fd729b2cadc414fd566fd25487e127841802874c"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jan 20 15:07:44 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jan 20 15:07:44 2026 -0800"
      },
      "message": "FunctionCallEmitter: fix Vector.\u003cFoo\u003e() global function when using custom vector emulation class\n"
    },
    {
      "commit": "fd729b2cadc414fd566fd25487e127841802874c",
      "tree": "8a71bd42582aa54a48a6bd04a5227053e6fa9b2b",
      "parents": [
        "b6c05230ba98f8fff1f6dbe6525d568be4c2042a"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jan 20 14:44:41 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jan 20 14:44:41 2026 -0800"
      },
      "message": "Tests for new vector emulation options to omit element types and to use a function for literals\n"
    },
    {
      "commit": "b6c05230ba98f8fff1f6dbe6525d568be4c2042a",
      "tree": "935dcb96f829f998947f2e212fa5aa41e811df5e",
      "parents": [
        "5ef5638c54af643819c2a56d546f09bb3e0af371"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jan 20 14:22:02 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jan 20 14:29:24 2026 -0800"
      },
      "message": "AsIsEmitter: fix implicit cast to vector when using js-vector-emulation-class option\n"
    },
    {
      "commit": "5ef5638c54af643819c2a56d546f09bb3e0af371",
      "tree": "6d3439a736eb428d27c57e347356e596eee6a563",
      "parents": [
        "d22b10d088edfcff3488ddebb464c406d7adce4e"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jan 20 13:23:09 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jan 20 13:25:17 2026 -0800"
      },
      "message": "AsIsEmitter: fix (x as *) emitting Language.as(x, *) in JS, where * doesn\u0027t exist\n"
    },
    {
      "commit": "d22b10d088edfcff3488ddebb464c406d7adce4e",
      "tree": "2ffee1cf93ce0d4a88fa449a7a97239339b98ed0",
      "parents": [
        "3f764ab90ea4773beab7dd4a234d1037d2711240"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Jan 15 13:30:45 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Jan 15 13:30:45 2026 -0800"
      },
      "message": "externc: create all directories for generated .as files beforehand\n\nIn particular, duplicates needs to be created because on case-sensitive file systems, there may end up being no duplicates, like there would be on case-insensitive file systems. In royale-typedefs, node creates Buffer.as and buffer.as. On Linux, they both go into classes. On Windows and macOS, one goes into classes, and one duplicates. The configuration for the SWC compiler expects duplicates to exist because it needs to on Windows and macOS, but it didn\u0027t on Linux, breaking the SWC build.\n\nI could have created duplicates only, but it felt weird to single that one out, so I created them all. Some may be empty, but that shouldn\u0027t break anything.\n"
    },
    {
      "commit": "3f764ab90ea4773beab7dd4a234d1037d2711240",
      "tree": "0c64082dc1f44367acc3111120ce86c9e4514917",
      "parents": [
        "c8b7f353d8e6535935f8827240cb9202a7a57b4e"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Jan 14 15:47:50 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Jan 14 15:47:50 2026 -0800"
      },
      "message": "JSConfiguration: js-vector-emulation-literal-function to allow calling a function to create a Vector literal instead of the constructor\n\nA custom Vector implementation that closely follows Flash\u0027s implementation would accept length and fixed values in the constructor. However, the vector emulation class was expected to overload the constructor to accept an array for the first parameter too. That may not be possible, so a custom function to create a vector and populate it for a vector literal offers more flexibility.\n"
    },
    {
      "commit": "c8b7f353d8e6535935f8827240cb9202a7a57b4e",
      "tree": "b142223834d0141ac135da9a15b7134a65537986",
      "parents": [
        "9fdb92aae3987140a78f5609332a171b3d2490d3"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Jan 14 15:15:22 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Jan 14 15:15:22 2026 -0800"
      },
      "message": "AsIsEmitter: fix as and is when using js-vector-emulation-class\n\nWas checking against Language.synthVector() instead of the custom class\n"
    },
    {
      "commit": "9fdb92aae3987140a78f5609332a171b3d2490d3",
      "tree": "5e0ce46983879adcf27f23cd384a231e2d92e703",
      "parents": [
        "5d3b3f083c5ad549eebb5e5ef02d174fa511f189"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Jan 14 14:55:58 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Jan 14 14:55:58 2026 -0800"
      },
      "message": "JSConfiguration: js-vector-emulation-element-types option to control whether js-vector-emulation-class receives the element types as a constructor argument or not\n\nDefaults to true, to preserve existing behavior. Some Vector implementations may not need the element type, though, and they may have the original Flash Vector constructor signature instead (with length followed directly by fixed, and no additional parameters).\n"
    },
    {
      "commit": "5d3b3f083c5ad549eebb5e5ef02d174fa511f189",
      "tree": "4b7f39f5cdcfa66593646808df13c0dd704150f5",
      "parents": [
        "8d12afc4a53d4d42fe53ea96053b5c713a59971a"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jan 13 09:36:40 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jan 13 09:36:40 2026 -0800"
      },
      "message": "IdentifierNode: fix issue where asc can\u0027t compile because of dependency on RoyaleProject (closes #242)\n"
    },
    {
      "commit": "8d12afc4a53d4d42fe53ea96053b5c713a59971a",
      "tree": "5414cae0f317111cc1c7564948afeb6a02813e0b",
      "parents": [
        "60b7aa7768123223b132de9c5b1aed50721ceee5"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jan 12 16:04:13 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jan 12 16:04:13 2026 -0800"
      },
      "message": "Ant: enable assertions on junit tests\n\nMaven already enabled assertions. Best to find assertion errors without having to run both builds.\n"
    },
    {
      "commit": "60b7aa7768123223b132de9c5b1aed50721ceee5",
      "tree": "65739d83a88d306268647844402960c591ad2dad",
      "parents": [
        "ee996cd366070f992802b5c257522ecbc092d5ea"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jan 12 15:41:41 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jan 12 15:41:41 2026 -0800"
      },
      "message": "MXML HTTPService, WebService, RemoteObject: tweak some parent/child relationships to fix assertions\n"
    },
    {
      "commit": "ee996cd366070f992802b5c257522ecbc092d5ea",
      "tree": "44cdb222842d8aecf9a76b83ed970faf19b7cde3",
      "parents": [
        "6994db7c5fefe529aeb7e308d29eb61389250bf2"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jan 12 14:31:11 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jan 12 14:31:11 2026 -0800"
      },
      "message": "ASTokenFormatter, ASLinter: normalize file path and provide ASFileScope to fix assertion errors\n"
    },
    {
      "commit": "6994db7c5fefe529aeb7e308d29eb61389250bf2",
      "tree": "36d72e020b50377b5e745c767d6aad483b21cc76",
      "parents": [
        "7405d89e0f8484ab2adac6d0ae4b002cd53d5874"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jan 12 13:44:25 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Jan 12 13:44:25 2026 -0800"
      },
      "message": "ExpressionNodeBase: fix assertion error for getDependencyType() with IFunctionTypeExpressionNode\n"
    },
    {
      "commit": "7405d89e0f8484ab2adac6d0ae4b002cd53d5874",
      "tree": "d301dfe461c0d71946b94e4af85ab107404ba4ff",
      "parents": [
        "9afc9f93c9f6d158ac85750a5c842b5fbc7c88d3"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Oct 16 14:55:48 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Jan 08 16:18:50 2026 -0800"
      },
      "message": "Function type expressions: optionally specify a required function signature for variables that can store functions, and check that signature at compile-time\n\nCompiles down to the Function type, so there are no additional checks at run-time.\n\nvar f:(s:String, n?:Number, ...rest)\u003d\u003evoid;\n\nSimilar syntax to real functions. Parameters and return type are separated by the \u003d\u003e token. Optional parameters use the ? token instead of specifying a default value with \u003d and a constant. This allows functions to have different default values.\n\nIncludes various checks for valid use of the signature.\n\n- Assigning another variable that has a function type expression.\n- Assigning a real function to the variable (including arrow functions).\n- Calling the variable in a function call expression.\n\nIf an assignment includes a nested function type expression, such as a parameter or return type, that is checked too.\n"
    },
    {
      "commit": "9afc9f93c9f6d158ac85750a5c842b5fbc7c88d3",
      "tree": "14608e923666a4944df1ac5ace5038143fdb381a",
      "parents": [
        "ed97a921d80e187c36b5318cebcc452ff1139b87"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Jan 08 14:01:58 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Jan 08 14:01:58 2026 -0800"
      },
      "message": "FontEmbeddingNotSupported: restore this class, even though it is not used in the compiler anymore, because it is referenced by the as3mxml language server\n"
    },
    {
      "commit": "ed97a921d80e187c36b5318cebcc452ff1139b87",
      "tree": "df7f6a387c03c43dff50d364c71abdf967594f4c",
      "parents": [
        "ef3c6e755a896cebb697de9b70d13a75569e18ac"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jan 06 11:42:43 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Jan 08 11:56:01 2026 -0800"
      },
      "message": "Enable [Embed] for TTF/OTF fonts when targeting SWF\n\nSupports the embedded font format for flash.text.TextField. Does not support the CFF font format for Flash Text Engine, so specifying embedAsCff\u003d\"true\" will report a compile-time error.\n\nCompile-time errors will also be reported when trying to use systemFont or sourceList attributes that the Flex SDK supported. It may be possible to support them with some tweaks to the way that embedding assets in general works. It looks like a file system path is currently required, and is always derived from source at this time.\n\nBased on the JREFontManager from the Flex SDK, which uses java.awt.Font. Seems to work well with some TTF and OTF fonts that I tested.\n\nDoes not support additional, or custom, font managers.\n"
    },
    {
      "commit": "ef3c6e755a896cebb697de9b70d13a75569e18ac",
      "tree": "3484c71571c65dc393a6e06b793baea43c71ce1e",
      "parents": [
        "8965059847b27fd465aeeb1bd15813cd9582f849"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jan 06 11:02:19 2026 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Jan 06 11:02:19 2026 -0800"
      },
      "message": "FontEmbeddingNotSupported: fix typo\n"
    },
    {
      "commit": "8965059847b27fd465aeeb1bd15813cd9582f849",
      "tree": "68f6afdedb94f6f01742f7be19aae802fc704763",
      "parents": [
        "8d78181917d95c6501dc1a521fc4ce9e497492ff"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Nov 05 09:28:13 2025 -0800"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Nov 05 11:21:49 2025 -0800"
      },
      "message": "CSSTree: fix uncaught exceptions when parsing hexadecimal color values and number values by adding problems when invalid\n"
    },
    {
      "commit": "8d78181917d95c6501dc1a521fc4ce9e497492ff",
      "tree": "9bb038dd75bf02f4c6614d1e2ebeaafe12da99bf",
      "parents": [
        "c2484a6b983321341e7cc3f176ca631c63fab7a8"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Oct 29 15:56:46 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Oct 29 15:56:46 2025 -0700"
      },
      "message": "MethodBodySemanticChecker: when checking strict function types, if expected parameter is optional, actual parameter must be optional too\n"
    },
    {
      "commit": "c2484a6b983321341e7cc3f176ca631c63fab7a8",
      "tree": "a3843d832a0ee1c229852f3daee6b42221aece60",
      "parents": [
        "b8a63a8da11d43cf7339703105cfe7c6359486b5"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Oct 27 15:54:42 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Oct 27 15:54:45 2025 -0700"
      },
      "message": "MXMLScopeBuilder/MXMLFileScope: use a PackageScope as the containing scope for a type created with fx:Component\n\nThe class inside fx:Component should be able to access internal methods in the same package. This improves compatibility with the Flex SDK compiler.\n"
    },
    {
      "commit": "b8a63a8da11d43cf7339703105cfe7c6359486b5",
      "tree": "aebb53a9eb98be85d5ae773d91190c544e4e5829",
      "parents": [
        "ba1a1381d2276cf27778b3307c0067f2b1af2d6f"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Oct 27 15:54:06 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Oct 27 15:54:06 2025 -0700"
      },
      "message": "MXMLScopeBuilder: don\u0027t use a magic string for comparison, use a constant that already exists\n"
    },
    {
      "commit": "ba1a1381d2276cf27778b3307c0067f2b1af2d6f",
      "tree": "e951f202c62bb2224b37d609f2f76002f4642552",
      "parents": [
        "86fa033d62960c434d9e8e87d6bfe1fd4b147e81"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Oct 27 15:13:22 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Oct 27 15:13:22 2025 -0700"
      },
      "message": "MXMLScopeBuilder: report a problem if the className value of fx:Component is not a valid AS3 identifier\n\nIt was allowing . and other invalid characters. This improves compatibility with the Flex SDK compiler.\n"
    },
    {
      "commit": "86fa033d62960c434d9e8e87d6bfe1fd4b147e81",
      "tree": "720cf493775e7e9e561553c689ab6a5f353e9787",
      "parents": [
        "f0bf881b1291982c5aeb5ed4a6bb39426e99ac1a"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Oct 20 14:46:59 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Oct 20 14:46:59 2025 -0700"
      },
      "message": "MethodBodySemanticChecker: performance optimization to return earlier from checkFunctionTypeMeta when expectedFunctionTypeMeta is null to avoid unnecessary resolve of right expression\n"
    },
    {
      "commit": "f0bf881b1291982c5aeb5ed4a6bb39426e99ac1a",
      "tree": "5288cd1d6d463d4dc9d1a2328e883fe56de5ad2c",
      "parents": [
        "a3870b3079ac9cb133664158c8a627443e09b852"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Oct 20 14:45:35 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Oct 20 14:45:35 2025 -0700"
      },
      "message": "MethodBodySemanticChecker: added missing strict function types check for values of return statements\n"
    },
    {
      "commit": "a3870b3079ac9cb133664158c8a627443e09b852",
      "tree": "545c4865a39ca99fbf20144359e5a880f3169797",
      "parents": [
        "37f20798159ec6c354477842abf1269be187b65c"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Oct 20 08:47:50 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Oct 20 08:47:50 2025 -0700"
      },
      "message": "compiler-common: missed a guava 33.5.0-jre and failureaccess 1.0.3 for Maven\n"
    },
    {
      "commit": "37f20798159ec6c354477842abf1269be187b65c",
      "tree": "1724f2b12130ca6f2e31d62e5cb40996452c911b",
      "parents": [
        "20e76838b080081f4fbc4e328186fcb08edd0143"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Oct 15 16:05:21 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Oct 15 16:05:31 2025 -0700"
      },
      "message": "guava 33.5.0-jre and failureaccess 1.0.3\n\nFixes warning in JDK 24+ about future removal of sun.misc.Unsafe used by Guava\n"
    },
    {
      "commit": "20e76838b080081f4fbc4e328186fcb08edd0143",
      "tree": "79c8019cb0caeffc4547c37f9138a00abeecfee4",
      "parents": [
        "a8426f487c7a010a1a382ba253c135f6324e013e"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Oct 15 14:56:06 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Oct 15 14:56:06 2025 -0700"
      },
      "message": "compiler-jx: some more tests for CSS attributes\n"
    },
    {
      "commit": "a8426f487c7a010a1a382ba253c135f6324e013e",
      "tree": "12354e15983b3f16f89807780416117e13e353a4",
      "parents": [
        "1422cba7b228960bfa263cc5712b313f834a153a"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Oct 15 14:46:35 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Oct 15 14:46:35 2025 -0700"
      },
      "message": "compiler: didn\u0027t mean to commit this, it was to test a specific feature faster\n"
    },
    {
      "commit": "1422cba7b228960bfa263cc5712b313f834a153a",
      "tree": "968f960c4a82a25c62649923441108cb3daf5da1",
      "parents": [
        "6f571caff102f0d5bfecbad37ff859bd0ef1f83a"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Oct 15 13:28:49 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Oct 15 13:28:49 2025 -0700"
      },
      "message": "CSS: support more CSS pseudo-classes with arguments\n\nPreviously, we supported :not() only. Now, more functions are recognized. CSSSelectorCondition now includes optional arguments, which are null when there are no arguments, or a string when there are. ConditionType removes NOT and uses PSUEDO.\n"
    },
    {
      "commit": "6f571caff102f0d5bfecbad37ff859bd0ef1f83a",
      "tree": "19cb509af488b89bbd6a48a435f0da1418b31033",
      "parents": [
        "f2de1acef5dfa6ef6a10547cc0d53f4f75a07caa"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Oct 15 09:55:32 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Oct 15 09:55:44 2025 -0700"
      },
      "message": "CSS: move function name validation into CSSTree so that those function names may be used as identifiers\n\nCurrently, url is excluded because it has options after the arguments.\n\nIntroduces a new CSSUnknownFunctionProblem for this purpose.\n"
    },
    {
      "commit": "f2de1acef5dfa6ef6a10547cc0d53f4f75a07caa",
      "tree": "0919c20bbe8822e7edce1de7a593c69ed64d7384",
      "parents": [
        "f9af40f625bf2ce6b76e997cf9a6fbd764b3f980"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Oct 08 09:43:49 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Wed Oct 08 09:43:49 2025 -0700"
      },
      "message": "CSS: fix \u0027not\u0027 not being allowed as an identifier by moving the check for it into CSSTree with a new problem class for unknown pseudo-classes in selectors\n\nThis will also make it easier to add new pseudo-classes in the future.\n"
    },
    {
      "commit": "f9af40f625bf2ce6b76e997cf9a6fbd764b3f980",
      "tree": "c6477b82cacd8c39d9d15d760d7310dc0036d882",
      "parents": [
        "c544fdcc70ef285c0ef1ea71d42297f5d1d2e652"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Oct 07 14:56:38 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Tue Oct 07 14:56:38 2025 -0700"
      },
      "message": "CSS: make parsing of attribute selectors stricter\n\nAn operator and a value are optional, but if one exists, both must exist.\n"
    },
    {
      "commit": "c544fdcc70ef285c0ef1ea71d42297f5d1d2e652",
      "tree": "26eee9d797801f89595f6a82672dfed19be3e199",
      "parents": [
        "ca46a4fe36d03ea81f9d3111527af1962c51bbf3"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Oct 06 15:40:38 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Oct 06 15:40:53 2025 -0700"
      },
      "message": "JSCSSCompilationSession: added many more HTML elements from the specification\n"
    },
    {
      "commit": "ca46a4fe36d03ea81f9d3111527af1962c51bbf3",
      "tree": "36b96f847eb749cb8ff9f681e495aec82fee8ab4",
      "parents": [
        "3f09ebc41206a2578745e14ba6d705b7c4b3b6a2"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Oct 06 15:10:55 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Oct 06 15:11:08 2025 -0700"
      },
      "message": "JSCSSCompilationSession: improved distinction between components and HTML elements when outputting CSS\n\nFollowup to commit 3f09ebc41206a2578745e14ba6d705b7c4b3b6a2, which could incorrectly treat components in the default namespace as HTML elements.\n\nNow checks if the element name is in the known htmlElementNames list (which needs to be updated, actually), but also checks if the resolved qname contains a \".\" character, which would indicate an AS3/MXML class in a package, which is definitely not an HTML element. I added that extra check to avoid the possibility of a class name like Button possibly matching an element like \u003cbutton\u003e. I also removed the namespace prefix check I was using in that commit to allow the XHTML namespace to optionally have a prefix in the future.\n"
    },
    {
      "commit": "3f09ebc41206a2578745e14ba6d705b7c4b3b6a2",
      "tree": "0dd631389c09843d921d5c7b400d7dc6db9dcbac",
      "parents": [
        "485402cad211ab38c1836ea3917c3e64adf499af"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Sep 25 14:13:07 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Thu Sep 25 14:13:07 2025 -0700"
      },
      "message": "JSCSSCompilationSession: fix issues with generation of selectors in real .css file where parts were incorrect or missing\n"
    },
    {
      "commit": "485402cad211ab38c1836ea3917c3e64adf499af",
      "tree": "b8d4c42c6e8b2ea88f0b735d7845938b5f20e579",
      "parents": [
        "96ea15014627e6d5fbb0fef901d0e20ab6fff448"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 15 16:04:23 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 15 16:04:23 2025 -0700"
      },
      "message": "compiler-jx: add missing emit for fx:RegExp tags in MXML for JS targets\n"
    },
    {
      "commit": "96ea15014627e6d5fbb0fef901d0e20ab6fff448",
      "tree": "5b4f06055d300dd69ebab076296f7626837ff18d",
      "parents": [
        "071c9ddf7c4b6a0425e45429956b61ccab3c32ad"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 15 16:02:42 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 15 16:02:42 2025 -0700"
      },
      "message": "MXMLClassDirectiveProcessor: allow fx:RegExp declaration in MXML when targeting SWF\n"
    },
    {
      "commit": "071c9ddf7c4b6a0425e45429956b61ccab3c32ad",
      "tree": "f2593d7b2ddcb17fbed5e46c305221820b3f7abe",
      "parents": [
        "c34cb84b9c9b31ca8aac7323adc3aef1120f60dc"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 08 15:43:49 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 08 15:43:52 2025 -0700"
      },
      "message": "CSS.g: fix Decision can match input warnings for rgb() and rgba()\n\nSpecifically this warning:\n\nDecision can match input such as \"{\u0027\\t\u0027..\u0027\\n\u0027, \u0027\\r\u0027, \u0027 \u0027}\" using multiple alternatives: 1, 2\n\nIt\u0027s because it was trying to match optional whitespace immediately followed by more optional whitespace in some situations.\n"
    },
    {
      "commit": "c34cb84b9c9b31ca8aac7323adc3aef1120f60dc",
      "tree": "9cc68b5eddec3eea49a0eecca0981e3ca0abfff1",
      "parents": [
        "451d8137058ef1c6181a034687afac05d17b5a3a"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 08 15:36:38 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 08 15:36:38 2025 -0700"
      },
      "message": "maven: update antlr from 3.3 to 3.5.2 for consistency\n\nThis is a better fix than cf6bf15. antlr3-maven-plugin can\u0027t seem to handle Antlr 2 grammars, like plain old Antlr3 seems to be able to in the Ant build. So keep 2.7.7 where needed.\n"
    },
    {
      "commit": "451d8137058ef1c6181a034687afac05d17b5a3a",
      "tree": "d5c41014926696b3666c778b52c93d4c32ffd046",
      "parents": [
        "cf6bf158c01084c3b475a8022354a63fe9b28265"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 08 15:24:20 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 08 15:24:20 2025 -0700"
      },
      "message": "Revert \"maven: update from Antlr 2.7.7 and 3.3 to 3.5.2\"\n\nThis reverts commit cf6bf158c01084c3b475a8022354a63fe9b28265.\n"
    },
    {
      "commit": "cf6bf158c01084c3b475a8022354a63fe9b28265",
      "tree": "6f63e0bf46eedc0a935d73b677ee84a96cf3c4d7",
      "parents": [
        "84bb2f85df3928571e67fae3cc9827bd3e34c9ad"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 08 13:41:48 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 08 14:16:20 2025 -0700"
      },
      "message": "maven: update from Antlr 2.7.7 and 3.3 to 3.5.2\n\nThe Ant build was using antlr-complete 3.5.2 for everything. The Maven build seemed to be using a mix of 2.7.7 and 3.3, and antlr instead of antlr-complete. This brings everything in line to the same, now single, dependency.\n"
    },
    {
      "commit": "84bb2f85df3928571e67fae3cc9827bd3e34c9ad",
      "tree": "d5c41014926696b3666c778b52c93d4c32ffd046",
      "parents": [
        "11f6bd2a7d2f378743eb6ae62cbd0c41a10164b0"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 08 13:31:01 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 08 13:31:01 2025 -0700"
      },
      "message": "MXMLClassNode, MXMLFunctionNode: tweak use of assertion in getValue() to allow a null expression to return without throwing an exception\n\nThis wasn\u0027t affecting tests running in Ant, but Maven was enabling assertions, which caused tests for things like \u003cfx:Class/\u003e and \u003cfx:Function\u003e\u003c/fx:Function\u003e to fail. An assertion exception is still thrown when the expression is not null and not an IExpressionNode.\n"
    },
    {
      "commit": "11f6bd2a7d2f378743eb6ae62cbd0c41a10164b0",
      "tree": "1363b62263a607ae0670cd6ea688158f67c5bfcc",
      "parents": [
        "66cfda17ac0fe95fdcf51842f90ec69e840b1a19"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 08 09:52:31 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 08 09:55:28 2025 -0700"
      },
      "message": "more updated Flash Player projector content debugger URLs\n"
    },
    {
      "commit": "66cfda17ac0fe95fdcf51842f90ec69e840b1a19",
      "tree": "906c15e28bfd88d0fa53e38fbce5ad0d21a8c8f2",
      "parents": [
        "27199fd78bb5c0d6df5ec72e6f740286cf3d67ce"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 08 09:49:13 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 08 09:49:13 2025 -0700"
      },
      "message": "prerequisiteCheck: updated URLs for Flash Player projector content debugger\n"
    },
    {
      "commit": "27199fd78bb5c0d6df5ec72e6f740286cf3d67ce",
      "tree": "5e4320319e67b527395092a1443ad831436ad77f",
      "parents": [
        "b5a398ae06a1bd9a6d46811ae9d80f792ba2adc9"
      ],
      "author": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 08 09:25:01 2025 -0700"
      },
      "committer": {
        "name": "Josh Tynjala",
        "email": "joshtynjala@apache.org",
        "time": "Mon Sep 08 09:25:10 2025 -0700"
      },
      "message": "externc: MethodReferenca and FunctionReference should return null instead of an empty string as default value for String return type\n"
    }
  ],
  "next": "b5a398ae06a1bd9a6d46811ae9d80f792ba2adc9"
}
