)]}'
{
  "log": [
    {
      "commit": "a23d315dfebb6de47d18c92c8ae1430736a60b0c",
      "tree": "9179534261666b02b746a0650fc18d5b3c4e526d",
      "parents": [
        "285c9ec81274c8a02f9af737aa870bd2695db120",
        "d97f76e85e92eb2fe4602ac43f108aa340ecd753"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Mon Jun 29 09:58:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 09:58:17 2026"
      },
      "message": "Merge pull request #1543 from thaJeztah/linting\n\ngofmt,  remote some dot-imports, and minor cleanup in LogAndAssertText"
    },
    {
      "commit": "d97f76e85e92eb2fe4602ac43f108aa340ecd753",
      "tree": "9179534261666b02b746a0650fc18d5b3c4e526d",
      "parents": [
        "0085fa49749aa03f15955f0911e96e1705929ff1"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Jun 29 09:37:32 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Jun 29 09:40:11 2026"
      },
      "message": "internal/testutils: LogAndAssertText: minor cleanup\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "0085fa49749aa03f15955f0911e96e1705929ff1",
      "tree": "7049ef19377e2c329d270eec5f759fe6f56b8087",
      "parents": [
        "e79c4cd347dba06abe0f476a4e2f9fee88792265"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Jun 29 08:49:51 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Jun 29 09:37:10 2026"
      },
      "message": "internal/testutils: remove dot-imports\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "e79c4cd347dba06abe0f476a4e2f9fee88792265",
      "tree": "e339a5fcc94708f798471045fab81d2332d2b530",
      "parents": [
        "285c9ec81274c8a02f9af737aa870bd2695db120"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Jun 29 08:49:08 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Jun 29 08:49:08 2026"
      },
      "message": "gofmt code\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "285c9ec81274c8a02f9af737aa870bd2695db120",
      "tree": "3fd99643ad42a67d527437e8220fa827d905f61b",
      "parents": [
        "8101d7eb512e40271e72d1d0051b87cbd31eb476",
        "2a9c51007f8909568f7c5a38b2437bd980f38723"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Sat Jun 27 14:24:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 27 14:24:22 2026"
      },
      "message": "Merge pull request #1357 from hatamiarash7/master\n\nFix Markdown style"
    },
    {
      "commit": "2a9c51007f8909568f7c5a38b2437bd980f38723",
      "tree": "3fd99643ad42a67d527437e8220fa827d905f61b",
      "parents": [
        "8101d7eb512e40271e72d1d0051b87cbd31eb476"
      ],
      "author": {
        "name": "Arash Hatami",
        "email": "hatamiarash7@gmail.com",
        "time": "Wed Nov 09 06:50:29 2022"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Jun 27 14:07:31 2026"
      },
      "message": "Fix MD style\n\nCo-authored-by: Arash Hatami \u003chatamiarash7@gmail.com\u003e\nSigned-off-by: Arash Hatami \u003chatamiarash7@gmail.com\u003e\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "8101d7eb512e40271e72d1d0051b87cbd31eb476",
      "tree": "35336ad4f512118e2182519dcfdf80588846ac18",
      "parents": [
        "86fcec7854434dd75d6bfc915556198be0710e8a",
        "560daa44bf74b6ebd6b88cc0aac6c0ae91ca3432"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Sat Jun 27 12:12:47 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 27 12:12:47 2026"
      },
      "message": "Merge pull request #1541 from thaJeztah/optimize_single_string\n\nOptimize single-string Log and Logln calls"
    },
    {
      "commit": "560daa44bf74b6ebd6b88cc0aac6c0ae91ca3432",
      "tree": "35336ad4f512118e2182519dcfdf80588846ac18",
      "parents": [
        "147441047bc46aff92844124bd8c4205e64ae6ea"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Jun 27 10:46:21 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Jun 27 11:57:54 2026"
      },
      "message": "Optimize single-string Log and Logln calls\n\nAvoid fmt.Sprint/fmt.Sprintln for the common case where a logging call\nreceives a single string argument. This preserves formatting semantics while\nremoving allocations from enabled Logger.Log and Logger.Logln calls.\n\nFor Entry.Logln, we can also skip Entry.Log as intermediate, as we don\u0027t\nhave to re-check if the log-level is enabled, and we already have a formatted\nstring.\n\n    go test -run\u003d\u0027^$\u0027 -bench\u003d\u0027BenchmarkLoggerLog\u0027 -benchmem -count\u003d10 -cpu\u003d1 \u003e after.txt\n    benchstat before.txt after.txt\n    goos: darwin\n    goarch: arm64\n    pkg: github.com/sirupsen/logrus\n    cpu: Apple M3 Pro\n                             │ before.txt  │              after.txt              │\n                             │   sec/op    │   sec/op     vs base                │\n    LoggerLog/disabled_level   1.072n ± 1%   1.075n ± 5%        ~ (p\u003d0.631 n\u003d10)\n    LoggerLog/enabled_log      173.0n ± 1%   135.0n ± 0%  -21.97% (p\u003d0.000 n\u003d10)\n    LoggerLog/enabled_logln    226.1n ± 1%   135.7n ± 0%  -39.97% (p\u003d0.000 n\u003d10)\n    geomean                    34.74n        27.00n       -22.26%\n\n                             │  before.txt  │              after.txt               │\n                             │     B/op     │    B/op     vs base                  │\n    LoggerLog/disabled_level   0.000 ± 0%     0.000 ± 0%        ~ (p\u003d1.000 n\u003d10) ¹\n    LoggerLog/enabled_log      212.0 ± 0%     208.0 ± 0%   -1.89% (p\u003d0.000 n\u003d10)\n    LoggerLog/enabled_logln    240.0 ± 0%     208.0 ± 0%  -13.33% (p\u003d0.000 n\u003d10)\n    geomean                               ²                -5.26%                ²\n    ¹ all samples are equal\n    ² summaries must be \u003e0 to compute geomean\n\n                             │  before.txt  │              after.txt               │\n                             │  allocs/op   │ allocs/op   vs base                  │\n    LoggerLog/disabled_level   0.000 ± 0%     0.000 ± 0%        ~ (p\u003d1.000 n\u003d10) ¹\n    LoggerLog/enabled_log      4.000 ± 0%     3.000 ± 0%  -25.00% (p\u003d0.000 n\u003d10)\n    LoggerLog/enabled_logln    6.000 ± 0%     3.000 ± 0%  -50.00% (p\u003d0.000 n\u003d10)\n    geomean                               ²               -27.89%                ²\n    ¹ all samples are equal\n    ² summaries must be \u003e0 to compute geomean\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "147441047bc46aff92844124bd8c4205e64ae6ea",
      "tree": "2562187034ef0df90fc661446e75f5cd3217cc91",
      "parents": [
        "86fcec7854434dd75d6bfc915556198be0710e8a"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Jun 27 10:20:47 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Jun 27 11:55:07 2026"
      },
      "message": "add BenchmarkLoggerLog\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "86fcec7854434dd75d6bfc915556198be0710e8a",
      "tree": "3c83cd0c4b082783ff59f1befa0dcef2320e5926",
      "parents": [
        "5144111cbd1cf799a62bcd3beb96441ebd5e3380",
        "31d38f8d430dd5e94b6aa22b6e48eb8aaac80dfc"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Fri Jun 26 16:36:30 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 16:36:30 2026"
      },
      "message": "Merge pull request #1518 from thaJeztah/prepare_release\n\nCHANGELOG: add v1.10.0 release notes (unreleased)"
    },
    {
      "commit": "31d38f8d430dd5e94b6aa22b6e48eb8aaac80dfc",
      "tree": "3c83cd0c4b082783ff59f1befa0dcef2320e5926",
      "parents": [
        "5144111cbd1cf799a62bcd3beb96441ebd5e3380"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 20:06:39 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 16:22:32 2026"
      },
      "message": "CHANGELOG: add v1.10.0 release notes (unreleased)\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "5144111cbd1cf799a62bcd3beb96441ebd5e3380",
      "tree": "5c075b55abff173b4c3ab5586124ac471f91286a",
      "parents": [
        "276c5f8df9e13899126cfb2e0f615bd644d5027f",
        "7479cd095cb1afeac09613affb373658c910f516"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Fri Jun 26 16:22:09 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 16:22:09 2026"
      },
      "message": "Merge pull request #1540 from thaJeztah/more_godoc\n\nLogger.SetReportCaller: add godoc"
    },
    {
      "commit": "7479cd095cb1afeac09613affb373658c910f516",
      "tree": "5c075b55abff173b4c3ab5586124ac471f91286a",
      "parents": [
        "276c5f8df9e13899126cfb2e0f615bd644d5027f"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 16:01:16 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 16:09:20 2026"
      },
      "message": "Logger.SetReportCaller: add godoc\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "276c5f8df9e13899126cfb2e0f615bd644d5027f",
      "tree": "1138ecf9a4084a836309df0646a02f92d3a78ddb",
      "parents": [
        "a329321ca408dcf36e49a6cdeac31e47be3d6362",
        "89c2280b2221a508288577ba930cb607478b93e4"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Fri Jun 26 16:06:19 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 16:06:19 2026"
      },
      "message": "Merge pull request #1539 from thaJeztah/update_changelog_headings\n\nCHANGELOG: fix headings to be h2"
    },
    {
      "commit": "89c2280b2221a508288577ba930cb607478b93e4",
      "tree": "1138ecf9a4084a836309df0646a02f92d3a78ddb",
      "parents": [
        "a329321ca408dcf36e49a6cdeac31e47be3d6362"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 15:48:48 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 15:48:48 2026"
      },
      "message": "CHANGELOG: fix headings to be h2\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "a329321ca408dcf36e49a6cdeac31e47be3d6362",
      "tree": "f40286a8d2b1bc7a3af95398893030d345402072",
      "parents": [
        "5747588486a27a93ffc782fe5fbff21d0c3f5458",
        "13afddf9da2a93a754d1770c35489e1041da73f5"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Fri Jun 26 15:27:22 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 15:27:22 2026"
      },
      "message": "Merge pull request #1537 from thaJeztah/compile_assert\n\nreplace TestLogrusInterfaces with compile-time assertions"
    },
    {
      "commit": "13afddf9da2a93a754d1770c35489e1041da73f5",
      "tree": "f40286a8d2b1bc7a3af95398893030d345402072",
      "parents": [
        "5747588486a27a93ffc782fe5fbff21d0c3f5458"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 14:39:46 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 15:12:34 2026"
      },
      "message": "replace TestLogrusInterfaces with compile-time assertions\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "5747588486a27a93ffc782fe5fbff21d0c3f5458",
      "tree": "04db75cdb1e41be64d38cdfb388940b26b744e26",
      "parents": [
        "c4f54905181e5d8e16157ec0d518c59a9af650e3",
        "36cad8ebf0fcb463520585d9f1bdfab7907c62c1"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Fri Jun 26 15:11:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 15:11:44 2026"
      },
      "message": "Merge pull request #1527 from thaJeztah/reorg_interfaces\n\nexpose interfaces for Logger and Entry"
    },
    {
      "commit": "36cad8ebf0fcb463520585d9f1bdfab7907c62c1",
      "tree": "04db75cdb1e41be64d38cdfb388940b26b744e26",
      "parents": [
        "c4f54905181e5d8e16157ec0d518c59a9af650e3"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Wed Mar 17 08:30:42 2021"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 14:59:44 2026"
      },
      "message": "expose interfaces for Logger and Entry\n\nExport small interfaces covering the common logging methods.\n\nThese interfaces allow consumers to depend on behavior instead of\nconcrete Logrus types, making it easier to write reusable code and\nto substitute alternative logging implementations.\n\nThis patch splits up the FieldLogger interface to smaller interfaces\nthat together compose a FieldLogger.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "c4f54905181e5d8e16157ec0d518c59a9af650e3",
      "tree": "e418416ac09242cc34c4fcc7003a489b62ae5ead",
      "parents": [
        "3d496daa427910eaea682b6ae11a2af324e27028",
        "36e96b28793e11f8cb1a138e700221e5cc06762e"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Fri Jun 26 13:46:25 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 13:46:25 2026"
      },
      "message": "Merge pull request #1536 from thaJeztah/zizmor_fixes\n\nci: update actions, pin actions by sha, and remove unneeded `pull-requests: read`"
    },
    {
      "commit": "36e96b28793e11f8cb1a138e700221e5cc06762e",
      "tree": "e418416ac09242cc34c4fcc7003a489b62ae5ead",
      "parents": [
        "c5016884b01084c06e7f0678609fed1ab460697b"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 12:15:00 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 13:19:56 2026"
      },
      "message": "ci: remove unneeded pull-requests: read\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "c5016884b01084c06e7f0678609fed1ab460697b",
      "tree": "3639919f67b6787a14c56e9963b551967b747c55",
      "parents": [
        "655924646a1290fa1384435513c6844aa596ef41"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 12:12:19 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 13:19:56 2026"
      },
      "message": "ci: pin actions by sha\n\nApply fixes from zizmor;\n\n    zizmor --fix\u003dall --min-severity\u003dmedium .\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "655924646a1290fa1384435513c6844aa596ef41",
      "tree": "84947c4615ad0e646bee8edf09be6f2f64911c52",
      "parents": [
        "3d496daa427910eaea682b6ae11a2af324e27028"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 12:10:24 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 13:19:56 2026"
      },
      "message": "ci: update actions and use full version\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "3d496daa427910eaea682b6ae11a2af324e27028",
      "tree": "62f4939c0c2a73bd239ba94aeda8b37f155bac5b",
      "parents": [
        "3f5a0d3ed8867ac12be9c8175dc5a08cee147388",
        "a0e4101584b01e13adbe7a81125daaf7137e7c9d"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Fri Jun 26 13:17:59 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 13:17:59 2026"
      },
      "message": "Merge pull request #1535 from thaJeztah/fix_tinygo_step2\n\nci: add tinygo test case"
    },
    {
      "commit": "a0e4101584b01e13adbe7a81125daaf7137e7c9d",
      "tree": "917fce226a385619f02e3e57912fd945a6d33557",
      "parents": [
        "72731a48491b316115ba2f866bc8acab34ffd5a3"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 12:45:46 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 12:54:01 2026"
      },
      "message": "ci: validate tinygo checksum\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "3f5a0d3ed8867ac12be9c8175dc5a08cee147388",
      "tree": "8f18cf5af842391a104a30a0a8f124a27ef7715e",
      "parents": [
        "fdc99501531e1c26d4b759cdb80db3ba74ed94c8",
        "861fc2cea9048c8863039ec01edd1e36b9769ead"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Fri Jun 26 12:26:05 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 12:26:05 2026"
      },
      "message": "Merge pull request #1533 from box4wangjing/master\n\nchore: fix some comments to improve readability"
    },
    {
      "commit": "72731a48491b316115ba2f866bc8acab34ffd5a3",
      "tree": "88f8388e0e4e46b524fb5c8411ccc18c3d5f0806",
      "parents": [
        "9d6c8ec939078dd32e58862ed45d77de3c31ccbe"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 08:45:04 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 12:22:11 2026"
      },
      "message": "ci: run all tests with tinygo\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "9d6c8ec939078dd32e58862ed45d77de3c31ccbe",
      "tree": "53682305fd8c6251f901971c1631d9a03259a0d4",
      "parents": [
        "d3017036587c61bcc54d14600997505383aa8734"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 11:20:57 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 12:22:11 2026"
      },
      "message": "skip ReportCaller tests on tinygo\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "d3017036587c61bcc54d14600997505383aa8734",
      "tree": "0dc0d873edbc3509a123b02c46ab0e3e887859c4",
      "parents": [
        "150d24345f74617345d67e1c57b7c657ff980432"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 10:27:17 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 12:22:11 2026"
      },
      "message": "skip TestCustomSorting_FirstFormat on tinygo\n\nTinyGo doesn\u0027t fully implement t.Skip, so the test continues running;\n\n    \u003d\u003d\u003d RUN TestCustomSorting_FirstFormat\n        test requires a TTY\n        SkipNow is incomplete, requires runtime.Goexit()\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "150d24345f74617345d67e1c57b7c657ff980432",
      "tree": "db738ec5ac5c72d5c44d51b32792d7ec0832c7f8",
      "parents": [
        "4527608900b80b1cb64057a6373f29cdc96b8d38"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 09:28:25 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 12:22:10 2026"
      },
      "message": "hooks/slog: skip TestSlogHook_source on tinygo\n\nTinyGo currently (v0.41.1) doesn\u0027t support `runtime.Caller`;\nhttps://tinygo.org/docs/reference/lang-support/stdlib/#logslog\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "4527608900b80b1cb64057a6373f29cdc96b8d38",
      "tree": "504070f5b401d1b05232dd8dfdc7f7ef8e490328",
      "parents": [
        "01de24ccfedc0c672c86e8ef01ed462fd30f0bf2"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 09:19:02 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 12:21:32 2026"
      },
      "message": "hooks/syslog: skip tests on tinygo\n\nTinyGo currently (v0.41.1) doesn\u0027t support `log/syslog`;\nhttps://tinygo.org/docs/reference/lang-support/stdlib/#logsyslog\n\nDon\u0027t exclude the whole package with build-tags as support may be\nadded in newer versions, but skip the test.\n\n\u003e The compiler gave the following error when running the tests for this package:\n\u003e\n\u003e     FAIL\tlog/syslog\t0.000s\n\u003e     # log/syslog\n\u003e     /home/ron/.gvm/go/src/log/syslog/syslog_test.go:35:21: oe.Temporary undefined (type *net.OpError has no field or method Temporary)\n\u003e     /home/ron/.gvm/go/src/log/syslog/syslog_test.go:110:15: undefined: net.ListenPacket\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "01de24ccfedc0c672c86e8ef01ed462fd30f0bf2",
      "tree": "520c902b2b7147b8e6a1fdd0475a3786a3b64380",
      "parents": [
        "c809995ec9f2868d2c111b6370f65da2730605f8"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 08:49:35 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 12:04:49 2026"
      },
      "message": "add additional tinygo build-tags for tests\n\nTinyGo doesn\u0027t implement b.SetParallelism;\n\n    Error: logger_bench_test.go:69:4: b.SetParallelism undefined (type *testing.B has no field or method SetParallelism)\n\nAnd doesn\u0027t fully support os.Exec;\n\n- https://tinygo.org/docs/reference/lang-support/stdlib/#osexec\n- https://github.com/tinygo-org/tinygo/blob/v0.41.1/src/os/exec_linux.go#L77-L95\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "c809995ec9f2868d2c111b6370f65da2730605f8",
      "tree": "f6ff59fb9ce706623a8618b481271c670482744d",
      "parents": [
        "fdc99501531e1c26d4b759cdb80db3ba74ed94c8"
      ],
      "author": {
        "name": "Christian Stewart",
        "email": "christian@aperture.us",
        "time": "Thu Apr 30 07:46:29 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Fri Jun 26 12:04:49 2026"
      },
      "message": "ci: add tinygo test case\n\nAdd a tinygo test case which verifies that the core logrus functionality works.\n\nThe full test suite is not run under TinyGo.\n\n`tinygo test ./...` fails on benchmark APIs such as `testing.B.SetParallelism`,\npanics in tests that use testify reflection with `reflect.Value has no flag\nfield`, reports `operation not implemented` for `os/exec` coverage, and produces\ndifferent caller/source output for ReportCaller-related assertions.\n\nInstead, the test adds a separate smoke test module and tests that.\n\nSigned-off-by: Christian Stewart \u003cchristian@aperture.us\u003e\n"
    },
    {
      "commit": "fdc99501531e1c26d4b759cdb80db3ba74ed94c8",
      "tree": "42303c49c49e811a60074e01f96b6a534698e7ac",
      "parents": [
        "d4a50659cfd64d348122edc79ee342dbb526e5de",
        "2c016c9bc00aa85dae09720aba569f0fde1a3980"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Mon Jun 22 18:39:37 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 18:39:37 2026"
      },
      "message": "Merge pull request #1531 from aperturerobotics/fix-tinygo\n\nremove unnecessary _tinygo.go variant "
    },
    {
      "commit": "2c016c9bc00aa85dae09720aba569f0fde1a3980",
      "tree": "42303c49c49e811a60074e01f96b6a534698e7ac",
      "parents": [
        "d4a50659cfd64d348122edc79ee342dbb526e5de"
      ],
      "author": {
        "name": "Christian Stewart",
        "email": "christian@aperture.us",
        "time": "Thu Apr 30 07:00:50 2026"
      },
      "committer": {
        "name": "Christian Stewart",
        "email": "christian@aperture.us",
        "time": "Tue May 26 10:43:58 2026"
      },
      "message": "fix: use no_terminal variant for tinygo\n\nfa4818ced582b8d656706b45108fe3b836eb9863 added a build-tagged file for tinygo\ncompatibility but didn\u0027t include in an additional required change: which is we\nneed to have (js \u0026\u0026 !tinygo) in the no_terminal case or tinygo sometimes builds\nboth the _tinygo and _js .go files (when targeting wasm).\n\nTo simplify things, we can actually just add the tinygo build tag to the\nno_terminal file and delete the separate _tinygo.go file.\n\nSigned-off-by: Christian Stewart \u003cchristian@aperture.us\u003e\n"
    },
    {
      "commit": "861fc2cea9048c8863039ec01edd1e36b9769ead",
      "tree": "301a55e1a86c3241b87e755657192d2729545877",
      "parents": [
        "d4a50659cfd64d348122edc79ee342dbb526e5de"
      ],
      "author": {
        "name": "box4wangjing",
        "email": "box4wangjing@outlook.com",
        "time": "Sun May 10 17:18:23 2026"
      },
      "committer": {
        "name": "box4wangjing",
        "email": "box4wangjing@outlook.com",
        "time": "Sun May 10 17:18:23 2026"
      },
      "message": "chore: fix some comments to improve readability\n\nSigned-off-by: box4wangjing \u003cbox4wangjing@outlook.com\u003e\n"
    },
    {
      "commit": "d4a50659cfd64d348122edc79ee342dbb526e5de",
      "tree": "8cec237f8286539244af30926614a7dd93377ffe",
      "parents": [
        "6878cb36b029f0280bda982d2e9b315bfaa99f77",
        "8e68ca0dfb13d354b4d3e6f22defe90a97f054f5"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Fri May 08 08:46:01 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 08:46:01 2026"
      },
      "message": "Merge pull request #1532 from criciss/master\n\nchore: fix some function names in comment"
    },
    {
      "commit": "8e68ca0dfb13d354b4d3e6f22defe90a97f054f5",
      "tree": "8cec237f8286539244af30926614a7dd93377ffe",
      "parents": [
        "6878cb36b029f0280bda982d2e9b315bfaa99f77"
      ],
      "author": {
        "name": "criciss",
        "email": "cricis@msn.com",
        "time": "Sat May 02 18:30:27 2026"
      },
      "committer": {
        "name": "criciss",
        "email": "cricis@msn.com",
        "time": "Sat May 02 18:30:27 2026"
      },
      "message": "chore: fix some function names in comment\n\nSigned-off-by: criciss \u003ccricis@msn.com\u003e\n"
    },
    {
      "commit": "6878cb36b029f0280bda982d2e9b315bfaa99f77",
      "tree": "26b459d21f1f4bd60e9538bb903424866e3380a6",
      "parents": [
        "e15f1b541659c7286ffad82312fe86010185f4e9",
        "5649d7cdbd80146368e0737e20fa43ec463ac654"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Sun Apr 26 20:35:57 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 26 20:35:57 2026"
      },
      "message": "Merge pull request #1529 from thaJeztah/cleanup_readme\n\nREADME: touch-ups"
    },
    {
      "commit": "5649d7cdbd80146368e0737e20fa43ec463ac654",
      "tree": "26b459d21f1f4bd60e9538bb903424866e3380a6",
      "parents": [
        "a3284517609dcca558f76fc2b7badc42f54a31b0"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Apr 26 19:08:39 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Apr 26 20:26:38 2026"
      },
      "message": "README: tweak section about maintenance mode\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "a3284517609dcca558f76fc2b7badc42f54a31b0",
      "tree": "0cd2266cc7b13dbaef29ced8ea71335ad97f5813",
      "parents": [
        "d258d28788836c9fbd43dc6c96ff69b77ff4b00a"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Apr 26 19:06:24 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Apr 26 20:22:17 2026"
      },
      "message": "README: remove details about lowercase rename\n\nThis should be widely known by now, and not as much of an issue\nas it was.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "d258d28788836c9fbd43dc6c96ff69b77ff4b00a",
      "tree": "8f8f1a8bcaadbb35a554fad745b0b7bb6f84a0f5",
      "parents": [
        "e15f1b541659c7286ffad82312fe86010185f4e9"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Apr 26 15:57:53 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Apr 26 20:22:11 2026"
      },
      "message": "README: fix example for caller benchmarks\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "e15f1b541659c7286ffad82312fe86010185f4e9",
      "tree": "cbb0e4262e2f4c778d6264d95e9471de66c7245a",
      "parents": [
        "dc545927723d9d56a1e5056d268aa01304a43801",
        "bdaca74371f0250448c193b06f52e5644a611eb8"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Sun Apr 26 20:17:28 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 26 20:17:28 2026"
      },
      "message": "Merge pull request #1530 from thaJeztah/touchup_godoc\n\ntouch-up godoc and add godoc-links"
    },
    {
      "commit": "bdaca74371f0250448c193b06f52e5644a611eb8",
      "tree": "cbb0e4262e2f4c778d6264d95e9471de66c7245a",
      "parents": [
        "dc545927723d9d56a1e5056d268aa01304a43801"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Apr 26 19:46:11 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Apr 26 20:07:41 2026"
      },
      "message": "touch-up godoc and add godoc-links\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "dc545927723d9d56a1e5056d268aa01304a43801",
      "tree": "02c434d055c1445df40d5a894dd0c5da9112aaa1",
      "parents": [
        "561de13716949e09675d05c1e44353c053054219",
        "fa4818ced582b8d656706b45108fe3b836eb9863"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Sat Apr 25 21:54:43 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 25 21:54:43 2026"
      },
      "message": "Merge pull request #1528 from aperturerobotics/fix-tinygo\n\nfix: build against tinygo"
    },
    {
      "commit": "fa4818ced582b8d656706b45108fe3b836eb9863",
      "tree": "02c434d055c1445df40d5a894dd0c5da9112aaa1",
      "parents": [
        "561de13716949e09675d05c1e44353c053054219"
      ],
      "author": {
        "name": "Christian Stewart",
        "email": "christian@aperture.us",
        "time": "Sat Apr 25 21:40:54 2026"
      },
      "committer": {
        "name": "Christian Stewart",
        "email": "christian@aperture.us",
        "time": "Sat Apr 25 21:42:42 2026"
      },
      "message": "fix: build against tinygo\n\nFixes the build against tinygo by removing the import to the unix syscalls\npackage conditional on the tinygo build tag.\n\nFixes tinygo build ./...\n\nSigned-off-by: Christian Stewart \u003cchristian@aperture.us\u003e\n"
    },
    {
      "commit": "561de13716949e09675d05c1e44353c053054219",
      "tree": "2a49f599a59ab8609d062e9a2a4cb94a592dffe2",
      "parents": [
        "f61f19d87ffb3404100c7627da8a139dad165aa5",
        "1ed0adec3b21392ca968bd18c8aae5b5398dcda3"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Sat Apr 25 21:14:27 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 25 21:14:27 2026"
      },
      "message": "Merge pull request #1526 from thaJeztah/stdlogger_names\n\nadd argument names to StdLogger interface"
    },
    {
      "commit": "1ed0adec3b21392ca968bd18c8aae5b5398dcda3",
      "tree": "2a49f599a59ab8609d062e9a2a4cb94a592dffe2",
      "parents": [
        "f61f19d87ffb3404100c7627da8a139dad165aa5"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Apr 25 20:55:08 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Apr 25 21:02:15 2026"
      },
      "message": "add argument names to StdLogger interface\n\nAlign with other interfaces that are defined in this file.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "f61f19d87ffb3404100c7627da8a139dad165aa5",
      "tree": "3cb1e9a1dd879c5799f26693bccde70bd54edff5",
      "parents": [
        "9f0600962f750e07df31280b76cfe3fcebda5fdf",
        "611c3462bd49c6884577f4f5c616362903be635d"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Sat Apr 25 21:00:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 25 21:00:44 2026"
      },
      "message": "Merge pull request #1524 from thaJeztah/cleanup_interfaces\n\ncleanup FieldLogger interface"
    },
    {
      "commit": "9f0600962f750e07df31280b76cfe3fcebda5fdf",
      "tree": "9b8b5b1f4dd31b701574b3d6ee600ce8e8c140f3",
      "parents": [
        "0f5f170592bd52b78be0942e50b1cb24b9e6fc37",
        "2ab3c8fe6621afddce7b695d62a1eb17a6d7eb8b"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Mon Mar 09 20:26:48 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 20:26:48 2026"
      },
      "message": "Merge pull request #1519 from thaJeztah/fix_readme\n\nREADME: correct signature of Fields-type"
    },
    {
      "commit": "611c3462bd49c6884577f4f5c616362903be635d",
      "tree": "36dce705e48a846fdc6d74bbbd03bffe8fa93550",
      "parents": [
        "0f5f170592bd52b78be0942e50b1cb24b9e6fc37"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Aug 04 12:04:53 2025"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 20:25:38 2026"
      },
      "message": "cleanup FieldLogger interface\n\n- Embed the StdLogger interface to make it more clear what parts\n  are extensions of go stdlib\u0027s logger.\n- Group methods per log-level (Error, Warn/Warning)\n- Remove commented-out parts.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "2ab3c8fe6621afddce7b695d62a1eb17a6d7eb8b",
      "tree": "9b8b5b1f4dd31b701574b3d6ee600ce8e8c140f3",
      "parents": [
        "0f5f170592bd52b78be0942e50b1cb24b9e6fc37"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Aug 04 12:19:35 2025"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 20:24:14 2026"
      },
      "message": "README: correct signature of Fields-type\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "0f5f170592bd52b78be0942e50b1cb24b9e6fc37",
      "tree": "4170ea42811d5dd8186f4b8e3e27c9c642ad5024",
      "parents": [
        "63302e6dabf4e468755492c0b6921c967aed1195",
        "a41edc63ee931767c3d4e73a6774a3af82a20d5d"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Mon Mar 09 19:00:44 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 19:00:44 2026"
      },
      "message": "Merge pull request #1517 from thaJeztah/update_quoting_docs\n\nTextFormatter: touch-up GoDoc for quoting"
    },
    {
      "commit": "a41edc63ee931767c3d4e73a6774a3af82a20d5d",
      "tree": "7431ee142f4968ccd5c5463ef232ce010edb04c3",
      "parents": [
        "5e2a5f0ea1e77a3a5bd6453d7dd982135a547cb4"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 18:40:40 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 18:52:29 2026"
      },
      "message": "TextFormatter: touch-up GoDoc for quoting\n\nClarify that only values are handled specially for quoting.\n\nCo-authored-by: Jamie \u003chcmlinj@gmail.com\u003e\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "63302e6dabf4e468755492c0b6921c967aed1195",
      "tree": "b6bee3006bd38666a8decefa2b7d8863a3722b5e",
      "parents": [
        "6e43599f369d63cb2c358e4d9b4e634904e85454",
        "faf2645b9b85c87bcc1635788b987644af862483"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Mon Mar 09 18:22:04 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 18:22:04 2026"
      },
      "message": "Merge pull request #1516 from thaJeztah/carry_1245\n\nJSONFormatter: omit empty DataKey wrapper when no fields are present"
    },
    {
      "commit": "faf2645b9b85c87bcc1635788b987644af862483",
      "tree": "2f5b7c9e609190e3f212260599b1dbcd0f7b29a6",
      "parents": [
        "5e2a5f0ea1e77a3a5bd6453d7dd982135a547cb4"
      ],
      "author": {
        "name": "simon",
        "email": "simon@crcms.cn",
        "time": "Thu Mar 11 01:20:33 2021"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 18:19:28 2026"
      },
      "message": "JSONFormatter: omit empty DataKey wrapper when no fields are present\n\nIf Data is empty, ignore the writing of Key\n\nCo-authored-by: simon \u003csimon@crcms.cn\u003e\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "6e43599f369d63cb2c358e4d9b4e634904e85454",
      "tree": "62c65756d859463b0ea68687b7c7390578bffaaa",
      "parents": [
        "59b13269770f5c73b36de8374f855c340acdd91a",
        "760822ce06962a116f2165a9402e4fb9512cd8e2"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Mon Mar 09 18:18:32 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 18:18:32 2026"
      },
      "message": "Merge pull request #1515 from thaJeztah/update_relnotes\n\nAdd missing releases to changelog"
    },
    {
      "commit": "59b13269770f5c73b36de8374f855c340acdd91a",
      "tree": "235f26c97541b70cb6a6c49bb13f078c4cfe0686",
      "parents": [
        "5e2a5f0ea1e77a3a5bd6453d7dd982135a547cb4",
        "c68f1d5563e2d0ff3f0b685e4b7b77ade6ad655d"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Mon Mar 09 18:18:13 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 18:18:13 2026"
      },
      "message": "Merge pull request #1514 from thaJeztah/gha_nits\n\nci: update workflows"
    },
    {
      "commit": "c68f1d5563e2d0ff3f0b685e4b7b77ade6ad655d",
      "tree": "235f26c97541b70cb6a6c49bb13f078c4cfe0686",
      "parents": [
        "5e2a5f0ea1e77a3a5bd6453d7dd982135a547cb4"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 18:05:39 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 18:05:39 2026"
      },
      "message": "ci: update workflows\n\n- set permissions\n- add concurrency settings\n- assorted cleanups and formatting changes\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "760822ce06962a116f2165a9402e4fb9512cd8e2",
      "tree": "ab033dbd6d63cb234b81a83dc7b56e39ab175ac2",
      "parents": [
        "5e2a5f0ea1e77a3a5bd6453d7dd982135a547cb4"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 17:44:36 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 17:52:21 2026"
      },
      "message": "Add missing releases to changelog\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "5e2a5f0ea1e77a3a5bd6453d7dd982135a547cb4",
      "tree": "fa807f2a00f54e5caccc6bd64bdcf8d0d22c8715",
      "parents": [
        "ebccf07008060a8fd702dd285b94553e74d3df32",
        "f9a1484922e7a0fb6c4ed77b39eeb3fc5112a79f"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Mon Mar 09 17:27:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 17:27:23 2026"
      },
      "message": "Merge pull request #1407 from flimzy/slog\n\nAdd slog hook"
    },
    {
      "commit": "f9a1484922e7a0fb6c4ed77b39eeb3fc5112a79f",
      "tree": "cb20ad9ee61aa05487202800cabfe953d37039b2",
      "parents": [
        "823a86669b49db12fc248a19fea9ac904b6f7402"
      ],
      "author": {
        "name": "Jonathan Hall",
        "email": "jonathan@jhall.io",
        "time": "Thu Jan 15 16:33:18 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 17:23:27 2026"
      },
      "message": "Optimizations and improvements from PR feedback\n\nCo-authored-by: Jonathan Hall \u003cjonathan@jhall.io\u003e\nCo-authored-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "823a86669b49db12fc248a19fea9ac904b6f7402",
      "tree": "8acd5fe0027d1c77396fabe53d19e0b568354e66",
      "parents": [
        "467b8ff311261efd37e264643990bce0e27895f3"
      ],
      "author": {
        "name": "Jonathan Hall",
        "email": "jonathan@jhall.io",
        "time": "Thu Jan 15 16:18:57 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 17:15:12 2026"
      },
      "message": "Test that we report the proper caller\n\nCo-authored-by: Jonathan Hall \u003cjonathan@jhall.io\u003e\nCo-authored-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "467b8ff311261efd37e264643990bce0e27895f3",
      "tree": "66fdd2fecceaf5e06a9227d29026cfd24d1cae6a",
      "parents": [
        "8011284fadc315067c23e8cfc19bef11e130051c"
      ],
      "author": {
        "name": "Jonathan Hall",
        "email": "flimzy@flimzy.com",
        "time": "Thu Jan 15 14:39:40 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 17:05:55 2026"
      },
      "message": "Propagate Handle() errors to Fire()\u0027s caller\n\nCo-authored-by: Jonathan Hall \u003cflimzy@flimzy.com\u003e\nCo-authored-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "8011284fadc315067c23e8cfc19bef11e130051c",
      "tree": "f1b8a8c9679d383981e42f1c2e2841bee8169b6d",
      "parents": [
        "4e3d3133d57894562639ccc807bcb1d7fd3466fc"
      ],
      "author": {
        "name": "Jonathan Hall",
        "email": "flimzy@flimzy.com",
        "time": "Thu Nov 09 08:59:33 2023"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 17:03:56 2026"
      },
      "message": "Allow for custom level mapping between logrus and slog\n\nCo-authored-by: Jonathan Hall \u003cflimzy@flimzy.com\u003e\nCo-authored-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "4e3d3133d57894562639ccc807bcb1d7fd3466fc",
      "tree": "1a21478679a59feba83aacd491d2f102c298d88e",
      "parents": [
        "ca6ce66178a045f5dc208a06367c618f226008f7"
      ],
      "author": {
        "name": "Jonathan Hall",
        "email": "flimzy@flimzy.com",
        "time": "Thu Nov 09 08:59:13 2023"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 17:03:00 2026"
      },
      "message": "Basic slog hook\n\nCo-authored-by: Jonathan Hall \u003cflimzy@flimzy.com\u003e\nCo-authored-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "ebccf07008060a8fd702dd285b94553e74d3df32",
      "tree": "e48c4a587b2e9d30e6934581a379d5b4f138090d",
      "parents": [
        "ca6ce66178a045f5dc208a06367c618f226008f7",
        "e9e33f0093d019966ffa544903196f4a25aafafc"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Mon Mar 09 16:48:56 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 16:48:56 2026"
      },
      "message": "Merge pull request #1513 from thaJeztah/fix_field\n\nEntry: WithFields: use correct variable to append to"
    },
    {
      "commit": "e9e33f0093d019966ffa544903196f4a25aafafc",
      "tree": "e48c4a587b2e9d30e6934581a379d5b4f138090d",
      "parents": [
        "ca6ce66178a045f5dc208a06367c618f226008f7"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 16:42:28 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 16:42:28 2026"
      },
      "message": "Entry: WithFields: use correct variable to append to\n\nJust a small correctness fix; fieldErr is already defaulted to\nentry.err, so in practice, no difference.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "ca6ce66178a045f5dc208a06367c618f226008f7",
      "tree": "47ab2d06c1bf155a4fa923261c605c798fd83733",
      "parents": [
        "d10a85d2fea2fff7e330737d075fe646fa924075",
        "9bd791da0ffd04bd8bb306d50c54aba6efcf1c85"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Mon Mar 09 15:15:23 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 15:15:23 2026"
      },
      "message": "Merge pull request #1512 from thaJeztah/entry_godoc\n\nEntry: touch-up godoc"
    },
    {
      "commit": "9bd791da0ffd04bd8bb306d50c54aba6efcf1c85",
      "tree": "47ab2d06c1bf155a4fa923261c605c798fd83733",
      "parents": [
        "d10a85d2fea2fff7e330737d075fe646fa924075"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 14:26:05 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 15:10:22 2026"
      },
      "message": "Entry: touch-up godoc\n\nBe more explicit about \"Logger\" being required, and touch up some\nother godoc.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "d10a85d2fea2fff7e330737d075fe646fa924075",
      "tree": "574ee4a48df0c61b9ba8e34b2957a58263939c85",
      "parents": [
        "cc9714f2053998bac58489a465014a0b49d91165",
        "ba06c990d1b2695a97c2c91313a0908db073702f"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Mon Mar 09 13:53:18 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 13:53:18 2026"
      },
      "message": "Merge pull request #1511 from thaJeztah/cleanup_jsonformatter\n\nJSONFormatter, TextFormatter: minor cleanups, optimizations"
    },
    {
      "commit": "ba06c990d1b2695a97c2c91313a0908db073702f",
      "tree": "574ee4a48df0c61b9ba8e34b2957a58263939c85",
      "parents": [
        "21bce09e5e2560adaf3d666b86665294912c23c6"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 13:44:52 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 13:44:52 2026"
      },
      "message": "TextFormatter: use strconv.FormatInt instead of Itoa\n\nWhile they should be identical (Itoa is a wrapper around FormatInt),\nit performs ever so slightly better in common cases;\n\n```\ngoos: darwin\ngoarch: arm64\npkg: github.com/sirupsen/logrus\ncpu: Apple M3 Pro\n                          │ before.txt  │             after.txt              │\n                          │   sec/op    │   sec/op     vs base               │\nZeroTextFormatter           321.1n ± 1%   322.8n ± 1%  +0.51% (p\u003d0.034 n\u003d10)\nOneStringTextFormatter      476.7n ± 1%   477.3n ± 3%       ~ (p\u003d0.324 n\u003d10)\nOneNumericTextFormatter     486.0n ± 1%   482.7n ± 1%       ~ (p\u003d0.119 n\u003d10)\nOneBoolTextFormatter        481.8n ± 0%   479.9n ± 7%       ~ (p\u003d0.753 n\u003d10)\nNumericTextFormatter        1.112µ ± 1%   1.114µ ± 4%       ~ (p\u003d0.361 n\u003d10)\nBoolTextFormatter           952.5n ± 0%   944.9n ± 1%  -0.80% (p\u003d0.002 n\u003d10)\nStringerTextFormatter       1.181µ ± 2%   1.164µ ± 0%  -1.44% (p\u003d0.000 n\u003d10)\nErrorTextFormatter          606.3n ± 1%   599.9n ± 1%  -1.06% (p\u003d0.003 n\u003d10)\nSmallTextFormatter          765.2n ± 2%   755.9n ± 1%  -1.23% (p\u003d0.001 n\u003d10)\nLargeTextFormatter          4.153µ ± 1%   4.104µ ± 1%  -1.18% (p\u003d0.000 n\u003d10)\nSmallColoredTextFormatter   729.5n ± 2%   725.7n ± 0%       ~ (p\u003d0.092 n\u003d10)\nLargeColoredTextFormatter   4.179µ ± 1%   4.115µ ± 0%  -1.56% (p\u003d0.000 n\u003d10)\nLoggerTextFormatter         1.338µ ± 5%   1.308µ ± 0%  -2.24% (p\u003d0.001 n\u003d10)\ngeomean                     922.9n        915.6n       -0.79%\n\n                          │  before.txt  │              after.txt              │\n                          │     B/s      │     B/s       vs base               │\nZeroTextFormatter           151.5Mi ± 1%   150.7Mi ± 1%  -0.52% (p\u003d0.035 n\u003d10)\nOneStringTextFormatter      118.0Mi ± 1%   117.9Mi ± 3%       ~ (p\u003d0.271 n\u003d10)\nOneNumericTextFormatter     109.9Mi ± 1%   110.6Mi ± 1%       ~ (p\u003d0.123 n\u003d10)\nOneBoolTextFormatter        114.8Mi ± 0%   115.2Mi ± 7%       ~ (p\u003d0.753 n\u003d10)\nNumericTextFormatter        113.2Mi ± 1%   113.0Mi ± 4%       ~ (p\u003d0.315 n\u003d10)\nBoolTextFormatter           99.12Mi ± 0%   99.92Mi ± 1%  +0.81% (p\u003d0.002 n\u003d10)\nStringerTextFormatter       113.0Mi ± 2%   114.7Mi ± 0%  +1.44% (p\u003d0.000 n\u003d10)\nErrorTextFormatter          105.4Mi ± 1%   106.5Mi ± 1%  +1.07% (p\u003d0.003 n\u003d10)\nSmallTextFormatter          107.2Mi ± 1%   108.5Mi ± 1%  +1.25% (p\u003d0.001 n\u003d10)\nLargeTextFormatter          65.68Mi ± 1%   66.45Mi ± 1%  +1.18% (p\u003d0.000 n\u003d10)\nSmallColoredTextFormatter   188.3Mi ± 2%   189.2Mi ± 0%       ~ (p\u003d0.093 n\u003d10)\nLargeColoredTextFormatter   127.8Mi ± 1%   129.8Mi ± 0%  +1.58% (p\u003d0.000 n\u003d10)\ngeomean                     114.6Mi        115.3Mi       +0.67%\n\n                          │  before.txt  │               after.txt               │\n                          │     B/op     │     B/op      vs base                 │\nZeroTextFormatter             232.0 ± 0%     232.0 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nOneStringTextFormatter        264.0 ± 0%     264.0 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nOneNumericTextFormatter       264.0 ± 0%     264.0 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nOneBoolTextFormatter          264.0 ± 0%     264.0 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nNumericTextFormatter          808.0 ± 0%     808.0 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nBoolTextFormatter             552.0 ± 0%     552.0 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nStringerTextFormatter         808.0 ± 0%     808.0 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nErrorTextFormatter            424.0 ± 0%     424.0 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nSmallTextFormatter            488.0 ± 0%     488.0 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nLargeTextFormatter          3.156Ki ± 0%   3.156Ki ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nSmallColoredTextFormatter     392.0 ± 0%     392.0 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nLargeColoredTextFormatter   2.859Ki ± 0%   2.859Ki ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nLoggerTextFormatter         1.570Ki ± 0%   1.570Ki ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\ngeomean                       617.5          617.5       +0.00%\n¹ all samples are equal\n\n                          │ before.txt │              after.txt              │\n                          │ allocs/op  │ allocs/op   vs base                 │\nZeroTextFormatter           7.000 ± 0%   7.000 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nOneStringTextFormatter      8.000 ± 0%   8.000 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nOneNumericTextFormatter     8.000 ± 0%   8.000 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nOneBoolTextFormatter        8.000 ± 0%   8.000 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nNumericTextFormatter        10.00 ± 0%   10.00 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nBoolTextFormatter           9.000 ± 0%   9.000 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nStringerTextFormatter       10.00 ± 0%   10.00 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nErrorTextFormatter          9.000 ± 0%   9.000 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nSmallTextFormatter          9.000 ± 0%   9.000 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nLargeTextFormatter          14.00 ± 0%   14.00 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nSmallColoredTextFormatter   7.000 ± 0%   7.000 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nLargeColoredTextFormatter   12.00 ± 0%   12.00 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\nLoggerTextFormatter         17.00 ± 0%   17.00 ± 0%       ~ (p\u003d1.000 n\u003d10) ¹\ngeomean                     9.513        9.513       +0.00%\n¹ all samples are equal\n```\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "21bce09e5e2560adaf3d666b86665294912c23c6",
      "tree": "caaea64babf29db9cc3920b448288711ceb347d1",
      "parents": [
        "8d3e6d3a95d07ed41f03f32b430af7bf1cf85e01"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 07:39:17 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 13:33:10 2026"
      },
      "message": "JSONFormatter: avoid formatting caller.File twice, and optimize\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "8d3e6d3a95d07ed41f03f32b430af7bf1cf85e01",
      "tree": "e4da5d16f5c291f96f3b669b48a10030ac642227",
      "parents": [
        "670d0069183764c2ac8acd41e5f8cb51a81744ac"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 12:23:09 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 13:33:10 2026"
      },
      "message": "TextFormatter: Format: pre-alloc data\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "670d0069183764c2ac8acd41e5f8cb51a81744ac",
      "tree": "9b1de8b792d0bb5f785b37db32761bb1af961519",
      "parents": [
        "5c3159b5f0462cc47280df402ed83167c0381267"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 08:41:07 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 13:33:03 2026"
      },
      "message": "formatter: add const for number of predefined fields, and adjust\n\nAdd a const for the number of predefined fields to expect, and adjust\nit for the common case (\"msg\", \"level\", \"time\"). The \"logrus_error\"\nfield should be exceptional, and \"func\", \"file\" related to \"caller\"\nalready results in more overhead, so are not accounted for (for now).\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "5c3159b5f0462cc47280df402ed83167c0381267",
      "tree": "60389bb3b54e9f3b278ed12268e687ad4c5a1597",
      "parents": [
        "cc9714f2053998bac58489a465014a0b49d91165"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 12:24:25 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 12:24:25 2026"
      },
      "message": "formatter: adjust benchmarks\n\n- add benchmarks for tiny/single-field cases\n- update boolfields and stringerfields to have more than 4 fields,\n  which crosses a threshold.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "cc9714f2053998bac58489a465014a0b49d91165",
      "tree": "b8f18efabf2b62abeed0d99f7399d9b681541a8b",
      "parents": [
        "8b814ab33b55d839967d0047b8c14df6d40e18a2",
        "87b2742d6b762b970c7d6a26003df0832209b3e6"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Mon Mar 09 02:04:13 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 02:04:13 2026"
      },
      "message": "Merge pull request #1510 from thaJeztah/cleanup_textformatter\n\nTextFormatter: cleanup and optimizations"
    },
    {
      "commit": "87b2742d6b762b970c7d6a26003df0832209b3e6",
      "tree": "b8f18efabf2b62abeed0d99f7399d9b681541a8b",
      "parents": [
        "036177e5a60a62e7503d8d0da11bca5673642c6b"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 01:20:13 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 01:50:06 2026"
      },
      "message": "TextFormatter: printPlain: minor optimizations\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "036177e5a60a62e7503d8d0da11bca5673642c6b",
      "tree": "34e5fe438b625c074acf016eb72a5947f58cd0cd",
      "parents": [
        "49c451d3dc63beca36696ac5d23a47459e5e79bf"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 00:18:23 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 01:50:06 2026"
      },
      "message": "move non-key const separate\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "49c451d3dc63beca36696ac5d23a47459e5e79bf",
      "tree": "89c8d2b174497954b5cf97a19c43e8c65f642337",
      "parents": [
        "e2b28994b675d3a55ae00efca3071e6b797bf57e"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Mar 08 23:12:54 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 01:50:06 2026"
      },
      "message": "TextFormatter: Format: split plain-text formatter to printPlain()\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "e2b28994b675d3a55ae00efca3071e6b797bf57e",
      "tree": "540dfe393beb74c7a603249f58d3ce391b1e308b",
      "parents": [
        "30a7e2492604242e5c4cf079fc3aac2fe86ac427"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Mar 08 22:57:05 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 01:50:06 2026"
      },
      "message": "TextFormatter: Format: skip \"fixedFields\" when printing colored\n\nThe fixed fields are not used when printing colored; skip creating\nthe slice when printing colored, and return early.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "30a7e2492604242e5c4cf079fc3aac2fe86ac427",
      "tree": "70e9f75ff961f7bce9df52d7613ddd79ace11bd8",
      "parents": [
        "fd1e94c61e29a3cd47b76446febe80d9822fef93"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Mar 08 22:54:56 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 01:50:06 2026"
      },
      "message": "TextFormatter: Format: add note about default field sorting\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "fd1e94c61e29a3cd47b76446febe80d9822fef93",
      "tree": "0094f292e4422de0bb112f2da44579e7f70e8e5e",
      "parents": [
        "dbfbafd6b6781776c625c4b3a358e092c10a7c01"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Mar 08 22:48:28 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 01:50:05 2026"
      },
      "message": "TextFormatter: set timestampFormat where used\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "dbfbafd6b6781776c625c4b3a358e092c10a7c01",
      "tree": "c62c883c9f5f563406b7885b788a877da1532a9b",
      "parents": [
        "db035dfd197d6bbb90f512a9ad1840033fb895fe"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Mar 08 22:46:56 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Mon Mar 09 01:49:57 2026"
      },
      "message": "TextFormatter: test Format instead of internals\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "db035dfd197d6bbb90f512a9ad1840033fb895fe",
      "tree": "b3fe8a040be250644d7b0034de1a83cf4db18058",
      "parents": [
        "6747d0df9c0e3436cbe1ea711c342cecbfe376dc"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Mar 08 21:56:31 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Mar 08 22:26:51 2026"
      },
      "message": "TextFormatter.Format: use early return for colored\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "6747d0df9c0e3436cbe1ea711c342cecbfe376dc",
      "tree": "8dc736f7c3a1800efeb6413aefe2c0b5d7bd4b66",
      "parents": [
        "2a640f1272545bac3891e0845535cba8e9a9b9a4"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Mar 08 21:44:27 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Mar 08 21:44:27 2026"
      },
      "message": "modernize: use slices.Sort instead of sort.Strings\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "2a640f1272545bac3891e0845535cba8e9a9b9a4",
      "tree": "f11e5853a6145c6eea1860a776db3b98965a944f",
      "parents": [
        "8b814ab33b55d839967d0047b8c14df6d40e18a2"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Mar 08 21:35:01 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Mar 08 21:39:25 2026"
      },
      "message": "TextFormatter: don\u0027t decorate empty caller.Function\n\nDon\u0027t format caller.Function if it\u0027s empty, and use strconv instead of fmt.Sprintf\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "8b814ab33b55d839967d0047b8c14df6d40e18a2",
      "tree": "3450c124b37cce4e3ba1568ebcbde57107e12dbd",
      "parents": [
        "5e4fce036e5c6cf40a66af8c93478fb0cc7d789d",
        "0bc0c224bd55f6f26e8e29c43d4479eaa0dd44ab"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Sun Mar 08 17:39:36 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 08 17:39:36 2026"
      },
      "message": "Merge pull request #1509 from thaJeztah/move_fieldErr_tests\n\nmove TestFieldValueError, TestNoFieldValueError to Formatter tests"
    },
    {
      "commit": "0bc0c224bd55f6f26e8e29c43d4479eaa0dd44ab",
      "tree": "3450c124b37cce4e3ba1568ebcbde57107e12dbd",
      "parents": [
        "5e4fce036e5c6cf40a66af8c93478fb0cc7d789d"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Mar 08 14:32:22 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sun Mar 08 16:46:27 2026"
      },
      "message": "move TestFieldValueError, TestNoFieldValueError to Formatter tests\n\nWhile the Entry propagates the (un-exported) `Entry.err` field, the handling of\nunsupported \"function\" values is handled by the TextFormatter and JSONFormatter,\nwhich set the \"logrus_error\" (`FieldKeyLogrusError`) field.\n\nUltimately, we should consider moving the handling of invalid / unsupported\nfield values to the formatter itself, but let\u0027s start with moving the tests.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "5e4fce036e5c6cf40a66af8c93478fb0cc7d789d",
      "tree": "802f73b495d46ac6688bd784e82f957453ca2f2b",
      "parents": [
        "541e22c5edbb52c0f5afaf58571b06b6547b5953",
        "0b5c818f06d4884ed2a0bc8caaabbdcbfb491b11"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Sat Mar 07 19:24:21 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 07 19:24:21 2026"
      },
      "message": "Merge pull request #1508 from thaJeztah/carry_1396\n\nREADME: add link to easy-logrus-formatter"
    },
    {
      "commit": "0b5c818f06d4884ed2a0bc8caaabbdcbfb491b11",
      "tree": "802f73b495d46ac6688bd784e82f957453ca2f2b",
      "parents": [
        "541e22c5edbb52c0f5afaf58571b06b6547b5953"
      ],
      "author": {
        "name": "weizhixiong",
        "email": "zhixiong.weii@gmail.com",
        "time": "Fri Jul 21 15:49:02 2023"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Mar 07 19:21:03 2026"
      },
      "message": "README: add link to easy-logrus-formatter\n\nrefactor: add a user-friendly third-party logging formatter recommendation\n\nCo-authored-by: weizhixiong \u003czhixiong.weii@gmail.com\u003e\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "541e22c5edbb52c0f5afaf58571b06b6547b5953",
      "tree": "7cd28a622bc0767a48bc854fb8186c48f450df36",
      "parents": [
        "13025bad77feaba0e0c96cb883150b0307f8e78b",
        "fbf9913020b4d42be6a843cfe3b0b6e3c5992dae"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Sat Mar 07 18:52:47 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 07 18:52:47 2026"
      },
      "message": "Merge pull request #1507 from thaJeztah/fix_bytes_race\n\nEntry: fix race between Entry.Bytes() and Logger.SetFormatter()"
    },
    {
      "commit": "13025bad77feaba0e0c96cb883150b0307f8e78b",
      "tree": "3a28d23235f6ee0acc7eb619469929d2dd34962e",
      "parents": [
        "35fb0739ebbbebbf2da1ba94b0507bebf9742516",
        "1c2e68fa3e6dec017056225142ff826a711fd0fc"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Sat Mar 07 18:30:16 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 07 18:30:16 2026"
      },
      "message": "Merge pull request #1506 from thaJeztah/fix_race\n\nTextFormatter: fix race between terminal detection and SetOutput"
    },
    {
      "commit": "fbf9913020b4d42be6a843cfe3b0b6e3c5992dae",
      "tree": "187a11f681a96e6ffb415034422d8a7721e3ff64",
      "parents": [
        "35fb0739ebbbebbf2da1ba94b0507bebf9742516"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Mar 07 18:08:31 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Mar 07 18:19:20 2026"
      },
      "message": "Entry: fix race between Entry.Bytes() and Logger.SetFormatter()\n\nUpdate Entry.Bytes to capture the formatter to prevent it from\nracing with Logger.SetFormatter().\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "1c2e68fa3e6dec017056225142ff826a711fd0fc",
      "tree": "3a28d23235f6ee0acc7eb619469929d2dd34962e",
      "parents": [
        "35fb0739ebbbebbf2da1ba94b0507bebf9742516"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Mar 07 17:57:00 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Mar 07 18:00:36 2026"
      },
      "message": "TextFormatter: fix race between terminal detection and SetOutput\n\nTerminal detection previously read Logger.Out without synchronization,\nwhich races with Logger.SetOutput. Move detection behind a sync.Once-\nguarded helper that snapshots Out under logger.mu.\n\nRefactor isColored to accept isTerminal as an argument so tests can\ninject terminal state.\n\nBefore this patch:\n\n    go test -v -run \u0027TestEntryLoggerMutationRace/SetOutput\u0027 -race\n    \u003d\u003d\u003d RUN   TestEntryLoggerMutationRace\n    \u003d\u003d\u003d RUN   TestEntryLoggerMutationRace/SetOutput\n    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n    WARNING: DATA RACE\n    Write at 0x00c0000ce980 by goroutine 10:\n      github.com/sirupsen/logrus.(*Logger).SetOutput()\n          /Users/thajeztah/Projects/logrus/logger.go:413 +0x90\n      github.com/sirupsen/logrus_test.TestEntryLoggerMutationRace.func5()\n          /Users/thajeztah/Projects/logrus/entry_test.go:297 +0x40\n      github.com/sirupsen/logrus_test.runEntryLoggerRace.func2()\n          /Users/thajeztah/Projects/logrus/entry_test.go:348 +0x98\n\n    Previous read at 0x00c0000ce980 by goroutine 11:\n      github.com/sirupsen/logrus.(*TextFormatter).init()\n          /Users/thajeztah/Projects/logrus/text_formatter.go:92 +0x58\n      github.com/sirupsen/logrus.(*TextFormatter).Format.func1()\n          /Users/thajeztah/Projects/logrus/text_formatter.go:116 +0x18\n      sync.(*Once).doSlow()\n          /opt/homebrew/Cellar/go/1.26.0/libexec/src/sync/once.go:78 +0x94\n      sync.(*Once).Do()\n          /opt/homebrew/Cellar/go/1.26.0/libexec/src/sync/once.go:69 +0x40\n      github.com/sirupsen/logrus.(*TextFormatter).Format()\n          /Users/thajeztah/Projects/logrus/text_formatter.go:116 +0x80\n      github.com/sirupsen/logrus.(*Entry).write()\n          /Users/thajeztah/Projects/logrus/entry.go:311 +0xd4\n      github.com/sirupsen/logrus.(*Entry).log()\n          /Users/thajeztah/Projects/logrus/entry.go:275 +0x37c\n      github.com/sirupsen/logrus.(*Entry).Log()\n          /Users/thajeztah/Projects/logrus/entry.go:330 +0x80\n      github.com/sirupsen/logrus.(*Entry).Info()\n          /Users/thajeztah/Projects/logrus/entry.go:347 +0xbc\n      github.com/sirupsen/logrus_test.runEntryLoggerRace.func3()\n          /Users/thajeztah/Projects/logrus/entry_test.go:355 +0x88\n\n    Goroutine 10 (running) created at:\n      github.com/sirupsen/logrus_test.runEntryLoggerRace()\n          /Users/thajeztah/Projects/logrus/entry_test.go:345 +0x450\n      github.com/sirupsen/logrus_test.TestEntryLoggerMutationRace.func8()\n          /Users/thajeztah/Projects/logrus/entry_test.go:311 +0x34\n      testing.tRunner()\n          /opt/homebrew/Cellar/go/1.26.0/libexec/src/testing/testing.go:2036 +0x164\n      testing.(*T).Run.gowrap1()\n          /opt/homebrew/Cellar/go/1.26.0/libexec/src/testing/testing.go:2101 +0x34\n\n    Goroutine 11 (running) created at:\n      github.com/sirupsen/logrus_test.runEntryLoggerRace()\n          /Users/thajeztah/Projects/logrus/entry_test.go:352 +0x4e8\n      github.com/sirupsen/logrus_test.TestEntryLoggerMutationRace.func8()\n          /Users/thajeztah/Projects/logrus/entry_test.go:311 +0x34\n      testing.tRunner()\n          /opt/homebrew/Cellar/go/1.26.0/libexec/src/testing/testing.go:2036 +0x164\n      testing.(*T).Run.gowrap1()\n          /opt/homebrew/Cellar/go/1.26.0/libexec/src/testing/testing.go:2101 +0x34\n    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n        testing.go:1712: race detected during execution of test\n    --- FAIL: TestEntryLoggerMutationRace (0.00s)\n        --- FAIL: TestEntryLoggerMutationRace/SetOutput (0.00s)\n    FAIL\n    exit status 1\n    FAIL\tgithub.com/sirupsen/logrus\t0.270s\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "35fb0739ebbbebbf2da1ba94b0507bebf9742516",
      "tree": "c65ff6cfe51072dff14d9a8878d8a1b3ed9b0fdc",
      "parents": [
        "b6e45a5d509d424b0929f2f2b77ab346ddaffd47",
        "bcd9e2c37c846236e3bfd1b609ac96e1a3674891"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Sat Mar 07 16:18:17 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 07 16:18:17 2026"
      },
      "message": "Merge pull request #1505 from thaJeztah/benchie_and_the_jets\n\nentry: combine race tests and test more mutations"
    },
    {
      "commit": "bcd9e2c37c846236e3bfd1b609ac96e1a3674891",
      "tree": "c65ff6cfe51072dff14d9a8878d8a1b3ed9b0fdc",
      "parents": [
        "b6e45a5d509d424b0929f2f2b77ab346ddaffd47"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Mar 07 15:50:51 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Mar 07 16:10:04 2026"
      },
      "message": "entry: combine race tests and test more mutations\n\nThe older tests were fairly limited; extract the implementation\nfrom TestHookAddRace to a helper, and use it for a table-test.\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "b6e45a5d509d424b0929f2f2b77ab346ddaffd47",
      "tree": "58c7093ee2484846d261fccf2d1ba0ca048fb725",
      "parents": [
        "e9f9a4bf0048097b595d94cc3ddf0843bec68f33",
        "ac7745bb43bb9e442da02ae997726d3b0ed86060"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Sat Mar 07 16:09:55 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 07 16:09:55 2026"
      },
      "message": "Merge pull request #1504 from thaJeztah/buffy\n\nassorted cleanups and formatting"
    },
    {
      "commit": "ac7745bb43bb9e442da02ae997726d3b0ed86060",
      "tree": "58c7093ee2484846d261fccf2d1ba0ca048fb725",
      "parents": [
        "8e6a88cafa51e3719b6f1672784e85f4cae45d29"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Mar 07 15:42:12 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Mar 07 15:48:59 2026"
      },
      "message": "hooks/* assert interfaces\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    },
    {
      "commit": "8e6a88cafa51e3719b6f1672784e85f4cae45d29",
      "tree": "58d9e11401f2d524682bf29572f770674a49c919",
      "parents": [
        "aa4a8e6a6d1838a18b3985796b1007e1c1b02931"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Mar 07 15:05:29 2026"
      },
      "committer": {
        "name": "Sebastiaan van Stijn",
        "email": "github@gone.nl",
        "time": "Sat Mar 07 15:48:59 2026"
      },
      "message": "hooks/*: use blackbox testing\n\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\n"
    }
  ],
  "next": "aa4a8e6a6d1838a18b3985796b1007e1c1b02931"
}
