)]}'
{
  "log": [
    {
      "commit": "fd2d2c67ee966fe2bf8788d290db56cb4f9a5fa0",
      "tree": "e91810f9dde22ccc8794fadb9b7fb3db366d4078",
      "parents": [
        "2a24daff4f65952f095f61bc9967fc20ac882d29"
      ],
      "author": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Mon Apr 13 11:22:44 2026 +0200"
      },
      "committer": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Thu Apr 16 14:00:58 2026 +0200"
      },
      "message": "Migrate to bazel modules\n\nChange-Id: I9e49cecf628676744654746105e319f00b383387\n"
    },
    {
      "commit": "2a24daff4f65952f095f61bc9967fc20ac882d29",
      "tree": "1dba368ccfec71e735f3691eb204f19c315664b0",
      "parents": [
        "ff160213fc875ae6a08e49ce18296dc5eb485922"
      ],
      "author": {
        "name": "Wendy Wang",
        "email": "wendy.wang10@sap.com",
        "time": "Mon Nov 04 10:52:21 2024 +0100"
      },
      "committer": {
        "name": "Wendy Wang",
        "email": "wendy.wang10@sap.com",
        "time": "Mon Nov 04 10:52:25 2024 +0100"
      },
      "message": "Return nameId email as email address if not otherwise specified\n\nPreviously the nameId section of this function would never be used, as\ngetEmailAddress would just return the null emailAddress regardless of\nwhether or not the nameId was an email. This corrects that behavior.\n\nChange-Id: Ia68abd5f1806f41a8fadcb86ebe3c413308e430c\n"
    },
    {
      "commit": "ff160213fc875ae6a08e49ce18296dc5eb485922",
      "tree": "e07aacdaca6d09d3b8e941d5f8dbca379947a270",
      "parents": [
        "370227f79e3b0e21f65d1819ed2d278daeb35dc9",
        "766552f922b9bbb096145cca3f68fb0fb27cb586"
      ],
      "author": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Wed Jul 17 08:53:17 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 17 08:53:17 2024 +0000"
      },
      "message": "Merge \"Add option to enforce auth with IdP on session expiration\""
    },
    {
      "commit": "370227f79e3b0e21f65d1819ed2d278daeb35dc9",
      "tree": "a00f1223eb53fcc15536fa2e3580f9805c278205",
      "parents": [
        "225e59ceeb096d5f335e03217af5925fad07b181",
        "52e4757d8cde5132f2d9f74adf593db2277e4975"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Jul 12 23:53:40 2024 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Jul 16 00:19:14 2024 +0100"
      },
      "message": "Merge branch \u0027stable-3.8\u0027\n\n* stable-3.8:\n  SamlWebFilterIT: throw Exception from tests\n  Do not set full name when not allowed by Realm\n  Do not swallow the user provisioning exception\n  Fix formatting issues\n  Do not load the SAML plugin when auth.httpDisplaynameHeader is set\n\nChange-Id: I969be2417c0832cced13649a6462439601dc329c\n"
    },
    {
      "commit": "52e4757d8cde5132f2d9f74adf593db2277e4975",
      "tree": "06215225f5cef16aefdd8e04b827bc59bab526fd",
      "parents": [
        "30be2c6a0ac6b18a77213123f191beffadbcaf0e",
        "2edfa80c4b816be8d31b085ae16b9d77145dc179"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Jul 12 23:50:01 2024 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Jul 12 23:50:01 2024 +0100"
      },
      "message": "Merge branch \u0027stable-3.7\u0027 into stable-3.8\n\n* stable-3.7:\n  SamlWebFilterIT: throw Exception from tests\n  Do not set full name when not allowed by Realm\n  Do not swallow the user provisioning exception\n  Fix formatting issues\n  Do not load the SAML plugin when auth.httpDisplaynameHeader is set\n\nChange-Id: If26561d927afb8807634335fa3f0489d70cfc244\n"
    },
    {
      "commit": "2edfa80c4b816be8d31b085ae16b9d77145dc179",
      "tree": "06215225f5cef16aefdd8e04b827bc59bab526fd",
      "parents": [
        "30be2c6a0ac6b18a77213123f191beffadbcaf0e",
        "26e50c30ac32df9ebc5bf8d4dd06c1b550736b03"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Jul 12 23:48:21 2024 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Jul 12 23:48:21 2024 +0100"
      },
      "message": "Merge branch \u0027stable-3.6\u0027 into stable-3.7\n\n* stable-3.6:\n  SamlWebFilterIT: throw Exception from tests\n  Do not set full name when not allowed by Realm\n  Do not swallow the user provisioning exception\n  Fix formatting issues\n  Do not load the SAML plugin when auth.httpDisplaynameHeader is set\n\nChange-Id: I000922f4d26015821a5d01643bd24900f3f8c91a\n"
    },
    {
      "commit": "26e50c30ac32df9ebc5bf8d4dd06c1b550736b03",
      "tree": "06215225f5cef16aefdd8e04b827bc59bab526fd",
      "parents": [
        "a0a3e2d1baadce2723c121b2b1c13f96b4fee00a"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Jul 10 21:13:53 2024 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Jul 12 08:14:36 2024 +0000"
      },
      "message": "SamlWebFilterIT: throw Exception from tests\n\nChange-Id: I4203bdef0c8e4eb72173c82531b23caf6ae09929\n"
    },
    {
      "commit": "a0a3e2d1baadce2723c121b2b1c13f96b4fee00a",
      "tree": "44b77c6c67ccd82bf99d36ba2a2f8af97ff24691",
      "parents": [
        "a17fbcc806650ddb32b2aefe9636d4bbbca0075f"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Nov 15 09:52:36 2023 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Jul 12 08:14:36 2024 +0000"
      },
      "message": "Do not set full name when not allowed by Realm\n\nGerrit API for setting the full name may not be allowed\nby the authentication Realm, therefore the execution of\nthe REST-API to set that information from the SAML\nplugin may fail.\n\nIt is better to avoid setting the full name rather\nthan having a failed authentication: the underlying Realm\nin Gerrit will have a way to populate the missing information.\n\nChange-Id: I4a5687df90c177551cf405ff09e99ab26c659d86\n"
    },
    {
      "commit": "a17fbcc806650ddb32b2aefe9636d4bbbca0075f",
      "tree": "776ada5ee68e3280ddd62e7f2d0e428517c1fb26",
      "parents": [
        "93b72146a83e17d412a98da4400a34f31d91f609"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Nov 15 09:37:57 2023 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Jul 12 08:14:15 2024 +0000"
      },
      "message": "Do not swallow the user provisioning exception\n\nWhen the user provisioning fails because of the inability\nto set its full account name, the error should be also surfaced\nto the client, so that it is clear that something isn\u0027t right\nand its account is not fully processed.\n\nAlso cache the filter chain response\u0027s status code in case\nan error happens when finalising the provisioning of the user.\n\nChange-Id: Ib53f5cfae3f0a2e841e0d575038dd6c182b3bfa9\n"
    },
    {
      "commit": "93b72146a83e17d412a98da4400a34f31d91f609",
      "tree": "7ddd221ba86f1de5e449ccbf11d4caa50a5dbc5b",
      "parents": [
        "ac48a49c97c2ca18c9c82ac144078cf484e408cf"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Jul 11 22:24:11 2024 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Jul 11 22:24:32 2024 +0100"
      },
      "message": "Fix formatting issues\n\nReformat all files with GJF 1.7 and apply fixes.\n\nChange-Id: I16772b5d975cf3966fc432df1e8828f76b927e79\n"
    },
    {
      "commit": "766552f922b9bbb096145cca3f68fb0fb27cb586",
      "tree": "28e1ecd16f88365e65b5324eed93b16ff9820778",
      "parents": [
        "225e59ceeb096d5f335e03217af5925fad07b181"
      ],
      "author": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Wed Jul 10 15:42:42 2024 +0200"
      },
      "committer": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Wed Jul 10 15:47:27 2024 +0200"
      },
      "message": "Add option to enforce auth with IdP on session expiration\n\nIf the session in Gerrit expires, it will cause Gerrit to log in with\nthe SAML IdP again. However, not every IdP will require the user to\nauthenticate again, e.g. if the auth session in the IdP is longer than\nincGerrit. This might especially be the case, if the IdP is used for\nmultiple applications, where some require less strict authentication.\n\nThis change adds an option to enforce authentication on login, i.e. if\nthe session in Gerrit has expired, users will have to authenticate\nagain.\n\nChange-Id: Ib558e2b3a896b0e096b7b3ca9593e0d2b5d7b88f\n"
    },
    {
      "commit": "225e59ceeb096d5f335e03217af5925fad07b181",
      "tree": "e8fa62887615984322c795a322b99625f92f9802",
      "parents": [
        "00a2c9c84a5f0ebe029d4c2475222f85e522022d"
      ],
      "author": {
        "name": "Saša Živkov",
        "email": "sasa.zivkov@sap.com",
        "time": "Mon Feb 26 11:10:18 2024 +0100"
      },
      "committer": {
        "name": "Saša Živkov",
        "email": "sasa.zivkov@sap.com",
        "time": "Mon Feb 26 11:10:18 2024 +0100"
      },
      "message": "Add binding for SamlConfig class to the Module\n\nChange-Id: I63482d48a459db6d9cd75250b772cb85e0074407\n"
    },
    {
      "commit": "00a2c9c84a5f0ebe029d4c2475222f85e522022d",
      "tree": "115f3b00f723c323e00e609dffd4eabdd04c3f7f",
      "parents": [
        "aab5e9008feb1a6c18bb420fa5232650ccbac3b8"
      ],
      "author": {
        "name": "Saša Živkov",
        "email": "sasa.zivkov@sap.com",
        "time": "Tue Feb 20 14:30:56 2024 +0100"
      },
      "committer": {
        "name": "Saša Živkov",
        "email": "sasa.zivkov@sap.com",
        "time": "Mon Feb 26 10:11:05 2024 +0100"
      },
      "message": "Factor out handling the lib-module\u0027s data path\n\nProvide injection of @LibModuleData Path which resolves into\n$SITE/data/saml. A similar logic exists in Gerrit core for the\n@PluginData Path binding but this code is, unfortunately, not exposed to\nmodules.  For that reason this commit copies the logic for the\nplugin data directory creation in the LibModuleDataDirUtil class.\n\nThe code in LibModuleDataDirUtil honors an already existing directory,\nalso when it exists as a symlink.\n\nChange-Id: I39cd43a27dec824827bec313b06d0a47271f177c\n"
    },
    {
      "commit": "aab5e9008feb1a6c18bb420fa5232650ccbac3b8",
      "tree": "56dc737898a85c738f5977fe62c93e3c819996de",
      "parents": [
        "ed57722e28a9220287a02add189c7c88aa5e8a00"
      ],
      "author": {
        "name": "Saša Živkov",
        "email": "sasa.zivkov@sap.com",
        "time": "Tue Feb 20 14:14:40 2024 +0100"
      },
      "committer": {
        "name": "Saša Živkov",
        "email": "sasa.zivkov@sap.com",
        "time": "Tue Feb 20 14:53:06 2024 +0100"
      },
      "message": "Move auth-headers set creation out of the SamlWebFilter\n\nDefine an annotated binding in the Module that provides injection of the\n@AuthHeaders Set\u003cString\u003e.\n\nChange-Id: I928a793479b4c65265f911f84b3bdea8b2d9694f\n"
    },
    {
      "commit": "ed57722e28a9220287a02add189c7c88aa5e8a00",
      "tree": "e7ae0ab97837d8739d37c628271efc28fae99aa4",
      "parents": [
        "282d4e3d6b29e852a0dbc2680d4589025794ce5d"
      ],
      "author": {
        "name": "Saša Živkov",
        "email": "sasa.zivkov@sap.com",
        "time": "Tue Feb 20 13:29:35 2024 +0100"
      },
      "committer": {
        "name": "Saša Živkov",
        "email": "sasa.zivkov@sap.com",
        "time": "Tue Feb 20 13:29:35 2024 +0100"
      },
      "message": "Avoid explicit instantiation of the SamlClientProvider\n\nBind Provider\u003cSAML2Client\u003e to SamlClientProvider in a Guice module and\nmake sure to install that module using gerrit.installModule option.\n\nOnce Guice knows Provider\u003cSAML2Client\u003e binding we can also inject just\nthe SAML2Client.\n\nChange-Id: Id16e9f55cd88a4eae5b0558d8ecb121c1ce32d2e\n"
    },
    {
      "commit": "282d4e3d6b29e852a0dbc2680d4589025794ce5d",
      "tree": "bf0652aca47013f94681f0d096928dd27eaec6a9",
      "parents": [
        "e2f1d87f59083f709b3b237dd539ba7175597612"
      ],
      "author": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Wed Jan 24 16:00:40 2024 +0100"
      },
      "committer": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Wed Jan 24 16:00:40 2024 +0100"
      },
      "message": "Instantiate SamlClientProvider instead of injecting it\n\nInjecting the SamlClientProvider led to the SamlCLient to be\nunconfigured, which broke the plugin.\n\nThe assumed reason is that the SamlWebFilter is being injected, when\nloading configured filter classes in core, which is happening before\nplugin modules are being installed or other plugin classes were\nloaded. Thus, injection didn\u0027t work properly.\n\nChange-Id: I71796e669cc6064f955a2aca1497561464a21c50\n"
    },
    {
      "commit": "e2f1d87f59083f709b3b237dd539ba7175597612",
      "tree": "1cbdc452504d22525daaec14f155be6167f13b2d",
      "parents": [
        "33cffda214e087ec9cd61d33ac1068afdba84a1a"
      ],
      "author": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Wed Dec 13 14:58:44 2023 +0100"
      },
      "committer": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Fri Dec 15 14:28:28 2023 +0100"
      },
      "message": "Add tool to create SAML metadata offline\n\nThe SAML metadata file (`$SITE/data/saml/sp-metadata.xml`) will be created on the\nfirst login attempt, when the plugin has been installed. However, at that point\nauthentication would fail until the identity provider was configured using the\nmetadata file of Gerrit.\n\nTo avoid this period in which authentication is not possible, the metadata can\nnow be created offline.\n\nChange-Id: I0048f7fcf872fc24ed78c36efbf72e182197ccfd\n"
    },
    {
      "commit": "33cffda214e087ec9cd61d33ac1068afdba84a1a",
      "tree": "15df894f70fb632d5c13eb76ed5e025db2b43501",
      "parents": [
        "f240a220f05ec054728161be66b27b89178dc9b7"
      ],
      "author": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Thu Dec 14 09:26:09 2023 +0100"
      },
      "committer": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Fri Dec 15 14:18:23 2023 +0100"
      },
      "message": "Factor out SamlClient creation\n\nThe SAML client creation was completely done in the constructor\nof the filter. To make it more readable extract it into its own\nclass.\n\nChange-Id: If938e283f2a338a3503f76c41d09261d1f0ed5ef\n"
    },
    {
      "commit": "f240a220f05ec054728161be66b27b89178dc9b7",
      "tree": "3638c659dbdbcf7b90a70d6cb56294210c366ebd",
      "parents": [
        "d6370efed09df231e0ed23b2114d749f01c413e4"
      ],
      "author": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Thu Dec 14 09:25:32 2023 +0100"
      },
      "committer": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Fri Dec 15 14:18:23 2023 +0100"
      },
      "message": "Ensure support for relative keystore path\n\nUse SitePaths to resolve relative paths for the keystore used by\nSAML.\n\nThis also sets a default for the keystore path, since it is mandatory.\nThe default is set to the same as the https.sslKeystore from the Gerrit\ncore configuration.\n\nChange-Id: I5ebbdd7d8db87628c94a794f1637aa7197e64175\n"
    },
    {
      "commit": "d6370efed09df231e0ed23b2114d749f01c413e4",
      "tree": "08cb2acf44f4ed264b1ab9562e6b018ca1996d90",
      "parents": [
        "2fa6b8cdabf836433b76c903f33827c2686e7f02"
      ],
      "author": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Fri Dec 15 10:49:38 2023 +0100"
      },
      "committer": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Fri Dec 15 14:18:23 2023 +0100"
      },
      "message": "Fix duplication in method name to SamlConfig.getStringWithDefault()\n\nChange-Id: I4ee3294fb6476dc3bc8492d5b09fcd398fd1c950\n"
    },
    {
      "commit": "2fa6b8cdabf836433b76c903f33827c2686e7f02",
      "tree": "f0ddab9c4007c24d4864b4edd335dccd69211a71",
      "parents": [
        "1c4d51501965f60e476c9f49a2603ab35c9d3b96"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Nov 29 15:28:11 2023 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Nov 29 15:28:11 2023 +0000"
      },
      "message": "Reformat with GJF\n\nChange-Id: Ieb6919b73f23c9f862b5f272e7cb5286de6bdea5\n"
    },
    {
      "commit": "1c4d51501965f60e476c9f49a2603ab35c9d3b96",
      "tree": "75181c1dfce197ec8660b036ba9c7fc5da228e78",
      "parents": [
        "30be2c6a0ac6b18a77213123f191beffadbcaf0e"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Nov 29 15:25:53 2023 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Nov 29 15:27:32 2023 +0000"
      },
      "message": "Move Sequences class to com.google.gerrit.server for stable-3.9 onwards\n\nSAML master branch points to all versions of Gerrit from\nstable-3.9 onwards, therefore the Sequences package name needs\nto be adapted to com.google.gerrit.server.\n\nChange-Id: Icdf68eebcc065af155f4191220fa5bf18a92b4e5\n"
    },
    {
      "commit": "ac48a49c97c2ca18c9c82ac144078cf484e408cf",
      "tree": "8b4d48d42f6bad19231854f68b86b7f88e3c4f82",
      "parents": [
        "30be2c6a0ac6b18a77213123f191beffadbcaf0e"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Nov 14 00:01:49 2023 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Nov 14 00:03:08 2023 +0000"
      },
      "message": "Do not load the SAML plugin when auth.httpDisplaynameHeader is set\n\nThe auth.httpDisplaynameHeader is not supported anymore with the SAML\nplugin. Having the configuration set causes the SAML authentication to\nfail because the Gerrit API to set the full name would be forbidden.\n\nChange-Id: I3286c5b4a60c61c85bc283d619155d5067c8556d\n"
    },
    {
      "commit": "30be2c6a0ac6b18a77213123f191beffadbcaf0e",
      "tree": "68c146645083bea90c241359d4d081b57c66a670",
      "parents": [
        "7a94722e522752a7981201aad5540e54d4da18d5",
        "5ba719785afd6823632864cd851c1373bbf006c9"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Wed Sep 06 13:02:39 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Wed Sep 06 13:04:08 2023 +0100"
      },
      "message": "Merge branch \u0027stable-3.4\u0027\n\n* stable-3.4:\n  Add missing copyright header to SamlWebFilterIT.java\n  Remove httpDisplaynameHeader config option\n  Support display names with non-ISO-8859-1 characters\n\nChange-Id: I80f3619e05364f9bc2eef1df2194e98596b219f3\n"
    },
    {
      "commit": "5ba719785afd6823632864cd851c1373bbf006c9",
      "tree": "ee87a69297a47a4e9911796caaef365d6785d7a8",
      "parents": [
        "4391380751fef433a797ae6a3082779812a7d6a1",
        "314246cf377c1d5c5b8addf493390cf05d557a3e"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Wed Sep 06 12:58:43 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Wed Sep 06 12:59:08 2023 +0100"
      },
      "message": "Merge branch \u0027stable-3.3\u0027 into stable-3.4\n\n* stable-3.3:\n  Add missing copyright header to SamlWebFilterIT.java\n  Remove httpDisplaynameHeader config option\n  Support display names with non-ISO-8859-1 characters\n\nChange-Id: Id00268f9209cac33ac974ad96ebbc81925b3ac07\n"
    },
    {
      "commit": "314246cf377c1d5c5b8addf493390cf05d557a3e",
      "tree": "b6979d8a6a416b04315d416ae33142d68a73ee4c",
      "parents": [
        "2ec2c14205e9fcdd72219052eca4907188f57b07",
        "98eec5dcb4ebac48d802c7c76ff0cc85a08aab48"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Wed Sep 06 12:57:24 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Wed Sep 06 12:57:48 2023 +0100"
      },
      "message": "Merge branch \u0027stable-3.2\u0027 into stable-3.3\n\n* stable-3.2:\n  Add missing copyright header to SamlWebFilterIT.java\n  Remove httpDisplaynameHeader config option\n  Support display names with non-ISO-8859-1 characters\n\nChange-Id: I0cbb4d704378c0cc2e15dbccbb26007551b02153\n"
    },
    {
      "commit": "98eec5dcb4ebac48d802c7c76ff0cc85a08aab48",
      "tree": "b6979d8a6a416b04315d416ae33142d68a73ee4c",
      "parents": [
        "1a53c0ebee1c4381883097f9d4a6ab0cb72fc061"
      ],
      "author": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Wed Sep 06 05:47:05 2023 +0000"
      },
      "committer": {
        "name": "Jacek Centkowski",
        "email": "geminica.programs@gmail.com",
        "time": "Wed Sep 06 05:48:04 2023 +0000"
      },
      "message": "Add missing copyright header to SamlWebFilterIT.java\n\nChange-Id: I26131597c7ae08e5ad60804ffe331508f250587a\n"
    },
    {
      "commit": "1a53c0ebee1c4381883097f9d4a6ab0cb72fc061",
      "tree": "ce2c5936dccef958d837dc8f55214793ef88e6d7",
      "parents": [
        "5febf67aa4897d2c45a514e254db165c7181f6e8"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Mon Sep 04 14:17:47 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Tue Sep 05 14:28:03 2023 +0100"
      },
      "message": "Remove httpDisplaynameHeader config option\n\nAs of change If91b1cb9393e2fcb67efde982c5889f4ca99bf17 this option isn\u0027t\nused anymore.\n\nBug: Issue 40012596\nChange-Id: I3aa4941ee77e41c66d8739964211e364c0d646c3\n"
    },
    {
      "commit": "5febf67aa4897d2c45a514e254db165c7181f6e8",
      "tree": "8ea7e34425f548c39c9275d713cd0fc76aff2ad7",
      "parents": [
        "c2c92ddba840997cbdbb82e1764c8674894b4756"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Fri Aug 18 14:35:12 2023 +0200"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Tue Sep 05 14:28:03 2023 +0100"
      },
      "message": "Support display names with non-ISO-8859-1 characters\n\nThe SAML plugin relied on request headers to pass the display name to\nGerrit. This was problematic as Gerrit follows RFC-7230\u0027s recommendation\n[1] of using ISO-8859-1 characters - ideally US-ASCII only. This worked\nuntil change 94918 enforced ISO-8859-1 encoding in the display name\nheader, and unintentionally (presumably, as there are no tests) also\nbroke characters that are present but have different encodings in\nISO-8859-1 and UTF-8 (a bug report was raised for this [2]).\n\nThis change implements Luca\u0027s suggestion [3] not to use headers at all,\nbut instead make a call via Gerrit\u0027s API once the user has been\nauthenticated. This happens after login and circumvents the issue around\nheader charsets.\n\n[1] https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.4\n[2] https://issues.gerritcodereview.com/issues/296001714\n[3] https://gerrit-review.googlesource.com/c/plugins/saml/+/369676/comments/2da3a9f3_1f3c9af3\n\nBug: Issue 40012596\nChange-Id: I321cb9d17d8013a042ea7a4822a606dde8329303\n"
    },
    {
      "commit": "7a94722e522752a7981201aad5540e54d4da18d5",
      "tree": "38ed73995461516bd19d3fa12c97001373be46d4",
      "parents": [
        "81e3a737780ee9b3d40f54a0b3255752c790d6c7"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "sven.selberg@axis.com",
        "time": "Mon May 08 07:00:42 2023 +0000"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "sven.selberg@axis.com",
        "time": "Mon May 08 07:05:50 2023 +0000"
      },
      "message": "Use uppercase version of configured HTTP headers\n\nBefore Authconfig was introduced the helper method to get the\nHTTP headers from config also changed them into uppercase.\nUse uppercase version of the the auth headers from AuthConfig.\n\nChange-Id: Iec0884d2c9d8880c19a010fcef926b70aba66ba0\n"
    },
    {
      "commit": "81e3a737780ee9b3d40f54a0b3255752c790d6c7",
      "tree": "814dd305d108b0de1a420ae95fada10c1bbfef3f",
      "parents": [
        "58c57f8a3bf6f0f6ca8bc7d975f92e3672bd3655"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Apr 19 14:36:26 2023 +0200"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "sven.selberg@axis.com",
        "time": "Thu May 04 13:16:46 2023 +0000"
      },
      "message": "Inject AuthConfig instead of reading gerrit.config\n\nChange-Id: Iaaddf33e4f8eca782b91369a64e095a4c685363d\n"
    },
    {
      "commit": "58c57f8a3bf6f0f6ca8bc7d975f92e3672bd3655",
      "tree": "da157cc3ac9a4b2f1ff833a53ac187a45c0a6e87",
      "parents": [
        "39a4a89208b244b67f61e1d28d078d1c68c4dca6"
      ],
      "author": {
        "name": "Sven Selberg",
        "email": "svense@axis.com",
        "time": "Wed Apr 19 14:27:26 2023 +0200"
      },
      "committer": {
        "name": "Sven Selberg",
        "email": "sven.selberg@axis.com",
        "time": "Thu May 04 13:10:24 2023 +0000"
      },
      "message": "Inject @CanonicalWebUrl instead of reading from config\n\nChange-Id: I2d68a7672079c53eac8070145523fe91e028d358\n"
    },
    {
      "commit": "39a4a89208b244b67f61e1d28d078d1c68c4dca6",
      "tree": "e0a7bd2a3a06fa381b21f33863dd3f3545d472ba",
      "parents": [
        "3c5b2cd74ebe1ee31bc71789ab62838e5a6bd78a",
        "4391380751fef433a797ae6a3082779812a7d6a1"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 15 22:36:06 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 15 22:36:06 2022 +0000"
      },
      "message": "Merge branch \u0027stable-3.4\u0027\n\n* stable-3.4:\n  Create HTTP session only for login requests\n\nChange-Id: I6143bccd46a0a683d5da241db3eb3d1e1f945830\n"
    },
    {
      "commit": "4391380751fef433a797ae6a3082779812a7d6a1",
      "tree": "636eb490b2d2949cd888f2f1452579c5038e9933",
      "parents": [
        "21aabba19698a57b43ae21c6a4fdc07fa268461a",
        "2ec2c14205e9fcdd72219052eca4907188f57b07"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 15 22:35:14 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 15 22:35:14 2022 +0000"
      },
      "message": "Merge branch \u0027stable-3.3\u0027 into stable-3.4\n\n* stable-3.3:\n  Create HTTP session only for login requests\n\nChange-Id: I2cdbe081bde805ac0f90c38bfdfe7bc0b333b64b\n"
    },
    {
      "commit": "2ec2c14205e9fcdd72219052eca4907188f57b07",
      "tree": "96ec33cb4579a2a9d28b5ab47fc88260d27c265b",
      "parents": [
        "5638f4d8b083fc4f2d3ad8bd0b3a730642e10cd1",
        "c2c92ddba840997cbdbb82e1764c8674894b4756"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 15 22:34:51 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 15 22:34:51 2022 +0000"
      },
      "message": "Merge branch \u0027stable-3.2\u0027 into stable-3.3\n\n* stable-3.2:\n  Create HTTP session only for login requests\n\nChange-Id: If76e038e2fd88f09f431f968fdad53ebe43f81a0\n"
    },
    {
      "commit": "c2c92ddba840997cbdbb82e1764c8674894b4756",
      "tree": "96ec33cb4579a2a9d28b5ab47fc88260d27c265b",
      "parents": [
        "4a39e09f15b6a75ec82214f8c8c1ff63749ad2ff",
        "464dd5c4325ced2cd413975da7ad198015407f01"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 15 22:32:03 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 15 22:32:03 2022 +0000"
      },
      "message": "Merge branch \u0027stable-3.1\u0027 into stable-3.2\n\n* stable-3.1:\n  Create HTTP session only for login requests\n\nChange-Id: I79f23cc0f4f770bd14178b75f12066e0a001a1f0\n"
    },
    {
      "commit": "464dd5c4325ced2cd413975da7ad198015407f01",
      "tree": "0f5669c4206455bb0b8ca42aab432ace6711d869",
      "parents": [
        "1b92449cd851360658e4cf5f0dc1215a7279f378",
        "791f74b69b21e25a7a9d06d1d996cacb287b8559"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 15 22:29:20 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 15 22:29:20 2022 +0000"
      },
      "message": "Merge branch \u0027stable-3.0\u0027 into stable-3.1\n\n* stable-3.0:\n  Create HTTP session only for login requests\n\nChange-Id: Ib0c8e2a2a5fa0c153de294df4b04e612bf25bed4\n"
    },
    {
      "commit": "791f74b69b21e25a7a9d06d1d996cacb287b8559",
      "tree": "534bf421a541e185b8c6ef88eb6d3850f4b2521d",
      "parents": [
        "2a846f18a7e969c1f7284c1676c78d44a4d3468d",
        "01c8be6c332adeb45300a7e4a41e98524348e927"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 15 22:28:48 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 15 22:28:48 2022 +0000"
      },
      "message": "Merge branch \u0027stable-2.16\u0027 into stable-3.0\n\n* stable-2.16:\n  Create HTTP session only for login requests\n\nChange-Id: I432b5917224f4e56c6167384ba069d7976718aee\n"
    },
    {
      "commit": "01c8be6c332adeb45300a7e4a41e98524348e927",
      "tree": "84675360a547c4e6b5e888d8c04241cb24688906",
      "parents": [
        "7c6862cbd1cd2ac8b36ab5fc681375a721f26b14"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 15 22:23:32 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 15 22:27:11 2022 +0000"
      },
      "message": "Create HTTP session only for login requests\n\nPreviously the SAML filter was creating a new Jetty HTTP\nsession for any request to Gerrit, including the ones that\nare not supposed to go through a SAML authentication handshake.\n\nDelay the creation of the session and fetching of the user\nuntil the request has to process that information for a login\nauthentication flow.\n\nAllow to massively reduce the number of sessions created\nand also minimize the associated resource allocation.\n\nChange-Id: I81af508f550b1c32e03616de0e82e7af99cbc880\n"
    },
    {
      "commit": "3c5b2cd74ebe1ee31bc71789ab62838e5a6bd78a",
      "tree": "e0e7b415f84bdec524402a28fbe0e05f014b2a99",
      "parents": [
        "1168afc16723ddc9bf9cb5c046e7d3143781761c"
      ],
      "author": {
        "name": "Janne Rönkkö",
        "email": "janne.ronkko@vincit.fi",
        "time": "Thu May 05 15:05:20 2022 +0300"
      },
      "committer": {
        "name": "Janne Rönkkö",
        "email": "janne.ronkko@vincit.fi",
        "time": "Fri May 27 11:56:50 2022 +0300"
      },
      "message": "Fix login issue with Gerrit 3.6\n\nStarting from Gerrit release 3.6 dependency to commons-lang was upgraded to\ncommons-lang3 in change 319919. Given that third party dependency still depends\non commons-lang we re-add commons-lang in this plugin.\n\nChange-Id: If7d3d69bba10979a096bfef269e5bb6812f20f97\n"
    },
    {
      "commit": "1168afc16723ddc9bf9cb5c046e7d3143781761c",
      "tree": "d5d831dcbcbaa7de26c82153eb968012a04bc4da",
      "parents": [
        "da366dc2efecf80cb42c6b15d8a97a2164cace38"
      ],
      "author": {
        "name": "Robert Neumayer",
        "email": "neumayer@alumni.ntnu.no",
        "time": "Wed Dec 15 13:07:02 2021 +0100"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Dec 27 08:19:38 2021 +0100"
      },
      "message": "Update references to refactored class name\n\nThis is to take into account the refactoring that was done\nin: 249b6e4ace.\n\nBug: Issue 15444\nChange-Id: I8548a89ca39a3818a5bd1db737136e1de2e20dec\n"
    },
    {
      "commit": "da366dc2efecf80cb42c6b15d8a97a2164cace38",
      "tree": "b8779a1546a8836f492d232791e995e57e7ebf00",
      "parents": [
        "21aabba19698a57b43ae21c6a4fdc07fa268461a"
      ],
      "author": {
        "name": "Thomas Draebing",
        "email": "thomas.draebing@sap.com",
        "time": "Mon Apr 12 10:19:20 2021 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Dec 27 08:18:59 2021 +0100"
      },
      "message": "Adapt to new AuthRequest API\n\nBug: Issue 15444\nChange-Id: I026887b49afd5f9fd4fc8680ff93e60600f9980c\n"
    },
    {
      "commit": "21aabba19698a57b43ae21c6a4fdc07fa268461a",
      "tree": "7e0c503bd904ac83e6d7b3ad14e08d3d90f666ac",
      "parents": [
        "48196d744fd9e95f63eff9f90972fdc909772f11",
        "c60f0e8e686313c436b0270a8897e3e6375eda31"
      ],
      "author": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Fri Apr 16 08:50:14 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 16 08:50:14 2021 +0000"
      },
      "message": "Merge \"Add documentation for a test setup using SimpleSamlPhp\""
    },
    {
      "commit": "c60f0e8e686313c436b0270a8897e3e6375eda31",
      "tree": "8680559fc3ccd49789c2aa7278a1439914f8ddf4",
      "parents": [
        "125f4f6367059f27b67d3309672ee1d643d44737"
      ],
      "author": {
        "name": "Thomas Draebing",
        "email": "thomas.draebing@sap.com",
        "time": "Fri Apr 16 10:18:51 2021 +0200"
      },
      "committer": {
        "name": "Thomas Draebing",
        "email": "thomas.draebing@sap.com",
        "time": "Fri Apr 16 10:18:51 2021 +0200"
      },
      "message": "Add documentation for a test setup using SimpleSamlPhp\n\nChange-Id: I1a4dbc17131cc3f1e9bc37c58458516ecf8b93b8\n"
    },
    {
      "commit": "48196d744fd9e95f63eff9f90972fdc909772f11",
      "tree": "4aed40e2344ffe17e5f1bf2908b7c5239cb89f61",
      "parents": [
        "125f4f6367059f27b67d3309672ee1d643d44737",
        "5638f4d8b083fc4f2d3ad8bd0b3a730642e10cd1"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Wed Apr 07 22:20:04 2021 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Wed Apr 07 22:20:04 2021 +0200"
      },
      "message": "Merge branch \u0027stable-3.3\u0027\n\n* stable-3.3:\n  Update Okta instructions\n\nChange-Id: Ia6b8a68cda523bc79f60ec83bc56828e02cc5573\n"
    },
    {
      "commit": "5638f4d8b083fc4f2d3ad8bd0b3a730642e10cd1",
      "tree": "64a5f8408390998a53fc4e6b01b4c53ef77755f9",
      "parents": [
        "f1148dd96198146b7a76f2571865e3ce5df676e7",
        "4a39e09f15b6a75ec82214f8c8c1ff63749ad2ff"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Wed Apr 07 22:19:39 2021 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Wed Apr 07 22:19:39 2021 +0200"
      },
      "message": "Merge branch \u0027stable-3.2\u0027 into stable-3.3\n\n* stable-3.2:\n  Update Okta instructions\n\nChange-Id: I7ffb13546571eeb2f387405de49009c2f524c8ff\n"
    },
    {
      "commit": "4a39e09f15b6a75ec82214f8c8c1ff63749ad2ff",
      "tree": "64a5f8408390998a53fc4e6b01b4c53ef77755f9",
      "parents": [
        "f1148dd96198146b7a76f2571865e3ce5df676e7",
        "1b92449cd851360658e4cf5f0dc1215a7279f378"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Wed Apr 07 22:18:47 2021 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Wed Apr 07 22:18:47 2021 +0200"
      },
      "message": "Merge branch \u0027stable-3.1\u0027 into stable-3.2\n\n* stable-3.1:\n  Update Okta instructions\n\nChange-Id: I040b7b95d498542286683ae23c6cd61153d2d309\n"
    },
    {
      "commit": "1b92449cd851360658e4cf5f0dc1215a7279f378",
      "tree": "274efe4984ea1b5b444af94efaa20cf44edce47e",
      "parents": [
        "2a846f18a7e969c1f7284c1676c78d44a4d3468d"
      ],
      "author": {
        "name": "James E. Blair",
        "email": "jim@acmegating.com",
        "time": "Tue Mar 30 11:30:12 2021 -0700"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Apr 05 14:52:46 2021 +0200"
      },
      "message": "Update Okta instructions\n\nI recently verified that the comments in\nhttps://bugs.chromium.org/p/gerrit/issues/detail?id\u003d12570\nare applicable and resolve the errors that will occur if the current\ninstructions are followed.\n\nThe serviceProviderEntityId setting described in the issue does not\nappear to be required.\n\nChange-Id: Iea252cfccab505a87b76185c00e3acdd47cdc4ec\n"
    },
    {
      "commit": "125f4f6367059f27b67d3309672ee1d643d44737",
      "tree": "5dda14136a489ba23b951a2f0e929e0bcdebbe4f",
      "parents": [
        "f1148dd96198146b7a76f2571865e3ce5df676e7"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Apr 05 14:39:54 2021 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Apr 05 14:40:53 2021 +0200"
      },
      "message": "Adapt to change in Gerrit core\n\nIn Ia177bc8cfd6 InternalGroup was moved to the entities package.\n\nChange-Id: If66f3a1534a750bece27340e192a09cc11a237e9\n"
    },
    {
      "commit": "f1148dd96198146b7a76f2571865e3ce5df676e7",
      "tree": "e31ba98e10ba7c16ba861698522a3996282dabe3",
      "parents": [
        "2a846f18a7e969c1f7284c1676c78d44a4d3468d"
      ],
      "author": {
        "name": "Steven Aerts",
        "email": "steven.aerts@gmail.com",
        "time": "Wed Mar 13 16:51:12 2019 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Sep 17 19:23:36 2020 +0000"
      },
      "message": "Support for memberOfAttr\n\nThis attribute will synchronize SAML membership with gerrit group\nmembership.\n\nChange-Id: I87a008201e290e2183696f65d1f9406ece26a02b\n"
    },
    {
      "commit": "2a846f18a7e969c1f7284c1676c78d44a4d3468d",
      "tree": "3ac92155677362c7d625d18d99dd19371167f44f",
      "parents": [
        "d0d022bef0543565ed9142fffa49ff609e1dfcb2"
      ],
      "author": {
        "name": "Vlad Safronov",
        "email": "vladislav.safronov@oracle.com",
        "time": "Fri Apr 05 13:37:42 2019 +0300"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Sep 17 13:13:46 2020 +0000"
      },
      "message": "Cast incoming attributes types to String safely\n\nAuthnResponse might include user attributes of different types.\nIt wasn\u0027t correct to expect attributes of ArrayList type only.\n\nChange-Id: I84d80bb511652215d612319326af6c520a214c59\n"
    },
    {
      "commit": "d0d022bef0543565ed9142fffa49ff609e1dfcb2",
      "tree": "da65187e87e1495e3f8bf02d707bc17ee4f55a10",
      "parents": [
        "b3d88709966dba8f380b4c348e9797a4e14b7661",
        "7c6862cbd1cd2ac8b36ab5fc681375a721f26b14"
      ],
      "author": {
        "name": "Thomas Draebing",
        "email": "thomas.draebing@sap.com",
        "time": "Mon Jul 13 10:33:51 2020 +0200"
      },
      "committer": {
        "name": "Thomas Draebing",
        "email": "thomas.draebing@sap.com",
        "time": "Mon Jul 13 10:35:17 2020 +0200"
      },
      "message": "Merge branch \u0027stable-2.16\u0027 into master\n\n* stable-2.16:\n  Respect auth.userNameToLowerCase configuration\n\nChange-Id: I454683f72f52fbc2235ff2c1f79dca457047332a\n"
    },
    {
      "commit": "7c6862cbd1cd2ac8b36ab5fc681375a721f26b14",
      "tree": "601c876f4a7b56caba32ef3324e544c97cb5e900",
      "parents": [
        "e6ebfefeed3bef29595276a3200d7946d4f2228f"
      ],
      "author": {
        "name": "Thomas Draebing",
        "email": "thomas.draebing@sap.com",
        "time": "Tue Jul 07 16:14:39 2020 +0200"
      },
      "committer": {
        "name": "Thomas Draebing",
        "email": "thomas.draebing@sap.com",
        "time": "Tue Jul 07 17:07:19 2020 +0200"
      },
      "message": "Respect auth.userNameToLowerCase configuration\n\nThe option to convert usernames to all lowercase letters exists for\nother auth filters, e.g. [1]. Since the saml-plugin did not yet\nrespect this option, migration from another filter with this option\nenabled was not possible.\n\n[1] https://gerrit.googlesource.com/gerrit/+/refs/heads/stable-2.16/java/com/google/gerrit/httpd/ProjectBasicAuthFilter.java#129\n\nChange-Id: Ie24986127e71a4e9948f2143f9c29f98991f48c3\n"
    },
    {
      "commit": "b3d88709966dba8f380b4c348e9797a4e14b7661",
      "tree": "d85fbb364d4003a1c689159a3a67b4fb16f0ae48",
      "parents": [
        "217d41f9693d3422b7e371c0adb56b4f4418ecfa"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@digital.ai",
        "time": "Tue Jun 09 15:54:37 2020 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@digital.ai",
        "time": "Tue Jun 09 15:54:37 2020 +0900"
      },
      "message": "SamlWebFilter: Format with google-java-format\n\nChange-Id: Ia689964c8457c084b1c571c770228772cb2dc1e7\n"
    },
    {
      "commit": "217d41f9693d3422b7e371c0adb56b4f4418ecfa",
      "tree": "a7d0250f6029c9dfce539fe4e2e7f20ebff267b0",
      "parents": [
        "98a43ba3b6f9ae5513895e972f6c9dce28f71715"
      ],
      "author": {
        "name": "Steven Aerts",
        "email": "steven.aerts@gmail.com",
        "time": "Wed Apr 24 10:54:51 2019 +0200"
      },
      "committer": {
        "name": "Steven Aerts",
        "email": "steven.aerts@gmail.com",
        "time": "Tue May 26 16:19:53 2020 +0200"
      },
      "message": "Support for SAML Identity providers\n\nChange-Id: I1c08ee49d192c21538f1eaee407214713d3bbcfd\n"
    },
    {
      "commit": "98a43ba3b6f9ae5513895e972f6c9dce28f71715",
      "tree": "fb01c2afd30619994f2d40d952ab597d9c7dc180",
      "parents": [
        "72a6cb35fab070c35fb70157790ed5cee4f38091",
        "e6ebfefeed3bef29595276a3200d7946d4f2228f"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon May 11 19:15:19 2020 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon May 11 19:15:19 2020 +0200"
      },
      "message": "Merge branch \u0027stable-2.16\u0027\n\n* stable-2.16:\n  Update pac4j version to 3.8.3\n\nChange-Id: If981e2102fccc97c881e09d462df5b347ce57b9f\n"
    },
    {
      "commit": "e6ebfefeed3bef29595276a3200d7946d4f2228f",
      "tree": "fb01c2afd30619994f2d40d952ab597d9c7dc180",
      "parents": [
        "68e84cd0109efb4b2633acc507a55230fbcdaefe",
        "8eac73d0ef790d9135d918589b66c2d97e405583"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Wed Dec 11 12:07:28 2019 -0800"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Wed Dec 11 12:13:55 2019 -0800"
      },
      "message": "Merge branch \u0027stable-2.15\u0027 into stable-2.16\n\n* stable-2.15:\n  Update pac4j version to 3.8.3\n\nChange-Id: Ib04dda639e0fb174709274d9010f56300fb29387\n"
    },
    {
      "commit": "8eac73d0ef790d9135d918589b66c2d97e405583",
      "tree": "96d65bc816df95215f0646ff6a43636f172f9ee3",
      "parents": [
        "d220e958de69257af3fb2d57219834529b14dfa7"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sun Dec 08 23:08:39 2019 -0800"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david.ostrovsky@gmail.com",
        "time": "Wed Dec 11 08:29:06 2019 +0000"
      },
      "message": "Update pac4j version to 3.8.3\n\nThis update includes some important fixes, e.g. this NPE fix: [1].\n\nhttps://github.com/pac4j/pac4j/commit/6cceff9b241b3c7e1ceff9fa74a802b102122290\n\nBug: Issue 12062\nChange-Id: Ia1461146bbba83282538a5a0ea4e158f3077aed9\n"
    },
    {
      "commit": "72a6cb35fab070c35fb70157790ed5cee4f38091",
      "tree": "d586d74758241e59879faffb424d2428e5896254",
      "parents": [
        "a876ef94a1a2988882bca9665356dd90628a828e",
        "68e84cd0109efb4b2633acc507a55230fbcdaefe"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Tue Nov 12 04:53:46 2019 -0800"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Tue Nov 12 04:53:46 2019 -0800"
      },
      "message": "Merge branch \u0027stable-2.16\u0027\n\n* stable-2.16:\n  Add missing dependency on opensaml-storage-impl library\n\nChange-Id: I52d3b3a5d1bf81e14e567314a9adf06507375ddf\n"
    },
    {
      "commit": "68e84cd0109efb4b2633acc507a55230fbcdaefe",
      "tree": "d586d74758241e59879faffb424d2428e5896254",
      "parents": [
        "a876ef94a1a2988882bca9665356dd90628a828e",
        "d220e958de69257af3fb2d57219834529b14dfa7"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Nov 11 17:25:32 2019 -0800"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Nov 11 17:25:32 2019 -0800"
      },
      "message": "Merge branch \u0027stable-2.15\u0027 into stable-2.16\n\n* stable-2.15:\n  Add missing dependency on opensaml-storage-impl library\n\nChange-Id: I7af2b0841669335eaf80692447cca1904b8ff872\n"
    },
    {
      "commit": "d220e958de69257af3fb2d57219834529b14dfa7",
      "tree": "aabb5f5f23e3f8b3403ce86c7ea56d81fd9ca74e",
      "parents": [
        "058755f06e1c0d4008bb5b82cd98a1780d3bf1c2"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Nov 11 16:49:54 2019 -0800"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Nov 11 17:24:51 2019 -0800"
      },
      "message": "Add missing dependency on opensaml-storage-impl library\n\nIt was added as a part of this commit: [1].\n\n[1] https://github.com/pac4j/pac4j/commit/\\\n    d3e0fc573da42b7c00f9bb479f0439a64c53f75e\n\nChange-Id: I63401b0825bedb126db72c0daaa151320116a54b\n"
    },
    {
      "commit": "a876ef94a1a2988882bca9665356dd90628a828e",
      "tree": "6befab2ad40062e401cfd9295383df7a9f1721a9",
      "parents": [
        "ceb55effe88abb5b369b5b3e1ff07060117053e0",
        "058755f06e1c0d4008bb5b82cd98a1780d3bf1c2"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sat Nov 09 14:28:42 2019 +0100"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sat Nov 09 14:28:42 2019 +0100"
      },
      "message": "Merge branch \u0027stable-2.15\u0027\n\n* stable-2.15:\n  Update pac4j and other transitive dependencies\n\nChange-Id: I06cf94c3a3967cb2f950bd7d01028a001e537279\n"
    },
    {
      "commit": "ceb55effe88abb5b369b5b3e1ff07060117053e0",
      "tree": "bed206cc9e7a1417a880e06ae3bedb3491d2d195",
      "parents": [
        "1a49a46c5eb9d2bd92f9c6b25362209e6c33014f"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Wed Oct 16 12:56:54 2019 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Wed Oct 16 12:56:54 2019 +0900"
      },
      "message": "Replace bazel-genfiles with bazel-bin in documentation\n\nBug: Issue 11757\nChange-Id: I3c8a509652702ef2da960ad8436471f9acd9b7b2\n"
    },
    {
      "commit": "1a49a46c5eb9d2bd92f9c6b25362209e6c33014f",
      "tree": "c2407587b6906245fa1dccdb7db5d5df0a00b777",
      "parents": [
        "985bedd56b8fc752a3e1849188048fa198d32d85"
      ],
      "author": {
        "name": "Magnus Thulin",
        "email": "m33gx3@gmail.com",
        "time": "Thu Aug 29 14:53:25 2019 +0200"
      },
      "committer": {
        "name": "Magnus Thulin",
        "email": "m33gx3@gmail.com",
        "time": "Fri Sep 20 13:54:27 2019 +0200"
      },
      "message": "Added useNameQualifier configuration option\n\n- allows disabling useNameQualifier for ADFS 3.0 support\n- see https://github.com/pac4j/pac4j/pull/1136\n\nChange-Id: If4ece0437d30e3cdd79898a6ad2f2ee3edfb11a3\n"
    },
    {
      "commit": "058755f06e1c0d4008bb5b82cd98a1780d3bf1c2",
      "tree": "126ef2d07d34ffcf5e5de72cdd1afcade8cc49da",
      "parents": [
        "3036d0abca82f8812fb7cfefdc8c7f8f4719e78e"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Tue Sep 10 10:15:22 2019 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Tue Sep 10 10:17:05 2019 +0200"
      },
      "message": "Update pac4j and other transitive dependencies\n\nChange-Id: I6788f89ce11d1e3be83d8556519798e710926536\n"
    },
    {
      "commit": "985bedd56b8fc752a3e1849188048fa198d32d85",
      "tree": "79664f947f09ea7eb6583af089a833fc94b97173",
      "parents": [
        "15956c4f0997b72df4fa1fb2adbd38ef13cde861",
        "3036d0abca82f8812fb7cfefdc8c7f8f4719e78e"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Wed Apr 17 18:37:35 2019 -0700"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Wed Apr 17 18:37:35 2019 -0700"
      },
      "message": "Merge branch \u0027stable-2.15\u0027\n\n* stable-2.15:\n  Update spring-core version to 5.1.5.RELEASE\n  Update pac4j version to 3.6.1\n  Update opensaml version to 3.4.2\n\nChange-Id: I73826b79b3b57149e1af7f173f41cb2cc09534dc\n"
    },
    {
      "commit": "3036d0abca82f8812fb7cfefdc8c7f8f4719e78e",
      "tree": "e0056ba84e70d86bab3b56723816de376b3110f3",
      "parents": [
        "e3a079634d64b7efb1ade28aeaaf05f6221145ff"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Thu Apr 11 15:50:58 2019 -0700"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Thu Apr 11 15:58:24 2019 -0700"
      },
      "message": "Update spring-core version to 5.1.5.RELEASE\n\nChange-Id: Ia801ec891954c44f5cadbe72600bf98a44632d23\n"
    },
    {
      "commit": "e3a079634d64b7efb1ade28aeaaf05f6221145ff",
      "tree": "e454d39b4cf424a55f5785cedf92d304b29555d2",
      "parents": [
        "a47e97521a50bf55cc09633c1807dea1874c8cbe"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Thu Apr 11 15:49:45 2019 -0700"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Thu Apr 11 15:53:09 2019 -0700"
      },
      "message": "Update pac4j version to 3.6.1\n\nChange-Id: I8f4691d178da5b8e853fcaf768c9afc7eb7a19da\n"
    },
    {
      "commit": "a47e97521a50bf55cc09633c1807dea1874c8cbe",
      "tree": "4116d878c04228f39b192cb1965b5f9734951620",
      "parents": [
        "2ee107f6a2b1eb6666b0ddc1d1f1abdfdc1ee4fe"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Wed Apr 10 07:37:09 2019 -0700"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Thu Apr 11 15:48:12 2019 -0700"
      },
      "message": "Update opensaml version to 3.4.2\n\nChange-Id: I09781c1c49faf2b03a6b5f4ceabee5020b01ae81\n"
    },
    {
      "commit": "15956c4f0997b72df4fa1fb2adbd38ef13cde861",
      "tree": "a85e72ad13c3fd06f9089301966374b624546e46",
      "parents": [
        "b21dae65c90b2fa0c0d54ac689753b4538d0e038",
        "2ee107f6a2b1eb6666b0ddc1d1f1abdfdc1ee4fe"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Apr 08 19:00:42 2019 -0700"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Apr 08 19:00:49 2019 -0700"
      },
      "message": "Merge branch \u0027stable-2.15\u0027\n\n* stable-2.15:\n  Fix typo in README.md\n  SAML providers: put proper links to SAML providers config\n  Documentation: move build instructions into README\n  SamlWebFilter: Fix AnonymousHttpRequest.getHeaderNames method\n\nChange-Id: I99f0c1df34a88a83f89241b42b53c7f57d2ee09f\n"
    },
    {
      "commit": "2ee107f6a2b1eb6666b0ddc1d1f1abdfdc1ee4fe",
      "tree": "0d0455920c6ca40ce24c4449f7b2b2a1026ae81f",
      "parents": [
        "0ba7c55d8de2ba62494112e35239607add4bb0f3"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Apr 08 18:58:37 2019 -0700"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Apr 08 18:58:51 2019 -0700"
      },
      "message": "Fix typo in README.md\n\nChange-Id: Id60c9b67261d5c0dca6a2d7e08e1fbc831a1340e\n"
    },
    {
      "commit": "0ba7c55d8de2ba62494112e35239607add4bb0f3",
      "tree": "295373a2acde47725292494e2d8da7b8f9a7ad35",
      "parents": [
        "361292fed4fb31d2dd553c1a1ba5403fc3dae6d7"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Feb 13 16:37:26 2019 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Feb 13 16:43:45 2019 +0000"
      },
      "message": "SAML providers: put proper links to SAML providers config\n\nOrganize the README.md with the list of SAML providers tested\nand documented for use with Gerrit Code Review.\n\nOriginal-Author: David Ostrovsky \u003cdavid@ostrovsky.org\u003e\nChange-Id: Iea41447e13507e96f9cc084c052500a3e79bb223\n"
    },
    {
      "commit": "361292fed4fb31d2dd553c1a1ba5403fc3dae6d7",
      "tree": "e0a7757659b3327a58b1da68c8fbf376e1298674",
      "parents": [
        "ba9e9d1e32ef5a52fb83e1b4ef9b48d457c96150"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Feb 13 16:12:08 2019 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Feb 13 16:17:00 2019 +0000"
      },
      "message": "Documentation: move build instructions into README\n\nThe SAML filter is not a plugin and won\u0027t be visible under the Gerrit\nplugins list. The documentation on how to build would thus not be\nvisible and get unnoticed.\n\nChange-Id: Id637c3a00a19b2b39df88e573461369787b5c180\n"
    },
    {
      "commit": "ba9e9d1e32ef5a52fb83e1b4ef9b48d457c96150",
      "tree": "d1d5a44836b99f0a46af09960f506c7b94208b93",
      "parents": [
        "ffac9450769882771b24419d2374dd2959294dee"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sun Jan 06 17:12:50 2019 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Feb 12 22:04:31 2019 +0000"
      },
      "message": "SamlWebFilter: Fix AnonymousHttpRequest.getHeaderNames method\n\nFix loop over header names.\n\nChange-Id: I9f9648b6879579cc764a3ea14ceeadf6a70f8fa9\n"
    },
    {
      "commit": "b21dae65c90b2fa0c0d54ac689753b4538d0e038",
      "tree": "4417db386989ff162e174a55135a8387673844a9",
      "parents": [
        "ffac9450769882771b24419d2374dd2959294dee"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sun Jan 06 18:33:03 2019 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Feb 12 21:57:11 2019 +0000"
      },
      "message": "Bazel: Adapt external dependencies for plugin API 2.16\n\nSince release 2.16, some external dependencies are removed from the\nGerrit core, and thus must be added explicitly to this plugin:\n\n* joda-time\n* velocity and its transitive dependency: commons-collections\n\nChange-Id: Ic029a3cad15f1f7c3305de3783118a5fdf7a058e\n"
    },
    {
      "commit": "ffac9450769882771b24419d2374dd2959294dee",
      "tree": "bc29fbff62750714e31b03dbea622efbd98dad50",
      "parents": [
        "85853540f48ccd59a2c12ef91434ad70ca5e9f01"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Tue Feb 12 11:45:44 2019 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Feb 12 21:55:38 2019 +0000"
      },
      "message": "Bump pac4j version to 3.5.0\n\nChange-Id: I586527dd233185844a3635279954fb722acaedb9\n"
    },
    {
      "commit": "85853540f48ccd59a2c12ef91434ad70ca5e9f01",
      "tree": "02ca94b9f2a4594f5cb8857a702831475cee9e2c",
      "parents": [
        "ae23c4b426915c931aeb133c340428f4b3a50ce4"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Feb 11 22:37:26 2019 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Feb 12 21:53:44 2019 +0000"
      },
      "message": "Rename main package to com.googlesource.gerrit.plugins.saml\n\nChange-Id: I3876dd7e54c562d481d37fe5cc3841536cf25286\n"
    },
    {
      "commit": "ae23c4b426915c931aeb133c340428f4b3a50ce4",
      "tree": "75aa47ee274e91cd01f19f0e0f9390ccf66ba5df",
      "parents": [
        "e6c0065f0c476a4d62936839c5a107666dc8296b"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Thu Jan 31 07:56:49 2019 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Feb 12 21:44:54 2019 +0000"
      },
      "message": "Allow to set service provider entity id\n\nChange-Id: Ic2b9ac2101eb66cdadfef9d0c69c5d6247fdbcc5\n"
    },
    {
      "commit": "e6c0065f0c476a4d62936839c5a107666dc8296b",
      "tree": "724052c3acd9c65ebd85cecff576874829fab7a1",
      "parents": [
        "356be7909f6fc836a6202f3b4708270f6fbd2b47"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Tue Feb 12 08:22:12 2019 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Feb 12 21:40:39 2019 +0000"
      },
      "message": "Set service provider metadata path to plugin data directory\n\nChange-Id: I1423dce5cc75ab3a3f0ef16851b0aa5f3f2d11ba\n"
    },
    {
      "commit": "356be7909f6fc836a6202f3b4708270f6fbd2b47",
      "tree": "d5913e65fa1ac4833a16699d7ef92e60ca8f4ad5",
      "parents": [
        "a31f6661db5006f529fcba842656a8c90c30942b"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sat Jan 12 21:32:36 2019 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Feb 12 07:55:14 2019 +0000"
      },
      "message": "Add support for computed display name user property\n\nIf identity provider doesn\u0027t support multivalue user property in SAML\nmapping, allow to compute DisplayName by adding first name and last\nname user properties. To achieve that, the following config must be\nset:\n\n[saml]\n    computedDisplayName \u003d true\n    firstNameAttr \u003d firstName\n    lastNameAttr \u003d lastName\n\nWhen identity provider includes in the mapping for the first and last\nnames:\n\n  firstName\u003dJohn\n  lastName\u003dDoe\n\nthen the DisplayName is computed as \"John Doe\".\n\nChange-Id: I9fe0a4ce1678623dbeae69806fe158d0a29781fd\n"
    },
    {
      "commit": "a31f6661db5006f529fcba842656a8c90c30942b",
      "tree": "c09ad2eb2374e84f92a0034da14b78605294dfbc",
      "parents": [
        "805a50bf2d8f1414206bf77b6310626d17ac636f"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sat Jan 12 21:20:05 2019 +0000"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david.ostrovsky@gmail.com",
        "time": "Tue Feb 12 06:12:19 2019 +0000"
      },
      "message": "Bazel: Rename plugin name to saml\n\nThis also requires changing the SAML2 callback from:\nplugins/gerrit-saml-plugin/saml\nto\nplugins/saml/callback\n\nChange-Id: Icdf56c9fa24abdf85b460c346629c2596c2d4ffb\n"
    },
    {
      "commit": "805a50bf2d8f1414206bf77b6310626d17ac636f",
      "tree": "1668589c9562fb236132b92a0fd1f870ff00b7bf",
      "parents": [
        "b4d2386bfd0a35e79189792bbb65bc255ec9dac3"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sat Jan 12 21:09:44 2019 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Feb 11 23:21:50 2019 +0000"
      },
      "message": "SamlWebFilter: Reshuffle methods order\n\nMove all private methods to the end of the class. Also consistently use\nstatic modifiers for the methods that do not access class members.\n\nChange-Id: I100ca4a5356ed7e5fbd9bd3938b5193d3792cf08\n"
    },
    {
      "commit": "b4d2386bfd0a35e79189792bbb65bc255ec9dac3",
      "tree": "a86fc76a1c57c2e7fcea494f4efa9ff836bfc184",
      "parents": [
        "978b3df82005e6a1b81e7cac90132995c028c9a4"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sat Jan 12 21:04:32 2019 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Feb 11 23:17:53 2019 +0000"
      },
      "message": "AuthenticatedUser: Add final keyword for class members\n\nChange-Id: Iaf1ded51cf100559c72593e6cca8af556f9267c0\n"
    },
    {
      "commit": "978b3df82005e6a1b81e7cac90132995c028c9a4",
      "tree": "948f7932dec4eb60986f5bd4d7b3a664918eddcd",
      "parents": [
        "fcaa12e93752917cf1293b6004373b2fdd885a7b"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sat Jan 12 21:03:25 2019 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Feb 11 23:14:37 2019 +0000"
      },
      "message": "Remove unneeded final keywords\n\nChange-Id: I7a7635963f530dd609270331d4985659373c5882\n"
    },
    {
      "commit": "fcaa12e93752917cf1293b6004373b2fdd885a7b",
      "tree": "5bda31878584eeed3e2238984198cfe7ae81d152",
      "parents": [
        "31ce81dbece96d5ddeb5234a298e4b50d4751b5b"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sat Jan 12 21:00:04 2019 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Feb 11 23:05:59 2019 +0000"
      },
      "message": "Add support for Single Log Out\n\nChange-Id: I3111f251e3eaaff00734a7f22d35424704aee403\n"
    },
    {
      "commit": "31ce81dbece96d5ddeb5234a298e4b50d4751b5b",
      "tree": "0adfa03fd63ca78c9d85ece36b75a1fcd0ef0b6f",
      "parents": [
        "67502c03ac84327544d1c73264966dc000818cea"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sun Jan 06 17:06:10 2019 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Feb 11 23:05:37 2019 +0000"
      },
      "message": "Fix eclipse warnings\n\n* Replace deprecated class SAML2ClientConfiguration with\nSAML2Configuration\n* Mark class members as private\n* Remove unnecessary \u0027else\u0027 statement\n* Add missing serialVersionUID attribute\n\nChange-Id: I205a1d753f5d3e0a83a6ea7f05aa0c28486489a7\n"
    },
    {
      "commit": "67502c03ac84327544d1c73264966dc000818cea",
      "tree": "f9f2c50f8324357605aa538b13d70857a2e5cb8f",
      "parents": [
        "bdde0463344b93a918233db38496dc73002e93be"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sun Dec 23 19:02:48 2018 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Feb 11 23:04:39 2019 +0000"
      },
      "message": "Implement Bazel in tree build\n\nRemove sbt build. This change is targeting stable-2.14 branch and\nassumes that gerrit core still has velocity and joda-time libraries\navailable.\n\nAlso remove development instruction from README.md file, as with Bazel\nbuild tool chain support, the instructions are common to all plugins\nand mentioned in dev-plugins and dev-bazel in gerrit core.\n\nChange-Id: Ib2829cd4e9086aa82f5884c09f3cf896693ec0a1\n"
    },
    {
      "commit": "bdde0463344b93a918233db38496dc73002e93be",
      "tree": "c71592f8eb8f660c935cc7f2ba5d069a331774b0",
      "parents": [
        "69a8992ac6cc21bfa26bca3d5f73e31a391d726e"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sun Jan 06 16:33:19 2019 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Feb 11 22:14:08 2019 +0000"
      },
      "message": "SamlWebFilter: Adapt to pac4j version 3.4\n\nPac4J and its dependencies are not available on Maven Central.\nHowever, recent builds can be found on the Schibboleth Consortium\n(see https://www.shibboleth.net/)\n\nChange-Id: I2fcf629fe8a6cf6ea4ba9c9e9fb411532960f9a8\n"
    },
    {
      "commit": "69a8992ac6cc21bfa26bca3d5f73e31a391d726e",
      "tree": "904bef68063976c40b603f26c6393254c71f5f0c",
      "parents": [
        "978dd688d348e7a83bf4cfa47500e2c41d3535c3"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sun Jan 06 16:24:35 2019 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Feb 11 21:54:35 2019 +0000"
      },
      "message": "Replace @Nonnull annotation with requireNonNull assertion\n\nChange-Id: Icdef91e75b51e5836cd5c141d88c13dc83945f4c\n"
    },
    {
      "commit": "978dd688d348e7a83bf4cfa47500e2c41d3535c3",
      "tree": "0449b256eecdcc80be6ff6c1f25b1313d3f3cad8",
      "parents": [
        "fa3157bbdccca9b3f50f193dbf6789ffffdd385f"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sun Jan 06 16:21:52 2019 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Feb 11 21:53:02 2019 +0000"
      },
      "message": "Format Java files with google-java-format 1.6\n\nAccording to google java style guides wildcard imports are not used:[1].\n\n[1] https://google.github.io/styleguide/javaguide.html#s3.3.1-wildcard-imports\n\nChange-Id: I6fec9f95a4c1cd502a72596c8ac79ecc77ee79dd\n"
    },
    {
      "commit": "fa3157bbdccca9b3f50f193dbf6789ffffdd385f",
      "tree": "366c9b0cfaefba17404521db5f547d7460eb6245",
      "parents": [
        "9ef36a81f0386c659894a6c1a34c352421a2340c"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sun Jan 06 16:58:38 2019 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Feb 11 21:49:17 2019 +0000"
      },
      "message": "AuthenticatedUser: Add license header\n\nChange-Id: I21e7a88ab38abaed48897bf021bd5f56431e69f6\n"
    },
    {
      "commit": "9ef36a81f0386c659894a6c1a34c352421a2340c",
      "tree": "b010515f2f50b6c8b6dda3a3caddab560cff7b0b",
      "parents": [
        "b33a80595aab9db35c0527cacc1f7efc54303bf3"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Sun Jan 06 16:59:26 2019 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Feb 11 21:48:14 2019 +0000"
      },
      "message": "Add license file\n\nChange-Id: Iba8cc5ab319a72bd676d1ea495dfdcae7efeddfd\n"
    },
    {
      "commit": "b33a80595aab9db35c0527cacc1f7efc54303bf3",
      "tree": "909115396bb220f509022c8ae1ad8cf7b95753d2",
      "parents": [
        "105d9378a9061f0fdc4b4fb62b0227d4704e0f89"
      ],
      "author": {
        "name": "Nadav Samet",
        "email": "thesamet@gmail.com",
        "time": "Fri Jul 21 11:22:04 2017 +0200"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Feb 11 21:46:42 2019 +0000"
      },
      "message": "Fix name parameter on maxAuthLifetimeAttr init\n\nAdding back variable name parameter for maxAuthLifetimeAttr\ninitialization.\nOtherwise gerrit repoting error:\nError injecting constructor, java.lang.NullPointerException\n..\nfor the 2nd parameter of com.thesamet.gerrit.plugins.saml.\nSamlWebFilter.\u003cinit\u003e(SamlWebFilter.java:68)\n\nOriginal-Author: Roman Shaposhnikov \u003carraen@arraen.org.ua\u003e\nPR: https://github.com/thesamet/gerrit-saml-plugin/pull/13\nChange-Id: Ic012692baaf032881735afbd529c80b2eaefb20e\n"
    },
    {
      "commit": "105d9378a9061f0fdc4b4fb62b0227d4704e0f89",
      "tree": "b3b4cab636e5ffa4f2c0515680e8d084eb7444d1",
      "parents": [
        "a9474ad7ce42954eee569ac0922f8dd9843f6380"
      ],
      "author": {
        "name": "Michael Lupo",
        "email": "mikelupo@gmail.com",
        "time": "Wed May 31 13:58:21 2017 -0400"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Feb 11 21:32:54 2019 +0000"
      },
      "message": "Update Code based on comments by @thesamet\n\n - Change method getting  SAML maxAuthLifetime from string\nmethod to int method.\n - Remove logging methods that are unneeded.\n\nPR: https://github.com/thesamet/gerrit-saml-plugin/pull/12\nChange-Id: Ia63d4213ed1d91abc7e962e5cfe9c0d50483bea8\n"
    },
    {
      "commit": "a9474ad7ce42954eee569ac0922f8dd9843f6380",
      "tree": "75261f191755d7362b115a4a05bb3ab68fa9729a",
      "parents": [
        "f5fe795950dd338864633b878fd9889631f18065"
      ],
      "author": {
        "name": "Michael Lupo",
        "email": "mikelupo@gmail.com",
        "time": "Thu Mar 16 09:47:03 2017 -0400"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Feb 11 21:32:01 2019 +0000"
      },
      "message": "Add maxAuthLifetime configuration to SamlConfig\n\nmaxAuthLifetime \u003d 86400\nIf no entry included in the gerrit.config the default of\n86400 (24 * 60 * 60) is assumed.\n\nThis was recently added to the SAML plugin for jenkins to combat\norg.pac4j.saml.exceptions.SAMLException:\n   Authentication issue instant is too old or in the future\nLikewise, this should help with gerrit.\n\nLogs in error_log:\n[main] INFO  com.thesamet.gerrit.plugins.saml.SamlWebFilter\n    : Max Authentication Lifetime: 86400\n\nBuilds against:\n - gerrit-plugin-api version 2.13.12\n - org.pac4j.pac4j-saml version 2.0.0-RC1\n\nForced change from pac4j-saml update removes RequiresHttpAction\nin favor of HTTPAction. Also removes boolean parameter\nfrom saml2Client.redirect(context, true) to saml2Client.redirect(context);\n\nPR: https://github.com/thesamet/gerrit-saml-plugin/pull/12\nChange-Id: If4b8dae65a5f14608551c2a158be529cb7ced967\n"
    },
    {
      "commit": "f5fe795950dd338864633b878fd9889631f18065",
      "tree": "09426fa06115741be005a392897a011375393b16",
      "parents": [
        "4fbc3e527a68c3b16885480bccf56c11449e005e"
      ],
      "author": {
        "name": "Nadav Samet",
        "email": "thesamet@gmail.com",
        "time": "Sat Feb 20 14:44:10 2016 -0800"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Feb 11 16:19:27 2019 +0000"
      },
      "message": "Upgrade Gerrit to 2.12.9\n\nChange-Id: I81d2343e1aa3e54f40a37e7a108917e00bde1a5c\n"
    },
    {
      "commit": "4fbc3e527a68c3b16885480bccf56c11449e005e",
      "tree": "49bf2c7e0eb7744c7fab71f5ae2c980fa03f0ab8",
      "parents": [
        "e7ad8d8c60c04ce70d0c8bf011bd4551bbd4b04d"
      ],
      "author": {
        "name": "Urs Keller",
        "email": "urs@revault.ch",
        "time": "Fri Dec 11 11:20:27 2015 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Feb 11 16:07:10 2019 +0000"
      },
      "message": "Doc for ADFS\n\nAdd doc subdir for additional doc (screenshots and markdown). Linked\nADFS doc in README.md - fixed password inconsistency.\n\nPR: https://github.com/thesamet/gerrit-saml-plugin/pull/5\nChange-Id: I879ff0a9bab9f15657dd78569532c035638f950b\n"
    },
    {
      "commit": "e7ad8d8c60c04ce70d0c8bf011bd4551bbd4b04d",
      "tree": "fec10fb1e245185a7c693d73e12f75796f644557",
      "parents": [
        "20e11e232eac78c3978bc05ea5b14ca56317de6b"
      ],
      "author": {
        "name": "Urs Keller",
        "email": "urs@revault.ch",
        "time": "Thu Dec 10 17:51:08 2015 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Feb 11 16:06:37 2019 +0000"
      },
      "message": "Destroy GerritAccount Cookie on logout\n\nOld behavior:\n* the filter detects logout URL and cleans its own attribute\n  from the session\n* the filter redirects to the configured auth.logoutUrl not\n  letting Gerrit the chance to clean up\n\nNew behavior:\n\n* the filter detects logout URL and cleans its own attribute\n  from the session\n* It then passes the request on to Gerrit (continuing in the filter chain)\n* Gerrit will do its cleanup and then redirect to the configured\n  auth.logoutUrl\n\nPR: https://github.com/thesamet/gerrit-saml-plugin/pull/4\nChange-Id: I5a0fcc33af7a4833cfa548d064a054d997fd58fd\n"
    },
    {
      "commit": "20e11e232eac78c3978bc05ea5b14ca56317de6b",
      "tree": "5775c801ea0fa36ee913e37efa1abbc612e9adae",
      "parents": [
        "d28ba8dfc0bb875461cc4aca9c800c16d5257fce"
      ],
      "author": {
        "name": "Urs Keller",
        "email": "urs@revault.ch",
        "time": "Thu Dec 10 16:02:40 2015 +0100"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Thu Jan 10 09:09:37 2019 +0100"
      },
      "message": "Add context path when redirecting to /login/\n\nPR: https://github.com/thesamet/gerrit-saml-plugin/pull/3\nChange-Id: Ic506ce5d53ca2ed8ed56c9e9d63e3df51ba700a7\n"
    },
    {
      "commit": "d28ba8dfc0bb875461cc4aca9c800c16d5257fce",
      "tree": "304152f56d0c93a2bdbe2f84827c7d78ea86c820",
      "parents": [
        "6b0ae2792764077bed660b7b78bed874b95dcc17"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Jan 05 21:49:54 2019 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Jan 05 21:59:55 2019 +0000"
      },
      "message": "Bump sbt-assembly to 0.14.7 for Scala 2.12\n\nsbt-assembly 0.14.7 does not exist for Scala 2.12 and the build\nwould fail without a more recent version of the plugin.\n\nChange-Id: I56f8714ee5c72632b8609b532ffb3b91d4466ad2\n"
    }
  ],
  "next": "6b0ae2792764077bed660b7b78bed874b95dcc17"
}
