Skip to content

Swift 6.1 Release

Latest
Compare
Choose a tag to compare
@shahmishal shahmishal released this 01 Apr 08:17
· 136 commits to main since this release
7d4817b

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 without sendfile 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 to Calendar.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 to InternationalizationBenchmarks 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 to CFURL 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 from NS/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

Full Changelog: swift-6.0.3-RELEASE...swift-6.1-RELEASE