botbook/node_modules/fast-copy/CHANGELOG.md

136 lines
4.3 KiB
Markdown
Raw Normal View History

2024-09-04 13:13:15 -03:00
# fast-copy CHANGELOG
## 3.0.1
- [#78](https://github.com/planttheidea/fast-copy/pull/78) - Work when running Node process with `--disable-proto=throw` (thanks [@castarco](https://github.com/castarco))
## 3.0.0
**Breaking changes**
- Exports are now always named, so the `.default` suffix is required when accessing
- CommonJS in Node => `const copy = require('fast-copy').default;`
- UMD global via CDN => `const copy = globalThis['fast-copy'].default;`
- `copy.strict` is no longer available; it is now available as the explicit `copyStrict` named import
- Options have been removed
- `isStrict` option has been replaced with importing the separate `copyStrict` method
- `realm` has been removed entirely, as `instanceof` is no longer used internally
- The `FastCopy` namespace in typings has been removed in favor of explicit import of available types
**Enhancements**
- Support `exports` option, to have bettern handling for different environments (ESM vs CJS vs UMD) and improve tree-shaking when supported
- Can now create a custom copier (either standard or strict), allowing maximum performance for specific use-cases
- Small speed improvements when handling certain object types
**Bug fixes**
- Correctly handle primitive wrappers, e.g. `new String('foo')`
## 2.1.7
- Republish of [`2.1.6`](#216), as the release process failed mid-publish
## 2.1.6
- Revert [#69](https://github.com/planttheidea/fast-copy/pull/69) and [#71](https://github.com/planttheidea/fast-copy/pull/71), as they broke the package for NodeJS consumption (will be reintroduced in v3, as breaking changes are required)
## 2.1.5 - DO NOT USE
- Ensure `"type": "module"` is set to allow ESM in NodeJS to work [#71](https://github.com/planttheidea/fast-copy/pull/71)
## 2.1.4 - DO NOT USE
- Provide `"exports"` definition in `package.json` [#69](https://github.com/planttheidea/fast-copy/pull/69) (thanks [@liteoood](https://github.com/ilteoood))
## 2.1.3
- Fix source maps not referencing source code [#65](https://github.com/planttheidea/fast-copy/pull/65)
## 2.1.2
- Support `constructor` property override on object [#60](https://github.com/planttheidea/fast-copy/pull/60)
- Provide better support for `constructor` override on non-plain object types [#61](https://github.com/planttheidea/fast-copy/pull/61)
- Remove `tslint` in favor of `@typescript-eslint` [#62](https://github.com/planttheidea/fast-copy/pull/62)
## 2.1.1
- Fix ESM-to-CommonJS issue when using TSC to consume [#37](https://github.com/planttheidea/fast-copy/issues/37)
- Modify `Blob` cloning to use `blob.slice()` instead of `new Blob()` for speed
## 2.1.0
- Support cloning `Blob` [#31](https://github.com/planttheidea/fast-copy/pull/31) (thanks [@fratzigner](https://github.com/fratzinger))
- Fix cloning descriptors that only are getters / setters in strict mode
- Handle errors when defining properties in strict mode
## 2.0.5
- Fix issue copying objects referenced multiple times in source [#28](https://github.com/planttheidea/fast-copy/pull/28) (thanks [@darkowic](https://github.com/darkowic))
## 2.0.4
- Cache length of arrays for faster iteration [#22](https://github.com/planttheidea/fast-copy/pull/22)
- Update dev dependencies and types
## 2.0.3
- Add safety to constructing native objects (fixes #19)
## 2.0.2
- Manually coalesce options instead of use destructuring (performance)
## 2.0.1
- Fix typings declarations - [#17](https://github.com/planttheidea/fast-copy/pull/17)
## 2.0.0
- Rewrite in TypeScript
- Add strict mode (for more accurate and thorough copying, at the expense of less performance)
#### BREAKING CHANGES
- Second parameter is now an object of [options](README.md#options)
## 1.2.4
- Ensure `Date` copy uses realm-specific constructor
## 1.2.3
- Support custom prototype applied to plain object via `Object.create()`
## 1.2.2
- Support copy of extensions of native `Array` with alternative `push()` method
## 1.2.1
- Under-the-hood optimizations per recommendations from #7
## 1.2.0
- Add support for multiple realms
## 1.1.2
- Optimize order of operations for common use cases
## 1.1.1
- Fix cache using `WeakSet` when there was support for `WeakMap`s instead of `WeakSet`s (in case one was polyfilled but not the other)
## 1.1.0
- Add TypeScript and FlowType bindings
## 1.0.1
- Activate tree-shaking
## 1.0.0
- Initial release