·
136 commits
to main
since this release
What's Changed
- Correctly set .fileTypeSymlink on windows by @jmschonfeld in #773
- Bare minimum [U]Int128 support for JSON encode/decode by @stephentyrone in #767
- Update README by @parkera in #796
- URL: Don't standardize relative file paths by @jrflat in #792
- [CMake] Resolve module map conflict with duplicate in SDK by @jmschonfeld in #789
- [CMake] Fix macro install rpath by @jmschonfeld in #793
- Remove unneccessary _FileManagerImpl.delegate by @jmschonfeld in #801
- Update swift-syntax repository link in README.md by @lamtrinhdev in #805
- Add explicit include of
wasi/libc-environ.h
by @kateinoigakukun in #786 - Add explicit void type parameter to C functions without parameters by @kateinoigakukun in #775
- Exclude EREMOTE definition for WASI platform by @kateinoigakukun in #778
- Throw
.featureUnsupported
when attempting to create temp files on WASI by @kateinoigakukun in #779 - Fix
operatingSystemVersion
on WASI by @kateinoigakukun in #782 - Guard out extended or fs attributes related code on WASI by @kateinoigakukun in #784
- Guard out user/group related code on WASI by @kateinoigakukun in #783
- Skip sticky-bit check in
isDeletableFile
on WASI by @kateinoigakukun in #785 - Implement
_copyRegularFile
for WASI withoutsendfile
by @kateinoigakukun in #787 - Port
LockedState
and_ThreadLocal
to WASI without any locking by @kateinoigakukun in #780 - Upgrade SwiftFoundationICU to version 74 by @iCharlesHu in #802
- Prevent null character in Windows home directory by @jrflat in #808
- Adding some more tests for [U]Int128 in BinaryInteger+FormatStyleTests.swift and JSONEncoderTests.swift by @lamtrinhdev in #806
- Add WASI platform conditions for libc imports and word size by @kateinoigakukun in #776
- Add compatibility path for invalid UTF8 data by @parkera in #815
- Remove _typeByName lookup of _FoundationNSNumberInitializer by @jmschonfeld in #817
- Remove FoundationPreview umbrella module by @jmschonfeld in #818
- Enable wasi-libc emulation features by @kateinoigakukun in #777
- Add FoundationNetworking hook for reading contents of remote URL by @jmschonfeld in #820
- rdar://132940984 (Regression: Swift Decoding of Double.greatestFiniteMagnitude as Int causes a crash) by @kperryua in #827
- Add JSON benchmarks and make benchmark package build for more targets by @parkera in #810
- do not import stdatomic as it doesn't work with c++ interop on windows by @hyp in #830
- Use platform shims for clock_gettime to support wasi-libc by @kateinoigakukun in #781
- [wasm] Fall back to a default chunk size when
st_blksize
is not available by @kateinoigakukun in #835 - Add note about 'swift package update' to build process documentation by @jmschonfeld in #837
- Fix ProcessInfo.processName for Windows by @iCharlesHu in #839
- Enable WMO by @jmschonfeld in #832
- FoundationMacros: use cross-compilation to build for host by @compnerd in #714
- Port directory enumeration related code to WASI by @kateinoigakukun in #836
- [android] fix the LP32 armv7/i686 android build by @hyp in #846
- [main] Get Swift-Foundation building against MUSL for Swift Static SDK by @etcwilde in #848
- Resolved an arithmetic overflow error in Decimal division caused by improper upcasting by @iCharlesHu in #850
- Fix hard-coded path to
FoundationEssentialsTests
resources by @xedin in #855 - Hide Windows magic environment values from ProcessInfo.environment by @iCharlesHu in #853
- Add requirements to only run DecimalTests.testCrashingDivision on 64 bit devices by @iCharlesHu in #856
- [Android] Use the Bionic module in more places by @finagolfin in #842
- Use fallback home directory on Windows by @jmschonfeld in #854
- URL.fileSystemPath should drop all trailing slashes by @jrflat in #852
- Fix Windows symlink handling in FileManager APIs by @jmschonfeld in #858
- FileManager.fileExists(atPath:) should follow symlinks on Windows by @jmschonfeld in #859
- Fix Windows home directory for specific user by @jmschonfeld in #861
- Autolink wasi-libc emulation libraries by @kateinoigakukun in #843
- URL(filePath: path, directoryHint: .notDirectory) should strip trailing slashes by @jrflat in #867
- Remove the
#include <setjmp.h>
from_CStdlib.h
by @kateinoigakukun in #873 - Automatically build FoundationMacros for local CMake builds by @jmschonfeld in #844
- [docs] Fix typo issue at Foundation_Build_Process.md by @lamtrinhdev in #876
- subpathsOfDirectory(atPath:) should throw on empty paths by @jmschonfeld in #869
- Update wording and link in evolution.md by @lamtrinhdev in #814
- Remove RegexBuilder conditional in Package manifest by @jmschonfeld in #879
- Decimal bin compat: remove the usage of @_cdecl from 'public' methods defined in NSDecimal.h by @iCharlesHu in #880
- Fix NSURLComponents bridging with percent-encoding by @jrflat in #831
- URL.host should not return percent-encoded host by @jrflat in #875
- [android] don't enable WMO as the old driver fails to build with WMO … by @hyp in #851
- Formatting performance improvements by @parkera in #884
- URLComponents: support http(s)+unix schemes by @jrflat in #883
- [cmake] Add missing locale_notifications.swift by @etcwilde in #885
- Correct available version macOS 10.10 for String+Essentials.swift by @lamtrinhdev in #886
- Re-enable disabled tests due to ICU-74 by @iCharlesHu in #890
- Change @_nonSendable to unavailable extensions by @jmschonfeld in #892
- Set
SWIFT_SYSTEM_NAME
for macro project in CMake by @jmschonfeld in #896 - Fix deleteLastPathComponent() for paths with trailing / by @rjmansfield in #897
- ProcessInfoTests.testOperatingSystemIsAtLeastVersion should not run on visionOS by @iCharlesHu in #894
- Implement negative power support to pow(_ x: Decimal, _ y: Int). by @iCharlesHu in #895
- Add a test to make sure ProcessInfo can deliver the correct thermal state and power state on all platforms by @iCharlesHu in #905
- Modernize and update gitignore by @parkera in #911
- Fix macro source location by @etcwilde in #910
- [Proposal] SF-NNNN Extending Calendar.RecurrenceRule.End by @hristost in #893
- Add
.count
and.date
properties toCalendar.RecurrenceRule.End
by @hristost in #888 - [Proposal] SF-0010 Rename accepted proposal (was previously NNNN) by @hristost in #916
- [Android] Enable more code and tests by @finagolfin in #871
- Properly
throw
in case of numeric overflow in Calendar mathematics by @itingliu in #900 - Benchmarks for URL and URLComponents by @jrflat in #907
- URLComponents: support ws(s)+unix schemes by @jrflat in #918
- PropertyListEncoder: Reference the property on the class itself instead of the options struct by @parkera in #919
- String+Path parsing performance improvements by @jrflat in #927
- Add runtime check to Decimal(sign:exponent:significand:) for bin compat by @iCharlesHu in #933
- Support initializing string with nonLossyASCII encoding by @jmschonfeld in #932
- Delete CODE_OF_CONDUCT.md by @parispittman in #936
- Update CONTRIBUTING.md by @parispittman in #935
- Fix windows creation of relative symlinks to directories by @jmschonfeld in #931
- Short-circuit logic to get locale that requires special case handling. by @itingliu in #937
- Performance optimizations for data reading/writing by @jmschonfeld in #942
- Rename
CalendarBenchmarks
toInternationalizationBenchmarks
by @fabianfett in #943 - Follow up for dcd7a97: Trim an empty line by @itingliu in #945
- [wasm] Fix CocoaError construction for unsupported copy/link operations by @kateinoigakukun in #944
- Remove unused AttributedString initializers by @jmschonfeld in #948
- Remove unused Swift URL code by @jrflat in #949
- Create benchmarks for base64 by @fabianfett in #950
- Fix minor copy-paste error in deprecation message by @Jnosh in #955
- Add AttributedStringBenchmarks to Benchmark suite by @parkera in #906
- Disable GregorianCalendarCompatibilityTests by @jmschonfeld in #960
- URL(filePath:) should not treat "~" as absolute by @jrflat in #961
- Update to swift-syntax 600.0.0 by @jmschonfeld in #959
- URL path extension APIs should strip trailing slashes by @jrflat in #965
URL.fileSystemPath
should strip leading slash for Windows drive letters by @jrflat in #964- Add back Swift URL code for compatibility debugging by @jrflat in #970
- Guard old behavior in URL tests by @jrflat in #971
- [Windows] Fix incorrect
TimeZone.current
lookup logic by @jmschonfeld in #975 - Conditionalize stripping of
\\?\
on it actually being present by @ahoppen in #974 - Add
.index-build
to.gitignore
by @MaxDesiatov in #986 - [wasm] Fix WASI build around TimeZone by @kateinoigakukun in #984
- Prevent crash when bridging an invalid CFURL to Swift URL by @jrflat in #993
- Performance improvements for
Calendar.RecurrenceRule
by @hristost in #981 - Fetching user/group info causes race conditions by @jmschonfeld in #994
- URL: Appending to an empty file path results in an absolute path by @jrflat in #988
- [Proposal] SF-0010 Amend proposal to make types Hashable by @hristost in #972
- Make RecurrenceRule and its friends conform to Hashable by @hristost in #995
- JSONDecoder should parse base64 via a buffer instead of creating a string by @iCharlesHu in #1001
- OpenStep plist decoding via PropertyListDecoder is not available on Windows and Linux by @iCharlesHu in #1002
- Provide concrete implementation of all decodeIfPresent API in KeyedContainerProtocol for JSONDecoder by @iCharlesHu in #1003
- Update contribution guideline for minor API proposals by @itingliu in #997
- Fix JSONEncoder performance regression in 6.0 toolchain by @kperryua in #1006
URL.deletingLastPathComponent()
should append .. in special cases by @jrflat in #989- Restore
URL.host
bracket stripping for compatibility by @jrflat in #1008 - Fix typo in String.replacingTildeWithRealHomeDirectory by @jmschonfeld in #1007
- Revert "rdar://135836990 (JSONEncoder performance regressed from 5.10 toolchain to 6.0) (#1006)" by @kperryua in #1010
- rdar://135836990 (JSONEncoder performance regressed from 5.10 toolchain to 6.0) by @kperryua in #1012
- Fix
IS_DECOMPOSABLE
flag when bridging toCFURL
by @jrflat in #1018 - [android] fix the android build by @hyp in #999
- Add flag for CFURLs originating from Swift by @jrflat in #1026
- RecurrenceRule: Respect leap months by @hristost in #1005
- Don't skip anchors with strict matching in Calendar.RecurrenceRule. Resolve #881 by @hristost in #1000
- Delete unused variable in unit tests by @hristost in #1028
- Ensure empty AttributedSubstrings produce no runs by @jmschonfeld in #996
- improve CustomNSError.errorDomain calculation by @ChrisBenua in #1032
- Adopt primary associated types to FormatStyle by @MolinDeng in #1024
- Ensure predicate diagnostics contain source information when possible by @jmschonfeld in #1025
- Use
SHCreateDirectoryExW
to create a directory with intermediate directories on Windows by @ahoppen in #1033 - Fix incorrect unicode escape sequence encodings by @kperryua in #1036
- FileManager: avoid a TOCTOU issue in computing CWD by @compnerd in #1035
- JSONEncoder using large amount of memory when encoding array of structs by @jmschonfeld in #1039
- Add linked-on-or-after check for apps that pass an empty URL string by @jrflat in #1042
- Calendar.RecurrenceRule: Only match weekday components when filtering by weekday by @hristost in #1020
URL.path
should not strip trailing slash for root paths on Windows by @jrflat in #1038- Concurrency-Safe Notifications by @cthielen in #822
- rdar://133742708 (JSONDecoder crashes whole app on invalid input instead of throwing Error) by @kperryua in #1043
- FileManager Entry Points for ObjC Directory Enumeration by @jmschonfeld in #1047
- Update Concurrency-Safe Notifications to use SF-0010 by @iCharlesHu in #1045
- NSRange to Range<AttributedString.Index> conversion should be relative to sliced boundaries by @jmschonfeld in #1050
- Improve performance for calling
Locale.identifier
fromNS/CFLocale
by @itingliu in #1051 - [6.1] Properly write non-ASCII file names on Windows for file creation by @jmschonfeld in #1060
- [6.1] Ensure that FileManager.copyItem cannot copy directory metadata to files by @jmschonfeld in #1083
- [6.1] Home directory for non-existent user should not fall back to /var/empty or %ALLUSERSPROFILE% by @jmschonfeld in #1073
- [6.1] URL.appendingPathExtension("") appends a trailing dot by @jrflat in #1091
- [6.1] Implement LockedState for Musl by @jmschonfeld in #1104
- [6.1] Fix WASI build of
_copyDirectoryMetadata
by @kateinoigakukun in #1099 - [6.1][android] fix 32-bit build (#1086) by @finagolfin in #1120
- [6.1] Fix Windows .alwaysMapped deallocator (#1147) by @z2oh in #1148
- [6.1] Update SwiftPM/CMake dependencies to match toolchain build by @jmschonfeld in #1181
- always @preconcurrency import Glibc/Musl/Android/Bionic/WASILibc [6.1] by @weissi in #1194
- [6.1] URL compatibility and bug fixes by @jrflat in #1200
- [6.1] Fix ISO Latin 1 Encoding/Decoding issues by @jmschonfeld in #1221
New Contributors
- @rjmansfield made their first contribution in #897
- @parispittman made their first contribution in #936
- @Jnosh made their first contribution in #955
- @ChrisBenua made their first contribution in #1032
- @MolinDeng made their first contribution in #1024
Full Changelog: swift-6.0.3-RELEASE...swift-6.1-RELEASE