Updates
Lightweight changelog & project notes. For the full release history, see changelog.
2025-10-07 — Launch reliability hardening, auto‑repair & branding purge
- Bootstrap reliability: Added sentinel handshake (
gui_started.sentinel) + two‑phase launch (second attempt after forced dependency reinstall) with optional-Silentmode for unattended installs. - Self-heal commands: New
--self-check(structured JSON diagnostics) and--repairflags; automatic repair triggers when critical GUI deps (customtkinter,tkinter) are missing. - Summary artifacts: Bootstrap now writes
bootstrap_summary.jsonand anauto_repair.flag(displayed as an in‑GUI green “Auto‑repair applied” banner). - Installer additions: Start Menu “Kairos (Repair)” shortcut invokes a full dependency reinstall (
-ForceAll); VC++ runtime task auto‑selected if missing; .NET runtime offered as optional task. - Branding hardening: Runtime paths, logs, config, and tests now strictly use “Kairos”; legacy “KameHa” retained only in compatibility shim and transitional source for one release cycle.
- Compatibility shim: Added
kameha_compat.pyto transparently mapimport KameHa_GUI→Kairos_GUI(prevents third‑party breakage during transition). - GUI enhancements: Repair status banner, consistent version reporting, and stricter test enforcing new branding output.
- Packaging spec:
kairos.specnow targetsKairos_GUI.py, bundles both new and legacy names plus packed fallback (packed_kairos.py), and includes shim for dynamic import safety. - Generator rename: Build helper script renamed to
generate_packed_kairos.py(old name removed) for clarity. - CI guard: Workflow scans for unexpected “KameHa” occurrences and fails builds if legacy branding reappears outside the allowlist.
- Error transparency: Crash / repair logs now capture bootstrap tail output and sentinel progress markers (
starting:<module>,mainloop:<module>). - Next planned: Remove legacy
KameHa_GUI.pyafter a stable release cycle and tighten CI allowlist further.
2025-10-06 — Publications theme alignment + newsletter CTA
- Publications page: Adopted the same sticky header + legal theme structure as Updates (consistent navy background, brand bar, simplified footer).
- Cover asset: Switched Open Graph / Twitter + on-page book art to
assets/covers/cover.pngfor sharper rendering. - Newsletter: Added Signal & Shield subscription form (email + honeypot) below the EPUB download panel.
- Hero polish: Removed button cluster from home hero for cleaner first impression.
- Accessibility: Maintained contrast utilities and typography classes across new sections—no regressions detected.
2025-10-01 — Website UX refresh + IP protection for PDFs
- Home hero: Added a full‑bleed rotating background (images + muted videos), translucent header, and removed the internal hero illustration to focus on copy.
- Comparison table: Split the long table into categorized, collapsible sections (Pricing, Privacy/Safety, Core, Network, Platform) to shorten the page without losing content.
- Pricing section: Removed the checkout block from the home page; Donate section remains.
- Consistent images: Normalized figure sizes across non‑index pages (height clamps and centered screenshots) so photos don’t overpower text.
- Downloads IP protections:
- Server headers for
/downloads/*.pdf: noindex, anti‑embedding (X‑Frame‑Options: DENY,frame‑ancestors 'none'), attachment disposition, private/no‑store caching. - Watermark tool (
tools/watermark_pdfs.py) stamps a visible diagonal notice and rights metadata; server rewrites serve*.stamped.pdfautomatically when present. - Added
downloads/NOTICE.txtclarifying proprietary status.
- Server headers for
- Media reorg: Moved scenic assets to
assets/hero/; added a small ignore for accidental double‑stamped PDFs. - Dev: Updated optional deps in
requirements.txt(reportlab,pypdf) for the watermark tool. - Carousel timing: 30‑second loop, 5s per slide, cross‑fade; random order each cycle with optional extra assets via
data‑assetsorwindow.ETHICOPS_CAROUSEL_ASSETS. - security.txt: Published
/.well-known/security.txtwith contact and policy URLs. - Hotlink protection: Blocked external referrers from
/downloads/, allowing only ethicops.org and ethicops.gt.tc. - CI: Added a GitHub Action to auto‑stamp PDFs on push to
downloads/. - How to watermark new PDFs: place files in
/downloadsand runpython3 tools/watermark_pdfs.py.
2025-09-29 — CI, Windows packaging, and release automation
- New CLI flags:
--versionand--no-gui/--headless— early-exit behavior so CI smoke-tests and headless runs don't start the GUI. - Windows packaging: PyInstaller one-file EXE automated in CI plus an Inno Setup installer that bundles the EXE and a PowerShell bootstrapper.
- PowerShell bootstrapper: verifies downloads by SHA256 and runs prerequisite installers silently when needed.
- CI smoke-tests: the workflow runs the built EXE with
--no-gui, captures stdout, and asserts the printed version string. - Release automation & signing: tag-triggered packaging and draft release creation in GitHub Actions; optional PFX-based signing is supported via repository secrets (
SIGN_PFX_BASE64andSIGN_PASSWORD). - Tests & docs: added
tests/test_version_cli.py,CHANGELOG.md,RELEASE.md, andCONTRIBUTING.md. - Key workflows:
.github/workflows/windows-package-and-smoke.ymland.github/workflows/release-publish.yml.
2025-08-16 — Public website launch
- Published trust, download, press, and terms pages
- Added PGP fingerprints and verification steps
- Set CSP and removed third-party analytics
2025-08-10 — Kairos RC build
- Profiles: Gaming, Recording, Privacy-Max
- Rollback checkpoints (Pro)
Have feedback? Email support@ethicops.org.
EthicOps