Skip to content

release: 0.1.35 — SFTP path jump, perf & size pass, macOS universal build#61

Merged
thangnm93 merged 5 commits into
masterfrom
develop
Jun 11, 2026
Merged

release: 0.1.35 — SFTP path jump, perf & size pass, macOS universal build#61
thangnm93 merged 5 commits into
masterfrom
develop

Conversation

@thangnm93

@thangnm93 thangnm93 commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

Release PR for 0.1.35: SFTP breadcrumb path jump, a CPU/RAM/binary-size optimization pass, macOS universal (Intel + Apple Silicon) builds, plus a UTF-8 terminal-input fix and a Windows VS 2026 build fix.

Closes #62
Closes #63
Closes #64

Changes

  • SFTP path jump ([Feature] SFTP: allow typing a specific path to jump to a directory #62) — inline path editor on the shared PathBreadcrumb (edit icon → type path → Enter; Esc cancels) in both the remote SFTP panel and the local file panel; remote input normalized to absolute POSIX
  • macOS universal build ([Feature] macOS: support Intel Macs (universal binary) #64) — build.sh lipos both Rust dylib targets; release workflow renames artifacts to -macOS-universal and asserts both arches via lipo -archs; UpdateService matches the universal DMG on Intel (browser fallback against pre-universal releases) and prefers it on arm64
  • Perf / size pass ([Feature] Reduce CPU/RAM usage and binary size #63) — memoized compiled keyword-highlight rules in SettingsProvider; setActive equality guard; agent message build without double spreads; removed unused local_auth dep; dropped MesloLGS NF italic faces (−4.8 MB); --split-debug-info on all desktop release builds with per-platform symbols zips attached to each release
  • fix(ssh) — terminal input sent as UTF-8 instead of truncated UTF-16 code units (corrupted any character above U+00FF, e.g. Vietnamese)
  • fix(windows) — unblock build on VS 2026 MSVC (STL1011 coroutine error)

Type of change

  • feat — new feature
  • fix — bug fix
  • refactor / polish — no behavior change
  • docs — documentation only
  • test — tests only
  • release — version release to master

How was this tested?

  • cd app && flutter analyze — no new warnings
  • cd app && flutter test — all 1345 tests pass (new coverage: breadcrumb path editor; universal/pre-universal update-asset matching)
  • Manually verified on: macOS — universal slices are asserted by the new lipo -archs CI step on this release run; Intel hardware smoke test still pending

Screenshots

Minor inline UI change only (edit affordance + text field in the existing breadcrumb row); no screenshot attached.

Checklist

  • PR title follows Conventional Commits
  • Code and comments are written in English
  • New/changed behavior is covered by tests
  • No secrets, credentials, or personal data in the diff

Required when targeting master (release PRs)

  • CHANGELOG.md updated — [0.1.35] section exists (path jump + UTF-8 fix) but does not yet cover the perf/size pass and the macOS universal build
  • Version bumped in app/pubspec.yaml (0.1.35, bumped on develop — no further bump in this PR)
  • README.md / CLAUDE.md updated (universal artifact name, UpdateService behavior)
  • docs/roadmap.md updated (still says current version 0.1.34)
  • Wiki release notes prepared

MSVC 14.50+ hard-errors on <experimental/coroutine>, which
local_auth_windows pulls in via older C++/WinRT under C++17. Define
_SILENCE_EXPERIMENTAL_COROUTINE_DEPRECATION_WARNINGS at the top level
so it propagates to all plugin targets.
local_auth was never referenced in lib/ — removing it also takes the
local_auth_windows plugin out of the Windows build. The two italic
MesloLGS NF faces save 4.8 MB; the engine falls back to a synthetic
slant of the upright faces.
SettingsProvider.xtermKeywordRules compiles the enabled highlight rules
once per rules-list/flag change instead of recompiling every RegExp on
each terminal rebuild; the three terminal surfaces now share it. Also:
SessionProvider.setActive no-ops when re-clicking the active tab, and
the agent writer builds its frame in a single allocation.
Build all three platforms with --split-debug-info for a 20-30% smaller
AOT snapshot and attach the per-platform symbols zip to the release —
it's the only copy, needed to symbolicate crash stack traces via
flutter symbolize.
Intel Macs are now supported via a single universal artifact built on the
arm64 runner — no dependency on GitHub's flaky Intel runners.

- build.sh: build the Rust dylib for both darwin targets and lipo them
  into one universal libyourssh_rdp.dylib (Linux path unchanged)
- release workflow: rename macOS artifacts to -macOS-universal and add a
  lipo -archs assertion over the app binary and the dylib so an
  arm64-only artifact named universal can never ship
- UpdateService: arm64 prefers the universal DMG and falls back to the
  arm64-only name of older releases; Intel matches only the universal
  DMG and falls back to the browser against pre-universal releases
- README/CLAUDE.md updated for the new artifact name
@thangnm93 thangnm93 changed the title v0.1.35: SFTP path jump, perf & binary-size pass, macOS universal build release: 0.1.35 — SFTP path jump, perf & size pass, macOS universal build Jun 11, 2026
@thangnm93 thangnm93 merged commit bf19ca9 into master Jun 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant