News & Updates

2026-07-15 Simple UPnP Server

Version 1.6.0 Released

■ Easier first-time setup On the first launch, the app now walks you through choosing what to share — a folder or your device's media — offers ready-made Videos / Photos / Music labels, and starts the server, so your TV can play your media right away. Notification permission is asked only when the server first starts. Starting the server with nothing shared now points you to adding a folder instead of running an empty server. ■ Device name On a new install, the server's device name now defaults to your phone's own device name, so it is recognizable on the TV right away. Existing installations keep their current name; you can change it any time in Settings → Media server. ■ Library "Select" on the Library tab now does more than playback: checking labels shows an action bar that plays, groups, enables, disables or deletes them at once — swipe it up to review the selection in play order. The label list gains a name search box, and an open label can be duplicated to tweak a copy of its rule. ■ Server status while starting While a large library is read at server start (noticeable on USB hard drives), the status and the notification now show "Reading your media library…" instead of looking ready before players can see the server. On the free version this read no longer freezes the app on first start. ■ Help A new "Two ways to use it" section walks through two complete setups: casting the phone's own media with smart labels, and serving a stored library on USB storage (with its caveats). ■ Connection check New "Connection check" in Settings: when a TV or player can't find the server, it checks the common causes automatically — shared content, server state, Wi-Fi, VPN, and whether the network blocks device discovery (router "AP isolation") — and tells you what to do. ■ Clearer status when Wi-Fi is unavailable "Waiting for Wi-Fi" now says why: on wired LAN, while the phone is a hotspot, or with a VPN on mobile data, the status and the notification explain that the server runs on Wi-Fi only and what to do. Help's troubleshooting section says so too. ■ Free version transparency When the free limit (up to 1,000 files of each type) leaves files unserved, the app now says so instead of hiding them silently: the server card and the Files tab show how many files players don't see, and tapping the notice opens the Plus upgrade. ■ Debug log The debug log (Log tab, opt-in) gains category filter buttons — All / HTTP / Connections / Transfer / Cast / Library — and now records library scans: how many files each shared folder contributed and how long the scan took, plus the free-limit outcome. Useful for judging slow USB-drive scans. ■ Bug fixes / stability The app download is now about 25% smaller, thanks to removing unused resources from the release build.
2026-07-12 Simple UPnP Server

Version 1.5.0 Released

