)]}'
{
  "log": [
    {
      "commit": "a6ea90f6e94a5ee68f31414f05665785cf3bc75a",
      "tree": "ae1fae53c81fe0fe470cef623c7a03d8f1a2fedf",
      "parents": [
        "783b5c4a93811c209a23cd1dcff48fe51de730e4",
        "3f361971c29119190befead49e73939ac8239a55"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Mon Apr 20 13:35:06 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 20 13:35:06 2026 +0200"
      },
      "message": "Merge pull request #128 from mapeders/FREEMARKER-116-fix-beanswrapper-doc-mismatch\n\n[FREEMARKER-116] Fix mismatch between example code and explanation in BeansWrapper documentation"
    },
    {
      "commit": "3f361971c29119190befead49e73939ac8239a55",
      "tree": "ae1fae53c81fe0fe470cef623c7a03d8f1a2fedf",
      "parents": [
        "783b5c4a93811c209a23cd1dcff48fe51de730e4"
      ],
      "author": {
        "name": "madsbredholt",
        "email": "mapeders@gmail.com",
        "time": "Mon Apr 20 12:55:23 2026 +0200"
      },
      "committer": {
        "name": "madsbredholt",
        "email": "mapeders@gmail.com",
        "time": "Mon Apr 20 12:55:23 2026 +0200"
      },
      "message": "[FREEMARKER-116] Fix mismatch between example code and explanation in BeansWrapper documentation\n\nThe example retrieves statics of java.io.File, but the following\nparagraph incorrectly referred to java.lang.System. Subsequent\nexamples (File.SEPARATOR, File.listRoots()) confirm java.io.File\nis the intended class.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n"
    },
    {
      "commit": "783b5c4a93811c209a23cd1dcff48fe51de730e4",
      "tree": "e8f08e17735386db337623abb0ffdf81e6deef53",
      "parents": [
        "2f50940a5667b41d5d3ac4fe4a869d636c47cd45",
        "7f19c62abf2e69ccf48a304e85fb4c669d7ab1a9"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Apr 19 18:43:40 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 19 18:43:40 2026 +0200"
      },
      "message": "Merge pull request #126 from mapeders/FREEMARKER-209-fix-estabilished-typo\n\n[FREEMARKER-209] Fix \"estabilished\" typo in error message"
    },
    {
      "commit": "7f19c62abf2e69ccf48a304e85fb4c669d7ab1a9",
      "tree": "e8f08e17735386db337623abb0ffdf81e6deef53",
      "parents": [
        "2f50940a5667b41d5d3ac4fe4a869d636c47cd45"
      ],
      "author": {
        "name": "madsbredholt",
        "email": "mapeders@gmail.com",
        "time": "Sun Apr 19 12:51:23 2026 +0200"
      },
      "committer": {
        "name": "madsbredholt",
        "email": "mapeders@gmail.com",
        "time": "Sun Apr 19 12:51:23 2026 +0200"
      },
      "message": "[FREEMARKER-209] Fix \"estabilished\" typo in error message\n\nCorrects spelling in the naming-convention mismatch error message\nemitted by the FTL parser, and in a related code comment in the same\ntoken-manager section.\n"
    },
    {
      "commit": "2f50940a5667b41d5d3ac4fe4a869d636c47cd45",
      "tree": "d2c852a0637bf59ec33820e0861ae20cf8673faf",
      "parents": [
        "b20474eee3583bb4ba8df191e1d882e1117efc78",
        "928bd5ee54dae1ed6422615b66468847458ed726"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sat Nov 22 16:19:41 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 22 16:19:41 2025 +0100"
      },
      "message": "Merge pull request #116 from hduelme/use-isEmpty-to-check-if-string-is-empty\n\nuse isEmpty to check if string is empty"
    },
    {
      "commit": "b20474eee3583bb4ba8df191e1d882e1117efc78",
      "tree": "5742170bcb1153912af3088c50fd85f9aeb78af4",
      "parents": [
        "9468a0883e171e2612e550fdf56173451f3dc65b",
        "3e695bf03ae8c4f855856329ee63585a09b6c92a"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sat Nov 22 11:21:38 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 22 11:21:38 2025 +0100"
      },
      "message": "Merge pull request #123 from stevemcleod/fix-error-in-switch-example\n\nFixed error in docs for new switch-on syntax"
    },
    {
      "commit": "3e695bf03ae8c4f855856329ee63585a09b6c92a",
      "tree": "5742170bcb1153912af3088c50fd85f9aeb78af4",
      "parents": [
        "9468a0883e171e2612e550fdf56173451f3dc65b"
      ],
      "author": {
        "name": "Steve McLeod",
        "email": "steve.mcleod@gmail.com",
        "time": "Thu Nov 20 14:24:42 2025 +0100"
      },
      "committer": {
        "name": "Steve McLeod",
        "email": "steve.mcleod@gmail.com",
        "time": "Thu Nov 20 14:24:42 2025 +0100"
      },
      "message": "Corrected the stray usage of switch-with-case in the switch-with-on example.\n"
    },
    {
      "commit": "9468a0883e171e2612e550fdf56173451f3dc65b",
      "tree": "8e336bc6a7724412289e2bcd25412f1899128226",
      "parents": [
        "33d5094b85160c7fcc94ef6c9708c83aca161230"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu Nov 13 18:27:34 2025 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu Nov 13 18:27:34 2025 +0100"
      },
      "message": "Improved Logger javadoc.\n"
    },
    {
      "commit": "33d5094b85160c7fcc94ef6c9708c83aca161230",
      "tree": "73faffb67d1d6a7e55651f0fefeb3934906ac46d",
      "parents": [
        "2cce3b5663d96a466904ef4c86cf9f2f19d1de83"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu Nov 13 18:27:13 2025 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu Nov 13 18:27:13 2025 +0100"
      },
      "message": "GraalVM native PR followup: Moved documentation from the README into the Manual. Also reworked it.\n"
    },
    {
      "commit": "2cce3b5663d96a466904ef4c86cf9f2f19d1de83",
      "tree": "c82d4bb077c55ed5ccaad5a6bb21c02e13124006",
      "parents": [
        "37cc917eddb0b049f7eec476329690767cb885a4"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu Nov 13 18:25:44 2025 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu Nov 13 18:25:44 2025 +0100"
      },
      "message": "GraalVM native PR followup: Refactored example project:\n- Better practices in the Gradle build\n- Made java code more trivial, so it\u0027s easier to understand\n- README reworked to be more straightforward. Removed step to build FreeMarker itself (as Gradle will do that automatically anyway)\n- Use flth for HTML generation (more secure)\n"
    },
    {
      "commit": "37cc917eddb0b049f7eec476329690767cb885a4",
      "tree": "b1cd624b6ddbbd0fe28652b88c5f0df88d7fb3a0",
      "parents": [
        "54667e0c7ee0d40d710799517330db2a81d8a5ed",
        "4ad73114dcc54fc32366ba88b29068e39069d6fc"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu Nov 13 17:23:37 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 13 17:23:37 2025 +0100"
      },
      "message": "Merge pull request #121 from fugerit-org/1-add-graalvm-support-to-apache-freemarker\n\nAdded GraalVM native support to Apache FreeMarker"
    },
    {
      "commit": "4ad73114dcc54fc32366ba88b29068e39069d6fc",
      "tree": "b1cd624b6ddbbd0fe28652b88c5f0df88d7fb3a0",
      "parents": [
        "d0012c0cd448f766d9360989698b69155f28c77f"
      ],
      "author": {
        "name": "Matteo Franci a.k.a. Fugerit",
        "email": "m@fugerit.org",
        "time": "Wed May 14 00:48:10 2025 +0200"
      },
      "committer": {
        "name": "Matteo Franci a.k.a. Fugerit",
        "email": "m@fugerit.org",
        "time": "Sat Sep 27 23:46:27 2025 +0200"
      },
      "message": "GraalVM native support guide sample\n"
    },
    {
      "commit": "d0012c0cd448f766d9360989698b69155f28c77f",
      "tree": "d1c9519084f5c274c6add3f52b86f26a4f807aa3",
      "parents": [
        "91a80a72361507a9f294b2b8113f3f684de4a0dd"
      ],
      "author": {
        "name": "Matteo Franci a.k.a. Fugerit",
        "email": "m@fugerit.org",
        "time": "Tue May 13 15:01:05 2025 +0200"
      },
      "committer": {
        "name": "Matteo Franci a.k.a. Fugerit",
        "email": "m@fugerit.org",
        "time": "Sat Sep 27 23:46:27 2025 +0200"
      },
      "message": "Add GraalVM native support (reflect-config.json)\n\nTo handle LoggerFactory instances handled by reflection\n"
    },
    {
      "commit": "91a80a72361507a9f294b2b8113f3f684de4a0dd",
      "tree": "96e5fd30f02e926ffc5594bd2eb2e29c0411ce1a",
      "parents": [
        "e742a307645b4437fb01441d93b6c7f1f24b8873"
      ],
      "author": {
        "name": "Matteo Franci a.k.a. Fugerit",
        "email": "m@fugerit.org",
        "time": "Tue Apr 08 19:22:55 2025 +0200"
      },
      "committer": {
        "name": "Matteo Franci a.k.a. Fugerit",
        "email": "m@fugerit.org",
        "time": "Sat Sep 27 23:46:27 2025 +0200"
      },
      "message": "GraalVM support : added usage documentation\n"
    },
    {
      "commit": "e742a307645b4437fb01441d93b6c7f1f24b8873",
      "tree": "6b978410243e6675917695a95d50b17c7294f361",
      "parents": [
        "4634f935fc67230da2ee4cc9491d78be3312177d"
      ],
      "author": {
        "name": "Matteo Franci a.k.a. Fugerit",
        "email": "m@fugerit.org",
        "time": "Tue Jan 28 18:44:16 2025 +0100"
      },
      "committer": {
        "name": "Matteo Franci a.k.a. Fugerit",
        "email": "m@fugerit.org",
        "time": "Sat Sep 27 23:46:27 2025 +0200"
      },
      "message": "Added \u0027ubuntu-24.04-arm\u0027 os to CI matrix\n"
    },
    {
      "commit": "4634f935fc67230da2ee4cc9491d78be3312177d",
      "tree": "9cc72f4d7269fa805eeaf3244bce09bed24b6de7",
      "parents": [
        "ac935707c19e643dc0795c500d420aa8358a01e8"
      ],
      "author": {
        "name": "Matteo Franci a.k.a. Fugerit",
        "email": "m@fugerit.org",
        "time": "Tue Jan 21 22:55:12 2025 +0100"
      },
      "committer": {
        "name": "Matteo Franci a.k.a. Fugerit",
        "email": "m@fugerit.org",
        "time": "Sat Sep 27 23:46:27 2025 +0200"
      },
      "message": "Add test project for GraalVM native support + CI updated\n\nSee freemarker-test-native/README.md\n"
    },
    {
      "commit": "ac935707c19e643dc0795c500d420aa8358a01e8",
      "tree": "ae113955bae35e3a6ceacc137a8200ee50c7f711",
      "parents": [
        "54667e0c7ee0d40d710799517330db2a81d8a5ed"
      ],
      "author": {
        "name": "Matteo Franci a.k.a. Fugerit",
        "email": "m@fugerit.org",
        "time": "Sat Jan 18 02:15:07 2025 +0100"
      },
      "committer": {
        "name": "Matteo Franci a.k.a. Fugerit",
        "email": "m@fugerit.org",
        "time": "Sat Sep 27 23:46:27 2025 +0200"
      },
      "message": "Add GraalVM native support\n\nnative-image.properties (to handle initialized at runtime)\nresource-config.json (to load configuration files in resources/)\nisAutoDetected() in logger does not skip LIBRARY_SLF4J and LIBRARY_COMMONS when IS_GRAALVM_NATIVE \u003d true (anticipate FreeMarker 2.4)\n\nAdded GraalVM ready badge\n"
    },
    {
      "commit": "54667e0c7ee0d40d710799517330db2a81d8a5ed",
      "tree": "e2a277a27ded47786bd305358c023618858727fb",
      "parents": [
        "04699f0953850705baf2f46448940055ce7a3335"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Jun 22 16:58:47 2025 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Jun 22 16:58:47 2025 +0200"
      },
      "message": "(Manual: Put ® into superscript)\n"
    },
    {
      "commit": "04699f0953850705baf2f46448940055ce7a3335",
      "tree": "53eb5b0ac96556d649e0d2f0cd5a4b490dc3a02b",
      "parents": [
        "ed77bd4b618209afc22e133bed30dfa97f815fc9"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Jun 22 16:10:37 2025 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Jun 22 16:10:37 2025 +0200"
      },
      "message": "Manual: Added some markers to affect Pagefind weights\n"
    },
    {
      "commit": "ed77bd4b618209afc22e133bed30dfa97f815fc9",
      "tree": "c695e31d397055f7b960bce93e4090b9f00a319c",
      "parents": [
        "ce100025bfc7dd8d3079ca110f599f619e7e2de7"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Jun 22 16:09:27 2025 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Jun 22 16:09:27 2025 +0200"
      },
      "message": "(Minor javadoc adjustment)\n"
    },
    {
      "commit": "ce100025bfc7dd8d3079ca110f599f619e7e2de7",
      "tree": "c6ab8b506569fdc9a26e18d63c8da97193933b60",
      "parents": [
        "ce972a09ed3caa65593341c0161e91a72bfcf59b"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Jun 22 12:14:31 2025 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Jun 22 12:14:31 2025 +0200"
      },
      "message": "README: Added section about website related build tasks\n"
    },
    {
      "commit": "ce972a09ed3caa65593341c0161e91a72bfcf59b",
      "tree": "b1b8ed08bae9ba31339bc08016bba5760ed3e09c",
      "parents": [
        "a49abc81b7ba52f420f0c655d0206c54d5a05b95"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Jun 22 00:47:41 2025 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Jun 22 00:49:56 2025 +0200"
      },
      "message": "Manual: Use pagefindBasedSearch\n"
    },
    {
      "commit": "a49abc81b7ba52f420f0c655d0206c54d5a05b95",
      "tree": "9179c2a53ca104a3b1ad914a57ff2af38afcb763",
      "parents": [
        "97bc9b8570b77a7d9fc88239d5093883f3661c7c"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Mar 11 11:31:03 2025 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Mar 11 11:31:03 2025 +0100"
      },
      "message": "(Manual: Updated legal text in the footer.)\n"
    },
    {
      "commit": "97bc9b8570b77a7d9fc88239d5093883f3661c7c",
      "tree": "395f8c00aadd0f2ea185408b91b94a5aadeebe29",
      "parents": [
        "04a57e4e173d3adf33baf7e26444fcfb3b68449e"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Mon Mar 10 17:39:52 2025 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Mon Mar 10 17:39:52 2025 +0100"
      },
      "message": "(Manual: Added ®)\n"
    },
    {
      "commit": "04a57e4e173d3adf33baf7e26444fcfb3b68449e",
      "tree": "a891f3dbccdb1ad5fc5dd4571ef141c6d0ec3595",
      "parents": [
        "86455dc8fc458876df7389a983e1d650cd8a81b4"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jan 14 21:14:31 2025 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jan 14 21:15:41 2025 +0100"
      },
      "message": "Javadoc: (Typo fix)\n"
    },
    {
      "commit": "86455dc8fc458876df7389a983e1d650cd8a81b4",
      "tree": "4bb2e355b50435fdbd47bd7c0e10ecf240e6c88c",
      "parents": [
        "f2b4844edc5b7ceb12d839bff84733ad944139b1"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jan 14 21:14:13 2025 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jan 14 21:14:13 2025 +0100"
      },
      "message": "Updated version to 2.3.35-SNAPSHOT\n"
    },
    {
      "commit": "f2b4844edc5b7ceb12d839bff84733ad944139b1",
      "tree": "4e380300cdf4b9fe24ad82baed57d484761ddb10",
      "parents": [
        "6969b89c071593bf15f6ccb432a486a00b730322"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Dec 24 11:33:57 2024 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Dec 24 11:33:57 2024 +0100"
      },
      "message": "Javadoc: (Typo fix)\n"
    },
    {
      "commit": "6969b89c071593bf15f6ccb432a486a00b730322",
      "tree": "e1df308f1d19919d144faa76a21a052fccc813af",
      "parents": [
        "0c85748f0b4eee8a002b15ac4642a1f49a066631"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Dec 24 10:51:16 2024 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Dec 24 11:27:25 2024 +0100"
      },
      "message": "Javadoc: Improved Configuration documentation\n"
    },
    {
      "commit": "0c85748f0b4eee8a002b15ac4642a1f49a066631",
      "tree": "f4add8f58a1008974ef258473ad61270b07ecb13",
      "parents": [
        "3f4fda52d067ab58afe9e2ffb4e0285d37f3308d"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Dec 24 10:45:16 2024 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Dec 24 10:45:16 2024 +0100"
      },
      "message": "Javadoc: Fixed malformed HTML\n"
    },
    {
      "commit": "3f4fda52d067ab58afe9e2ffb4e0285d37f3308d",
      "tree": "48335d778f543f0481b89c51e8514beca521456a",
      "parents": [
        "46343f2b2e2b859af214915eb1c6571fe768fbf7"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Dec 24 09:56:56 2024 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Dec 24 09:56:56 2024 +0100"
      },
      "message": "Manual: Updated release date, and some more version history adjustments\n"
    },
    {
      "commit": "46343f2b2e2b859af214915eb1c6571fe768fbf7",
      "tree": "3e29971b78674f9c205aefdb6a8db2dea2dafc7a",
      "parents": [
        "e263604781736d182191f4603fad94d1333b0034"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Dec 24 09:55:57 2024 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Dec 24 09:55:57 2024 +0100"
      },
      "message": "Javadoc: Document the effect of incompatibleImprovements 2.3.34.\n"
    },
    {
      "commit": "e263604781736d182191f4603fad94d1333b0034",
      "tree": "d9c79f22ecc9d69a1dee313cbc7b5cd07e9a0fe8",
      "parents": [
        "55ffb5ef92db6560fe8af9d087660f3e9d4ca75c"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Dec 08 15:15:53 2024 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Dec 08 15:15:53 2024 +0100"
      },
      "message": "Adjusted description in the generated pom.xml\n"
    },
    {
      "commit": "55ffb5ef92db6560fe8af9d087660f3e9d4ca75c",
      "tree": "83a8b17938626e1ffa03028a03a5f63b4cce7ca0",
      "parents": [
        "69cf6165fb8be9e3306acdc74e0867891c2d3d2f"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Dec 08 14:57:57 2024 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Dec 08 14:57:57 2024 +0100"
      },
      "message": "Adjusted last merged PR: incompatibleImprovements 2.3.24 -\u003e 2.3.34. Added more JUnit tests. Updated version history.\n"
    },
    {
      "commit": "69cf6165fb8be9e3306acdc74e0867891c2d3d2f",
      "tree": "ddc87c7f86901f35d2b9fca2989d7de174dd8c84",
      "parents": [
        "aba94c0d7b4ac2fd8b78a33ce06e8c07df6743e9",
        "de37405f8e77eb111396c90298480870d40617d2"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Dec 08 14:02:13 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 08 14:02:13 2024 +0100"
      },
      "message": "Merge pull request #120 from nolaviz/sep-incompatible-improvements\n\nRe-enable bare `\u003csep\u003e` when incompatibleImprovements \u003c 2.3.34."
    },
    {
      "commit": "de37405f8e77eb111396c90298480870d40617d2",
      "tree": "ddc87c7f86901f35d2b9fca2989d7de174dd8c84",
      "parents": [
        "aba94c0d7b4ac2fd8b78a33ce06e8c07df6743e9"
      ],
      "author": {
        "name": "Alon Ziv",
        "email": "nolaviz@google.com",
        "time": "Sun Dec 08 06:32:20 2024 +0000"
      },
      "committer": {
        "name": "Alon Ziv",
        "email": "nolaviz@google.com",
        "time": "Sun Dec 08 06:32:20 2024 +0000"
      },
      "message": "Re-enable bare `\u003csep\u003e` when incompatibleImprovements \u003c 2.3.34.\n"
    },
    {
      "commit": "aba94c0d7b4ac2fd8b78a33ce06e8c07df6743e9",
      "tree": "6e4d606422423c8edff141d64c0f8851b9a5517e",
      "parents": [
        "6579c86aea7b61877b5fed4e3b90b959e1e2e4ca"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Dec 01 21:52:46 2024 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Dec 01 21:52:46 2024 +0100"
      },
      "message": "Adjusted description in POM\n"
    },
    {
      "commit": "6579c86aea7b61877b5fed4e3b90b959e1e2e4ca",
      "tree": "c212433991ded43ba9888d90ae091a8bda2f9658",
      "parents": [
        "becc837d3b0a3fa1446d61dc1e4957a194e4f9e6"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Dec 01 13:52:44 2024 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Dec 01 13:52:44 2024 +0100"
      },
      "message": "(Manual typo fix)\n"
    },
    {
      "commit": "becc837d3b0a3fa1446d61dc1e4957a194e4f9e6",
      "tree": "95266cdc787e42515895562c42677d03ddfa853b",
      "parents": [
        "19e99c6a145591f71073c0784a03bfcc9f0f6953"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Dec 01 13:49:07 2024 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Dec 01 13:49:07 2024 +0100"
      },
      "message": "Comment in gradle.properties about how to avoid modifying it\n"
    },
    {
      "commit": "19e99c6a145591f71073c0784a03bfcc9f0f6953",
      "tree": "8278d9be7efd03b67e5e17fdb5ef8445f424d8e0",
      "parents": [
        "b0d4ffdae2801d2849c98f25dc6095e1915491f8"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Dec 01 01:34:18 2024 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Dec 01 01:34:18 2024 +0100"
      },
      "message": "Updated Manual for 2.3.34 release\n"
    },
    {
      "commit": "b0d4ffdae2801d2849c98f25dc6095e1915491f8",
      "tree": "89b7c93807c997990f0fb12638670108d02b5109",
      "parents": [
        "ffd0bf4f69b7b7edd0a5233b9463e1b927312bb7"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Dec 01 01:14:16 2024 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Dec 01 01:14:16 2024 +0100"
      },
      "message": "Updated version number\n"
    },
    {
      "commit": "ffd0bf4f69b7b7edd0a5233b9463e1b927312bb7",
      "tree": "a010059434cbf7e29ae129d9bcb445ae0cf6f081",
      "parents": [
        "fdb3cee850e7b13c275864b8f0f78b5645b9a515"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sat Nov 30 20:19:43 2024 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sat Nov 30 20:19:43 2024 +0100"
      },
      "message": "Minor code cleanup for #switch/#on\n"
    },
    {
      "commit": "fdb3cee850e7b13c275864b8f0f78b5645b9a515",
      "tree": "9a063fde59388aaffe4f5cf4b049d48d86745ee6",
      "parents": [
        "578106c8792b43254595998de0a8dea6fbbc6b16"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sat Nov 30 20:14:21 2024 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sat Nov 30 20:19:25 2024 +0100"
      },
      "message": "Manual: Added GitHub PR links to 2.3.34 change log.\n"
    },
    {
      "commit": "578106c8792b43254595998de0a8dea6fbbc6b16",
      "tree": "f2298bedd3c9d7c2b20a8aa8695e3fa095b508c8",
      "parents": [
        "66c94aa7d13794106e76348691e2b9747e83f18f"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sat Nov 30 19:55:18 2024 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sat Nov 30 19:55:18 2024 +0100"
      },
      "message": "Post-merge adjustments for \"Fix sep directive in syntax A breaks templates in syntax B\": Added it to change log. Replaced JUnit test with one that covers more variations.\n"
    },
    {
      "commit": "66c94aa7d13794106e76348691e2b9747e83f18f",
      "tree": "c8a36ad3b1196b7c5b6bd758f9a80ce955d847eb",
      "parents": [
        "5d2022d50a2d9d789bd2cbf3b54a694b217376c5",
        "268f555ddfbb867c6c04d7852c53d8a8713cd7c5"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Fri Nov 29 20:50:59 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 29 20:50:59 2024 +0100"
      },
      "message": "Merge pull request #119 from binokkio/fix-sep\n\nFix sep directive in syntax A breaks templates in syntax B"
    },
    {
      "commit": "268f555ddfbb867c6c04d7852c53d8a8713cd7c5",
      "tree": "c8a36ad3b1196b7c5b6bd758f9a80ce955d847eb",
      "parents": [
        "06490152cb529c57b60ad4222418ce8f2fbbd64f"
      ],
      "author": {
        "name": "Binokkio",
        "email": "binokkio@b.nana.technology",
        "time": "Fri Nov 22 22:19:52 2024 +0100"
      },
      "committer": {
        "name": "Binokkio",
        "email": "binokkio@b.nana.technology",
        "time": "Fri Nov 22 22:19:55 2024 +0100"
      },
      "message": "Fix typo\n"
    },
    {
      "commit": "06490152cb529c57b60ad4222418ce8f2fbbd64f",
      "tree": "bd522726aa7ad99651f9b056997a63ed8763ba9b",
      "parents": [
        "5d2022d50a2d9d789bd2cbf3b54a694b217376c5"
      ],
      "author": {
        "name": "Binokkio",
        "email": "binokkio@b.nana.technology",
        "time": "Fri Nov 22 22:19:45 2024 +0100"
      },
      "committer": {
        "name": "Binokkio",
        "email": "binokkio@b.nana.technology",
        "time": "Fri Nov 22 22:19:45 2024 +0100"
      },
      "message": "Fix sep directive in syntax A breaking templates in syntax B\n"
    },
    {
      "commit": "5d2022d50a2d9d789bd2cbf3b54a694b217376c5",
      "tree": "27253ad308fcf60586ce2c397635c21a1356671c",
      "parents": [
        "ce5d8697e682f57a476eaff163b3b3b486898f16",
        "033136c4686d7436a0db49665c5d771dac33efaa"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Fri Nov 15 20:22:39 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 15 20:22:39 2024 +0100"
      },
      "message": "Merge pull request #118 from Blackman99/patch-1\n\ndocs: wrong `with_args` output"
    },
    {
      "commit": "033136c4686d7436a0db49665c5d771dac33efaa",
      "tree": "27253ad308fcf60586ce2c397635c21a1356671c",
      "parents": [
        "ce5d8697e682f57a476eaff163b3b3b486898f16"
      ],
      "author": {
        "name": "Dongsheng Zhao",
        "email": "41723543+Blackman99@users.noreply.github.com",
        "time": "Fri Nov 15 09:21:57 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 15 09:21:57 2024 +0800"
      },
      "message": "fix: with_args output"
    },
    {
      "commit": "ce5d8697e682f57a476eaff163b3b3b486898f16",
      "tree": "b46f9964efd417fca70898982cccfedb292e8da1",
      "parents": [
        "e46d3bd67e1e8f02745c8badd9922326eb21a2c9"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Fri Nov 01 10:52:00 2024 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Fri Nov 01 10:52:00 2024 +0100"
      },
      "message": "Minor cleanups related to ?trimToNull/?emptyToNull/?blankToNull\n"
    },
    {
      "commit": "e46d3bd67e1e8f02745c8badd9922326eb21a2c9",
      "tree": "799a6bcfc7b3ce8f7cf30dc10024d3d51d6214b3",
      "parents": [
        "3cca12652239a79dc465f5e2b28c1ad43967c5bb"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu Oct 31 08:28:30 2024 +0100"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu Oct 31 08:28:30 2024 +0100"
      },
      "message": "(Manual typo fix)\n"
    },
    {
      "commit": "3cca12652239a79dc465f5e2b28c1ad43967c5bb",
      "tree": "dc82410147a0dba8e96bb557ec325ae29b87a207",
      "parents": [
        "fe671f225e59a2549ac71bfdf6d8962f8426699a"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu Sep 19 11:55:47 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu Sep 19 11:56:03 2024 +0200"
      },
      "message": "Github actions: Updated even more actions\n"
    },
    {
      "commit": "fe671f225e59a2549ac71bfdf6d8962f8426699a",
      "tree": "964b8c2e8e00047fd7a8367ee004ee67f212a612",
      "parents": [
        "6d73c193401d5df60b560850ecdad81804d0ae61",
        "304ca67ac4c92ef229fff8107e110afd977c9e3d"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu Sep 19 11:32:01 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 19 11:32:01 2024 +0200"
      },
      "message": "Merge pull request #117 from Swilvan/2.3-gae\n\nFix typo in docs"
    },
    {
      "commit": "6d73c193401d5df60b560850ecdad81804d0ae61",
      "tree": "891deb13a2e3b1186fbe75e46ec419317d54afeb",
      "parents": [
        "7d9f5e57567d32f755e1e4767d7b922e4ce98169"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu Sep 19 11:30:21 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu Sep 19 11:30:21 2024 +0200"
      },
      "message": "Github actions: Updated from unsupported actions/upload-artifact version\n"
    },
    {
      "commit": "304ca67ac4c92ef229fff8107e110afd977c9e3d",
      "tree": "5dd5c0433f32a3f87c9dd6b92597b7bce8c70ef7",
      "parents": [
        "7d9f5e57567d32f755e1e4767d7b922e4ce98169"
      ],
      "author": {
        "name": "Silvan van Leeuwen",
        "email": "silvansmeel@gmail.com",
        "time": "Thu Sep 19 07:33:34 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 19 07:33:34 2024 +0200"
      },
      "message": "Fix typo in docs"
    },
    {
      "commit": "928bd5ee54dae1ed6422615b66468847458ed726",
      "tree": "ece3db7e574a0fa77dd22155014fb819098d233d",
      "parents": [
        "30a6e3297a77ebdebef8c896ab5b565f8679e2a2"
      ],
      "author": {
        "name": "hduelme",
        "email": "hduelme@gmx.de",
        "time": "Wed Sep 04 20:46:23 2024 +0200"
      },
      "committer": {
        "name": "hduelme",
        "email": "hduelme@gmx.de",
        "time": "Wed Sep 04 20:46:23 2024 +0200"
      },
      "message": "use isEmpty to check if string is empty\n"
    },
    {
      "commit": "7d9f5e57567d32f755e1e4767d7b922e4ce98169",
      "tree": "73be2b8fe564a7650a683cc82fc799c04da30340",
      "parents": [
        "7a429fe77156a73ed31d09cf2dac09d53f2a4bc9"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed Aug 28 19:43:17 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed Aug 28 19:43:17 2024 +0200"
      },
      "message": "#switch #on PR post-merge adjustments:\n\n- Reorganized how #case/#on/#default is parsed in JavaCC, mostly to achieve better error messages (also I guess it\u0027s also easier to follow).\n- Reorganized SwitchBlock to branch out for the #switch+#case and the #switch+#on logic earlier (less checks on runtime, also maybe easier to follow).\n- Adjusted error message wording\n- Added much more test cases\n- Manual updates for #on, and added version history entry\n"
    },
    {
      "commit": "7a429fe77156a73ed31d09cf2dac09d53f2a4bc9",
      "tree": "ed37d93e86cbfada877426a89fa01165dd740475",
      "parents": [
        "30a6e3297a77ebdebef8c896ab5b565f8679e2a2",
        "7c802f4757938ae25ec4b53ff838702f35b77468"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed Aug 28 19:41:19 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 28 19:41:19 2024 +0200"
      },
      "message": "Merge pull request #114 from scrhartley/switch-on\n\nAdd on directive to switch as an alternative to case"
    },
    {
      "commit": "30a6e3297a77ebdebef8c896ab5b565f8679e2a2",
      "tree": "633471b47056a26d8fa1e3559fdba3e3dd0c0f86",
      "parents": [
        "dda4fafc8340c09d841f5d2f9f4e9a54bb753a99",
        "fb80ca9c2fe84dc0e12b5dbf58a26e874068a427"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu Aug 22 00:03:19 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 22 00:03:19 2024 +0200"
      },
      "message": "Merge pull request #112 from timlueg/2.3-gae\n\nAvoid unnecessary Pattern.compile calls in MemberSelector"
    },
    {
      "commit": "dda4fafc8340c09d841f5d2f9f4e9a54bb753a99",
      "tree": "6275222e6d977a9bd5a203c63456b401bf721eab",
      "parents": [
        "e3258943d231ab7afc39761b3c33c23034bbc180",
        "213cba6e4041dd7ca646d9ac18ff463bb858b22a"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu Aug 22 00:01:15 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 22 00:01:15 2024 +0200"
      },
      "message": "Merge pull request #108 from hduelme/use-StandardCharsets-instead-of-string\n\nuse StandardCharsets instead of string"
    },
    {
      "commit": "e3258943d231ab7afc39761b3c33c23034bbc180",
      "tree": "4d94e138edf093ecb72421e97c08f2ad1ab4cdce",
      "parents": [
        "943c9b6030dd1e8e70db6a12a9c1a95b46e31e86"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed Aug 21 09:25:43 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed Aug 21 09:25:43 2024 +0200"
      },
      "message": "Version number fixes/adjustments\n"
    },
    {
      "commit": "943c9b6030dd1e8e70db6a12a9c1a95b46e31e86",
      "tree": "11d7d16500c557ba617e8bd97131d0f53449985a",
      "parents": [
        "be043eccbd0e8c9ddcfb1d66bfa14e96c3f6dde6"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed Aug 14 02:17:03 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed Aug 14 02:41:12 2024 +0200"
      },
      "message": "Refinements for blank_to_null, empty_to_null, and trim_to_null built-ins PR:\n- ?blank_to_null now also considers non-breaking whitespace as whitespace\n- Fixed type error messages, and added tests for the same\n- Added tests for type conversions\n- Added tests for parentheses behavior\n- Extended/reworked documentation (also added to version history)\n- Various smaller code cleanup\n"
    },
    {
      "commit": "be043eccbd0e8c9ddcfb1d66bfa14e96c3f6dde6",
      "tree": "2083e70df2021936abb65813fcb3bf7846b6749a",
      "parents": [
        "d03f7f79b0e2ebdfa6586a196c3afc80f0511dec",
        "1836779d8490de345c23cdc305566fed97f57c58"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Aug 13 22:03:08 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 13 22:03:08 2024 +0200"
      },
      "message": "Merge pull request #111 from chrisrueger/add-is_blank-builtin-for-string\n\nAdd blank_to_null, empty_to_null, and trim_to_null built-ins"
    },
    {
      "commit": "1836779d8490de345c23cdc305566fed97f57c58",
      "tree": "2083e70df2021936abb65813fcb3bf7846b6749a",
      "parents": [
        "5708060557a1c813651de0fdb62bda29a5c20fc7",
        "d03f7f79b0e2ebdfa6586a196c3afc80f0511dec"
      ],
      "author": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Sat Aug 10 20:45:39 2024 +0200"
      },
      "committer": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Sat Aug 10 20:45:39 2024 +0200"
      },
      "message": "Merge remote-tracking branch \u0027upstream/2.3-gae\u0027 into add-is_blank-builtin-for-string\n"
    },
    {
      "commit": "5708060557a1c813651de0fdb62bda29a5c20fc7",
      "tree": "62c903f7d710a776ad0a830f64e73e8da9379d4d",
      "parents": [
        "fa05011cf91c88770cacb7dd207953350516bb5d"
      ],
      "author": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Sat Aug 10 20:45:21 2024 +0200"
      },
      "committer": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Sat Aug 10 20:45:21 2024 +0200"
      },
      "message": "mention and link missing value operator\n"
    },
    {
      "commit": "fa05011cf91c88770cacb7dd207953350516bb5d",
      "tree": "6b1043fe6be05d0ea91479fecb6375a9a4523c0d",
      "parents": [
        "dfad8694a10e64964bcb7bf67ccaa29f7ea49674"
      ],
      "author": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Sat Aug 10 20:40:19 2024 +0200"
      },
      "committer": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Sat Aug 10 20:40:19 2024 +0200"
      },
      "message": "add to alphabetical index\n"
    },
    {
      "commit": "dfad8694a10e64964bcb7bf67ccaa29f7ea49674",
      "tree": "dad3e46926aa40597c1d0c3b97a8ca7ae8772a7f",
      "parents": [
        "501b89341ce47f3511146ec5338e51038089af58"
      ],
      "author": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Sat Aug 10 20:33:19 2024 +0200"
      },
      "committer": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Sat Aug 10 20:33:19 2024 +0200"
      },
      "message": "manual for trim_to_null and empty_to_null\n"
    },
    {
      "commit": "501b89341ce47f3511146ec5338e51038089af58",
      "tree": "a644ea6e389a60c9b664dcbe73e3f3d62acad1b0",
      "parents": [
        "27f33c83a3bc1172fb5ddfbce9eb32b2f895831f"
      ],
      "author": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Sat Aug 10 20:24:02 2024 +0200"
      },
      "committer": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Sat Aug 10 20:24:02 2024 +0200"
      },
      "message": "add manual for ?blank_to_null\n"
    },
    {
      "commit": "d03f7f79b0e2ebdfa6586a196c3afc80f0511dec",
      "tree": "0bf5652d3bbffa39d99e444d0eeb13adc0c93750",
      "parents": [
        "3f2d64309e1114b2adad3abf355711c6b59d1643"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Aug 04 22:42:33 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Aug 04 22:42:33 2024 +0200"
      },
      "message": "Build: Some build cleanup, and documentation regarding static linking to _Java9Impl/_Java16Impl using the multi-release JAR format.\n"
    },
    {
      "commit": "3f2d64309e1114b2adad3abf355711c6b59d1643",
      "tree": "07e986cdf5ecd12cdeadec6737693d479ef704fe",
      "parents": [
        "f292ff3f42eaca823e96e8fdffb3d7bdaecd3ca8"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Fri Aug 02 00:33:17 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Fri Aug 02 00:42:40 2024 +0200"
      },
      "message": "Build: test task to always use the jar, as \"JEP 238: Multi-Release JAR Files\" doesn\u0027t work otherwise\n"
    },
    {
      "commit": "27f33c83a3bc1172fb5ddfbce9eb32b2f895831f",
      "tree": "891c6b5898df216f84a5fd59c3f8af9fd742515a",
      "parents": [
        "ee239a7fddc427091cc6c3d47b14c90f9b6c663d"
      ],
      "author": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Mon Jul 29 16:13:23 2024 +0200"
      },
      "committer": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Mon Jul 29 16:13:23 2024 +0200"
      },
      "message": "add ?trim_to_null and ?empty_to_null\n"
    },
    {
      "commit": "ee239a7fddc427091cc6c3d47b14c90f9b6c663d",
      "tree": "0f2deb2ebf681dcb57232f4cac9c62ec2beea336",
      "parents": [
        "fe9f0a5b4821376b003f57f8034fef53e92542f8"
      ],
      "author": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Sun Jul 28 21:19:42 2024 +0200"
      },
      "committer": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Sun Jul 28 21:20:24 2024 +0200"
      },
      "message": "implement ?blank_to_null instead of ?is_blank\n\nit returns null if the expression is null, empty or only whitespace, so any default-value mechanism like \"!\" can be used.\n\nas per discussion in https://github.com/apache/freemarker/pull/111\n"
    },
    {
      "commit": "fb80ca9c2fe84dc0e12b5dbf58a26e874068a427",
      "tree": "90bd1249fba70f18b41b109e71a56c7797e51d43",
      "parents": [
        "ec3fd7c96c038f5b814df11b2ebd222dc5258a15"
      ],
      "author": {
        "name": "timlueg",
        "email": "7452348+timlueg@users.noreply.github.com",
        "time": "Sat Jul 27 13:29:25 2024 +0200"
      },
      "committer": {
        "name": "timlueg",
        "email": "7452348+timlueg@users.noreply.github.com",
        "time": "Sat Jul 27 13:29:25 2024 +0200"
      },
      "message": "Compile regex for cleanStr only once\n"
    },
    {
      "commit": "fe9f0a5b4821376b003f57f8034fef53e92542f8",
      "tree": "7acd255ca8da3723ccd0bc3cbb55f9dd211c8dfb",
      "parents": [
        "3899be7fd3c60ce4a98b72d47bee28ee9e5c2234"
      ],
      "author": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Fri Jul 26 11:23:09 2024 +0200"
      },
      "committer": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Fri Jul 26 11:23:09 2024 +0200"
      },
      "message": "move tests to java\n"
    },
    {
      "commit": "3899be7fd3c60ce4a98b72d47bee28ee9e5c2234",
      "tree": "69e453b831741f1654b92b3b80b55572ba857258",
      "parents": [
        "ae5aacad1d14a59ffb61043432a72302407014aa"
      ],
      "author": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Fri Jul 26 10:59:16 2024 +0200"
      },
      "committer": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Fri Jul 26 10:59:16 2024 +0200"
      },
      "message": "change implementation\n"
    },
    {
      "commit": "ae5aacad1d14a59ffb61043432a72302407014aa",
      "tree": "3d40c743e736ac6d2e16fa1b04eaa0be581b4500",
      "parents": [
        "dde131eb277272e2a37fcd2fdd74e5f050b7ee10"
      ],
      "author": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Fri Jul 26 10:58:53 2024 +0200"
      },
      "committer": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Fri Jul 26 10:58:53 2024 +0200"
      },
      "message": "fix NUMBER_OF_BIS to 298\n"
    },
    {
      "commit": "dde131eb277272e2a37fcd2fdd74e5f050b7ee10",
      "tree": "6ee414d8aa914e0658b12d310ce8189d71b143fa",
      "parents": [
        "be3490d047e389e815d6083dcebc812db2cdce5f"
      ],
      "author": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Fri Jul 26 10:38:21 2024 +0200"
      },
      "committer": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Fri Jul 26 10:38:21 2024 +0200"
      },
      "message": "add testcase\n"
    },
    {
      "commit": "be3490d047e389e815d6083dcebc812db2cdce5f",
      "tree": "4c1b66437a1148fcd9b67c1658564a9b32d5abcd",
      "parents": [
        "ec3fd7c96c038f5b814df11b2ebd222dc5258a15"
      ],
      "author": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Fri Jul 26 10:15:12 2024 +0200"
      },
      "committer": {
        "name": "Christoph Rueger",
        "email": "chrisrueger@gmail.com",
        "time": "Fri Jul 26 10:15:12 2024 +0200"
      },
      "message": "add ?is_blank builtin for Strings\n\nreturns true if string is null, empty or contains only whitespaces.\n"
    },
    {
      "commit": "f292ff3f42eaca823e96e8fdffb3d7bdaecd3ca8",
      "tree": "3702285c1e07ff56942afafc7727fbfe52f1fb36",
      "parents": [
        "ec3fd7c96c038f5b814df11b2ebd222dc5258a15"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jun 04 09:05:52 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jul 09 23:35:54 2024 +0200"
      },
      "message": "Statically linked JavaNImpl classes, utilizing \"JEP 238: Multi-Release JAR Files\"\n"
    },
    {
      "commit": "ec3fd7c96c038f5b814df11b2ebd222dc5258a15",
      "tree": "e490386a7f69bf704512e8715574a2aed9f8bfea",
      "parents": [
        "ebb38fffb7cf8afd1e29f62c7ef646551be9f203"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jul 09 18:16:38 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jul 09 19:28:05 2024 +0200"
      },
      "message": "Corrected/improved Javadoc related to classicCompatible mode. Fixed issue where setClassicCompatibleAsInt did not mirror the value change in the Properties object. Added more tests for classicCompatible\u003dtrue behavior. Some minor code cleanup (simplifications allowed by newer Java versions).\n"
    },
    {
      "commit": "ebb38fffb7cf8afd1e29f62c7ef646551be9f203",
      "tree": "18b7d00b547b76667e77d3c505815006454a9a11",
      "parents": [
        "f35e19eaa143271595d517990bc189396f221d81"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Mon Jul 08 23:58:42 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jul 09 00:01:11 2024 +0200"
      },
      "message": "FREEMARKER-227: Fixed bug, where if classic_compatible mode was true (rarely used), then sequence built-ins, like seq?seq_contains(value), has failed with NullPointerException if values of incompatible types had to be compared. The intended behavior is to convert the values to string, and then compare them (to mimic the behavior of FreeMarker 1.x).\n"
    },
    {
      "commit": "f35e19eaa143271595d517990bc189396f221d81",
      "tree": "cbec97126260d6b64a164f84f68e10b5b3a225f5",
      "parents": [
        "8d52bc8115b7e58a01f6c4152dbd1dfa84e1ee75"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed Jun 05 17:31:29 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed Jun 05 17:31:29 2024 +0200"
      },
      "message": "README: Java 17 is needed instead of 16 at some places\n"
    },
    {
      "commit": "8d52bc8115b7e58a01f6c4152dbd1dfa84e1ee75",
      "tree": "60e8d396e8abdd99b5a02472c8ab9e7651c0d781",
      "parents": [
        "29bb7bbde705eed096031ba9d7b3a32340f100ca"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jun 04 21:04:46 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jun 04 21:04:46 2024 +0200"
      },
      "message": "Build: RAT Xalan dependency not needed anymore, as docgen now pulls in the missing 2.7.3 dependency\n"
    },
    {
      "commit": "29bb7bbde705eed096031ba9d7b3a32340f100ca",
      "tree": "dfe3e070070e4fd6d88e1173bcd5c12b82261eb6",
      "parents": [
        "fa7e00932cb8c25ec7cf3eb454be2a76ba2bdef4"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jun 04 20:20:35 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jun 04 20:22:01 2024 +0200"
      },
      "message": "Manual: Version history update\n"
    },
    {
      "commit": "fa7e00932cb8c25ec7cf3eb454be2a76ba2bdef4",
      "tree": "4f2820d7e5a6e9e750e19d7864bde6731cad343f",
      "parents": [
        "cb65493689936273b65f6c3124e2147197de801d",
        "ef7b05d6aaeac4c6d636a618fdb20bd772f14b86"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jun 04 19:08:14 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jun 04 19:08:14 2024 +0200"
      },
      "message": "Merge branch \u00272.3.33-maintenance\u0027 into 2.3-gae\n"
    },
    {
      "commit": "ef7b05d6aaeac4c6d636a618fdb20bd772f14b86",
      "tree": "b35505f799dd42de61ca8b12e3217ff79e1b4916",
      "parents": [
        "b448ea65a4d9288508751a20c7840d6eac64840e"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jun 04 18:58:37 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jun 04 18:58:37 2024 +0200"
      },
      "message": "Converted package.html-s to package-info.java-s, as otherwise they were missing from the javadoc output in the new build.\n"
    },
    {
      "commit": "cb65493689936273b65f6c3124e2147197de801d",
      "tree": "c9a287ef11fb71043f5ee2f274af04aa93ff7a26",
      "parents": [
        "f2094c24ede8f082fbacb76ca415df29c097020a"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jun 04 00:09:20 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jun 04 00:09:20 2024 +0200"
      },
      "message": "Updated to docgen to 0.0.3-SNAPSHOT\n"
    },
    {
      "commit": "f2094c24ede8f082fbacb76ca415df29c097020a",
      "tree": "337d7257a4ff228891b06c2a0458a4e50836c10c",
      "parents": [
        "136f131cec44a9ad96fffb383c7f36295cdbba02"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jun 04 00:06:03 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jun 04 00:08:09 2024 +0200"
      },
      "message": "Updated version to 2.3.34-SNAPSHOT\n"
    },
    {
      "commit": "136f131cec44a9ad96fffb383c7f36295cdbba02",
      "tree": "82539f1b456cb3b7ab87896311b0a2fd98de6917",
      "parents": [
        "b448ea65a4d9288508751a20c7840d6eac64840e",
        "4ef7a3c720c776c630fac05b99d6114483223069"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Tue Jun 04 00:07:43 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 04 00:07:43 2024 +0200"
      },
      "message": "Merge pull request #110 from kelemen/multi-release-jar\n\nCreating multi release jar"
    },
    {
      "commit": "4ef7a3c720c776c630fac05b99d6114483223069",
      "tree": "82539f1b456cb3b7ab87896311b0a2fd98de6917",
      "parents": [
        "7f935b589c1c029a90c6818819e4880ae9271c1f"
      ],
      "author": {
        "name": "Attila Kelemen",
        "email": "attila.kelemen85@gmail.com",
        "time": "Mon Jun 03 22:34:49 2024 +0200"
      },
      "committer": {
        "name": "Attila Kelemen",
        "email": "attila.kelemen85@gmail.com",
        "time": "Mon Jun 03 22:34:49 2024 +0200"
      },
      "message": "Added `testWithJar` tasks to test against the multi release jar. The other tests are kept as well to avoid complications and to allow for faster test runs when just checking a particular class (or source set).\n"
    },
    {
      "commit": "7f935b589c1c029a90c6818819e4880ae9271c1f",
      "tree": "312a1f2c1fc055ae3d268e1a7268e1d3f5dce7fa",
      "parents": [
        "b448ea65a4d9288508751a20c7840d6eac64840e"
      ],
      "author": {
        "name": "Attila Kelemen",
        "email": "attila.kelemen85@gmail.com",
        "time": "Mon Jun 03 18:32:17 2024 +0200"
      },
      "committer": {
        "name": "Attila Kelemen",
        "email": "attila.kelemen85@gmail.com",
        "time": "Mon Jun 03 21:47:47 2024 +0200"
      },
      "message": "Creating multi release jar instead of just mixing classes compiled by different versions of javac.\n\nNote: bnd had to be updated to add support for this, and the new bnd requires JDK 17. So, now the minimum JDK required to run the build is 17.\n\nAlso rat was updated and new xalan dependencies were added (this was forced on us by the bnd update).\n"
    },
    {
      "commit": "b448ea65a4d9288508751a20c7840d6eac64840e",
      "tree": "cb46e2f5c05ec983d8e3929ea645b9aa4036e05b",
      "parents": [
        "2a50e0f124e01b18d2f8dbd197c13c320d2dbc87"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Jun 02 14:03:11 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun Jun 02 14:03:24 2024 +0200"
      },
      "message": "Manual: Updated release date\n"
    },
    {
      "commit": "2a50e0f124e01b18d2f8dbd197c13c320d2dbc87",
      "tree": "debba48bad630757501580b8d1b61425eb11982a",
      "parents": [
        "cf3da59be93ac05de5ceb556c94499b296553509",
        "b9bc9192f7a90e26e307bce2651f18734e02acd9"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Sun May 12 10:22:36 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 12 10:22:36 2024 +0200"
      },
      "message": "Merge pull request #109 from Attacktive/2.3-gae\n\ndocs: correct typos"
    },
    {
      "commit": "cf3da59be93ac05de5ceb556c94499b296553509",
      "tree": "19fa885f9d0611c3dd612ff7edabc7aa1af832be",
      "parents": [
        "05cc25c1df43b0bf65620d69fc95125966292bb7"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu May 09 01:03:05 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu May 09 01:03:37 2024 +0200"
      },
      "message": "Manual: Fixed release date. README: minor typo\n"
    },
    {
      "commit": "05cc25c1df43b0bf65620d69fc95125966292bb7",
      "tree": "f1d3e9cf2cdf7bd1628c5fc19735ba7352fb70ba",
      "parents": [
        "8a22785685891fcca6101722bc36d8c008b03d37"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu May 09 00:16:17 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Thu May 09 00:16:17 2024 +0200"
      },
      "message": "Build fixes: source package build has failed\n"
    },
    {
      "commit": "8a22785685891fcca6101722bc36d8c008b03d37",
      "tree": "0c5c03fcb6c72739dac5ca314320c5efcc7afaeb",
      "parents": [
        "81dbe9e37a66eefe21b3ee1e7047a0ab7449b189"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed May 08 23:37:03 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed May 08 23:39:23 2024 +0200"
      },
      "message": "Added release date\n"
    },
    {
      "commit": "81dbe9e37a66eefe21b3ee1e7047a0ab7449b189",
      "tree": "485ac9bc1123f89358f8890eacc278ac37c10fbe",
      "parents": [
        "6ae81c7162ce8f1e3f1c98e76f1bf1b20c9bf3c4"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed May 08 23:36:22 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed May 08 23:36:22 2024 +0200"
      },
      "message": "Set version number 2.3.33 (not SNAPSHOT anymore)\n"
    },
    {
      "commit": "6ae81c7162ce8f1e3f1c98e76f1bf1b20c9bf3c4",
      "tree": "ef8af8fb0f0b85b076c2d24bc458631316dac196",
      "parents": [
        "e55ff1e745ebc14c494cd372d58ad349bac00222"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed May 08 23:35:11 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed May 08 23:35:11 2024 +0200"
      },
      "message": "README markdown fix\n"
    },
    {
      "commit": "e55ff1e745ebc14c494cd372d58ad349bac00222",
      "tree": "ccce25dcf39e17d7578cf05198cc585644757c1d",
      "parents": [
        "68e95a39d2794d27510e304077f6fb5e414b4ed6"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed May 08 22:47:12 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed May 08 22:47:12 2024 +0200"
      },
      "message": "Minor javadoc fix in TemplateProcessingTracer\n"
    },
    {
      "commit": "68e95a39d2794d27510e304077f6fb5e414b4ed6",
      "tree": "4328e9062403d80fd381cfa6222634ef04c741eb",
      "parents": [
        "bf5e0b0a60f5cfe2a5c3ab350beb96b1da785a23"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed May 08 18:31:05 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed May 08 18:31:05 2024 +0200"
      },
      "message": "Updated README.md, mostly to describe Gradle build better.\n"
    },
    {
      "commit": "bf5e0b0a60f5cfe2a5c3ab350beb96b1da785a23",
      "tree": "a00341955a654aefec53482ba9955605f7d3b3ca",
      "parents": [
        "5afeb9a12b874cf51fbf7723797244e183d545c5"
      ],
      "author": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed May 08 18:23:34 2024 +0200"
      },
      "committer": {
        "name": "ddekany",
        "email": "ddekany@apache.org",
        "time": "Wed May 08 18:30:20 2024 +0200"
      },
      "message": "Renamed some ZeroArgumentNonVoidMethodPolicy-es to reflect the meaning more precisely (on the expense of having really long enum names):\n- BOTH_PROPERTY_AND_METHOD to BOTH_METHOD_AND_PROPERTY_UNLESS_BEAN_PROPERTY_READ_METHOD\n- PROPERTY_ONLY to PROPERTY_ONLY_UNLESS_BEAN_PROPERTY_READ_METHOD\nThis way it\u0027s now also true that the ZeroArgumentNonVoidMethodPolicy just specifies \"How to show 0 argument non-void public methods to templates\", as not all the exceptions related to Java Beans are described for the enum values.\n"
    }
  ],
  "next": "5afeb9a12b874cf51fbf7723797244e183d545c5"
}
