Skip to content

fs

Modern and easy-to-use file system API.

Sep 26, 2026
  • 97e865bc (#3623) Added an options parameter with baseDir to size, so relative paths can be measured, like the other functions and like the JSDoc example already showed. The Rust command already accepted it.
  • 9106093f (#3624) Fixed opening Android content:// URIs with append or with write, truncate and append together: the options were turned into invalid modes such as ra or wta. They now map to the modes Android accepts (r, w, wt, wa, rw, rwt), append taking precedence over read since there is no read and append mode.
  • 1cae06a5 (#3625) Fixed readTextFileLines yielding empty lines forever when reading fails (e.g. on a directory). The read error is now reported: the iterator rejects and the file is closed.
  • 1cae06a5 (#3625) Fixed readTextFileLines leaving the file open until the webview is destroyed when a for await loop over it exits early (break, return or throw). The iterator now implements return(), which closes the file.
  • 0c84c917 (#3621) File watcher errors (e.g. the watched directory was removed or the inotify limit was reached) are now logged instead of being silently dropped.
  • b46a88ff (#3622) writeFile and writeTextFile now fail when their options cannot be parsed instead of silently ignoring them (including baseDir, append and createNew) and writing to the raw path. Data sent as a JSON array is rejected if it contains values that are not bytes, instead of truncating them.
  • ae3c808e (#3602) The plugin's global API script (used with app.withGlobalTauri) now resolves the core API from window.__TAURI__ instead of bundling its own copy of @tauri-apps/api. Values created with the core API are now accepted by plugin APIs in global mode (e.g. an Image from window.__TAURI__.image passed to clipboardManager.writeImage, which previously failed the instanceof check against the plugin's private copy), and the script is considerably smaller.
  • 9b29b601 Update MSRV to 1.90 to match tauri.
  • a87a3c7d Update documentation.
Aug 31, 2026
May 2, 2026
Apr 4, 2026
  • e97a4ded (#3244 by @SeijiOkuda) Add encoding option for readTextFile and readTextFileLines
  • f75d21db (#3360 by @Legend-Master) Removed the dependency on tauri-utils's build feature
  • f5f68063 (#3185 by @lucasfernog) Enable access for security-scoped resources on iOS by automatically calling NSURL::startAccessingSecurityScopedResource on resource access and adding the stopAccessingSecurityScopedResource API.
Jan 8, 2026
  • 521cd8b3 (#3155 by @EliasStar) Fix off by one error in the implementation of readTextFileLines causing all lines to end with an (additional) null byte. Issue: #3154 PR: #3155
Oct 27, 2025
  • 93426f85 Fixed an issue that caused docs.rs builds to fail. No user facing changes.
Oct 26, 2025
Aug 20, 2025
  • 4eb36b0f (#2907 by @Legend-Master) Fixed calling writeFile with data: ReadableStream throws Invalid argument
  • 515182a1 (#2915 by @samhinshaw) readFile now returns a more specific type Promise<Uint8Array<ArrayBuffer>> instead of the default Promise<Uint8Array<ArrayBufferLike>
Jul 20, 2025
Jun 25, 2025
May 20, 2025
Apr 2, 2025
  • 831c35ff (#2550) Fix writeFile ReadableStream handling due to missing async iterator support on macOS platform
Dec 9, 2024
  • 3a79266b (#2173 by @FabianLars) Bumped all plugins to v2.2.0. From now, the versions for the Rust and JavaScript packages of each plugin will be in sync with each other.
Dec 9, 2024
Dec 2, 2024
Nov 5, 2024
  • 77149dc4 (#1965 by @amrbashir) Fix writeTextFile converting UTF-8 characters (for example äöü) in the given path into replacement character (�)
Oct 20, 2024
Oct 2, 2024
  • e2c4dfb6 Update to tauri v2 stable release.

fs full changelog


© 2026 Tauri Contributors. CC-BY / MIT