- From: Kyle Simpson <notifications@github.com>
- Date: Fri, 18 Feb 2022 06:45:35 -0800
- To: whatwg/dom <dom@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/dom/issues/1059/1044635578@github.com>
I appreciate that this doesn't meet the official designation of a breaking change. And I'm not trying to argue it is. I still consider it "breaking" in an ergonomic sense (and practical sense, since it literally has broken libraries/sites). When new properties get added to already existing APIs (objects), it has been my observation that they are not usually "locked down" in the sense of being defined read-only, as doing so limits user-land (libraries or apps). If there's a *reason* to protect a property, like security/privacy/etc, sure. But native APIs have capabilities that user-land code does not, like storing state in internal slots. So allowing developers to set (or change) the value of a public property, such as *reason*, even if that didn't affect any of the behaviors internally, seems like it would have been a more permissive/open sort of change to an existence API. If you had know there are libraries that were already setting `reason`, prior to the apec change, would you have been more likely to leave it as a normal writable property to avoid as much potential breakage as possible? Note: CAF is not the only (potentially) affected library. There are other small "polyfill" type utilities that defined/extended `AbortController` / `AbortSignal`. -- Reply to this email directly or view it on GitHub: https://github.com/whatwg/dom/issues/1059#issuecomment-1044635578 You are receiving this because you are subscribed to this thread. Message ID: <whatwg/dom/issues/1059/1044635578@github.com>
Received on Friday, 18 February 2022 14:45:48 UTC