<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://personaldevicebridge.com/changelog.xml</id>
  <title>Personal Device Bridge — Changelog</title>
  <link rel="self" type="application/atom+xml" href="https://personaldevicebridge.com/changelog.xml"/>
  <link rel="alternate" type="text/html" href="https://personaldevicebridge.com/en/changelog/"/>
  <updated>2026-09-28T00:00:00+09:00</updated>
  <author><name>Project Team For You</name><email>projectteamforyou@gmail.com</email></author>
  <entry>
    <id>https://personaldevicebridge.com/en/changelog/#v0-4-0</id>
    <title>v0.4.0</title>
    <link rel="alternate" type="text/html" href="https://personaldevicebridge.com/en/changelog/#v0-4-0"/>
    <updated>2026-09-28T00:00:00+09:00</updated>
    <content type="html">&lt;p&gt;Twenty parallel workstreams, merged and verified together (reports in &lt;code&gt;docs/work/&lt;/code&gt;).&lt;/p&gt;&lt;h3&gt;Added&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;PC app in 12 languages&lt;/strong&gt; with automatic OS-language detection, a first-run setup guide (install the phone app by QR → pair → permissions), and tray/notification text in every language.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Design system (PC app)&lt;/strong&gt;: light/dark/system theme, consistent components, full keyboard navigation, WCAG AA contrast, reduced motion.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Productivity (PC app)&lt;/strong&gt;: transfer history (search, filters, open/reveal, resend; stored only on this PC, auto-pruned after 180 days / 1,000 entries), command palette (Ctrl/⌘+K), drop files anywhere to send, tray menu with recent devices, native notifications with actions, configurable “send clipboard” shortcut.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Automatic updates&lt;/strong&gt;: signed desktop updates (Tauri updater, verified before install; can be turned off) and an update prompt in the Android app downloaded from the website (SHA-256 verified).&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Android&lt;/strong&gt;: received photos/videos go to Pictures and other files to Download (MediaStore), open/share from the notification, background receiving that survives process death and network changes, a send queue that survives restarts, battery-optimization guidance; redesigned UI (Material 3, dynamic colour, tablets/foldables, TalkBack); all 12 languages with per-app language; Quick Settings tiles, a home-screen widget and Direct Share to your PCs.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Rich clipboard&lt;/strong&gt;: images (PNG) and formatted text (HTML with plain-text fallback) between devices, negotiated with older peers; content marked sensitive by password managers is never read or sent.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;USB connection&lt;/strong&gt; via adb forward/reverse (auto-detected when a phone is plugged in).&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Faster transfers&lt;/strong&gt;: parallel lanes, pipelined disk I/O and optional zstd compression — TCP 1 GiB 190 → 332 MiB/s, compressible text over a 100 Mbit/s link about 2×.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Windows printing without extra apps&lt;/strong&gt; (Windows.Data.Pdf) and &lt;strong&gt;Wayland remote input&lt;/strong&gt; (xdg-desktop-portal).&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Browser extension&lt;/strong&gt;: Firefox alongside Chrome/Edge, context menus, shortcuts, redesigned popup/options, 12 languages, continue media position and PDF page on another device.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;CLI&lt;/strong&gt;: &lt;code&gt;pdb doctor&lt;/code&gt; (diagnoses agent, firewall, mDNS, rendezvous, TURN, clock, disk, permissions with fixes), shell completions, man page, &lt;code&gt;--json&lt;/code&gt; everywhere, progress bars, suggestions for mistyped commands.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SDKs&lt;/strong&gt;: complete typed TypeScript/Python coverage of the public agent API, reconnect/backoff, events, examples, package metadata, and a new Go SDK (not yet published).&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Packages&lt;/strong&gt;: Linux .deb/.rpm/AppImage, macOS universal build (unsigned), winget and Scoop manifests.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Website&lt;/strong&gt;: help center (40 articles × 12 languages, private in-browser search), honest comparison table with sources, changelog pages, performance section; Lighthouse-tuned.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Security and reliability&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Pre-authentication crash in the TCP/USB multiplexer via an oversized credit window (High) fixed; pairing handshake timeout (slowloris); peer-supplied device names sanitized (control, bidi and zero-width characters); bounded receive pre-allocation; new fuzz targets and property tests.&lt;/li&gt;&lt;li&gt;Rendezvous service: per-IP/per-pair rate limits, request size limits, private JSON logs, metrics, graceful shutdown, versioned migrations, mailbox cleanup.&lt;/li&gt;&lt;li&gt;Network chaos tests (loss, latency, bandwidth, partitions, peer restarts) found and fixed two bugs: a race when both devices connect at once and silent loss under a stream flood.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Privacy&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Privacy policy (12 languages, effective 2026-09-28) covers update checks, the local transfer history, where Android saves received files and the website visit counter.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <id>https://personaldevicebridge.com/en/changelog/#v0-3-4</id>
    <title>v0.3.4</title>
    <link rel="alternate" type="text/html" href="https://personaldevicebridge.com/en/changelog/#v0-3-4"/>
    <updated>2026-09-26T00:00:00+09:00</updated>
    <content type="html">&lt;h3&gt;Added&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;AI assistant (PC app)&lt;/strong&gt; — bring your own AI. Connect any of 18 providers with your own API key — ChatGPT (OpenAI), Claude (Anthropic), Gemini, Grok, Mistral, DeepSeek, Qwen, Kimi, GLM, Doubao, ERNIE, MiniMax, Perplexity, Groq, Solar (Upstage), OpenRouter, Ollama on this PC, or any OpenAI-compatible server — ask up to four at once and compare the streamed answers side by side. Attach documents (HWP, Office, PDF, text) or the clipboard. Or open 15 AI web apps you are already signed in to (ChatGPT, Claude, Gemini, Grok, Copilot, Perplexity, Le Chat, DeepSeek, Qwen, Kimi, Doubao, ERNIE, Z.ai, CLOVA X, Wrtn) in an app window that keeps its login or in your browser. Prompts and answers go directly between the PC and the chosen provider; API keys stay in the OS credential store.&lt;/li&gt;&lt;li&gt;Website: the feature on the landing page and in the privacy policy (Article 15), in all 12 languages.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <id>https://personaldevicebridge.com/en/changelog/#hosted-20260925</id>
    <title>Hosted services (live 2026-09-25 – 2026-09-26, no app update needed)</title>
    <link rel="alternate" type="text/html" href="https://personaldevicebridge.com/en/changelog/#hosted-20260925"/>
    <updated>2026-09-26T00:00:00+09:00</updated>
    <content type="html">&lt;h3&gt;Security&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;TURN credential budget&lt;/strong&gt; (reported by Krishu): &lt;code&gt;GET /v1/turn&lt;/code&gt; on the hosted rendezvous proxy issued Cloudflare TURN credentials without any limit. Credentials are now issued only within a per-client-IP budget (20, refilled over an hour) and a service-wide daily cap, checked by the rendezvous service in memory (no IP is stored or logged). Browsers may request credentials only from personaldevicebridge.com (the share-link receiver, which now also gets the CORS header it needed). No user data was exposed: relayed traffic is end-to-end encrypted.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Signed client addresses&lt;/strong&gt; (found in our own follow-up review): the rendezvous service trusted &lt;code&gt;X-PDB-Client-IP&lt;/code&gt; from any Cloudflare address, so another Cloudflare Worker could pose as unlimited clients and bypass every per-IP limit. Our proxy now signs the address with an Ed25519 key (&lt;code&gt;PDB_PROXY_PUBKEY&lt;/code&gt; on the service); unsigned, stale or mismatched values are ignored.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Admin assets behind Cloudflare Access&lt;/strong&gt; (reported 2026-09-26): &lt;code&gt;/admin%2fadmin.js&lt;/code&gt; (an encoded slash) was not matched by the Access policy for &lt;code&gt;/admin/*&lt;/code&gt; but was served by the static router, exposing the admin dashboard&amp;#39;s JavaScript and CSS (no data, no credentials; &lt;code&gt;/api/admin/*&lt;/code&gt; stayed protected). The site now refuses any path with an encoded &lt;code&gt;/&lt;/code&gt; or &lt;code&gt;\&lt;/code&gt; (HTTP 400) before anything else runs, and admin responses are never cached.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <id>https://personaldevicebridge.com/en/changelog/#v0-3-3</id>
    <title>v0.3.3</title>
    <link rel="alternate" type="text/html" href="https://personaldevicebridge.com/en/changelog/#v0-3-3"/>
    <updated>2026-09-25T00:00:00+09:00</updated>
    <content type="html">&lt;h3&gt;Added&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;32-bit Android phones&lt;/strong&gt;: the APK now also carries the armeabi-v7a core, so Android 8.0+ phones with a 32-bit system (many 2017–2019 budget models) can install it. The APK is larger as a result.&lt;/li&gt;&lt;li&gt;Website: a System requirements section and an updated platforms FAQ in all 12 languages.&lt;/li&gt;&lt;li&gt;Website: a step-by-step Android install guide (Google Play coming soon), in all 12 languages.&lt;/li&gt;&lt;li&gt;Android targets API 36 (Android 16); releases also build an AAB and can upload it to Google Play.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <id>https://personaldevicebridge.com/en/changelog/#v0-3-2</id>
    <title>v0.3.2</title>
    <link rel="alternate" type="text/html" href="https://personaldevicebridge.com/en/changelog/#v0-3-2"/>
    <updated>2026-09-25T00:00:00+09:00</updated>
    <content type="html">&lt;h3&gt;Changed&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Android APK is now a release build signed with one fixed key&lt;/strong&gt; (&lt;code&gt;PersonalDeviceBridge-&amp;lt;v&amp;gt;-android.apk&lt;/code&gt;), so later versions install over it. Earlier test APKs were debug-signed with a new key each build: uninstall the old app once before installing this one.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Windows portable ZIP contains the desktop app&lt;/strong&gt; (&lt;code&gt;…-windows-x64-portable.zip&lt;/code&gt;, signed exe, no installer); the command-line tool is &lt;code&gt;…-windows-x64-cli.zip&lt;/code&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Fixed&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Website: the offline page now shows when a page is opened without a connection (the service worker cached a URL that Cloudflare redirects); the contact e-mail is no longer rewritten by Cloudflare; Cloudflare no longer injects its analytics beacon (pages are sent with &lt;code&gt;Cache-Control: no-transform&lt;/code&gt;).&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <id>https://personaldevicebridge.com/en/changelog/#v0-3-1</id>
    <title>v0.3.1</title>
    <link rel="alternate" type="text/html" href="https://personaldevicebridge.com/en/changelog/#v0-3-1"/>
    <updated>2026-09-25T00:00:00+09:00</updated>
    <content type="html">&lt;h3&gt;Added&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Desktop: Send by link&lt;/strong&gt; — pick a file, choose 1 hour / 24 hours / 7 days, and a one-time link for someone without the app is copied; the page shows waiting, sending and delivered states and can cancel a link.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Desktop: cancel a send&lt;/strong&gt; from the transfer list.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Android: Folder sync&lt;/strong&gt; screen (add folders by the PC&amp;#39;s folder name, sync now, add/open/share files) and &lt;strong&gt;rename a paired device&lt;/strong&gt;; “Folder sync” is now among the per-PC permissions on the phone.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Public downloads&lt;/strong&gt; on https://personaldevicebridge.com (Cloudflare R2) with anonymous download totals on the landing page; each release is copied there automatically.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Changed&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Desktop: Folder sync and Screen-edge crossing have their own sidebar pages; Settings keeps General, File sharing, Security and About. Welcome, pairing and empty-state texts read on one line; the edge tips reflect that shortcuts and F1–F12 are forwarded.&lt;/li&gt;&lt;li&gt;Website: one-line section intros and share row on desktop; no more tester-only wording.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <id>https://personaldevicebridge.com/en/changelog/#v0-3-0</id>
    <title>v0.3.0</title>
    <link rel="alternate" type="text/html" href="https://personaldevicebridge.com/en/changelog/#v0-3-0"/>
    <updated>2026-09-24T00:00:00+09:00</updated>
    <content type="html">&lt;h3&gt;Added&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Shortcuts across screens&lt;/strong&gt;: screen-edge crossing and remote input carry key combinations (Ctrl/Alt/Shift/Win + letter, digit, punctuation or named key, e.g. Ctrl+C/V/Z, Win+E, Shift+arrows, Alt+F4) and F1–F12; modifiers are always released on the target.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;TURN relay live&lt;/strong&gt;: &lt;code&gt;/v1/turn&lt;/code&gt; issues one-hour Cloudflare TURN credentials; the deploy workflow verifies a relay-only WebRTC round trip in Chromium. The website now lists the relay as available.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Desktop UI for the moat features&lt;/strong&gt; (Korean/English, light/dark): &lt;em&gt;Find&lt;/em&gt; (ring + locate with an OpenStreetMap link) and &lt;em&gt;Lock&lt;/em&gt; on the device page; photo-backup card (backup folder, last backup, back up a local folder); folder-sync card and Settings list (versions kept 30 days in &lt;code&gt;.pdb-versions&lt;/code&gt;); 공동인증서 move with confirmation and a consent dialog that shows the certificate detail; &lt;em&gt;Search&lt;/em&gt; page across this PC and connected devices (grouped, highlighted, download / show in folder); &lt;em&gt;Snippets &amp;amp; clipboard&lt;/em&gt; page (search, copy, send to a device&amp;#39;s clipboard, sync; memory-only received-clipboard history); &lt;em&gt;Phone notifications&lt;/em&gt; panel with inline reply; HWP / HWPX / Office document preview for received files; &amp;quot;Use as webcam in other apps&amp;quot; (loopback MJPEG URL + OBS steps); walk-away lock; organisation section (&amp;quot;Managed by …&amp;quot;, policy summary, team enroll / apply / leave, audit log with intact/tampered verification); joining the phone&amp;#39;s hotspot; &lt;code&gt;.hwp&lt;/code&gt;/&lt;code&gt;.hwpx&lt;/code&gt; in the print picker. Settings are grouped in tabs; the sidebar gained a &amp;quot;Tools&amp;quot; section.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Screen-edge crossing on Windows&lt;/strong&gt; (&lt;code&gt;apps/desktop/src-tauri/src/edge.rs&lt;/code&gt;, &lt;code&gt;rdev&lt;/code&gt; hook): push the pointer off a chosen edge to control the next PC over an approved remote-input session; Scroll Lock or Ctrl+Alt+Backspace returns control instantly; a live indicator shows while it is on.&lt;/li&gt;&lt;li&gt;Desktop integrations: &lt;code&gt;OsCertStore&lt;/code&gt;, &lt;code&gt;SystemLock&lt;/code&gt;, desktop &amp;quot;Find my device&amp;quot; (attention sound + notification), photo backups into &lt;code&gt;&amp;lt;Pictures&amp;gt;/Personal Bridge Backup&lt;/code&gt;; &lt;code&gt;reveal_path&lt;/code&gt; / &lt;code&gt;desktop_info&lt;/code&gt; Tauri commands.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Browser extension&lt;/strong&gt; for Chrome and Edge (Manifest V3, &lt;code&gt;apps/browser-extension&lt;/code&gt;): right-click a page, link, image or selected text → &lt;em&gt;Send to device&lt;/em&gt;; toolbar popup with paired devices and online state, &lt;em&gt;Send this tab&lt;/em&gt;, &lt;em&gt;Continue on …&lt;/em&gt; and &lt;em&gt;Send clipboard text&lt;/em&gt;; &lt;code&gt;Alt+Shift+S&lt;/code&gt; sends the tab to the last used device. English/Korean, light/dark. Talks only to the local app; no server, no analytics. See &lt;code&gt;docs/BROWSER_EXTENSION.md&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;code&gt;pdb native-host&lt;/code&gt;&lt;/strong&gt;: native messaging host (4-byte little-endian length + JSON, 1 MiB limit) that forwards an allow-list — list devices, send URL, send text, continue — to the running agent over IPC, with strict validation (http/https URLs only, text ≤ 64 KiB, full ids of paired devices only). Browsers start it as &lt;code&gt;pdb chrome-extension://&amp;lt;id&amp;gt;/&lt;/code&gt;. Per-user installers: &lt;code&gt;install-windows.ps1&lt;/code&gt; / &lt;code&gt;uninstall-windows.ps1&lt;/code&gt; (HKCU keys for Chrome and Edge, manifest next to &lt;code&gt;pdb.exe&lt;/code&gt;) and &lt;code&gt;install-linux.sh&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Local developer SDK&lt;/strong&gt; (moat #16): third-party apps and scripts can list the user&amp;#39;s devices, send files, links, text, &amp;quot;continue&amp;quot; and My Drop items, and receive events through the per-user agent — never touching the network.&lt;ul&gt;&lt;li&gt;&lt;code&gt;docs/API.md&lt;/code&gt;: versioned reference of the agent IPC (endpoint and token discovery per OS, JSON-lines framing, every public v1 request and push event, stability rules, security notes). Pairing, pairing/consent approval, grants, remote input, camera and trust-store changes are internal and not part of the SDK surface.&lt;/li&gt;&lt;li&gt;&lt;code&gt;sdk/typescript&lt;/code&gt; — &lt;code&gt;@personaldevicebridge/sdk&lt;/code&gt; (ESM + types, zero runtime dependencies, Node ≥ 18): typed client, async-iterator/EventEmitter events, timeouts and cancellation, &lt;code&gt;connectWithRetry&lt;/code&gt;/&lt;code&gt;watchEvents&lt;/code&gt;, error classes; &lt;code&gt;node:test&lt;/code&gt; suite against a mock agent plus an end-to-end test with two real &lt;code&gt;pdb&lt;/code&gt; nodes.&lt;/li&gt;&lt;li&gt;&lt;code&gt;sdk/python&lt;/code&gt; — &lt;code&gt;personaldevicebridge&lt;/code&gt; (stdlib only, Python ≥ 3.9): blocking &lt;code&gt;Client&lt;/code&gt; and asyncio &lt;code&gt;AsyncClient&lt;/code&gt; with the same surface; &lt;code&gt;unittest&lt;/code&gt; suite (mock agent + real-agent end-to-end).&lt;/li&gt;&lt;li&gt;&lt;code&gt;sdk/examples&lt;/code&gt;: send to a named device, watch incoming items (Node and Python), PowerShell via the CLI.&lt;/li&gt;&lt;li&gt;CI: &lt;code&gt;.github/workflows/sdk.yml&lt;/code&gt; runs both SDK suites on Ubuntu and Windows, and end-to-end against &lt;code&gt;pdb&lt;/code&gt; built from the same commit.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Vulnerability disclosure and bug bounty programme&lt;/strong&gt;: root &lt;code&gt;SECURITY.md&lt;/code&gt; (scope, safe harbour, 72 h acknowledgement / 7-day triage / severity-based fix targets, discretionary CVSS-based rewards in KRW, 90-day coordinated disclosure) and a new website page &lt;code&gt;/{lang}/security/&lt;/code&gt; in all 12 languages (encryption design in plain words, honest audit status, verification of downloads, hall of fame), linked from the footer, sitemap, hreflang and &lt;code&gt;/.well-known/security.txt&lt;/code&gt; (&lt;code&gt;Policy:&lt;/code&gt;, &lt;code&gt;Acknowledgments:&lt;/code&gt;).&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Reproducible Linux CLI builds&lt;/strong&gt;: &lt;code&gt;scripts/repro-build.sh&lt;/code&gt; and the &lt;code&gt;reproducible&lt;/code&gt; workflow, which builds &lt;code&gt;pdb&lt;/code&gt; twice as different users in different directories and fails unless the SHA-256 match; the release uses the same recipe and ships &lt;code&gt;BUILDINFO&lt;/code&gt;. Verification guide: &lt;code&gt;docs/REPRODUCIBLE_BUILDS.md&lt;/code&gt; (bash and PowerShell).&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Release provenance&lt;/strong&gt;: &lt;code&gt;SHA256SUMS&lt;/code&gt; for all release assets and Sigstore/SLSA build-provenance attestations (&lt;code&gt;actions/attest-build-provenance&lt;/code&gt;) in the publish job.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Fuzzing&lt;/strong&gt;: cargo-fuzz targets in &lt;code&gt;fuzz/&lt;/code&gt; for the protocol envelope and framing, pairing links, peer payloads, discovery beacons and received file names; weekly &lt;code&gt;fuzz&lt;/code&gt; workflow (nightly, 60 s per target).&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Android: moats on the phone&lt;/strong&gt; (Kotlin bindings regenerated from &lt;code&gt;crates/ffi&lt;/code&gt;; see &lt;code&gt;apps/android/README.md&lt;/code&gt;):&lt;ul&gt;&lt;li&gt;Home actions per PC: &lt;em&gt;Lock PC&lt;/em&gt;, &lt;em&gt;Find&lt;/em&gt; (ring and/or locate, result with an OpenStreetMap link) and &lt;em&gt;Search&lt;/em&gt; across the shared folders of every connected PC (grouped by device, snippets, download → open / share / save to Downloads).&lt;/li&gt;&lt;li&gt;&lt;em&gt;공동인증서&lt;/em&gt; screen: the certificates this app keeps, expiry, and &lt;em&gt;Send to PC&lt;/em&gt; after a confirmation (installed path / already there / older copy moved aside). Receiving asks with the holder · CA · expiry detail.&lt;/li&gt;&lt;li&gt;&lt;em&gt;Photo backup&lt;/em&gt; of DCIM and Pictures to a chosen PC with live progress and the final report, plus an optional automatic backup when charging on Wi-Fi (WorkManager; retries later when the PC is offline).&lt;/li&gt;&lt;li&gt;&lt;em&gt;Snippets&lt;/em&gt;: add, edit, delete, copy, send to the PC clipboard, sync with PCs.&lt;/li&gt;&lt;li&gt;&lt;em&gt;Scan document&lt;/em&gt;: ML Kit document scanner → PDF + on-device Korean/Latin OCR &lt;code&gt;.txt&lt;/code&gt; (&lt;code&gt;스캔_YYYYMMDD_HHMMSS&lt;/code&gt;), sent to a PC.&lt;/li&gt;&lt;li&gt;&lt;em&gt;Connect without Wi-Fi&lt;/em&gt;: local-only hotspot with the network name, password and a Wi-Fi QR code for the desktop app or &lt;code&gt;pdb hotspot &amp;quot;WIFI:…&amp;quot;&lt;/code&gt;; stops when the screen is left.&lt;/li&gt;&lt;li&gt;&lt;em&gt;Find my phone&lt;/em&gt;: a PC the user allowed can ring the phone at full alarm volume (even on silent; full-screen alert with Stop) and get its location (foreground service only, no background-location permission).&lt;/li&gt;&lt;li&gt;Notification mirroring sends the notification key and whether it can be answered; allowed PCs can reply through the app&amp;#39;s own reply action.&lt;/li&gt;&lt;li&gt;&lt;em&gt;What this PC may do on this phone&lt;/em&gt;: per-PC switches for find, replies, certificates, snippets and camera (all off by default in the core).&lt;/li&gt;&lt;li&gt;Manifest: location + &lt;code&gt;FOREGROUND_SERVICE_LOCATION&lt;/code&gt; (service type &lt;code&gt;dataSync|location&lt;/code&gt;), &lt;code&gt;USE_FULL_SCREEN_INTENT&lt;/code&gt;, media read permissions, &lt;code&gt;NEARBY_WIFI_DEVICES&lt;/code&gt; (&lt;code&gt;neverForLocation&lt;/code&gt;), &lt;code&gt;CHANGE_WIFI_STATE&lt;/code&gt;, a FileProvider for open/share.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Fixed&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Receivers ignore unknown remote-input event types from newer peers instead of ending the session.&lt;/li&gt;&lt;li&gt;The deploy workflow read the wrong field of Cloudflare&amp;#39;s TURN key response and left orphan keys.&lt;/li&gt;&lt;li&gt;Folder sync refuses a folder that contains or sits inside the app&amp;#39;s own data (seen on Windows, where &lt;code&gt;Sync&lt;/code&gt; and &lt;code&gt;sync&lt;/code&gt; are the same folder).&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <id>https://personaldevicebridge.com/en/changelog/#v0-2-0</id>
    <title>v0.2.0</title>
    <link rel="alternate" type="text/html" href="https://personaldevicebridge.com/en/changelog/#v0-2-0"/>
    <updated>2026-09-24T00:00:00+09:00</updated>
    <content type="html">&lt;h3&gt;Added&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;SmartPrint&lt;/strong&gt; (&lt;code&gt;pdb-print&lt;/code&gt;): list a device&amp;#39;s printers with a recommendation and print PDF/PNG/JPEG/text there (CUPS &lt;code&gt;lp&lt;/code&gt;; Windows via SumatraPDF or shell print paths, with an honest applied/ignored report). CLI &lt;code&gt;pdb printers&lt;/code&gt; / &lt;code&gt;pdb print&lt;/code&gt;, desktop card, Android &amp;quot;Print on PC&amp;quot;. Real-CUPS end-to-end test in CI.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Internet P2P&lt;/strong&gt; (ADR-0006): WebRTC data-channel transport (conformance-tested) and the rendezvous service (&lt;code&gt;services/rendezvous&lt;/code&gt;, Railway + PostgreSQL) with per-pair, end-to-end encrypted mailboxes. &lt;code&gt;PDB_RENDEZVOUS=off&lt;/code&gt; keeps everything on the LAN.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Extended capabilities&lt;/strong&gt; (&lt;code&gt;pdb-extended&lt;/code&gt;), all default-deny: read-only file browser for shared folders, notification mirroring with per-app privacy on the phone, phone as touchpad/keyboard for the PC, and phone camera viewing — remote input and camera require consent every session and show an indicator with Stop. CLI &lt;code&gt;pdb share&lt;/code&gt; / &lt;code&gt;browse&lt;/code&gt; / &lt;code&gt;fetch&lt;/code&gt; / &lt;code&gt;notify&lt;/code&gt;; desktop and Android UIs.&lt;/li&gt;&lt;li&gt;Privacy policy (12 languages) describes the rendezvous service; website copy updated.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <id>https://personaldevicebridge.com/en/changelog/#v0-1-0</id>
    <title>v0.1.0</title>
    <link rel="alternate" type="text/html" href="https://personaldevicebridge.com/en/changelog/#v0-1-0"/>
    <updated>2026-09-24T00:00:00+09:00</updated>
    <content type="html">&lt;h3&gt;Added&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Per-user background agent with owner-only IPC (ADR-0005); CLI and desktop share one node; start at sign-in.&lt;/li&gt;&lt;li&gt;Explorer &amp;quot;Send to&amp;quot; and right-click &amp;quot;Send with Personal Bridge&amp;quot;, global shortcut Ctrl+Shift+B, single instance.&lt;/li&gt;&lt;li&gt;&lt;code&gt;FILE_SMALL&lt;/code&gt; fast path, batched durability (10 000 × 4 KiB ≈ 3.9 s), &lt;code&gt;PAIR_DONE&lt;/code&gt; pairing completion.&lt;/li&gt;&lt;li&gt;Dependency upgrades: snow 0.10, rand 0.10, mdns-sd 0.21, socket2 0.6, if-addrs 0.15, rcgen 0.14.&lt;/li&gt;&lt;li&gt;Signed Windows binaries and installers (Azure Artifact Signing), Linux build, Android test APK.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
</feed>
