# Changelog

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

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.5.5] - 2026-01-02

### Changed
- Terminal tab closes immediately and clears screen when closed

## [1.5.4] - 2026-01-02

### Fixed
- Mobile input Enter key now properly executes commands

## [1.5.3] - 2026-01-02

### Added
- Visible mobile input bar with Send button for iOS compatibility

### Fixed
- Korean (Hangul) IME input on iOS Safari

## [1.5.2] - 2026-01-02

### Fixed
- Korean (Hangul) IME input on mobile - use dedicated input field for proper composition handling

## [1.5.1] - 2026-01-02

### Fixed
- Korean (Hangul) IME input on mobile devices - characters no longer split into individual jamo

## [1.5.0] - 2026-01-02

### Added
- Mobile-responsive UI with touch-friendly design
- Sidebar close button for mobile devices
- Full-width sidebar on small screens (480px and below)

### Changed
- Improved touch targets (minimum 44px for buttons/tabs)
- Dynamic terminal height using flex layout
- Input font-size set to 16px to prevent iOS auto-zoom
- Smoother sidebar slide animation with overlay

## [1.4.0] - 2026-01-02

### Added
- Passcode authentication system
- Login page with passcode entry
- Logout button in header
- CLI `--passcode` option (auto-generate or custom)
- Auth API endpoints (`/api/auth/status`, `/api/auth/login`, `/api/auth/logout`)

### Security
- Token-based session authentication (24h expiry)
- WebSocket connection authentication
- HTTP-only secure cookies for auth tokens

## [1.3.0] - 2026-01-02

### Added
- File delete and rename functionality (right-click context menu)
- File search filter in file explorer
- WebSocket security (message size limit, rate limiting)
- README.md documentation with API reference
- ESLint and Prettier configuration
- Test suite using Node.js built-in test runner

### Changed
- Express upgraded from 4.x to 5.x
- Frontend split into separate files (styles.css, app.js)
- CLI version now reads from package.json instead of hardcoded value

### Security
- Added 1MB max message size for WebSocket
- Added rate limiting (100 messages/second per connection)
- Added request body size limit (5MB) for JSON payloads

## [1.2.0] - 2025-01-02

### Added
- Terminal tabs UI for managing multiple sessions
- tmux session integration (attach to existing tmux sessions)
- System monitor in sidebar (CPU, Memory, Uptime, Load average)
- Auto port detection (finds next available port if default is in use)
- Session detach functionality

### Changed
- Sessions section moved from sidebar to terminal tabs
- Improved session switching with proper detach handling

## [1.1.0] - 2025-01-02

### Added
- Tab-based UI for switching between Terminal and Editor
- Code editor powered by Monaco Editor (VS Code engine)
- File explorer in sidebar with breadcrumb navigation
- File system API endpoints (`/api/files`, `/api/files/read`, `/api/files/write`)
- Multiple file tabs with unsaved changes indicator
- Auto-detect syntax highlighting for 20+ languages
- Keyboard shortcut `Ctrl+S` to save files

### Fixed
- File click handling with special characters in paths

## [1.0.0] - 2025-01-01

### Added
- Web-based terminal with xterm.js
- Persistent sessions (24h timeout)
- Multiple session management
- Cloudflare tunnel integration for public URL exposure
- Session reconnection with output buffer
- CLI tool (`devtunnel`) with auto-setup
- Docker support
