Repository navigation
Tilecast 1.0.0
A Stable release.
Every platform below is this version, built from one commit.
Built from commit f7b6f401aea3a71b8f7dee5da7dd1b5cedac2164. Update version code: 100000099.
Server
ghcr.io/gbyo/tilecast-server:1.0.0- Moving tag:
stableandlatest(ghcr.io/gbyo/tilecast-server:stable) - digest:
sha256:9580ce33e06270919c2111af83e54fc37d4c7370aa65e3bde75bf2a143774d82
The Browser Player is bundled with the server image and is the same version.
Tilecast Edge (Linux)
- Linux x86_64:
tilecast-edge-1.0.0-x86_64.tar.zst(40.5 MiB, SHA-25614c544f956d7143923b175db3ac90ac201e54a9f3e121c05c7d8f38ff7ce8a28) - Linux aarch64:
tilecast-edge-1.0.0-aarch64.tar.zst(39.2 MiB, SHA-25647f13f85cbf582b930afee6c39ddb8ff76f9a86f34cf006691eacbe36404e3cf)
Each architecture ships a signed update envelope, its signature and a software bill of materials.
Windows
- Windows x64:
tilecast-windows-1.0.0-x86_64.msix(4.9 MiB, SHA-256710020c7d20dc3de98a8021d3f0c948eb21c32ef9d9cfcce84575c902f6971e4) - Windows ARM64:
tilecast-windows-1.0.0-aarch64.msix(4.6 MiB, SHA-256c76e86f7bc8d92d2a38e81f34681f2ecd523ef14bdcfe9f3d9ff49256fe42071)
Studio imports the signed update envelope from the release that holds it, for screens it manages.
Android and Fire TV
- Android TV, Google TV and Fire TV:
tilecast-player.apk(27.2 MiB, SHA-2563fe70b3a128e6d3629c3b05e10c4a7889c140da0f049b33b63d4d672c8962c0c)
Studio imports the signed update envelope from the release that holds it, for screens it manages.
iOS and iPadOS
Distributed through Apple's App Store, not as a GitHub release asset. Its availability follows Apple review and never gates a Tilecast release. See the guide.
Verify your download
SHA256SUMS lists every file. tilecast-release.json is the machine-readable inventory of this release. Update envelopes are signed with the Tilecast update key and verified by Studio and by each player.
gh release download v1.0.0 --repo gbyo/tilecast --pattern 'SHA256SUMS'
sha256sum -c SHA256SUMS --ignore-missing
What's changed
1.0.0 is the first Stable release. This list covers everything merged since 0.27.0-beta.3, the last published beta, in 170 pull requests.
Highlights
- Resource-scoped access control. Capabilities, custom roles, and Media content access (#1675), with screen authorization centralized in one explicit policy (#1713).
- Plugin Model V2. Contribution-based plugins with versioned Player services (#1685). External plugin surfaces now run on Edge, Windows, and Android (#1663, #1664, #1665, #1667, #1674, #1676, #1677, #1679, #1680, #1682). Countdown Bar moved to Plugin API v2 (#1686) and has a refreshed design (#1855).
- Studio on official Base Nova. Studio migrated to Base Nova (#1695) with standard resource context menus (#1699, #1698). New weekly playback agenda (#1856), the login background on the sign-in and setup pages (#1785), and no white flash on refresh in dark mode (#1799).
- Organization font library for Layout text and Countdown Bar (#1857).
- Phone setup. A phone can give a new screen its server address (#1728), and Edge, Windows, and Android show the setup QR code (#1731).
- Android Player. Fixed the permanent black screen, live content updates, and zone validation (#1653). Rebuilt setup for unattended signage (#1711, #1715) and fixed queued activations (#1712, #1741).
- Mixed Widget playlists in Layout zones, across the Runtime (#1655), the Server (#1656), and the Studio preview (#1657, #1662).
- Widgets. Canva slideshow autoplay mode (#1666, #1669). Weather temperature and forecast display options (#1705). Typed percent values render as ratios (#1768). Agenda and Weather keep date-only values on their calendar day (#1744). Sandboxed Widgets get the full
WidgetResourcescontract (#1754). - Prelaunch audit of playback, content deletion, proof of play, media jobs, Span, Campaign windows, and Studio feedback (#1870).
- Security. The Player client confirms the installation identity before each credentialed request (#1722). A package update is refused when the observed installation changed (#1850).
Players
- Android kiosk and power. Honors
admin_session_minutesfor maintenance sessions (#1769), the foreground watchdog setting (#1765), launch after boot (#1746), the block overlays setting (#1833), and the Settings access maintenance policy (#1821). Exits lock task when Managed Kiosk is disabled (#1766) and restores system bars when immersive mode is off (#1763). Off-hours power effects apply once configuration loads (#1756, #1753, #1840), and unperformed Power Assist actions report as failed (#1854). WebsiteclearOnRestartapplies at startup (#1819). - Android capture, updates, and credentials. Captures that miss a visible video surface are refused (#1762) and capture binds to the eligible window (#1796, #1797). Credential clear is durable across the legacy slot (#1747). Scheduled installs recheck deployment cancellation (#1805) and Takeover is rechecked when a pending update is approved (#1813). Plugin surfaces clear on gate and waiting states (#1808).
- Edge, Windows, and Linux. Edge and Windows keep the presentation when recovery reactivation fails (#1779). Edge releases the preview slot when a WebKit snapshot times out (#1761), retries the startup website-data clear (#1811) and transient Presentation Network provisioning failures (#1824), rechecks protected state before upload (#1823), refreshes the resume binding after pairing (#1814), and honors deployment cancellation before activating staged updates (#1835). Windows posts activation presentation and plugins atomically (#1847). Linux Player fixes: recovery history (#1784), cache space checks (#1773), H.264 decoder fallback (#1783), maintenance windows over 24 hours (#1803), command intent (#1804), and staged updates after restart (#1807).
- Player Core and storage. Retry recovery acts in safe mode (#1775). The configured Automatic delivery threshold is honored (#1771). Reset cancels in-flight pairing work (#1759). Proven items clear when a renderer reconnects (#1742). Activation trial outcomes are durable and follow restored servers (#1730). Plugin-only manifest refresh no longer restarts playback (#1651). Cache fixes: space reserved across concurrent writers (#1778), every eligible object cleared (#1770), and an indivisible eviction pin check (#1733).
- Browser Player. Tracks the current item while offline (#1780), keeps one lock per identity record (#1734), recovers the binding when enrollment commits but its response is lost (#1852), and reloads after back-forward cache restore (#1843) and shared service worker activation (#1841).
Server, content, and data
- Media. Reconciles upload offsets after an ambiguous chunk commit (#1781), keeps a private asset's blob after an ambiguous commit (#1757), and stops processing jobs from reviving deleted assets' files (#1760).
- Playlists. More reliable item reordering (#1649). Tag-driven playlists are no longer rejected as empty on assignment (#1681). Inspector item edits are serialized and merge stale snapshots (#1755).
- Data Sources and plugins. Refresh results are discarded after a configuration change (#1845). Output schemas above the Player dataset field limit are rejected (#1836). Declarative adapters must declare their output kind (#1829) and scaffold
requiresManifestV13(#1827). Plugin job intervals survive active runs (#1832), and the package catalog rebuild retries after lifecycle failures (#1828). - Screens and scheduling. Display Control schedules serialize with group admission (#1795). Hardware replacement under Display Control schedules is refused on non-Linux screens (#1743). Player configuration advances when a screen's location changes (#1748). Takeover activations serialize for overlapping screens (#1842). Span geometry recalculates when revocation detaches a member (#1745), and each panel shows its newest preparation (#1740). Fleet shows the right now-playing during takeovers (#1673). Studio session isolation, Player reporting, and schedule transitions were fixed (#1720).
- Activity, notifications, and forms. Content Health incident types are accepted by the incidents filter (#1758), and incident detail evidence read failures are shown (#1777). Duplicate notification sends are prevented after a batch lease expires (#1846). Forms read transition target eligibility under the transaction (#1837) and revoke abandoned image preview URLs (#1848).
Studio and iOS
- Studio. Partial failures are reported when moving selected screens (#1849). Retrying a failed screen reopens its Player Updates deployment (#1735), and failed screen restores stay retryable after Undo (#1767). Plugin Store shows a failed marketplace refresh (#1776), and adding a custom repository retires the review when the URL changes (#1749). Creation galleries disable plugin providers until install state is known (#1736), and Connect Data offers only bindable Data Sources (#1750). The startup animation plays when active hours begin (#1787), selected weekdays are distinct from hover in Settings (#1788), and Data Source save toasts are localized (#1732). Studio is served correctly at
/assets(#1871). - iOS. A replacement deep link is delivered after the active one exits (#1739). Credentials and data stores are kept when the server directory is unreadable or fails to save (#1774, #1772), and a pending sign-in no longer restores a removed server credential (#1853).
Maintenance
Dependency updates, CI and formatting fixes, test updates, and documentation, including the iOS app and its App Store link (#1726) and operator guidance for edge cases (#1672).
Full Changelog: v0.27.0-beta.3...v1.0.0