- Track the foreground app without accessibility and close idle accessibility connections
- Fix setup failing to open Swipt
- Fix slow device list
- Fix screen-viewing notification dismissal
- Add CONTRIBUTING.md
- Fix leaked accessibility connections
- Check the API level against the last stable release
- Improve accessibility reads and taps
- Add HTTP APIs
- Restore missing localizations
- Detect loopback VPNs with IPv6 addresses
- Add swiplet API levels and an updates sheet
- Add Tailscale support
- Improve Cloudflare tunnel setup
- Preserve error causes
- Show that cellular data is unsupported in setup
- Recover automation from dropped device connections
- Update outdated Developer Disk Images
- Add basic vphone support
- Separate the app intents API and match the system dialogs
- Move graphics to Objective-C in cgo
- Fix setup failing while Swipt relaunches
- Share the install flow between sideload and dev
- Fix missing Developer Disk Image in IPA
- Share the bundle identifier between sideload and dev builds
- Preserve the swiplet order in swiplets.json
- Add sideload setup command
- Persist the simulated location
- Add the official swiplet repository
- Move preferredLocalizations to @swipt/api/localization
- Remove the expo-localization shim from extensions
- Add place search to swiplets
- Add expo-maps to swiplets
- Fix database change events firing before commit
- Close the screen feed sooner when idle
- Fix the swiplet runtime without the dev menu
- Fix element taps and their timeline events
- Fix updating Swipt on a locked device
- Print API URLs after sideloading
- Cache sideload downloads
- Re-provision when the signing certificate is revoked
- Add skills update workflow
- Build only what changed
- Localize the CLI
- Add CLI translations
- Move documentation to swipt.io
- Fix sideload masking device errors
- Clean up documentation content
- Imprve the pairing guide
- Fix pairing expiring in the background
- Fix swipt-server published to GitHub releases
- Localize the documentation
- Add initial documentation
- Add documentation site
- Open Settings when the developer is not trusted
- Reuse the ExpoModulesJSI build in the app
- Improve CI caching and reliability
- Only list sideloaded devices for update and uninstall
- Add sideload command
- Add app icon
- Update DeveloperDiskImage
- Add CLI REPL server
- Format with bun fmt
- Move simple development commands back to the Makefile
- Add golangci-lint and fix lint issues
- Fix the Swipt package versions in new projects
- Fix the missing installed build check
- Fix the REPL output format
- Fix expo-sqlite missing APIs
- Fix per-iteration let bindings in Swiplet interfaces
- Fix bad values from Swiplets crashing Swipt
- Build ExpoModulesCore from source
- Give Swiplet interfaces the web APIs of extensions
- Isolate Swiplet interfaces from each other
- Support import in the REPL
- Fix crypto.subtle missing algorithms
- Fix TextDecoder missing legacy encodings
- Load parts of the runtime on demand
- Fix web APIs that didn't follow their standards
- Remove the network APIs
- Remove expo-file-system
- Give each Swiplet and the REPL a cache directory
- Fix native bindings leaking to Swiplets
- Reduce the memory used by ASCII scripts
- Choose the install device by name or UDID
- Rework networking for Swiplets
- Update frontend dependencies
- Add SQLite support for Swiplets
- Fix the CI build
- Build and install the app with one command
- Organize the CLI by what each command operates on
- Make the SDK usable without helper scripts
- Refactor onboarding UI
- Add swiplet info, reordering and database tables
- Hold taps for a millisecond and drop the hold option and the rest after drags
- Add accessibility.tap, which taps an element once a tap would reach it
- Retry a launch when the previous process is still exiting
- Reopen the swiplet behind an error notification and give interfaces reportError
- Localize the App Shortcuts phrases with strings files
- Skip screen probes while the region keeps changing and trace recording.find
- Recognize text at the density its minimum height needs
- Fix touch moves dropped by the device
- Share one downscaled frame between screen comparisons
- Keep the input connection when unlocking an unlocked device
- Keep the screen geometry while its orientation holds
- Tell the foreground app from the device's process states
- Trace screen matching, input and the screen feed
- Give the REPL a data directory
- Find matches in screen recordings
- Localize the app and swiplets
- Add screen.find
- Align recording frames with the event clock
- Recognize text in the device languages by default
- Use the Remote Desktop mode for the screen feed
- Cache the lock state for input
- Replace accessibility locators with find and element actions
- Add README
- Report swiplet interface errors and logs
- Fix the swiplet archive layout
- Use a standard alert to confirm swiplet deletion
- Support worklets in swiplet interfaces
- Rebuild the runtime bundle when shared sources change
- Apply Metro transforms in swiplet builds
- Improve CI caching
- Show swiplet interfaces full screen and snapshot the front app by default
- Fix the publish check ignoring the CLI
- Refactor the CLI
- Import swiplets only as .swiplet files and simplify the swiplet list
- Merge the Go CLI into the npm CLI
- Describe sources in package.json
- Publish packages only when they change
- Localize repository names
- Align repository rows with the add row
- Fix URL fields
- Add repository icons
- Put Add Repository first
- Copy the license when publishing
- List swiplets relative to the source by default
- Add swiplet repositories
- Fix nightly package publishing
- Add .swiplet files and the npm API packages
- Restructure swiplet SDK and add shared file system API
- Fix loopback VPN prompt
- Move protobuf to internal/proto
- Add swiplet
- Separate local and Cloudflare MCP servers
- Fix setText not registering as an edit in text views
- Add Cloudflare tunnel for MCP server
- Replace slog with sing logger
- Fix workflow file list paths
- Move workflow editor bar to keyboard accessory
- Advertise MCP server via Bonjour and show local host name
- Move automatic unlock to its own page and apply changes live
- Simplify server start and stop with MCP
- Init commit