■ Labels New folder labels: pick a shared folder and it becomes a label. Everything inside it — subfolders included — stays collected automatically as files are added or removed. When creating one you choose which media to collect (all, video, audio or image). Create one from "New label → Folder label", or add a folder condition to any smart label from its advanced filters. A folder label can now mirror the folder tree: choose "One per subfolder" when picking the folder and you get one label per subfolder that holds media, nested just like the folders themselves. Re-run it later and only the new folders are added. Folder labels are now listed in name order by default. New group labels: bundle existing labels into one. It plays its member labels in the order you arranged them, and a file that appears in more than one label plays once. The Library tab can now filter the list by media type: tap Video, Audio or Image to show only the labels for that kind of media (judged from each label's settings), or All to show everything. Every label now has a play button: tap it and the label plays as a playlist on your player, right from the Library tab, with the player picker and automatic server start built in. The list was also visually refreshed to match the rest of the app. Tapping a label now opens its contents: play from any file or use "Play all"; editing and deleting moved into this view. A new "Select" mode plays several labels as one queue, in the order you check them; a file that appears in more than one label plays once. ■ Cast Playlists now play gaplessly on players that support it: the next track is handed to the player in advance, so the silence between tracks is gone. Players that don't support it fall back to the previous behaviour automatically. Each connected player now has a settings button in the player list. If automatic detection gets a player wrong, you can override gapless, seeking, or the volume scale by hand; the choice is remembered per player. Leave everything on Auto and nothing changes. When the selected player declares its supported formats, the Files list shows only the files that player can play, the label list hides labels whose kind of media the player can't receive, and a note shows how many were hidden. The selected player's row lists the media types it accepts (video / audio / image) at a glance. Players that don't declare their formats keep showing everything. While something is casting, a mini player now stays at the bottom of every tab: it shows the current track, the player and the queue position, with play/pause and next buttons. Tap it to open full controls — play/pause, stop, previous/next, seek and volume — for every player that is playing, so several players are controlled from any screen. The label name shown there is a shortcut: tap it to open the label at the playing track. On-screen volume is now adjusted with −5/−1/+1/+5 buttons instead of a slider, so a slip of the finger can't jump an amplifier to full volume. Picking a player is now a chip at the top of the Library and Files tabs that opens a player list, instead of a list always taking up the screen. The app reconnects to the last player automatically, and players that are already playing are marked in the list — playing on several players at once keeps working. Starting playback now also starts a stopped server automatically, after a one-time confirmation (a setting turns this off). Photos in a queue now play as a slideshow: each picture stays on screen for the interval chosen in Settings (10 seconds by default) and then advances by itself. Play/pause freezes the slideshow, and in a mixed queue photos advance on the timer while music and videos advance at the end of the track as before. ■ Media The debug log can now be filtered by text — type "[cast]" to see only the cast entries, for example. Player discovery also logs each player it finds by name, making "player not found" issues easier to pin down. The accessed-media list can now be filtered by device: when several players have fetched media, chips at the top narrow the list to one of them, and players known from cast discovery appear by name. ■ UI The tabs were reorganised around your content: the app now opens on the Library (your labels), followed by Files for browsing everything shared and the Log; the server controls and settings moved to a Settings tab (the former Media tab is now called Log). The former CAST tab is gone — its playback controls live in the mini player's panel (now with a tappable queue list), and the player picker opens from the connection chip on the Library and Files tabs, or automatically when you press play. On phones the app now stays in portrait. The landscape layout was too cramped to use on small screens. Tablets still rotate freely and keep the side-by-side landscape layout. The How-to-use screen now explains casting, and the Files tab has a help button that jumps straight to that section — the same way the Library tab does for labels. The How-to-use and Open Source Licenses screens now use the same edge-to-edge display as the rest of the app on all Android versions. ■ Performance The app is now built with updated optimization tools, reducing memory use and improving performance.
2026-07-10 SimpleHttpServer

Version 3.2.0 Released

■ Automation A Quick Settings tile lets you start or stop the server with one tap — add it from your Quick Settings edit screen (it stays greyed out until you have shared a folder). Automation apps like Tasker can also start, stop, or toggle the server; see Settings → About → How to use for the intent actions. ■ Security / stability Hardened the file server against a malformed upload request that could make it stop responding, and an upload cut off midway no longer leaves a partial file behind. HTTPS now uses only TLS 1.2 / 1.3 (older, weaker versions are refused). Digest Authentication was also strengthened so a captured request can no longer be replayed indefinitely or reused against a different path. ■ Digest Authentication Your username and password are now kept in a separate area that is excluded from cloud backup and phone-to-phone transfer, so the server password no longer leaves the device (the HTTPS private key was already protected this way). Also, if Digest Authentication is on but the password is left empty, the server now refuses every request until you set one — previously it fell back to a blank default that anyone on the network could get past. Set a username and password to serve files. ■ Media sharing The "Use MediaStore" option now shares external storage only — internal system media (ringtones and other bundled files) is no longer served. Settings also states more clearly, and warns when you turn it on, that this shares every readable image, audio and video file on external storage, not just your selected folders. ■ Bug fixes / stability Fixed a rare crash when tapping "Official website" or the privacy-policy link on a device that has no app able to open a web link; a short message is now shown instead. ■ File sharing Media files on USB / removable storage whose file type Android does not report are now served with the correct type (derived from the file extension), so browsers can play or display them instead of only offering a download. Non-standard type names Android sometimes reports (for example for .m4a music) are also corrected to the standard ones, so those files play in the browser instead of failing or downloading. ■ Performance The app is now built with updated optimization tools, reducing memory use and improving performance.
2026-07-10 Simple UPnP Server

Version 1.2.0 Released

■ Cast (new, beta) A new CAST tab turns the app into a UPnP remote: pick a player on your network (a DLNA TV, an AV receiver, Kodi, …), tap one of your shared files and it plays there — with play/pause, seek and volume controls. Your labels work as playlists: pick a label, tap "Play all" (or any item) and the tracks play in the label's order, advancing automatically with previous/next controls. Files the selected player cannot handle are marked "not supported", and each player keeps its own playback state, so you can switch between players (or leave the tab) without losing what's playing where. While casting, a media notification on the shade and lock screen offers play/pause, next/ previous and stop without opening the app, and the hardware volume keys adjust the player's volume. The server streams the files directly, so keep it running while casting. ■ Quick Settings tile and automation You can now start and stop the media server from a Quick Settings tile — add the "Simple UPnP Server" tile to your Quick Settings panel. Automation apps (Tasker, MacroDroid) and adb can also start, stop or toggle the server via intent actions; see Help → Automation. ■ Stability Opening the Website or Privacy Policy link in Settings (and the system settings screens offered from permission dialogs) no longer crashes on devices with no app able to handle the link (for example, no or a disabled browser); a message is shown instead. ■ Security The media server now rejects HTTP requests with oversized headers, so a misbehaving or malicious client on the network can no longer tie up the server with a pathological request. ■ Bug fixes / stability Fixed an issue where, after the device woke from sleep, the media server could stay paused as "Wi-Fi changed" even though you were still on an allowed Wi-Fi (when "Only on selected Wi-Fi networks" is enabled). The server now tells this apart from a real network change, keeps re-checking, and resumes automatically when you open the app.
2026-07-02 SimpleHttpServer

Version 3.1.0 Released

■ Downloads You can now download a whole folder as a single ZIP file. Open a folder in the browser and tap "Download this folder as ZIP"; the archive is built on the fly and streamed, so nothing extra is stored on the device. Sub-folders are included. A new "ZIP folder download" setting lets you turn the feature off — the link disappears from folder pages and ?zip requests fall through to the normal listing. ■ Shared folders Each shared folder now has a switch in Settings to allow or block writes individually. Turn it off to keep a folder read-only even while uploads are on globally — handy when you want to share one folder for upload and others for download only. ■ HTTPS You can now run HTTP alongside HTTPS. In Settings, the new "HTTP" and "HTTPS" categories collect each scheme's settings together; when HTTPS is on, the "HTTP listener" option lets you also serve plain HTTP on the regular port, or redirect HTTP to HTTPS with a 307 Temporary Redirect (so a multipart upload reaches HTTPS without losing its data). When the HTTP listener is in serve mode, the certificate download URL is also reachable over plain HTTP, which makes the first-time trust-install easier. The MAIN screen shows both URLs when both schemes serve content, and an "Active listeners" row in Settings shows which listeners are actually bound. ■ Accessibility Tap targets on the per-folder Read/Write switch and the URL Copy / QR / Share buttons now meet the 48dp minimum, and the outlined buttons on the MAIN screen and the EditText hint colour in Settings dialogs were pinned to values that clear WCAG AA contrast. No visible change if things already worked for you — this closes recurring Google Play accessibility warnings. ■ Default HTTP port Fresh installs now default to port 8080 (the conventional HTTP alternate) instead of 12345. Existing installs keep whatever port you set — only new installs see the change.
2026-06-28 Simple UPnP Server

Version 1.1.0 Released

■ Display / Android 15 Improved edge-to-edge display so the app draws correctly behind the status and navigation bars on Android 15 and newer, and removed use of display APIs that Android 15 deprecated. ■ Settings Added a "Website" link in Settings, under About. ■ Media details Media now carries richer details — track length, artist, album, track number and video/photo resolution — so players can display and sort them properly (for example, playing an album in track order). This works both for your device's managed media and for files in your shared folders, including media on USB / SD storage; for shared folders the details are read on demand as you browse. ■ Shared folders Hidden and system files (such as .DS_Store, ._* and Thumbs.db) are now excluded from shared folders by default, so they no longer clutter your players. You can turn this off under Settings → Shared Folders. ■ Labels You can now create a label in one tap from a preset — Videos, Photos, Music, Recently added, This week, This month, or This year — and tweak it afterwards. The "recently added / this week / this month" presets keep up to date as time passes. In a manual label, you can drag the files you picked into the order you want them to play in. A label's contents can now be ordered by track number (album order) or shuffled, in addition to name, date and size. ■ Free version The free version now shares up to 1000 each of images, audio and video (was 50). A one-time Plus purchase still removes the limits and the single-source cap. ■ Bug fixes / stability Fixed an issue where the server could be hard to find from some players (such as VLC): it now keeps announcing itself on the network at short intervals, so players that are already open discover it within about a minute — without having to restart the server. Fixed media on USB / external drives shared from a folder not appearing in smart labels on some devices: media files are now recognized by their file extension even when the storage doesn't report a media type, so they show up in labels and are served with the correct type.
2026-06-27 SimpleHttpServer

Version 3.0.0 Released

■ HTTPS You can now serve over HTTPS (TLS). Turn on "Use HTTPS" in Settings to encrypt the connection. The app creates a self-signed certificate on this device, so a browser shows a one-time security warning on a local network — this is expected. Settings shows the certificate's SHA-256 fingerprint (tap to copy) so you can verify it. To remove the warning, trust the certificate on the client: save it with "Download certificate", or open the certificate URL shown in Settings (https://PHONE-IP:8443/.well-known/server-cert.crt) from the client. The certificate is valid for the address shown on the MAIN screen, so connect using that address; if the device's IP changes, the certificate is reissued and must be installed again. Only self-signed certificates are supported — you cannot install your own CA-issued certificate. ■ Uploads You can now upload files from a browser into your shared folders. Turn on "Allow uploads" in Settings, then use the upload box shown at the top of any writable folder's page. Existing folders added by an earlier version are read-only — remove and add them again to allow uploads. Files are never overwritten: an upload whose name already exists is saved as "name (1)", "name (2)", and so on. If you enable uploads without authentication, anyone on your network can add files, so consider turning on Digest Authentication (or HTTPS). ■ Help Added a "How to use" guide under Settings → About, covering getting started, uploads, command-line examples for uploading with curl, and HTTPS (the certificate warning, verifying the fingerprint, installing the certificate, and curl's -k / --cacert options). ■ Accessibility Settings rows now meet the minimum touch-target size, so every row is easier to tap. The app bar's title and subtitle now grow with your system font-size setting instead of being clipped. Text contrast was improved for links, section headings, the selected navigation tab, and snackbar action buttons so they meet WCAG AA. ■ Update notices After updating, a short "What's new" summary now highlights new features and things to watch out for. When you turn on uploads, the app also points out any existing folder that is still read-only, so you know to remove and add it again.
2026-06-17 SimpleHttpServer

