diff --git a/CHANGELOG.md b/CHANGELOG.md index bf4b6290af304..99c07fd32c466 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,25 @@ CHANGELOG Swift 5.3 ---------- +* [SE-0268][]: + + A `didSet` observer which does not refer to the `oldValue` in its body or does not explicitly request it by placing it in the parameter list (i.e. `didSet(oldValue)`) will no longer trigger a call to the property getter to fetch the `oldValue`. + + ```swift + class C { + var value: Int = 0 { + didSet { print("didSet called!") } + } + } + + let c = C() + // This does not trigger a call to the getter for 'value' + // because the 'didSet' observer on 'value' does not + // refer to the 'oldValue' in its body, which means + // the 'oldValue' does not need to be fetched. + c.value = 1 + ``` + * [SE-0276][]: Catch clauses in a `do`-`catch` statement can now include multiple patterns in a comma-separated list. The body of a `catch` clause will be executed if a thrown error matches any of its patterns. @@ -7982,6 +8001,7 @@ Swift 1.0 [SE-0254]: [SE-0266]: [SE-0267]: +[SE-0268]: [SE-0269]: [SE-0276]: [SE-0280]: