Repository navigation
Releases: Cd1s/safarier
Release list
Safarier v1.2.2
Shared Proxy Management, Custom Outbound JSON & macOS 26/27 Font Isolation
New Features & Enhancements
- Shared Proxy Management GUI & CLI: Manage reusable HTTP CONNECT and SOCKS5 proxies in the sidebar (Proxies / 代理), bind multiple environments to a shared proxy, or configure environment-specific manual proxies and subscription nodes. (Thanks to @ljh740 in PR #11)
- Custom
sing-boxOutbound JSON: Support validated customsing-boxoutbound JSON configurations (includingtag/typevalidation, reserved internal tag protection, and credential redaction in overviews) when localsing-boxrouting is available. (PR #11) - Fail-Closed Proxy Connectivity & Exit IP Tester: Test proxy connectivity and inspect the live exit IP/Geo location directly from the proxy detail view or editor using a fail-closed
curl --config -probe without leaking credentials in process arguments. (PR #11) - Proxy GUI Polish: Format proxy port numbers without thousands separators in sidebar rows and display the selected proxy name in the window navigation title. (Issue #13 / PR #14)
Font Isolation & Engine Compatibility
- Automatic
com_apple_MobileAsset_Font*Discovery (Font7,Font8, etc.): Automatically discover all versioned MobileAsset font directories under/System/Library/AssetsV2and fall back toFontDesignLanguagesmetadata whenPrerequisiteis absent, ensuring downloadable CJK language assets (such asPingFang SC/TC/HK) are properly filtered on macOS 26/27 while retaining baseline system fonts (/System/Library/Fonts). (Issue #12 / PR #15)
Packages & Verification
Choose arm64 for Apple Silicon, x86_64 for Intel, or universal for both. Every ZIP contains Safarier.app and has a matching SHA-256 checksum file.
- 451 passing Swift tests (including live WebKit main-thread and Worker verification).
- 0 plaintext protected symbols in binary audit.
- Source commit:
ab3ced6f08568bbbd68e717a37ca0f391b7ac96e
🤖 Generated with Claude Code
Safarier v1.2.1
Updated build: browsing history and close confirmation
This refreshed v1.2.1 build includes commit e07beb4:
- Add per-profile browsing history, with persistent storage for persistent profiles and memory-only history for temporary profiles.
- Add history menus and a searchable history view, plus reopening the previous session's tabs.
- Ask for confirmation before closing browser windows or ending an environment, with clear behavior for persistent and temporary profiles and an option to remember the choice.
- Retain the existing font isolation fixes and AI Agent automation, including native press-and-hold support.
This patch release replaces the withdrawn v1.3.0 release; the same features and font corrections are delivered under the requested v1.2.1 version, with additional press-and-hold support.
AI Agent automation
- Add a local, profile-scoped
safarier agentbridge for semantic snapshots, isolated asynchronous script batches, screenshots, and tab management. - Improve form filling with native value setters, cancellable
beforeinput,inputandchangeevents, and contenteditable support. - Add
agent typewith per-character focus tracking for segmented OTP inputs,agent waitfor visible selectors/references/text, andagent focusfor human handoff. - Add native
agent click-xydispatch with optional--hold-msduration (0–15000 milliseconds), including page-zoom coordinate conversion. Snapshots now include viewport centers, dimensions, field state and password redaction. - Add an AI Agent setup entry in the manager. Opening the manager synchronizes the browser Skill to Claude Code and Codex skill directories, including
.claude-ifrr; other clients can import the guide. - Harden socket handling with same-user checks, bounded messages, blocking accepted sockets and complete writes.
Automation supports authorized browsing and form testing. CAPTCHA challenges and other human-verification steps remain a human handoff; no CAPTCHA solver is included. Native event dispatch does not guarantee acceptance by a website.
Font isolation aligned with the system baseline
- Preserve fonts shipped on the system volume, including baseline CJK families such as Hiragino Sans GB, Songti SC/STSong and Heiti SC/TC. English profiles should retain these fonts rather than report zero Chinese fonts.
- Filter additional Font7 language assets using their installation prerequisites. English profiles exclude downloaded PingFang SC/TC/HK while retaining built-in fonts; user font directories are not scanned into the allowlist.
- Apply font filtering when a profile follows the system language, using the process's first preferred language. Extend engine-family compatibility checks for macOS 27.
- Add live main-thread and Worker regression checks for base fonts, extra language assets and 16 vendor font names.
Additional fixes since v1.2.0
- Protect concurrent configuration updates with cross-process file-lock transactions.
- Verify helper process identity before cleaning up stale proxy records. Thanks to @ljh740 for PR #10.
- Replace the default IP check favorite with the open-source IPCheck.ing site and migrate saved defaults.
- Improve host-dependent test compatibility.
Packages and verification
Choose arm64 for Apple Silicon, x86_64 for Intel, or universal for both. Every ZIP contains Safarier.app and has a matching SHA-256 file. Packages use local ad-hoc signatures; they are not notarized by Apple.
Validated on macOS 15.7.3 with the system WebKit engine: 428 passing Swift tests with zero compiler warnings, controlled-form and OTP fixtures, trusted native click events (including an opaque-origin iframe and page zoom), and explicit-English/system-following font checks in the main thread and Worker. Intel and Universal slices are built and checked on the Apple Silicon host.
Artifact signatures, architecture slices, SHA-256 checksums and the protected-name audit were checked before publication.
Source commit: e07beb455706bb3a03576d5f1666df68fe438010.
Safarier v1.2.0
Safarier v1.2.0 adds a Safari-style Start Page, a toolbar privacy report, local WebExtension loading, and reliable Web Inspector / JavaScript Console presentation.
Changes
- Web Inspector and JavaScript Console: Restore Develop-menu shortcuts (Option-Command-I / Option-Command-C), allow inspection from the Start Page, and fix docked inspector rendering with a dedicated WebView container. Includes the follow-up fix verified by the user. (#6)
- Start Page: Add an up-to-8-by-2 Favorites grid, suggestion and environment cards, a privacy report banner, and an Edit popover with persistent customization. (#7)
- Privacy report: Add the shield immediately to the left of the address bar. Its popover shows the current environment and offers a diagnostic-summary copy action.
- Safari 27.2 baseline: Recognize Safari 27.2 / Staged WebKit 20625.2.8.18.4 and keep the loaded system engine distinct from Safari's staged engine in diagnostics and UA selection. Installing Safari 27.2 does not itself upgrade the engine loaded by third-party applications. (#8)
- Local WebExtensions: Import unpacked manifest directories or resources from a Safari extension bundle, retain activation records per Profile, and attach native extension contexts to the browser configuration. Includes Develop-menu import/listing and CLI
ext list,ext add PATH [--profile PROFILE_ID], andext remove NAME. (#9)
Validation
- User acceptance testing passed on the local Mac mini.
- Full
swift test: 367 tests passed, zero failures and zero compiler warnings. - arm64, x86_64, and Universal Release builds completed without compiler warnings.
- Every ZIP was extracted and checked for the
Safarier.approot, version 1.2.0 (build 16), executable/helper architecture, and valid ad-hoc signatures. - Source, application, and test binaries passed the protected bridge-symbol plaintext audit.
- Each ZIP has a companion
.zip.sha256checksum file.
Native extension loading requires macOS 15.4 or newer. This is the initial local-loading implementation; compatibility with every extension, extension toolbar actions/popups, native messaging, and all permission workflows is not certified.
Implementation commits: 1cf9c31, e92ac38, 81cfa9a, f132f20, 820620d, 476302b. Release preparation: faae771.
Full changelog: v1.1.0...v1.2.0
Safarier v1.1.0
Safarier v1.1.0
This release brings the five Safari compatibility investigations into the mainline browser and includes the latest navigation and toolbar refinements.
Included
- Synchronized simulated screen geometry with the selected target display resolution while keeping physical host window fitting safe.
- Corrected the Safari engine-version baseline and converged legacy mutation-event behavior where the loaded engine supports the control.
- Disabled remote inspection exposure by default and added the sanitized diagnostics summary export on
⌥⇧⌘D. - Upgraded the headless compatibility probe with fitted viewport, screen geometry, notification, WebAuthn availability, and webdriver observations.
- Adapted the round environment badge to the macOS capsule toolbar.
- Kept loaded pages visible when a URL-less temporary navigation fails and cleaned special characters from the address bar display.
Validation
- 336 tests passed with 0 failures and 0 compiler warnings.
- Universal, arm64, and x86_64 applications are ad-hoc signed and architecture-verified.
- Release binaries passed UTF-8/UTF-16,
strings, andnmscans for the project’s protected engine symbol set. - SHA-256 checksum files are included for all three packages.
Requires macOS 14 or later. The app is ad-hoc signed and is not notarized by Apple.
Safarier v1.0.1
Safarier v1.0.1 — macOS 原生多环境浏览器 / Native macOS browser with isolated environments.
-
Fixed importing whole-authority Base64 SOCKS links, wrapped links, and
socks5h://links. -
Fixed automatic node selection when choosing a subscription with one node.
-
修复整段 Base64 SOCKS 链接、复制折行链接与
socks5h://的导入;选择单节点订阅时自动选择节点。 -
Apple Silicon:
Safarier-v1.0.1-macOS-arm64.zip -
Intel:
Safarier-v1.0.1-macOS-x86_64.zip -
通用版本 / Universal:
Safarier-v1.0.1-macOS-universal.zip
需要 macOS 14 或更新版本。应用使用 ad-hoc 签名,未经过 Apple 公证。
Requires macOS 14 or later. The app is ad-hoc signed and is not notarized by Apple.
每个安装包附有对应的 SHA-256 校验文件。应用版本为 1.0.1,构建号为 2。
Each package includes a matching SHA-256 checksum file. Version 1.0.1, build 2.
Source: 2f32d21
Safarier v1.0.0
Safarier v1.0.0 — macOS 原生多环境浏览器 / Native macOS browser with isolated environments.
- Apple Silicon:
Safarier-v1.0.0-macOS-arm64.zip - Intel:
Safarier-v1.0.0-macOS-x86_64.zip - 通用版本 / Universal:
Safarier-v1.0.0-macOS-universal.zip
需要 macOS 14 或更新版本。应用使用 ad-hoc 签名,未经过 Apple 公证。
Requires macOS 14 or later. The app is ad-hoc signed and is not notarized by Apple.
每个安装包附有对应的 SHA-256 校验文件。应用版本为 1.0.0,构建号为 1。
Each package includes a matching SHA-256 checksum file. Version 1.0.0, build 1.
Source: b9d950f