)]}'
{
  "log": [
    {
      "commit": "dc81157f826649b6084d968689f623ce41a1b46c",
      "tree": "116f46d6cdbbcdaba1cbcdedf7aac99987d55839",
      "parents": [
        "983035c1799ae985b6dbcac5320de4b8a866819f"
      ],
      "author": {
        "name": "Leona Yoda",
        "email": "yodal@oss.nttdata.com",
        "time": "Sat Dec 02 11:55:23 2023 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 01 21:55:23 2023 -0500"
      },
      "message": "[FLINK-33711] Fix numbers of field  of the taxi event / Fix broken link (#66)\n\n* fix number of fields of the taxi ride event\r\n\r\n* fix broken link (use-taxi-data-streams)\r\n\r\n---------\r\n\r\nCo-authored-by: Leona Yoda \u003cyodamon@apache.org\u003e"
    },
    {
      "commit": "983035c1799ae985b6dbcac5320de4b8a866819f",
      "tree": "fbf0a1c92af057055f664b4073e551929f5ab8fb",
      "parents": [
        "0f486f2ed10f6786444eb792f42c81f133a376a5"
      ],
      "author": {
        "name": "Yun Tang",
        "email": "myasuka@live.com",
        "time": "Mon May 15 15:48:21 2023 +0800"
      },
      "committer": {
        "name": "Yun Tang",
        "email": "myasuka@live.com",
        "time": "Mon May 15 16:34:47 2023 +0800"
      },
      "message": "[FLINK-32096] Upgrade to flink-1.17 version\n"
    },
    {
      "commit": "0f486f2ed10f6786444eb792f42c81f133a376a5",
      "tree": "f3e606e81cf53d8885478bc01a6799707d088451",
      "parents": [
        "188f865c62599ad92d538e5fbf7b1dc9a94d8f41"
      ],
      "author": {
        "name": "Yuxin Tan",
        "email": "tanyuxinwork@gmail.com",
        "time": "Thu Jan 05 11:04:29 2023 +0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Fri Feb 03 14:50:16 2023 -0800"
      },
      "message": "[FLINK-30563] Update to Flink 1.16\n"
    },
    {
      "commit": "188f865c62599ad92d538e5fbf7b1dc9a94d8f41",
      "tree": "2b55fd95afdb41bb2ae6f1f4648d06299b47b850",
      "parents": [
        "05791e55ad7ff0358b5c57ea8f40eada4a1f626a"
      ],
      "author": {
        "name": "Chesnay Schepler",
        "email": "chesnay@apache.org",
        "time": "Thu Jan 26 11:58:51 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 26 11:58:51 2023 +0100"
      },
      "message": "[FLINK-30717][ci] Migrate to GitHub Actions\n\n"
    },
    {
      "commit": "05791e55ad7ff0358b5c57ea8f40eada4a1f626a",
      "tree": "a29bb9a6cbabec9376977dd4067385640665ae59",
      "parents": [
        "aca6c47b79d486eb38969492c7e2dc8cb200d146"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Apr 22 11:42:09 2022 +0200"
      },
      "committer": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Thu Apr 28 10:56:14 2022 +0200"
      },
      "message": "[FLINK-27353] Update to Flink 1.15\n"
    },
    {
      "commit": "aca6c47b79d486eb38969492c7e2dc8cb200d146",
      "tree": "c33b34957d385a0d131e26b4edb93fad1d21aa5b",
      "parents": [
        "108c8b35dc294c511dc5e57b500d4641d89752ee"
      ],
      "author": {
        "name": "T.C",
        "email": "tonny_1983@hotmail.com",
        "time": "Fri Apr 22 17:09:26 2022 +0800"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Apr 22 11:18:02 2022 +0200"
      },
      "message": "[FLINK-26382] Add Chinese documents for flink-training exercises (#46)\n\nCo-authored-by: Victor Xu \u003cvictor.unique@gmail.com\u003e\nCo-authored-by: Nico Kruber \u003cnico@ververica.com\u003e\n"
    },
    {
      "commit": "108c8b35dc294c511dc5e57b500d4641d89752ee",
      "tree": "c92207ac21a5be4816f00a264e3b971fbaa7c94d",
      "parents": [
        "bc18cea87ef713fb8e103751c588b0703b08ee22"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Wed Apr 20 12:31:38 2022 +0200"
      },
      "committer": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Thu Apr 21 12:04:45 2022 +0200"
      },
      "message": "[FLINK-27322][gradle] spotless apply (adding license headers)\n"
    },
    {
      "commit": "bc18cea87ef713fb8e103751c588b0703b08ee22",
      "tree": "08bc753deb8d5be6f41498b64996506ed1ae9b2e",
      "parents": [
        "a47f38e7b3e7fe0e1bf372d97852da3b997df461"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Wed Apr 20 12:24:39 2022 +0200"
      },
      "committer": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Thu Apr 21 12:04:45 2022 +0200"
      },
      "message": "[FLINK-27322][gradle] add spotless license header checks for *.md, *.gradle, and Java files\n"
    },
    {
      "commit": "a47f38e7b3e7fe0e1bf372d97852da3b997df461",
      "tree": "a46f7e2cef320d1a1d1ab549b4d911259c95e634",
      "parents": [
        "28aa5d8114f7713097379ed02eade15dbe977e8e"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Wed Apr 20 12:23:11 2022 +0200"
      },
      "committer": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Thu Apr 21 12:04:45 2022 +0200"
      },
      "message": "[FLINK-27322][gradle] update spotless plugin and format scala headers with a blank line after the license\n\nThe previous version of the plugin didn\u0027t support this style of formatting.\nNow, we are more in line with the Java formatting.\n"
    },
    {
      "commit": "28aa5d8114f7713097379ed02eade15dbe977e8e",
      "tree": "a2a80d8716f359fef7af1969e1cdd01ecc0d2c98",
      "parents": [
        "9c25c54a73578b24b15e9c52e28740460a687f93"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Wed Apr 20 12:51:17 2022 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Wed Apr 20 12:51:17 2022 +0200"
      },
      "message": "fixup! [FLINK-25313] Enable flink runtime web-ui (#45)\n"
    },
    {
      "commit": "9c25c54a73578b24b15e9c52e28740460a687f93",
      "tree": "c2b2e00c6b3b54b72f60bbdd092cfc6f130cfed9",
      "parents": [
        "0b1c83b16065484200564402bef2ca10ef19cb30"
      ],
      "author": {
        "name": "Junfan Zhang",
        "email": "zuston.shacha@gmail.com",
        "time": "Wed Apr 20 18:47:07 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 20 12:47:07 2022 +0200"
      },
      "message": "[FLINK-25313] Enable flink runtime web-ui (#45)\n\n* [FLINK-25313] Enable flink runtime web-ui when running in the IDE\r\n\r\nWith this, when running Flink applications locally, you can browse Flink\u0027s web UI to see more details.\r\n\r\nCo-authored-by: Junfan Zhang \u003czhangjunfan@qiyi.com\u003e"
    },
    {
      "commit": "0b1c83b16065484200564402bef2ca10ef19cb30",
      "tree": "d3883e4d28bae2820e620577f8417578e19bcefd",
      "parents": [
        "e9e5adfab00e20335142fbf3a6603db16f396432"
      ],
      "author": {
        "name": "sjwiesman",
        "email": "sjwiesman@gmail.com",
        "time": "Thu Nov 04 17:58:36 2021 -0500"
      },
      "committer": {
        "name": "sjwiesman",
        "email": "sjwiesman@gmail.com",
        "time": "Wed Nov 10 15:25:22 2021 -0600"
      },
      "message": "[FLINK-24782] Upgrade training exercises to 1.14\n\nThis closes #42\n"
    },
    {
      "commit": "e9e5adfab00e20335142fbf3a6603db16f396432",
      "tree": "466d63a25a89e09320e4b47bf3c150b7a775ff3b",
      "parents": [
        "1b16d2102100d90c694b577842e74373ff8b3d18"
      ],
      "author": {
        "name": "Ali Bahadir Zeybek",
        "email": "ali@ververica.com",
        "time": "Thu Oct 21 15:56:30 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Tue Nov 09 08:26:14 2021 +0100"
      },
      "message": "[hotfix] Fix links to old documentation\n"
    },
    {
      "commit": "1b16d2102100d90c694b577842e74373ff8b3d18",
      "tree": "935363f963a091a27d150527e49b1b9367364d90",
      "parents": [
        "1d922de3185c41df05129a5faab69e74fc5cecec"
      ],
      "author": {
        "name": "Pengcheng Huang",
        "email": "futuredaemon@gmail.com",
        "time": "Sat Nov 06 22:54:48 2021 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 06 15:54:48 2021 +0100"
      },
      "message": "[hotfix] update aliyun mirror repo url\n\nCo-authored-by: gnuhpc \u003cgnuhpc@gmail.com\u003e"
    },
    {
      "commit": "1d922de3185c41df05129a5faab69e74fc5cecec",
      "tree": "145a81242e4fbc018e6ae9e90d614db787a70029",
      "parents": [
        "bfcd25a9d52e71f018720ea4865090b5bab5b135"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Mon Oct 04 13:29:19 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Mon Oct 04 14:28:16 2021 +0200"
      },
      "message": "[hotfix] remove extraneous files for non-existing modules\n"
    },
    {
      "commit": "bfcd25a9d52e71f018720ea4865090b5bab5b135",
      "tree": "354728e3868fc4f04aac370e09e026f52418f57e",
      "parents": [
        "1b6720707c6f97b4dc502b58ec8229fac0c4bee5"
      ],
      "author": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Fri Sep 03 08:36:41 2021 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 03 16:36:41 2021 +0200"
      },
      "message": "[FLINK-24118] Allow TaxiFareGenerator to produce bounded streams (#40)\n\n"
    },
    {
      "commit": "1b6720707c6f97b4dc502b58ec8229fac0c4bee5",
      "tree": "6f2448ad9ff0307bc4d10f25d8e53d8edf84b2f3",
      "parents": [
        "fd65b110714cbf487435b5dfdf0374550bd0c820"
      ],
      "author": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Wed Sep 01 10:19:28 2021 -0600"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Fri Sep 03 10:50:46 2021 +0200"
      },
      "message": "[hotfix] collect rather than collectWithTimestamp"
    },
    {
      "commit": "fd65b110714cbf487435b5dfdf0374550bd0c820",
      "tree": "4b08fa45acc04f1ee400abc3c792d912716735ea",
      "parents": [
        "90da3df94809f9af00857dd0747c697b6a00e441"
      ],
      "author": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Thu Sep 02 10:16:33 2021 -0600"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Fri Sep 03 10:50:46 2021 +0200"
      },
      "message": "[FLINK-23926] replace startTime and endTime with a single eventTime field"
    },
    {
      "commit": "90da3df94809f9af00857dd0747c697b6a00e441",
      "tree": "93d0022d8298d625dfe9662a524de210ad2f35ca",
      "parents": [
        "f5630bee7dad6801fff359be02b7a93530509104"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Wed Sep 01 22:22:01 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Thu Sep 02 08:12:18 2021 +0200"
      },
      "message": "[hotfix] trim whitespace before checking enable_scala\n"
    },
    {
      "commit": "f5630bee7dad6801fff359be02b7a93530509104",
      "tree": "dc4953047eff56f78ad295f88420775a0aabc746",
      "parents": [
        "eb0bd43a2d19b38ef4b482e7376e321312733764"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Wed Sep 01 10:28:46 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Wed Sep 01 13:08:22 2021 +0200"
      },
      "message": "[hotfix][CI] also verify tests with Scala disabled (default)\n"
    },
    {
      "commit": "eb0bd43a2d19b38ef4b482e7376e321312733764",
      "tree": "d735e4758e37941196263de829e3ce9b2578fd6b",
      "parents": [
        "a66d5f158c38460c5a4c6564ba010502d781d39b"
      ],
      "author": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Tue Aug 31 19:48:49 2021 -0600"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Wed Sep 01 13:08:22 2021 +0200"
      },
      "message": "[hotfix] test imports wrong solution class\n"
    },
    {
      "commit": "a66d5f158c38460c5a4c6564ba010502d781d39b",
      "tree": "8aa9ce90eb578d847bf71f66eb66fe92bfff5020",
      "parents": [
        "177cadf30fb0f73341f89b3db1e2fc13dcedc2dd"
      ],
      "author": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Tue Aug 31 19:46:50 2021 -0600"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Wed Sep 01 10:26:31 2021 +0200"
      },
      "message": "[hotfix] update flink version to 1.13.2\n"
    },
    {
      "commit": "177cadf30fb0f73341f89b3db1e2fc13dcedc2dd",
      "tree": "a7c142ba86b20e6231678007f00e5ecccca3daca",
      "parents": [
        "a22bc8f088b6f6794f931a1f6e7bf961729ad66b"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Aug 06 15:29:48 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Tue Aug 31 18:19:28 2021 +0200"
      },
      "message": "[DO-NOT-MERGE][FLINK-23670] Add refactoring commit to .git-blame-ignore-revs\n\nThis file can be used to ignore refactoring commits via:\n\n$ git config blame.ignoreRevsFile .git-blame-ignore-revs\n\nThis closes #34.\n"
    },
    {
      "commit": "a22bc8f088b6f6794f931a1f6e7bf961729ad66b",
      "tree": "6da7299c26431823d50a453a3a18a59e1c3119bf",
      "parents": [
        "bd4a088fd3aa23b13eea5e75307b26a15afb3608"
      ],
      "author": {
        "name": "Rufus Refactor",
        "email": "dev@flink.apache.org",
        "time": "Tue Aug 31 18:17:17 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Tue Aug 31 18:18:11 2021 +0200"
      },
      "message": "[FLINK-23670] Format Scala code with Spotless/scalafmt\n"
    },
    {
      "commit": "bd4a088fd3aa23b13eea5e75307b26a15afb3608",
      "tree": "d5e450d65d9a2e4c825125444d5b60724d9c0b36",
      "parents": [
        "bbb051ac458e1555f76f396f9424337d27cf4fd6"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Aug 06 14:08:18 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Tue Aug 31 18:07:59 2021 +0200"
      },
      "message": "[FLINK-23670] add Scala checks using scalafmt via spotless\n\nThe format is slightly different because scamafmt cannot express everything\nFlink uses in its scalastyle but it focuses on other things.\nWe get automatic formatting from spotless though!\n"
    },
    {
      "commit": "bbb051ac458e1555f76f396f9424337d27cf4fd6",
      "tree": "ef338a00df0db40abf95d2517456014269a62201",
      "parents": [
        "65cde7910e5bff6283eef7ea536fde3ea5d4c9d4"
      ],
      "author": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Tue Aug 31 08:05:16 2021 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 31 16:05:16 2021 +0200"
      },
      "message": "[FLINK-23653] exercise and test rework (#31)\n\n* rename TaxiRideTestBase\r\n\r\n* fix grammar in comment\r\n\r\n* Add flink-test-utils and assertj-core\r\n\r\n* Rework how the Long Rides exercise and solution are tested\r\n\r\n* Update the README and DISCUSSION pages for the long rides exercise.\r\n\r\n* Add test harness dependencies\r\n\r\n* Make a few things public to make it easier to add test harness tests\r\n\r\n* Add a test harness test as an example\r\n\r\n* replace recursion with iteration\r\n\r\nCo-authored-by: Nico Kruber \u003cnico.kruber@gmail.com\u003e\r\n\r\n* cleaner iteration\r\n\r\nCo-authored-by: Nico Kruber \u003cnico.kruber@gmail.com\u003e\r\n\r\n* remove unnecessary type information\r\n\r\nCo-authored-by: Nico Kruber \u003cnico.kruber@gmail.com\u003e\r\n\r\n* Address review comments\r\n\r\n* Rename longrides test classes\r\n\r\n* remove more unnecessary type information\r\n\r\n* apply spotless\r\n\r\n* Apply suggestions from code review\r\n\r\nCo-authored-by: Nico Kruber \u003cnico.kruber@gmail.com\u003e\r\n\r\n* Rework the test sink to use an accumulator rather than a static list\r\n\r\n* adjust javadoc\r\n\r\n* Rework the exercises, solutions, and tests for the Rides and Fares exercise\r\n\r\n* Apply suggestions from code review of rides-and-fares\r\n\r\nCo-authored-by: Nico Kruber \u003cnico.kruber@gmail.com\u003e\r\n\r\n* more complete implementations of equals and hashcode for taxiride and taxifare\r\n\r\n* Redo the tests for rides-and-fares and include unit tests\r\n\r\n* Update the exercise, solutions, and tests for the ride cleansing exercise\r\n\r\n* Rework the hourly tips exercise\r\n\r\n* Remove the remaining pieces of the legacy testing framework\r\n\r\n* Change the sources to no longer include timestamps or watermarks\r\n\r\n* Added a comment to explain the hourly tips Scala tests\r\n\r\n* clean up long rides tests to avoid using raw types and unchecked operations\r\n\r\n* Remove ExerciseBase\r\n\r\n* Upgrade flink to 1.13.2\r\n\r\n* Upgrade junit to 4.13\r\n\r\n* Drop hamcrest\r\n\r\n* remove checkpointing code from RidesAndFaresExercise.java\r\n\r\n* Revert \"Upgrade flink to 1.13.2\"\r\n\r\nThis reverts commit 07e0776c9b28c27daa071df818c88d7af90379e2.\r\n\r\n* simplify ComposedKeyedProcessFunction and ComposedRichCoFlatMapFunction\r\n\r\n* clean up HourlyTipsExercise\r\n\r\n* fixup HourlyTipsTest\r\n\r\n* fixup tests\r\n\r\nCo-authored-by: Nico Kruber \u003cnico.kruber@gmail.com\u003e"
    },
    {
      "commit": "65cde7910e5bff6283eef7ea536fde3ea5d4c9d4",
      "tree": "ca5977f0ef5056589a65cd7b08ce463b6fe3f984",
      "parents": [
        "1704fd959122aa197b48803441338c1fb0470091"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Aug 27 12:23:50 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Mon Aug 30 10:52:38 2021 +0200"
      },
      "message": "[FLINK-24022] Change how to enable Scala and use in CI\n"
    },
    {
      "commit": "1704fd959122aa197b48803441338c1fb0470091",
      "tree": "b93deec42a6c4c7557bcb0bf0d934c8f061b86d8",
      "parents": [
        "08f5bf4d93d241f58d67148dc3e054a2325b64a0"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Aug 06 13:55:45 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Fri Aug 06 15:39:38 2021 +0200"
      },
      "message": "[FLINK-23669] avoid using Scala \u003e\u003d 2.12.8 when setting up an IDE\n"
    },
    {
      "commit": "08f5bf4d93d241f58d67148dc3e054a2325b64a0",
      "tree": "27544f52d32be5aabc74046d13f7e758336a8acf",
      "parents": [
        "a8307f72fd01a9021320d6960849617739820320"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Aug 06 13:52:55 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Fri Aug 06 15:38:40 2021 +0200"
      },
      "message": "[FLINK-23667] fix code formatting IDE instructions\n\ngoogle-java-format should only be applied to Java files.\n"
    },
    {
      "commit": "a8307f72fd01a9021320d6960849617739820320",
      "tree": "bc91d0bad660316c95c557082e784babae7ebec9",
      "parents": [
        "58c5551e9407d4917d3139a9125f7b8570d01b2c"
      ],
      "author": {
        "name": "Daisy T",
        "email": "daisyts@gmx.com",
        "time": "Wed Jul 21 12:12:28 2021 +0200"
      },
      "committer": {
        "name": "sjwiesman",
        "email": "sjwiesman@gmail.com",
        "time": "Thu Jul 22 10:51:31 2021 -0500"
      },
      "message": "[FLINK-23448] update README\n\nThis closes #30\n"
    },
    {
      "commit": "58c5551e9407d4917d3139a9125f7b8570d01b2c",
      "tree": "1780b3db9eb089861d42db84b350c6365e0b4eb5",
      "parents": [
        "857dd4b66c228a46044b766b27f59c03e725e287"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Jul 16 09:30:06 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Jul 16 09:30:06 2021 +0200"
      },
      "message": "[hotfix] fix formatting error for spotless\n"
    },
    {
      "commit": "857dd4b66c228a46044b766b27f59c03e725e287",
      "tree": "d7f3a186e22bc013dcf4e0cec01a77c65b19c065",
      "parents": [
        "e5a38fcb20be8b27826ac0437706a5abfe2aa309"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Jul 09 14:42:27 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Thu Jul 15 16:21:35 2021 +0200"
      },
      "message": "[FLINK-23340] add more dev setup instructions\n"
    },
    {
      "commit": "e5a38fcb20be8b27826ac0437706a5abfe2aa309",
      "tree": "e4e3b6b99ac0764f6e34a4c4bd493c70ad1520ac",
      "parents": [
        "5d3e49d288f06ff5fca7db8423c4f26fd623947f"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Jul 09 14:42:12 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Thu Jul 15 16:21:35 2021 +0200"
      },
      "message": "[hotfix] minor improvements to the README\n"
    },
    {
      "commit": "5d3e49d288f06ff5fca7db8423c4f26fd623947f",
      "tree": "4963849bbe0004cabd8498eca1519adf35f173fa",
      "parents": [
        "5d17ed7eafbc636a510b4f933101226835fefa24"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Tue Jul 13 22:28:39 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Wed Jul 14 10:15:12 2021 +0200"
      },
      "message": "[FLINK-23339] Make scala plugin optional\n"
    },
    {
      "commit": "5d17ed7eafbc636a510b4f933101226835fefa24",
      "tree": "f6689344116707663ada81aa893a9a6054205c65",
      "parents": [
        "c4baefd1830abe3ba9bcf200be0f5d00095cae12"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Jul 02 17:46:10 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Tue Jul 13 22:10:01 2021 +0200"
      },
      "message": "[FLINK-23338] Add .git-blame-ignore-revs for ignoring refactor commit\n\nThis file can be used via:\n\n$ git config blame.ignoreRevsFile .git-blame-ignore-revs\n\nThis closes #27.\n"
    },
    {
      "commit": "c4baefd1830abe3ba9bcf200be0f5d00095cae12",
      "tree": "43d14eb97a40a36a1784ef945ec14a73bdce2672",
      "parents": [
        "8399d88b3638d69db01cea341631979a281d1072"
      ],
      "author": {
        "name": "Rufus Refactor",
        "email": "dev@flink.apache.org",
        "time": "Tue Jul 13 21:45:34 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Tue Jul 13 22:07:27 2021 +0200"
      },
      "message": "[FLINK-23338] Format code with Spotless/google-java-format\n"
    },
    {
      "commit": "8399d88b3638d69db01cea341631979a281d1072",
      "tree": "804b1f0cb4c04bb56f54b778b9e446c33f112392",
      "parents": [
        "9e907760965a883881d7891baa0d6a82011cb626"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Jul 02 17:36:31 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Tue Jul 13 22:07:27 2021 +0200"
      },
      "message": "[FLINK-23338] Add Spotless plugin with Google AOSP style\n\nUse the same format as defined by the main Flink project.\nSee https://issues.apache.org/jira/browse/FLINK-20651\n"
    },
    {
      "commit": "9e907760965a883881d7891baa0d6a82011cb626",
      "tree": "686ea2bc0f758bdcd53842218e17a748c3d94151",
      "parents": [
        "453d65a3e0bfe244427a6e025a1798c677073289"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Jul 02 15:43:13 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Tue Jul 13 22:06:22 2021 +0200"
      },
      "message": "[FLINK-23335][gradle] add separate run tasks for Java/Scala exercises and solutions\n\nThis allows to quickly run the current state of the exercise or the solution\nimplementation from the command line / IDE.\n"
    },
    {
      "commit": "453d65a3e0bfe244427a6e025a1798c677073289",
      "tree": "a752a1b40ab7bc183a9fb02abaaa69e8d9450175",
      "parents": [
        "7c323f4bb0a4659a57498c099dbe900ba023d43d"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Jul 02 17:10:03 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Tue Jul 13 17:52:02 2021 +0200"
      },
      "message": "[FLINK-23337][gradle] Properly use the \u0027shadow\u0027 plugin\n\nThis removes the need for the custom `flinkShadowJar` configuration and instead\ndefines dependencies with the default ways that the \u0027shadow\u0027 plugin offers.\n"
    },
    {
      "commit": "7c323f4bb0a4659a57498c099dbe900ba023d43d",
      "tree": "53ee46bd9e3ab9df33746f6b7719db03abe0a157",
      "parents": [
        "63d360e49368041a4bbdd320a5c4b3600961dab2"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Jul 02 11:42:41 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Tue Jul 13 17:40:40 2021 +0200"
      },
      "message": "[FLINK-23336][log4j] update Log4J to 2.12.1 as used by Flink 1.13\n"
    },
    {
      "commit": "63d360e49368041a4bbdd320a5c4b3600961dab2",
      "tree": "a379d97b34d795ac4056ce3594287707b0280a0d",
      "parents": [
        "5c8386d022719f72fbb161c6727c0c2e2a3c12f1"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Jul 02 11:37:19 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Tue Jul 13 17:38:10 2021 +0200"
      },
      "message": "[FLINK-23334][gradle] let the subprojects decide whether they implement an application\n\nThis gives a cleaner gradle project file layout.\n"
    },
    {
      "commit": "5c8386d022719f72fbb161c6727c0c2e2a3c12f1",
      "tree": "c2b03afce425705d36375645b50595067c6315d5",
      "parents": [
        "1504a6477abc465775a39d9073b184e36659225d"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Jul 02 11:36:27 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Tue Jul 13 17:33:37 2021 +0200"
      },
      "message": "[hotfix][gradle] set project properties in a central place\n\nAlso, we actually only have the root project\u0027s description, so let\u0027s not set\nit for all subprojects!\n"
    },
    {
      "commit": "1504a6477abc465775a39d9073b184e36659225d",
      "tree": "89a7b293a6d5baabcead3b4cf0ccdc9e9d2b9669",
      "parents": [
        "82620e098fa39c71538144b7f6a115163b071ccf"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Jul 02 11:17:24 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Tue Jul 13 17:33:37 2021 +0200"
      },
      "message": "[hotfix][gradle] update build-scan plugin version\n"
    },
    {
      "commit": "82620e098fa39c71538144b7f6a115163b071ccf",
      "tree": "85d14d02bb093eea751a4556e7a62bb058880741",
      "parents": [
        "dd7be31e084ac356813b2dcda5ec7408810af786"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Fri Jul 02 11:09:02 2021 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Tue Jul 13 17:33:37 2021 +0200"
      },
      "message": "[FLINK-23332][gradle] update Gradle version\n\nThis also requires a newer \u0027shadow\u0027 version.\n"
    },
    {
      "commit": "dd7be31e084ac356813b2dcda5ec7408810af786",
      "tree": "e7f5d04b0716a0ac7b55d5e30036480a5fdb1582",
      "parents": [
        "e598712456cd9ade5ac662b764664f9355e0c23e"
      ],
      "author": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Thu Jun 03 16:11:41 2021 +0200"
      },
      "committer": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Thu Jun 03 16:11:41 2021 +0200"
      },
      "message": "[FLINK-22868] Update to use Flink 1.13.1"
    },
    {
      "commit": "e598712456cd9ade5ac662b764664f9355e0c23e",
      "tree": "e01b2e8cfaa7b1142213dc8218c84edb03b93f42",
      "parents": [
        "d3914a27b04274d17fe1abb77035452e7fc73406"
      ],
      "author": {
        "name": "Tomas",
        "email": "xhudik@gmail.com",
        "time": "Tue Feb 09 09:55:25 2021 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 09 09:55:25 2021 +0100"
      },
      "message": "[hotfix] updated READMEs\n\n* typo\r\n\r\n* link to generators added\r\n\r\n* Update ride-cleansing/README.md\r\n\r\nCo-authored-by: David Anderson \u003cdavid@alpinegizmo.com\u003e\r\n\r\n* deleted part about data downloading\r\n\r\nCo-authored-by: David Anderson \u003cdavid@alpinegizmo.com\u003e"
    },
    {
      "commit": "d3914a27b04274d17fe1abb77035452e7fc73406",
      "tree": "a3ceb3780ee7de7e10648931a6f5b549c5cb3188",
      "parents": [
        "40fdc825ceff58f79dce8d5b98ea608339cc5644"
      ],
      "author": {
        "name": "Svend Vanderveken",
        "email": "1214071+sv3ndk@users.noreply.github.com",
        "time": "Sat Jan 16 16:21:30 2021 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 16 16:21:30 2021 +0100"
      },
      "message": "[FLINK-20597] update for Flink 1.12 \n\nremoved TimeCharacteristic, as it has been deprecated"
    },
    {
      "commit": "40fdc825ceff58f79dce8d5b98ea608339cc5644",
      "tree": "29b400bbf77692bb50e5299aafbee0845234c0cf",
      "parents": [
        "ea4a66e97dd211bd8f8b8e415e3e427c30e4746b"
      ],
      "author": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Wed Sep 09 14:46:02 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 09 14:46:02 2020 +0200"
      },
      "message": "[hotfix] output examples in HourlyTips discussion should match actual output (#14)\n\n"
    },
    {
      "commit": "ea4a66e97dd211bd8f8b8e415e3e427c30e4746b",
      "tree": "62764d49005be9c69d0518341e9ba7cd33849e72",
      "parents": [
        "4f95a443cca0d13fc41ca9bc819cd8aacb6c8372"
      ],
      "author": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Tue Aug 25 19:49:55 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 25 19:49:55 2020 +0200"
      },
      "message": "[FLINK-18630] Redo the LongRideAlerts solutions to cover a corner case (#13)\n\n"
    },
    {
      "commit": "4f95a443cca0d13fc41ca9bc819cd8aacb6c8372",
      "tree": "5022409bdc7b547cb8749e9008c10231483e3d9c",
      "parents": [
        "298c734093740a00b8b141c4dfe163be58bcfe71"
      ],
      "author": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Thu Jul 02 23:13:08 2020 +0200"
      },
      "committer": {
        "name": "Seth Wiesman",
        "email": "sjwiesman@gmail.com",
        "time": "Sun Jul 12 15:33:13 2020 -0500"
      },
      "message": "[FLINK-18482] Replace file-based data sources with generators\n\nThis closes #11\n"
    },
    {
      "commit": "298c734093740a00b8b141c4dfe163be58bcfe71",
      "tree": "63b93c00efb9a6f40c27fe4f0343428a836fa74a",
      "parents": [
        "163558d39bc2c15796d180dc5ae8a7943d608679"
      ],
      "author": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Wed Jul 08 17:25:44 2020 +0200"
      },
      "committer": {
        "name": "Seth Wiesman",
        "email": "sjwiesman@gmail.com",
        "time": "Thu Jul 09 07:50:13 2020 -0500"
      },
      "message": "[FLINK-18499] Update for Flink 1.11: don’t use deprecated flavors of keyBy\n\nThis closes #12\n"
    },
    {
      "commit": "163558d39bc2c15796d180dc5ae8a7943d608679",
      "tree": "256cc9a7ccea772c7ad5c4df223e51522d53ea03",
      "parents": [
        "b7fecd43861cbb7ef15c55f5887cc121f4b18acc"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Mon Jun 08 14:05:56 2020 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Mon Jun 08 14:52:51 2020 +0200"
      },
      "message": "[FLINK-18178][build] fix Eclipse import not using flinkShadowJar dependencies\n"
    },
    {
      "commit": "b7fecd43861cbb7ef15c55f5887cc121f4b18acc",
      "tree": "f9a840a7fb847ba8c05109506f0ac640b90fd391",
      "parents": [
        "22420e10bc970eea0eb84379fbf68a7d0d0eac78"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Mon Jun 08 12:33:37 2020 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Mon Jun 08 14:52:51 2020 +0200"
      },
      "message": "[hotfix][training] git-ignore eclipse build files\n"
    },
    {
      "commit": "22420e10bc970eea0eb84379fbf68a7d0d0eac78",
      "tree": "598f607f0af84f2e2615c52bb7e6dcea4e9c7313",
      "parents": [
        "b2e67b96e0bf4df41981e84d8de0a7756f51f4c4"
      ],
      "author": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Mon Jun 08 12:31:46 2020 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Mon Jun 08 14:50:11 2020 +0200"
      },
      "message": "[hotfix] use correct main class references"
    },
    {
      "commit": "b2e67b96e0bf4df41981e84d8de0a7756f51f4c4",
      "tree": "ba40b760cd086799c46baf44d05058eab1724aa8",
      "parents": [
        "d6477d3894ddd7d13f456cd44a0c560a095838ed"
      ],
      "author": {
        "name": "David Anderson",
        "email": "david@alpinegizmo.com",
        "time": "Wed Apr 22 08:47:29 2020 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Wed Apr 22 09:27:33 2020 +0200"
      },
      "message": "[FLINK-17316][docs-training-exercises] avoid using windows that depend on the time characteristic\n"
    },
    {
      "commit": "d6477d3894ddd7d13f456cd44a0c560a095838ed",
      "tree": "77edaf4194e48be82c8835a4d9301605029865b1",
      "parents": [
        "679eba0e39890849cbde9c18f10dc0ea5a40cafe"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Tue Apr 21 22:32:14 2020 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Wed Apr 22 09:26:33 2020 +0200"
      },
      "message": "[hotfix] two description updates\n"
    },
    {
      "commit": "679eba0e39890849cbde9c18f10dc0ea5a40cafe",
      "tree": "e5a06de190c2237a0b8187446c51418003f9b5a2",
      "parents": [
        "122d56c2228395742a4f6391c201a8363511c6e5"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Mon Apr 20 14:05:32 2020 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Tue Apr 21 13:21:11 2020 +0200"
      },
      "message": "[FLINK-17279][travis] enable build scans\n\n(accept license only on Travis)\n"
    },
    {
      "commit": "122d56c2228395742a4f6391c201a8363511c6e5",
      "tree": "30f8decca8c747716167ba99e33c8bdfe8bbf258",
      "parents": [
        "b7bc718bc6d178d474ebdc22e2dc2a27910d693e"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Mon Apr 20 12:03:48 2020 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Tue Apr 21 12:35:56 2020 +0200"
      },
      "message": "[FLINK-17278][travis] add Travis configuration\n"
    },
    {
      "commit": "b7bc718bc6d178d474ebdc22e2dc2a27910d693e",
      "tree": "90bb473d485639f7049cb92479ee45d0ba290671",
      "parents": [
        "6f9ddff6e9da835ef2f526113d8a5fa98998466c"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Sat Apr 18 22:41:51 2020 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Tue Apr 21 12:33:31 2020 +0200"
      },
      "message": "[FLINK-17277] address IntelliJ warnings\n"
    },
    {
      "commit": "6f9ddff6e9da835ef2f526113d8a5fa98998466c",
      "tree": "4acc14dd1a756967914b0194f8c35df7bf0a5851",
      "parents": [
        "a3071ca57a7f68aaae802ee1d51a5a713cd96d79"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Mon Apr 20 12:47:49 2020 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Tue Apr 21 12:04:25 2020 +0200"
      },
      "message": "[FLINK-17276][checkstyle] add definitions from Flink and enforce them\n\n- minor changes to the checkstyle profile were needed to cope with the newer\n  version we have here\n"
    },
    {
      "commit": "a3071ca57a7f68aaae802ee1d51a5a713cd96d79",
      "tree": "e94ae85aab26383836238d4e167c46e1f9bff430",
      "parents": [
        "e48a6ed3ac392224fd697ce96cdc6b9c726c1c2b"
      ],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Mon Apr 20 12:47:03 2020 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Tue Apr 21 11:58:42 2020 +0200"
      },
      "message": "[FLINK-17275] port core training exercises, descriptions, solutions and tests\n\n- use gradle build tooling\n- add descriptions in appropriate markdown files (rendered with links to\n  navigate on github)\n"
    },
    {
      "commit": "e48a6ed3ac392224fd697ce96cdc6b9c726c1c2b",
      "tree": "b9884558e2877d1834cd90fba12ac669f0e53e9f",
      "parents": [
        "112081dbac4d9158e386703509ad23e68644165d"
      ],
      "author": {
        "name": "Chesnay Schepler",
        "email": "chesnay@apache.org",
        "time": "Tue Apr 21 10:14:30 2020 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico.kruber@gmail.com",
        "time": "Tue Apr 21 11:27:14 2020 +0200"
      },
      "message": "[FLINK-17287][github] Disable merge commit button\n"
    },
    {
      "commit": "112081dbac4d9158e386703509ad23e68644165d",
      "tree": "02dbf4ea1e41ecd6ae83035af93f6f32cc9a0c70",
      "parents": [],
      "author": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Wed Apr 15 19:30:00 2020 +0200"
      },
      "committer": {
        "name": "Nico Kruber",
        "email": "nico@ververica.com",
        "time": "Mon Apr 20 12:12:59 2020 +0200"
      },
      "message": "initalize repository\n"
    }
  ]
}
