Skip to content

Releases: callzhang/hypo

Release v1.1.6

18 Jan 06:48

Choose a tag to compare

Release v1.1.6

πŸ“¦ Downloads

πŸ“– Installation

For detailed installation instructions, see the User Guide.

🍎 macOS Installation

  1. Download and extract Hypo-1.1.6-release.zip
  2. Important: After extracting, you may see a "damaged" error when trying to open the app. This is due to macOS quarantine.

Quick Fix:

# Remove quarantine attribute
xattr -d com.apple.quarantine Hypo.app

# Then launch by right-clicking β†’ Open β†’ Open

You'll see a "cannot be verified" warning - this is normal for ad-hoc signed apps. Click Open to proceed.

Why this happens: macOS automatically adds a quarantine attribute to files downloaded from the internet. This is a security feature called Gatekeeper. Our app uses ad-hoc signing (free, no Apple Developer account required), so macOS requires manual approval on first launch.

πŸ€– Android Installation

  1. Download Hypo-1.1.6-release.apk to your Android device
  2. Open the APK file (you may need to enable "Install from unknown sources" in Settings)
  3. Follow the on-screen installation prompts
  4. Grant necessary permissions when prompted (clipboard access, network access, etc.)

Note: On MIUI/HyperOS devices, you may need to enable additional permissions in Settings β†’ Apps β†’ Hypo β†’ Other permissions.

πŸ†• What's New

✨ Features

  • Require ws auth token
  • Add bounded session queues
  • Add http peers presence and tighten ws frames

πŸ› Bug Fixes

  • Stabilize LAN port resolution
  • Prevent LAN peer sync hangs
  • Update to version 1.1.5, resolving concurrency issues, improving release workflow, and adjusting Gradle configuration.

πŸ“š Documentation

  • Document ws auth and peers

πŸ”§ CI/CD

  • Upload xcresult and summarize failures

πŸ“¦ Other Changes

  • Bump version to 1.1.6
  • Fix: Explicit return in async closure to resolve type inference
  • Fix: Update waitUntil to support async closures
  • Fix: Add await to isConnected() check in test
  • Fix: CloudRelayTests date parsing and race condition
  • Fix: Mock CloudRelay session and increase CI timeouts
  • Fix: Increase waitForPort timeout to 15 seconds for CI stability
  • Fix: Increase waitForPort timeout to 5 seconds for CI
  • CI: Add macOS test failure diagnostics
  • Fix: Disable code coverage in CI to fix permission error
  • Fix: Disable flaky LAN tests in CI environment
  • Fix: Add macOS test timeout and improve device_id deserialization with custom visitor
  • Debug: Add panic output to see Backend CI test failure details
  • Fix CI (v5): Add comprehensive test environment detection using XCTest environment variables
  • Fix CI (v4): Detect test environment to prevent UNUserNotificationCenter crash, improve Backend query handling
  • Fix CI (v3): Resolve macOS entry point conflict, Android Base64 test issue, and Backend query deserialization
  • Fix CI: macOS macro validation, Android test compilation, and Backend test debug
  • Cover ws auth header
  • Fix CI: Use HypoApp-Package scheme (confirmed available)
  • Fix CI: Remove HypoApp.xcworkspace to expose package schemes
  • Debug CI: List schemes to identify correct name
  • Fix CI: Use HypoMenuBarApp scheme (Target Name)
  • Fix CI Syntax: Remove duplicate runs-on key
  • Cover ws auth and peers
  • Fix CI: Use HypoMenuBar scheme and enforce success
  • Fix CI: Remove deprecated generate-xcodeproj step
  • Fix CI: Use HypoApp-Package scheme speculatively
  • Fix Swift Compilation: Make configuration internal
  • Debug macOS CI: List schemes and upload artifact
  • Fix CI: Finalize Android fixes & mitigate macOS failures
  • Fix macOS CI: Explicitly use generated project file
  • Debug macOS CI: List schemes to identify correct target
  • Fix macOS CI: Generate Xcode project before testing
  • Fix CI: Add timeouts to Android tests & Remove workspace from macOS CI command
  • Fix macOS CI: Switch to xcodebuild test on macos-15
  • Fix CI failures: Refactor Android tests to runBlocking & Downgrade macOS runner
  • Fix remaining Android test failures: Add more advanceUntilIdle() calls
  • Fix Android test failures: Add advanceUntilIdle() to ensure coroutines complete
  • Fix Android CI: Use ANDROID_HOME instead of ANDROID_SDK_ROOT
  • Fix NSException: Use xcodebuild test instead of swift test
  • Fix NSException: Build tests before running to avoid bundleProxyForCurrentProcess error
  • Disable parallel test execution in CI to avoid NSException
  • Fix NSException: Replace NSLock with os_unfair_lock in WebSocket task mocks
  • Fix NSException: Use NSLock instead of OSAllocatedUnfairLock in StubWebSocketTask and FlakyWebSocketTask
  • Fix flaky tests: Make MockServerDelegate and PairingDelegate thread-safe using SharedState pattern in LanWebSocketServerTests
  • Fix flaky tests: Make MockBonjourDriver, MockBonjourPublisher, and MockTransportProvider thread-safe using SharedState pattern and OSAllocatedUnfairLock
  • Fix CI crash: Replace all NSLock usage with OSAllocatedUnfairLock in production code
  • Fix tests crash: Replace NSLock with OSAllocatedUnfairLock in test mocks and make WebSocketTask mocks thread-safe
  • Bump version to 1.1.6
  • Fix tests crash: Replace NSLock with OSAllocatedUnfairLock in test mocks

