[
  {
    "hash": "f5188e1abaf39a868cd297e4c29a26e17c97f0f6",
    "short": "f5188e1",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-06-20T08:06:24Z",
    "subject": "KMB: Do not search BusStopId unless fully qualified"
  },
  {
    "hash": "f149a074980be5933f95cef4de286d42831a2c7d",
    "short": "f149a07",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-06-20T02:14:09Z",
    "subject": "Attach message as text file if message too long"
  },
  {
    "hash": "f2ef2910f8aad4ba8e276f5d120b94eb17d65501",
    "short": "f2ef291",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-06-20T01:19:11Z",
    "subject": "Fixed crash on accessing wrong SortedTungJamZi"
  },
  {
    "hash": "0063b156cc2853718095d655208d3eeef6f68ec0",
    "short": "0063b15",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-06-13T00:16:52Z",
    "subject": "Handle unsupported message"
  },
  {
    "hash": "6457f6d14e47f60883a3731a29c9eb80d120594f",
    "short": "6457f6d",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-05-23T12:10:34Z",
    "subject": "Fixed nil pointer error"
  },
  {
    "hash": "435637e1a4e01c6950bf185e4c01503430462143",
    "short": "435637e",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-03-10T08:59:31Z",
    "subject": "Added schedules empty message for kmb"
  },
  {
    "hash": "346a2a6042b00abb3f797469152bbb3ab2195c2d",
    "short": "346a2a6",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-03-10T07:40:40Z",
    "subject": "Fixed incorrect texts"
  },
  {
    "hash": "4a37cded04389879a837a4be5f1038ee0fed1f5c",
    "short": "4a37cde",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-03-10T07:31:03Z",
    "subject": "Added missing json files"
  },
  {
    "hash": "ddf452b92f2e773c23be33fe15bea06f49b5ff41",
    "short": "ddf452b",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-03-10T07:28:49Z",
    "subject": "Fixed docker build"
  },
  {
    "hash": "7d1de5f78175311612204971a8c6a3f09eb054da",
    "short": "7d1de5f",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-03-10T07:18:34Z",
    "subject": "Added basic i18n"
  },
  {
    "hash": "093a8745ac51581e8fb6beebdb03f1e33171077d",
    "short": "093a874",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-03-08T07:45:38Z",
    "subject": "Fixed missing src folders"
  },
  {
    "hash": "33a7c04e0980d21dd27610f97e372503388b8c43",
    "short": "33a7c04",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-03-08T07:38:28Z",
    "subject": "Can now accept location"
  },
  {
    "hash": "912f9fd0ad210e5fd22cd3cb640cf109e49b86dd",
    "short": "912f9fd",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-03-07T14:16:14Z",
    "subject": "Refactoring codes for more tg message types"
  },
  {
    "hash": "a396a381b59afb350c1ce2f3ea7ed1cf0759df95",
    "short": "a396a38",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-03-01T20:17:00Z",
    "subject": "Fixed incorrect humanumarts links"
  },
  {
    "hash": "8bd60a58bbaf20f576e48bdb1d8e6323dfd31278",
    "short": "8bd60a5",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-03-01T11:22:15Z",
    "subject": "Validate data before commit"
  },
  {
    "hash": "6245ef62906dc3a424b579044d9a4624674e5ee1",
    "short": "6245ef6",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-02-27T12:07:10Z",
    "subject": "Fixed kmb again for schedules"
  },
  {
    "hash": "cda11cef2e69305e83e0e4ace8d54b87d3d6eff7",
    "short": "cda11ce",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-02-27T06:43:02Z",
    "subject": "Mimic browser requests because kmb blocked Go httpGet clients"
  },
  {
    "hash": "d54f106dee225e40824f6b49b4b49c06f15d2fe1",
    "short": "d54f106",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-02-20T13:06:47Z",
    "subject": "Rewrite some struct linkages"
  },
  {
    "hash": "1d9407331a1f8e33be472b4c926f4016763108ac",
    "short": "1d94073",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-02-20T05:00:56Z",
    "subject": "Fixed copy issue"
  },
  {
    "hash": "edcea67a47752b051cde6d745c17ab52272b132a",
    "short": "edcea67",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-02-20T04:56:56Z",
    "subject": "Fixed \"log\" imported and not used"
  },
  {
    "hash": "206448cc41e4f8127822299fff67b3662a98a228",
    "short": "206448c",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-02-20T04:50:36Z",
    "subject": "Added STATIC_DIR"
  },
  {
    "hash": "f6c9e40540afa29b27944368a1e527e3e87447c0",
    "short": "f6c9e40",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2026-02-20T04:41:04Z",
    "subject": "Added cj \u0026 jyutping lookup"
  },
  {
    "hash": "59d5934097ee25eac0b64a79acb58010d894e2fe",
    "short": "59d5934",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2025-12-16T12:33:55Z",
    "subject": "Print special route if only special route matches"
  },
  {
    "hash": "36e077c9100f202c4d2027cb08868fa0d1da9fec",
    "short": "36e077c",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2025-12-16T12:17:45Z",
    "subject": "Properly handle REFERENCE_ID for future changes"
  },
  {
    "hash": "6e94adbed4f942fa9c9c54ca1f6b066d53355013",
    "short": "6e94adb",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2025-12-16T03:10:27Z",
    "subject": "Handle new special route listing for mtr buses"
  },
  {
    "hash": "0ed4c618dc698918bbdba4486babf663544a0e66",
    "short": "0ed4c61",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2024-10-31T19:15:14Z",
    "subject": "default mode to disable"
  },
  {
    "hash": "c22cdac1cbfc5d1d562230ee860a601c9577cad1",
    "short": "c22cdac",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2023-12-12T22:25:49Z",
    "subject": "Fixed file not found error"
  },
  {
    "hash": "4efd346ce1d6d7874f9eff743a6ea4249f04aae1",
    "short": "4efd346",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2023-12-12T22:12:13Z",
    "subject": "Use better caching mechanism for mtr schedules"
  },
  {
    "hash": "e4275f60b76038cf7d7bfbcb9f33df8f9d346ac2",
    "short": "e4275f6",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2023-06-29T10:45:46Z",
    "subject": "Fixed mtr new csv format"
  },
  {
    "hash": "726916ed4510457ecd9c63a6da0ee5a3a3c1849f",
    "short": "726916e",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2023-01-30T20:47:02Z",
    "subject": "Typo"
  },
  {
    "hash": "91cc543fe4cb1c26106728bbeb97e9a704d93934",
    "short": "91cc543",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2023-01-30T20:36:58Z",
    "subject": "Added emptyDir for caching settings"
  },
  {
    "hash": "446847a7a8c8a8bd04c3b33064076ec236ccd326",
    "short": "446847a",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2023-01-05T18:22:12Z",
    "subject": "Added option to disable chat"
  },
  {
    "hash": "55d4ac4adc81e341441bfba21bf7204e327a5441",
    "short": "55d4ac4",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-11-14T16:22:39Z",
    "subject": "MTR: Sort schedules by route"
  },
  {
    "hash": "a062e37a4c6ed1abdeae63fc74cc58cd52c5e2b5",
    "short": "a062e37",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-10-18T08:20:58Z",
    "subject": "Simplify query calls"
  },
  {
    "hash": "35b303f796c4ed30d8526d0ce7dd4467b1c32a41",
    "short": "35b303f",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-25T11:09:03Z",
    "subject": "Use negative chat id to detect group"
  },
  {
    "hash": "41be1db3818712c68c19761abfc37bd869e3e1eb",
    "short": "41be1db",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-25T10:48:22Z",
    "subject": "Added kmb schedules"
  },
  {
    "hash": "b251e35be4de4b0fdeeeb5924404326daba278c7",
    "short": "b251e35",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-16T22:42:49Z",
    "subject": "Added direction notes"
  },
  {
    "hash": "7fd8d4fb6a2320f3dcac740cbb2a3bfd0ba1e708",
    "short": "7fd8d4f",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-16T21:58:52Z",
    "subject": "Fixed docker build"
  },
  {
    "hash": "3376d9eb967fc1d9970b2e140d429bce97383128",
    "short": "3376d9e",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-16T20:33:47Z",
    "subject": "Added kmb and refactored query.Parse"
  },
  {
    "hash": "292665c49b2c9c8749c431eb8c5bb353e08efc48",
    "short": "292665c",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-15T13:38:04Z",
    "subject": "Using markdown v2"
  },
  {
    "hash": "25ccd64a88b288e78c6e693d9751884ad1f01ffb",
    "short": "25ccd64",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-15T12:32:06Z",
    "subject": "ParseMode = Markdown"
  },
  {
    "hash": "67e3ec1500f6560cfdf71c047db8891c2323c725",
    "short": "67e3ec1",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-15T12:25:29Z",
    "subject": "Only reply to mentions"
  },
  {
    "hash": "89770c0864fc1644c17df3573049bc44adc85881",
    "short": "89770c0",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-15T12:00:49Z",
    "subject": "Support route listing \u0026 search"
  },
  {
    "hash": "9724abe2e2a01421ee8bbd976cf82e9f12ac866b",
    "short": "9724abe",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-14T16:05:24Z",
    "subject": "Fixed cert issue"
  },
  {
    "hash": "79a873becdf6cc4c384db43b7e415e88b8110f3d",
    "short": "79a873b",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-14T16:00:45Z",
    "subject": "Fixed incorrect build settings"
  },
  {
    "hash": "f022b237efe003c576f769158df411080b798fbd",
    "short": "f022b23",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-14T15:48:00Z",
    "subject": "no chown"
  },
  {
    "hash": "877ef47dc9aa4911bcbf28f4a15a3d945248a402",
    "short": "877ef47",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-14T15:40:51Z",
    "subject": "Smaller image"
  },
  {
    "hash": "619a99a6dddd880cfd2499ad59f14b5fb14a5150",
    "short": "619a99a",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-14T15:21:27Z",
    "subject": "Added CI resources"
  },
  {
    "hash": "9b48f2ee501406857e36dffa3509e1e57c57845b",
    "short": "9b48f2e",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-14T14:54:51Z",
    "subject": "Early telegram integrations"
  },
  {
    "hash": "534bc70f0f9aaace3496e122b112e50f6e8fede7",
    "short": "534bc70",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-14T13:21:39Z",
    "subject": "Partially working draft"
  },
  {
    "hash": "afb73b70ffbd9065fc762a78ae457d671398bd56",
    "short": "afb73b7",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-14T09:12:48Z",
    "subject": "Generalize cache get with expire param"
  },
  {
    "hash": "7e327abbae5bd4b0188551469783b79565e27781",
    "short": "7e327ab",
    "author": "斟酌 鵬兄",
    "email": "tgckpg@gmail.com",
    "date": "2022-09-13T13:42:51Z",
    "subject": "Initial commit"
  }
]
