Skip to content

Releases: funland/foliospace-Library

FolioSpace Library 1.03 — Movie and TV Library

Choose a tag to compare

@funland funland released this 11 Oct 01:43

FolioSpace Library 1.03

Release 1.03 publishes the complete movie-library P0/P1/P2 baseline while
retaining the reader, game and download functionality from 1.02.

Movie and TV management

  • Paginated poster-wall browsing and consistent artwork across the home video
    library, recently added items, works and collection surfaces.
  • Local NFO/images, manual metadata corrections and explicit optional TMDB
    candidate matching. Original media files and existing video IDs remain intact.
  • Work/library filters, recent sorting, stable season/episode identities,
    specials and multiple file versions for compatible clients.
  • Profile/file-scoped playback state, explicit watched/unwatched, continue
    watching and next-up APIs. Idempotent retry and revision/content conflicts
    prevent silent cross-device overwrites; media delivery does not wait for sync.
  • Optional on-demand refresh of a confirmed TMDB series season: locally
    available, missing, unreleased or unknown episodes, with local fallback.

The server primarily supplies catalogs, metadata, posters and original-file
streams. Clients perform decoding. Existing optional HLS compatibility is
retained; this release does not introduce background whole-library transcoding.
Client features require capability discovery and a compatible app build, not
just an image upgrade. No App Store client release is implied.

TMDB: opt-in, operator-owned token

Online matching is off by default. Each operator must apply through their own
TMDB account and configure an API Read Access Token, not a v3 API key or the
FolioSpace connection token. There is no bundled/shared developer key. The 1.03
Compose example passes the optional provider/token/language settings with safe
blank defaults; real .env files are excluded from Git and the build context.

Bring-your-own-token is not a commercial license. Review TMDB's current
terms and commercial-use requirements for your actual deployment/client use,
and retain approved attribution. Do not put credentials in repositories, images,
URLs, logs, screenshots or shared Compose output. The web About screen and movie
footer include TMDB attribution. Setup, privacy and official sources
· 中文配置说明.

Upgrading

  1. Back up your persistent /config before the additive metadata/playback schema
    upgrade. Keep the existing token, data/media mounts and custom environment.
  2. Pull funland/foliospace-library:1.03 and update your existing deployment;
    use the new Compose mappings only if you want optional TMDB matching.
  3. Check /api/client/info and your normal book/game/video workflow. Preserve
    deployment-specific startup settings, including
    FOLIOSPACE_PRESERVE_GAME_CATALOG_ON_START=1 where already configured.
  4. Keep a previous image and a stopped-state backup. Do not restore an old
    database over newly recorded progress without reconciling the changes.
docker pull funland/foliospace-library:1.03

Tags 1.03 and latest target Linux AMD64 and ARM64. Publishing an image does
not automatically replace an existing container. All earlier CIA install,
MAME/FBNeo compatibility, PC-98 per-ROM fonts, Triforce routing and Range behavior
remain included. No ROMs, BIOS, firmware, fonts, movies or private library data
are bundled.

Documentation and acceptance boundaries

The overview now explains Reader, Player and SpatialEMU, welcomes independent
clients, and includes six real English demo captures with source/license credits.
Captured pre-release version labels remain unchanged; they do not certify a
new native client release. Client P1/P2 passed 323 Core tests and four-platform
compilation; Mac/iPad development packages were installed separately. Cross-device
playback acceptance and visionOS/tvOS device validation remain separate gates.

Legacy thumbnail-to-new-poster bridging, complex multi-episode files, and
MetaTube/DMM adapters are not delivered by this release. Existing thumbnail,
file/manifest and HLS routes remain compatible. TMDB search/refresh is explicit,
not automatic whole-library scraping. No dependency modernization is claimed.

Release verification and known tooling warnings

Full Go tests and go vet, all 45 web tests, TypeScript and the production web
build passed. The Compose template passes config --quiet with an empty env
file. Runtime source descends from the complete accepted production baseline;
the release does not replace an existing deployment automatically.

The npm lockfile is unchanged from 1.02. Audit still reports four high-severity
dependency findings in nanoid, PostCSS, source-map-js and Vite. These concern
build/development tooling paths; the production image serves prebuilt static
assets and contains neither Node/npm nor a Vite development server. This is not
a claim that the dependency tree is vulnerability-free. Dependency remediation
remains separate, and untrusted build inputs or exposed development servers must
not be treated as safe. The existing large-JavaScript-chunk build warning also
remains; no dependency upgrade or bundle-size optimization is claimed here.

简体中文

1.03 正式发布完整影片库:统一海报、作品/季集/多版本、本地 NFO 与人工修正、
可选 TMDB 匹配、按档案与文件保存的观看进度、继续观看和下一集接口。
保留此前阅读与游戏全部版本链,服务器主要提供原文件与元数据,解码交给客户端。

TMDB 默认关闭,部署者自行申请并配置读取令牌;没有共享开发者密钥,自备不等于商用授权,
还需遵守来源条款和署名要求。升级前备份 /config,保留原口令/挂载/配置;
Docker 发布不代表已有生产容器或商店客户端被自动更新。

Published artifacts

  • Source: 35a48eb13457b900ea571f2117fede4bd480142f
  • Successful GitHub multi-architecture build
  • Docker Hub: funland/foliospace-library:1.03 and latest (Linux AMD64 / ARM64)
  • OCI index: sha256:892b406421f3244b9cebbb8472ca20f6c6ec57de55f4dc9de6bb61c59fedb17c
  • Published AMD64 image passed an isolated empty-library startup/version/capability smoke test. No production deployment is implied.

FolioSpace MCP 1.03.1

Choose a tag to compare

@github-actions github-actions released this 11 Oct 11:48

FolioSpace MCP 1.03.1

Independent agent-side release. FolioSpace Library / Docker remains 1.03.

  • Nine new read-only movie-library tools: works, work details, seasons, episodes, file versions, availability, per-file playback state, continue watching and next up.
  • Capability discovery before querying; old servers can return explicitly labelled legacy file lists. Unsupported work filters never silently disappear.
  • Explicit profile IDs are validated and preserved. Authentication failures do not fall back to a different route or profile. HTTP conflicts keep their structured code and state.
  • Pagination defaults to 20, caps at 100; new tools bound responses to 2 MiB and do not follow redirects or expose upstream diagnostic bodies.
  • All existing book/game/video/state/scan tool names and behavior remain available. This release adds no mutation tools.
  • Four independent packages: macOS Intel/Apple Silicon and Linux AMD64/ARM64, with SHA-256 checksums.
  • Installer requires valid checksums, tests initialization before atomic replacement, preserves URL/token configuration, and retains one previous binary for rollback.

Reconnect your MCP host after upgrading. Existing running processes do not automatically change when the executable is replaced. The package is a stdio bridge, not a new network service.

Canonical packages and installer: this GitHub release, tagged mcp-v1.03.1. The older website installer is not the release authority. MCP tags do not trigger Docker builds or replace the server's Latest release.

FolioSpace Library 1.02

Choose a tag to compare

@funland funland released this 09 Oct 13:28

FolioSpace Library 1.02

This release publishes the PC-98 font and Triforce routing fixes previously used
in production, on top of the complete 1.01 baseline.

Changes

  • Per-ROM/version PC-98 font selection through a JSON sidecar or dedicated sibling
    bitmap, with generic-font fallback. One logical FONT.bmp is served with its own
    size/checksum. Targeted scans detect font-only changes without rewriting ROMs.
  • Triforce ISO/GCM/RVZ files in an exact Triforce path segment, library name, or
    library root use platform=ngc, emulatorHint=dolphin, romSetName=Triforce.
    Unrelated disc/NGC routing stays unchanged. Client emulation support, BIOS setup,
    and actual gameplay acceptance are separate from server delivery support.
  • Preserves 1.01 MAME content-equivalence support, FBNeo build-identity compatibility,
    CIA installation, Range/resumable downloads, and bilingual beginner setup.
  • Service and MCP metadata report 1.02. Docker images support Linux AMD64/ARM64.

No ROMs, cover collections, fonts, BIOS, firmware, tokens, or private catalog data
are included. No new automatic game import or policy replacement is introduced.

Upgrade

docker pull funland/foliospace-library:1.02

Back up the existing config/database. Update the image in your existing Compose
configuration, preserving its token, ports and mounts, then run docker compose up -d.
Do not replace a customized configuration with the example file.
For font changes, use a targeted ROM scan and refresh the client manifest/package.

See PC-98 configuration
and the retained MAME upgrade notes.

简体中文

1.02 将生产中使用的 PC-98 独立字体修复与 Triforce 分类路由正式发布。
保留完整 1.01 基线,不恢复 FBNeo App 指纹/构建标识拦截,也不包含私人资料库或游戏文件。
字体修改后定向扫描对应 ROM 并刷新客户端 manifest;Triforce 游戏能否实际运行仍取决于客户端核心和配置。
升级时保留现有 token、端口、挂载与配置数据。

Validation and known build-tool notices

Before publication: all Go tests and go vet passed; 34 web tests, TypeScript/Vite
production build, Compose configuration validation, and diff checks passed.
The scanner implementation matches the production hotfix source snapshot.

The unchanged npm lockfile reports high-severity advisories in the existing
Vite/PostCSS/nanoid/source-map-js build-tool dependency chain. These require a
separate dependency update; this release does not claim they are fixed. The final
Docker stage serves compiled static assets and does not include Node, npm, or
the Vite development server. The existing bundle-size warning also remains.

FolioSpace Library 1.01

Choose a tag to compare

@funland funland released this 20 Sep 18:13

FolioSpace Library 1.01

Highlights

  • MAME clients can reuse an existing audited launch profile across releases when
    trusted listxml evidence proves the full ROM/dependency definition unchanged.
    Exact profiles stay preferred; cross-version responses echo the client runtime
    and add optional contentAudit provenance.
  • Bundles 1,889 content definitions for 631 sets across MAME 0.287, 0.288 and
    0.289, and includes the foliospace-mame-content-registry administrator tool.
    No ROMs, BIOS files, firmware, or private catalog data are included.
  • Preserves public 1.00 FBNeo behavior: App hashes and coreBuildId values are
    diagnostic for supported official clients, not reasons to reject an otherwise
    approved profile. Client/platform/runtime and ROM/dependency checks remain.
  • Retains CIA installation, resumable downloads, bilingual first-run setup and
    the existing library APIs.
  • Builds portable web assets on the native GitHub runner and cross-compiles Go
    for each target architecture, avoiding ARM64-emulated npm ci. The release job
    now has a 30-minute timeout.

Docker

docker pull funland/foliospace-library:1.01

Published by GitHub Actions for linux/amd64 and linux/arm64, with latest
pointing to the same release. Back up persistent /config data before upgrading
an installation. Publishing an image does not upgrade an existing container.

An existing /config/policies/mame-content-equivalence.json remains authoritative
and is not overwritten. Bundled defaults apply only when that file is absent.
Existing audited profiles are required; this release does not auto-import games
or rebuild an operator's catalog. See the
compatibility and upgrade notes.

Validation

  • Full Go test suite and go vet ./....
  • Frontend: 34 tests, TypeScript checking and Vite production build.
  • Compose configuration validation without starting a service.
  • All 1,889 bundled records reproduced from their official listxml archives;
    archive and registry SHA-256 values checked.
  • HTTP coverage for exact profiles, cross-version content, missing dependencies,
    changed source bytes, custom-registry overrides and bundled defaults.
  • Existing FBNeo compatibility tests cover changed/unknown build IDs and App
    hashes on supported official Apple, Windows and Android clients.

The unchanged frontend lockfile reports three dependency-audit findings in
build tooling (Vite, PostCSS and nanoid). These packages run in the build stage;
the final image copies static assets, not Node.js or the Vite development server.
This release does not claim a clean dependency-security audit or client gameplay
certification.

The first pre-publication build was cancelled after ARM64-emulated npm ci
stopped making progress; the AMD64 build had already completed. No 1.01 image
was published by that attempt. The draft tag was corrected to include only this
build-pipeline fix, without changing the application compatibility behavior.
The approach follows Docker's native-stage cross-compilation guidance.

简体中文

1.01 增加 MAME 跨版本内容兼容、内置证据和管理员生成工具,保留 FBNeo
不按 App 指纹或构建标识拦截的现有行为。支持 AMD64 / ARM64,不包含或下载
ROM、BIOS、固件。发布镜像不会自动替换已有容器,也不会覆盖管理员策略或改写游戏。

FolioSpace Library 1.00

Choose a tag to compare

@funland funland released this 23 Aug 17:46

FolioSpace Library 1.00 makes the optional SpatialEMU + FolioSpace workflow easier to understand and deploy.

Highlights

  • Adds bilingual beginner onboarding for connecting SpatialEMU to a self-hosted FolioSpace Library.
  • Documents the Docker/Compose path for Mac, Windows, Linux, and compatible NAS hosts. A NAS is optional and no coding is required.
  • Separates the SpatialEMU Setup Guide from the FolioSpace product overview, with English and Simplified Chinese links.
  • Includes the 0.998 3DS CIA install-content protocol and diagnostic error semantics.
  • Retains the 0.997 Apple FBNeo runtime compatibility and arcade ROM-set handling fixes.
  • Publishes Docker images for linux/amd64 and linux/arm64.

FolioSpace does not provide or download ROMs, BIOS files, or firmware. Use only content you are authorized to use.

Docker

docker pull funland/foliospace-library:1.00

FolioSpace Library 0.997

Choose a tag to compare

@funland funland released this 17 Aug 20:52
42b7826

FolioSpace Library 0.997 restores broad FBNeo target coverage and improves compatibility with verified historical ROM layouts without turning runtime build metadata into a usability gate.

Hotfix update:

  • FBNeo coreSha256 and coreBuildId are diagnostic only for supported official SpatialEMU Windows, macOS, iOS, iPadOS, visionOS, tvOS, and GameEMU Android clients.
  • A changed, unknown, or omitted FBNeo build identity no longer returns core-fingerprint-unknown when the client has an otherwise valid launch profile.
  • FBNeo resolution still requires the exact client/platform/architecture, libretro/fbneo route, immutable ROM profile, and complete dependency closure.
  • Other cores retain their existing rules. MAME runtime/content-set matching and Android Flycast identity policies are unchanged.
  • Updating the server image is sufficient for this hotfix; no catalog re-analysis is required.

Original 0.997 highlights:

  • Default FBNeo rebuild targets include SpatialEMU iOS, iPadOS, visionOS, and Windows.
  • Historical archive member names are accepted when their exact size and CRC match the installed FBNeo DAT.
  • The field-proven Captain Commando ioc1.ic7 PLD variant is accepted only for the exact captcomm member fingerprint.
  • Android manifest-first FBNeo downloads, Android Flycast/NAOMI profiles, and MAME policies remain independent.

Existing deployments that previously generated only a subset of FBNeo profiles should verify that their target document lists every intended client, then run Analyze Catalog once. That existing recommendation is independent of this runtime-identity hotfix.

Docker images:

  • funland/foliospace-library:0.997
  • funland/foliospace-library:latest