πŸ” Security & Verification

SHA256 Checksums

Verify the integrity of downloaded files using these checksums:

SHA256 checksums:

d9eb9eaa06e0b03fdffe65e0a885651fe3202442216f2b9e8562e8eb6530105c Hypo-1.1.6-release.apk
d05839d03c3a410e116c9baabe3a694a124984a399c42400766bdb403e3c05f2 Hypo-1.1.6-release.zip

Full Changelog: v1.1.6...1.1.6

Release v1.1.5

16 Jan 19:18

Choose a tag to compare

Release v1.1.5

πŸ“¦ Downloads

πŸ“– Installation

For detailed installation instructions, see the User Guide.

🍎 macOS Installation

  1. Download and extract Hypo-1.1.5-release.zip
  2. Important: After extracting, you may see a "damaged" error when trying to open the app. This is due to macOS quarantine.

Quick Fix:

# Remove quarantine attribute
xattr -d com.apple.quarantine Hypo.app

# Then launch by right-clicking β†’ Open β†’ Open

You'll see a "cannot be verified" warning - this is normal for ad-hoc signed apps. Click Open to proceed.

Why this happens: macOS automatically adds a quarantine attribute to files downloaded from the internet. This is a security feature called Gatekeeper. Our app uses ad-hoc signing (free, no Apple Developer account required), so macOS requires manual approval on first launch.

πŸ€– Android Installation

  1. Download Hypo-1.1.5-release.apk to your Android device
  2. Open the APK file (you may need to enable "Install from unknown sources" in Settings)
  3. Follow the on-screen installation prompts
  4. Grant necessary permissions when prompted (clipboard access, network access, etc.)

Note: On MIUI/HyperOS devices, you may need to enable additional permissions in Settings β†’ Apps β†’ Hypo β†’ Other permissions.

πŸ†• What's New

πŸ“¦ Other Changes

  • Bump version to 1.1.5
  • Fix strict concurrency error: Conform PairingCode to Sendable
  • Fix WebSocketTransport concurrency by replacing NSLock with OSAllocatedUnfairLock

πŸ” Security & Verification

SHA256 Checksums

Verify the integrity of downloaded files using these checksums:

SHA256 checksums:

1a6765c86a7482a5def64842e23ea8aa8de1240c58e9b14c4ce67a83a6ac3167 Hypo-1.1.5-release.apk
cbc18ec145bbb1602fdcac87d39e09ac70f0cf1d2b41eb787e2b564d1eab084b Hypo-1.1.5-release.zip

Full Changelog: v1.1.4...1.1.5

