|
@@ -6,11 +6,11 @@ Breaking changes will be documented here, and deprecation warnings added to JS c
|
|
|
|
|
|
This document uses the following convention to categorize breaking changes:
|
|
|
|
|
|
-- **API Changed:** An API was changed in such a way that code that has not been updated is guaranteed to throw an exception.
|
|
|
-- **Behavior Changed:** The behavior of Electron has changed, but not in such a way that an exception will necessarily be thrown.
|
|
|
-- **Default Changed:** Code depending on the old default may break, not necessarily throwing an exception. The old behavior can be restored by explicitly specifying the value.
|
|
|
-- **Deprecated:** An API was marked as deprecated. The API will continue to function, but will emit a deprecation warning, and will be removed in a future release.
|
|
|
-- **Removed:** An API or feature was removed, and is no longer supported by Electron.
|
|
|
+* **API Changed:** An API was changed in such a way that code that has not been updated is guaranteed to throw an exception.
|
|
|
+* **Behavior Changed:** The behavior of Electron has changed, but not in such a way that an exception will necessarily be thrown.
|
|
|
+* **Default Changed:** Code depending on the old default may break, not necessarily throwing an exception. The old behavior can be restored by explicitly specifying the value.
|
|
|
+* **Deprecated:** An API was marked as deprecated. The API will continue to function, but will emit a deprecation warning, and will be removed in a future release.
|
|
|
+* **Removed:** An API or feature was removed, and is no longer supported by Electron.
|
|
|
|
|
|
## Planned Breaking API Changes (13.0)
|
|
|
|
|
@@ -48,12 +48,12 @@ For more details see: https://github.com/electron/electron/issues/23506
|
|
|
The following `crashReporter` methods are no longer available in the renderer
|
|
|
process:
|
|
|
|
|
|
-- `crashReporter.start`
|
|
|
-- `crashReporter.getLastCrashReport`
|
|
|
-- `crashReporter.getUploadedReports`
|
|
|
-- `crashReporter.getUploadToServer`
|
|
|
-- `crashReporter.setUploadToServer`
|
|
|
-- `crashReporter.getCrashesDirectory`
|
|
|
+* `crashReporter.start`
|
|
|
+* `crashReporter.getLastCrashReport`
|
|
|
+* `crashReporter.getUploadedReports`
|
|
|
+* `crashReporter.getUploadToServer`
|
|
|
+* `crashReporter.setUploadToServer`
|
|
|
+* `crashReporter.getCrashesDirectory`
|
|
|
|
|
|
They should be called only from the main process.
|
|
|
|
|
@@ -144,12 +144,12 @@ app.getPath('crashDumps')
|
|
|
Calling the following `crashReporter` methods from the renderer process is
|
|
|
deprecated:
|
|
|
|
|
|
-- `crashReporter.start`
|
|
|
-- `crashReporter.getLastCrashReport`
|
|
|
-- `crashReporter.getUploadedReports`
|
|
|
-- `crashReporter.getUploadToServer`
|
|
|
-- `crashReporter.setUploadToServer`
|
|
|
-- `crashReporter.getCrashesDirectory`
|
|
|
+* `crashReporter.start`
|
|
|
+* `crashReporter.getLastCrashReport`
|
|
|
+* `crashReporter.getUploadedReports`
|
|
|
+* `crashReporter.getUploadToServer`
|
|
|
+* `crashReporter.setUploadToServer`
|
|
|
+* `crashReporter.getCrashesDirectory`
|
|
|
|
|
|
The only non-deprecated methods remaining in the `crashReporter` module in the
|
|
|
renderer are `addExtraParameter`, `removeExtraParameter` and `getParameters`.
|
|
@@ -314,7 +314,7 @@ Clone Algorithm][SCA], the same algorithm used to serialize messages for
|
|
|
`postMessage`. This brings about a 2x performance improvement for large
|
|
|
messages, but also brings some breaking changes in behavior.
|
|
|
|
|
|
-- Sending Functions, Promises, WeakMaps, WeakSets, or objects containing any
|
|
|
+* Sending Functions, Promises, WeakMaps, WeakSets, or objects containing any
|
|
|
such values, over IPC will now throw an exception, instead of silently
|
|
|
converting the functions to `undefined`.
|
|
|
|
|
@@ -328,21 +328,21 @@ ipcRenderer.send('channel', { value: 3, someFunction: () => {} })
|
|
|
// => throws Error("() => {} could not be cloned.")
|
|
|
```
|
|
|
|
|
|
-- `NaN`, `Infinity` and `-Infinity` will now be correctly serialized, instead
|
|
|
+* `NaN`, `Infinity` and `-Infinity` will now be correctly serialized, instead
|
|
|
of being converted to `null`.
|
|
|
-- Objects containing cyclic references will now be correctly serialized,
|
|
|
+* Objects containing cyclic references will now be correctly serialized,
|
|
|
instead of being converted to `null`.
|
|
|
-- `Set`, `Map`, `Error` and `RegExp` values will be correctly serialized,
|
|
|
+* `Set`, `Map`, `Error` and `RegExp` values will be correctly serialized,
|
|
|
instead of being converted to `{}`.
|
|
|
-- `BigInt` values will be correctly serialized, instead of being converted to
|
|
|
+* `BigInt` values will be correctly serialized, instead of being converted to
|
|
|
`null`.
|
|
|
-- Sparse arrays will be serialized as such, instead of being converted to dense
|
|
|
+* Sparse arrays will be serialized as such, instead of being converted to dense
|
|
|
arrays with `null`s.
|
|
|
-- `Date` objects will be transferred as `Date` objects, instead of being
|
|
|
+* `Date` objects will be transferred as `Date` objects, instead of being
|
|
|
converted to their ISO string representation.
|
|
|
-- Typed Arrays (such as `Uint8Array`, `Uint16Array`, `Uint32Array` and so on)
|
|
|
+* Typed Arrays (such as `Uint8Array`, `Uint16Array`, `Uint32Array` and so on)
|
|
|
will be transferred as such, instead of being converted to Node.js `Buffer`.
|
|
|
-- Node.js `Buffer` objects will be transferred as `Uint8Array`s. You can
|
|
|
+* Node.js `Buffer` objects will be transferred as `Uint8Array`s. You can
|
|
|
convert a `Uint8Array` back to a Node.js `Buffer` by wrapping the underlying
|
|
|
`ArrayBuffer`:
|
|
|
|