40ac124 2026-06-18: reproducible builds! We can use --build-id <STRING> now which makes nonces fixed between builds (+17/-1)
6d33034 2026-06-18: minor fix in baseline_url for OG:url (+8/-1)
38035ff 2026-06-14: minor fixes to blog mode, some CSS tweaks, test updates and version bump (+103/-32)
e67c9ac 2026-03-27: Version bump (+1/-1)
e62d779 2026-03-27: Removed "503" form main because i realized this mode can be used to create a minimal website without a single drop of sweat. (+12/-7)
5352635 2026-03-20: fix: add missing --head-html CLI parser arm and improve help text (+26/-10)
3c6eb0d 2026-03-15: after reading about Glassworm, added has_suspicious_unicode to scan filenames+paths and files for hidden chars (+127/-3)
193301f 2026-03-15: bumped version (+1/-1)
7aeb260 2026-03-15: fixed tests for MAX_RECURSION_DEPTH (+1/-0)
43ecc74 2026-03-15: Added MAX_RECURSION_DEPTH and applied it to copy_dir_recursive too. Script should be safer against symlink recursions now even and we even generously configure const MAX_RECURSION_DEPTH: u16 = 30; which is madness on its own but should be fine on most machines. (+24/-6)
531981e 2026-03-15: added tests for --link-tint (+120/-2)
c4ad4f3 2026-03-15: Added --link-tint to colorize links within <main> (uses --link:color-mix(in oklch,var(--fg) 60%,{})) (+65/-7)
c73d129 2026-03-09: test(rss): update GUID assertions for itempathstr and bundle posts (+381/-47)
a1e2920 2026-03-09: feat(rss+blog): use itempathstr for GUID, clean index.html from URLs (+70/-13)
db2ae96 2026-03-07: added tests for SVG passthrough checks (+49/-0)
4119a05 2026-03-07: sec: passthrough to strip event handler attributes for SVG (+41/-1)
4e69f68 2026-03-07: sec: added tests for http prefix check (+56/-5)
f3c4107 2026-02-14: fix: dont crash the whole website build if one file is unreadable (+14/-1)
1e7f89a 2026-02-14: optimization: pre-allocate string buffer in processinlinecontent (+4/-1)
78ddf87 2026-02-14: added: more test cases for header duplicate IDs (+26/-13)
1b2f3ee 2026-02-14: fix: not possible to have duplicate header IDs anymore, updated tests (+17/-7)
e84d03b 2026-02-14: added: simple dir symlink loop protection (+33/-0)
59f9b75 2026-02-13: fix: brackets [...] now only parse as links if they contain http, /, or ./. Updated tests to reflect that. (+29/-20)
b6ce0fd 2026-02-13: feature: to prevent accidental system data loss, added the folowing condition: --public directory MUST be a subdirectory of the folder where you run sgr (+39/-8)
c36a80a 2026-02-12: Restored "-webkit-tap-highlight-color:transparent" in root CSS (+1/-1)
6dffe92 2026-02-12: v0.8.28 (+2/-2)
5deda8e 2026-02-12: Minor fixes, tests for directories (+58/-9)
b94889d 2026-02-11: Limited Markdown source filesize (10MB at the moment) to prevent silly errors like feeding 1GB MD file to parser (+60/-30)
72d133f 2026-02-11: Added a check to prevent symlinking hell (hardcoded depth limit is 30 dirs) and added / (root) dir protection so user cannot delete root (+46/-0)
4a4aee5 2026-02-10: First rule of aria: Dont use ARIA applied to H1-H6 (+4/-4)
3fe9ba1 2026-02-10: Fixed <mark> and <blockquote> styles (+1/-1)
303f2ba 2026-06-14: Added new script: "tame-samsung.sh" used to disable packages on Galaxy A36. It offers a few neat thngs but it is aglorified adb wrapper (+128/-0)
02e83be 2026-06-14: added new dir to the list (+1/-0)
c7f20ea 2026-06-14: Updated user.js URLs (+1/-1)
40dccb4 2026-06-14: added doas next to sudo (+7/-1)
f9ebe9f 2026-06-14: added doas next to sudo (+19/-5)
7366058 2026-06-14: Minor fix (+3/-2)
a8295e0 2026-06-14: added doas tip next to sudo (+2/-2)
445428e 2026-05-03: improvement: added Argon2ID if php package is installed (+9/-1)
5798c9f 2026-05-03: adjusted repos (+1/-1)
a968304 2026-05-03: fix: removed $BADWORDS filters. We use git hooks now (+1/-49)
ec37696 2026-04-13: Added lock_file checks to prevent multiple instances. (+123/-69)
dd77893 2026-04-13: Added json output to the script, to make output usable with other scripts. (+56/-4)
53aa212 2026-04-13: Updated exclusion list (+2/-0)
35ea425 2026-03-28: removed pyllyukko sources for now (+1/-1)
0c554cb 2026-03-25: many improvements to script to include detection of invisible unicode chars (Glassworm, Trojan Source, bidi exploits, PUA payload encoding); expanded list of targeted extensions; many other fixes (+299/-46)
0d76620 2026-03-25: typo fix (+1/-1)
b66ae8e 2026-03-25: fix: disabled bastille created jail auto start on boot by default (+3/-0)
b3da6d7 2026-03-25: added new comment with lockf example. Nt yet implemented in the script but cron example will suffice (+2/-0)
cc104eb 2026-03-25: improve: more UAS values (+4/-3)
98ddbd9 2026-03-25: added: more Electron and Firefox exclusions, to make backups really small (+14/-5)
e901ff8 2026-03-25: added: multiple upstream user.js sources per application (+86/-60)
cb6173e 2026-03-25: removed wm-sysmon-statusbar.sh - unused in niri now (+0/-150)
7a8636a 2026-03-10: script now handles deletions via git rm --cached xyz (+734/-418)
cc5ce36 2026-03-10: many, many, MANY fixes. (+17/-13)
c6cf554 2026-03-10: added dynamic range score, formatting and plenty other fixes (+326/-194)
5ab6965 2026-03-07: fixes in quoting, hashing method (+20/-18)
43320db 2026-03-07: minor fixes, removed "dead code" (+5/-5)
01405b4 2026-03-06: typo fix (+3/-3)
fc51471 2026-03-06: fixed typos (+2/-2)
b5cc6fe 2026-03-06: Updated script. A lot. (+158/-115)
ff1441e 2026-03-06: Updated logic, made blurred bg in overview more... blurred and discrete (+130/-67)
ff3bf04 2026-03-06: added checks for "badwords" to prevent pushing strings i dont wanna see in git repo, minor tweaks here and there (+49/-1)
f7c801b 2026-03-06: expanded exclusion list with more VSCode OSS stuff, Firefox extensions (we dont need those backed up) (+9/-1)
f085a97 2026-03-06: Simplified the script, removed special chars (+102/-67)
d3e5a0f 2026-02-28: whole script is a giant case now, with added commands like list (lists entries from SESSION_FILE) and rm (removes a file from SESSION_FILE) (+42/-24)
906b016 2026-02-28: Let Claude Opus 4.6 enhance this already working script (added help, tightened the screws in various places like filesize validation, lock file detection, dry run mode) (+290/-89)
f994ef8 2026-02-28: minor fixes and confirmation before we do git reset --soft HEAD~1 :-) (+19/-1)
87038e9 2026-02-28: farewell to batch-download.sh, we welcome batch-download.py - same logic, simpler implementation without 20 years of legacy (+143/-0)
cbaedc7 2026-02-27: some refactoring to add batch processing and ability to pass dithering pattern as an argument (+89/-37)
5de881b 2026-02-27: added more exclusions (VSCode OSS extension paths for example, which are eating space) (+3/-1)
3d0a505 2026-02-27: v1.3.0 with more fixes and checks (+232/-138)
5dc4bcf 2026-03-27: return of the original - PHP version of mistat is refactored and ready to utilize with new DB format. It supports less features than Python one and it has more client side calc to make it better and ultra fast like the original (+960/-0)
1c9efed 2026-03-27: init, mistat logger - HTML logger for online devices, saving stuff to localstorage (+282/-0)
67f36b9 2026-03-27: added mistat-logger.html and mistat.php (+2/-0)
f4694fb 2026-03-27: style improvements, added major DB maintenance on retag and optimize+VACUUM on removal (+29/-4)
d92eb6d 2026-03-27: typo fix (+5/-5)
7eca190 2026-03-25: more css fixes, minification and reduction of Claude.ai-like Zenburn-like theme (+1/-4)
53ebb8b 2026-03-25: fixed issue with <pre> and hashtag entries only (script now correctly detects these cases); more linters and rules (+119/-151)
7e32758 2026-03-20: v2.6.0 - many improvements, too many to list because i was lazy to document them all (+316/-64)
7de2af3 2026-03-20: Added stats script (+385/-0)
df26305 2026-02-28: Updated tests (+64/-18)
adbc18d 2026-02-28: mistat "sharded" edition. No more timestamps, no fixations, just pure data. Removed dates from RSS, that has yet to be tested. some CSS improvements (+103/-94)
c656c14 2026-02-24: added mistat-lint.py to list of tracked files (+1/-0)
97e1fd7 2026-02-24: fix: newline at the end (+1/-1)
ce6bfac 2026-02-24: fix: many bugs, extended digest_size to 8 (16bit) (+43/-22)
b562580 2026-02-24: added mistat-lint.py - helper script to keep DB tidy and keep your writing style under control (+407/-0)
c3e265a 2026-02-22: v2.2.3 - latest mistat iteration with many goodies. README.md holds all the data and documentation. The biggest changes are sqlite3 instead of flatfiles, faster execution, miniscule RAM usage compared to old script which would overload while counting tags (several gigabytes VS less than 50MB now), better incremental rebuild support. And far better support for hashtags now (+1033/-3345)
477b184 2026-02-22: Documented new script (+103/-77)
f373402 2026-02-22: improved gitignore for new script, Nth revision (+0/-7)
7e817c9 2025-08-23: Ruff fixes, other minor improvements (+1802/-827)
4234a20 2025-05-05: Test updates (+2/-1)
5edcfcb 2025-05-05: Fix RSS description processing and fallback logic (+24/-8)
f90e4ad 2025-05-05: Implemented lazy loading and tag cloud (+826/-375)
fa84901 2025-05-05: Many new updates, fixes everywhere (+1039/-141)
3622f11 2025-05-05: Added more robust and vesatile mistat-fake-data-gen.sh replacement (+206/-0)
4a4ae5e 2025-05-05: Updated README.md (+55/-37)
9a68123 2025-04-29: Added .gitignore (+14/-0)
b591b2c 2025-04-29: mistat-tests 0.3.0 (+245/-0)
8a5250c 2025-04-29: Refactor: Simplify script, use Unix timestamps, add categories & year dirs (+719/-4732)
cbd714c 2025-03-26: Minor fixes to VIDEOURLPATTERN (+16/-3)
98e31a4 2025-03-14: Implemented Dailymotion parsing and embeding (+22/-4)
a77d93f 2025-03-14: Minor fixes (+18/-12)
cf5a529 2025-03-04: added visible labels to progress, meter, and checkbox elements for improved screen reader (and human) support introduced COMPLETED_TRANSLATION and PENDING_TRANSLATION for checkbox labels * disabled checkbox interaction using pointer-events: none; due to smaller label size (+13/-4)
131a646 2025-03-03: This commit publishes mistat-cli.py v0.9.3, introducing several new features and improvements: (+122/-61)
7d58a35 2025-02-26: mistat-cli.py v0.9.1 - A Thousand Cuts Edition (like in Jade Empire) (+188/-67)
c3efa4a 2025-02-02: CSS edits, centered paginator at the top (+35/-10)
194999b 2025-01-26: Replaced ★ with emoji star (⭐) for special bookmarked entries, for testing. Should be better and more vivid than HTML entity char. (+2/-1)
aa1673d 2025-01-26: Version bump to v0.8.73 (+1/-1)
e06e09f 2025-01-26: Fix URL matching for cases ending with ')'. Also, allowed single quotes in URLs but prioritize sanitization over supporting all characters. (+3/-2)
15a0f05 2025-01-26: Added translate="no" to links to prevent link strings being translated (+2/-2)
02fa413 2025-01-26: Updated svg_anchor_back_to_top_icon fill to white to improve visibility overall (+1/-1)
6a1dd69 2025-01-26: Updated URL regex - still have an edge case for URLs ending with ")" (+7/-1)
5e030d2 2025-01-24: Minor svg desc edit (+1/-1)
6fd4d72 2025-01-20: Check if the message is longer than 1 character and if not, abort exec (+5/-0)
acd0b99 2025-01-19: mistat-cli-tests.py Unit Tests 0.2.0 (+33/-10)
9a4a0e1 2025-01-19: Mistat 0.8.72 (+320/-232)
0e157a3 2025-01-01: Minor tweaks for url_referrerpolicy_external on linklog page (+3/-2)
70eb503 2025-01-01: Allow removing linklog entry limits by using a falsy value (0 or None) for NUMBEROFLINKLOGENTRIESONSTANDALONELINKLOG_PAGE. When falsy, the limit is removed, and ∞ is displayed to indicate no upper limit (e.g., 36 / ∞) (+9/-5)
65c86e1 2024-12-28: tagging v0.8.71 (+10/-6)
a1ca6d2 2024-12-27: Initial commit of mistat-cli-tests.py - v0.1.0 (+127/-0)
eb51342 2024-12-25: Chrome added support for font-variant-emoji CSS property in version 131 (November 2024) meaning i can keep font-variant-emoji: text; for everything and use font-variant-emoji: normal; for article body! (+4/-0)
1b48682 2024-12-25: Cookie notices on pages with iframe videos are red now. Disabled special icons on individual posts for now because they do look like actionable/clickable icons. Fixed navigation at the bottom on index pages: homepage icon is not generated anymore on index.html, only index-XYZ.html (+76/-11)
60fafe8 2024-12-12: Initial GH force sync (+318/-75)
d028261 2024-10-11: Warping to v0.8.61 with some interesting changes: (+252/-99)
3328dcf 2024-10-06: 0.8.55 (+1210/-226)
a9c9501 2024-08-21: Many exciting changes: (+237/-299)
026de15 2024-08-14: Plenty of changes: - profanity filter! - option to post shorter link only statuses (linkblog) - added translation strings - expanded timestamp formats - improved cache buster strings - many regex improvements - moved some SVG icons to css to optimize rendering and html pagesize - many small fixes and tweaks to CSS and code (+674/-230)
20979b8 2024-04-28: DEV mistat-cli.py: (+255/-47)
054681b 2024-02-28: mproved mistat-cli.py left and right: - removed htmlmin and started using our function now to reduce ext. dependencies - added a way to get TZ from local machine without using any additional modules - introduced base CSS building blocks, reused between my other projects - removed dark theme (WCAG AAA and dark theme != safe eyes) - added option to linkinfy timestamps within articles. It can be used as a permalink system to link articles using only filename - renamed RSS file from feed.xml to rss.xml - svg icon fixes and many new design tweaks (+167/-61)
73a3475 2024-01-27: Updated README.md (+8/-5)
c4d30ed 2024-01-27: Re-align 0.7.2-dev (+0/-714)
646dd8b 2024-01-27: Align for 0.7.2-dev (+140/-29)
3084e33 2024-01-24: - fixed issues with metatags - added "author" tags for HTML and RSS - fixed XML minification - minor changes to CSS, HTML, formatting etc (+66/-33)
7bc83e7 2024-01-22: Improved regex usage, sequence of processing, css, and many other things which resulted in faster execution. Bumped version for dev (+95/-55)
582c586 2024-01-21: Fixed issue with special posts handling (+4/-3)
2e17326 2024-01-21: Initial push for version 0.7.1 (+2327/-0)
1754c4a 2026-03-25: fix: JS bug with search; added SHOW ALL transaltion; introduced warning detection for dangerous commands; a few papercuts fixed (+150/-46)
62044a4 2026-03-25: Updated commands DB (+87/-52)
9b36e65 2026-02-12: Typo fix (+1/-1)
5cbaf40 2026-02-12: Updated DB (+37/-25)
570f7fe 2026-02-05: Updated DB (+39/-3)
e291922 2026-02-05: Introduced LANGUAGE variable (RSS, HTML), removed Dublin Core time (dc:time), brought back TTL (1440) (+27/-10)
19f9ecc 2026-02-01: Static export, JS fixes, color theme (+109/-259)
f1a92cd 2026-02-01: Updated DB (+18/-0)
cb97a7b 2026-01-28: Moved on to python static exporter, external json DB (+2542/-1906)
17b3df1 2026-01-28: PHP version v0.4.14 (last php) (+1/-1)
a2b1642 2025-08-23: Updated DB
fad77f8 2025-07-26: chore: migrated more commands from my notes into DB. There are over 300 tested commands now!
d569af6 2025-07-26: improvement: increased max number of returned results to 30 (previously: 20) (+1/-1)
68b9eb2 2025-07-26: improvement: made all sqlite entries transactional, made "PRAGMA journal_mode = DELETE" default to write directly to DB (+92/-80)
25ec933 2025-07-26: fix: changed <ol> to <ul> to prevent numbering confusion on AIO page (+3/-3)
66db50d 2025-05-17: Fix: Added dir="auto" for input (+140/-58)
d68059f 2025-05-01: CSS performance tuning: added will-change:opacity to article, section (only if prefers-reduced-motion:no-preference) (+2/-1)
dffeafb 2025-04-27: Updated DB
4905bfc 2025-04-24: Updated DB, minor tweaks to the script and favicon (+6/-7)
c73fb6c 2025-04-03: Fixed color contast issue (+1/-1)
edddf70 2025-04-02: Fixed name (+1/-1)
ef10ccc 2025-03-30: v0.4.11 (+1/-1)
7f8c069 2025-03-30: - CRITICAL FIX: Ensure RFC-compliant caching headers are consistently sent (author-determined critical due to bandwidth waste), introduce $default_timezone for timezone configuration. - CSS font fixes to make page more responsive when user zooms in/out - other minor tweaks (+21/-24)
3df97a3 2025-03-30: Bumped number of prepared articles to 3 years (+1/-1)
ff16de0 2025-03-30: Added favicon.ico
2b0bfd8 2025-03-30: Minor README.md updates (+3/-3)
f677c5f 2025-03-30: Updated .gitignore (+6/-3)
100a8ab 2025-03-30: Updated DB
7e45621 2025-03-26: Command Crate php "cms" - Concatenation of commits for repository cleanup (+1823/-0)
4e40725 2024-02-28: Many new improvements, new fixes etc. NOTE: I have replaced this script with a different python based version which will be used as a flagship content creating script therefore development of this script will slow down (+8/-2)