Release v1.1.1

14 Jan 21:36

Choose a tag to compare

Release v1.1.1

πŸ“¦ Downloads

πŸ“– Installation

For detailed installation instructions, see the User Guide.

🍎 macOS Installation

  1. Download and extract Hypo-1.1.1-release.zip
  2. Important: After extracting, you may see a "damaged" error when trying to open the app. This is due to macOS quarantine.

Quick Fix:

# Remove quarantine attribute
xattr -d com.apple.quarantine Hypo.app

# Then launch by right-clicking β†’ Open β†’ Open

You'll see a "cannot be verified" warning - this is normal for ad-hoc signed apps. Click Open to proceed.

Why this happens: macOS automatically adds a quarantine attribute to files downloaded from the internet. This is a security feature called Gatekeeper. Our app uses ad-hoc signing (free, no Apple Developer account required), so macOS requires manual approval on first launch.

πŸ€– Android Installation

  1. Download Hypo-1.1.1-release.apk to your Android device
  2. Open the APK file (you may need to enable "Install from unknown sources" in Settings)
  3. Follow the on-screen installation prompts
  4. Grant necessary permissions when prompted (clipboard access, network access, etc.)

Note: On MIUI/HyperOS devices, you may need to enable additional permissions in Settings β†’ Apps β†’ Hypo β†’ Other permissions.

πŸ†• What's New

✨ Features

  • Polish connection UI, fix transport hang, and cleanup logs
  • Add connection status text to settings view
  • Refactor peer state and release 1.1.0

πŸ› Bug Fixes

  • Remove @retroactive attribute for CI compatibility
  • Update TransportManager's global connection state based on cloud and LAN connectivity to ensure correct UI badge updates.
  • Update LAN status on handshake identify
  • Align LAN/cloud presence and add query logging
  • Harden reconnect and network change handling
  • Resolve syntax errors in TransportManager.kt
  • Update version code derivation and reduce log verbosity

♻️ Refactoring

  • Fix LAN connection status updates and ghost connections
  • Reduce WebSocket log verbosity per user request
  • Reduce LAN discovery and registration log verbosity

πŸ“š Documentation

  • Update changelog for v1.0.11 and v1.0.12

πŸ“¦ Other Changes

  • 1.1.1
  • Remove auto-delete feature
  • Update accessibility service UI to indicate it's optional
  • Reduce log noise and improve app cleanup
  • Fix service cleanup and connection disconnect detection
  • Fix LAN peer offline issues (pairing race, screen-sleep, auto-reconnect)
  • Fix menu bar icon not appearing by removing manual AppDelegate setup
  • Update technical documentation with LAN connection fixes
  • Fix LAN connection failure and hardening
  • Fix missing menu bar icon by preventing duplicate delegate init and enforcing activation policy
  • Fix macOS menubar icon right-click not working before first left-click
  • Fix Android build failure and continue macOS refactor
  • Fix peer status display issues

πŸ” Security & Verification

SHA256 Checksums

Verify the integrity of downloaded files using these checksums:

SHA256 checksums:

f586cfb6cabee0c660eed9a3f6c2177cc5d767f986909d4f52f886d90eaf4c96 Hypo-1.1.1-release.apk
ba85efdc71a6b81e461bb4e0d35360d81df908f54265e8290a2fb4f4a56ed120 Hypo-1.1.1-release.zip

Full Changelog: 1.0.12...1.1.1

Release v1.0.12

13 Jan 02:53

Choose a tag to compare

Release v1.0.12

πŸ“¦ Downloads

πŸ“– Installation

For detailed installation instructions, see the User Guide.

🍎 macOS Installation

  1. Download and extract Hypo-1.0.12-release.zip
  2. Important: After extracting, you may see a "damaged" error when trying to open the app. This is due to macOS quarantine.

Quick Fix:

# Remove quarantine attribute
xattr -d com.apple.quarantine Hypo.app

# Then launch by right-clicking β†’ Open β†’ Open

You'll see a "cannot be verified" warning - this is normal for ad-hoc signed apps. Click Open to proceed.

