memory-journal-mcp 6.1.2 → 6.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/README.md +44 -28
  2. package/dist/{chunk-X4SWFATC.js → chunk-BI4ZNSKA.js} +38 -24
  3. package/dist/{chunk-HCEWINSB.js → chunk-N6EBIDN7.js} +99 -102
  4. package/dist/cli.js +2 -2
  5. package/dist/index.js +2 -2
  6. package/dist/tools-WPRY5MJ6.js +2 -0
  7. package/package.json +10 -1
  8. package/skills/github-commander/SKILL.md +151 -0
  9. package/skills/github-commander/config/project-config.example.md +125 -0
  10. package/skills/github-commander/workflows/code-quality-audit.md +80 -0
  11. package/skills/github-commander/workflows/full-audit.md +134 -0
  12. package/skills/github-commander/workflows/issue-triage.md +239 -0
  13. package/skills/github-commander/workflows/milestone-sprint.md +81 -0
  14. package/skills/github-commander/workflows/perf-audit.md +142 -0
  15. package/skills/github-commander/workflows/pr-review.md +123 -0
  16. package/skills/github-commander/workflows/security-audit.md +170 -0
  17. package/skills/github-commander/workflows/update-deps.md +109 -0
  18. package/.dockerignore +0 -139
  19. package/.gitattributes +0 -20
  20. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -95
  21. package/.github/ISSUE_TEMPLATE/config.yml +0 -11
  22. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -110
  23. package/.github/ISSUE_TEMPLATE/question.md +0 -78
  24. package/.github/aw/actions-lock.json +0 -14
  25. package/.github/copilot-instructions.md +0 -122
  26. package/.github/dependabot.yml +0 -93
  27. package/.github/pull_request_template.md +0 -135
  28. package/.github/workflows/README.md +0 -133
  29. package/.github/workflows/agentics-maintenance.yml +0 -141
  30. package/.github/workflows/auto-release.yml +0 -68
  31. package/.github/workflows/ci-health-monitor.lock.yml +0 -1121
  32. package/.github/workflows/ci-health-monitor.md +0 -87
  33. package/.github/workflows/codeql.yml +0 -41
  34. package/.github/workflows/dependabot-auto-merge.yml +0 -42
  35. package/.github/workflows/dependency-maintenance.lock.yml +0 -1182
  36. package/.github/workflows/dependency-maintenance.md +0 -147
  37. package/.github/workflows/docker-publish.yml +0 -254
  38. package/.github/workflows/docs-drift-detector.lock.yml +0 -1142
  39. package/.github/workflows/docs-drift-detector.md +0 -115
  40. package/.github/workflows/lint-and-test.yml +0 -60
  41. package/.github/workflows/publish-npm.yml +0 -85
  42. package/.github/workflows/secrets-scanning.yml +0 -32
  43. package/.github/workflows/security-update.yml +0 -127
  44. package/.gitleaks.toml +0 -9
  45. package/.prettierignore +0 -21
  46. package/.prettierrc +0 -33
  47. package/.scout-ignore +0 -12
  48. package/.trivyignore +0 -21
  49. package/CHANGELOG.md +0 -1814
  50. package/CODE_OF_CONDUCT.md +0 -133
  51. package/CONTRIBUTING.md +0 -263
  52. package/DOCKER_README.md +0 -331
  53. package/Dockerfile +0 -128
  54. package/SECURITY.md +0 -227
  55. package/UNRELEASED.md +0 -1
  56. package/dist/tools-T4U5A3X4.js +0 -2
  57. package/docker-compose.yml +0 -71
  58. package/docs/README.md +0 -18
  59. package/docs/agentic-journal-synergy.md +0 -175
  60. package/docs/copilot-setup.md +0 -72
  61. package/eslint.config.js +0 -110
  62. package/mcp-config-example.json +0 -21
  63. package/playwright.config.ts +0 -35
  64. package/releases/v2.1.0.md +0 -220
  65. package/releases/v2.2.0.md +0 -168
  66. package/releases/v3.0.0.md +0 -237
  67. package/releases/v3.1.0.md +0 -104
  68. package/releases/v3.1.1.md +0 -42
  69. package/releases/v3.1.2.md +0 -40
  70. package/releases/v3.1.3.md +0 -64
  71. package/releases/v3.1.4.md +0 -32
  72. package/releases/v3.1.5.md +0 -44
  73. package/releases/v4.0.0.md +0 -71
  74. package/releases/v4.1.0.md +0 -88
  75. package/releases/v4.2.0.md +0 -90
  76. package/releases/v4.3.0.md +0 -92
  77. package/releases/v4.3.1.md +0 -69
  78. package/releases/v4.4.0.md +0 -120
  79. package/releases/v4.4.1.md +0 -33
  80. package/releases/v4.4.2.md +0 -31
  81. package/releases/v4.5.0.md +0 -116
  82. package/releases/v5.0.0.md +0 -105
  83. package/releases/v5.0.1.md +0 -25
  84. package/releases/v5.1.0.md +0 -83
  85. package/releases/v5.1.1.md +0 -10
  86. package/releases/v6.0.0.md +0 -48
  87. package/releases/v6.0.1.md +0 -36
  88. package/releases/v6.1.0.md +0 -68
  89. package/releases/v6.1.1.md +0 -30
  90. package/releases/v6.1.2.md +0 -23
  91. package/scripts/generate-server-instructions.ts +0 -306
  92. package/scripts/server-instructions-function-body.ts +0 -107
  93. package/scripts/server-instructions-gotchas.ts +0 -45
  94. package/server.json +0 -42
  95. package/social-preview.png +0 -0
  96. package/src/auth/auth-context.ts +0 -78
  97. package/src/auth/authorization-server-discovery.ts +0 -263
  98. package/src/auth/errors.ts +0 -215
  99. package/src/auth/index.ts +0 -58
  100. package/src/auth/middleware.ts +0 -392
  101. package/src/auth/oauth-resource-server.ts +0 -170
  102. package/src/auth/scope-map.ts +0 -46
  103. package/src/auth/scopes.ts +0 -256
  104. package/src/auth/token-validator.ts +0 -293
  105. package/src/auth/transport-agnostic.ts +0 -164
  106. package/src/auth/types.ts +0 -372
  107. package/src/cli.ts +0 -279
  108. package/src/codemode/api-constants.ts +0 -263
  109. package/src/codemode/api.ts +0 -302
  110. package/src/codemode/auto-return.ts +0 -65
  111. package/src/codemode/index.ts +0 -47
  112. package/src/codemode/sandbox-factory.ts +0 -144
  113. package/src/codemode/sandbox.ts +0 -220
  114. package/src/codemode/security.ts +0 -155
  115. package/src/codemode/types.ts +0 -228
  116. package/src/codemode/worker-sandbox.ts +0 -277
  117. package/src/codemode/worker-script.ts +0 -239
  118. package/src/constants/icons.ts +0 -183
  119. package/src/constants/server-instructions.md +0 -166
  120. package/src/constants/server-instructions.ts +0 -514
  121. package/src/database/adapter-factory.ts +0 -16
  122. package/src/database/core/entry-columns.ts +0 -10
  123. package/src/database/core/interfaces.ts +0 -188
  124. package/src/database/core/schema.ts +0 -152
  125. package/src/database/sqlite-adapter/backup.ts +0 -167
  126. package/src/database/sqlite-adapter/entries/crud.ts +0 -233
  127. package/src/database/sqlite-adapter/entries/importance.ts +0 -76
  128. package/src/database/sqlite-adapter/entries/index.ts +0 -142
  129. package/src/database/sqlite-adapter/entries/search.ts +0 -294
  130. package/src/database/sqlite-adapter/entries/shared.ts +0 -102
  131. package/src/database/sqlite-adapter/entries/statistics.ts +0 -162
  132. package/src/database/sqlite-adapter/index.ts +0 -265
  133. package/src/database/sqlite-adapter/native-connection.ts +0 -301
  134. package/src/database/sqlite-adapter/relationships.ts +0 -70
  135. package/src/database/sqlite-adapter/tags.ts +0 -182
  136. package/src/filtering/tool-filter.ts +0 -312
  137. package/src/github/github-integration/client.ts +0 -114
  138. package/src/github/github-integration/index.ts +0 -297
  139. package/src/github/github-integration/insights.ts +0 -155
  140. package/src/github/github-integration/issues.ts +0 -213
  141. package/src/github/github-integration/milestones.ts +0 -262
  142. package/src/github/github-integration/projects.ts +0 -414
  143. package/src/github/github-integration/pull-requests.ts +0 -235
  144. package/src/github/github-integration/repository.ts +0 -110
  145. package/src/github/github-integration/types.ts +0 -43
  146. package/src/handlers/prompts/github.ts +0 -210
  147. package/src/handlers/prompts/index.ts +0 -97
  148. package/src/handlers/prompts/workflow.ts +0 -361
  149. package/src/handlers/resources/core/briefing/context-section.ts +0 -182
  150. package/src/handlers/resources/core/briefing/github-section.ts +0 -354
  151. package/src/handlers/resources/core/briefing/index.ts +0 -106
  152. package/src/handlers/resources/core/briefing/user-message.ts +0 -114
  153. package/src/handlers/resources/core/health.ts +0 -75
  154. package/src/handlers/resources/core/index.ts +0 -31
  155. package/src/handlers/resources/core/instructions.ts +0 -45
  156. package/src/handlers/resources/core/utilities.ts +0 -310
  157. package/src/handlers/resources/github.ts +0 -340
  158. package/src/handlers/resources/graph.ts +0 -218
  159. package/src/handlers/resources/help.ts +0 -410
  160. package/src/handlers/resources/index.ts +0 -143
  161. package/src/handlers/resources/shared.ts +0 -219
  162. package/src/handlers/resources/team.ts +0 -134
  163. package/src/handlers/resources/templates.ts +0 -334
  164. package/src/handlers/tools/admin.ts +0 -351
  165. package/src/handlers/tools/analytics.ts +0 -346
  166. package/src/handlers/tools/backup.ts +0 -272
  167. package/src/handlers/tools/codemode.ts +0 -188
  168. package/src/handlers/tools/core.ts +0 -359
  169. package/src/handlers/tools/error-fields-mixin.ts +0 -10
  170. package/src/handlers/tools/export.ts +0 -150
  171. package/src/handlers/tools/github/copilot-tools.ts +0 -72
  172. package/src/handlers/tools/github/helpers.ts +0 -125
  173. package/src/handlers/tools/github/insights-tools.ts +0 -112
  174. package/src/handlers/tools/github/issue-tools.ts +0 -442
  175. package/src/handlers/tools/github/kanban-tools.ts +0 -153
  176. package/src/handlers/tools/github/milestone-tools.ts +0 -371
  177. package/src/handlers/tools/github/mutation-tools.ts +0 -17
  178. package/src/handlers/tools/github/read-tools.ts +0 -302
  179. package/src/handlers/tools/github/schemas.ts +0 -435
  180. package/src/handlers/tools/github.ts +0 -39
  181. package/src/handlers/tools/index.ts +0 -255
  182. package/src/handlers/tools/relationships.ts +0 -390
  183. package/src/handlers/tools/schemas.ts +0 -165
  184. package/src/handlers/tools/search.ts +0 -448
  185. package/src/handlers/tools/team/admin-tools.ts +0 -164
  186. package/src/handlers/tools/team/analytics-tools.ts +0 -233
  187. package/src/handlers/tools/team/backup-tools.ts +0 -83
  188. package/src/handlers/tools/team/core-tools.ts +0 -197
  189. package/src/handlers/tools/team/export-tools.ts +0 -130
  190. package/src/handlers/tools/team/helpers.ts +0 -66
  191. package/src/handlers/tools/team/index.ts +0 -45
  192. package/src/handlers/tools/team/relationship-tools.ts +0 -219
  193. package/src/handlers/tools/team/schemas.ts +0 -558
  194. package/src/handlers/tools/team/search-tools.ts +0 -145
  195. package/src/handlers/tools/team/vector-tools.ts +0 -261
  196. package/src/index.ts +0 -57
  197. package/src/server/mcp-server.ts +0 -446
  198. package/src/server/registration.ts +0 -141
  199. package/src/server/scheduler.ts +0 -283
  200. package/src/transports/http/handlers.ts +0 -78
  201. package/src/transports/http/index.ts +0 -8
  202. package/src/transports/http/security.ts +0 -147
  203. package/src/transports/http/server/index.ts +0 -397
  204. package/src/transports/http/server/legacy-sse.ts +0 -87
  205. package/src/transports/http/server/stateful.ts +0 -222
  206. package/src/transports/http/server/stateless.ts +0 -42
  207. package/src/transports/http/types.ts +0 -132
  208. package/src/types/entities.ts +0 -145
  209. package/src/types/error-types.ts +0 -92
  210. package/src/types/errors.ts +0 -200
  211. package/src/types/filtering.ts +0 -55
  212. package/src/types/github.ts +0 -216
  213. package/src/types/index.ts +0 -348
  214. package/src/utils/error-helpers.ts +0 -78
  215. package/src/utils/errors/error-response-fields.ts +0 -29
  216. package/src/utils/errors/suggestions.ts +0 -94
  217. package/src/utils/github-helpers.ts +0 -33
  218. package/src/utils/logger.ts +0 -107
  219. package/src/utils/mcp-logger.ts +0 -155
  220. package/src/utils/progress-utils.ts +0 -100
  221. package/src/utils/query-helpers.ts +0 -78
  222. package/src/utils/resource-annotations.ts +0 -75
  223. package/src/utils/security-utils.ts +0 -198
  224. package/src/utils/vector-index-helpers.ts +0 -24
  225. package/src/vector/vector-search-manager.ts +0 -409
  226. package/src/version.ts +0 -15
  227. package/test-server/README.md +0 -193
  228. package/test-server/code-map.md +0 -399
  229. package/test-server/test-agent-experience.md +0 -213
  230. package/test-server/test-filter-instructions.mjs +0 -295
  231. package/test-server/test-instruction-levels.mjs +0 -102
  232. package/test-server/test-preflight.md +0 -55
  233. package/test-server/test-prompts.mjs +0 -185
  234. package/test-server/test-scheduler.mjs +0 -174
  235. package/test-server/test-tool-annotations.mjs +0 -115
  236. package/test-server/test-tools-codemode.md +0 -632
  237. package/test-server/test-tools-codemode2.md +0 -1218
  238. package/test-server/test-tools-team.md +0 -215
  239. package/test-server/test-tools.md +0 -429
  240. package/test-server/test-tools2.md +0 -361
  241. package/test-server/test-tools3.md +0 -396
  242. package/test-server/tool-reference.md +0 -231
  243. package/tests/README.md +0 -54
  244. package/tests/auth/auth-context.test.ts +0 -162
  245. package/tests/auth/authorization-server-discovery.test.ts +0 -265
  246. package/tests/auth/errors.test.ts +0 -170
  247. package/tests/auth/middleware.test.ts +0 -585
  248. package/tests/auth/oauth-resource-server.test.ts +0 -173
  249. package/tests/auth/scope-map.test.ts +0 -66
  250. package/tests/auth/scopes.test.ts +0 -347
  251. package/tests/auth/token-validator.test.ts +0 -271
  252. package/tests/codemode/api.test.ts +0 -396
  253. package/tests/codemode/auto-return.test.ts +0 -167
  254. package/tests/codemode/codemode-tool-handlers.test.ts +0 -197
  255. package/tests/codemode/sandbox-factory.test.ts +0 -152
  256. package/tests/codemode/sandbox.test.ts +0 -190
  257. package/tests/codemode/security.test.ts +0 -242
  258. package/tests/codemode/worker-sandbox.test.ts +0 -106
  259. package/tests/constants/icons.test.ts +0 -101
  260. package/tests/constants/server-instructions.test.ts +0 -514
  261. package/tests/database/crud-workflow-branches.test.ts +0 -418
  262. package/tests/database/database-branches.test.ts +0 -132
  263. package/tests/database/entries-auth-branches.test.ts +0 -390
  264. package/tests/database/native-connection.test.ts +0 -249
  265. package/tests/database/shared-helpers.test.ts +0 -103
  266. package/tests/database/sqlite-adapter.bench.ts +0 -63
  267. package/tests/database/sqlite-adapter.test.ts +0 -690
  268. package/tests/database/tags.test.ts +0 -134
  269. package/tests/e2e/README.md +0 -39
  270. package/tests/e2e/auth.spec.ts +0 -106
  271. package/tests/e2e/codemode-abuse.spec.ts +0 -75
  272. package/tests/e2e/health.spec.ts +0 -63
  273. package/tests/e2e/helpers.ts +0 -139
  274. package/tests/e2e/oauth-discovery.spec.ts +0 -102
  275. package/tests/e2e/oauth-scopes.spec.ts +0 -222
  276. package/tests/e2e/payloads-admin.spec.ts +0 -76
  277. package/tests/e2e/payloads-analytics.spec.ts +0 -37
  278. package/tests/e2e/payloads-backup-restore.spec.ts +0 -102
  279. package/tests/e2e/payloads-backup.spec.ts +0 -44
  280. package/tests/e2e/payloads-codemode-api.spec.ts +0 -131
  281. package/tests/e2e/payloads-codemode-readonly.spec.ts +0 -116
  282. package/tests/e2e/payloads-codemode.spec.ts +0 -116
  283. package/tests/e2e/payloads-core.spec.ts +0 -82
  284. package/tests/e2e/payloads-error-contracts.spec.ts +0 -159
  285. package/tests/e2e/payloads-export.spec.ts +0 -46
  286. package/tests/e2e/payloads-github-degradation.spec.ts +0 -73
  287. package/tests/e2e/payloads-github.spec.ts +0 -176
  288. package/tests/e2e/payloads-relationships.spec.ts +0 -56
  289. package/tests/e2e/payloads-search.spec.ts +0 -64
  290. package/tests/e2e/payloads-team-happy.spec.ts +0 -231
  291. package/tests/e2e/payloads-team.spec.ts +0 -174
  292. package/tests/e2e/prompts-expanded.spec.ts +0 -137
  293. package/tests/e2e/prompts.spec.ts +0 -62
  294. package/tests/e2e/protocols.spec.ts +0 -134
  295. package/tests/e2e/rate-limiting.spec.ts +0 -291
  296. package/tests/e2e/resources-briefing-env.spec.ts +0 -106
  297. package/tests/e2e/resources-complete.spec.ts +0 -180
  298. package/tests/e2e/resources-expanded.spec.ts +0 -83
  299. package/tests/e2e/resources-instructions-levels.spec.ts +0 -145
  300. package/tests/e2e/resources-templates.spec.ts +0 -123
  301. package/tests/e2e/resources.spec.ts +0 -103
  302. package/tests/e2e/scheduler.spec.ts +0 -79
  303. package/tests/e2e/security.spec.ts +0 -112
  304. package/tests/e2e/session-advanced.spec.ts +0 -152
  305. package/tests/e2e/sessions.spec.ts +0 -95
  306. package/tests/e2e/stateless.spec.ts +0 -79
  307. package/tests/e2e/streaming.spec.ts +0 -176
  308. package/tests/e2e/tool-filtering-presets.spec.ts +0 -192
  309. package/tests/e2e/tool-filtering.spec.ts +0 -77
  310. package/tests/e2e/tools.spec.ts +0 -111
  311. package/tests/filtering/tool-filter.test.ts +0 -314
  312. package/tests/github/client-issues-errors.test.ts +0 -433
  313. package/tests/github/github-integration-branches.test.ts +0 -490
  314. package/tests/github/github-integration.test.ts +0 -1015
  315. package/tests/github/github-managers-branches.test.ts +0 -907
  316. package/tests/github/pull-requests.test.ts +0 -334
  317. package/tests/handlers/analytics-branches.test.ts +0 -222
  318. package/tests/handlers/backup-branches.test.ts +0 -270
  319. package/tests/handlers/briefing-context-section.test.ts +0 -388
  320. package/tests/handlers/briefing-github-section.test.ts +0 -392
  321. package/tests/handlers/briefing-user-message.test.ts +0 -405
  322. package/tests/handlers/codemode-tools.test.ts +0 -85
  323. package/tests/handlers/copilot-tools.test.ts +0 -126
  324. package/tests/handlers/error-path-coverage.test.ts +0 -324
  325. package/tests/handlers/export-tools.test.ts +0 -203
  326. package/tests/handlers/github-resource-handlers.test.ts +0 -929
  327. package/tests/handlers/github-tool-handlers.test.ts +0 -1452
  328. package/tests/handlers/handler-error-branches.test.ts +0 -346
  329. package/tests/handlers/help-resource.test.ts +0 -92
  330. package/tests/handlers/prompt-handler-coverage.test.ts +0 -108
  331. package/tests/handlers/prompt-handlers.test.ts +0 -131
  332. package/tests/handlers/resource-handler-coverage.test.ts +0 -281
  333. package/tests/handlers/resource-handlers.test.ts +0 -357
  334. package/tests/handlers/resource-prompt-branches.test.ts +0 -495
  335. package/tests/handlers/search-tool-handlers.test.ts +0 -379
  336. package/tests/handlers/targeted-gap-closure.test.ts +0 -387
  337. package/tests/handlers/team-admin.test.ts +0 -291
  338. package/tests/handlers/team-analytics.test.ts +0 -220
  339. package/tests/handlers/team-core.test.ts +0 -148
  340. package/tests/handlers/team-data.test.ts +0 -198
  341. package/tests/handlers/team-relationships.test.ts +0 -271
  342. package/tests/handlers/team-resource-handlers.test.ts +0 -161
  343. package/tests/handlers/team-search.test.ts +0 -134
  344. package/tests/handlers/team-tool-handlers.test.ts +0 -301
  345. package/tests/handlers/team-vector.test.ts +0 -213
  346. package/tests/handlers/template-github-branches.test.ts +0 -676
  347. package/tests/handlers/tool-annotations.test.ts +0 -90
  348. package/tests/handlers/tool-handler-coverage.test.ts +0 -514
  349. package/tests/handlers/tool-handlers.test.ts +0 -510
  350. package/tests/handlers/tool-output-schemas.test.ts +0 -116
  351. package/tests/handlers/vector-tool-handlers.test.ts +0 -238
  352. package/tests/security/sql-injection.test.ts +0 -284
  353. package/tests/server/mcp-server.bench.ts +0 -55
  354. package/tests/server/mcp-server.test.ts +0 -1326
  355. package/tests/server/scheduler.test.ts +0 -400
  356. package/tests/transports/http-legacy-sse.test.ts +0 -275
  357. package/tests/transports/http-security.test.ts +0 -322
  358. package/tests/transports/http-stateful.test.ts +0 -487
  359. package/tests/transports/http-transport-server.test.ts +0 -301
  360. package/tests/transports/http-transport.test.ts +0 -771
  361. package/tests/utils/github-helpers.test.ts +0 -58
  362. package/tests/utils/logger.test.ts +0 -180
  363. package/tests/utils/mcp-logger.test.ts +0 -211
  364. package/tests/utils/progress-utils.test.ts +0 -156
  365. package/tests/utils/query-helpers.test.ts +0 -80
  366. package/tests/utils/security-utils.test.ts +0 -82
  367. package/tests/vector/vector-search-branches.test.ts +0 -111
  368. package/tests/vector/vector-search-manager.test.ts +0 -375
  369. package/tests/vector/vector-search.bench.ts +0 -48
  370. package/tsconfig.json +0 -42
  371. package/tsup.config.ts +0 -19
  372. package/vitest.config.ts +0 -25
