Skip to content

Releases: dallasread/d

v0.2.4 - Email Security Analysis & Enhanced DNSSEC Visualization

Choose a tag to compare

@dallasread dallasread released this 12 Nov 17:28
5a46b7c

This release introduces comprehensive email security analysis and significantly improves DNSSEC trust chain visualization with color-coded arrows.

image

What's New

  • Email Security Tab: New dedicated tab with MX, SPF, DKIM, and DMARC record analysis
  • Enhanced DNSSEC Visualization: Color-coded trust chain arrows with multi-arrow support for complex delegation
    paths
  • Improved WHOIS Parsing: Support for 13+ date formats including incomplete ISO timestamps
  • UI Refinements: Reorganized registration card layout, improved HTTP tab logging, better cursor styles

Improvements

  • DNSSEC status indicators in card headers
  • Root zone DNSKEY parsing with proper format handling
  • Registration card consolidation with better date presentation
  • HTTP tab now shows all related curl logs

Bug Fixes

  • Fixed WHOIS date parsing for incomplete ISO timestamps (e.g., 2010-04-07T17)
  • Removed hardcoded mock data to prevent stale information display

v0.2.3 - Cache Busting and UX Improvements

Choose a tag to compare

@dallasread dallasread released this 02 Nov 22:43
498a92d

What's New

Bug Fixes

  • Cache busting on domain change: Switching domains now clears all cached data, ensuring no stale references to previous domains
  • Fixed log display: Curl logs correctly show different commands (from v0.2.2)

UX Improvements

  • Simplified HTTP redirect links: Clicking redirect hops now opens the logs panel without trying to find specific logs
  • Redesigned Email tab: Modern card-based layout with security diagnostics (from v0.2.2)

Installation

macOS (Apple Silicon)

  1. Download D_v0.2.3_aarch64.dmg
  2. Double-click to mount
  3. Drag D.app to Applications
  4. Open from Applications (allow in System Settings on first run)

Full Changelog: v0.2.2...v0.2.3

v0.2.2 - UI Fixes and Documentation Updates

Choose a tag to compare

@dallasread dallasread released this 02 Nov 22:35
0c7df5f

What's New

Bug Fixes

  • Fixed log display issue: Curl logs in the log viewer now correctly display different commands instead of showing the same command for all entries
  • Improved Vue reactivity: Added proper key bindings to prevent DOM element reuse in log accordion

UI Improvements

  • Redesigned Email tab: Modern card-based layout with Tailwind components matching the rest of the application
  • Email security visualization: Added color-coded security score and diagnostic cards for MX, SPF, DKIM, and DMARC

Documentation

  • Updated for Tauri: All build and release documentation now reflects the Tauri-based build process
  • Removed Python artifacts: Cleaned up legacy Python/PyInstaller scripts and documentation
  • Simplified version management: Updated VERSION_BUMP_CHECKLIST.md for package.json, tauri.conf.json, and Cargo.toml

Installation

macOS (Apple Silicon)

  1. Download D_v0.2.2_aarch64.dmg
  2. Double-click to mount the DMG
  3. Drag D.app to your Applications folder
  4. Open from Applications (on first run, go to System Settings → Privacy & Security to allow)

Requirements

  • macOS 10.15 (Catalina) or later
  • Apple Silicon (M1/M2/M3) Mac

Known Issues

  • DMG is currently built for Apple Silicon only (Intel and Universal builds coming soon)
  • App is not code-signed (you may need to allow it in System Settings on first run)

Full Changelog: v0.2.1...v0.2.2

v0.2.1 - Accurate Per-Hop HTTP Redirect Timing

Choose a tag to compare

@dallasread dallasread released this 02 Nov 22:26
ea1d170

🚀 New Features

Accurate Per-Hop Response Times

  • Individual redirect timing: Each redirect hop is now timed separately with accurate measurements
  • Total time in header: Overall response time displayed in the card header for quick reference
  • Per-hop display: Each redirect row shows its individual response time
  • Final destination timing: The final response also shows its individual timing

How It Works

The HTTP adapter now follows redirects manually (instead of using curl -L), making individual requests for each hop and timing them separately. This provides accurate, actionable timing data for debugging slow redirects.

Example:

🌐 http://example.com                               411ms  ← Total

301  http://example.com                              125ms
301  https://example.com                              89ms  
200  https://example.com/                            197ms

🐛 Bug Fixes

  • Removed unused TypeScript functions causing build errors
  • Cleaned up git repository by excluding Rust build artifacts

🔧 Technical Details

  • Refactored HTTP adapter to manually follow redirects with individual timing
  • Added response_time field to HttpRedirect model (Rust + TypeScript)
  • Enhanced HTTPResponse component to display total time in header
  • Updated RedirectChain component with per-hop timing display
  • Improved .gitignore to exclude target/ directories

