All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Let callers choose the zip compression method by @fortmarek in #398
- Add file operation backpressure by @pepicrft in #345
- Make concurrent file writes race-safe by @pepicrft in #342
- Remove SwiftNIO backend from FileSystem by @pepicrft in #333
- Remove public extensions that silently shadow Foundation/stdlib by @pepicrft in #327
- Make StringProtocol.range(of:) scan UTF-8 bytes by @pepicrft in #325
- Add Musl support to File System Primitives by @fortmarek in #322
- Add opt-in swift-file-system backend by @pepicrft in #315
- Handle concurrent mkdir race in NIO's createDirectory by @pepicrft in #312
- Bump minimum ZIPFoundation version to 0.9.21 by @asevko in #308
- @asevko made their first contribution in #308
- Add setAttributes API to FileSysteming protocol by @pepicrft in #278
- Ensure touch creates files immediately visible to Foundation APIs by @fortmarek in #253
- Handle paths with hash characters in glob function by @pepicrft in #250
- Add Sendable conformance to FileSysteming protocol by @Ryu0118 in #237
- @Ryu0118 made their first contribution in #237
- Implement contentsOfDirectory by @fortmarek in #181
- Update swift-nio by @fortmarek in #174
- Add API to get the metadata of a particular file by @pepicrft in #148
- Expose Glob target as a package product by @yhkaplan in #130
- @yhkaplan made their first contribution in #130
- Move FileSystemTestingTrait to a new library product FileSystemTesting by @fortmarek in #126
- Add a Swift Testing trait to create and scope a temporary directory to a test or suite lifecycle by @pepicrft
- Add a Swift Testing trait to create and scope a temporary directory to a test or suite lifecycle by @pepicrft
- Infinite loop caused by symbolic links pointing to ancestor directories by @monchote in #120
- @monchote made their first contribution in #120
- Resolve relative symbolic link by @fortmarek in #116
- Ignore .gitkeep results when globbing by @dogo in #115
- @dogo made their first contribution in #115
- Crash from long strings when building in Debug by @waltflanagan in #112
- @waltflanagan made their first contribution in #112
- Temporary directory to return direct path instead of symlink by @fortmarek in #106
- Unstable ZIPFoundation version by @fortmarek in #105
- Update URLs APIs to work with linux by @ajkolean in #103
- @ajkolean made their first contribution in #103
- Handle relative symbolic links by @KaiOelfke in #98
- @KaiOelfke made their first contribution in #98
- Update Tuist setup to the latest conventions by @fortmarek in #100
- Recreating directory when on concurrent move by @fortmarek in #92
- Do not search recursively when a glob is a file name wildcard by @fortmarek in #90
- Glob with extension options by @fortmarek in #88
- Removing non-existing file or directory by @fortmarek in #86
- Use FileManager for file and directory removal to fix performance issues by @fortmarek in #85
- Ignore .DS_Store results when globbing by @fortmarek in #84
- Glob when base directory is a symlink by @fortmarek in #83
- Migrate used subset of swift-glob to FileSystem by @fortmarek in #82
- Path wildcard with constant component by @fortmarek in #81
- Matching files with double globstar by @fortmarek in #80
- Searching for files in symlinked directories by @fortmarek in #78
- Include hidden files by default by @fortmarek in #77
- Searching for a constant file by @fortmarek in #74
- Matching files with a trailing path wildcard by @fortmarek in #72
- Improve globbing performance by using parallelized Swift glob implementation by @fortmarek in #68
- Add conventional PR check by @fortmarek in #64
- Use different implementation of globbing for more stable behavior by @fortmarek in #66
- Glob returning paths with resolved symlinks by @fortmarek in #63
- Add support for getting the current working directory by @fortmarek in #52
- Do not throw error when resolving symlink of a plain directory by @fortmarek in #47
- Use TUIST_FILE_SYSTEM_RELEASE_TOKEN for auto-commit by @fortmarek in #50
- Update git-cliff by @fortmarek
- Add changelog.md file by @fortmarek in #49
- Update release workflow to use git cliff by @fortmarek in #48
- @fortmarek made their first contribution
- @pepicrft made their first contribution in #17
- @renovate[bot] made their first contribution in #16 [0.19.0]: https://github.com/tuist/FileSystem/compare/0.18.0..0.19.0 [0.18.0]: https://github.com/tuist/FileSystem/compare/0.17.3..0.18.0 [0.17.3]: https://github.com/tuist/FileSystem/compare/0.17.2..0.17.3 [0.17.0]: https://github.com/tuist/FileSystem/compare/0.16.9..0.17.0 [0.16.4]: https://github.com/tuist/FileSystem/compare/0.16.3..0.16.4 [0.16.2]: https://github.com/tuist/FileSystem/compare/0.16.1..0.16.2 [0.16.1]: https://github.com/tuist/FileSystem/compare/0.16.0..0.16.1 [0.16.0]: https://github.com/tuist/FileSystem/compare/0.15.38..0.16.0 [0.15.31]: https://github.com/tuist/FileSystem/compare/0.15.30..0.15.31 [0.15.26]: https://github.com/tuist/FileSystem/compare/0.15.25..0.15.26 [0.15.0]: https://github.com/tuist/FileSystem/compare/0.14.38..0.15.0 [0.14.11]: https://github.com/tuist/FileSystem/compare/0.14.10..0.14.11 [0.14.9]: https://github.com/tuist/FileSystem/compare/0.14.8..0.14.9 [0.14.0]: https://github.com/tuist/FileSystem/compare/0.13.53..0.14.0 [0.13.0]: https://github.com/tuist/FileSystem/compare/0.12.5..0.13.0 [0.12.0]: https://github.com/tuist/FileSystem/compare/0.11.23..0.12.0 [0.11.0]: https://github.com/tuist/FileSystem/compare/0.10.17..0.11.0 [0.10.0]: https://github.com/tuist/FileSystem/compare/0.9.2..0.10.0 [0.9.0]: https://github.com/tuist/FileSystem/compare/0.8.0..0.9.0 [0.8.0]: https://github.com/tuist/FileSystem/compare/0.7.18..0.8.0 [0.7.15]: https://github.com/tuist/FileSystem/compare/0.7.14..0.7.15 [0.7.13]: https://github.com/tuist/FileSystem/compare/0.7.12..0.7.13 [0.7.11]: https://github.com/tuist/FileSystem/compare/0.7.10..0.7.11 [0.7.9]: https://github.com/tuist/FileSystem/compare/0.7.8..0.7.9 [0.7.6]: https://github.com/tuist/FileSystem/compare/0.7.5..0.7.6 [0.7.4]: https://github.com/tuist/FileSystem/compare/0.7.3..0.7.4 [0.7.3]: https://github.com/tuist/FileSystem/compare/0.7.2..0.7.3 [0.7.0]: https://github.com/tuist/FileSystem/compare/0.6.24..0.7.0 [0.6.24]: https://github.com/tuist/FileSystem/compare/0.6.23..0.6.24 [0.6.18]: https://github.com/tuist/FileSystem/compare/0.6.17..0.6.18 [0.6.17]: https://github.com/tuist/FileSystem/compare/0.6.16..0.6.17 [0.6.15]: https://github.com/tuist/FileSystem/compare/0.6.14..0.6.15 [0.6.13]: https://github.com/tuist/FileSystem/compare/0.6.12..0.6.13 [0.6.12]: https://github.com/tuist/FileSystem/compare/0.6.11..0.6.12 [0.6.11]: https://github.com/tuist/FileSystem/compare/0.6.10..0.6.11 [0.6.10]: https://github.com/tuist/FileSystem/compare/0.6.9..0.6.10 [0.6.9]: https://github.com/tuist/FileSystem/compare/0.6.8..0.6.9 [0.6.8]: https://github.com/tuist/FileSystem/compare/0.6.7..0.6.8 [0.6.7]: https://github.com/tuist/FileSystem/compare/0.6.6..0.6.7 [0.6.5]: https://github.com/tuist/FileSystem/compare/0.6.4..0.6.5 [0.6.4]: https://github.com/tuist/FileSystem/compare/0.6.3..0.6.4 [0.6.2]: https://github.com/tuist/FileSystem/compare/0.6.1..0.6.2 [0.6.1]: https://github.com/tuist/FileSystem/compare/0.6.0..0.6.1 [0.6.0]: https://github.com/tuist/FileSystem/compare/0.5.4..0.6.0 [0.5.1]: https://github.com/tuist/FileSystem/compare/0.5.0..0.5.1 [0.5.0]: https://github.com/tuist/FileSystem/compare/0.4.9..0.5.0 [0.4.8]: https://github.com/tuist/FileSystem/compare/0.4.7..0.4.8 [0.4.0]: https://github.com/tuist/FileSystem/compare/0.3.2..0.4.0 [0.3.1]: https://github.com/tuist/FileSystem/compare/0.3.0..0.3.1