v0.4.0
v0.4.0 — a friend's library beside your own, and a picture that declares what it is
Until now this app browsed exactly one server: the first one your account owns that answered on your own network. This release uses the whole list your Plex account has — the servers you own and the ones friends have shared with you — puts them side by side on Home and in the library list, and adds a Search screen the television's own keyboard types into. It also tells the television when a file is Dolby Vision or Dolby Atmos, which it never did before, and it closes a way of getting past a profile's PIN.
If a PIN protects a profile on your television: install this one
A PIN on a Plex Home profile could be skipped at the television's who's-watching screen. From the boot picker, pressing BACK entered the app as whoever was signed in last — no code typed. In the ordinary arrangement the protected profile is the adult's, so this handed a child the adult's library, its watch history and its unrestricted content.
v0.1.0, v0.2.0, v0.2.1 and v0.3.0 are all affected. This release is not. Nothing left the television and no credential was exposed to anyone off it; what was wrong is who the app let in at its own front door.
What to do: install this release. There is nothing to rotate and nothing to sign out of, and your profiles and PINs on plex.tv were never involved.
What is fixed, and what is not: BACK at the boot picker now refuses to resume a protected profile, and the second road to the same place — a picker raised over no profile at all — is closed with it. BACK still resumes silently from the change-profile picker and from the picker inside sign-in, deliberately: in both of those the person holding the remote has just identified themselves. Plex's own parental controls are the server's and are untouched by any of this.
Before you use a server that is not on your own network
This app talks to your Plex server in plain text, with your access token in the address. That token is a password to that server: anyone who can see the traffic can browse and stream that library. Sign-in to your Plex account uses an encrypted connection; the traffic to a media server does not, and never has.
What changes here is where that traffic goes. v0.3.0 and earlier only ever dialled an address on your own network, so it stayed there. This is the first release that will reach a server over the internet — and that is normally how a friend's shared server is reached, because the address a share advertises is a public one.
What to do: if your own server is on the same network as the television, nothing changes for you — that address is still preferred and still used. If you use a library a friend has shared, treat it as you would any unencrypted connection over the internet, and share only with people and networks you are comfortable with. There is no setting for this yet.
What is fixed, and what is not: nothing here is a leak that has already happened, and no earlier release is affected — this is a new reach, disclosed because it is new. Encrypted connections to a media server are not implemented at all, which is also why servers that require them still cannot be reached.
What's new
- A friend's library, beside your own. The app asks your Plex account for every server it can reach rather than stopping at the first one it recognised, and holds them all at once. Each is a separate authority with its own access grant, so a shared server is browsed with the access your friend gave you and nothing else. Home is a merge of every source, and a shelf that came from somebody else's server says whose it is beside its title. The library list holds their libraries next to yours, with a Source control for narrowing to one. An item page tells you whose copy you are looking at, and where the same film exists on more than one of your servers it offers the other copies as a list you can walk into. Playing an item goes to the server it came from, and so does marking it watched.
- A server that does not answer is reported as a source that failed, naming whose it is, instead of taking Home down with it or spinning forever.
- Search, as the strip's last pill. The television's own keyboard types into it, results come back grouped by kind — films, shows, episodes, people, collections — and every server you can reach is searched at once, so one query covers your library and a friend's together. A person found in both is folded into one result rather than listed twice. Recent searches are offered when the field is empty.
- Dolby Vision and Dolby Atmos are declared to the television. The app reads the Dolby Vision configuration record out of the container and tells the pipeline what the stream is. It never did before: every file went down as ordinary HEVC, which is why a Profile 5 file played in visibly wrong colours — its base layer is not meant to be shown as-is, and nothing had said so. A Profile 5 file whose base layer cannot stand on its own is now refused for direct play rather than shown wrongly, and so are the enhancement-layer profiles this pipeline has no way to feed. Dolby Atmos is the audio half of the same envelope, forwarded the way LG's own applications do it.
- A single material under the whole interface. The top bar, the menus, the popovers and the panels are drawn on one glass material that samples the page behind them, instead of each surface choosing its own weights and drifting from its neighbours. Four kinds of panel arrived with it: the app's one decision alert, an About sheet, a person's full biography, and a file inspector showing what a title's video and audio tracks actually are. Press and hold on any card opens its context menu.
What is not known about Dolby Vision: nobody has watched a television's own Dolby Vision indicator come on. What has been seen on the developer's set is the layer below that — the pipeline accepting the declaration, and its display-management stage running through a film without missing a lookup. That is good evidence and it is not the same claim, so it is not made here.
Fixed
- A PIN on a profile could be skipped at the who's-watching screen. Above — it is a thing the release completes rather than a thing you do, so the whole of it is up there.
- A Dolby Vision film played in the wrong colours. Nothing told the television the stream was Dolby Vision, so a Profile 5 file went down as ordinary HEVC and its base layer was shown raw.
- Marking something watched went to whichever server you happened to be browsing. It goes to the item's own server now — and where more than one of your servers holds the same title, to every one of them, so the mark does not come back the next time you open the other copy.
- Stopping playback always returned to Home, whatever page you had started it from.
- A resume bar and a "1 min left" caption on something you had finished. Two copies of the same in-progress rule had drifted apart, and the grid read both in one pass.
- The Home hero offered "Continue" and then played from the beginning. The label accepted any saved position while the press refused one under ten seconds or past 95%.
- A library page that failed to load spun forever with nothing on screen admitting it. A failed page is a state now, and an empty answer is not treated as a failure.
- The app could exit with no message at all. A shader that failed to compile printed to a file the event log is not, and then quit — so it vanished leaving no line and no crash. A refused detail fetch, a refused season or artwork fetch, a truncated response body and a non-2xx status were all silent in the same way; each says so now.
Compatibility
- Plays video, verified by watching it — 2019 LG sets. One television: an LG 49SM9000PLA, which reports platform release 4.10.2 (LG markets this generation as webOS 4.5). A 21-case suite runs on that set against a live Plex Media Server before every release.
- Plays video, reported by someone else — one 2021 set. mariotaku of webosbrew ran v0.2.1 on an LG 65UP7560AUD (platform release 6.5.2) on 2026-08-11 and got a picture: issue #22. Six of eight attempts played. That is one firmware, one set, one report, and it remains the only time video has been seen on anything but the developer's own television.
- Starts, and nothing further is known — every other firmware from webOS 4.0 up. The loader resolves this binary's libraries and symbols cleanly against all nine firmware images webosbrew has at 4.0 or newer, webOS 4.4.2 through 11.2.0. That grades startup and says nothing at all about whether video plays.
- Does not start — webOS 3.9.2 and older. Symbols the app needs are missing there, so the process is killed before anything appears.
If your set is in the middle two groups, tell us what happened. It working is as useful a report as it failing.
Help test this release
If a friend has shared a library with you, try it. The whole of this release's main feature has been exercised against exactly one shared server, on one account, from one television. A share reached at a public address, one that requires an encrypted connection, one behind Plex's relay, and an account with several shares at once are all paths nobody here can reproduce.
If you have a Dolby Vision television, tell us whether it says so. This release is the first to declare Dolby Vision to the set, and the only evidence anyone has is from the pipeline's own log on one 2019 television. Play a Dolby Vision film and look at what your set reports on its own info screen. A photograph of that is the whole report. Open an issue. It working is as useful a report as it failing.
Known issues
- Plex Relay, servers that require secure connections, and servers reached by hostname or IPv6 — the app speaks plain HTTP to a numeric address and has no name resolver, so none of those can be dialled at all.
- The app still asserts 10-bit decoding without asking, because the television's codec table has no column for bit depth. Codec and resolution are read from the set; this one claim is not.
- Whether a television actually enters its Dolby Vision mode on this app's declaration is unconfirmed. The declaration is made and the pipeline accepts it; nobody has watched a panel report it. Profile 7's enhancement layer cannot be fed by this pipeline at all and is refused.
- On webOS 5 and newer, seeking reloads the stream instead of moving within it. It works and it is slower, and nobody has yet watched it happen on hardware.
Installing
Download com.beb.plxnative_0.4.0_arm.ipk and install it with the Homebrew Channel or dev-manager-desktop. You do not need a rooted TV.
Nothing in this distribution chain is signed, so this sha256 is what tells you the file you have is the file published here:
370c89a6f94d29d68f7f55cf2c5f866173abd66c3a65eec6f430374f21167d32 com.beb.plxnative_0.4.0_arm.ipk
Installing and checking a download covers the other assets, how to check the hash on each platform, and the Developer Mode expiry that uninstalls your apps. This package bundles FFmpeg under LGPL-2.1-or-later and its complete corresponding source is attached to this release. Exactly what was built, verified and shipped is in the technical audit for v0.4.0.