)]}'
{
  "log": [
    {
      "commit": "83c629cdbbde9d25a4a77d9863434b2245dbaf0e",
      "tree": "14874c96d77beeca5e8f6b8f8496c88c7344ff60",
      "parents": [
        "b8782f10292d86e5b153801e7e37d6d110144663",
        "3ed0c5f895bd95464995ba8f90b50642e89d6cee"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Aug 15 20:11:10 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Aug 15 20:11:10 2026 +0200"
      },
      "message": "Merge of automatic reorganization of imports order.\n"
    },
    {
      "commit": "3ed0c5f895bd95464995ba8f90b50642e89d6cee",
      "tree": "48105c7e13de1eac3a44cc68d70b63261a13ec57",
      "parents": [
        "b7f39770a226034d9fddcd1593a36db65b33954c",
        "b967e38433541c302ce1b9d7da8288020c5398af"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Aug 15 20:04:14 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Aug 15 20:04:14 2026 +0200"
      },
      "message": "Merge of automatic reorganization of imports order.\n"
    },
    {
      "commit": "b967e38433541c302ce1b9d7da8288020c5398af",
      "tree": "23dedf6010ed693f6d6d4daf3aa9cfe3741f1792",
      "parents": [
        "ccf06de245272570419037cc73d49eda0a4ed7a0"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Aug 15 20:01:51 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Aug 15 20:01:51 2026 +0200"
      },
      "message": "Post-merge automatic reorganization of imports order.\n"
    },
    {
      "commit": "b8782f10292d86e5b153801e7e37d6d110144663",
      "tree": "cd6a55dc4b9186cd5a130005792977d0b2043e17",
      "parents": [
        "1b0454313171c1d4d409661a997c78eeeaf0b0a1",
        "b7f39770a226034d9fddcd1593a36db65b33954c"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Aug 15 13:37:45 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Aug 15 13:37:45 2026 +0200"
      },
      "message": "Merge branch \u0027geoapi-3.1\u0027.\nThe DGGS module has been temporarily excluded because it depends on the\ngeometry module, which is available only in the GeoAPI 3.1/4.0 branches.\n"
    },
    {
      "commit": "b7f39770a226034d9fddcd1593a36db65b33954c",
      "tree": "71119c72937870baad1c4d52fd0d7663fe26f4bb",
      "parents": [
        "e3537fc7c1862eba0b639476eb0e40aba58c6c91",
        "ccf06de245272570419037cc73d49eda0a4ed7a0"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Aug 14 19:16:38 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Aug 14 19:16:38 2026 +0200"
      },
      "message": "Merge branch \u0027geoapi-4.0\u0027 into geoapi-3.1\n"
    },
    {
      "commit": "ccf06de245272570419037cc73d49eda0a4ed7a0",
      "tree": "87f14bdf81e262d5f082a4023e5326f1da449a44",
      "parents": [
        "aa236a8a8c866e8503afadb588fd7a3b4d220908"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Aug 14 18:07:38 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Aug 14 18:11:07 2026 +0200"
      },
      "message": "Fix a misspelling: `StoreListener.eventOccured` renamed `eventOccurred`.\nThis is an incompatible change which cannot be made compatible easily,\nbecause the interface is sometime used in lambda expressions.\n"
    },
    {
      "commit": "aa236a8a8c866e8503afadb588fd7a3b4d220908",
      "tree": "272767796bbaf79650d6cdf75f4799d9c65286f6",
      "parents": [
        "337b819bd6d68a37c897a6fdd6df27ba9eba3a8a"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Aug 14 17:54:53 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Aug 14 17:54:53 2026 +0200"
      },
      "message": "Fix the initial zoom of large untiled images.\n"
    },
    {
      "commit": "337b819bd6d68a37c897a6fdd6df27ba9eba3a8a",
      "tree": "9c0ef3044f9ec79da85214ccdbbd89720a532913",
      "parents": [
        "6412d2decbc8509781ac429078be09598fb22d20"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Aug 14 17:16:48 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Aug 14 17:16:48 2026 +0200"
      },
      "message": "Reduce the number of false reports of tile loading.\n"
    },
    {
      "commit": "6412d2decbc8509781ac429078be09598fb22d20",
      "tree": "6b79787e42da322364a307ba33261eea108307cb",
      "parents": [
        "29c988583b93f016ab6ca6ae515e77aa0e5b0772"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Aug 14 15:36:46 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Aug 14 15:37:45 2026 +0200"
      },
      "message": "Try harder to group the addition of removal of tile loading indicator.\nAdding or removing shapes one-by-one in JavaFX thread is very slow.\n"
    },
    {
      "commit": "29c988583b93f016ab6ca6ae515e77aa0e5b0772",
      "tree": "f4e3512d424525760d0efd56dbc3ba5c1c0f160b",
      "parents": [
        "f6e6c072f0606b89675cde7bc2cf4bad1e51a4f1"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Aug 11 12:59:28 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Aug 11 12:59:28 2026 +0200"
      },
      "message": "Move `TileReadListener` to a separated class and add a safety for reducing the risk\nof application freeze when reading a TIFF image made of thousands of thin strips.\n"
    },
    {
      "commit": "f6e6c072f0606b89675cde7bc2cf4bad1e51a4f1",
      "tree": "4450fb4b8505e886018bffbacc0da6243dd1f6c2",
      "parents": [
        "67cfdae67e47f09a949c88b09eb9cf8476411db6"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Mon Aug 10 12:41:22 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Mon Aug 10 12:41:22 2026 +0200"
      },
      "message": "Add a \"todo\" note about the use of `prefetch` in context of artificially tiled image.\nMinor edition as a side-effect of the review of the situation regarding prefetch.\n"
    },
    {
      "commit": "67cfdae67e47f09a949c88b09eb9cf8476411db6",
      "tree": "bf076e055449c3ea33ca2179c1fd2fb954c4b130",
      "parents": [
        "b79a2bb6085c5ba97135dcc003d4446f305de8a9"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Aug 09 20:42:06 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Aug 09 20:42:06 2026 +0200"
      },
      "message": "Bug fixes in the application of artificial tiling on large untiled images.\n"
    },
    {
      "commit": "b79a2bb6085c5ba97135dcc003d4446f305de8a9",
      "tree": "b5e0ba7bfc0ba8538003d0f7c2dc308b992e6978",
      "parents": [
        "c773a3c2e7c61464a13731675b56dc5a70050e13"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Aug 08 12:07:54 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Aug 08 16:14:38 2026 +0200"
      },
      "message": "Move `Summarizer` to an internal non-shared package.\nRefactor for removing an unnecessary inner class.\n"
    },
    {
      "commit": "c773a3c2e7c61464a13731675b56dc5a70050e13",
      "tree": "ed4e8149f6ced2d4a33d5666288fbf76884b5478",
      "parents": [
        "c2ecd1f664a5419bf4e4b0d531f450130e0465ee"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Aug 08 02:25:45 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Aug 08 02:25:45 2026 +0200"
      },
      "message": "Provided more information about the `RenderedImage` layout in its `toString()` representation.\nThis is an attempt to provide more debugging help.\n"
    },
    {
      "commit": "c2ecd1f664a5419bf4e4b0d531f450130e0465ee",
      "tree": "612718ad716c7f74d4fa22612042805d1c6f9fb6",
      "parents": [
        "35c19eef1fc749135c7590d8b8137053245d1f93"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Aug 06 00:13:34 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Aug 06 18:27:29 2026 +0200"
      },
      "message": "Fix a mismatched dimension exception when showing coverage values below the cursor.\n"
    },
    {
      "commit": "35c19eef1fc749135c7590d8b8137053245d1f93",
      "tree": "8cc295c266b2006bd7d92e3f7811f0cb1ac8653a",
      "parents": [
        "f72b42cb2bf15a0a30d1490b7ed5cb708b96a6c5"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Thu Aug 06 17:39:01 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Thu Aug 06 17:39:01 2026 +0200"
      },
      "message": "fix(Geometry): fix small error in uml mapping and method parameters\n"
    },
    {
      "commit": "f72b42cb2bf15a0a30d1490b7ed5cb708b96a6c5",
      "tree": "5910d91c5aec4255d4d9edefa1f0f99dd6f8c09a",
      "parents": [
        "f427b9b0e8684927e3fefee055760acfb9a7f96c"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Thu Aug 06 16:46:08 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Thu Aug 06 16:46:08 2026 +0200"
      },
      "message": "doc(DGGRS): add links to ZIRS informations\n"
    },
    {
      "commit": "f427b9b0e8684927e3fefee055760acfb9a7f96c",
      "tree": "2cc32f01d92111a5e8cb844a75ff3a32cba36f17",
      "parents": [
        "fad2774533da9be24414d94951a1d019f820b24e"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Thu Aug 06 15:26:23 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Thu Aug 06 15:26:23 2026 +0200"
      },
      "message": "feat(Geometry): add polyhedrons faces and getFace method\n"
    },
    {
      "commit": "fad2774533da9be24414d94951a1d019f820b24e",
      "tree": "25bb3b1b84b941c6a1d23aaf3d51bf7c41f8b5eb",
      "parents": [
        "1464fabd87dd1626ced43823a5cb96a4c6dce46f"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Thu Aug 06 15:22:24 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Thu Aug 06 15:22:24 2026 +0200"
      },
      "message": "feat(Geometry): add SphericalConvexPolygon\n"
    },
    {
      "commit": "1464fabd87dd1626ced43823a5cb96a4c6dce46f",
      "tree": "6a611ba125a8dec7085ff55f9263d7c8bf133ccf",
      "parents": [
        "64af795f406aa622990014066866c5c2ff252f44"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Aug 06 00:09:55 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Aug 06 00:19:50 2026 +0200"
      },
      "message": "Introduce an artificial tiling when reading a large untiled TIFF or HEIF image.\nThis is an attempt to avoid `OutOfMemoryError`. Temporarily disabled.\n"
    },
    {
      "commit": "64af795f406aa622990014066866c5c2ff252f44",
      "tree": "3ccf2aa44229253860389c2882040b124008eb37",
      "parents": [
        "76386d6d1cae39d80f7b0794c33c61ba109b3d8f"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Aug 06 00:11:53 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Aug 06 00:19:50 2026 +0200"
      },
      "message": "Fix unintentional crop when showing a large non-pyramided image\nwith an initial zoom for avoiding to load the full image.\n"
    },
    {
      "commit": "76386d6d1cae39d80f7b0794c33c61ba109b3d8f",
      "tree": "dad9f5168e7d8e318bc068005cc2af5d56eab77d",
      "parents": [
        "7a3f3699240b5dc1986514f9d347b81709dab72a"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Aug 01 15:41:51 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Aug 06 00:14:24 2026 +0200"
      },
      "message": "Modify `RenderingDataTest` for using the image mock.\n"
    },
    {
      "commit": "7a3f3699240b5dc1986514f9d347b81709dab72a",
      "tree": "7dd2bd0b240306e56dde99e0940228fd77612daa",
      "parents": [
        "7bd94f14bb869d23df224c8b56794d7eb130f214"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Wed Aug 05 16:59:15 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Wed Aug 05 16:59:15 2026 +0200"
      },
      "message": "feat(Geometry): add great circle arc\n"
    },
    {
      "commit": "7bd94f14bb869d23df224c8b56794d7eb130f214",
      "tree": "fa5c22c54cb24f449fe8ee3fb72bc467872ce9dc",
      "parents": [
        "926b0a4071e2f7a17f1ef7b3cb8a52e1205cc7ea"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Wed Aug 05 14:25:39 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Wed Aug 05 14:27:21 2026 +0200"
      },
      "message": "feat(Vector): add method to convert between lat/lon and unit vector\n"
    },
    {
      "commit": "926b0a4071e2f7a17f1ef7b3cb8a52e1205cc7ea",
      "tree": "c082e212eb810cd91c732e3b1210c5d1a245a6cb",
      "parents": [
        "b2a7b2c97b08c886457f831d98703b41a9c7c326"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Wed Aug 05 14:02:21 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Wed Aug 05 14:02:21 2026 +0200"
      },
      "message": "feat(Geometry): add spherical triangle area and spherical excess methods\n"
    },
    {
      "commit": "b2a7b2c97b08c886457f831d98703b41a9c7c326",
      "tree": "2ee49f80d443a8aefc5fe550201262bd8e972260",
      "parents": [
        "f5dd64c5b37cf6118939346d560193eae04b49ce"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Wed Aug 05 12:30:03 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Wed Aug 05 12:30:03 2026 +0200"
      },
      "message": "feat(Geometry): add SphericalTriangle\n"
    },
    {
      "commit": "f5dd64c5b37cf6118939346d560193eae04b49ce",
      "tree": "821e653ad3246fa8470178e21f6e661aebbdeb32",
      "parents": [
        "752a1562e77e4694af48bb51427c9e3e569cdc50"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Wed Aug 05 10:58:50 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Wed Aug 05 10:58:50 2026 +0200"
      },
      "message": "feat(Geometry): add base polyhedron classes used by DGGRS\n"
    },
    {
      "commit": "752a1562e77e4694af48bb51427c9e3e569cdc50",
      "tree": "4bba53fa6e04749ca6c2eb08364d0352d2ed8737",
      "parents": [
        "66e8d26354104e84923bb40de2aa6d32534a6c1d"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Tue Aug 04 09:48:18 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Wed Aug 05 09:53:00 2026 +0200"
      },
      "message": "feat(GeoJSON): add binding for GeoJSON, JSON-FG and MovingFeatures\n"
    },
    {
      "commit": "66e8d26354104e84923bb40de2aa6d32534a6c1d",
      "tree": "7512df2f526975d8346e610f07e3badd78a1eea6",
      "parents": [
        "164b33a7a8dbe8fd0a7d02c95cc058ffbb8de4c1"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Mon Aug 03 12:20:04 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Mon Aug 03 12:20:04 2026 +0200"
      },
      "message": "chore(DGGS): code cleaning, remove some unused utilities\n"
    },
    {
      "commit": "164b33a7a8dbe8fd0a7d02c95cc058ffbb8de4c1",
      "tree": "cf757aa8a5c7a8deb068c3849a4e88170c25bdd0",
      "parents": [
        "e117aa6ca42b80ddb2cc3fcfabd04c5d58bda681"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Mon Aug 03 11:24:36 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Mon Aug 03 11:24:36 2026 +0200"
      },
      "message": "chore(Scene): move scene classes to a separate package outside the geometry package\n"
    },
    {
      "commit": "e117aa6ca42b80ddb2cc3fcfabd04c5d58bda681",
      "tree": "efdc5fd7e0b8f9824332a78a7bd1fca767f552ba",
      "parents": [
        "d40d2807255a170ea99724ed887c8a1336f2d8c8"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Mon Aug 03 11:05:39 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Mon Aug 03 11:05:39 2026 +0200"
      },
      "message": "feat(Geometry): add place-holder for HAT arrays\n"
    },
    {
      "commit": "d40d2807255a170ea99724ed887c8a1336f2d8c8",
      "tree": "2388d34465c4fe34237bef0f94c10f396b9df4f9",
      "parents": [
        "6a8700ed3291b6a9ddb2b3c5b68485e3947a8083"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 31 18:18:43 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 31 18:18:43 2026 +0200"
      },
      "message": "Add test case for `RenderingData`.\n"
    },
    {
      "commit": "6a8700ed3291b6a9ddb2b3c5b68485e3947a8083",
      "tree": "bd9cea1abca9bdefcd71d1c84117d8a273d69443",
      "parents": [
        "b2c6b5ee0268de08cc18100ddc446ba92bb63e24"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 31 16:47:44 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 31 17:40:03 2026 +0200"
      },
      "message": "Deferred computation of `GridGeometry` image property should take in account the image bounds.\n"
    },
    {
      "commit": "b2c6b5ee0268de08cc18100ddc446ba92bb63e24",
      "tree": "cc3c5e0d699897e9aa3396e46f2bd2e128f1063f",
      "parents": [
        "55123288780e893b841485ea7d7240e85ece45bd"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 31 16:29:21 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 31 16:49:41 2026 +0200"
      },
      "message": "Rename `ObservableImage` as `WritableUntiledImage` and merge with `ImageRenderer.Untiled`.\nThe goal is to avoid incorrect inheritance of the `GridGeometry` property in sub-images.\n"
    },
    {
      "commit": "55123288780e893b841485ea7d7240e85ece45bd",
      "tree": "a6d405b964348dec192d73d861c09405d0b2aa4a",
      "parents": [
        "e34709ee6ae825876576749a713ac52e5af968e6"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Jul 30 17:04:33 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 31 16:49:36 2026 +0200"
      },
      "message": "Minor formatting of comments.\n"
    },
    {
      "commit": "e34709ee6ae825876576749a713ac52e5af968e6",
      "tree": "e7f2f16a78ec999ff294c772a66c840ca3cee607",
      "parents": [
        "41b8832d0e416bffb84c2a838e31f55bcff9e5e1"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Fri Jul 31 10:49:50 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Fri Jul 31 10:49:50 2026 +0200"
      },
      "message": "feat(DGGS): add code operation and coverage test\n"
    },
    {
      "commit": "41b8832d0e416bffb84c2a838e31f55bcff9e5e1",
      "tree": "ef541604ea627b5a61950837919f92dd8c174332",
      "parents": [
        "59f2edce989a79a1a148b37d49c5bbcc379740f3"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Fri Jul 31 10:49:01 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Fri Jul 31 10:49:01 2026 +0200"
      },
      "message": "feat(GridExtent): add getLatticePointCount method\n"
    },
    {
      "commit": "59f2edce989a79a1a148b37d49c5bbcc379740f3",
      "tree": "def3352d30db9610394e167747cb66a9f6616b41",
      "parents": [
        "00a4e725264a23639dc4cb041afcee51054da635"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Wed Jul 29 15:33:47 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Thu Jul 30 16:39:54 2026 +0200"
      },
      "message": "feat(DGGS): add DGGS API\n"
    },
    {
      "commit": "00a4e725264a23639dc4cb041afcee51054da635",
      "tree": "e597214c93a867f42f4b96c641af9046bf3451e1",
      "parents": [
        "c43101db2038bc06f5d3728ae487204ed75555e0"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jul 29 11:19:55 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jul 29 11:19:55 2026 +0200"
      },
      "message": "Create an initially empty `org.apache.sis.referencing.dggs` module in the \"incubator\" group of modules.\nThis is proposed for initial work from OGC TestBed, before to be potentially dispatched to other modules.\n"
    },
    {
      "commit": "c43101db2038bc06f5d3728ae487204ed75555e0",
      "tree": "3a6d4d656b66fd9f97e85211fc8df1bc7698f89b",
      "parents": [
        "541e44693f4d574a40835322e067e6cdf6b01976"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Tue Jul 28 11:51:21 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Tue Jul 28 16:37:07 2026 +0200"
      },
      "message": "migrate(coveragejson): replace jsonb bindings by jackson\n"
    },
    {
      "commit": "541e44693f4d574a40835322e067e6cdf6b01976",
      "tree": "b2b47a3b59e4b739a6aab509b065733719255937",
      "parents": [
        "5107e0afa6afef69deed8fedf66a9b24ed6aab15"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Mon Jul 27 10:16:32 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Mon Jul 27 10:16:32 2026 +0200"
      },
      "message": "Rename the `org.apache.sis.storage.coveragejson` module as `org.apache.sis.storage.json`.\n"
    },
    {
      "commit": "5107e0afa6afef69deed8fedf66a9b24ed6aab15",
      "tree": "03d104da0d20073adb87ff689ea57869d0a95c7e",
      "parents": [
        "03badce5575d267216625f6c1bed700683044ca3"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 24 17:50:41 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 24 17:50:41 2026 +0200"
      },
      "message": "Fix an `IndexOutOfBoundsException` when the CRS component which is present in only the target CRS is not the last one.\n"
    },
    {
      "commit": "03badce5575d267216625f6c1bed700683044ca3",
      "tree": "dd624ab5f790cb435ad148e003f61207d71a1eb9",
      "parents": [
        "b9ba379a4f871d90219a0bf0a7ccee91f7438555"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Thu Jul 23 22:12:12 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Thu Jul 23 22:12:28 2026 +0200"
      },
      "message": "feat(Material): separate material in dedicated subclasses instead of a Map of properties\n"
    },
    {
      "commit": "b9ba379a4f871d90219a0bf0a7ccee91f7438555",
      "tree": "7f00b11b5ebfaf038897b917a51352cc11e2591c",
      "parents": [
        "233de2b767a55ffdd505a5a6bae2181079ad0396"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Jul 23 19:57:59 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Jul 23 20:00:11 2026 +0200"
      },
      "message": "Clarify which exceptions are thrown when using reflection on metadata object.\nMake `Merger` and `equals(…)` more robust against `ClassCastException`.\n"
    },
    {
      "commit": "233de2b767a55ffdd505a5a6bae2181079ad0396",
      "tree": "c888af343e122009092210170c7e99631904c960",
      "parents": [
        "e3288548dd17f7d5d6c84db76b6deba133093f1b"
      ],
      "author": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Thu Jul 23 17:15:55 2026 +0200"
      },
      "committer": {
        "name": "jsorel",
        "email": "johann.sorel@geomatys.com",
        "time": "Thu Jul 23 17:15:55 2026 +0200"
      },
      "message": "feat(Geometry): add scene light objects\n"
    },
    {
      "commit": "e3288548dd17f7d5d6c84db76b6deba133093f1b",
      "tree": "503a3ae5614c592f683cf38b5f4292a172d9dfbf",
      "parents": [
        "42a8abce5bc00ba7a6899eea142fe755d71503aa"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jul 22 19:47:30 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jul 22 19:47:30 2026 +0200"
      },
      "message": "Be more conservative when creating an EngineeringCRS for a GridExtent.\nSuch engineering CRS are not expected to be always present.\n"
    },
    {
      "commit": "42a8abce5bc00ba7a6899eea142fe755d71503aa",
      "tree": "ca4f29329cd2810bcc4fa3278c3ea1bc68420ffe",
      "parents": [
        "722c224375d5d56e76736422b92584b1fc9f774f"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jul 21 17:46:55 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jul 21 17:46:55 2026 +0200"
      },
      "message": "Mave `Envelopes.transform(CoordinateOperation, …)` more tolerant to the case\nwhere the envelope CRS does not match the coordinate operation source CRS.\n"
    },
    {
      "commit": "722c224375d5d56e76736422b92584b1fc9f774f",
      "tree": "beedb72d681fa5ad1620ead177994258fed18b99",
      "parents": [
        "a8171ac1d142c5ff455143743e7b21420d370098"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jul 21 15:32:01 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jul 21 15:33:26 2026 +0200"
      },
      "message": "feat(sql): handle LIKE filter in SQL storage.\nhttps://github.com/apache/sis/pull/47\n\nCo-authored-by: glegal \u003cguilhem.legal@geomatys.com\u003e\n"
    },
    {
      "commit": "a8171ac1d142c5ff455143743e7b21420d370098",
      "tree": "86f2577fb1dd6f036e4f69cbb00f48f71e246dc8",
      "parents": [
        "5a3b53f3e1ee7980c6433f5fdb4f40157ff6cf05"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jul 21 11:19:28 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jul 21 11:19:28 2026 +0200"
      },
      "message": "Add a safety for a `String[]` sometime represented by UCAR library as `Object[]`.\n"
    },
    {
      "commit": "5a3b53f3e1ee7980c6433f5fdb4f40157ff6cf05",
      "tree": "4de444609f806ffd4e6c87a6d8807804bc32f1bd",
      "parents": [
        "f4ad53d6574929f763ba5c3831377a13a02547f1"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jul 19 19:50:13 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jul 19 19:50:13 2026 +0200"
      },
      "message": "Fix of a `ClassCastException` during the merge of two metadata.\nIf the source metadata is a class that implements more than one metadata interface\n(for example, the GPX metadata), use the type of the target class or use the type\nof the property for resolving the ambiguity.\n"
    },
    {
      "commit": "f4ad53d6574929f763ba5c3831377a13a02547f1",
      "tree": "6527d6f7112641cbbfeacaccee6cd399a7b423b7",
      "parents": [
        "2058a95f8ead32008b9c577e44dcafacf3f83dcd"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 17 21:23:41 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 17 21:23:41 2026 +0200"
      },
      "message": "Documentation, minor formatting, suppression of a warning.\n"
    },
    {
      "commit": "2058a95f8ead32008b9c577e44dcafacf3f83dcd",
      "tree": "f9fb2358f286f5d6b6ed8beba622c1685ba2b3e0",
      "parents": [
        "e96a107208acc904df5b9640cd5a287c8143b325"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 17 21:22:52 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 17 21:22:52 2026 +0200"
      },
      "message": "Avoid a `NullPointerException` to pollute the logs.\n"
    },
    {
      "commit": "1b0454313171c1d4d409661a997c78eeeaf0b0a1",
      "tree": "7958b08bc35ef266ce8bd0a319cf9f826d65d971",
      "parents": [
        "b8ae418ba3a4cd2e7dc6c51037b31929cbccb1df"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 17 18:06:26 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 17 18:06:26 2026 +0200"
      },
      "message": "Remove the use of an internal interface from public API.\n"
    },
    {
      "commit": "b8ae418ba3a4cd2e7dc6c51037b31929cbccb1df",
      "tree": "7a19eacfacd92ab77bc737938dae145add08d188",
      "parents": [
        "30c90dd3c60da5f8e0d7f28efa4c98f07186dff2",
        "e3537fc7c1862eba0b639476eb0e40aba58c6c91"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 17 17:10:55 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 17 17:10:55 2026 +0200"
      },
      "message": "Merge branch \u0027geoapi-3.1\u0027.\n"
    },
    {
      "commit": "e3537fc7c1862eba0b639476eb0e40aba58c6c91",
      "tree": "718614b60e163cf5375b773790067083ff7df8b3",
      "parents": [
        "9c02e400ee6e71c8ffc504f6cf44a4f0ff6d1dc8",
        "e96a107208acc904df5b9640cd5a287c8143b325"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 17 16:51:55 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 17 16:51:55 2026 +0200"
      },
      "message": "Merge branch \u0027geoapi-4.0\u0027 into geoapi-3.1.\nContains a fix in netCDF parsing of GDAL\u0027s \"GeoTransform\" attribute.\n"
    },
    {
      "commit": "e96a107208acc904df5b9640cd5a287c8143b325",
      "tree": "bb5091c65137a47d1728a8ae4101ef2c35cd8458",
      "parents": [
        "5915cf55f76e409a5fd88453df6b2ffc61ddfd86"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 17 16:12:04 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 17 16:12:04 2026 +0200"
      },
      "message": "Resolve remaining logs printed during execution of test.\nThis is a continuation of the test logging work which was part of the previous commit.\n"
    },
    {
      "commit": "5915cf55f76e409a5fd88453df6b2ffc61ddfd86",
      "tree": "5e900c8eac6d204f78f74dfdf1d18b925dbcf185",
      "parents": [
        "c6cd7789c8c734dd4538cb3f77866aeaf296f9c1"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 17 12:43:14 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 17 12:43:14 2026 +0200"
      },
      "message": "chore(Storage): add a test to investigate data discovery in NetCDF files generated by GDAL using Transverse mercator projection.\nFix the cause, which was a mismatched number of dimensions between the data cube and the matrix in the `GeoTransform` attribute.\nFix the CRS definitions, which was using wrong names for some elements such as the base CRS of a projected CRS.\n\nCo-authored-by: Alexis Manin \u003calexis.manin@geomatys.com\u003e\n"
    },
    {
      "commit": "c6cd7789c8c734dd4538cb3f77866aeaf296f9c1",
      "tree": "c46203162da6c55c54dba1670bdcff3b8c8cb1cd",
      "parents": [
        "285a35ca4618f46ac1b861600aee17ff8f817050"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jul 15 14:43:46 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jul 15 14:43:46 2026 +0200"
      },
      "message": "Add a self-consistency test for GeoHEIF, similar to the existing self-consistency check of GeoTIFF.\n"
    },
    {
      "commit": "30c90dd3c60da5f8e0d7f28efa4c98f07186dff2",
      "tree": "53e0a956269a09dd0d1188a3add3c8c92cd5053b",
      "parents": [
        "a559ab6251b438da25afe506626a6546054037f5",
        "9c02e400ee6e71c8ffc504f6cf44a4f0ff6d1dc8"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jul 12 20:12:50 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jul 12 20:12:50 2026 +0200"
      },
      "message": "Merge branch \u0027geoapi-3.1\u0027\n"
    },
    {
      "commit": "9c02e400ee6e71c8ffc504f6cf44a4f0ff6d1dc8",
      "tree": "52524ececd092d2761d9ca79eef966584a1243a3",
      "parents": [
        "b6b21e6d9fe66893c4c1c01c4d80e7e324451423",
        "285a35ca4618f46ac1b861600aee17ff8f817050"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jul 12 20:10:23 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jul 12 20:10:23 2026 +0200"
      },
      "message": "Merge branch \u0027geoapi-4.0\u0027 into geoapi-3.1\n"
    },
    {
      "commit": "285a35ca4618f46ac1b861600aee17ff8f817050",
      "tree": "6e72b78af6e1a323f0d612a85b1fd0114e861aaa",
      "parents": [
        "9927bf7181878f5e9cb8b20d098bc16e8901d47e"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jul 12 19:41:00 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jul 12 20:07:00 2026 +0200"
      },
      "message": "Promote the GeoHEIF module from incubator to endorsed modules.\nhttps://issues.apache.org/jira/browse/SIS-636\n"
    },
    {
      "commit": "a559ab6251b438da25afe506626a6546054037f5",
      "tree": "ab20379858dfc07a483274ad4973ab20e721c799",
      "parents": [
        "9f647391e7615676d45827fcf8d197738b2be9ef",
        "b6b21e6d9fe66893c4c1c01c4d80e7e324451423"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jul 12 20:01:53 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jul 12 20:01:53 2026 +0200"
      },
      "message": "Merge branch \u0027geoapi-3.1\u0027\n"
    },
    {
      "commit": "b6b21e6d9fe66893c4c1c01c4d80e7e324451423",
      "tree": "3a823f7be4745e39fa3a34da7122f1cc7b4556ba",
      "parents": [
        "efcc2b768f55c0c37f28b8faf8805b585467534d",
        "9927bf7181878f5e9cb8b20d098bc16e8901d47e"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jul 12 19:56:16 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jul 12 19:56:16 2026 +0200"
      },
      "message": "Merge branch \u0027geoapi-4.0\u0027 into geoapi-3.1\n"
    },
    {
      "commit": "9927bf7181878f5e9cb8b20d098bc16e8901d47e",
      "tree": "92ed3cbe93e8bb46262ecc768bc5258cf106bae9",
      "parents": [
        "5c0f336fec3d24c38d78d4fef8000456b4973d77"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jul 12 18:44:34 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jul 12 19:53:28 2026 +0200"
      },
      "message": "Prepare for promotion of the GeoHEIFF module to the endorsed group of modules, which is still on Java 11.\n"
    },
    {
      "commit": "5c0f336fec3d24c38d78d4fef8000456b4973d77",
      "tree": "764e97a2ea206e0d1e16c9ba02b3a6b359d8425d",
      "parents": [
        "bda6b01110278437ecc37fad3a640938ff76d7fd"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jul 12 18:04:02 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jul 12 18:29:12 2026 +0200"
      },
      "message": "Localize the warnings and error messages of the HEIF module.\n"
    },
    {
      "commit": "bda6b01110278437ecc37fad3a640938ff76d7fd",
      "tree": "382f91b32adcad6945aefa88aba9fdf59d9da5bb",
      "parents": [
        "b50a2b81cf90b4a4ba9cd9fa1a51739971edca1f"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Jul 11 15:20:34 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Jul 11 20:25:43 2026 +0200"
      },
      "message": "Create coverage name in a way more consistent with TIFF reader.\n"
    },
    {
      "commit": "b50a2b81cf90b4a4ba9cd9fa1a51739971edca1f",
      "tree": "1464773c9d77c067f969624b13f895849eccd632",
      "parents": [
        "17aa5b6690f1d88727449a407df1805e73671379"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Jul 11 15:27:05 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Jul 11 16:11:00 2026 +0200"
      },
      "message": "Rename `CoverageBuilder` as `ImageResourceBuilder`.\n"
    },
    {
      "commit": "17aa5b6690f1d88727449a407df1805e73671379",
      "tree": "f77968bd75eaa4a2045bda32fd6c6625ba872a1f",
      "parents": [
        "f3fd0c2c600b32aba4810e4621cda789b7dc5aee"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Jul 11 15:03:14 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sat Jul 11 15:06:00 2026 +0200"
      },
      "message": "Rename GeoHEIF `Pyramid` class as `PyramidedImageResource`.\n"
    },
    {
      "commit": "f3fd0c2c600b32aba4810e4621cda789b7dc5aee",
      "tree": "f3280d0cede2fdcee054506a7adb2846732c92c1",
      "parents": [
        "b87ed440dbbd42fc654da67ab4bad9a3be28fa95"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 10 18:14:43 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jul 10 18:14:43 2026 +0200"
      },
      "message": "Be more conservative with files without georeferencing information.\nInstead of inferring a \"grid to CRS\" far from the reading process,\nuse a new `getGridGeometryWithDefaults()` method.\n"
    },
    {
      "commit": "9f647391e7615676d45827fcf8d197738b2be9ef",
      "tree": "06ea38b0d63af18bcf85f377264166fe1dc96926",
      "parents": [
        "442474f8201bc05548eedbfdbea5e93bc0c852b2",
        "efcc2b768f55c0c37f28b8faf8805b585467534d"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Jul 09 00:53:09 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Jul 09 00:53:09 2026 +0200"
      },
      "message": "Merge branch \u0027geoapi-3.1\u0027.\nContains bug fixes in HEIF reader and more robust support to the case where the CRS is missing.\n"
    },
    {
      "commit": "efcc2b768f55c0c37f28b8faf8805b585467534d",
      "tree": "c69c3c6f728db959c13c6ac9472c6ad12d22dc23",
      "parents": [
        "4589e86bfb91c0f1801bbf51f02c72f14a2b6872",
        "b87ed440dbbd42fc654da67ab4bad9a3be28fa95"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Jul 09 00:45:33 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Jul 09 00:45:33 2026 +0200"
      },
      "message": "Merge branch \u0027geoapi-4.0\u0027 into geoapi-3.1.\n"
    },
    {
      "commit": "b87ed440dbbd42fc654da67ab4bad9a3be28fa95",
      "tree": "72edb9e3de871510c807bec49ba1e17f78b6ecd6",
      "parents": [
        "5df73a7e8fd9da0c59e58b3c96e2d1ccc5bf94d5"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jul 08 10:57:10 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jul 08 18:17:31 2026 +0200"
      },
      "message": "Fix the notification of tile read events which was lost after the image to show changed.\nFix the display of pixel values which was broken when the coverage has no CRS.\n"
    },
    {
      "commit": "5df73a7e8fd9da0c59e58b3c96e2d1ccc5bf94d5",
      "tree": "a7b1b708e83571f7aa14999eb0758d528e71d314",
      "parents": [
        "cc658331f72db20c8b46a795022bbb646771214b"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jul 08 15:20:19 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jul 08 17:55:38 2026 +0200"
      },
      "message": "If the `gridToCRS` transform is not available, fallback on resolution.\nThis commit uses the information provided by the previous commit.\n"
    },
    {
      "commit": "cc658331f72db20c8b46a795022bbb646771214b",
      "tree": "23c2cea8a069022516f0a4302a68ecbff472a42c",
      "parents": [
        "3c5edfa91e8a1868c56ffd5046b38dae346bbee5"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jul 08 14:21:58 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jul 08 14:24:07 2026 +0200"
      },
      "message": "Consolidate the use of default resolution in a new `GridGeometry.defaultToGridCRS(Identifier)` method.\nThe goal is to handle missing \"grid to CRS\" transform in a way which is consistent between TIFF and HEIF.\n"
    },
    {
      "commit": "3c5edfa91e8a1868c56ffd5046b38dae346bbee5",
      "tree": "fb532175ad8e7d15972e44a8909cf9f0836f5b88",
      "parents": [
        "ccd08e213e1d99dd279a60e5141175433a591cf5"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jul 07 16:25:15 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jul 07 16:25:15 2026 +0200"
      },
      "message": "Make possible to use a pyramided TIFF image even if there is no \"grid to CRS\" transform.\n"
    },
    {
      "commit": "ccd08e213e1d99dd279a60e5141175433a591cf5",
      "tree": "76b9fcdb15a46b03c1558e12cbea0b8e81914c44",
      "parents": [
        "5b82429ee8d6caa5f464655153931f15a40b8704"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jul 07 00:36:22 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jul 07 00:36:22 2026 +0200"
      },
      "message": "Fix a wrong handling of subsampling in the HEIF reader.\n"
    },
    {
      "commit": "5b82429ee8d6caa5f464655153931f15a40b8704",
      "tree": "bca319386279e265af1d2429612c4e850be45168",
      "parents": [
        "9ead214688e4949ac1d24e64903bc3f938cfadb8"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Mon Jul 06 11:51:54 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Mon Jul 06 11:51:54 2026 +0200"
      },
      "message": "When computing the sub-region to read from a large untiled raster,\npixel coordinates need to be converted to sample value coordinates.\nThis conversion was done in TIFF reader but missing in HEIF reader.\nSince the conversion is not obvious, add a helper `Builder` class.\n"
    },
    {
      "commit": "9ead214688e4949ac1d24e64903bc3f938cfadb8",
      "tree": "68d5a5de94040747761a27c09cbe740b70ad8663",
      "parents": [
        "681836128c5c95151e7e887aa8f98cf005f68413"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Jul 02 11:03:09 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Jul 02 11:03:09 2026 +0200"
      },
      "message": "Fix the interleave type of RGB profile in HEIF files.\n"
    },
    {
      "commit": "681836128c5c95151e7e887aa8f98cf005f68413",
      "tree": "30d60278733eadcf7211c49a8738dc32cfaeadb8",
      "parents": [
        "6988814b79345969c34cd2681d5d59a9565035c8"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jun 24 20:59:29 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jun 24 20:59:29 2026 +0200"
      },
      "message": "Add a way to create an `EngineeringCRS` for a grid geometry which contains only an extent.\n"
    },
    {
      "commit": "6988814b79345969c34cd2681d5d59a9565035c8",
      "tree": "199ea1e009fa617eee831c96044454344b41a5d2",
      "parents": [
        "11a7a3936f7aa198677dada863897b30761aaa24"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jun 24 18:57:23 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jun 24 18:57:23 2026 +0200"
      },
      "message": "Avoid an `IllegalGridGeometryException` when a pyramid contains no \"grid to CRS\" transform.\n"
    },
    {
      "commit": "11a7a3936f7aa198677dada863897b30761aaa24",
      "tree": "1d91ba20672420c83f518b2c39366b18edd40dc2",
      "parents": [
        "c1f0c188164a5697af799a23bb3f17c6633d931f"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jun 24 10:33:33 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jun 24 10:33:33 2026 +0200"
      },
      "message": "Fix an exception when showing pixel coordinates of a 3D image in the JavaFX application.\nAlso fix misleading direction symbols and adjust some documentation.\nThe pixel coordinates are needed at least for debugging.\n"
    },
    {
      "commit": "442474f8201bc05548eedbfdbea5e93bc0c852b2",
      "tree": "8bea3fa22bfd113627d44d0fb62c5c71a3ea6d4f",
      "parents": [
        "f81f4d8c8ceb834d97c41f4722e324867fc36b96",
        "4589e86bfb91c0f1801bbf51f02c72f14a2b6872"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jun 23 17:51:00 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jun 23 17:51:00 2026 +0200"
      },
      "message": "Merge of automatic reorganization of imports order.\n"
    },
    {
      "commit": "4589e86bfb91c0f1801bbf51f02c72f14a2b6872",
      "tree": "7c2803f6c071b89fe527b68fcb0add09a17f16d4",
      "parents": [
        "90feafe896c6632a4813a874525695e87fb7814d",
        "c1f0c188164a5697af799a23bb3f17c6633d931f"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jun 23 17:48:39 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jun 23 17:48:39 2026 +0200"
      },
      "message": "Merge of automatic reorganization of imports order.\n"
    },
    {
      "commit": "c1f0c188164a5697af799a23bb3f17c6633d931f",
      "tree": "58e126bab9396356ebee332cb61d401ef0fc6437",
      "parents": [
        "cc7642ab5749e60953b18219f355a7c37ec2ce93"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jun 23 17:45:58 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jun 23 17:45:58 2026 +0200"
      },
      "message": "Post-merge automatic reorganization of imports order.\n"
    },
    {
      "commit": "f81f4d8c8ceb834d97c41f4722e324867fc36b96",
      "tree": "47f594d798056c6f5efdc2ee54e6f83d782f231c",
      "parents": [
        "f7bef1427dd8d8afa3e8c827da6d89018e005c0a",
        "90feafe896c6632a4813a874525695e87fb7814d"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jun 23 17:40:41 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jun 23 17:40:41 2026 +0200"
      },
      "message": "Merge branch \u0027geoapi-3.1\u0027.\nContains bug fixes in default implementation of `TileMatrix` interface.\n"
    },
    {
      "commit": "90feafe896c6632a4813a874525695e87fb7814d",
      "tree": "17450a959d44b95ba4e0b8c80ec7001a8c5bb212",
      "parents": [
        "9db36b9428dbd2503298a347fb4e912b17d5e904",
        "cc7642ab5749e60953b18219f355a7c37ec2ce93"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jun 23 17:29:37 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jun 23 17:29:37 2026 +0200"
      },
      "message": "Merge branch \u0027geoapi-4.0\u0027 into geoapi-3.1\n"
    },
    {
      "commit": "cc7642ab5749e60953b18219f355a7c37ec2ce93",
      "tree": "508f9ae791d3c46c1cc17be2030bbab39faef206",
      "parents": [
        "0061e5aa331a22fe13dc3bde2e7cd076a8ce7f93"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jun 23 17:26:09 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jun 23 17:26:09 2026 +0200"
      },
      "message": "Use an arbitrary region during S3 tests for avoiding the following exception thrown by AWS SDK on machines having no `~/.aws/credentials` file:\n\"Unable to load region from system settings. Region must be specified either via environment variable (AWS_REGION) or system property (aws.region).\"\n"
    },
    {
      "commit": "0061e5aa331a22fe13dc3bde2e7cd076a8ce7f93",
      "tree": "346fd3a6544ab01cff967c8fa5eed5055f4926c9",
      "parents": [
        "0a2fde06526eea639180b60a891ca01c038c4f11",
        "1d55e786a1ba1b0f5e2c07d8826abca992a49525"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jun 23 15:49:12 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jun 23 15:49:12 2026 +0200"
      },
      "message": "Merge branch \u0027fix/image-tile-matrix-get-tile\u0027 into geoapi-4.0.\nhttps://github.com/apache/sis/pull/43\n\nSummary of changes applied during the merge:\n* `imageTilingExtent` modified for avoiding exclusion of tiles outside previous requests but nevertheless loaded.\n* Iteration over slices moved after the computation of the intersection between requested bounds and available bounds.\n* Bug fix in calculation of `imageToTileX` and `imageToTileX` (was a bug in previous code, not in the pull request).\n* Renamed some variables for avoiding above confusion and for consistency with the names used in other classes.\n* Documentation, in particular about assumption that each slice has a \"tile size\" of 1.\n* In `ImageTileMatrixTest`, run the tests with sequential iterations before to test parallel iterations.\n"
    },
    {
      "commit": "0a2fde06526eea639180b60a891ca01c038c4f11",
      "tree": "cd827ce936408a97b8bef05ce3c40d7d2a716728",
      "parents": [
        "c13530cdad217d0fdcf85c75598c219b8bfe424b",
        "65cb2c71456fc661512a4cdd0d57e83a678ec4a2"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jun 21 19:00:54 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Sun Jun 21 19:00:54 2026 +0200"
      },
      "message": "Merge branch \u0027fix/geotiff-flaky-test\u0027 into geoapi-4.0\nhttps://github.com/apache/sis/pull/44\n\nChanges compared to the original pull request:\n* `Number` comparison initially added into `Utilities.deepEquals(…)` moved to `Range.equals(…)`.\n* Rely on `Utilities.deepEquals(…)` for comparing the content of `CategoryList`.\n* Allow (0 … 256) range to be considered as equivalent to [1 … 255].\n* `GeoTiffStoreTest` writes an uncompressed image instead of using the deflate algorithm.\n* Javadoc.\n"
    },
    {
      "commit": "f7bef1427dd8d8afa3e8c827da6d89018e005c0a",
      "tree": "500090fcf443b4a2fc21eabfe26e8f6ab6e8fb87",
      "parents": [
        "20ea158492c7fc8aba513e0cddfa1a89b64d9141",
        "9db36b9428dbd2503298a347fb4e912b17d5e904"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jun 19 19:32:02 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jun 19 19:32:02 2026 +0200"
      },
      "message": "Merge branch \u0027geoapi-3.1\u0027.\nContains developments of HEIF reader with support of `tili` image scheme and pyramid.\n"
    },
    {
      "commit": "9db36b9428dbd2503298a347fb4e912b17d5e904",
      "tree": "6175712c269ed0abca0fcad0c1440afbf5a8b125",
      "parents": [
        "a98da8ae9c6f27ab50fda7483d42006ec1237836",
        "c13530cdad217d0fdcf85c75598c219b8bfe424b"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jun 19 19:19:28 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jun 19 19:19:28 2026 +0200"
      },
      "message": "Merge branch \u0027geoapi-4.0\u0027 into geoapi-3.1\n"
    },
    {
      "commit": "c13530cdad217d0fdcf85c75598c219b8bfe424b",
      "tree": "d4c7994e4174b39c95342cab424eba76c981d95f",
      "parents": [
        "f2376c46f8cb42595b014f4e6a53b371d7abcc17"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jun 19 19:18:15 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jun 19 19:18:15 2026 +0200"
      },
      "message": "Try harder to build a sample model when there is insuffisient information.\n"
    },
    {
      "commit": "f2376c46f8cb42595b014f4e6a53b371d7abcc17",
      "tree": "6803f40da7158d20b61651dc822c3a9b84aa0e27",
      "parents": [
        "98c2112e62e9bf7255d0a5b0db64040f3ce9fee2"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jun 19 17:06:08 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jun 19 17:06:08 2026 +0200"
      },
      "message": "Fix a buffer used when inflating tile data in HEIF.\n"
    },
    {
      "commit": "98c2112e62e9bf7255d0a5b0db64040f3ce9fee2",
      "tree": "1b063e5b46b5bcffc35e7e13998301111949b933",
      "parents": [
        "ccfa3c11306edc60f8adcddc9b4cea8d3c6a69d3"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jun 19 00:14:36 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Fri Jun 19 00:14:36 2026 +0200"
      },
      "message": "Fix the computation of tile index in \"tili\" image scheme of GeoHEIF.\nLess distracting exception thrown when an error occurred during decompression.\n"
    },
    {
      "commit": "ccfa3c11306edc60f8adcddc9b4cea8d3c6a69d3",
      "tree": "f9fab482eee813aedbb0904d3e8ba21ac5d89f14",
      "parents": [
        "e14da0d68c39152e0450ddaea99e19c6db427b1c"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Jun 18 18:02:54 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Thu Jun 18 18:02:54 2026 +0200"
      },
      "message": "Fix the order of pyramid levels in HEIF file.\nOpportunistic fix in the formatting of scale factors.\n"
    },
    {
      "commit": "e14da0d68c39152e0450ddaea99e19c6db427b1c",
      "tree": "dc6f40aa614b29ddadb1b170ee57c7869db4cd8c",
      "parents": [
        "b811a4f2602b8ff853d92797ae726a6638cda9da"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jun 17 17:53:40 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jun 17 17:53:40 2026 +0200"
      },
      "message": "Allows to specify the locale when launching the JavaFX application.\nThis is useful for screenshots to an international audience.\n"
    },
    {
      "commit": "b811a4f2602b8ff853d92797ae726a6638cda9da",
      "tree": "1dbe7766c0cd60f60920a265283b8f5d40a8fb11",
      "parents": [
        "72024eaabc38223da6e608ff91b7a4639899c6dc"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jun 17 15:48:03 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jun 17 15:48:03 2026 +0200"
      },
      "message": "Add image size columns in `TileMatrixSetFormat`.\n"
    },
    {
      "commit": "72024eaabc38223da6e608ff91b7a4639899c6dc",
      "tree": "53ab60d5b257af36dd85cba30d490e0e60a0680b",
      "parents": [
        "0f40dab9eae684fca71beb2d5c600cccf1269491"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jun 17 12:58:39 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Wed Jun 17 14:20:28 2026 +0200"
      },
      "message": "Make HEIF pyramid more tolerant to the case when the \"grid to CRS\" transform is not specified.\n"
    },
    {
      "commit": "0f40dab9eae684fca71beb2d5c600cccf1269491",
      "tree": "470e37982e29f0309845ea95d07f3c68db06c054",
      "parents": [
        "d1a6399c251f354f104c69b3fc7bbf2aa809dfe7"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jun 16 18:39:32 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Tue Jun 16 18:39:32 2026 +0200"
      },
      "message": "Fix a wrong position of to the ZIP data to uncompress in a HEIF file.\n"
    },
    {
      "commit": "d1a6399c251f354f104c69b3fc7bbf2aa809dfe7",
      "tree": "0bef2b578ce9163bb9921fde641c4f1ef5257f4d",
      "parents": [
        "84de818e9feb0b64f50fc7c2b9ee2825611405ba"
      ],
      "author": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Mon Jun 15 17:29:28 2026 +0200"
      },
      "committer": {
        "name": "Martin Desruisseaux",
        "email": "martin.desruisseaux@geomatys.com",
        "time": "Mon Jun 15 17:35:28 2026 +0200"
      },
      "message": "Initial support of \"tili\" image type in GeoHEIF files.\n"
    }
  ],
  "next": "84de818e9feb0b64f50fc7c2b9ee2825611405ba"
}
