Repository navigation
Releases: OpenListTeam/OpenList
Releases · OpenListTeam/OpenList
Release list
beta
🚀 Features
- drivers: Add CtFile OpenAPI driver - by SenkjM, Grok Bot, Claude, Suyunjing and LunelleEverdawn in #3214 (f33a2)
🐞 Bug Fixes
- deps:
- drivers/115:
- fs:
- sharing:
- webdav:
View changes on GitHub
v4.2.9
🐞 Bug Fixes
- mysql: Add size constraint to WebDAVProperty string fields for MySQL compatibility - by @PIKACHUIM in #3259 (0497e)
View changes on GitHub
v4.2.8
This release adds two major features, the Media Library and Advanced Transfer Seeds, and the UI now supports 22 languages. It also contains several important security updates. All users should read these notes carefully and upgrade as soon as possible.
🚀 New Features
- 🎬 Media Library: OpenList can now also be used as your personal media library (#2210 #396)
- Supports four media types: movies/TV, music, images and books. Scan paths and path-merge modes can be set separately for each type
- Pulls metadata from several sources: TMDB and Douban for movies/TV, Discogs plus ID3 tags for music, and local metadata for books and images
- Four dedicated browsing pages: a video wall, a music library (albums, tracks and a global floating player), an image gallery and a bookshelf
- In the admin panel you can view scan progress, edit entries, start scraping manually and clear the media database
- New global sidebar: collapsible, with a transparent mode, light/dark theme switching and a hamburger menu on mobile. Switch between files and each media library with a single click
- Supports Emby- and OpenSubsonic-compatible APIs, so any client that speaks these APIs can connect to the OpenList media server
- 🌱 Advanced Transfer Seeds: move files between cloud drives without transferring any file data (#3058 #670)
- A seed file of a few hundred bytes stands in for the actual file and records only its hashes and source
- The receiving side uses the seed to instant-upload the file to the target drive by hash, or to save it from a share link. Moving files between drives no longer means downloading them first and then uploading them again
- Converts seeds between three formats (OSS, torrent and CAS), detects which hashes each drive supports, and falls back through four stages
- Hash-based instant upload is implemented for 12 cloud drive drivers. Seeds can be generated, previewed and managed in the web UI
- 🌍 Languages: the UI is now available in 22 languages (#695 #714)
- Simplified Chinese, Traditional Chinese, English, Japanese, Korean, French, German, Spanish, Portuguese, Russian, Italian, Dutch
- Danish, Norwegian, Swedish, Turkish, Arabic, Hindi, Bengali, Urdu, Indonesian, Thai, Vietnamese
🛡️ Security Updates
- 📡 WebDAV (
⚠️ breaking change): corrects COPY/MOVE semantics, persists dead properties and strictly enforces locks (#3210) - 🪣 S3: direct-transfer redirects are now verified with the current instance's access keys to prevent forged redirects (#3158)
- 🧰 Build: Go toolchain upgraded to 1.27.3, fixing a recent CA certificate security issue (#3240)
- 💻 Frontend dependencies: handlebars 4.7.10 and katex 0.18.2, both security fixes (#698 #699)
- 📄 Security docs: the security boundary in SECURITY has been updated (#3211)
- 🔐 Login: the form now submits automatically once all 6 digits of the 2FA code are entered (#696)
🐞 Backend Fixes
- 🥔 China Unicom Cloud (Wopan): uses a browser user agent and refreshes tokens before initialization (#3222)
- 🐻 Baidu Netdisk: adds error codes that trigger a token refresh (#3232)
- 📡 WebDAV driver: if a directory stat fails, it retries with a trailing slash (#3223)
- 🔗 Sharing: fixes the missing base path for thumbnails in shared links (#3194)
- 🖼️ Static assets: the manifest icon type and sizes are now resolved dynamically (#3197)
📦 Dependency Upgrades
Frontend upgraded to vite 8.3.3, Node 24.22.1, pnpm 11.28.7, prettier 3.9.10, libheif-js 1.23.5, Crowdin CLI 5.5.0 and more (#703 #706 #691 #701 #693 #705)
❤️ Thanks to all contributors and community members for their feedback and support
🛡️ All users should read these notes before upgrading and upgrade as soon as possible
beta-media
🚀 Features
- func:
- Media library - by pikachuim (e776d)
- Media library - by pikachuim (0f340)
- Media library - by pikachuim (bd846)
- Media library build test - by pikachuim (87987)
- Media library build test - by pikachuim (0e337)
- Media library fix remote fetch error - by pikachuim (51c70)
- Media library fix remote fetch error - by pikachuim (9096e)
- Media library fix remote fetch error - by pikachuim (97759)
- Media library support select - by pikachuim (e33ff)
- Media library support select - by pikachuim (dc92f)
- Media library support select - by pikachuim (3527c)
- Media library support select - by pikachuim (8a72c)
- Media library support change api url - by pikachuim (cc1fe)
- Media library support change api url - by pikachuim (ce6bf)
- Media library support change api url - by pikachuim (5a27d)
- media:
- 并发刮削(默认 5)+ 单条落库 增强 TMDB 搜索:模糊匹配 + 多候选关键词 管理页面新增导入/导出媒体库(全部 / 按扫描路径) 缩略图路径默认值改为 imgs - by pikachuim (b5f72)
- 清空刮削、删除已失效 - by pikachuim (2182c)
- Support cloud codec via ffmpeg - by pikachuim (0386f)
- Support cloud codec via ffmpeg - by pikachuim (6e987)
- Support cloud codec via ffmpeg - by pikachuim (97e88)
- Support cloud codec via ffmpeg - by pikachuim (e750f)
- 提升刮削精准度,支持模糊刮削 - by pikachuim (ccb74)
- 提升刮削精准度,支持模糊刮削 - by pikachuim (6646f)
- 刮削支持自定义刮削数量,避免太占性能 - by pikachuim (609d0)
- 刮削支持自定义刮削数量,避免太占性能 - by pikachuim (6a46f)
- 刮削修复写入作品名问题 - by pikachuim (3ce3d)
- Add master switch, app keys, STRM, Emby and OpenSubsonic APIs - by pikachuren (ae012)
- Allow any logged-in user to manage their own media app keys - by pikachuren (00ee7)
- Allow signing arbitrary media path for local player - by pikachuren (b7673)
- Add local thumbnail endpoint and cover proxy with fallback gateway - by pikachuren (dcf74)
- Thumbnail storage modes and STRM same-directory output - by pikachuren (0452c)
- Google Books/OpenLibrary sources and remote cover download - by pikachuren (92856)
- Progress and favorites API shared with Emby/Subsonic - by pikachuren (d563d)
- Add preferred scrape language and namespace protocol endpoints under @ - by pikachuren (9cd04)
🐞 Bug Fixes
- emby:
- Allow anonymous user discovery and login before auth - by pikachuren (ac2fe)
- media:
- Fix api proxy path - by pikachuim (8dbcd)
- Fix lrc file display & music id3 - by pikachuim (ae6f0)
- Fix media scan sub path error - by pikachuim (b00e6)
- Clean up imports and improve FetchFileReader logic - by j2rong4cn (20d9d)
- Return 404 on missing item_id and fix unscraped item query - (75632)
- Always return an array for media status types - by pikachuren (4bcfb)
- Persist per-type scraper config and apply it to thumbnails - by pikachuren (a4ae0)
- Allow guest media access, per-file local thumbnails and optional cover proxy - by pikachuren (46dc6)
- Harden anonymous emby images, pagination and cover proxy SSRF - by pikachuren (d8322)
View changes on GitHub
v4.2.7
🚀 Features
- drivers/139:
- drivers/guangyapan:
- Add md5-based instant upload support - by @PIKACHUIM and PIKACHUIM in #3034 (6ad44)
- drivers/pikpak:
- local:
- Add PDF thumbnails on macOS - by @flyingrtx2333, Codex and @ILoveScratch2 in #3017 (f18b4)
- server/s3:
- task:
🐞 Bug Fixes
- Harden request handling for files, search, proxy and SSO - by @ILoveScratch2 and PIKACHUIM (ea106)
- 115_open:
- alist_v3:
- aliyundrive:
- Limit callback concurrency - by @nostalume and Codex in #3071 (89345)
- build:
- Update cgo-actions version to v1.3.0 and fallback FreeBSD version to 14.4 - by @elysia-best in #3130 (c1670)
- deps:
- drivers/139:
- drivers/189:
- drivers/189pc:
- drivers/lanzou:
- drivers/s3:
- Sign content-type for direct uploads - by @mumingluan and Codex in #3152 (6bb4c)
- fs:
- ftp:
- internal/db/searchnode:
- Fix index update path - by @ILoveScratch2 in #3128 (54ae9)
- net:
- op:
- Enforce link cache lifecycle policy - by @nostalume, nostalume and Codex in #3101 (56064)
- release:
- s3:
- Default upload content types and return partial content - by @jyxjjj and Codex in #3053 (d9d8a)
- Encode multipart fixture paths - by @nostalume, nostalume and Codex in #3074 (5447e)
- Close ranged response bodies - by @nostalume in #3095 (b51d1)
- End common prefixes with a slash - by @zeroornull, zeroornull and @cursoragent in #3174 (f2774)
- teldrive:
- Use a valid root path for listings - by @spark-328 in #3108 (cadbf)
- webdav:
View changes on GitHub
v4.2.6
🚨 Breaking Changes
- drivers/189pc: Normalize escaped apostrophes in names - by @qbisi, Codex and Pikachu Ren in #2792 (d220b)
🚀 Features
- drivers/github: Add optional accurate modified time - by @jiwangyihao in #2388 (d12bd)
- ilanzou: Modernize console API session and copy - by @devLythen in #2962 (39fca)
- setting: Add move transfer threads option - by @UVJkiNTQ in #2907 (89077)
- strm: Add file size filtering for STRM generation - by @kanoshiou in #2911 (150a9)
🐞 Bug Fixes
- auth:
- cmd/start:
- deps:
- Update module github.com/blevesearch/bleve/v2 to v2.6.0 - in #2704 (0b1e9)
- Update module github.com/nwaples/rardecode/v2 to v2.4.1 - in #2973 (4619a)
- Update module github.com/quic-go/quic-go to v0.61.0 - in #2899 (ab51c)
- Update module github.com/blevesearch/bleve/v2 to v2.6.1 - in #2978 (edbf4)
- Update module gorm.io/driver/postgres to v1.6.2 - in #2981 (c2b36)
- Update module github.com/sirupsen/logrus to v1.10.2 - in #2982 (80795)
- Update module github.com/rclone/rclone to v1.75.0 - in #2900 (fd7fb)
- Update module github.com/pkg/sftp to v1.13.11 - in #2980 (b86e4)
- Update module github.com/jlaffaye/ftp to v0.2.4 - in #2979 (b1cc7)
- Update module github.com/antchfx/xpath to v1.3.8 - in #2977 (39431)
- Update github.com/cloudsoda/go-smb2 digest to 0b399b9 - in #2976 (4c611)
- Update module golang.org/x/crypto to v0.55.0 - in #2993 (666b1)
- Update module github.com/coreos/go-oidc to v2.5.0+incompatible - in #2711 (9b34c)
- Update module github.com/azure/azure-sdk-for-go/sdk/azcore to v1.23.1 - in #2985 (4031b)
- Update module github.com/bmatcuk/doublestar/v4 to v4.10.0 - in #2987 (88698)
- Update module github.com/go-webauthn/webauthn to v0.18.0 - by Pikachu Ren in #2988 (cc11f)
- Update module golang.org/x/image to v0.45.0 - in #2994 (3ea99)
- Update module github.com/shirou/gopsutil/v4 to v4.26.8 - in #3014 (fc23f)
- Update module google.golang.org/grpc to v1.85.0-dev - in #3015 (f8eba)
- drivers:
- Stop the upload retry loop when the context is canceled - by @beardthelion and Pikachu Ren in #2892 (eea8f)
- drivers/139:
- drivers/189:
- drivers/189pc,drivers/189tv:
- drivers/emby:
- drivers/guangyapan:
- Report multipart upload progress to copy task - by @hugcabbage and Pikachu Ren in #2989 (8f9a0)
- drivers/lanzou:
- drivers/onedrive_sharelink:
- drivers/strm:
- meta:
- offline:
- server/s3:
- Paginate recursive object listings - by @nostalume, nostalume and Codex in #2968 (e0e4d)
- upload:
View changes on GitHub
v4.2.5
🚀 Features
- drivers: Add GuangYaPan driver with offline download support - by @PIKACHUIM in #2882 (6f80d)
- fs: Add pipelined multipart upload - by @thetapilla in #2723 (cca77)
🐞 Bug Fixes
- ci:
- Allow pr check to run by default - by @elysia-best in #2856 (6b92c)
- Change missed pull_request to pull_request_target - by @elysia-best in #2873 (f2f7e)
- deps:
- Update module github.com/sheltonzhu/115driver to v1.3.5 - in #2895 (a4ae2)
- Update module github.com/nwaples/rardecode/v2 to v2.3.0 - by @PIKACHUIM in #2898 (c9717)
- Update module github.com/shirou/gopsutil/v4 to v4.26.7 - in #2896 (ec1f9)
- Update module golang.org/x/sys to v0.47.0 - in #2751 (194f9)
- Update azure-sdk-for-go monorepo - in #2700 (2e278)
- Update module github.com/ipfs/go-cid to v0.6.2 - in #2738 (d8ad2)
- Update module golang.org/x/net to v0.57.0 - by @PIKACHUIM in #2748 (6d4ad)
- Update module gorm.io/driver/mysql to v1.6.0 - by @PIKACHUIM in #819 (cc87e)
- drivers/guangyapan:
- drivers/lanzou:
- stream:
- Allow seeking beyond file size per Go convention - by @Ovear and @PIKACHUIM in #2667 (7e908)
View changes on GitHub
v4.2.4
🚀 Features
- azure_blob: Preserve content type and md5 - by @NewFuture in #2734 (a283f)
- drivers: Add Bunny Storage driver - by @demogest and Codex in #2472 (791a2)
- drivers/139: Merge multiple share roots - by @syscc in #2783 (0a9e7)
🐞 Bug Fixes
- 115,115share:
- Update github.com/SheltonZhu/115driver to v1.3.4 - by @SheltonZhu in #2794 (24332)
- 115_open:
- buffer:
- deps:
- Update github.com/t3rm1n4l/go-mega digest to 4de2f12 - in #2710 (94eac)
- Update module github.com/dlclark/regexp2 to v1.12.0 - in #2713 (757f9)
- Update module gorm.io/driver/sqlite to v1.6.0 - in #2757 (a81f5)
- Update module gorm.io/driver/postgres to v1.6.0 - in #2756 (daaba)
- Update module google.golang.org/grpc to v1.82.0 - in #2754 (8930e)
- Update module github.com/maruel/natural to v1.3.0 - in #2739 (e6703)
- Update module github.com/quic-go/quic-go to v0.60.0 - in #2743 (f3e74)
- Update module github.com/shirou/gopsutil/v4 to v4.26.6 - in #2745 (5aeaf)
- Update module github.com/protonmail/gopenpgp/v2 to v2.10.0 - in #2742 (651b5)
- Update module github.com/go-resty/resty/v2 to v2.17.2 - in #2718 (b1d29)
- Update module github.com/deckarep/golang-set/v2 to v2.9.0 - in #2712 (0527d)
- Update module github.com/nwaples/rardecode/v2 to v2.2.5 - in #2699 (59612)
- Update module github.com/bodgit/sevenzip to v1.6.5 - in #2789 (e4696)
- Update module gorm.io/gorm to v1.31.2 - in #2758 (6b702)
- Update module github.com/rclone/rclone to v1.74.4 - in #2744 (36168)
- Update github.com/t3rm1n4l/go-mega digest to c6acd6a - in #2829 (2deb1)
- drivers/115_open:
- drivers/s3:
- handles:
- proxy:
- search:
- sharing:
View changes on GitHub
v4.2.3
🚀 Features
- actions:
- Add workflow to clean up untagged Docker images - by @elysia-best in #2657 (9e55a)
- archive:
- baidu:
- drivers:
- drivers/alidoc:
- Add DingTalk Docs driver - by @zjhcx and @j2rong4cn in #2543 (aa534)
- mcp:
- onedrive_sharelink:
- s3:
🐞 Bug Fixes
- Prevent panic in unaligned 64-bit atomic - by @yunxuanhao in #2637 (d403f)
- 115-open:
- archive:
- build.sh:
- Remove
rm -rf .git/- by @elysia-best in #2703 (a92d5)
- Remove
- cache,mem:
- Replace finalizers with runtime.AddCleanup - by @j2rong4cn in #2535 (9282e)
- chaoxing:
- Support multiple uploadDate formats - by @yuxiaoyu8192 in #2545 (cd664)
- clean_docker:
- Only fetch up to 10 pages of image versions - by @elysia-best in #2680 (e9ea9)
- deps:
- Update module github.com/antchfx/htmlquery to v1.3.6 - by @PIKACHUIM in #2601 (009d8)
- Update module github.com/aws/aws-sdk-go to v1.55.8 - in #2574 (aea77)
- Update github.com/t3rm1n4l/go-mega digest to 6845944 - in #2088 (40b39)
- Update module github.com/charmbracelet/bubbles to v0.21.1 - in #2686 (759ad)
- Update module github.com/pkg/sftp to v1.13.10 - in #2694 (30922)
- Update module github.com/sirupsen/logrus to v1.9.4 - in #2695 (31810)
- Update module github.com/ncw/swift/v2 to v2.0.5 - in #2691 (1be74)
- Update module github.com/mholt/archives to v0.1.5 - in #2690 (33015)
- Update module github.com/bodgit/sevenzip to v1.6.4 - by @PIKACHUIM in #2682 (cc3d8)
- Update module github.com/gin-contrib/cors to v1.7.7 - in #2688 (5273a)
- Update github.com/cloudsoda/go-smb2 digest to d8c5600 - in #2298 (d8598)
- Update module github.com/stangelandcl/ppmd v0.1.1 - by @PIKACHUIM in #2698 (f63a5)
- doubao_new:
- Remove temp file after cross-storage put - by @Suyunmeng in #2530 (98c32)
- driver:
- Json: cannot unmarshal number into Go struct field RenameResp.id of type string - by @PIKACHUIM in #2526 (ba6f9)
- 123pan url www.123pan.com -> yun.123pan.com - by @PIKACHUIM in #2678 (d4aa8)
- drivers/115_open:
- Simplify Move and Copy methods to return error directly - by @tide-wait in #2505 (b86d1)
- drivers/189pc:
- drivers/chunk:
- drivers/ftp:
- drivers/github_releases:
- drivers/thunder:
- drivers/webdav:
- fs:
- Clear skipped names before copy and move tasks - by @Suyunmeng in #2520 (4c77b)
- go.mod:
- Update Go version to 1.25 - by @elysia-best in #2692 (86679)
- ilanzou:
- Fix redirect - by @ucscynsqfhnlmntznkaeporoc in #2649 (5a12c)
- index/meilisearch:
- local:
- Remove thumbnail cache on delete - by @jyxjjj and **Co...
v4.2.2
🚨 Breaking Changes
- cache: Extract hybrid_cache package - by @j2rong4cn in #2477 (9eae6)
- settings: Move FilterReadMeScripts to frontend - by @xrgzs in #2346 (a5ba6)
🚀 Features
- 115_open: Implement Getter interface - by @sevxn007 in #1811 (07506)
- 189pc: Implement AccessToken login - by @zypluckyphoenix in #2245 (0726d)
- func: Support ed2k & magnet & torrent offline download - by @PIKACHUIM in #2452 (1d071)
- s3: Implement Getter interface - by @ZRHann in #1790 (9033b)
- sharing: Allow custom share IDs - by @MuelNova in #2353 (7e37c)
- webdav: Implement Getter interface - by @ZRHann and Copilot in #2421 (e2840)
🐞 Bug Fixes
- 115:
- Fix capacity display and CDN 403 errors - by @SheltonZhu in #2510 (ffbbc)
- 189pc:
- Handle numeric res_code in RenameResp to fix JSON unmarshal error - by @PIKACHUIM in #2489 (b2820)
- about:
- driver:
- Fix 189 & 189pc fastcopy form local storage - by @PIKACHUIM in #2471 (7feec)
- driver/139:
- drivers:
- drivers/139:
- drivers/local:
- Capture ENOTTY in reflink to allow fallback - by @elysia-best in #2492 (7cfb2)
- drivers/wps:
- fsmanage:
- Improve path validation - by @j2rong4cn in #2437 (c7c0c)
- internal/fs:
- offline_download:
- qbittorrent:
- setting:
- Handle delete of setting item with empty key - by @j2rong4cn in #2131 (ea19b)
🏎 Performance
- Replace strings.Split with strings.SplitSeq - by @j2rong4cn in #2441 (d3a6b)