638 lines
No EOL
36 KiB
JSON
638 lines
No EOL
36 KiB
JSON
{
|
||
"site": "jaeswift.xyz",
|
||
"entries": [
|
||
{
|
||
"version": "1.37.1",
|
||
"date": "20/04/2026",
|
||
"category": "FEATURE",
|
||
"title": "JAE-AI CLI Easter Egg — Local Pseudo-Shell",
|
||
"changes": [
|
||
"JAE-AI chat now detects messages starting with / and handles them locally as a fake CLI shell — never hits the Venice API, all 100% client-side JavaScript",
|
||
"New js/chat-cli.js + css/chat-cli.css — 17 built-in commands: /help /ls /cat <file> /whoami /uptime /uname -a /date /ping <host> /sudo <cmd> /rm -rf / /hack <target> /matrix /clear /exit /fortune /history /neofetch",
|
||
"Virtual filesystem: /cat about.md|projects.json|skills.md|secrets.enc|mascot.txt|whoami.txt — with glitchy ASCII art ACCESS DENIED screen on secrets.enc",
|
||
"/whoami pulls real data from /api/visitor/scan; /uptime pulls from /api/telemetry/overview; /neofetch shows ASCII dragon with browser/OS/screen data",
|
||
"/matrix toggles a full-screen green Katakana matrix-rain canvas overlay (opacity 18%, 16px JetBrains Mono, var(--status-green))",
|
||
"/hack runs hollywood-style fake progress bars with payload injection drama before revealing it was all fake",
|
||
"/rm -rf / shows an ASCII destruction sequence then restores from backup with a cheeky message",
|
||
"Unknown commands route to: command not found: /<cmd>. Type /help for available commands.",
|
||
"Persistent /history ring-buffer (50 entries) stored in localStorage.jaeCliHist",
|
||
"BONUS: Konami code (↑↑↓↓←→←→BA) unlocks DEVELOPER MODE — amber badge top-right + extra commands: /api (list real endpoints), /curl <url> (actually fetch public URLs, 2KB truncated), /geo (pull live 24h country breakdown from telemetry)",
|
||
"chat.js sendMessage() patched to intercept /-prefix messages before hitting /api/chat — user bubble gets $ shell prompt, response styled in terminal-green monospace"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.37.0",
|
||
"date": "20/04/2026",
|
||
"category": "FEATURE",
|
||
"title": "SCAN THE VISITOR — Typewriter Operator Recon Overlay",
|
||
"changes": [
|
||
"New homepage overlay greets every visitor with a dramatic typewriter-animated recon scan (~22ms/char): geolocation via GeoLite2, reverse-DNS-derived ISP, user-agent parsing (browser/OS/device) via user-agents pip package, masked IP (X.***.***.Y), screen/language/timezone/connection fingerprinting, plus GREEN/AMBER/RED threat-level status bar",
|
||
"Backend: new api/visitor_routes.py Flask blueprint with /api/visitor/scan endpoint — in-memory per-IP rate limiting (1 req / 10s), lazy GeoIP reader (country + city when available), 1s-timeout reverse DNS hostname lookup with ISP dictionary (BT/Virgin/Sky/AWS/Cloudflare/Hetzner etc.), country-flag emoji auto-generation, TOR exit-node heuristic",
|
||
"Frontend: js/scan-visitor.js + css/scan-visitor.css — 720px CRT-scanline overlay with blur backdrop, monospace green typewriter output, blink cursor, three action buttons (CLOSE / DISMISS 7D / ACKNOWLEDGE), ESC-to-close, collapses into a persistent bottom-right OPERATOR ID badge on close, click badge to re-run scan",
|
||
"localStorage persistence: scanDismissed (7-day auto-expiry so returning operators only see the badge), scanBadgeHidden (× on badge hides it permanently)",
|
||
"Fully mobile responsive: panel narrows to 96vw at <600px, reduces typography, adjusts badge position above bottom HUD bar",
|
||
"Bundled api/data/country_centroids.json (130+ ISO-3166 country lat/lon centroids) to power upcoming 3D globe traffic-arc feature",
|
||
"Exposed window.__jaeScan.run() / window.__jaeScan.reset() for debug re-triggering"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.36.2",
|
||
"date": "20/04/2026",
|
||
"category": "FIX",
|
||
"title": "Telemetry Polish — GeoIP Live, Service Watchlist Cleanup, Git Hygiene",
|
||
"changes": [
|
||
"GEO INTEL panel now LIVE — installed DB-IP Country Lite mmdb (8.4MB, April 2026) at /usr/share/GeoIP/GeoLite2-Country.mmdb on VPS plus geoip2==5.2.0 Python package; telemetry dashboard now shows per-country traffic bars (US/GB/RU/CN/SG/DE/AD/UA currently top)",
|
||
"Monthly GeoIP auto-refresh: new /usr/local/bin/update-geoip.sh bash script + cron '0 4 2 * *' fetches fresh DB-IP mmdb on 2nd of each month, gunzips, restarts jaeswift-api.service, logs to /var/log/geoip-update.log",
|
||
"Service watchlist cleaned — removed matty-lol, caddy, n8n from SYSTEMD_SERVICES in telemetry_routes.py (they were generating false SERVICE DOWN alerts; matty-lol runs on PM2, caddy+n8n unused)",
|
||
"Git DIRTY flag cleared — added runtime-generated files to .gitignore: api/data/telemetry_history.json, api/data/telemetry_netstate.json, api/govdomains-source/ (these are written by cron jobs, not source code)",
|
||
"Repos panel now reports CLEAN instead of DIRTY for jaeswift-homepage"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.36.1",
|
||
"date": "20/04/2026",
|
||
"category": "FIX",
|
||
"title": "Cron Log Path Corrections",
|
||
"changes": [
|
||
"Fixed CRON_JOBS definitions in telemetry_routes.py — contraband/awesomelist/govdomains logs use hyphens not underscores on VPS (contraband-sync.log not contraband_sync.log)",
|
||
"Corrected govdomains_sync schedule from Sunday 05:00 to every 12 hours (0 */12 * * *) — matches actual crontab",
|
||
"All 5 crons now report OK status on telemetry dashboard instead of UNKNOWN"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.36.0",
|
||
"date": "19/04/2026",
|
||
"category": "FEATURE",
|
||
"title": "TELEMETRY Dashboard — Live Ops Command Centre",
|
||
"changes": [
|
||
"New /hq/telemetry page replacing placeholder — full live ops dashboard with boot sequence animation, CRT aesthetic, real-time metrics",
|
||
"Backend blueprint api/telemetry_routes.py — 6 new endpoints: /api/telemetry/overview, /history, /nginx-tail, /geo, /alerts, /visitors, /commits",
|
||
"System metrics: CPU gauge + 24h sparkline, memory gauge + sparkline, per-mount disk ASCII bars, network RX/TX rates + history graph, uptime, load avg, kernel",
|
||
"Services panel: systemctl state for jaeswift-api, matty-lol, nginx, filebrowser, caddy, n8n, docker, ssh — plus PM2 processes — with uptime, mem, CPU per service",
|
||
"Cron tracker: schedule + last run + status (ok/fail/unknown) for contraband_sync, awesomelist_sync, govdomains_sync, sitrep, telemetry_snapshot — expandable log tails",
|
||
"Nginx 24h analytics: total requests, bandwidth, avg RPM, top 10 pages, top 10 IPs (masked), 4xx/5xx counts, avg response time — 60s cache",
|
||
"Security panel: fail2ban jails + ban counts, UFW rules, SSH bruteforce attempts 24h, last reboot timestamp",
|
||
"SSL expiry tracker: per-domain days-remaining with colour coding (red <14d, amber <30d, green otherwise) for jaeswift.xyz, git, files, plex, agentzero",
|
||
"Stack inventory: auto-detected versions of Python, Node, nginx, Docker, ffmpeg, kernel, OS — cached at startup",
|
||
"Git activity panel: repo name, last commit SHA, message, timestamp, dirty flag for /var/www/jaeswift-homepage",
|
||
"Geo-distribution: parses nginx IPs through GeoLite2 mmdb (if installed) — horizontal bar chart of top 15 countries by traffic, graceful empty state if mmdb missing",
|
||
"Live nginx tail widget: last 20 requests auto-scrolling every 5s with fade-in animation, colour-coded status codes, masked IPs",
|
||
"Alert engine: real-time /api/telemetry/alerts computes CPU/mem/disk/service/cron/5xx/SSL/SSH thresholds — red/amber/info levels — scrolling marquee banner on page",
|
||
"Visitor counter: active unique IPs in last 5min + req/min — animated ONLINE NOW strong number",
|
||
"Burn rate panel: free disk GB, 24h bandwidth totals (↑/↓), load avg breakdown, kernel@hostname",
|
||
"Deployment ticker: horizontal marquee of last 10 git commits (SHA + message + ago)",
|
||
"Boot animation: 1.5s cinematic sequence — INITIALISING → SECURE CHANNEL → DECRYPTING → AUTHORISED — with progress bar, fades out to reveal grid",
|
||
"Alarm sound toggle: Web Audio API generates beep on new alert (urgent=880Hz for red, 440Hz for amber), default OFF, speaker icon top-right",
|
||
"Blinking LIVE indicator showing last-sync seconds, dot colour shifts green→amber→red as staleness grows",
|
||
"Mobile responsive — all 7 rows stack to single column below 768px, alerts shrink, grid reflows",
|
||
"New api/telemetry_snapshot.py ring-buffer cron (every 5min) appends CPU/mem/net to api/data/telemetry_history.json (288 points = 24h)",
|
||
"New styles: css/telemetry.css (~620 lines) with full dashboard grid, canvas gauges, ASCII disk bars, terminal tail, geo chart, marquee banners — all theming existing var(--tm-green/amber/red/sol) CRT scheme"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.35.0",
|
||
"date": "19/04/2026",
|
||
"category": "UI",
|
||
"title": "Homepage Panel Layout Swap",
|
||
"changes": [
|
||
"Moved POWER and CONTAINERS panels from right column to below JAE-AI chat",
|
||
"Moved NOW PLAYING panel from below chat to right column (above Network Graph)",
|
||
"Maintains two-panel horizontal layout below chat (POWER/CONTAINERS + SERVER TIME)"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.34.0",
|
||
"date": "19/04/2026",
|
||
"category": "FEATURE",
|
||
"title": "JAE AI Memory System (Memoria-style)",
|
||
"changes": [
|
||
"Browser-local persistent memory for JAE-AI chat via localStorage (key jae-ai-memory-v1, max 100 entries, auto-pruned by importance)",
|
||
"Auto memory extraction every 4 user messages via new /api/chat/extract-memories endpoint (Venice gemma-4-uncensored)",
|
||
"Relevance-ranked memory injection: top 5 keyword-matched + top 3 recent memories prepended as [REMEMBERED FACTS] block in system prompt per message",
|
||
"Chat history persistence across page reloads (last 50 messages in localStorage key jae-ai-history-v1, auto-restored with RESTORED FROM MEMORY divider)",
|
||
"Memory Vault modal UI: military/terminal themed, grouped by category (identity/preference/project/skill/goal/relationship/other) with per-entry delete, importance/timestamp display",
|
||
"Modal controls: EXPORT JSON (download backup), FORCE EXTRACT (manual trigger), CLEAR HISTORY (wipes conversation), CLEAR ALL MEMORIES (with confirm)",
|
||
"Memory button in chat header with live count badge + privacy info tooltip (ℹ) explaining local-only storage",
|
||
"Fuzzy dedup: new memories >80% similar to existing are merged (importance boosted) instead of duplicated",
|
||
"Privacy-first design: all memories stay in the user’s browser; only current query + small relevant subset sent to Venice per message",
|
||
"Graceful degradation: missing localStorage or extraction failures never break the chat loop"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.33.0",
|
||
"date": "19/04/2026",
|
||
"category": "FEATURE",
|
||
"title": "Homepage SERVER METRICS — Real Live Data",
|
||
"changes": [
|
||
"SERVER METRICS panel now shows real VPS metrics via /api/stats",
|
||
"CPU LOAD bar: real load_avg / nproc percentage",
|
||
"MEMORY bar: real used/total memory percentage",
|
||
"DISK I/O bar: real root filesystem usage percentage",
|
||
"BANDWIDTH bar: real Mbps delta computed from network_rx_bytes + network_tx_bytes, scaled against 1 Gbps link",
|
||
"NETWORK TRAFFIC graph: real-time line chart of download/upload Mbps with auto-scaling peak",
|
||
"DOWNLOAD/UPLOAD readouts: auto-format Kbps/Mbps/Gbps based on actual traffic",
|
||
"PACKETS readout replaced with real active TCP connections count",
|
||
"POWER panel: reliability % derived from real CPU load",
|
||
"CONTAINERS panel: real docker ps running/total counts with progress bar",
|
||
"UPTIME: real /proc/uptime days/hours/minutes",
|
||
"SERVER HEALTH: weighted score from real CPU/memory/disk",
|
||
"Refresh interval: 5 seconds (was 10)",
|
||
"All fake random-data generators for these metrics disabled"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.32.0",
|
||
"date": "19/04/2026",
|
||
"category": "SECURITY",
|
||
"title": "Critical API Key Exposure Patched",
|
||
"changes": [
|
||
"Removed api/data/apikeys.json from git tracking",
|
||
"Added apikeys.json to .gitignore permanently",
|
||
"Purged file from entire git history via git-filter-repo (all 120 commits rewritten)",
|
||
"Force-pushed cleaned history to Gitea (old commits garbage-collected)",
|
||
"Created apikeys.example.json template for future contributors",
|
||
"Rotated Venice API key — old key revoked by user",
|
||
"VPS file permissions hardened: chmod 600 api/data/apikeys.json",
|
||
"Verified raw URL git.jaeswift.xyz/.../apikeys.json now returns HTTP 404",
|
||
"Audit confirmed: zero occurrences of any API key in git history across all branches"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.31.0",
|
||
"date": "19/04/2026",
|
||
"category": "AI",
|
||
"title": "AI Model Switch — Gemma-4-Uncensored",
|
||
"changes": [
|
||
"Switched JAE AI chat model from olafangensan-glm-4.7-flash-heretic to gemma-4-uncensored",
|
||
"Switched SITREP daily briefing generator to same model for consistency",
|
||
"Updated admin panel chat defaults: model + header tag now reflect GEMMA-4-UNCENSORED",
|
||
"API restarted and verified live — chat now returns tighter, more natural replies"
|
||
]
|
||
},
|
||
{
|
||
"version": "v1.30.0",
|
||
"date": "18/04/2026",
|
||
"title": "ARMOURY: Wallet X-Ray — Solana Wallet Analyser",
|
||
"category": "ARMOURY",
|
||
"changes": [
|
||
"New tool: Wallet X-Ray — deep scan any Solana wallet address or connect your own wallet",
|
||
"Overview panel: SOL balance with live USD value, total portfolio value, wallet age, transaction count, and activity rating",
|
||
"Token Holdings: full SPL token table with logos, balances, live prices via Jupiter Price API, and USD values sorted by value",
|
||
"NFT Detection: identifies NFTs (0-decimal single-supply tokens) with image grid and Solscan links",
|
||
"Recent Transactions: last 20 transactions with signatures linked to Solscan, status indicators, and timestamps",
|
||
"Wallet Score: composite grading system (A+ to F) based on age, activity, diversity, and portfolio scores with colour-coded progress bars",
|
||
"Supports Token-2022 programme accounts alongside standard SPL Token programme",
|
||
"Rate-limit resilient: automatic RPC failover to backup endpoint with exponential backoff",
|
||
"Jupiter token list cached in sessionStorage for faster repeat scans",
|
||
"URL parameter support: ?address=... for direct wallet scanning via shared links",
|
||
"Wallet X-Ray card added to LAB page with cyan/turquoise theme",
|
||
"Military radar sweep loading animation during wallet scan",
|
||
"Fully responsive design — works on mobile and desktop"
|
||
]
|
||
},
|
||
{
|
||
"version": "v1.29.0",
|
||
"date": "18/04/2026",
|
||
"title": "UNREDACTED: International UFO Files + Government Scandal Documents",
|
||
"category": "UNREDACTED",
|
||
"changes": [
|
||
"Added 9 new collections across UFO/UAP, Covert Operations, and Government categories with 15 indexed documents",
|
||
"COMETA Report (France, 1999): 2 English translations of landmark French military UFO assessment — 163 pages total",
|
||
"RAAF UFO Files (Australia): Declassified Royal Australian Air Force intelligence file — 18 pages",
|
||
"Project Magnet (Canada, 1950-54): Official Canadian government UFO research programme documents — 6 pages",
|
||
"NZDF UFO/UAP Files (New Zealand, 1984-2024): 3 documents including Cold War sighting reports and modern OIA responses — 136 pages",
|
||
"Operação Prato (Brazil, 1977): Secret Brazilian Air Force UFO investigation in the Amazon — 58 pages",
|
||
"COINTELPRO: 758-page FBI surveillance programme compilation plus analytical examination added to existing collection",
|
||
"Operation Paperclip (1945-59): Declassified CIA documents on Nazi scientist recruitment programme — 11 pages",
|
||
"Watergate Scandal (1972-74): Ford Presidential Library documents on the constitutional crisis — 35 pages",
|
||
"Iran-Contra Affair (1985-87): Complete 506-page Congressional investigation report",
|
||
"New countries added to UFO/UAP category: France, Australia, Canada, New Zealand, Brazil"
|
||
]
|
||
},
|
||
{
|
||
"version": "v1.28.0",
|
||
"date": "18/04/2026",
|
||
"title": "CRIME SCENE: Major International Case Expansion",
|
||
"category": "CRIME SCENE",
|
||
"changes": [
|
||
"Added 6 new crime case collections across cold-cases, serial-killers, and landmark-cases with 11 indexed documents",
|
||
"D.B. Cooper Hijacking (1971): FBI investigation files — 162 pages on America's only unsolved aircraft hijacking",
|
||
"JonBenét Ramsey Murder (1996): Autopsy report, unsealed grand jury indictment, and analytical case study — 19 pages",
|
||
"Black Dahlia / Elizabeth Short (1947): Complete FBI investigation file — 204 pages on LA's most famous unsolved murder",
|
||
"Delphi Murders (2017): Probable cause affidavit and court documents from the Richard Allen prosecution — 95 pages",
|
||
"Harold Shipman (1975-98): First three reports of the Shipman Inquiry (Dame Janet Smith) — 1,162 pages on Britain's worst serial killer",
|
||
"Moors Murders — Brady & Hindley (1963-65): Mental Health Review Tribunal academic paper — 22 pages",
|
||
"New landmark-cases/US subcategory with Delphi Murders as first entry",
|
||
"Total new document pages added: 1,664 across all crime scene collections"
|
||
]
|
||
},
|
||
{
|
||
"version": "v1.27.0",
|
||
"date": "18/04/2026",
|
||
"title": "CRIME SCENE: UK Murder Cases — Mass Upload",
|
||
"category": "CRIME SCENE",
|
||
"changes": [
|
||
"Added 11 UK murder case collections across 4 categories with 57 indexed documents",
|
||
"New 'Landmark Cases' category for cases that changed British law and policing",
|
||
"Daniel Morgan (1987): 3-volume Independent Panel Report — 1,276 pages on Met Police corruption",
|
||
"Claudia Lawrence (2009): ICO FOI audit of North Yorkshire Police practices",
|
||
"Jill Dando (1999): Barry George appeal judgment and CCRC referral decision",
|
||
"Suzy Lamplugh (1986): Suzy Lamplugh Trust safety resources and case documentation",
|
||
"Stephen Lawrence (1993): Complete Macpherson Report — 389 pages, coined 'institutional racism'",
|
||
"James Bulger (1993): ECHR Grand Chamber judgments, anonymity injunction, minimum term review",
|
||
"Damilola Taylor (2000): Sentamu Oversight Panel investigation review — 56 pages",
|
||
"Lee Rigby (2013): ISC intelligence report (200 pages), Government response, sentencing remarks",
|
||
"Lord Lucan (1974): Presumption of Death Act legal analysis for Sandra Rivett murder",
|
||
"Madeleine McCann (2007): PJ Police Report translation (57 pages), Jane Tanner statements (4 parts)",
|
||
"Jack the Ripper (1888): Macnaghten Memoranda (1894) plus 7 victim inquest transcripts",
|
||
"23 verified PDFs, 95 total files deployed (28.2 MB) across all 11 cases"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.26.0",
|
||
"date": "17/04/2026",
|
||
"title": "Zodiac Killer Police Reports & Crime Scene Documents",
|
||
"category": "CRIME SCENE",
|
||
"changes": [
|
||
"Populated the Police Reports subcollection for the Zodiac Killer with 5 documents (207 pages, 26.4 MB)",
|
||
"Added Lake Herman Road police reports — Benicia PD & Solano County Sheriff (60 pages, 5.6 MB)",
|
||
"Added Blue Rock Springs police reports — Vallejo PD (75 pages, 10.3 MB)",
|
||
"Added Lake Berryessa police reports — Napa County Sheriff's Office (35 pages, 5.1 MB)",
|
||
"Added Presidio Heights / Paul Stine police reports — SFPD (2 pages, 0.4 MB)",
|
||
"Added California Department of Justice investigation report (35 pages, 5.0 MB)",
|
||
"Zodiac Killer collection now contains 26 documents across 4 subcollections totalling approximately 78 MB",
|
||
"All documents sourced from zodiackiller.com's authenticated police report archive"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.25.0",
|
||
"date": "16/04/2026",
|
||
"title": "Changelog Fix — Date Format & Missing Entries",
|
||
"category": "fix",
|
||
"changes": [
|
||
"Fixed NaN/NaN/NaN date display bug in changelog renderer",
|
||
"Updated formatDate() to handle both DD/MM/YYYY and ISO formats",
|
||
"Dates now render as human-readable format (e.g. 16th April 2026)",
|
||
"Standardised all changelog dates to UK DD/MM/YYYY format",
|
||
"Added all missing changelog entries from recent updates"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.24.0",
|
||
"date": "16/04/2026",
|
||
"title": "MKUltra Documents Fixed",
|
||
"category": "fix",
|
||
"changes": [
|
||
"Replaced encrypted/unreadable MKUltra PDF with two working documents",
|
||
"Added CIA Inspector General Report (1963) — 48-page TOP SECRET internal review",
|
||
"Added Senate Hearing transcript (1977) — 171-page Congressional testimony exposing 149 sub-projects"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.23.0",
|
||
"date": "16/04/2026",
|
||
"title": "PROPAGANDA → UNREDACTED Rename + Nav Animation + CRIME SCENE",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Renamed PROPAGANDA section to UNREDACTED across all pages, nav, API, and URLs",
|
||
"Built block-reveal animation on UNREDACTED nav item (██████████ → UNREDACTED → reverse → loop)",
|
||
"Added global document search across all UNREDACTED categories, titles, and descriptions",
|
||
"Built new CRIME SCENE section at /depot/crimescene with red CRT theme",
|
||
"Four crime categories: Unsolved Murders, Serial Killers, Court Transcripts, Cold Cases",
|
||
"PDF viewer with search functionality for crime documents",
|
||
"New Flask API endpoint /api/crimescene"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.22.0",
|
||
"date": "15/04/2026",
|
||
"title": "CRIME SCENE: Zodiac Killer Expanded — Letters, Ciphers & Subcollections",
|
||
"category": "CRIME SCENE",
|
||
"changes": [
|
||
"Fixed PDF path bug: document URLs now correctly include country code (US) via subcollection routing",
|
||
"Restructured Zodiac Killer into 4 subcollections: FBI Investigation Files, Zodiac Letters & Cards, The Zodiac Ciphers, Police Reports & Crime Scene Documents",
|
||
"Added 11 original Zodiac letter PDFs (1969–1974) from zodiackiller.com: Chronicle/Examiner cipher letters, Debut letter, Stine bloody shirt letter, Bus Bomb letter, Belli letter, Dragon card, Phillips 66 map letter, Little List/Mikado letter, Exorcist letter, Citizen card",
|
||
"Added 3 cipher PDFs: Z408 three-part cipher (solved 1969), Z340 cipher (solved 2020), Z32 map code cipher (unsolved)",
|
||
"Added Z340 Solution academic paper by Oranchak, Blake & Van Eycke (2024, 38 pages) from arXiv",
|
||
"Each of the 21 new documents has a unique historical description with contextual detail",
|
||
"Subcollection accordion UI with expand/collapse rendering",
|
||
"Total Zodiac archive: 4 subcollections, 21 documents, ~52MB",
|
||
"Police Reports subcollection created as placeholder for future expansion"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.21.0",
|
||
"date": "15/04/2026",
|
||
"title": "CRIME SCENE: Zodiac Killer FBI Files",
|
||
"category": "CRIME SCENE",
|
||
"changes": [
|
||
"Added complete FBI Zodiac Killer investigation files (6 parts, 1,116 pages, 34MB)",
|
||
"Files sourced from FBI Vault via Archive.org — declassified FOIA release",
|
||
"Each document includes unique summary describing specific contents",
|
||
"Covers: Arthur Leigh Allen suspect investigation, cipher analysis, forensic lab reports, fingerprint comparisons, decades of tips and suspect referrals",
|
||
"PDFs served from /crimescene/docs/serial-killers/US/zodiac-killer/",
|
||
"First collection populating the Serial Killers category under United States"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.20.1",
|
||
"date": "15/04/2026",
|
||
"title": "UNREDACTED: Document Expansion & PDF Search",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Added PDF text search to document viewer (Ctrl+F, green/amber highlights, match counter, case toggle)",
|
||
"Text layer enabled — select and copy text from PDFs",
|
||
"Added unique descriptions to all 113 UK MOD UFO documents sourced from National Archives highlights guides",
|
||
"Added Project Condign (250MB, 460pp SECRET UK EYES ONLY) — the classified DI55 UAP study",
|
||
"Downloaded US documents: Project Blue Book, CIA UFO Collection, NSA UFO Documents, Pentagon UAP Report",
|
||
"Downloaded Covert Ops: MKUltra, Stargate Program, Operation Northwoods",
|
||
"Downloaded Government: JFK Warren Commission, Pentagon Papers, CIA Torture Report",
|
||
"Total UNREDACTED archive: 116+ PDFs across 3 categories and 2 countries"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.20.0",
|
||
"date": "06/04/2026",
|
||
"title": "Bug Fixes & Polish",
|
||
"category": "fix",
|
||
"changes": [
|
||
"Fixed dispatches post pages crashing (mood type error + fallback path)",
|
||
"SOL price ticker fixed — switched to Binance API (CORS-friendly)",
|
||
"Tightened navbar spacing between SOL price and wallet connect",
|
||
"Converted all post mood values from integers to proper strings"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.19.0",
|
||
"date": "06/04/2026",
|
||
"title": "Admin Panel Overhaul",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Fixed broken Editor section — full post editing with live preview",
|
||
"Fixed broken Backups section — export/import site data as ZIP",
|
||
"Added SITREP admin section — generate reports, view archive",
|
||
"Added Data Sync section — trigger Contraband/RECON syncs, view stats",
|
||
"Added Changelog admin section — CRUD for maintenance log entries",
|
||
"Added Cron Jobs section — view/toggle all scheduled tasks",
|
||
"Reorganised sidebar into grouped sections"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.18.0",
|
||
"date": "06/04/2026",
|
||
"title": "SITREP — Daily AI Briefing System",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Built automated daily intelligence briefing at /transmissions/sitrep",
|
||
"Venice AI generates military-formatted summaries from 5 RSS sources + crypto data",
|
||
"Sectors: ALPHA (technology), BRAVO (cybersecurity), CHARLIE (crypto markets)",
|
||
"Daily cron job at 0700 UTC with archive navigation",
|
||
"Source links included for every story",
|
||
"API endpoints: /api/sitrep, /api/sitrep/list, /api/sitrep/generate"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.17.0",
|
||
"date": "06/04/2026",
|
||
"title": "TOKEN FORGE — SPL Token Launcher",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Built token launcher at /tokenlauncher with full SPL token creation",
|
||
"Set name, symbol, supply, decimals, image, description",
|
||
"Optional mint/freeze authority revocation",
|
||
"Single transaction deployment with confirmation modal",
|
||
"0.1 SOL service fee per launch",
|
||
"Added TOKEN FORGE card to /armoury/lab (amber accent)"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.16.0",
|
||
"date": "05/04/2026",
|
||
"title": ".SOL Domain Registration",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Built .SOL domain search and registration at /soldomains",
|
||
"Bonfida SNS integration for availability checking and registration",
|
||
"Reverse lookup and My Domains tabs",
|
||
"Multi-wallet support (Phantom, Solflare, Backpack, Jupiter, MetaMask)",
|
||
"Added card to /armoury/lab (turquoise accent)"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.15.0",
|
||
"date": "05/04/2026",
|
||
"title": "SOL Price Ticker",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Live Solana price in navbar with 24hr change indicator",
|
||
"Binance API primary, CoinGecko fallback",
|
||
"Auto-refreshes every 30 seconds",
|
||
"Purple Solana-branded styling"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.14.0",
|
||
"date": "05/04/2026",
|
||
"title": "Sitewide Solana Wallet Connect",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Global wallet connect button in navbar across all 28 pages",
|
||
"Multi-wallet support: Phantom, Solflare, Backpack, Coinbase, Trust, MetaMask, Jupiter",
|
||
"Persistent connection via localStorage — survives page navigation",
|
||
"Connected dropdown with address copy, Solscan link, disconnect",
|
||
"Global window.solWallet API for all Solana features",
|
||
"Refactored soldomains.js to use shared wallet (removed 146 lines)"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.13.0",
|
||
"date": "05/04/2026",
|
||
"title": "RADAR — Live Tech News Feed",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Built live tech news aggregator at /transmissions/radar",
|
||
"Pulls from Hacker News, Reddit (r/technology, r/programming, r/netsec), Lobsters",
|
||
"Search, source filters, and auto-refresh",
|
||
"Military-themed CRT styling with scanlines",
|
||
"Flask API with caching at /api/radar"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.12.0",
|
||
"date": "04/04/2026",
|
||
"title": "Nav Dropdown Descriptions",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Added descriptive subtitles beneath every nav dropdown item",
|
||
"Updated navigation API with description field support"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.11.0",
|
||
"date": "04/04/2026",
|
||
"title": "RECON — Site Restructure & Accordion Navigation",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Moved RECON to /depot/recon for consistency with other depot pages",
|
||
"Subcategories now collapsible accordion sections with toggle arrows",
|
||
"Fixed navigation click bug that caused page reset",
|
||
"Fixed white flash on page load",
|
||
"Added cache-busting version tags to assets"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.10.0",
|
||
"date": "04/04/2026",
|
||
"title": "RECON — Curated Lists Rebuild",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Flattened 4-level navigation to 2-level (sector > list > entries)",
|
||
"Grouped entries by source list instead of duplicate subcategory cards",
|
||
"Stripped 'Awesome' prefix from all 660 list names",
|
||
"Reused CONTRABAND CSS for consistent styling across depot pages"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.9.0",
|
||
"date": "04/04/2026",
|
||
"title": "RECON — Curated Lists Database",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Parsed 660 curated lists into 28 themed sectors",
|
||
"135,179 total entries across all sectors",
|
||
"Built Flask API endpoints for index, sector detail, and search",
|
||
"Weekly auto-sync cron job (Sundays 4am) to pull latest data",
|
||
"Full-text search across all 135k entries"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.8.0",
|
||
"date": "03/04/2026",
|
||
"title": "CONTRABAND Auto-Sync & Grid Overhaul",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Subcategories now display as 2-column card grid with expandable detail panels",
|
||
"Added weekly auto-sync — resource database updates every Sunday at 03:00",
|
||
"Click any subcategory card to expand/collapse its entries below",
|
||
"Active card highlighting with amber glow",
|
||
"Responsive grid: 2-col desktop, 1-col mobile"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.7.0",
|
||
"date": "03/04/2026",
|
||
"title": "Sitewide Visual Overhaul",
|
||
"category": "fix",
|
||
"changes": [
|
||
"Bumped 64 font sizes sitewide — no more microscopic text",
|
||
"Brightened all text colours: primary #c0c0c0→#d8d8d8, secondary #707070→#999999, muted #3a3a3a→#666666",
|
||
"CONTRABAND page: 4-column category grid with responsive breakpoints",
|
||
"Purged all third-party attribution references from entire codebase"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.6.0",
|
||
"date": "03/04/2026",
|
||
"title": "CONTRABAND — Classified Resource Index",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Launched CONTRABAND page at /depot/contraband with 15,800+ indexed assets",
|
||
"24 categories with military codenames (CRT-001 through CRT-024)",
|
||
"Full-text search across all entries via API",
|
||
"Starred/top-pick filter system with ⭐ indicators",
|
||
"Collapsible subcategories with item counts",
|
||
"Flask API endpoints: /api/contraband, /api/contraband/<slug>, /api/contraband/search"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.5.1",
|
||
"date": "03/04/2026",
|
||
"title": "Navbar Dropdown Fix",
|
||
"category": "fix",
|
||
"changes": [
|
||
"Fixed dropdown menus disappearing on all subpages",
|
||
"Root cause: 25 subpages used class 'navbar' instead of 'nav-main'",
|
||
"All pages now use correct nav class with proper positioning and z-index"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.5.0",
|
||
"date": "02/04/2026",
|
||
"title": "Globe & Chat AI Admin Panels",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Admin panel: Globe management section — server location, rotation speed, arc cities, colours",
|
||
"Admin panel: Chat AI configuration — model selection, system prompt, greeting toggle",
|
||
"New API endpoints: /api/globe, /api/chat-config with auth-protected GET/POST",
|
||
"Interactive colour picker and slider controls for globe parameters",
|
||
"Arc cities table with add/remove functionality"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.4.0",
|
||
"date": "01/04/2026",
|
||
"title": "Interactive 3D Globe",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Added interactive 3D globe to homepage using globe.gl",
|
||
"Animated arcs connecting server location to cities worldwide",
|
||
"Hex polygon layer with customisable opacity and colour",
|
||
"Atmosphere glow effect with configurable altitude",
|
||
"Auto-rotation with adjustable speed"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.3.0",
|
||
"date": "31/03/2026",
|
||
"title": "Blog & Transmissions System",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Built blog system with markdown-to-HTML rendering",
|
||
"Blog index page with post cards, dates, and categories",
|
||
"Individual post pages with full content rendering",
|
||
"Transmissions section: SITREP, RADAR, DISPATCHES pages",
|
||
"Admin panel: blog post management with create/edit/delete"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.2.0",
|
||
"date": "30/03/2026",
|
||
"title": "Admin Panel & Authentication",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Built admin panel at /admin with session-based authentication",
|
||
"Dashboard with real-time server stats and process monitoring",
|
||
"Navigation management: add, edit, reorder, delete menu items",
|
||
"Blog post editor with live preview",
|
||
"Password-protected API endpoints with cookie auth"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.1.0",
|
||
"date": "29/03/2026",
|
||
"title": "HQ & Section Pages",
|
||
"category": "feature",
|
||
"changes": [
|
||
"Created full site navigation structure with dropdown menus",
|
||
"HQ section: Telemetry, Logs, Profile, Briefing pages",
|
||
"DEPOT section: index, Propaganda, Recon, Exfil pages",
|
||
"ARMOURY section: Lab, Field Manuals, Deployments, Debrief pages",
|
||
"COMMS section: Open Channels, Encrypted Line, Backup Relay pages"
|
||
]
|
||
},
|
||
{
|
||
"version": "1.0.0",
|
||
"date": "28/03/2026",
|
||
"title": "Initial Launch",
|
||
"category": "release",
|
||
"changes": [
|
||
"Launched jaeswift.xyz with sci-fi military dashboard theme",
|
||
"Homepage with system stats, process monitor, clock, and typing effect",
|
||
"Dark theme with scanline overlay and monospace typography",
|
||
"Flask API backend for real-time server data",
|
||
"Responsive design across all screen sizes",
|
||
"Gitea repository setup at git.jaeswift.xyz"
|
||
]
|
||
}
|
||
]
|
||
} |