Swift 6.2 Release
·
353 commits
to main
since this release
What's Changed
- Detect current timezone on Android the same as Linux by @marcprux in #1053
- Fix 'var currentDirectoryPath: String' crash when the directory is removed by @ypli-chn in #985
- Fix upper bound in Calendar.RecurrenceRule.recurrences(of:in:) by @Salynn in #1041
- Expose
_identifierCapturingPreferencesforNSLocaleby @itingliu in #1054 - [android] fix the tm_zone access, which is nullable on Android by @hyp in #1056
- Add FoundationPreview 6.2 as an allowed availability annotation by @jmschonfeld in #1057
- Clean up Swift URL build flags by @jrflat in #1063
- Correct buffer size logic when calling
confstrby @jmschonfeld in #1064 - Properly write non-ASCII file names on Windows for file creation by @jmschonfeld in #1059
- Darwin SearchPaths without expanding tilde produce non-tilde-based paths by @jmschonfeld in #1069
- Avoid attaching removefile callbacks when delegate does not implement functions by @jmschonfeld in #1070
- Guard macro declarations behind
hasFeature(Macros)by @DougGregor in #1071 - Home directory for non-existent user should not fall back to /var/empty or %ALLUSERSPROFILE% by @jmschonfeld in #1072
- Minor build fixes/cleanup by @jmschonfeld in #1078
- Updated SF-0007 to version 5 by @iCharlesHu in #1079
- URL.appendingPathExtension("") should not append a trailing dot by @jrflat in #1082
- Ensure that FileManager.copyItem cannot copy directory metadata to files by @jmschonfeld in #1081
- [android] fix 32-bit build by @hyp in #1086
- [docs] Fix typo for some words at 0001-calendar-improvements.md by @lamtrinhdev in #1076
- [Proposal] AttributedString UTF-8 and UTF-16 Views by @jmschonfeld in #1067
- Add linked-on-or-after check for empty URL.host() by @jrflat in #1092
- Fix WASI build of
_copyDirectoryMetadataby @kateinoigakukun in #1094 - Add compatibility check for malformed URL(filePath:) input by @jrflat in #1097
- Follow-up fixes to make it work with wasi-libc by @kateinoigakukun in #1095
- [Windows] Include variant in file path errors by @jmschonfeld in #1085
- Rename NNNN to 0012 for attributedstring-utf8-utf16-views.md. by @lamtrinhdev in #1096
- Implement AttributedString UTF8 and UTF16 views by @jmschonfeld in #1066
- Restore behavior of URL(string: "") returning nil by @jrflat in #1103
- Implement LockedState for Musl by @jmschonfeld in #1101
- Don't try to set extended attributes on Android by @finagolfin in #1106
- (140288075) Use-after-free in Swift implementation of NSData by @phausler in #1108
- [Proposal] AttributedString Scope Enumeration by @jmschonfeld in #1088
- (142076445) Allow URL.standardized to return an empty string URL by @jrflat in #1110
- Add
FoundationPreview 6.1as an allowed availability annotation by @itingliu in #1111 - Properly adjust invalid dates in RecurrenceRule enumeration by @hristost in #1077
- [Proposal] AttributedString Discontiguous Operations by @jmschonfeld in #1089
- [Proposal] AttributedString Tracking Indices by @jmschonfeld in #1090
- Compatibility behaviors for Swift URL by @jrflat in #1113
- Compatibility path for apps looping on URL.deletingLastPathComponent().standardized by @jrflat in #1114
- Make URLResourceValues private properties internal by @iCharlesHu in #1116
- [FreeBSD] Fix FreeBSD build/support by @michael-yuji in #1075
- Allow URLParser to be called directly from ObjC by @jrflat in #1118
- URLComponents.string should percent-encode colons in first path segment if needed by @jrflat in #1117
- Fix parsing foreign currency strings by @itingliu in #1074
- Prevent potential buffer over-reads of file system representations by @jmschonfeld in #1124
- URL.absoluteString crashes if baseURL starts with colon by @jrflat in #1119
- Clean up for #1074 by @itingliu in #1128
- Allow non-numeric port when bridging from CFURL by @jrflat in #1129
- Add review announcement section to the Evolution document by @itingliu in #355
- Publish NSString bridging by @cthielen in #1133
- Include String+Bridging.swift in CMakeLists.txt by @cthielen in #1136
- Do not cache NSLocale.current if we fail to fetch preferences by @itingliu in #1134
- Only use objc name for PropertyListEncoder when building for the framework by @parkera in #1131
- Don't encode colon if URLComponents path starts with colon by @jrflat in #1139
- AttributedString Scope Enumeration by @jmschonfeld in #1093
- URL inits should resolve file reference paths by @jrflat in #1140
- [SF-0015] v2: minor clarifications from API review feedback by @jmschonfeld in #1141
- Temporarily remove special tagged pointer string bridging behavior by @jmschonfeld in #1144
- Increase package deployment target to macOS 15 by @jmschonfeld in #1142
- Prevent crashing when calling quotactl with UIDs greater than Int32.max by @jmschonfeld in #1146
- build: support a non-standard library prefix for Windows by @compnerd in #1143
- Fix Windows .alwaysMapped deallocator by @z2oh in #1147
- Disable a test that fails with ICU-76 by @itingliu in #1151
- Optimize removing nonexistent attributes in AttributedString by @jmschonfeld in #1150
- Use _CalendarGregorian for ISO8601 by @parkera in #1149
- AttributesString.Runs.subscript(nsAttributedStringKeys:) should accept array of keys rather than variadic by @jmschonfeld in #1153
- Swift-Foundation support for Unicode 16 by @itingliu in #1154
- Expanded calendar support by @DraganBesevic in #1138
- [Proposal] HTTP date format by @Lukasa in #1132
- Update the proposal template by @itingliu in #1137
- Add additional base64 tests by @fabianfett in #1155
- Update proposal status by @itingliu in #1158
- Re-add existing SPI for enumerating NSAttributedString.Key Runs by @jmschonfeld in #1162
- Add more base64 decoding test by @fabianfett in #1161
- [Proposal] New HTTP loader for URLSession by @guoye-zhang in #1135
- Fix FreeBSD date formatting by @michael-yuji in #1123
- JSON/PropertyList coders userInfo should require Sendable values by @jmschonfeld in #764
- Revert "JSON/PropertyList coders userInfo should require Sendable values" by @bnbarham in #1167
- New Calendar Identifiers by @karan-misra in #1168
- Revert "New Calendar Identifiers (#1168)" by @tshortli in #1170
- Drop UTF-8 BOM when present while decoding UTF-8 bytes into String by @jmschonfeld in #1165
- Fix FreeBSD tests by @michael-yuji in #1122
- AttributedString APIs for operations over noncontiguous ranges by @jmschonfeld in #1145
- JSON/PropertyList coders userInfo should require Sendable user info values by @jmschonfeld in #1169
- New Calendar Identifiers by @karan-misra in #1171
- New XML PropertyListDecoder parser accepts malformed tags by @kperryua in #1180
- Add
.spifile to generate documentation by @FranzBusch in #1178 - Base64 faster encode by @fabianfett in #1157
- Fix ambiguity on macOS in PropertyListEncoderTests by @jmschonfeld in #1183
- [Base64] Fix: Dont add line separators in last line when last line fits by @fabianfett in #1184
- [Base64] Tests: remove trailing commata by @fabianfett in #1185
- Update SF-0007 Subprocess to version 7 by @iCharlesHu in #1188
- Update SF-0007 status by @itingliu in #1189
- Base64 faster decode by @fabianfett in #1160
- [Proposal] AttributeContainer Filtering by @jmschonfeld in #1172
- Add default keypath method handling for #Predicate. by @amritpan in #1179
- [SF-0015] v3: Add additional inout variants for transformation functions by @jmschonfeld in #1193
- AttributeContainer Filtering by @jmschonfeld in #1182
- AttributedString Index Validity APIs by @jmschonfeld in #1177
- AttributedString Index Tracking by @jmschonfeld in #1109
- always @preconcurrency import Glibc/Musl/Android/Bionic/WASILibc by @weissi in #1175
- FSR writes bytes to end of buffer even on success cases by @jmschonfeld in #1199
- [SF-0017] Expanded Calendar Support (Update) by @karan-misra in #1202
- Remove Thai Calendar by @karan-misra in #1203
- Use lstat() semantics for URL directory detection by @jrflat in #1204
- Revert #1160 by @itingliu in #1205
- Introduce compatibility behavior of
Calendar.date(byAdding:value:to:wrappingComponents)by @itingliu in #1206 - Make trivial AttributedString dynamicMemberLookup subscripts inlinable by @jmschonfeld in #1207
- Add an HTTP format style for both
DateandDateComponentsby @parkera in #1127 - Clean up some NO_FILESYSTEM paths by @parkera in #1210
- [Proposal] URI Templating by @danieleggert in #1186
- ISO8601ComponentStyle proposal by @parkera in #1211
- Fix
_copyDirectoryMetadatacompilation error on FreeBSD by @michael-yuji in #1121 - Move temporarily relocated FileManager extensions back to their original locations by @cthielen in #1213
- Update review period by @itingliu in #1218
- Fix ISO Latin 1 Encoding/Decoding issues by @jmschonfeld in #1219
- Update and rename 00020-uri-templating.md to 0020-uri-templating.md by @lamtrinhdev in #1214
- Build with -fno-omit-frame-pointer on Linux by @jmschonfeld in #1220
- Writing NSData atomically should inherit file protection class from destination directory by @kperryua in #1223
- Add an upcall point to swift-corelibs-foundation for String encoding conversion by @parkera in #1217
- Update SF-0007 Subprocess to version 8 by @iCharlesHu in #1208
- Update proposal status by @itingliu in #1225
- Improve performance for comparing AttributedStrings with differing character counts by @jmschonfeld in #1224
- [wasm] Make
FileManager.createFile()work on WASI by @kkebo in #992 - Use nonblocking IO for open by @parkera in #1228
- Use the default time zone instead of gmt by @parkera in #1229
- Improve performance of enumerating constraint-bound attributes consistent across many runs by @jmschonfeld in #1226
- Fix a typo preventing FreeBSD to build by @michael-yuji in #1231
- Allocationless constant String -> NSString bridging via a new tagged pointer type by @Catfish-Man in #1232
- Resolve deprecation warning in Foundation Macros concerning FunctionCallExprSyntax initializer by @jmschonfeld in #1233
- [wasm] Add O_NONBLOCK shim by @kateinoigakukun in #1235
- ISO8601 DateComponents format style by @parkera in #1209
- build: Fix CMake build by adding missing source file by @kateinoigakukun in #1239
- OpenBSD support. by @3405691582 in #1126
- Lazily compute whether attribute changed in attributeModified(:old🆕) by @jmschonfeld in #1237
- Writing Direction Attribute Implementation by @theMomax in #1245
- Fix FileManager.isExecutableFile for emulated x86 processes on ARM systems by @jakepetroules in #1246
- Support NS/CFURL re-core in Swift by @jrflat in #1238
- [wasm] Stop requiring
TZDIRandTZDEFAULTon WASI by @kateinoigakukun in #1248 - [Proposal] Writing Direction Attribute by @theMomax in #1234
- AttributedString character insertion doesn't invalidate text dependent attributes by @jmschonfeld in #1256
- URI Templating by @danieleggert in #1198
- Update
CMakeLists.txtwith missingURLTemplate_Expression.swiftby @bnbarham in #1262 - Follow up for #1198: Fix test for FOUNDATION_FRAMEWORK by @itingliu in #1261
- [FoundationInternationalization] Avoid implicitly linking RegexBuilder symbol by @jmschonfeld in #1265
- Make URL template regex dependency framework-only for now by @jmschonfeld in #1268
- Revert strict IPv6 validation in URL by @jrflat in #1258
- Remove URL workaround for Linux crash once SCL-F is rebuilt by @jrflat in #1252
- [Proposal] Progress Reporting in Swift Concurrency by @chloe-yeo in #1192
- Transparently add the \?\ prefix to Win32 calls for extended length path handling by @jakepetroules in #1257
- [CI] Add support for GitHub Actions by @shahmishal in #1241
- Implementation of #bundle by @Tantalum73 in #1274
- [Proposal]:
#bundlemacro by @Tantalum73 in #1251 - Upgrade AttributedStringWritingDirection SPI to API by @jmschonfeld in #1275
- Markdown List Delimiters by @jmschonfeld in #1244
- Restore selective nil path behavior for bridged NSURLs by @jrflat in #1278
- Fix URL.Template availability annotations by @jrflat in #1279
- Enable MemberImportVisibility upcoming feature in Foundation by @parkera in #1280
- Switch to a safer technique for obtaining the working directory on Windows by @jakepetroules in #1277
- Fix @preconcurrency import Android in CocoaError+FilePath.swift by @marcprux in #1281
- Implement list item delimiter attribute by @jmschonfeld in #1272
- Don't add a slash when appending an empty string to an empty path and host by @jrflat in #1282
- Fix FileManager directories warning by @jmschonfeld in #1288
- Fix URL.Template benchmark variable initialization by @jrflat in #1289
- AttributedString Equatable conformance performance improvements by @jmschonfeld in #1287
- Move off of RegexBuilder for URL.Template by @danieleggert in #1273
- Retrieving attributed string attribute values should not use identity casts by @jmschonfeld in #1290
- Update concurrency-safe notifications proposal (v4) by @cthielen in #1295
- Reapply #1160, Add fix to allow more padding characters than necessary by @fabianfett in #1263
- [Data] Fix build issue with Static SDK for Linux. by @al45tair in #1293
- Add main --> release/6.2 automerger by @jmschonfeld in #1297
- Merge
mainintorelease/6.2by @github-actions[bot] in #1300 - Forward ObjC messages to _BridgedURL in rare compatibility cases by @jrflat in #1301
- fix
Calendar.RecurrenceRuleby @lukaskollmer in #1284 - Fix #1176 JSON Decoder and Encoder limit disagreement by @jevonmao in #1242
- Update code formatting on SF-0011 with more readable indentation and generic parameters by @cthielen in #1305
- Locale.preferredLocales by @karan-misra in #1291
- Introduce preferredLocales API by @parkera in #1315
- Revert "Fix #1176 JSON Decoder and Encoder limit disagreement (#1242)" by @jmschonfeld in #1306
- Fixup documentation for new AttributedString APIs by @jmschonfeld in #1316
- Resolve AttributedString attribute storage Sendable warnings by @jmschonfeld in #1313
- Merge
mainintorelease/6.2by @github-actions[bot] in #1318 - Address various warnings across the project by @parkera in #1321
- Initiating a Locale/Language with empty language code/script/region results in an unreasonable locale. by @itingliu in #1102
- Update evolution.md: add link to Foundation Project by @itingliu in #1309
- Skip CI run for any change that only contains changes in markdown file by @itingliu in #1310
- Add a fast-path for equality checking when the backing is empty or pointer equal by @parkera in #1322
- Update issue templates by @parkera in #1323
- Merge
mainintorelease/6.2by @github-actions[bot] in #1325 - fix recurrence nanosecond handling for nanosecond values > 0.5 by @lukaskollmer in #1320
- [SE-0456, -0467] Data+Span+MutableSpan by @glessard in #1276
- Adopt utimensat for setting file modification dates by @jmschonfeld in #1324
- Remove extra AttributedStringProtocol.range(of:) overload by @jmschonfeld in #1327
- [Proposal] ProgressManager: ProgressReporting in Swift Concurrency by @chloe-yeo in #1307
- Temporarily make Data.bytes a disfavored overload by @glessard in #1331
- [Proposal] Progress Reporting in Swift Concurrency by @chloe-yeo in #1332
- Reduce size of
cachedFixedComponentsLocalesby @itingliu in #1328 - Update proposal status and implementation links by @itingliu in #1329
- Add tests for AttributedString Index Tracking preconditions by @jmschonfeld in #1326
- Include
<stdnoreturn.h>last by @Steelskin in #1330 - Revert "Add tests for AttributedString Index Tracking preconditions" by @bnbarham in #1337
- Merge
mainintorelease/6.2by @github-actions[bot] in #1341 - Reenable AttributedString index tracking swift testing tests by @jmschonfeld in #1338
- Adopt swift-testing for AttributedString tests by @jmschonfeld in #1334
- Add a proposal for the definition of a UTCClock by @phausler in #1342
- Update and rename NNNN-UTCClock.md to 0027-UTCClock.md by @itingliu in #1346
- [wasm] Fix WASI build by using
time_tfor tv_sec by @kateinoigakukun in #1348 - [Proposal] Category support for Locale.Region by @itingliu in #1247
- Enable macOS GitHub Action CI by @jmschonfeld in #1311
- ASAN error in _CalendarGregorian calendar implementation by @itingliu in #1347
- Continued swift testing adoption by @jmschonfeld in #1350
- Disable macOS GitHub Actions CI by @jmschonfeld in #1353
- Convert Macro tests to swift-testing by @jmschonfeld in #1352
- Convert FileManager and URL tests to swift-testing by @jmschonfeld in #1351
- Reenable exit tests on Ubuntu 20.04 by @jmschonfeld in #1343
- Revert "Temporarily make Data.bytes a disfavored overload" by @glessard in #1345
- Enable string conversion in EUC-JP. by @YOCKOW in #1296
- Convert String/Predicate/ProcessInfo/RecurrenceRule tests to swift-testing by @jmschonfeld in #1357
- Merge
mainintorelease/6.2by @github-actions[bot] in #1361 - [Windows] Clean up workarounds and enable
Spanby @glessard in #1349 - Remove unknown context from PredicateTests.Object type name by @jmschonfeld in #1368
- Enable CI job to build via CMake by @jmschonfeld in #1366
- Convert Data/DataIO Tests to swift-testing by @jmschonfeld in #1363
- Convert Gregorian Calendar tests to swift-testing by @jmschonfeld in #1365
- Mark SF-0028 as Accepted by @jmschonfeld in #1369
- Update the link for Proposals 0022-writing-direction-attribute.md by @lamtrinhdev in #1255
- Merge
mainintorelease/6.2by @github-actions[bot] in #1371 - Convert JSON/PropertyList tests to swift-testing by @jmschonfeld in #1364
- Implement Locale.Region category filtering methods by @itingliu in #1253
- Avoid passing (U)Int128 as test args by @jmschonfeld in #1376
- URL.absoluteString should always use encoded base components by @jrflat in #1378
- Convert FoundationEssentials formatting tests to swift-testing by @jmschonfeld in #1359
- Remove Identifiable overloads and base Message protocol from NotificationCenter API proposal by @cthielen in #1380
- Revert "Adopt utimensat for setting file modification dates (#1324)" by @jmschonfeld in #1379
- Begin converting FoundationInternationalizationTests to swift-testing by @jmschonfeld in #1381
- Merge
mainintorelease/6.2by @github-actions[bot] in #1390 - Consolidate URL compatibility checks by @jrflat in #1392
- [Proposal] Update ProgressManager Proposal by @chloe-yeo in #1335
- Swift URL and URLResourceValues have no method for changing tags on a file by @itingliu in #1396
- Ensure that subscripting AttributeSliceX behaves consistently regardless of index location by @jmschonfeld in #1382
- Update availability macros for macOS 15 deployment target by @jmschonfeld in #1397
- Make sure to free the malloced pointer even in case of throwing an error by @parkera in #1394
- Use __BundleLookupHelper.self when building mergable library by @Tantalum73 in #1389
- Continue to move FoundationInternationalization tests to swift-testing by @jmschonfeld in #1391
- build: adjust the autolink library for Windows by @compnerd in #1312
- Fix running benchmarks (Issue 1386) by @itingliu in #1393
- Work towards leap month bug fixes by @itingliu in #1399
- Finish FoundationInternationalization swift-testing migration by @jmschonfeld in #1402
- Cleanup swift-testing migration by @jmschonfeld in #1403
- Update the link for Proposals 0024-CurrentBundle.md by @lamtrinhdev in #1404
- benchmarks package manifest fix for local deps directory by @vanvoorden in #1401
- update expanded calendar support proposal by @cjchapman in #1407
- String.pathExtension should allow "..name" file names but not ".." by @jrflat in #1410
- FoundationEssentials,FoundationInternationalization: adjust for aliasing by @compnerd in #1340
- support for repeating days in Hindu lunisolar calendars by @cjchapman in #1409
- Merge
mainintorelease/6.2by @github-actions[bot] in #1405 - [6.2] Revert "build: adjust the auto link library for Windows (#1312)" by @jmschonfeld in #1417
- Revert "FoundationEssentials,FoundationInternationalization: adjust for aliasing" by @glessard in #1416
- Adjust availability and inlinability of span projections by @glessard in #1400
- Fix-up newer AttributedString availability/deprecation annotations by @jmschonfeld in #1413
- formattedAttributedLeadingDotSyntax() test failed by @itingliu in #1422
- Limit the use of concurrent scope in unit tests by @itingliu in #1423
- Fix or disable tests around accessing current locale by @itingliu in #1424
- Bin compat: use Platform.getFullExecutablePath instead of CommandLine.arguments.first for ProcessInfo.processName. by @iCharlesHu in #1411
- Merge
mainintorelease/6.2by @github-actions[bot] in #1429 - [6.2] swift-testing test fixes by @jmschonfeld in #1441
- Disable
nsICUNumberFormatterCachetest by @itingliu in #1443 - Update current preference-using Date.RelativeFormatStyle tests by @jmschonfeld in #1444
- Fix CI failures for roundtripEncoding() by @jmschonfeld in #1453
New Contributors
- @ypli-chn made their first contribution in #985
- @Salynn made their first contribution in #1041
- @michael-yuji made their first contribution in #1075
- @DraganBesevic made their first contribution in #1138
- @Lukasa made their first contribution in #1132
- @bnbarham made their first contribution in #1167
- @karan-misra made their first contribution in #1168
- @tshortli made their first contribution in #1170
- @amritpan made their first contribution in #1179
- @danieleggert made their first contribution in #1186
- @kkebo made their first contribution in #992
- @Catfish-Man made their first contribution in #1232
- @3405691582 made their first contribution in #1126
- @jakepetroules made their first contribution in #1246
- @Tantalum73 made their first contribution in #1274
- @al45tair made their first contribution in #1293
- @lukaskollmer made their first contribution in #1284
- @jevonmao made their first contribution in #1242
- @Steelskin made their first contribution in #1330
- @cjchapman made their first contribution in #1407
Full Changelog: swift-6.1.3-RELEASE...swift-6.2-RELEASE