Release Notes
Language / Язык
🇷🇺 Русская версия / Russian Version
Версия 0.5.0 (Первый релиз для macOS)
🎯 Новые возможности
Поддержка macOS - первый официальный релиз
- Добавлена полная поддержка macOS (10.15+ Catalina и новее)
- Поддержка универсальных бинарников (universal binary) для архитектур arm64 (Apple Silicon) и amd64 (Intel)
- Автоматическая сборка .app bundle с правильной структурой для macOS
- Создан скрипт сборки
build/build_darwin.shс проверкой зависимостей (Xcode, SDK) - Добавлена поддержка иконки приложения (.icns) в .app bundle
- Создан Info.plist с корректными метаданными приложения
- Минимальная версия системы: macOS 10.15 (Catalina)
Коммиты:
- Реализация платформо-специфичного кода для macOS
- Создание скрипта сборки для macOS
Платформо-специфичная реализация для macOS
- Реализован
internal/platform/platform_darwin.goс поддержкой macOS-специфичных функций - Поддержка открытия папок через
openкоманду - Поддержка открытия URL через системный браузер
- Управление процессами через
killallиkill - Определение настроек системного SOCKS5 прокси через
networksetup - Автоматическое определение приоритета сетевых интерфейсов
- Поддержка проверки настроек прокси для всех активных интерфейсов
Коммиты:
- Добавлена платформо-специфичная реализация для macOS
Обработка кликов по иконке в Dock на macOS
- Реализован обработчик кликов по иконке приложения в Dock
- При клике на иконку в Dock, если окно скрыто, оно автоматически показывается
- Использование нативного NSApplicationDelegate API через CGO
- Интеграция с Objective-C runtime для обработки событий приложения
- Автоматическая очистка обработчика при завершении приложения
Коммиты:
- Добавлен обработчик кликов по иконке в Dock для macOS
Шаблон конфигурации для macOS
- Создан отдельный шаблон конфигурации
config_template_macos.json - Оптимизированная конфигурация для работы на macOS
- Использование
mixedinbound с автоматической настройкой системного прокси - Поддержка
set_system_proxy: trueдля автоматической настройки системного прокси - Автоматическое определение шаблона конфигурации в зависимости от платформы
Коммиты:
- Добавлен шаблон конфигурации для macOS
Поддержка системного SOCKS5 прокси для STUN теста на macOS
- Добавлена функция
GetSystemSOCKSProxy()для получения настроек системного SOCKS5 прокси - Автоматическое определение активных сетевых интерфейсов в порядке приоритета
- Поддержка проверки настроек прокси для всех активных интерфейсов
- Интеграция с диагностическим STUN тестом для использования системного прокси
- Улучшенная поддержка UDP трафика через системный прокси на macOS
Коммиты:
- Добавлена поддержка системного SOCKS5 прокси для macOS
🔧 Рефакторинг и улучшения
Улучшения сборки для macOS
- Проверка наличия Xcode и Command Line Tools перед сборкой
- Проверка наличия необходимых инструментов (xcrun, lipo, SDK)
- Автоматическое определение версии SDK
- Создание универсального бинарника (universal binary) для обеих архитектур
- Автоматическая проверка наличия полного Xcode (не только Command Line Tools)
- Поддержка установки иконки приложения в .app bundle
- Генерация Info.plist с корректными метаданными
Коммиты:
- Улучшен скрипт сборки для macOS
Платформо-независимая архитектура
- Улучшена архитектура для поддержки нескольких платформ
- Автоматическое определение платформы при загрузке шаблонов конфигурации
- Улучшенная обработка платформо-специфичных функций
- Единый интерфейс для работы с различными платформами
Коммиты:
- Улучшена платформо-независимая архитектура
📚 Документация
Обновления документации для macOS
- Обновлена документация с инструкциями по установке и использованию на macOS
- Добавлены требования для macOS (версия системы, зависимости)
- Обновлены инструкции по сборке для macOS
- Добавлена информация о поддержке универсальных бинарников
- Обновлены примеры конфигурации для macOS
Коммиты:
- Обновлена документация для macOS
🐛 Исправления ошибок
Исправления для корректной работы на macOS
- Исправлена инициализация системного трея для корректной работы на macOS
- Улучшена обработка платформо-специфичных путей и файлов
- Исправлена работа с процессами на macOS
- Улучшена совместимость с различными версиями macOS
Коммиты:
- Исправления для корректной работы на macOS
Version 0.5.0 (First macOS Release)
🎯 New Features
macOS Support - First Official Release
- Added full macOS support (10.15+ Catalina and newer)
- Support for universal binaries for both arm64 (Apple Silicon) and amd64 (Intel) architectures
- Automatic .app bundle creation with proper macOS structure
- Created build script
build/build_darwin.shwith dependency checks (Xcode, SDK) - Added support for application icon (.icns) in .app bundle
- Created Info.plist with correct application metadata
- Minimum system version: macOS 10.15 (Catalina)
Commits:
- macOS platform-specific code implementation
- macOS build script creation
Platform-Specific Implementation for macOS
- Implemented
internal/platform/platform_darwin.gowith macOS-specific functions - Support for opening folders via
opencommand - Support for opening URLs via system browser
- Process management via
killallandkill - System SOCKS5 proxy settings detection via
networksetup - Automatic network interface priority detection
- Support for checking proxy settings for all active interfaces
Commits:
- Added platform-specific implementation for macOS
macOS Dock Icon Click Handling
- Implemented handler for application icon clicks in Dock
- When clicking Dock icon, if window is hidden, it automatically shows
- Using native NSApplicationDelegate API via CGO
- Integration with Objective-C runtime for application event handling
- Automatic handler cleanup on application termination
Commits:
- Added Dock icon click handler for macOS
macOS Configuration Template
- Created separate configuration template
config_template_macos.json - Optimized configuration for macOS operation
- Using
mixedinbound with automatic system proxy configuration - Support for
set_system_proxy: truefor automatic system proxy setup - Automatic configuration template detection based on platform
Commits:
- Added macOS configuration template
System SOCKS5 Proxy Support for STUN Test on macOS
- Added
GetSystemSOCKSProxy()function to get system SOCKS5 proxy settings - Automatic detection of active network interfaces in priority order
- Support for checking proxy settings for all active interfaces
- Integration with diagnostic STUN test to use system proxy
- Improved UDP traffic support through system proxy on macOS
Commits:
- Added system SOCKS5 proxy support for macOS
🔧 Refactoring and Improvements
macOS Build Improvements
- Check for Xcode and Command Line Tools before building
- Check for required tools (xcrun, lipo, SDK)
- Automatic SDK version detection
- Universal binary creation for both architectures
- Automatic check for full Xcode (not just Command Line Tools)
- Support for installing application icon in .app bundle
- Info.plist generation with correct metadata
Commits:
- Improved macOS build script
Platform-Independent Architecture
- Improved architecture for multi-platform support
- Automatic platform detection when loading configuration templates
- Improved handling of platform-specific functions
- Unified interface for working with different platforms
Commits:
- Improved platform-independent architecture
📚 Documentation
macOS Documentation Updates
- Updated documentation with macOS installation and usage instructions
- Added macOS requirements (system version, dependencies)
- Updated macOS build instructions
- Added information about universal binary support
- Updated configuration examples for macOS
Commits:
- Updated macOS documentation
🐛 Bug Fixes
Fixes for Proper macOS Operation
- Fixed system tray initialization for proper macOS operation
- Improved handling of platform-specific paths and files
- Fixed process handling on macOS
- Improved compatibility with different macOS versions
Commits:
- Fixes for proper macOS operation