Why this happens: macOS automatically adds a quarantine attribute to files downloaded from the internet. This is a security feature called Gatekeeper. Our app uses ad-hoc signing (free, no Apple Developer account required), so macOS requires manual approval on first launch.

πŸ€– Android Installation

  1. Download Hypo-1.0.12-release.apk to your Android device
  2. Open the APK file (you may need to enable "Install from unknown sources" in Settings)
  3. Follow the on-screen installation prompts
  4. Grant necessary permissions when prompted (clipboard access, network access, etc.)

Note: On MIUI/HyperOS devices, you may need to enable additional permissions in Settings β†’ Apps β†’ Hypo β†’ Other permissions.

πŸ†• What's New

✨ Features

  • Improve macOS code signing with stable identity and robust cleaning
  • Universal hash-based comparison for duplicate detection
  • Add TransportFrameCodec for frame encoding/decoding
  • Improve dual transport and message handling
  • Improve WebSocket handling and error responses
  • Make clipboard monitoring fully event-driven
  • Add KB formatting for byte counts in logs
  • Add diagnostic logging for decryption failures
  • Support up to 1GB files via WebSocket automatic fragmentation
  • Integrate StorageManager in clipboard services
  • Add localPath support to ClipboardEntry models
  • Update sync services to handle file-based storage
  • Integrate StorageManager in repository and parser
  • Add localPath field to database schema for file-based storage
  • Implement StorageManager for file-based storage of large clipboard items
  • Implement sleep mode optimization and notification click handler

πŸ› Bug Fixes

  • Optimize macOS build to recover app bundle and ensure correct launch path
  • Filter local device from cloud peer query to prevent warnings
  • Suppress notifications for local content echoed from peers
  • Reset failure count on manual reconnect to prevent backoff delays
  • Fix menubar icon visibility and quit functionality
  • Improve build and launch reliability
  • Improve peer discovery stability and network transition handling
  • Update UI and fix API compatibility for file-based storage
  • Wrap IPv6 addresses in brackets for WebSocket URLs to prevent crash
  • Prevent app auto-termination and fix icon rendering

♻️ Refactoring

  • Remove legacy device ID prefix logic and migration code
  • Improve history popup presentation logic
  • Improve connection status probing and WebSocket handling
  • Remove verbose UI-related debug logs
  • Update log statements to use KB formatting

πŸ“š Documentation

  • Document sync limits and battery optimization; refactor: remove unused chunking logic
  • Update troubleshooting guide with tag-based log filtering
  • Add commercialization strategy and market research

πŸ“¦ Other Changes

  • Bump version to 1.0.12
  • Fix macOS sync and menu bar icon issues
  • Refactor to pure UUID architecture and improve cloud query privacy
  • Add task tracking documentation
  • Add development certificate setup script
  • Add sync debugging documentation
  • Refactor Android code for better maintainability
  • Reduce verbose logging in SyncEngine
  • Improve image filename detection in ClipboardParser
  • Update macOS code signing script
  • Remove obsolete files
  • Simplify Android logcat command to single line
  • Update Android logcat filter tags
  • Fix compilation error in LAN unicast implementation
  • Document encryption model and LAN unicast architecture
  • Fix LAN broadcast bug causing decryption errors
  • Fix orphaned device keys cleanup
  • Update CI/CD and deployment scripts
  • Update launcher icons

πŸ” Security & Verification

SHA256 Checksums

Verify the integrity of downloaded files using these checksums:

SHA256 checksums:

e552b2e6d07693f79827800664a7278b72b309b0f194f3821dccd1892a951742 Hypo-1.0.12-release.apk
6506bbbc5154f96f0d0bf4267629b88c72bd7b1faf37ac24d122c4741a21ecca Hypo-1.0.12-release.zip

Full Changelog: v1.0.12...1.0.12

Release v1.0.10

28 Dec 23:39

Choose a tag to compare

Release v1.0.10

πŸ“¦ Downloads

πŸ“– Installation

For detailed installation instructions, see the User Guide.

