sync some changes from release notes (#21173)

This commit is contained in:
ringabout 2022-12-26 13:52:40 +08:00 • committed by GitHub
commit b08c50bb55
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2,7 +2,7 @@
## Changes affecting backward compatibility ## Changes affecting backward compatibility
- `httpclient.contentLength` default to `-1` if the Content-Length header is not set in the response, it followed Apache HttpClient(Java), http(go) and .Net HttpWebResponse(C#) behavior. Previously it raised `ValueError`. - `httpclient.contentLength` default to `-1` if the Content-Length header is not set in the response. It follows Apache HttpClient(Java), http(go) and .Net HttpWebResponse(C#) behavior. Previously it raised `ValueError`.
- `addr` is now available for all addressable locations, - `addr` is now available for all addressable locations,
`unsafeAddr` is now deprecated and an alias for `addr`. `unsafeAddr` is now deprecated and an alias for `addr`.
@ -65,7 +65,7 @@
- `shallowCopy` and `shallow` are removed for ARC/ORC. Use `move` when possible or combine assignment and - `shallowCopy` and `shallow` are removed for ARC/ORC. Use `move` when possible or combine assignment and
`sink` for optimization purposes. `sink` for optimization purposes.
- The `nimPreviewDotLikeOps` define is going to be removed or deprecated. - The experimental `nimPreviewDotLikeOps` switch is going to be removed or deprecated because it didn't fullfill its promises.
- The `{.this.}` pragma, deprecated since 0.19, has been removed. - The `{.this.}` pragma, deprecated since 0.19, has been removed.
- `nil` literals can no longer be directly assigned to variables or fields of `distinct` pointer types. They must be converted instead. - `nil` literals can no longer be directly assigned to variables or fields of `distinct` pointer types. They must be converted instead.
@ -110,8 +110,6 @@
- `logging` will default to flushing all log level messages. To get the legacy behaviour of only flushing Error and Fatal messages, use `-d:nimV1LogFlushBehavior`. - `logging` will default to flushing all log level messages. To get the legacy behaviour of only flushing Error and Fatal messages, use `-d:nimV1LogFlushBehavior`.
- Object fields now support default values, see https://nim-lang.github.io/Nim/manual.html#types-default-values-for-object-fields for details.
- Redefining templates with the same signature was previously - Redefining templates with the same signature was previously
allowed to support certain macro code. To do this explicitly, the allowed to support certain macro code. To do this explicitly, the
`{.redefine.}` pragma has been added. Note that this is only for templates. `{.redefine.}` pragma has been added. Note that this is only for templates.