📦 Installation

macOS (Apple Silicon):
Download D.app from the assets below and move to your Applications folder.


Full Changelog: v0.2.0...v0.2.1

D v0.2.0 - Tauri GUI Release

Choose a tag to compare

@dallasread dallasread released this 02 Nov 01:56

🎉 Major Release: Desktop GUI Application

This is a major release that replaces the Python terminal UI with a modern desktop application built with Tauri and Vue 3.

✨ What's New

Desktop GUI Application

  • Modern Desktop Interface - Native macOS application with beautiful dark theme UI
  • Interactive Dashboard - At-a-glance health overview with color-coded status indicators
  • Real-time Data Loading - Async data fetching with progress indicators
  • Keyboard Navigation - Number keys (1-7) to jump between panels, R to refresh, L for logs

Visual DNSSEC Chain Visualization

  • Complete chain display - Shows root → TLD → domain with all zones
  • Hand-drawn style arrows - Organic, flowing arrows connecting DS records to DNSKEYs
  • Color-coded key tags - Rotating colors for easy visual matching
  • RRSIG signatures - Cryptographic signatures displayed with matching arrows to DNSKEYs
  • Clean, modern design - Dark background sections with clear hierarchy

Custom App Icon

  • Distinctive branding - Dark circle with white "D" letter
  • Orange triangle accent - Prominent orange triangle in top-right corner
  • Universal binary icon - Optimized for both Retina and standard displays

Enhanced Features

  • Certificate Panel - SSL/TLS certificate inspection with chain validation
  • HTTP/HTTPS Panel - Status codes, redirects, response times
  • Registration Panel - WHOIS/RDAP data with expiration tracking
  • Email Panel - MX record display (SPF/DKIM/DMARC coming soon)
  • Command Logs - View all backend commands (dig, openssl, curl) with full output

Dashboard Cards

Each card shows real-time status:

  • DNS - A, AAAA, MX, NS record counts
  • Registration - Domain expiration countdown
  • DNSSEC - Validation status and chain depth
  • Certificate - Days until expiration
  • HTTP/HTTPS - Status code and response time
  • Email - MX record count and hostnames

🔧 Technical Improvements

Architecture

  • Tauri Framework - Rust backend with Vue 3 TypeScript frontend
  • Universal Binary - Single app works on both Intel and Apple Silicon Macs
  • Pinia State Management - Reactive state stores for all data
  • Vue Router - Smooth navigation between panels
  • Tailwind CSS - Modern, responsive styling

Backend Fixes

  • Certificate Parsing - Fixed PEM parsing by writing to openssl stdin instead of shell echo
  • Store Caching - Proper clearing of all stores when domain changes
  • Error Handling - Better error messages and fallback behavior

Build System

  • macOS Build Script - build-macos.sh creates universal binary with DMG
  • Native DMG Creation - Uses macOS's built-in hdiutil for reliable DMG generation
  • ZIP Distribution - Compressed archive for easy distribution

📦 Installation

Via DMG (Recommended)

  1. Download D_0.2.0_universal.dmg
  2. Open the DMG file
  3. Drag D.app to Applications folder

Via ZIP

  1. Download D-macos-universal.zip
  2. Extract the archive
  3. Copy D.app to /Applications

Via Direct App Bundle

  1. Download D.app.zip
  2. Extract and run directly

🖥️ System Requirements

  • macOS 10.15 Catalina or later
  • Intel or Apple Silicon Mac
  • Required tools: dig, openssl, whois, curl (install via Homebrew)
brew install bind openssl whois curl

🗂️ Legacy Python TUI

The original Python terminal UI is still available in the legacy/ directory for users who prefer command-line interfaces. See legacy/README.md for documentation.

🔗 What's Included

  • D.app - Universal macOS application (works on Intel and Apple Silicon)
  • D_0.2.0_universal.dmg - DMG installer (8.0 MB)
  • D-macos-universal.zip - ZIP archive (7.1 MB)

🐛 Known Issues

  • DMG window positioning may not apply correctly on CI/CD platforms (cosmetic only)
  • Email security features (SPF, DKIM, DMARC) are placeholder - coming in future release

🙏 Acknowledgments

Built with:


Full Changelog: v0.1.2...v0.2.0

Documentation & Developer Experience Improvements

Choose a tag to compare

@dallasread dallasread released this 31 Oct 13:21
578e55e

📚 What's New

This release focuses on improving the developer experience and ensuring consistent version management across the codebase.

🔧 Improvements