Version 2.2.0 Released

■ Compatibility Updated to target the latest Android (Android 16) and switched to an edge-to-edge layout that draws under the transparent status and navigation bars. ■ MediaStore "Use MediaStore" now asks for media access the moment you turn it on, so the listing isn't silently empty. If access is denied or has been revoked, the setting row and a snackbar make the missing permission visible with a shortcut to the app's permission screen. ■ About Added an "Open source licenses" entry under Settings → About that lists the bundled third-party libraries and shows the full Apache License, Version 2.0 text. A "More apps from us" link is also shown on the main screen, pointing to the developer's other apps. ■ Bug fixes / stability Seeking deep into a video over HTTP no longer slows down with offset — the server now seeks in constant time for file-backed responses, instead of reading-and-discarding from the start of the file. A transient network error while accepting a new connection no longer kills the server: the listener now backs off briefly and keeps serving. ■ Performance File transfers use a larger 64 KB copy buffer instead of 4 KB, raising per-connection throughput on large files (especially helpful for video streaming).
2026-06-14 Simple UPnP Server

Version 1.0.0 Released

■ Media server (UPnP) Works as a UPnP media server: TVs, game consoles, and players (such as VLC and Kodi) on the same network discover it and browse and play your shared folders and managed media (photos, music, video) directly — including seeking. You can set a device name shown to clients and limit DLNA to chosen Wi-Fi networks (e.g. only at home). The server also shows its own app icon in the device list, so it is easy to spot among other media servers. Photos, music and videos you add to or remove from the device are picked up automatically — players that refresh see the change without restarting the server. External subtitles are picked up too: a subtitle file placed next to a video with the same name (e.g. movie.mp4 + movie.srt) is offered to the TV automatically. Music shows its embedded album art and photos show thumbnails in the client's browse view, so lists look right instead of blank. When you share your device's media, a "Music" section also lets clients browse it by Album, Artist or Genre, not just by folder. ■ Local network only The server listens on Wi-Fi only and is never exposed over mobile data, so your media stays on your home network. ■ Labels A Labels tab lets you tag your media and browse it by label on DLNA. Create smart labels just by typing a plain search — for example "2024 videos trip -mp4" — that matches on filename words, year or date range, media type, and file extension. Put a minus in front of any term to exclude it — a type, an extension, or a filename keyword (e.g. "-mp4", "-work") — with a live preview of what matches as you type; finer filters (source folder/category, exact dates) stay in a collapsible Advanced section. Or create manual labels, where you hand-pick files: browse folders, or use the same search and advanced filters to narrow a flat list and tick the ones you want — your picks stay selected as you change the filter, and you can add or remove all current matches at once. Each label appears as a virtual folder on DLNA, gathering every matching file regardless of where it is stored. Sort a label's contents by name (natural order, so "file2" before "file10"), date or size — ascending or descending — or leave it in the default order. A switch on each label hides it from DLNA without deleting it. Use "/" in a label's name to nest it — e.g. "Trips/2024/Japan" shows up on DLNA as folders Trips → 2024 → Japan. ■ Media diagnostics A Media tab lists the media that DLNA clients have actually fetched, aggregated per file — each with a thumbnail and badges for resolution (4K / FullHD / HD, with a "+" when it is close but not exactly that standard), video and audio codec, and the requesting client (PlayStation, VLC, Kodi, …), plus a playback-compatibility hint that flags formats many TVs can't play (e.g. HEVC, MKV, DTS, 4K) so you can tell at a glance which files are likely to fail. Tap an item for the full technical details — handy for working out why a particular player refuses to play a file. The detail view also shows two small graphs of the file's recent transfers — throughput over time and the read position within the file — making it easy to tell smooth streaming apart from a player stalling on a spot it can't decode (the read position stays flat while throughput stays high). A raw access log is available as an optional developer view (Settings → "Show debug log"). ■ Performance Media streams to players with a generous buffer, raising throughput for smoother playback of high-bitrate video. ■ Free version & Plus The free version shares one source (a single folder or MediaStore) and up to 50 each of images, audio and video. A one-time Plus purchase removes these limits. Labels are unrestricted. ■ Getting started & permissions On first run the app points you to the one step that gets DLNA going — pick a folder to share. Permissions are now asked only when a feature actually needs them: the photos/music/video permission is requested when you turn on sharing your device's media, not up front on first launch. ■ Help & licenses A "How to use" guide under Settings → About walks you through the basics in three steps — sharing media and playing it on a TV — with an overview of Labels plus a few tips and troubleshooting notes. The Accessed media and Labels screens also have a help (?) button that explains what they do on the spot. An "Open Source Licenses" screen lists the open source libraries the app is built with and their licenses. ■ Appearance Material 3 (Material You) design with a violet accent and an edge-to-edge layout for modern Android. Choose the app's theme — follow the system, always light, or always dark — under Settings → Appearance. ■ Reliability Settings apply to the running server instantly — no manual restart. The status on the main screen updates the moment the server starts, stops, or hits an error. When a Wi-Fi change pauses DLNA (or Wi-Fi drops out), the main screen turns the indicator amber and explains what happened. When you restrict UPnP to specific networks, you can optionally also verify the access point (BSSID), not just the network name, to block a look-alike Wi-Fi that reuses a trusted name; and the app now prompts you to turn on Location Services when they are off and the network name can't be read. DLNA no longer pauses for a moment when the device wakes from sleep just because the Wi-Fi name isn't readable for an instant — it waits for the network to settle and stays up if you're still on the same Wi-Fi. When the server stops or the network changes, it tells DLNA clients to drop it reliably, so a stale "ghost" entry does not linger on TVs and players; and a settings change (such as turning a label on or off) refreshes the content without making the server vanish and reappear in the client's device list. You can optionally have the server push updates to players, so a player that supports it refreshes the open folder the moment your shared content or a smart label changes — off by default, since some players don't subscribe to these notifications.
2026-05-28 SimpleHttpServer

