Skip to content

Commit 1d0501e

Browse files
Released version 4.0.0 to NuGet.
1 parent 72e5b83 commit 1d0501e

3 files changed

Lines changed: 29 additions & 11 deletions

File tree

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased]
88

9+
## [4.0.0] - 2026-04-14
10+
### Removed
11+
- Removed `FilePickerOptionsStartInWellKnownDirectory` and `FilePickerOptionsStartInFileSystemHandle` and replaced their usages with the new `FilePickerOptions` class.
12+
- Removed `DirectoryPickerOptionsStartInWellKnownDirectory` and `DirectoryPickerOptionsStartInFileSystemHandle`. Use `DirectoryPickerOptions` instead.
13+
- Removed `OpenFilePickerOptionsStartInWellKnownDirectory` and `OpenFilePickerOptionsStartInFileSystemHandle`. Use `OpenFilePickerOptions` instead.
14+
- Removed `SaveFilePickerOptionsStartInWellKnownDirectory` and `SaveFilePickerOptionsStartInFileSystemHandle`. Use `SaveFilePickerOptions` instead.
15+
- Removed `FileSystemAccessOptions` as we can achieve the same by using an import map to reduce cluttered and inconsistent APIs.
16+
### Changed
17+
- Reduced number of overloads for the `ShowDirectoryPickerAsync` method in `IFileSystemAccessService` and `IFileSystemAccessServiceInProcess` to only include a single that has an optional `DirectoryPickerOptions` parameter.
18+
- Reduced number of overloads for the `ShowOpenFilePickerAsync` method in `IFileSystemAccessService` and `IFileSystemAccessServiceInProcess` to only include a single that has an optional `OpenFilePickerOptions` parameter.
19+
- Reduced number of overloads for the `ShowSaveFilePickerAsync` method in `IFileSystemAccessService` and `IFileSystemAccessServiceInProcess` to only include a single that has an optional `SaveFilePickerOptions` parameter.
20+
- Changed the version of `Blazor.FileSystem` to use the newest version which is `1.0.3`.
21+
### Added
22+
- Added `DirectoryPickerOptions` that encompases all the ways that we can adjust how we open a directory.
23+
- Added `OpenFilePickerOptions` that encompases all the ways that we can adjust how we open a file.
24+
- Added `SaveFilePickerOptions` that encompases all the ways that we can adjust how we save a file.
25+
- Added `FilePickerOptions` which better reflects the same as the WebIDL specification.
26+
927
## [3.3.0] - 2025-04-08
1028
### Added
1129
- Added Mode option for BaseDirectoryPickerOptions. By [@datvm](https://github.com/datvm).

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@
77
# Introduction
88
A Blazor wrapper for the browser API [File System Access](https://wicg.github.io/file-system-access)
99

10-
The API makes it possible to read and write to your local file system from the browser both files and directories.
10+
The API makes it possible to read and write to your local file system from the browser, both files and directories.
1111

12-
_Disclaimer: The API is supported on a limited set of browsers. Most noticeable not supported on Firefox, Chrome for Android, and iOS mobile browsers._
12+
_Disclaimer: The API is supported on a limited set of browsers. Most notably not supported on Firefox, Chrome for Android, and iOS mobile browsers._
1313

1414
## Demo
1515
The sample project can be demoed at https://kristofferstrube.github.io/Blazor.FileSystemAccess/
1616

1717
On each page you can find the corresponding code for the example in the top right corner.
1818

19-
On the main page you can see if the API has at least minimal support in the used browser.
19+
On the main page you can see if the API has at least minimal support in the browser being used.
2020

2121
On the [Status page](https://kristofferstrube.github.io/Blazor.FileSystemAccess/Status) you can see how much of the WebIDL specs this wrapper has covered.
2222

@@ -27,7 +27,7 @@ You need to install .NET 7.0 or newer to use the library.
2727
[Download .NET 7](https://dotnet.microsoft.com/download/dotnet/7.0)
2828

2929
## Installation
30-
You can install the package via Nuget with the Package Manager in your IDE or alternatively using the command line:
30+
You can install the package via NuGet with the Package Manager in your IDE or alternatively using the command line:
3131
```bash
3232
dotnet add package KristofferStrube.Blazor.FileSystemAccess
3333
```
@@ -81,7 +81,7 @@ Then you can use `IFileSystemAccessService` to open one of the three dialogs ava
8181
}
8282
catch (JSException ex)
8383
{
84-
// Handle Exception or cancelation of File Access prompt
84+
// Handle Exception or cancellation of File Access prompt
8585
Console.WriteLine(ex);
8686
}
8787
finally
@@ -127,16 +127,16 @@ var fileHandles = await FileSystemAccessService.ShowOpenFilePickerAsync(options)
127127
```
128128

129129
## Removed `FileSystemAccessOptions`
130-
We removed the `FileSystemAccessOptions` parameter and all methods that previously accepted it as it duplicated functionality that could be achived in other ways.
130+
We removed the `FileSystemAccessOptions` parameter and all methods that previously accepted it as it duplicated functionality that could be achieved in other ways.
131131

132132
Instead of using them, you need to configure an [importmap](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script/type/importmap) if you want to define custom paths for loading the helper modules from this library.
133133

134-
Blazor also has a native [ImportMap component](https://learn.microsoft.com/en-us/aspnet/core/blazor/fundamentals/static-files?view=aspnetcore-10.0#importmap-component) that that plays well with fingerprinted resources.
134+
Blazor also has a native [ImportMap component](https://learn.microsoft.com/en-us/aspnet/core/blazor/fundamentals/static-files?view=aspnetcore-10.0#importmap-component) that plays well with fingerprinted resources.
135135

136136
## Blazor.FileSystem removed `FileSystemDirectoryHandle.ValuesAsync`
137137
The `ValuesAsync` method was removed from Blazor.FileSystem, and instead you should now use the `ValuesAsync` extension method available from Blazor.WebIDL.
138138

139-
This change was made to make easier to handle memory safely.
139+
This change was made to make it easier to handle memory safely.
140140

141141
So if you had the following before:
142142
```csharp
@@ -165,14 +165,14 @@ In the above example, we pass `true` for the `disposePreviousValueWhenMovingToNe
165165
# Issues
166166
Feel free to open issues on the repository if you find any errors with the package or have wishes for features.
167167

168-
A known issue is that using Streams to stream large amount of data in Blazor Server is not supported.
168+
A known issue is that using Streams to stream large amounts of data in Blazor Server is not supported.
169169

170170
# Related repositories
171171
This project uses the *Blazor.FileSystem* package to return rich `FileSystemHandle`s both `FileSystemFileHande`s and `FileSystemDirectoryHandle`s.
172172
- https://github.com/KristofferStrube/Blazor.FileSystem
173173

174174
# Related articles
175-
This repository was build with inspiration and help from the following series of articles:
175+
This repository was built with inspiration and help from the following series of articles:
176176

177177
- [Wrapping JavaScript libraries in Blazor WebAssembly/WASM](https://blog.elmah.io/wrapping-javascript-libraries-in-blazor-webassembly-wasm/)
178178
- [Call anonymous C# functions from JS in Blazor WASM](https://blog.elmah.io/call-anonymous-c-functions-from-js-in-blazor-wasm/)

src/KristofferStrube.Blazor.FileSystemAccess/KristofferStrube.Blazor.FileSystemAccess.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<RepositoryUrl>https://github.com/KristofferStrube/Blazor.FileSystemAccess</RepositoryUrl>
1212
<RepositoryType>git</RepositoryType>
1313
<PackageLicenseExpression>MIT</PackageLicenseExpression>
14-
<PackageVersion>3.3.0</PackageVersion>
14+
<PackageVersion>4.0.0</PackageVersion>
1515
<Authors>Kristoffer Strube</Authors>
1616
<PackageReadmeFile>README.md</PackageReadmeFile>
1717
<PackageIcon>icon.png</PackageIcon>

0 commit comments

Comments
 (0)