Version Management

  • Added Version Bump Checklist: New VERSION_BUMP_CHECKLIST.md document that clearly outlines all files that need updating when releasing a new version
  • Documented Dual-Version Requirement: Clarified why both pyproject.toml and src/dns_debugger/__main__.py must be updated (Click doesn't auto-read from pyproject.toml)
  • Added Quick Reference Commands: Included grep/ripgrep commands to find all version references in the codebase

Project Documentation

  • Added .claude/CLAUDE.md: Project-specific context file for AI assistants with comprehensive project information including:
    • Architecture patterns (Clean/Hexagonal Architecture)
    • Build system details
    • Common pitfalls and tips
    • Version management reminders
    • Project structure overview
    • Key documentation references

🐛 Bug Fixes

  • Fixed version display in binary - now correctly shows 0.1.2 instead of 0.1.0

📦 Download

The d binary is included in this release (17MB, macOS ARM64).

Installation

# Download the binary
curl -L https://github.com/dallasread/d/releases/download/v0.1.2/d-v0.1.2-darwin-arm64.tar.gz -o d.tar.gz

# Extract
tar -xzf d.tar.gz

# Make executable
chmod +x d

# Optional: Install system-wide
sudo mv d /usr/local/bin/

Usage

d example.com
d --version  # Should now show: d, version 0.1.2

Requirements

  • macOS ARM64 (Apple Silicon)
  • dig command (usually pre-installed)
  • openssl command (usually pre-installed)

For Developers

If you're contributing to this project:

  1. Before bumping versions, read VERSION_BUMP_CHECKLIST.md
  2. For project context, check .claude/CLAUDE.md
  3. For build instructions, see BUILD_INSTRUCTIONS.md

What's Changed

  • Bump version to 0.1.2 by @dallasread
  • Add .claude/CLAUDE.md for project-specific AI context by @dallasread
  • Add VERSION_BUMP_CHECKLIST.md documentation by @dallasread
  • Fix version display in pyproject.toml and main.py by @dallasread

Full Changelog: v0.1.1...v0.1.2


Previous Releases

For v0.1.1 changes (DNSSEC improvements, NS caching, performance optimizations), see v0.1.1 release notes.

Performance & DNSSEC Improvements

Choose a tag to compare

@dallasread dallasread released this 31 Oct 02:41
bbe1e64

🚀 Performance Improvements

  • NS Caching: Added smart caching for authoritative nameserver lookups - eliminates redundant DNS queries and prevents loading indicator flashing
  • Cache Busting: Press r to refresh and clear all caches for fresh data
  • Faster Loading: Reduced HTTP/HTTPS timeouts from 10s to 5s
  • Faster Certificate Checks: Optimized OpenSSL certificate validation (~17s → ~8s per domain)
    • Removed slow TLS version probing, cipher suite detection, and OCSP checks
    • Improved timeout handling for unresponsive hosts

🔒 DNSSEC Fixes

  • Accurate Validation: Now correctly detects mismatched DS/DNSKEY records (broken DNSSEC chains show as BOGUS instead of SECURE)
  • Parent Zone Queries: DS records are now queried from the correct parent zone's authoritative nameservers
  • Better Visualization: Fixed dangling connection lines in DNSSEC chain visualization
  • Neutral RRSIG Indicator: Changed RRSIG presence from positive indicator to neutral observation

🧹 Codebase Improvements

  • Simplified DNS Stack: Removed dog adapter - now uses dig exclusively for better compatibility
  • Cleaner Code: Removed unnecessary progress callbacks that caused UI flashing

📦 Download

The d binary is included in this release (17MB, macOS ARM64).

Installation

# Download and make executable
curl -L https://github.com/dallasread/d/releases/download/v0.1.1/d -o d
chmod +x d

# Optional: Install system-wide
sudo mv d /usr/local/bin/

Usage

d example.com

Requirements

  • macOS ARM64 (Apple Silicon)
  • dig command (usually pre-installed)
  • openssl command (usually pre-installed)
  • curl or wget command

What's Changed

  • Build v0.1.1 binary with NS caching improvements by @dallasread
  • Add cache busting when pressing 'r' to refresh by @dallasread
  • Add caching for authoritative nameserver lookups to prevent flashing by @dallasread
  • Fix DS record queries to use parent zone's authoritative nameservers by @dallasread
  • Change RRSIG message to neutral indicator by @dallasread
  • Remove dog adapter and use dig exclusively by @dallasread
  • Fix DNSSEC validation to detect mismatched DS/DNSKEY records by @dallasread
  • Reduce HTTP and certificate check timeouts for faster loading by @dallasread
  • Fix dangling lines in DNSSEC visualization and improve cert check performance by @dallasread

Full Changelog: v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@dallasread dallasread released this 29 Oct 16:21
d602853