@@ -1,69 +0,0 @@
1
- # v4.3.1 - OutputSchema Fix & CVE Remediations
2
-
3
- Released: February 5, 2026
4
-
5
- ## Highlights
6
-
7
- - **OutputSchema Fix** — Fixed `get_cross_project_insights` validation error on empty results
8
- - **Security Patches** — Remediated 3 CVEs in Docker image (libexpat CRITICAL, tar HIGH)
9
- - **Dependency Updates** — MCP SDK 1.26.0 and other updates
10
-
11
- ---
12
-
13
- ## Fixed
14
-
15
- ### `get_cross_project_insights` OutputSchema Validation
16
-
17
- When no projects met the minimum entry threshold, the tool returned only `message` and `projects` fields, failing outputSchema validation.
18
-
19
- **Now returns all required fields:**
20
-
21
- - `project_count: 0`
22
- - `total_entries: 0`
23
- - `inactive_projects: []`
24
- - `time_distribution: []`
25
- - `message` (with explanation)
26
- - `projects: []`
27
-
28
- ---
29
-
30
- ## Security
31
-
32
- ### CVE-2026-24515 (libexpat) — CRITICAL
33
-
34
- Null pointer dereference vulnerability. Fixed by explicitly installing libexpat from Alpine edge repositories in Dockerfile.
35
-
36
- ### CVE-2026-25210 (libexpat) — MEDIUM
37
-
38
- Integer overflow leading to information disclosure. Same fix as CVE-2026-24515.
39
-
40
- ### CVE-2026-24842 (tar) — HIGH
41
-
42
- Path traversal vulnerability in npm's bundled tar package. Updated from 7.5.4 → 7.5.7 in Dockerfile.
43
-
44
- ---
45
-
46
- ## Changed
47
-
48
- ### Dependency Updates
49
-
50
- | Package | From | To |
51
- | --------------------------- | ------- | ------ |
52
- | `@modelcontextprotocol/sdk` | 1.25.3 | 1.26.0 |
53
- | `@types/node` | 25.0.10 | 25.2.0 |
54
- | `commander` | 14.0.2 | 14.0.3 |
55
- | `globals` | 17.1.0 | 17.3.0 |
56
-
57
- ---
58
-
59
- ## Upgrade
60
-
61
- ```bash
62
- # npm
63
- npm update -g memory-journal-mcp
64
-
65
- # Docker
66
- docker pull writenotenow/memory-journal-mcp:v4.3.1
67
- ```
68
-
69
- **Full Changelog**: https://github.com/neverinfamous/memory-journal-mcp/wiki/CHANGELOG
@@ -1,120 +0,0 @@
1
- # v4.4.0 - Milestones, Insights, Security Hardening & Performance
2
-
3
- Released: February 27, 2026
4
-
5
- ## Highlights
6
-
7
- - **GitHub Milestones Integration** — Full CRUD support with 5 new tools, 2 new resources, and briefing/status integration
8
- - **Repository Insights/Traffic Tool** — New `get_repo_insights` tool and `memory://github/insights` resource for monitoring stars, forks, clones, views, referrers, and popular paths (14-day rolling data)
9
- - **HTTP Transport Security Hardening** — Configurable CORS, request body size limits, security headers, session timeout, and error log token scrubbing
10
- - **Performance Improvements** — Debounced database save, paginated vector rebuild, parallel batch embedding, GitHub API TTL cache, and startup deduplication
11
- - **15+ Bug Fixes** — Including `memory://significant` sort correctness, `delete_entry` permanent delete, JournalEntry GitHub metadata exposure, and `list_tags` zero-count filtering
12
-
13
- ---
14
-
15
- ## Added
16
-
17
- ### GitHub Milestones Integration
18
-
19
- Full lifecycle management for GitHub Milestones:
20
-
21
- - **5 new tools**: `get_github_milestones`, `get_github_milestone`, `create_github_milestone`, `update_github_milestone`, `delete_github_milestone`
22
- - **2 new resources**: `memory://github/milestones` (list) and `memory://milestones/{number}` (detail)
23
- - Briefing and status resources now include milestone progress data
24
- - `create_github_issue_with_entry` accepts optional `milestone_number` parameter
25
-
26
- ### Repository Insights/Traffic
27
-
28
- - **New tool**: `get_repo_insights` with token-efficient `sections` parameter
29
- - **New resource**: `memory://github/insights` — compact summary (~150 tokens)
30
- - Surfaces stars, forks, watchers, clones, views, top referrers, and popular pages
31
- - Extended 10-minute cache TTL for slowly-changing traffic data
32
-
33
- ### Server Host Bind Parameter
34
-
35
- - New `--server-host` CLI option and `MCP_HOST` / `HOST` environment variables
36
- - Defaults to `localhost`; set to `0.0.0.0` for container deployments
37
-
38
- ### Performance Benchmarking Suite
39
-
40
- - New `npm run bench` script using `vitest bench` for baseline performance measurement
41
-
42
- ---
43
-
44
- ## Improved
45
-
46
- - **`get_entry_by_id` Importance Scoring Breakdown** — Returns weighted component contributions
47
- - **`get_cross_project_insights` Inactive Threshold Visibility** — Self-documenting `inactiveThresholdDays` field
48
- - **Database I/O — Debounced Save** — 500ms debounce batches rapid writes into single disk flush
49
- - **Vector Index Rebuild** — Paginated fetching (200 per page) + parallel batch embedding (5 at a time) + sequential insertion
50
- - **Server Startup — `getTools()` Deduplication** — Eliminated duplicate call during startup
51
- - **GitHub API — TTL Response Cache** — 5-minute cache for read methods with automatic invalidation on mutations
52
-
53
- ---
54
-
55
- ## Fixed
56
-
57
- - **`memory://significant` Importance Sort** — Fixed resource returning timestamp-sorted instead of importance-sorted entries when >20 entries exist
58
- - **`memory://instructions` Active Tool Count** — Fixed hardcoded 3-tool fallback; now uses `getAllToolNames()`
59
- - **`memory://health` Tool Count** — Dynamic computation from `TOOL_GROUPS` instead of hardcoded value
60
- - **`delete_entry` Permanent Delete** — Now works on previously soft-deleted entries via `getEntryByIdIncludeDeleted()`
61
- - **`delete_entry` Existence Check (P154)** — Pre-checks entry existence before mutation
62
- - **`link_entries` Existence Check (P154)** — Pre-checks both source and target entry existence
63
- - **`visualize_relationships` Disambiguation (P154)** — Clear "Entry not found" message for nonexistent entries
64
- - **`list_tags` Zero-Count Filtering** — No longer returns orphan tags with zero usage
65
- - **`get_github_issue` Missing Milestone Field** — Now maps `issue.milestone` from API response
66
- - **`JournalEntry` GitHub Metadata** — 10 GitHub fields now included in all tool responses
67
- - **`delete_github_milestone` Structured Error** — Returns proper `DeleteMilestoneOutputSchema` on failure
68
- - **`ServerInstructions.ts` Entry Types** — Updated from 7 stale types to full 13-type union
69
- - **Docker Hub Short Description** — Corrected "HTTPS" → "HTTP/SSE"
70
-
71
- ---
72
-
73
- ## Security
74
-
75
- - **HTTP Transport Hardening** — Configurable CORS (`--cors-origin`), 1MB request body limit, `X-Content-Type-Options: nosniff` + `X-Frame-Options: DENY`, 30-min session timeout
76
- - **Error Log Token Scrubbing** — Automatic sanitization of GitHub tokens and Authorization headers
77
- - **CVE-2026-26960 (tar)** — Updated npm's bundled tar → 7.5.8 (HIGH, path traversal CVSS 7.1)
78
- - **GHSA-w7fw-mjwx-w883 (qs)** — Updated qs 6.14.1 → 6.14.2 (low, arrayLimit bypass DoS)
79
- - **GHSA-43fc-jf86-j433 (axios)** — Override to 1.13.5 (DoS via `__proto__` key)
80
- - **SECURITY.md Rewrite** — Complete rewrite for TypeScript era
81
- - **docker-compose.yml Rewrite** — Removed Python-era configuration, added secure mounts
82
- - **Dockerfile Healthcheck** — Replaced no-op healthcheck with `process.exit(0)` validation
83
-
84
- ---
85
-
86
- ## CI/CD
87
-
88
- - Removed Dependabot auto-merge workflow — manual review required
89
- - Trivy Action updated to 0.34.0
90
- - CI test matrix aligned to `[24.x, 25.x]` matching `engines.node: >=24.0.0`
91
- - Blocking `npm audit` — known vulnerabilities now fail the pipeline
92
- - Blocking secret scanning — verified leaks now fail the pipeline
93
-
94
- ---
95
-
96
- ## Dependencies
97
-
98
- | Package | From | To |
99
- | --------------------------- | ------ | -------------- |
100
- | `@eslint/js` | 9.39.2 | 10.0.1 (major) |
101
- | `@modelcontextprotocol/sdk` | 1.26.0 | 1.27.1 (minor) |
102
- | `@types/node` | 25.2.0 | 25.3.2 (minor) |
103
- | `eslint` | 9.39.2 | 10.0.2 (major) |
104
- | `simple-git` | 3.28.0 | 3.32.3 (minor) |
105
- | `sql.js` | 1.12.0 | 1.14.0 (minor) |
106
- | `typescript-eslint` | 8.54.0 | 8.56.1 (minor) |
107
-
108
- ---
109
-
110
- ## Upgrade
111
-
112
- ```bash
113
- # npm
114
- npm update -g memory-journal-mcp
115
-
116
- # Docker
117
- docker pull writenotenow/memory-journal-mcp:v4.4.0
118
- ```
119
-
120
- **Full Changelog**: https://github.com/neverinfamous/memory-journal-mcp/wiki/CHANGELOG
@@ -1,33 +0,0 @@
1
- # v4.4.1 - CVE Remediation (minimatch)
2
-
3
- Released: February 27, 2026
4
-
5
- ## Highlights
6
-
7
- - **Security Patch** — Fixed 2 HIGH severity CVEs in minimatch that blocked Docker deployment
8
-
9
- ---
10
-
11
- ## Security
12
-
13
- ### CVE-2026-27903 (minimatch) — HIGH
14
-
15
- Inefficient algorithmic complexity vulnerability in minimatch >=10.0.0, <10.2.3 (CVSS 7.5). Added npm override `minimatch@^10.2.3`.
16
-
17
- ### CVE-2026-27904 (minimatch) — HIGH
18
-
19
- Inefficient regular expression complexity (ReDoS) in minimatch >=10.0.0, <10.2.3 (CVSS 7.5). Same fix as CVE-2026-27903.
20
-
21
- ---
22
-
23
- ## Upgrade
24
-
25
- ```bash
26
- # npm
27
- npm update -g memory-journal-mcp
28
-
29
- # Docker
30
- docker pull writenotenow/memory-journal-mcp:v4.4.1
31
- ```
32
-
33
- **Full Changelog**: https://github.com/neverinfamous/memory-journal-mcp/wiki/CHANGELOG
@@ -1,31 +0,0 @@
1
- # v4.4.2 - CVE Remediation (minimatch Dockerfile Patch)
2
-
3
- Released: February 27, 2026
4
-
5
- ## Highlights
6
-
7
- - **Docker CVE Fix** — Manually patched npm's bundled minimatch in Dockerfile to resolve Docker deploy block
8
-
9
- ---
10
-
11
- ## Security
12
-
13
- ### CVE-2026-27903 + CVE-2026-27904 (minimatch) — HIGH
14
-
15
- Manually patched npm's bundled `minimatch@10.2.2` → `10.2.3` in Dockerfile to fix HIGH severity ReDoS and algorithmic complexity vulnerabilities (CVSS 7.5).
16
-
17
- The v4.4.1 npm override only affected project dependencies. Docker Scout detected the vulnerable copy inside npm's own bundled packages at `/usr/local/lib/node_modules/npm/node_modules/minimatch`. This follows the same manual patch pattern used for tar and diff CVEs.
18
-
19
- ---
20
-
21
- ## Upgrade
22
-
23
- ```bash
24
- # npm
25
- npm update -g memory-journal-mcp
26
-
27
- # Docker
28
- docker pull writenotenow/memory-journal-mcp:v4.4.2
29
- ```
30
-
31
- **Full Changelog**: https://github.com/neverinfamous/memory-journal-mcp/wiki/CHANGELOG
@@ -1,116 +0,0 @@
1
- # v4.5.0 - Automated Scheduling, Security Hardening & Quality Improvements
2
-
3
- **Released: March 2, 2026**
4
-
5
- ## Highlights
6
-
7
- ### ⏰ Automated Scheduler (HTTP/SSE Only)
8
-
9
- New in-process scheduler runs periodic maintenance jobs for long-running HTTP/SSE server processes:
10
-
11
- - `--backup-interval <minutes>` — Automated database backups with cleanup
12
- - `--keep-backups <count>` — Max backups to retain (default: 5)
13
- - `--vacuum-interval <minutes>` — Database optimization (`PRAGMA optimize`)
14
- - `--rebuild-index-interval <minutes>` — Full vector index rebuild
15
-
16
- Each job is error-isolated. Status visible via `memory://health`.
17
-
18
- ### 🔒 Security Hardening
19
-
20
- Comprehensive security improvements across the entire stack:
21
-
22
- - **HTTP Transport** — Rate limiting (100 req/min), CSP headers, Cache-Control, Referrer-Policy, CORS wildcard warning
23
- - **Input Validation** — `entry_type` and `significance_type` now constrained to Zod enums; date format validation via regex
24
- - **Dead Code Wiring** — `sanitizeSearchQuery()` and `assertNoPathTraversal()` now active in code paths
25
- - **Foreign Keys** — `PRAGMA foreign_keys = ON` enforced at database initialization
26
- - **Path Traversal** — `exportToFile()` now protected with `assertNoPathTraversal()`
27
- - **Logger Hardening** — `LOG_LEVEL` validated; `setLevel()` guarded against invalid values
28
- - **Removed dead code** — SQL injection detection functions that provided false sense of security
29
- - **CI** — Blocking `npm audit` and TruffleHog steps; Node.js test matrix aligned to `>=24.0.0`
30
-
31
- ### ✅ Test Coverage → 92%
32
-
33
- Expanded test suite from 549 → 590 tests, raising line coverage from 88.59% → 92.06%:
34
-
35
- - SIGINT shutdown handlers for all three transport modes
36
- - Prompt handlers with proper arguments
37
- - `SqliteAdapter` backup edge cases
38
- - GitHub integration error paths
39
-
40
- ### 📝 Cursor Rule for Session Management
41
-
42
- Added `hooks/cursor/memory-journal.mdc` — an `alwaysApply` Cursor rule that instructs agents to read `memory://briefing` at session start and create a retrospective at session end. This is the most reliable mechanism for session behavior in Cursor.
43
-
44
- ## Added
45
-
46
- - **Automated Scheduler** — `Scheduler.ts` module with CLI flags for backup, vacuum, and index rebuild intervals
47
- - **Cursor Rule** — `hooks/cursor/memory-journal.mdc` for reliable session management
48
- - **Cursor `sessionEnd` Hook** — `hooks/cursor/hooks.json` + `session-end.sh` audit script
49
-
50
- ## Improved
51
-
52
- - **Test Coverage** — 88.59% → 92.06% line coverage (549 → 590 tests)
53
- - **Database I/O** — Debounced `scheduleSave()` reduces disk writes on rapid mutations
54
- - **Vector Index Rebuild** — Paginated fetching (200/page) + parallel batch embedding (5 at a time)
55
- - **Server Startup** — Eliminated duplicate `getTools()` call
56
- - **GitHub API** — TTL response cache (5 min) with automatic invalidation on mutations
57
-
58
- ## Fixed
59
-
60
- - **Session Start briefing in Cursor** — Added `user-memory-journal-mcp` server name for Cursor compatibility
61
- - **`deleteOldBackups` Test Isolation** — Fixed flaky test by cleaning up pre-existing backups
62
- - **`share_with_team` Not Setting `isPersonal`** — `create_entry` with `share_with_team: true` now correctly sets `isPersonal: false`
63
- - **Path Traversal Test Assertion** — Updated to assert `PathTraversalError` type
64
- - **Tool Handler Test Fix** — Updated to use valid `entry_type` enum value
65
-
66
- ## Security
67
-
68
- - Wire dead-code security utilities (F-001, F-002)
69
- - HTTP security headers: CSP, Cache-Control, Referrer-Policy (F-003)
70
- - `PRAGMA foreign_keys = ON` (F-005)
71
- - CORS wildcard warning (F-006)
72
- - `entry_type` / `significance_type` enum constraints
73
- - Date format validation on all date string fields
74
- - HTTP rate limiting (100 req/min per IP)
75
- - Remove dead SQL injection detection code
76
- - `exportToFile()` path traversal protection
77
- - `getRawDb()` safety documentation
78
- - Logger `LOG_LEVEL` validation (L1) and `setLevel()` guard (L2)
79
- - CI `security-scan` Node version alignment (L3)
80
-
81
- ## Changed
82
-
83
- - `@types/node`: 25.3.2 → 25.3.3 (patch)
84
- - `globals`: 17.3.0 → 17.4.0 (minor)
85
- - `minimatch` override: 10.2.3 → 10.2.4 (patch)
86
- - `tar` override: 7.5.8 → 7.5.9 (patch)
87
-
88
- ## Removed
89
-
90
- - **Unused `cors` dependency** — CORS handled by custom middleware
91
-
92
- ## CI/CD
93
-
94
- - Removed Dependabot auto-merge workflow
95
- - Trivy Action updated to 0.34.0
96
- - Node.js test matrix aligned: `[24.x, 25.x]`
97
- - Blocking `npm audit` in CI pipeline
98
- - Blocking TruffleHog secret scanning
99
-
100
- ## Documentation
101
-
102
- - Revised `hooks/README.md` with progressive enhancement model
103
- - Updated Session Management in README.md and DOCKER_README.md
104
- - SECURITY.md rewrite for TypeScript era
105
- - Team collaboration in READMEs with wiki links
106
- - Rate limiting documentation
107
-
108
- ---
109
-
110
- ```bash
111
- # npm
112
- npm install -g memory-journal-mcp@4.5.0
113
-
114
- # Docker
115
- docker pull writenotenow/memory-journal-mcp:v4.5.0
116
- ```
@@ -1,105 +0,0 @@
1
- # v5.0.0 — Major Architecture & Security Release
2
-
3
- **Release Date:** March 6, 2026
4
-
5
- This is a major release featuring a complete architectural overhaul, comprehensive security hardening, a new E2E test suite, redesigned team collaboration, and deterministic error handling across all 42 tools.
6
-
7
- ## ✨ Highlights
8
-
9
- - **Architecture Overhaul** — Tool handler monolith (3,428 lines) split into 12 focused modules. Resource handlers, prompt handlers, types, mutation tools, and HTTP transport all modularized similarly.
10
- - **Team Collaboration Redesign** — Rebuilt from scratch with separate team database (`TEAM_DB_PATH`), author attribution, cross-DB search, and 3 dedicated tools (`team_create_entry`, `team_get_recent`, `team_search`).
11
- - **Deterministic Error Handling** — All 42 tool handlers wrapped with `formatHandlerError()` returning structured `{ success: false, error }` responses. Dual-schema validation pattern ensures Zod errors also produce structured responses.
12
- - **20+ Security Improvements** — Bearer token authentication, HSTS, timing-safe token comparison, shell-free git detection, Docker hardening, CI pipeline action pinning, and more.
13
- - **Playwright E2E Test Suite** — 8 spec files (47 tests) testing HTTP/SSE transport end-to-end: health, protocols, security headers, auth, sessions, tools, resources, stateless mode, and scheduler.
14
- - **Dual HTTP Transport** — Streamable HTTP (`/mcp`) + Legacy SSE (`/sse`) running simultaneously in stateful mode.
15
-
16
- ## 🆕 Added
17
-
18
- - **Playwright E2E Test Suite** — `health.spec.ts`, `protocols.spec.ts`, `security.spec.ts`, `auth.spec.ts`, `sessions.spec.ts`, `tools.spec.ts`, `resources.spec.ts`, `stateless.spec.ts`, `scheduler.spec.ts`
19
- - **Legacy SSE Transport** — `GET /sse` + `POST /messages?sessionId=<id>` for backward-compatible MCP 2024-11-05 clients (stateful mode only)
20
- - **Health Endpoint** — `GET /health` returns `{ status: "healthy", timestamp }`
21
- - **Root Info Endpoint** — `GET /` returns server name, version, endpoints, docs link
22
- - **404 Handler** — Unknown paths return `{ error: "Not found" }`
23
- - **`DB_PATH` Environment Variable** — Database path via env block (precedence: CLI `--db` > `DB_PATH` > `./memory_journal.db`)
24
- - **`--auth-token` CLI Option** — Bearer token authentication for HTTP transport (`MCP_AUTH_TOKEN` env)
25
- - **`Permissions-Policy` Header** — 6th security header: `camera=(), microphone=(), geolocation=()`
26
- - **Team Collaboration** — `TEAM_DB_PATH`, `TEAM_AUTHOR`, `share_with_team`, `memory://team/recent`, `memory://team/statistics`
27
- - Tool count: 39 → 42 · Tool groups: 8 → 9 · Resources: 20 → 22
28
-
29
- ## 🔒 Security
30
-
31
- - **Trigger Name Validation** — `SAFE_IDENTIFIER_RE` regex in `migrateSchema()` prevents SQL injection via crafted trigger names
32
- - **Query Limit Caps** — `.max(500)` on all `limit` parameters (10 schemas)
33
- - **TruffleHog Pinned** — `@main` → `@v3.93.7`
34
- - **Docker Scout Official Action** — Replaces `curl | sh` installer with `docker/scout-action@v1.18.2`
35
- - **Gitleaks Blocking** — Removed `continue-on-error: true`; leaks now fail the workflow
36
- - **Gitleaks Pinned** — `@v2` → `@v2.3.9`
37
- - **Bearer Token Auth** — Optional `--auth-token` with `MCP_AUTH_TOKEN` env support
38
- - **SSE Session Timeout** — Legacy SSE sessions expire after 30 min idle
39
- - **`searchByDateRange` Limit** — `LIMIT 500` prevents unbounded result sets
40
- - **Docker Production-Only Dependencies** — `npm ci --omit=dev` in production image
41
- - **CORS `Authorization` Header** — Added for bearer token support
42
- - **Timing-Safe Auth** — `crypto.timingSafeEqual()` for token comparison
43
- - **HSTS Header** — Conditional `Strict-Transport-Security` behind reverse proxy
44
- - **Docker Compose Hardening** — `read_only: true`, `tmpfs`, generic token placeholder, explicit `NODE_ENV`
45
- - **Shell-Free Git** — `execFileSync('git', [...])` replaces `execSync('git config ...')`
46
-
47
- ## ⚡ Improved
48
-
49
- - **Batch Tag Fetching** — N+1 elimination: `getRecentEntries(50)` reduced from 51 queries to 2
50
- - **Batch Tag Linking** — Single `INSERT OR IGNORE` + `SELECT ... WHERE name IN (...)`
51
- - **Tool Dispatch Cache** — O(1) `Map` lookup instead of rebuilding 42 definitions per call
52
- - **Conditional JOIN in `searchByDateRange`** — Tag tables only JOINed when tag filter provided
53
- - **Consolidated `getStatistics` Queries** — 5 sequential `db.exec()` → 3 with `SUM(CASE ...)`
54
- - **Dual-Schema Validation** — Relaxed schemas for SDK, strict schemas in handlers
55
-
56
- ## 🐛 Fixed
57
-
58
- - **Entry Type Enum** — Added 6 missing types (`technical_note`, `development_note`, `enhancement`, `milestone`, `system_integration_test`, `test_entry`)
59
- - **`get_github_milestones` State Filter** — `state: "all"` no longer silently defaults to `"open"`
60
- - **Legacy Database Migration** — `migrateSchema()` adds missing columns + drops FTS5 triggers
61
- - **`list_tags` Null Count** — `COALESCE(usage_count, 0)` prevents null validation failures
62
- - **Output Schema Error Responses** — All schemas now accept `{ success: false, error }` responses
63
- - **Multi-Session Connect Crash** — Close-before-reconnect pattern for concurrent HTTP sessions
64
- - **Backup Error Path** — Error responses now pass Zod output validation
65
- - **`share_with_team` Not Setting `isPersonal`** — Fixed `create_entry` with `share_with_team: true`
66
- - **Legacy SSE `start()` Redundancy** — Eliminated duplicate `sseTransport.start()` call
67
-
68
- ## 🔄 Changed
69
-
70
- - **HTTP Transport Modularized** — `McpServer.ts` (813 → ~450 lines) → `src/transports/http.ts`
71
- - **`ToolDefinition.handler` Return Type** — `Promise<unknown>` → `unknown` (supports sync+async)
72
- - **Dependency Updates** — `@types/node` 25.3.3→25.3.5, `express-rate-limit` 8.2.1→8.3.0, `sql.js` 1.14.0→1.14.1
73
-
74
- ## 🗑️ Removed
75
-
76
- - Legacy team collaboration system (rebuilt from scratch)
77
- - Tool handler monolith `src/handlers/tools/index.ts` (replaced by 12 modules)
78
- - Unused `cors` and `@types/cors` packages
79
- - Database files reorganized into `data/` directory
80
-
81
- ## 🔄 CI/CD
82
-
83
- - **CodeQL Default Setup Disabled** — Custom workflow is now sole scanner
84
- - **CodeQL `actions` Language** — Added to replace Default Setup coverage
85
- - **Trivy Action** — 0.34.0 → 0.34.1
86
-
87
- ## 📖 Documentation
88
-
89
- - Cursor Rule for session management (`hooks/cursor/memory-journal.mdc`)
90
- - Revised hooks/README.md with progressive enhancement model
91
- - SECURITY.md rewritten for current architecture
92
- - Team collaboration documented in READMEs
93
- - Wiki security page expanded (16-item checklist)
94
-
95
- ---
96
-
97
- **Full Changelog:** [v4.5.0...v5.0.0](https://github.com/neverinfamous/memory-journal-mcp/compare/v4.5.0...v5.0.0)
98
-
99
- **Install/Update:**
100
-
101
- ```bash
102
- npm install -g memory-journal-mcp@5.0.0
103
- # or
104
- docker pull writenotenow/memory-journal-mcp:v5.0.0
105
- ```
@@ -1,25 +0,0 @@
1
- # v5.0.1 — Security Patch
2
-
3
- **Release Date:** March 6, 2026
4
-
5
- Patches a HIGH severity path traversal vulnerability in npm's bundled `tar` package discovered by Docker Scout during the v5.0.0 deployment pipeline.
6
-
7
- ## 🔒 Security
8
-
9
- - **GHSA-qffp-2rhf-9h96 (tar)** — Manually patched npm's bundled `tar` → `7.5.10` in Dockerfile (builder + production stages) to fix HIGH severity path traversal vulnerability (CVSS 8.2). Also updated npm override in `package.json`.
10
-
11
- ## 🔄 Changed
12
-
13
- - `tar` override: 7.5.9 → 7.5.10 (patch) — npm + Docker layers
14
-
15
- ---
16
-
17
- **Full Changelog:** [v5.0.0...v5.0.1](https://github.com/neverinfamous/memory-journal-mcp/compare/v5.0.0...v5.0.1)
18
-
19
- **Install/Update:**
20
-
21
- ```bash
22
- npm install -g memory-journal-mcp@5.0.1
23
- # or
24
- docker pull writenotenow/memory-journal-mcp:v5.0.1
25
- ```
@@ -1,83 +0,0 @@
1
- # v5.1.0 - 2026-03-07
2
-
3
- ## Highlights
4
-
5
- - **`session-summary` Prompt** — New workflow prompt replaces unreliable session-end behaviors with robust, user-initiated context capture.
6
- - **Extreme Performance Gains** — Drastically reduced SQLite roundtrips 3→1 for importance calculation, introduced a composite covering index for `getRecentEntries` (4x faster), and cached tool array structures (~4800x faster).
7
- - **Cold Start Reduction** — Refactored to lazily load `@xenova/transformers` and `vectra`, shaving ~1.8s off server initialization.
8
- - **Zod Exception Security** — Closed boundary violation leak edge cases by injecting strict vs relaxed dual-schema parsing, ensuring all inputs result in defined structured error objects.
9
- - **Docker Compose Hardening** — Full network isolation (`mcp-net`), `no-new-privileges`, and `cap_drop: ALL` drastically drop container privileges and sandbox isolation boundaries.
10
-
11
- ## Added
12
-
13
- - **`session-summary` Prompt** — New workflow prompt that creates a session summary journal entry. Fetches recent entries for context and guides the agent to create a `retrospective` entry tagged `session-summary` capturing accomplishments, pending items, and next-session context. Invoked by the user when ready (e.g., `/session-summary`). Replaces the unreliable automatic session-end behavior. Prompt count: 15 → 16.
14
-
15
- ## Performance
16
-
17
- - **`calculateImportance` Query Consolidation** — Merged 3 separate SQL queries (entry data, relationship count, causal count) into a single query with subqueries, reducing SQLite roundtrips 3→1.
18
- - **`linkTagsToEntry` Batch Operations** — Replaced per-tag `INSERT OR IGNORE` + `UPDATE` loop (2N SQL calls) with batched multi-row `INSERT`, `SELECT ... IN (...)`, and `UPDATE ... IN (...)` (4 SQL calls total for any N tags).
19
- - **`createEntry` Redundant Fetch Elimination** — Removed post-INSERT `getEntryById()` re-fetch (full SELECT + tag query). Entry is now constructed directly from input values + `last_insert_rowid()` + `datetime(CURRENT_TIMESTAMP)`.
20
- - **`updateEntry` Pre-check Elimination** — Removed pre-UPDATE `getEntryById()` existence check. Uses `UPDATE ... WHERE deleted_at IS NULL` + `SELECT changes()` to detect missing entries in one SQL call instead of a full SELECT + tag query.
21
- - **SQLite Performance PRAGMAs** — Added `PRAGMA journal_mode = MEMORY`, `synchronous = OFF`, and `temp_store = MEMORY` at initialization. sql.js operates in-memory with manual disk serialization; these eliminate unnecessary internal journal overhead.
22
- - **Composite Covering Index for `getRecentEntries`** — Added `idx_memory_journal_recent` on `(deleted_at, timestamp DESC, id DESC)` to enable index-only scan for the `WHERE deleted_at IS NULL ORDER BY timestamp DESC, id DESC` query pattern.
23
- - **`addEntry` Native Upsert** — Replaced `deleteItem()` + `insertItem()` pattern with vectra's native `upsertItem()`, eliminating a full exception path on every new entry insertion.
24
- - **`getTools` Cached Output** — Extracted shared `ensureToolCache()` for both `getTools` and `callTool`. Unfiltered `getTools` calls now return a cached mapped array instead of rebuilding 42 tool objects and mapping them on every invocation (~4800x faster than tool execution).
25
- - **Lazy Module Loading for Startup** — Deferred `@xenova/transformers` (1.5s) and `vectra` (0.9s) from top-level imports in `VectorSearchManager.ts` to dynamic `import()` inside `initialize()`. These heavyweight modules are now loaded only when vector search is first used, reducing server cold-start by ~1.8s (VectorSearchManager import: 1515ms → 12ms).
26
-
27
- ## Security
28
-
29
- - **Docker Compose Network Isolation (L-1)** — Added custom `mcp-net` bridge network to both services. Prevents MCP containers from accessing or being accessed by unrelated containers on the default Docker bridge.
30
- - **Docker Compose `no-new-privileges` (L-2)** — Added `security_opt: ["no-new-privileges:true"]` to both services. Prevents privilege escalation via `setuid`/`setgid` binaries inside containers.
31
- - **Author Input Sanitization (L-5)** — `resolveAuthor()` and `resolveTeamAuthor()` in `team.ts` and `core.ts` now strip ASCII control characters (`0x00`–`0x1F`, `0x7F`) and cap author strings at 100 characters. Prevents crafted `TEAM_AUTHOR` env or git config values from injecting control characters into the database `author` column or `autoContext` JSON payloads.
32
- - **Consolidated `sanitizeAuthor` (Audit)** — Moved duplicated `sanitizeAuthor()` from `core.ts` and `team.ts` into `security-utils.ts` as a single-source-of-truth export. Eliminates risk of divergent sanitization logic.
33
- - **Docker Compose `cap_drop: ALL` (Audit)** — Added `cap_drop: ALL` to both Docker Compose services, dropping all Linux capabilities (NET_RAW, SYS_CHROOT, etc.) that are unnecessary for a Node.js MCP server.
34
- - **CI Unit Test Gate (Audit)** — Added `npm run test` step to `lint-and-test.yml` workflow so unit tests run on every push/PR, not just lint/typecheck/build.
35
-
36
- ## Improved
37
-
38
- - **Zod Boundary Leak Prevention** — Created separate relaxed MCP schemas (without `min`/`max` constraints) for 7 tools so boundary violations reach the handler for structured `{success: false, error}` responses instead of leaking as raw MCP `-32602` error frames. Affected tools: `get_recent_entries`, `create_entry`, `create_entry_minimal`, `search_entries`, `search_by_date_range`, `semantic_search`, `export_entries`, `cleanup_backups`, `visualize_relationships`.
39
-
40
- ## Fixed
41
-
42
- - **Output schema mismatches causing MCP -32602 errors** — Three `outputSchema` definitions didn't match actual handler output, causing `structuredContent does not match the tool's output schema` errors.
43
- - **`get_statistics` Date Filtering** — `start_date` and `end_date` parameters now filter all statistics queries (total count, type breakdown, period breakdown, decision density).
44
- - **`get_statistics` Project Breakdown** — `project_breakdown: true` now returns a `projectBreakdown` array with per-project entry counts.
45
- - **`export_entries` Filter Bypass** — Handler was calling `db.getRecentEntries(limit)` and ignoring all parsed filter parameters. Now correctly uses `db.searchByDateRange()`.
46
- - **GitHub Error Consistency** — All GitHub tool error responses now include `success: false` field, matching the `{success: false, error}` pattern.
47
- - **`get_vector_index_stats` Missing `success` Field** — Handler now returns `success: true/false`.
48
- - **No-Argument Prompts Failing with MCP `-32602`** — Prompts with no arguments failed due to `argsSchema: {}` instead of omitting `argsSchema`.
49
- - **`get_github_milestone` Error Missing `success: false`** — Error response for non-existent milestones now returns proper structured form.
50
- - **`get_kanban_board` Error Missing `success: false`** — Error response for non-existent projects matching consistent shape.
51
- - **`search_by_date_range` Silent Filter Bug** — `issue_number`, `pr_number`, and `workflow_run_id` properly mapped natively into queries.
52
-
53
- ## Documentation
54
-
55
- - **Test Counts Updated** — Updated the `README.md` and `DOCKER_README.md` test count badges and the testing breakdown table to reflect the combined total of Vitest unit/integration tests and Playwright E2E tests (785 total tests).
56
- - **Performance Benchmark Claims Updated** — Updated benchmark numbers in `README.md` and `DOCKER_README.md` to reflect post-optimization measurements: vector ops >640 ops/sec, `getTools` ~4800x faster than tool execution, `getRecentEntries` ~4x faster via composite index.
57
-
58
- ## Removed
59
-
60
- - **Automatic Session End Behavior** — Removed `## Session End` section from server instructions (`ServerInstructions.ts`, `server-instructions.md`).
61
- - **`hooks/` Directory** — Deleted the entire hooks directory (`hooks/cursor/`, `hooks/kiro/`, `hooks/kilo-code/`, `hooks/README.md`).
62
-
63
- ## Changed
64
-
65
- - **CI `publish-npm.yml` Node Version Alignment (L-4)** — Updated Node.js version from 22.x to 24.x to match `engines.node: >=24.0.0` in `package.json` and the Dockerfile base image (`node:24-alpine`).
66
- - **Dependency Updates**
67
- - `eslint`: 10.0.2 → 10.0.3 (patch)
68
-
69
- ---
70
-
71
- **Full Changelog:** [v5.0.1...v5.1.0](https://github.com/neverinfamous/memory-journal-mcp/compare/v5.0.1...v5.1.0)
72
-
73
- **To update via npm:**
74
-
75
- ```bash
76
- npm install -g memory-journal-mcp@5.1.0
77
- ```
78
-
79
- **To update via Docker:**
80
-
81
- ```bash
82
- docker pull writenotenow/memory-journal-mcp:v5.1.0
83
- ```
@@ -1,10 +0,0 @@
1
- ### Changed
2
-
3
- - **Dependency Updates**
4
- - Various minor and patch dependency updates including `@types/node`, `express-rate-limit`, `simple-git`, `typescript-eslint`, and overrides for `tar`, `axios`, and `tmp` inside npm and Docker layers, as well as GitHub Actions.
5
-
6
- [Compare v5.1.0...v5.1.1](https://github.com/neverinfamous/memory-journal-mcp/compare/v5.1.0...v5.1.1)
7
-
8
- ```bash
9
- npm install -g memory-journal-mcp
10
- ```
@@ -1,48 +0,0 @@
1
- # v6.0.0 — Code Mode, OAuth 2.1, FTS5, and Architecture Overhaul
2
-
3
- > **Breaking Changes**: WASM SQLite fallback removed (`--sqlite-wasm`/`--sqlite-native` flags gone). CORS config changed from `corsOrigin: string` to `corsOrigins: string[]`.
4
-
5
- ## Highlights
6
-
7
- ### 🧠 Code Mode (`mj_execute_code`)
8
-
9
- Sandboxed JavaScript execution for multi-step workflows with 70-90% token reduction. Worker-thread isolation with V8 boundary, `mj.*` namespaced API across all 44 tools (10 groups), positional args, method aliases, and per-group `help()`. Resource limits: 50KB code, 30s timeout, 128MB memory, 60 exec/min.
10
-
11
- ### 🔐 OAuth 2.1 Authentication
12
-
13
- Full RFC-compliant OAuth 2.0 auth for HTTP transport. JWT validation via `jose`, JWKS caching, 3 scopes (`read`/`write`/`admin`) mapped to 10 tool groups. RFC 9728 Protected Resource Metadata endpoint.
14
-
15
- ### 🔍 FTS5 Full-Text Search
16
-
17
- Replaced `LIKE '%query%'` with SQLite FTS5. BM25 ranking, phrase queries, prefix matching, boolean operators. Content-sync mode (no duplicate storage), Porter stemmer, auto-populated on migration.
18
-
19
- ### 📊 Configurable Briefing
20
-
21
- 15 new env vars / CLI flags to customize `memory://briefing`: entry counts, team inclusion, issue/PR listing depth, workflow runs, Copilot review aggregation, rules file, skills dir.
22
-
23
- ### 🏗️ Architecture
24
-
25
- - **sqlite-vec** replaces vectra for vector search (86 fewer dependencies)
26
- - **tsup** replaces tsc (875 KB → 455 KB dist, ~48% reduction)
27
- - **Modularized** SQLite adapter, GitHub integration, HTTP transport, briefing resources
28
- - **Harmonized error types** with `MemoryJournalMcpError` base class (9 categories, 6 subclasses)
29
- - **Built-in rate limiting** replaces `express-rate-limit`
30
-
31
- ### 🧪 Testing
32
-
33
- - Unit coverage: 73% → 87% (320+ new tests across 10 files)
34
- - E2E: 71 → 105 tests (8 new Playwright specs)
35
- - 10 rounds of code quality audit fixes
36
- - 4 rounds of performance audit fixes
37
-
38
- ### 🔒 Security
39
-
40
- - 6 CVEs patched via `undici` 7.24.1
41
- - DNS rebinding protection, server timeouts, HSTS config
42
- - SHA-pinned all GitHub Actions across 6 workflows
43
-
44
- [Full Changelog](https://github.com/neverinfamous/memory-journal-mcp/blob/main/CHANGELOG.md#600---2026-03-14)
45
-
46
- ```bash
47
- npm install -g memory-journal-mcp
48
- ```