Repository navigation
Releases: chriskearney/wiretap
Releases · chriskearney/wiretap
Release list
v1.6.2
Full Changelog: v.1.6.1...v1.6.2
v1.6.0
v1.6.1
v1.5.8
WireTap v1.5.7 - AtomForge Integration & Unified Logging
This release introduces AtomForge FDO decompilation integration and implements a centralized logging system for improved debugging and production use.
New Features
AtomForge Integration
- On-demand FDO Decompilation: Click "Show FDO" on any frame in the web interface to decompile it using AtomForge
- Real-time Health Monitoring: GUI displays AtomForge connection status and version information
- Seamless Integration: Automatically detects AtomForge service running on localhost:8000
- Error Handling: Graceful fallback when AtomForge is unavailable
Unified Logging System
- Centralized WireTapLog: All logging now goes through a single utility class
- Verbose Flag: Use
--verboseor-vto enable debug output - Silent by Default: No console spam in production - perfect for GUI and native binaries
- Consistent Format: All logs follow the same format across the entire application
Technical Improvements
- Fix JSON parsing to properly handle escaped quotes in decompiled source
- Fix newline rendering in FDO source display
- GraalVM-compatible AtomForge service implementation
- Improved error handling and user feedback for decompilation failures
- Performance optimizations in JSON extraction logic
Documentation
- Updated README with AtomForge setup instructions
- Added verbose logging documentation
- Clarified command-line options
Files Changed
- 16 files modified, 1,246 insertions, 36 deletions
- 4 new AtomForge service files
- WireTapLog utility class for centralized logging
For setup instructions, see the AtomForge repository.
WireTap v1.5.5 - Stream ID Support & UI Enhancements
New Features
Stream ID Display
- Stream ID (sid) now displayed in frame headers across all modes (live proxy, PCAP analysis, JSONL files)
- Stream ID is extracted from bytes 10-11 (2 bytes after the token)
- Backward compatible: old JSONL files have streamId extracted from fullHex field automatically
UI Improvements
- Human-friendly timestamps: Displays as
HH:MM:SS.mmminstead of raw float values - Subtle CRC error highlighting: CRC errors now show in muted red instead of the previous color scheme
- Improved tooltip descriptions for better user understanding
Technical Changes
Backend
- Added
streamIdfield toFrameSummarydata model - Implemented streamId extraction in all 5 frame parsing locations:
- PCAP analysis (AolExtractor, P3Extractor)
- Live TCP proxy (TcpProxyService)
- Realtime sniffers (RealtimeAolSniffer, RealtimeP3Sniffer)
Frontend
- Added
extractStreamIdFromHex()helper for backward compatibility - Updated
renderFrame()to display streamId pill conditionally - Added
formatTimestamp()for readable time formatting - Refined CRC error styling
Bug Fixes
- Fixed architectural inconsistency where streamId was only extracted in 2 of 5 frame parsing paths
- Ensured consistent streamId display across all application modes
🤖 Generated with Claude Code
v.1.5.6
v.1.5.4
WireTap v1.5.3 - Export JSONL Fix
🛠️ Critical Export Functionality Fix
Fixed: Export JSONL Button Not Working Properly
- Issue: Export JSONL only exported frames from current tab, could return empty results
- Root Cause: Client-side export relied on limited UI frame arrays instead of server session data
- Solution: Export now fetches complete session from server via /api/session/frames
Changes:
- ✅ Complete Session Export: Exports ALL frames from current session
- ✅ Server-Side Data: Fetches from HttpApp.sessionFrames queue instead of UI arrays
- ✅ Tab Independent: Works regardless of current tab (Proxy/PCAP)
- ✅ State Independent: Works even if proxy is stopped or no PCAP loaded
- ✅ Error Handling: Proper error messages and user feedback
- ✅ Success Feedback: Shows count of exported frames
Previous Fixes (v1.5.2):
- ✅ Shutdown Bug: Application exits properly when GUI window closes
- ✅ Cross-Platform: Consistent behavior on Windows, macOS, Linux
All binaries include the latest export fix and shutdown improvements.
WireTap v1.5.2 - Critical Shutdown Bug Fix
🚨 Critical Bug Fix
Fixed: Application doesn't exit when GUI window is closed
- Issue: On Windows, the .exe kept running in background after closing GUI window
- Root Cause: GUI shutdown didn't properly terminate main application thread and background services
- Solution: Added shutdown callback mechanism and proper service cleanup
Changes:
- ✅ Shutdown Callback: ServerGUI now properly notifies main application when closing
- ✅ Main Thread Exit: Application exits when GUI window is closed on all platforms
- ✅ Service Cleanup: HTTP server and proxy services are properly stopped
- ✅ Cross-Platform: Consistent shutdown behavior on Windows, macOS, and Linux
Technical Details:
- Added shutdownCallback mechanism to ServerGUI
- Modified Main.java to handle GUI close events
- Added HttpApp.shutdown() method for clean service termination
- Ensured all threads and resources are properly cleaned up
Impact:
- ✅ Windows: .exe exits immediately when GUI window closes
- ✅ macOS: App bundle terminates properly
- ✅ Linux: Application shuts down cleanly
- ✅ No Background Processes: Complete application exit on all platforms
This release fixes a critical usability issue where the application would continue running in the background after the user closed the main window.