🍎 macOS Installation

  1. Download and extract Hypo-1.0.10-release.zip
  2. Important: After extracting, you may see a "damaged" error when trying to open the app. This is due to macOS quarantine.

Quick Fix:

# Remove quarantine attribute
xattr -d com.apple.quarantine Hypo.app

# Then launch by right-clicking β†’ Open β†’ Open

You'll see a "cannot be verified" warning - this is normal for ad-hoc signed apps. Click Open to proceed.

Why this happens: macOS automatically adds a quarantine attribute to files downloaded from the internet. This is a security feature called Gatekeeper. Our app uses ad-hoc signing (free, no Apple Developer account required), so macOS requires manual approval on first launch.

πŸ€– Android Installation

  1. Download Hypo-1.0.10-release.apk to your Android device
  2. Open the APK file (you may need to enable "Install from unknown sources" in Settings)
  3. Follow the on-screen installation prompts
  4. Grant necessary permissions when prompted (clipboard access, network access, etc.)

Note: On MIUI/HyperOS devices, you may need to enable additional permissions in Settings β†’ Apps β†’ Hypo β†’ Other permissions.

πŸ†• What's New

πŸ› Bug Fixes

  • Resolve stuck cloud connection and clipboard listener persistence
  • Exclude Cargo.lock from backend deployment trigger

πŸ“¦ Other Changes

  • V1.0.10
  • Fix macOS deadlock on network change and menubar icon path

πŸ” Security & Verification

SHA256 Checksums

Verify the integrity of downloaded files using these checksums:

SHA256 checksums:

d940a5399309a03903c7ed76b28d9265997950044c79fcb744e0673b11ee03aa Hypo-1.0.10-release.apk
80f983905f79a7c6e94726e4002a399381ee716622606cfedd011fd0a793ec43 Hypo-1.0.10-release.zip

Full Changelog: 1.0.9...1.0.10

Release v1.0.9

21 Dec 23:55

Choose a tag to compare

Release v1.0.9

πŸ“¦ Downloads

πŸ“– Installation

For detailed installation instructions, see the User Guide.

🍎 macOS Installation

  1. Download and extract Hypo-1.0.9-release.zip
  2. Important: After extracting, you may see a "damaged" error when trying to open the app. This is due to macOS quarantine.

Quick Fix:

# Remove quarantine attribute
xattr -d com.apple.quarantine Hypo.app

# Then launch by right-clicking β†’ Open β†’ Open

You'll see a "cannot be verified" warning - this is normal for ad-hoc signed apps. Click Open to proceed.

Why this happens: macOS automatically adds a quarantine attribute to files downloaded from the internet. This is a security feature called Gatekeeper. Our app uses ad-hoc signing (free, no Apple Developer account required), so macOS requires manual approval on first launch.

πŸ€– Android Installation

  1. Download Hypo-1.0.9-release.apk to your Android device
  2. Open the APK file (you may need to enable "Install from unknown sources" in Settings)
  3. Follow the on-screen installation prompts
  4. Grant necessary permissions when prompted (clipboard access, network access, etc.)

Note: On MIUI/HyperOS devices, you may need to enable additional permissions in Settings β†’ Apps β†’ Hypo β†’ Other permissions.

πŸ†• What's New

✨ Features

  • Add image share context menu support
  • Remove applicationIdSuffix to enable database sharing

πŸ“¦ Other Changes

  • Update Cargo.lock for version 1.0.9
  • Bump version to 1.0.9

πŸ” Security & Verification

SHA256 Checksums

Verify the integrity of downloaded files using these checksums:

SHA256 checksums:

9084447709476032377436687c45c1066d535abcc7b5d7b882e1dc187c4aed6c Hypo-1.0.9-release.apk
85df42ddc1599933e318e45e60cf76f9a94071f3b526a1f1cce15031f185ea15 Hypo-1.0.9-release.zip

Full Changelog: v1.0.8...1.0.9

Release v1.0.8

21 Dec 04:35

Choose a tag to compare

Release v1.0.8

πŸ“¦ Downloads

πŸ“– Installation

For detailed installation instructions, see the User Guide.

