Skip to content

Releases: kill74/Chatify

Chatify v0.3.0 — Reactions and Reliability Improvements

16 Apr 16:46

Choose a tag to compare

Highlights

  • Added message reactions with server-side aggregation and client-side rendering.
  • Introduced msg_id in message events for safer reaction targeting and replay correlation.
  • Added reaction_sync protocol event for reconnect/bootstrap hydration.
  • Added client commands for reaction workflows:
    • /react
    • /recent
    • /sync

Improvements

  • Hardened server-side validation for reaction payload fields: msg_id and emoji.
  • Optimized reaction synchronization by querying reaction events directly.
  • Improved client deduplication logic for message IDs and reaction events to prevent double counting.

Test Coverage

  • Added contract tests for reaction broadcast and synchronization aggregation flow.
  • Added contract tests for invalid reaction payload rejection.

Production hardening & animated startup/exit

07 Apr 15:12

Choose a tag to compare

Production Hardening

  • Graceful shutdown with configurable drain timeout (--shutdown-timeout-secs, default: 30s)
  • Per-user message rate limiting with token bucket algorithm (--max-msgs-per-minute, --enable-user-rate-limit)
  • Config hot-reload via SIGHUP signal on Unix systems (--enable-hot-reload)
  • HTTP shutdown endpoint for container orchestration (POST /shutdown)
  • Kubernetes liveness probe endpoint (/live)

Client UX

  • Animated ASCII art logo on startup with typewriter effect
  • Branded goodbye animation on exit
  • Both animations are skippable (press any key)
  • --no-animation CLI flag to disable animations
  • ui.disable_animations config option

Full Changelog: v0.1.0...v0.2.0

v0.1.0

23 Mar 22:26

Choose a tag to compare

Changelog

All notable changes to this project will be documented in this file.

This format is based on Keep a Changelog and the project follows Semantic Versioning.

Planned

  • Add reproducible benchmark runs and publish measured results for each tagged release.
  • Continue protocol hardening and trust-model improvements.

0.1.0 - 2026-03-23

Initial public release of Chatify as a terminal-first, self-hosted Rust chat platform.

Added

  • Rust server binary for WebSocket-based chat transport.
  • Rust terminal client binary with command-driven workflow.
  • Core chat features: channels, direct messages, presence, and command discovery.
  • SQLite-backed persistence for timeline durability and replay workflows.
  • History and discovery commands including history, search, and rewind flows.
  • Crypto utility layer for password hashing, key derivation, key management helpers, and authenticated encryption primitives.
  • Optional Discord bridge binary behind the discord-bridge feature flag.
  • Windows packaging script that produces distributable ZIP artifacts and SHA256 checksums.

Changed

  • Authentication and protocol validation paths were tightened with nonce and timestamp validation to reduce replay risk.
  • Server and client internals were refactored for improved readability and maintainability.
  • Event and schema handling were refined to support safer persistence evolution.

Security

  • Added replay-protection improvements through nonce and timestamp checks in authentication flows.
  • Reintroduced modern key-exchange support and aligned cryptographic utilities with current implementation needs.

Fixed

  • Multiple CI and runtime reliability issues were resolved during stabilization.
  • Bridge reconnect and source-loop filtering regressions are covered by targeted tests.

Documentation

  • Expanded architecture and roadmap documentation.
  • Added recruiter-facing engineering documentation: security notes, benchmark methodology, and engineering case study.
  • Improved README with clearer project positioning, quality posture, and release context.

CI and Release

  • Added CI quality gates for formatting, linting, tests, and feature-specific checks.
  • Added release automation for Windows package artifacts on published GitHub releases.