Both tags publish Linux AMD64 and ARM64 images from complete hotfix merge commit 42b7826; manifest digest sha256:0461fc69df5107f8c1bf9d4e9d3eff898ab2802321487f7926435bb1e00ffb45.

FolioSpace Library 0.995

Choose a tag to compare

@funland funland released this 15 Aug 15:55

FolioSpace Library 0.995 expands safe native game delivery, compatibility curation, and offline access.

  • Nintendo 3DS libraries validate direct .3ds/.cci NCSD images, .cxi NCCH images, and safe single-image ZIP packages before indexing. Launchable images stream as their original inner bytes, while .cia packages are explicitly marked for client-side installation.
  • ZIP-backed game downloads support single-range requests even when the inner archive stream is not seekable, enabling resumable Nintendo DS, Nintendo 3DS, and other validated single-ROM downloads.
  • Game Curation can rebuild FBNeo or MAME compatibility for one game without deleting unrelated profiles. The MAME audit includes a fingerprint-pinned exception for the verified Time Crisis package that embeds its exact namcoc71 device ROM, without rewriting the ZIP.
  • Android ARM64 launch resolution accepts the pinned Flycast v4 runtime identity for Dreamcast, NAOMI, Atomiswave, and audited NAOMI 2 packages. Split NAOMI 2 sets require their checksummed parent ZIP, while user-managed firmware is not injected into Android manifests.
  • Book manifests expose a byte-exact authenticated download URL with HTTP Range and HEAD support for offline reading.
  • The Client Home API can omit collection expansion for faster first-screen loading, and scans skip _maintenance directories by default.

The Docker release publishes linux/amd64 and linux/arm64 images as funland/foliospace-library:0.995 and funland/foliospace-library:latest.

FolioSpace Library 0.993

Choose a tag to compare

@funland funland released this 02 Aug 02:41

FolioSpace Library 0.993 adds Nintendo Virtual Boy catalog support and a server-owned game-platform catalog.

MCP 0.993 adds foliospace.get_game_platform_catalog, which returns stable platform IDs, display titles, aliases, indexed counts, and availability. Existing facets and manifest workflows remain backward compatible.

This release includes standalone MCP binaries for macOS and Linux on amd64 and arm64, plus SHA-256 checksums and the installer script.

FolioSpace Library 0.981

Choose a tag to compare

@funland funland released this 28 Jul 02:46

FolioSpace Library 0.981 adds exact, audited game launch-profile negotiation while preserving existing client contracts.

  • Adds POST /api/client/games/{gameId}/resolve for exact client/runtime inventory matching.
  • Ships audited MAME 0.288 profiles for Virtua Striker and Tekken Tag Tournament, including required dependencies and compatible logical filenames.
  • Returns immutable profile revision, runtime identity, checksums, logical filenames, and complete dependency closure.
  • Returns an explicit 409 runtime-profile-not-available for unsupported runtime combinations instead of substituting nearby ROM sets.
  • Keeps the existing game manifest unchanged for backward compatibility.
  • Adds the foliospace.resolve_game_launch_profile MCP tool and updates API/MCP documentation.
  • Publishes linux/amd64 and linux/arm64 Docker images.

FolioSpace Library 0.98

Choose a tag to compare

@funland funland released this 27 Jul 00:17

FolioSpace Library 0.98 expands game-platform indexing and adds a curated DOS launch contract.

  • Adds canonical PSP, Nintendo GameCube, and PlayStation 2 catalog metadata and filters.
  • Keeps NAOMI 2 filtering distinct from adjacent arcade platforms.
  • Adds the foliospace.list_game_platforms MCP tool backed by full-library facets.
  • Indexes curated DOS archives from games.json, including covers, metadata, launch commands, working directories, and package manifests.
  • Preserves archive-relative DOS launch paths for reliable client extraction and startup.

Docker: docker pull funland/foliospace-library:0.98

The Client API remains v1 and existing clients remain compatible.