memory-journal-mcp 3.1.2 β 3.1.4
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.
- package/.github/workflows/docker-publish.yml +15 -9
- package/.scout-ignore +12 -0
- package/.trivyignore +14 -13
- package/DOCKER_README.md +3 -3
- package/Dockerfile +24 -5
- package/README.md +2 -2
- package/VERSION +1 -1
- package/dist/cli.js +1 -1
- package/dist/server/McpServer.js +1 -1
- package/package.json +1 -1
- package/releases/v3.1.3.md +58 -0
- package/releases/v3.1.4.md +29 -0
- package/server.json +3 -3
- package/src/cli.ts +1 -1
- package/src/server/McpServer.ts +1 -1
|
@@ -184,27 +184,33 @@ jobs:
|
|
|
184
184
|
docker images local-scan:latest
|
|
185
185
|
echo "π Running Docker Scout security scan for local-scan:latest"
|
|
186
186
|
|
|
187
|
+
# Define CVEs to ignore (upstream issues with NO fix available)
|
|
188
|
+
# CVE-2026-22184: Alpine zlib - no fix version released yet
|
|
189
|
+
# CVE-2019-10790: protobufjs taffydb - unmaintained/abandoned package
|
|
190
|
+
IGNORE_CVES="CVE-2026-22184|CVE-2019-10790"
|
|
191
|
+
|
|
187
192
|
echo "β±οΈ Running Docker Scout scan (max 8 minutes)..."
|
|
188
193
|
if timeout 480 docker scout cves local-scan:latest > scout_output.txt 2>&1; then
|
|
189
194
|
echo "π Scan completed successfully"
|
|
190
195
|
cat scout_output.txt
|
|
191
196
|
|
|
192
|
-
#
|
|
193
|
-
#
|
|
194
|
-
if grep -E "
|
|
195
|
-
echo "β Critical severity
|
|
197
|
+
# Filter out ignored CVEs and check remaining for critical/high
|
|
198
|
+
# First, check for any critical CVEs that are NOT in our ignore list
|
|
199
|
+
if grep -E "^[A-Z]" scout_output.txt | grep -vE "$IGNORE_CVES" | grep -q "CRITICAL"; then
|
|
200
|
+
echo "β Critical severity vulnerability detected (not in allowlist)"
|
|
196
201
|
echo "π¨ Build blocked due to unacceptable security risk"
|
|
197
202
|
exit 1
|
|
198
203
|
fi
|
|
199
204
|
|
|
200
|
-
|
|
201
|
-
|
|
205
|
+
# Check for any high CVEs that are NOT in our ignore list
|
|
206
|
+
if grep -E "^CVE-" scout_output.txt | grep -vE "$IGNORE_CVES" | grep -q "HIGH"; then
|
|
207
|
+
echo "β High severity vulnerability detected (not in allowlist)"
|
|
202
208
|
echo "π¨ Build blocked due to unacceptable security risk"
|
|
203
209
|
exit 1
|
|
204
|
-
else
|
|
205
|
-
echo "β
Security scan passed - no critical/high severity vulnerabilities"
|
|
206
|
-
echo "βΉοΈ Low/medium severity vulnerabilities are acceptable"
|
|
207
210
|
fi
|
|
211
|
+
|
|
212
|
+
echo "β
Security scan passed"
|
|
213
|
+
echo "βΉοΈ Any flagged CVEs are either allowlisted (upstream) or low/medium severity"
|
|
208
214
|
else
|
|
209
215
|
echo "β οΈ Docker Scout scan timed out or failed"
|
|
210
216
|
echo "π Continuing build - scan timeout is not a security failure"
|
package/.scout-ignore
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Docker Scout CVE Ignore File
|
|
2
|
+
# See: https://docs.docker.com/scout/explore/cve-ignorelist/
|
|
3
|
+
#
|
|
4
|
+
# Only include CVEs with NO upstream fix available
|
|
5
|
+
|
|
6
|
+
# Alpine zlib - Critical severity, but NO FIX VERSION RELEASED by Alpine yet
|
|
7
|
+
# We run `apk upgrade --no-cache` but there's nothing to upgrade to
|
|
8
|
+
CVE-2026-22184
|
|
9
|
+
|
|
10
|
+
# protobufjs bundled taffydb - 6+ year old unmaintained package
|
|
11
|
+
# No fix version exists - package is abandoned
|
|
12
|
+
CVE-2019-10790
|
package/.trivyignore
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
# Trivy Ignore File
|
|
2
2
|
# See: https://aquasecurity.github.io/trivy/latest/docs/configuration/filtering/
|
|
3
3
|
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
# Will be fixed when Node.js releases updated base images
|
|
8
|
-
CVE-2025-64756
|
|
4
|
+
# ============================================================================
|
|
5
|
+
# Alpine Base Image - No upstream fix available
|
|
6
|
+
# ============================================================================
|
|
9
7
|
|
|
10
|
-
# CVE-
|
|
11
|
-
#
|
|
12
|
-
|
|
13
|
-
CVE-2025-5889
|
|
8
|
+
# CVE-2026-22184: zlib vulnerability (CRITICAL)
|
|
9
|
+
# No fix version released by Alpine yet - `apk upgrade` has nothing to update to
|
|
10
|
+
CVE-2026-22184
|
|
14
11
|
|
|
15
|
-
#
|
|
16
|
-
# Bundled in protobufjs/cli/node_modules
|
|
17
|
-
#
|
|
18
|
-
|
|
12
|
+
# ============================================================================
|
|
13
|
+
# protobufjs Bundled CLI - in /app/node_modules/protobufjs/cli/node_modules/
|
|
14
|
+
# taffydb is 6+ years unmaintained with no fix available
|
|
15
|
+
# ============================================================================
|
|
16
|
+
|
|
17
|
+
# CVE-2019-10790: taffydb prototype pollution (HIGH)
|
|
18
|
+
# No fix version exists - package is abandoned
|
|
19
|
+
CVE-2019-10790
|
package/DOCKER_README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Memory Journal MCP Server
|
|
2
2
|
|
|
3
|
-
Last Updated January 11, 2026 - v3.1.
|
|
3
|
+
Last Updated January 11, 2026 - v3.1.4
|
|
4
4
|
|
|
5
5
|
[](https://github.com/neverinfamous/memory-journal-mcp)
|
|
6
6
|
[](https://hub.docker.com/r/writenotenow/memory-journal-mcp)
|
|
7
7
|
[](https://opensource.org/licenses/MIT)
|
|
8
|
-

|
|
9
9
|

|
|
10
10
|
[](https://www.npmjs.com/package/memory-journal-mcp)
|
|
11
11
|
[](https://github.com/neverinfamous/memory-journal-mcp/blob/main/SECURITY.md)
|
|
@@ -342,7 +342,7 @@ docker run -i --rm \
|
|
|
342
342
|
- π **SBOM Available** - Complete software bill of materials
|
|
343
343
|
|
|
344
344
|
**Available Tags:**
|
|
345
|
-
- `3.1.
|
|
345
|
+
- `3.1.4` - Specific version (recommended for production)
|
|
346
346
|
- `3.0` - Latest patch in 3.0.x series
|
|
347
347
|
- `3` - Latest minor in 3.x series
|
|
348
348
|
- `latest` - Always the newest version
|
package/Dockerfile
CHANGED
|
@@ -5,14 +5,28 @@ FROM node:24-alpine AS builder
|
|
|
5
5
|
WORKDIR /app
|
|
6
6
|
|
|
7
7
|
# Install build dependencies and upgrade packages for security
|
|
8
|
-
|
|
8
|
+
# Use Alpine edge for latest security patches (curl CVE-2025-14524, etc.)
|
|
9
|
+
RUN apk add --no-cache python3 make g++ && \
|
|
10
|
+
apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/main curl && \
|
|
11
|
+
apk upgrade --no-cache
|
|
12
|
+
|
|
13
|
+
# Upgrade npm globally to get fixed versions of bundled packages
|
|
14
|
+
# Fixes CVE-2025-64756 (glob) and CVE-2025-64118 (tar)
|
|
15
|
+
RUN npm install -g npm@latest
|
|
9
16
|
|
|
10
17
|
# Copy package files first for better layer caching
|
|
11
|
-
COPY package*.json ./
|
|
18
|
+
COPY package*.json .npmrc ./
|
|
12
19
|
|
|
13
20
|
# Install all dependencies (including devDependencies for build)
|
|
21
|
+
# The .npmrc has legacy-peer-deps=true to handle zod peer conflicts
|
|
14
22
|
RUN npm ci
|
|
15
23
|
|
|
24
|
+
# Clean protobufjs bundled cli dependencies and apply overrides
|
|
25
|
+
# This ensures our brace-expansion and tmp overrides take effect
|
|
26
|
+
RUN rm -rf node_modules/protobufjs/cli/node_modules/brace-expansion \
|
|
27
|
+
node_modules/protobufjs/cli/node_modules/tmp && \
|
|
28
|
+
npm dedupe
|
|
29
|
+
|
|
16
30
|
# Copy source code
|
|
17
31
|
COPY tsconfig.json ./
|
|
18
32
|
COPY src/ ./src/
|
|
@@ -25,8 +39,13 @@ FROM node:24-alpine
|
|
|
25
39
|
|
|
26
40
|
WORKDIR /app
|
|
27
41
|
|
|
28
|
-
# Install runtime dependencies
|
|
29
|
-
|
|
42
|
+
# Install runtime dependencies with security fixes
|
|
43
|
+
# Use Alpine edge for curl with CVE fixes
|
|
44
|
+
# Upgrade npm globally to fix CVE-2025-64756 (glob) and CVE-2025-64118 (tar)
|
|
45
|
+
RUN apk add --no-cache git ca-certificates && \
|
|
46
|
+
apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/main curl && \
|
|
47
|
+
apk upgrade --no-cache && \
|
|
48
|
+
npm install -g npm@latest
|
|
30
49
|
|
|
31
50
|
# Copy built artifacts and production dependencies
|
|
32
51
|
COPY --from=builder /app/dist ./dist
|
|
@@ -59,6 +78,6 @@ CMD ["node", "dist/cli.js"]
|
|
|
59
78
|
# Labels for Docker Hub
|
|
60
79
|
LABEL maintainer="Adamic.tech"
|
|
61
80
|
LABEL description="Memory Journal MCP Server - Project context management for AI-assisted development"
|
|
62
|
-
LABEL version="3.1.
|
|
81
|
+
LABEL version="3.1.4"
|
|
63
82
|
LABEL org.opencontainers.image.source="https://github.com/neverinfamous/memory-journal-mcp"
|
|
64
83
|
LABEL io.modelcontextprotocol.server.name="io.github.neverinfamous/memory-journal-mcp"
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Memory Journal MCP Server
|
|
2
2
|
|
|
3
|
-
Last Updated January 11, 2026 - v3.1.
|
|
3
|
+
Last Updated January 11, 2026 - v3.1.4
|
|
4
4
|
|
|
5
5
|
<!-- mcp-name: io.github.neverinfamous/memory-journal-mcp -->
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ Last Updated January 11, 2026 - v3.1.2
|
|
|
8
8
|
[](https://www.npmjs.com/package/memory-journal-mcp)
|
|
9
9
|
[](https://hub.docker.com/r/writenotenow/memory-journal-mcp)
|
|
10
10
|
[](https://opensource.org/licenses/MIT)
|
|
11
|
-

|
|
12
12
|

|
|
13
13
|
[](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.neverinfamous/memory-journal-mcp)
|
|
14
14
|
[](SECURITY.md)
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.1.
|
|
1
|
+
3.1.4
|
package/dist/cli.js
CHANGED
|
@@ -8,7 +8,7 @@ const program = new Command();
|
|
|
8
8
|
program
|
|
9
9
|
.name('memory-journal-mcp')
|
|
10
10
|
.description('Project context management for AI-assisted development')
|
|
11
|
-
.version('3.1.
|
|
11
|
+
.version('3.1.4')
|
|
12
12
|
.option('--transport <type>', 'Transport type: stdio or http', 'stdio')
|
|
13
13
|
.option('--port <number>', 'HTTP port (for http transport)', '3000')
|
|
14
14
|
.option('--db <path>', 'Database path', './memory_journal.db')
|
package/dist/server/McpServer.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "memory-journal-mcp",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.4",
|
|
4
4
|
"description": "Project context management for AI-assisted development - Persistent knowledge graphs and intelligent context recall across fragmented AI threads",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# v3.1.3 - Security Fixes for Docker Scout CVEs
|
|
2
|
+
|
|
3
|
+
**Release Date:** January 11, 2026
|
|
4
|
+
|
|
5
|
+
## Security Fixes
|
|
6
|
+
|
|
7
|
+
### Docker Image CVE Remediation
|
|
8
|
+
|
|
9
|
+
This release actively fixes several CVEs that Docker Scout flagged:
|
|
10
|
+
|
|
11
|
+
#### npm Global Upgrade
|
|
12
|
+
- **CVE-2025-64756** (glob, HIGH) β Fixed by upgrading npm globally in Docker build
|
|
13
|
+
- **CVE-2025-64118** (tar, MEDIUM) β Fixed by upgrading npm globally in Docker build
|
|
14
|
+
|
|
15
|
+
#### Alpine Edge Repository
|
|
16
|
+
- **CVE-2025-14524** (curl, MEDIUM) β Fixed via Alpine edge: curl 8.18.0-r0
|
|
17
|
+
- **CVE-2025-14819** (curl, MEDIUM) β Fixed via Alpine edge: curl 8.18.0-r0
|
|
18
|
+
- **CVE-2025-14017** (curl, N/A) β Fixed via Alpine edge: curl 8.18.0-r0
|
|
19
|
+
|
|
20
|
+
#### protobufjs CLI Cleanup
|
|
21
|
+
- **CVE-2025-54798** (tmp, LOW) β Fixed by removing bundled protobufjs/cli deps and applying npm overrides
|
|
22
|
+
- **CVE-2025-5889** (brace-expansion, LOW) β Fixed by removing bundled protobufjs/cli deps and applying npm overrides
|
|
23
|
+
|
|
24
|
+
### Remaining Allowlisted CVEs (No Upstream Fix)
|
|
25
|
+
|
|
26
|
+
These CVEs have **no fix available** from upstream:
|
|
27
|
+
- **CVE-2026-22184** (zlib, CRITICAL) β Alpine has not released a fix version
|
|
28
|
+
- **CVE-2019-10790** (taffydb, HIGH) β Package is 6+ years unmaintained/abandoned
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Dockerfile Changes
|
|
33
|
+
|
|
34
|
+
- Added `npm install -g npm@latest` to upgrade bundled npm
|
|
35
|
+
- Added Alpine edge repository for curl security patches
|
|
36
|
+
- Added protobufjs cli cleanup to force npm overrides
|
|
37
|
+
- Copying `.npmrc` into build for consistent dependency resolution
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Installation
|
|
42
|
+
|
|
43
|
+
**npm:**
|
|
44
|
+
```bash
|
|
45
|
+
npm install -g memory-journal-mcp@3.1.3
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Docker:**
|
|
49
|
+
```bash
|
|
50
|
+
docker pull writenotenow/memory-journal-mcp:3.1.3
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Links
|
|
56
|
+
|
|
57
|
+
- [Full Changelog](https://github.com/neverinfamous/memory-journal-mcp/wiki/CHANGELOG)
|
|
58
|
+
- [v3.1.0 Release Notes](https://github.com/neverinfamous/memory-journal-mcp/releases/tag/v3.1.0)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# v3.1.4 - npm Global Upgrade in Production Stage
|
|
2
|
+
|
|
3
|
+
**Release Date:** January 11, 2026
|
|
4
|
+
|
|
5
|
+
## Fixed
|
|
6
|
+
|
|
7
|
+
### Docker Scout CVE-2025-64756 and CVE-2025-64118
|
|
8
|
+
|
|
9
|
+
The v3.1.3 release added `npm install -g npm@latest` to the **builder stage** only, but the production stage uses a fresh `node:24-alpine` base image with its own bundled npm.
|
|
10
|
+
|
|
11
|
+
**Fix:** Added `npm install -g npm@latest` to the **production stage** as well.
|
|
12
|
+
|
|
13
|
+
This ensures the final Docker image has the latest npm with fixed versions of:
|
|
14
|
+
- **glob** (fixes CVE-2025-64756, HIGH)
|
|
15
|
+
- **tar** (fixes CVE-2025-64118, MEDIUM)
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
**npm:**
|
|
22
|
+
```bash
|
|
23
|
+
npm install -g memory-journal-mcp@3.1.4
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Docker:**
|
|
27
|
+
```bash
|
|
28
|
+
docker pull writenotenow/memory-journal-mcp:3.1.4
|
|
29
|
+
```
|
package/server.json
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
"name": "io.github.neverinfamous/memory-journal-mcp",
|
|
4
4
|
"title": "Memory Journal MCP",
|
|
5
5
|
"description": "MCP serverβ Project memory system with GitHub-aware context, knowledge graphs, and CI/PR timelines",
|
|
6
|
-
"version": "3.1.
|
|
6
|
+
"version": "3.1.4",
|
|
7
7
|
"packages": [
|
|
8
8
|
{
|
|
9
9
|
"registryType": "oci",
|
|
10
|
-
"identifier": "docker.io/writenotenow/memory-journal-mcp:v3.1.
|
|
11
|
-
"version": "3.1.
|
|
10
|
+
"identifier": "docker.io/writenotenow/memory-journal-mcp:v3.1.4",
|
|
11
|
+
"version": "3.1.4",
|
|
12
12
|
"transport": {
|
|
13
13
|
"type": "stdio"
|
|
14
14
|
}
|
package/src/cli.ts
CHANGED
|
@@ -11,7 +11,7 @@ const program = new Command();
|
|
|
11
11
|
program
|
|
12
12
|
.name('memory-journal-mcp')
|
|
13
13
|
.description('Project context management for AI-assisted development')
|
|
14
|
-
.version('3.1.
|
|
14
|
+
.version('3.1.4')
|
|
15
15
|
.option('--transport <type>', 'Transport type: stdio or http', 'stdio')
|
|
16
16
|
.option('--port <number>', 'HTTP port (for http transport)', '3000')
|
|
17
17
|
.option('--db <path>', 'Database path', './memory_journal.db')
|