🍎 macOS Installation

  1. Download and extract Hypo-1.0.8-release.zip
  2. Important: After extracting, you may see a "damaged" error when trying to open the app. This is due to macOS quarantine.

Quick Fix:

# Remove quarantine attribute
xattr -d com.apple.quarantine HypoApp.app

# Then launch by right-clicking β†’ Open β†’ Open

You'll see a "cannot be verified" warning - this is normal for ad-hoc signed apps. Click Open to proceed.

Why this happens: macOS automatically adds a quarantine attribute to files downloaded from the internet. This is a security feature called Gatekeeper. Our app uses ad-hoc signing (free, no Apple Developer account required), so macOS requires manual approval on first launch.

πŸ€– Android Installation

  1. Download Hypo-1.0.8-release.apk to your Android device
  2. Open the APK file (you may need to enable "Install from unknown sources" in Settings)
  3. Follow the on-screen installation prompts
  4. Grant necessary permissions when prompted (clipboard access, network access, etc.)

Note: On MIUI/HyperOS devices, you may need to enable additional permissions in Settings β†’ Apps β†’ Hypo β†’ Other permissions.

πŸ†• What's New

✨ Features

  • Implement 'Copy to Hypo' context menu service

πŸ› Bug Fixes

  • Add NSServices to GitHub Actions release build
  • Prevent pinned popup dismissal except with focused ESC

πŸ“¦ Other Changes

  • Bump version to 1.0.8

πŸ” Security & Verification

SHA256 Checksums

Verify the integrity of downloaded files using these checksums:

SHA256 checksums:

395a5a1cee128d7a776c975db4c52ed7e7952111de0bb2f7d6a9291ba9fcd5cf Hypo-1.0.8-release.apk
e46c47702b1ae1aa40652815d4aacfa82f88a2326aa8c179bb22bc3d12ecbded Hypo-1.0.8-release.zip

Full Changelog: 1.0.7...1.0.8

Release v1.0.7

15 Dec 22:08

Choose a tag to compare

Release v1.0.7

πŸ“¦ Downloads

πŸ“– Installation

For detailed installation instructions, see the User Guide.

🍎 macOS Installation

  1. Download and extract Hypo-1.0.7-release.zip
  2. Important: After extracting, you may see a "damaged" error when trying to open the app. This is due to macOS quarantine.

Quick Fix:

# Remove quarantine attribute
xattr -d com.apple.quarantine HypoApp.app

# Then launch by right-clicking β†’ Open β†’ Open

You'll see a "cannot be verified" warning - this is normal for ad-hoc signed apps. Click Open to proceed.

Why this happens: macOS automatically adds a quarantine attribute to files downloaded from the internet. This is a security feature called Gatekeeper. Our app uses ad-hoc signing (free, no Apple Developer account required), so macOS requires manual approval on first launch.

πŸ€– Android Installation

  1. Download Hypo-1.0.7-release.apk to your Android device
  2. Open the APK file (you may need to enable "Install from unknown sources" in Settings)
  3. Follow the on-screen installation prompts
  4. Grant necessary permissions when prompted (clipboard access, network access, etc.)

Note: On MIUI/HyperOS devices, you may need to enable additional permissions in Settings β†’ Apps β†’ Hypo β†’ Other permissions.

πŸ†• What's New

♻️ Refactoring

  • Enhance MainActor usage and update Sendable conformance comments
  • Improve macOS accessibility handling and code cleanup

πŸ“¦ Other Changes

  • Bump version to 1.0.7

πŸ” Security & Verification

SHA256 Checksums

Verify the integrity of downloaded files using these checksums:

SHA256 checksums:

e87028d486e6bf346474433680cba56fcb6bc14287904ddf2d7f33e7f4f19b72 Hypo-1.0.7-release.apk
c847e8600dd33e42ffbeb0860c9f02218a437dbcd7e3a1faa2072cc61b0d4609 Hypo-1.0.7-release.zip

Full Changelog: v1.0.6...1.0.7

Release v1.0.6

06 Dec 06:15

Choose a tag to compare

Release v1.0.6

πŸ“¦ Downloads

