Skip to content

Releases: dduan/Pathos

0.4.2

23 Aug 01:37
8697a34
Compare
Choose a tag to compare
  • Fixed a problem where the + operator overload resolves in ambiguity when used on a Path and a string
    literal. This problem is due to Swift 5.4's behaviral change.

0.4.1

22 Aug 21:58
7f4e796
Compare
Choose a tag to compare

Add support for Swift 5.4

0.4.0

18 Dec 02:59
Compare
Choose a tag to compare

BREAKING CHANGES

While the functionality of this library remain compatible with previous release, its public API has
gone through a major re-design, making this release significantly source-breaking.

The goals for the redesign are

  1. Be more conventional in the Swift ecosystem by eliminating the "free functions".
  2. Make the selection of APIs cross-platform, including macOS, Linux, Windows 10, and future
    platforms Swift runs on.
  3. Use un-decoded, aka binary representation for the path value internally for efficiency and
    correctness reasons.

Experimental Windows 10 Support

This release includes implementation of all APIs for Windows 10. As Swift on Windows 10 is still
at early stage, Pathos consider its current Windows support experimental. All unit tests pass on
Windows. Pathos includes CMake builds as well as SwiftPM builds (as of this release, SwiftPM support
is tested with WSL).

New

Documentation rewritten in Markdown format replaces the previously generated documentation.

0.3.2

21 Sep 22:27
Compare
Choose a tag to compare
  • Fix a bug where children always recusively visit its content when following symlinks.

0.3.1

19 Sep 02:38
Compare
Choose a tag to compare
  • children() can follow symlinks found in the content if followSymlink parameter is set to True.
  • expand Linux distro support to match that of Swift's.

0.3.0

01 Jul 00:08
1475a0f
Compare
Choose a tag to compare

Fixes

  • Warnings in Swift 5.3

New

  • Added a new type Metadata, which represents information from stat (Darwin,
    Linux).
  • Added API to retrieve Metadata.
  • PathRepresentable.set(_:) (permissions)

Deprecations

The following APIs are deprecated in favor of metadata access APIs.

  • size(atPath)
  • modificationTime(atPath:)
  • accessTime(atPath:)
  • metadataChangeTime(atPath:)
  • PathRepresentable.size
  • PathRepresentable.modificationTime
  • PathRepresentable.accessTime
  • PathRepresentable.metadataChangeTime
  • permissions(forPath:)
  • PathRepresentable.permissions

Removed adding/removing permissions in favor of directly setting it:

  • add(_:forPath:)
  • remove(_:forPath:)
  • PathRepresentable.add(_:)
  • PathRepresentable.remove(_:)

Previously symbolic links were referred to as "symbol" or "symbolic link" in
APIs. From this version on, they'll be referred to as "symlink". This resulted
in the following changes:

  • createSymbolicLink(fromPath:toPath:) -> createSymlink(fromPath:toPath:)
  • PathRepresentable.createSymbolicLink(at:) -> PathRepresentable.createSymlink(at:)
  • readSymbolicLink(atPath:toPath) -> readSymlink(atPath:toPath)
  • PathRepresentable.readSymbolicLink() -> PathRepresentable.readSymlink()
  • FileType.symbolicLink -> FileType.symlink

Carthage is no longer supported.

Breaking changes

Previously symbolic links were referred to as "symbol" or "symbolic link" in
APIs. From this version on, they'll be referred to as "symlink". This resulted
in the following breaking changes:

  • exists(atPath:followSymbol:) -> exists(atPath:followSymlink:)
  • PathRepresentable.exists(followSymbol:) -> PathRepresentable.exists(followSymlink:)
  • copyFile(fromPath:toPath:followSymbolicLink:checkSize:) -> copyFile(fromPath:toPath:followSymlink:checkSize:)
  • PathRepresentable.copy(to:followSymbolicLink:checkSize:) -> PathRepresentable.copy(to:followSymlink:checkSize:)
c0a33d66a22521493e8ef30a40306800442ba46100ad15e6682172e369a06976  0.3.0.tar.gz
5f28bcbc7f4f1c773ac5287a250ae92d034c32a5021b36fbdaa21249538ec7b5  0.3.0.zip

0.2.3

03 Apr 01:38
db6138b
Compare
Choose a tag to compare
  • Re-implemented children(inPath:recursive) to fix issue #122
1909614ae4daf87749ac3e773acc23383244891ee383d86ba502d925f353ffea  0.2.3.tar.gz
04307d24befed1d304f05d152cb3f99e8d72aaff10119267e5fcf7bcf5c36610  0.2.3.zip
54c99f67f57b6a552e1594155ccd03eeede166fae40031d80e2a954654b620d1  Pathos.framework.zip

0.2.2

09 Mar 06:37
1c87529
Compare
Choose a tag to compare
  • Removed a build warning in Swift 5.2

0.2.1

21 Oct 20:36
Compare
Choose a tag to compare
Bump version to 0.2.1

0.2.0

09 Apr 16:34
Compare
Choose a tag to compare
Bump version to 0.2.0