Version 2.1.0 Released

■ Tablet UI On large landscape screens, the server controls and the log are shown side by side instead of leaving the extra width empty. A Settings button swaps the right pane between the log and settings. ■ Refreshed main screen The main screen has a cleaner look: a coloured status banner showing whether the server is running, the address with one-tap Copy / QR / Share, and Start/Stop and Restart buttons. ■ Shared folders You can now mark one shared folder as the root with a radio button. Its contents are served directly at "/", and the other folders appear beneath it as subfolders. With no root selected, behaviour is unchanged. ■ Browsing Directory listings are now readable on phones: they fit the screen width with larger text, full-width tappable rows, and follow the device's light/dark theme. ■ Other The privacy policy link now opens a page in your device's language (Japanese or English). ■ Bug fixes / stability Fixed a crash that could occur when the server started, especially via launch-on-open. On tablets, rotating from landscape to portrait no longer leaves the bottom tab out of sync with the screen being shown.
2026-05-16 SimpleHttpServer

Version 2.0.4 Released

■ Accessibility Improved contrast for section headings, bottom navigation labels, the server status banner, and URL links so the UI passes WCAG AA. Added labels to the input fields in the settings dialogs (port number, content provider prefix, Digest auth username/password) so screen readers can announce them. The "Add folder" row is now taller to meet the minimum tap target size. ■ Settings Editing a setting while the server is running now shows a Snackbar with a Restart action so the change can be applied immediately, instead of silently waiting for a manual restart. ■ Bug fixes / stability - Files whose names contain '+' or '%' now open correctly. - Adding or removing shared folders is reflected immediately without restarting the server. - Large POST request bodies are no longer buffered into memory. - Cleaner server shutdown: no stray worker threads, and quick stop→start cycles no longer hit "Address already in use". - mDNS (Bonjour) advertising registers cleanly after server toggles.
2026-05-03 SimpleHttpServer