πŸ“– Installation

For detailed installation instructions, see the User Guide.

🍎 macOS Installation

  1. Download and extract Hypo-1.0.6-release.zip
  2. Important: After extracting, you may see a "damaged" error when trying to open the app. This is due to macOS quarantine.

Quick Fix:

# Remove quarantine attribute
xattr -d com.apple.quarantine HypoApp.app

# Then launch by right-clicking β†’ Open β†’ Open

You'll see a "cannot be verified" warning - this is normal for ad-hoc signed apps. Click Open to proceed.

Why this happens: macOS automatically adds a quarantine attribute to files downloaded from the internet. This is a security feature called Gatekeeper. Our app uses ad-hoc signing (free, no Apple Developer account required), so macOS requires manual approval on first launch.

πŸ€– Android Installation

  1. Download Hypo-1.0.6-release.apk to your Android device
  2. Open the APK file (you may need to enable "Install from unknown sources" in Settings)
  3. Follow the on-screen installation prompts
  4. Grant necessary permissions when prompted (clipboard access, network access, etc.)

Note: On MIUI/HyperOS devices, you may need to enable additional permissions in Settings β†’ Apps β†’ Hypo β†’ Other permissions.

πŸ†• What's New

✨ Features

  • V1.0.6 - Nonce reuse fix for dual-send transport

πŸ› Bug Fixes

  • MacOS build script and TransportManager compilation errors

♻️ Refactoring

  • Remove remaining redundant pairing logs
  • Prune excessive and redundant logs

πŸ” Security & Verification

SHA256 Checksums

Verify the integrity of downloaded files using these checksums:

SHA256 checksums:

1add9be5a1bdfa9d7f2800ae940925e3c5edafcf7d3853c38b97fb6f74c2b551 Hypo-1.0.6-release.apk
cb143fbb3bf5e65d2e36adf6af694d428fcfafde5ffd253001243cdfe0d6485e Hypo-1.0.6-release.zip

Release v1.0.5

05 Dec 08:38

Choose a tag to compare

Release v1.0.5

Downloads

  • Android: Hypo-1.0.5.apk
  • macOS: Hypo-1.0.5.zip

Installation

See INSTALLATION.md for detailed installation instructions.

macOS First Launch

Important: After downloading and extracting the macOS app, you may see a "damaged" error. This is due to macOS quarantine (see explanation below).

Quick Fix:

# Remove quarantine attribute
xattr -d com.apple.quarantine HypoApp.app

# Then launch by right-clicking β†’ Open β†’ Open

You'll see a "cannot be verified" warning - this is normal for ad-hoc signed apps. Click Open to proceed.

Why this happens: macOS automatically adds a quarantine attribute to files downloaded from the internet (via Safari, Chrome, curl, etc.). This is a security feature called Gatekeeper. The attribute is stored as an extended attribute () and contains metadata about where the file came from.

Important distinction: Our app IS signed (ad-hoc signature), but macOS treats ad-hoc signatures differently:

  • Ad-hoc signed + quarantined β†’ Shows "damaged" error (ad-hoc is not a trusted developer signature)
  • Developer ID signed + quarantined + not notarized β†’ Shows "cannot be verified" warning
  • Developer ID signed + notarized β†’ Opens normally

Why other projects don't show "damaged": They use Developer ID signatures ($99/year Apple Developer Program) and notarize their apps. This makes macOS trust them automatically. Since we use free ad-hoc signing (no $99/year Apple Developer account), macOS considers it "untrusted" when quarantined. Removing the quarantine attribute allows the app to run, but you'll still need to bypass the "cannot be verified" warning by right-clicking β†’ Open.

Changes

πŸ› Bug Fixes

  • Fix Swift 6 concurrency errors and compiler warnings

Checksums

SHA256 checksums:

f31cf6147a6666d53e8282b95eea499e917aa968a646927a74aa1754559b08a8 Hypo-1.0.5.apk
297bb995b488ab57af436f44b9e23f0bceee036090f83683946150cdd1d87789 Hypo-1.0.5.zip

Full Changelog: v1.0.5...1.0.5