Version 2.0.2 Released

■ QR code Each server URL now has a QR button. Tap it to display a scannable QR code — useful for quickly connecting phones and tablets without typing the address. ■ Share URL Each server URL also has a Share button to send the address via any installed app (messaging, clipboard managers, etc.). ■ Translations UI now available in German, French, Spanish, and Brazilian Portuguese, in addition to English and Japanese. ■ Bug fixes Fixed a crash on tablets in landscape orientation (NullPointerException in activity layout).
2026-05-02 SimpleHttpServer

Version 2.0.1 Released

■ Bug fixes Fixed a crash (NoSuchMethodError) when browsing directory listings on Android 12 and earlier. Fixed a foreground service error (ForegroundServiceStartNotAllowedException) on Android 14 and later, caused by the 6-hour time limit on dataSync services.
2026-04-27 SimpleHttpServer

Version 2.0.0 Released

■ Multiple shared folders You can now add multiple folders to serve over HTTP. Each folder appears as a top-level directory in the browser. ■ Storage Access Framework Folder selection now uses the system file picker — no special storage permissions required. ■ Network interface selection Choose which network the server listens on: Wi-Fi only (default), all networks, or localhost only. ■ Material Design 3 UI Bottom navigation, refreshed log screen, and improved layout. ■ Privacy policy In-app link added under Settings → About. ■ Bug fixes Improved HTTP Range request handling (fixes video seek in some players). Fixed notification icon display on Android 5+.