@v4fire/core
Version:
V4Fire core library
2,200 lines (1,249 loc) • 58.7 kB
Markdown
Changelog
=========
> **Tags:**
> - :boom: [Breaking Change]
> - :rocket: [New Feature]
> - :bug: [Bug Fix]
> - :memo: [Documentation]
> - :house: [Internal]
> - :nail_care: [Polish]
_Note: Gaps between patch versions are faulty, broken or test releases._
## v3.101.3 (2024-12-16)
#### :bug: Bug Fix
* Added handling the rejection of provider in provider request engine `core/request/engines/provider`
## v3.101.2 (2024-12-09)
#### :bug: Bug Fix
* Fixed an issue when receiving an empty string with the `Content-Type: application/octet-stream` header `core/request/response`
## v3.101.1 (2024-10-21)
#### :bug: Bug Fix
* `core/prelude/i18n/helpers`
* Fix logging bug in `pluralizeText`.
* Add logging info in i18n helpers.
## v3.101.0 (2024-09-25)
#### :boom: Breaking Change
* `core/prelude/i18n/helpers`
* changed `i18n` translations format.
* added `intl` support for pluralization.
* now `i18n` prefer to use `intl` api for pluralization if it's possible, otherwise fallback to old plural form logic.
## v3.100.1 (2024-09-10)
#### :bug: Bug Fix
* Fixed an issue with the calculation of timezones without considering time `core/prelude/date/create`
## v3.100.0 (2024-07-29)
#### :house: Internal
* RC branch merge
## v3.100.0-rc.3 (2024-07-25)
#### :rocket: New Feature
* Added a new option `noContentStatuses`. This option allows to pass custom status code, array or range of status codes
which indicate a no-content response. By default, an array `[...Range(100, 199), 204, 304]` is used, but it may be useful
to override this value if your backend uses different status codes for no-content responses. `core/request`
## v3.100.0-rc.2 (2024-07-02)
#### :bug: Bug Fix
* Fixed an incorrect import from `core/status-codes`. `core/request/engines/composition`
## v3.100.0-rc.1 (2024-07-01)
#### :rocket: New Feature
* Added a new engine for the request module - `compositionEngine`. `compositionEngine` allows you to solve problems
composition of requests in more complex structures (such as Provider). `core/request/engines/composition`
## v3.99.0 (2024-04-25)
#### :rocket: New Feature
* Added `Region` support in `core/prelude/i18n` module.
## v3.98.0 (2024-01-11)
#### :rocket: New Feature
* Added `Object.isEmpty`
#### :house: Internal
* Migrated to `node@18`
* Migrated to `yarn@4`
## v3.97.1 (2023-10-02)
#### :nail_care: Polish
* Enhanced error message in `prelude/i18n` for missing translations
## v3.97.0 (2023-08-14)
#### :rocket: New Feature
* The standalone version of a library now has `.d.ts` declaration files
* Removed `docs` from git index
* Added command for generate docs `build:docs`
## v3.96.0 (2023-07-11)
#### :rocket: New Feature
* Added an engine that allows storing data in a single string `core/kv-storage`
## v3.95.4 (2023-05-25)
#### :bug: Bug Fix
* Fixed the bug with `debounce` and `throttle` decorated methods being executed on every call ignoring delay `src/core/functools/lazy`
## v3.95.3 (2023-05-22)
#### :bug: Bug Fix
* Fixed the bug with network request having CORS preflight request
## v3.95.2 (2023-04-19)
#### :bug: Bug Fix
* Fix typings for array-like objects in `Object.forEach`
## v3.95.1 (2023-04-18)
#### :rocket: New Feature
* Added the ability to change the data storage path for the `node` runtime `core/kv-storage`
## v3.95.0 (2023-04-17)
#### :rocket: New Feature
* `core/data/middlewares/attach-mock`:
* Added headers support for mock custom response
* Improved mock matching algorithm
#### :house: Internal
* Added spec for the `core/data/middlewares/attach-mock`
#### :nail_care: Polish
* Refactor of the `core/data/middlewares/attach-mock`
## v3.94.0 (2023-04-05)
#### :house: Internal
* Moving to yarn package manager
* Updated CI script to yarn
* Removed unused dependencies
## v3.93.1 (2023-03-14)
#### :bug: Bug Fix
* Fixed Node.js engine `core/request`
## v3.93.0 (2023-03-14)
#### :rocket: New Feature
* Added a new option `forceResponseType` `core/request`
## v3.92.0 (2023-02-21)
#### :boom: Breaking Change
* New default config for `core/net` `config`
#### :bug: Bug Fix
* `core/net`:
* Fixed bug with network request caching
* Fixed bug with request timeout
## v3.91.0 (2023-02-14)
#### :house: Internal
* Improved tsconfig
## v3.90.0 (2022-02-09)
#### :boom: Breaking Change
* Redesigned internationalization module `core/prelude/i18n`
## v3.89.1 (2023-01-19)
#### :bug: Bug Fix
* Fixed memory leak when caching requests with a given ttl `core/request`
## v3.89.0 (2022-09-15)
#### :rocket: New Feature
* Now `push` and `unshift` methods support multiple arguments `core/linked-list`
#### :boom: Breaking Change
* By default, the `ES` flag is set to `ES2019` for development builds `config`
## v3.88.0 (2022-08-22)
#### :rocket: New Feature
* Added a new module `core/linked-list`
* `core/queue`:
* Added a new method to clone a queue
* Now any queue can be traversed with an iterator
#### :bug: Bug Fix
* Changed the internal queue structure to `core/linked-list` `core/queue/simple`
## v3.87.1 (2022-08-15)
#### :boom: Breaking Change
* By default, the `ES` flag is set to `ES2021` for development builds `config`
#### :bug: Bug Fix
* `core/object/watch`:
* Fixed setting new properties of a watchable object by a deep path using the accessor-based engine
* Now watchable Map uses the `entries` iterator by default
## v3.87.0 (2022-08-08)
#### :rocket: New Feature
* Added a new overload for the `intoIter` method to create an iterator from an array-like object
## v3.86.4 (2022-07-05)
#### :bug: Bug Fix
* [Fixed a bug with filtering request headers](https://github.com/V4Fire/Core/issues/298) `core/request/error`
## v3.86.3 (2022-06-10)
#### :house: Internal
* Updated dependencies: `typedoc@0.22.13`
## v3.86.2 (2022-05-18)
#### :bug: Bug Fix
* Fixed an issue with `Module._resolveFilename` was overwritten by Playwright `build/tsnode`
## v3.86.1 (2022-04-26)
#### :house: Internal
* Improved TS type inferring `core/lazy`
## v3.86.0 (2022-04-26)
#### :rocket: New Feature
* Added a new feature of hook handlers `core/lazy`
## v3.85.1 (2022-04-14)
#### :house: Internal
* Downgraded TS to `4.6.2`
## v3.85.0 (2022-04-13)
#### :rocket: New Feature
* Added a new TS type-function `Writable`
#### :house: Internal
* Updated dependencies: typescript@4.6.3
## v3.84.0 (2022-04-06)
#### :boom: Breaking Change
* By default, the `ES` flag is set to `ES6` for production builds and `ES2019` for development builds
* The `config` package now uses an alias `@config/config`
#### :rocket: New Feature
* Added a `tsnode` initialization script `build/tsnode`
#### :house: Internal
* Moved a script to build `.tsconfig` files to a separate file `build/build-tsconfig`
## v3.83.0 (2022-04-05)
#### :rocket: New Feature
* Added a new static method `borrowRequestPromiseAPI` `core/data`
## v3.82.1 (2022-04-04)
#### :nail_care: Polish
* Added re-export for `RequestPromise` `core/data`
## v3.82.0 (2022-04-04)
#### :rocket: New Feature
* Added new methods `Object.isUndef`, `Object.isNull`, `Object.isNullable` `prelude`
## v3.81.3 (2022-04-04)
#### :bug: Bug Fix
* Added missing API for request responses with extra providers `core/data`
## v3.81.2 (2022-04-04)
#### :bug: Bug Fix
* All request methods should return `RequestPromise`, but not `RequestResponse` `core/request` `core/data`
## v3.81.1 (2022-04-01)
#### :memo: Documentation
* Added an example of usage:
* `core/data/middlewares/attach-mock`
* `core/data/middlewares/attach-status`
* `core/data/middlewares/wait`
## v3.81.0 (2022-03-31)
#### :rocket: New Feature
* Added ability to use include and exclude filters `core/perf`
#### :bug: Bug Fix
* Fixed TS type inferring:
* `core/promise/sync`
* `core/promise/abortable`
## v3.80.1 (2022-03-29)
#### :rocket: New Feature
* Added new alias methods `update` and `delete` `core/data`
#### :bug: Bug Fix
* Fixed a bug when `url` is not provided `core/request/response`
## v3.80.0 (2022-03-29)
#### :rocket: New Feature
* Added a new module `core/pool`
## v3.79.1 (2022-03-18)
#### :bug: Bug Fix
* Restored the fixed `package-lock.json`
## v3.79.0 (2022-03-18)
#### :rocket: New Feature
* Added a new global function `unwatchable` `core/object/watch`
## v3.78.0 (2022-03-16)
#### :boom: Breaking Change
* Now `[key, el]` responses from an iterator will be destructured before providing to callback `Object.forEach`
* `core/request`:
* Now `RequestResponseObject.data` contains a promise with data
* Now the `headers` property is an instance of `core/headers`
* `core/request/reponse`:
* Now the `headers` property is an instance of `core/request/headers`
* Now to clone and freeze server responses is used Proxy API if it supported
* The `getHeader` method is marked as deprecated
* All decode methods always return non-nullable values
#### :rocket: New Feature
* Added a new module `core/iter`
* Added a new module `core/iter/combinators`
* Added a new module `core/request/headers`
* Added a new module `core/request/modules/stream-buffer`
* Added a new method `Object.isAsyncGenerator`
* Added a new type `AnyIterable`
* `core/request`:
* Now a promise returned from a request function implements `Symbol.asyncIterator`
* Now a promise returned from a request function has a new `data` property with the response data
* Now a promise returned from a request function has a new `emitter` property with an event emitter to listen to raw engine events
* Request headers can be provided as an instance of `core/headers` or native browser Headers
* `core/request/response`:
* Added missing methods and properties to match the native browsers Response class
* Added a new `emitter` property to listen to response events
* Added a new `streamUsed` property to determine when the response was read in a stream form
* Now a response instance implements `Symbol.asyncIterator`
#### :memo: Documentation
* Improved documentation `core/request`
## v3.77.0 (2022-03-15)
#### :rocket: New Feature
* Added a new method `Object.isAsyncIterator`
* Now iterations over iterable structures have indices as the second argument of a passed callback function `Object.forEach`
#### :bug: Bug Fix
* Fixed an issue when extending an object with preserving descriptors and array concatenation `Object.mixin`
* Fixed an issue when iterating over non-dictionary object with enabled `passDescriptor` `Object.forEach`
*
## v3.76.0 (2022-03-05)
#### :rocket: New Feature
* Now `RequestEngine` will take `MiddlewareParams` as a second argument `core/request`
* `core/promise`:
* Added a new promise wrapper `createControllablePromise`
* Added a new promise helper `isControllablePromise`
#### :bug: Bug Fix
* Fixed a race condition while checking and saving pending requests to the cache `core/request`
## v3.75.1 (2022-03-05)
#### :house: Internal
* Freezing versions of all dependencies from package.json
## v3.75.0 (2022-02-22)
#### :rocket: New Feature
* Added a new module `core/json/stream`
* Added a common function to clone `core/object/proxy-clone`
* Added a common function to create a read-only view `core/object/proxy-readonly`
* Added a new bunch of constants `support` to check a runtime for features support `core/const`
## v3.74.7 (2022-01-31)
#### :bug: Bug Fix
* Restored support of Map/WeakMap `Object.reject/select`
## v3.74.6 (2022-01-31)
#### :bug: Bug Fix
* `Object.reject/select` shouldn't copy a prototype of the passed object
## v3.74.5 (2022-01-25)
#### :bug: Bug Fix
* Now `__proto__ ` properties are ignored and removed via a json reviver to prevent prototype pollution `core/prelude/object#Object.parse`
## v3.74.4 (2022-01-24)
#### :bug: Bug Fix
* Fixed a bug when `onAbort` calling occurred after promise aborting `core/promise/abortable`
#### :house: Internal
* Now `Object.fastClone` will use `structredClone` if it is possible
## v3.74.3 (2022-01-13)
#### :boom: Breaking Change
* Changed signature of `ClassConstructor`
#### :house: Internal
* Improved type inferring `core/lazy`
## v3.74.2 (2022-01-12)
#### :bug: Bug Fix
* Don't drop all registered actions after the first invoking `core/lazy`
## v3.74.1 (2022-01-12)
#### :bug: Bug Fix
* Now function hooks can be overridden `core/lazy`
## v3.74.0 (2022-01-12)
#### :rocket: New Feature
* Added a new methods `Object.isProxy` and `Object.unwrapProxy`
#### :bug: Bug Fix
* Fixed behavior of `Object.isDictionary`, `Object.isPlainObject`, `Object.isFreeze` with proxy-based objects
## v3.73.3 (2022-01-10)
#### :bug: Bug Fix
* Fixed emitting of mutation events produced via `Object.defineProperty` `core/object/watch`
## v3.73.2 (2021-12-28)
#### :bug: Bug Fix
* Fixed a bug when adding a new property to the clone object `core/object/proxy-clone`
## v3.73.1 (2021-12-16)
#### :bug: Bug Fix
* Fixed issues with symlinks `build`
## v3.73.0 (2021-12-14)
#### :rocket: New Feature
* Added a new module to create effective read-only view of objects `core/object/proxy-readonly`
#### :bug: Bug Fix
* Now all properties that are added via `Object.defineProperty` can be handled via a proxy-based watcher `core/object/watch`
* `core/object/proxy-clone`:
* Fixed removing of properties
* Now the clone function supports descriptors too
## v3.72.0 (2021-12-10)
#### :rocket: New Feature
* Now `Response` can take body as a function or promise `core/request/response`
* Added a new module to create effective clones of objects `core/object/proxy-clone`
#### :bug: Bug Fix
* Fixed a case when `concatURLs` appends trailing slashes `core/url`
* Removed generator methods from base iterators:
* `core/range`
* `core/object/watch`
## v3.71.00 (2021-12-08)
#### :boom: Breaking Change
* Moved from `Sugar/Collection.js/urlconcat` to `@v4fire/core`
## v3.70.3 (2021-12-08)
#### :bug: Bug Fix
* Restored the native behavior of `Object.hasOwnProperty`
## v3.70.2 (2021-12-07)
#### :bug: Bug Fix
* Added setters to change config values `config`
## v3.70.1 (2021-12-07)
#### :bug: Bug Fix
* Now `Array.union` doesn't spread primitive iterable values `core/prelude`
## v3.70.0 (2021-12-07)
#### :rocket: New Feature
* Now `@v4fire/core` can be used as a simple `node.js` library
## v3.69.0 (2021-12-03)
#### :boom: Breaking Change
* Removed deprecated API `core/promise/abortable`
#### :rocket: New Feature
* Added a new static method `wrapReasonToIgnore` `core/promise/abortable`
* Added static properties with the default error types `core/request/error`
#### :bug: Bug Fix
* Fixed a bug when a child promise is never resolved because its parent is already rejected `core/promise/abortable`
## v3.68.0 (2021-12-03)
#### :boom: Breaking Change
* `core/functools`:
* Renamed a module `core/functools/not-implemented` to `core/functools/implementation`
* Renamed wrappers `notImplement/notImplemented` to `unimplement/unimplemented`
* Now `unimplement/unimplemented` throw an exception
## v3.67.0 (2021-12-01)
#### :boom: Breaking Change
* `core/net/engines`
* Renamed `browser.request` -> `browser-request`
* Renamed `node.request` -> `node-request`
* `core/queue`:
* Renamed `Tasks` to `InnerQueue`
* Renamed `CreateTasks` to `CreateInnerQueue`
* Renamed `QueueOptions.tasksFactory` to `QueueOptions.queueFactory`
#### :rocket: New Feature
* Added new types `DictionaryKey`, `AnyToIgnore`, `AnyToBoolean`
* Now the `Dictionary` type supports symbols and number
* `core/prelude/types`:
* Added a new method `Object.cast`
* Added a new method `Object.throw`
#### :house: Internal
* Bumped versions of `node/npm` within `ci`
## v3.66.0 (2021-11-26)
#### :rocket: New Feature
* Added a wrapper for async storages `core/async`
## v3.65.1 (2021-11-26)
#### :house: Internal
* Replaced `uniconf` with `@v4fire/config`
## v3.65.0 (2021-11-18)
#### :rocket: New Feature
* Added a new module `core/lazy`
#### :bug: Bug Fix
* Added `bigint` and `symbol` into the `Primitive` type `index.d.ts`
## v3.64.0 (2021-11-16)
#### :rocket: New Feature
* Added a new method `unwrap` `core/promise/sync`
## v3.63.0 (2021-11-16)
#### :rocket: New Feature
* Now `Object.get` can access properties through promises `core/prelude/object`
## v3.62.3 (2021-11-09)
#### :bug: Bug Fix
* Fixed deep watching for array dependencies `core/object/watch`
## v3.62.2 (2021-11-09)
#### :bug: Bug Fix
* Fixed deep watching for an array element `core/object/watch`
* `core/prelude/date/create`:
* Now all dates create with a timezone actual to their creation date
* Fixed creating a date with a local timezone when it's partial (eg 'UTC +9:30')
## v3.62.1 (2021-11-08)
#### :bug: Bug Fix
* Fixed watching for an array by a complex path with indices `core/object/watch`
## v3.62.0 (2021-10-29)
#### :boom: Breaking Change
* Changed project building from `gulp-typescript` to `gulp-babel`
* Now, if a promise is resolved during muted, it will be rejected `core/async`
#### :rocket: New Feature
* Added a new method `Object.isIterable` `prelude`
* `core/async`:
* Added a new option `AsyncCbOptions.onMutedCall`
* Added new bunch of methods to hook iterable objects
#### :house: Internal
* Updated dependencies
### :nail_care: Polish
* Added new tests `core/async`
* Added generation of source maps with the hot-reload mode
## v3.61.1 (2021-10-25)
#### :bug: Bug Fix
* Fixed bugs with clearing/muting/suspending promises by their IDs `core/async`
## v3.61.0 (2021-10-20)
#### :rocket: New Feature
* Added a new module `core/perf`
## v3.60.5 (2021-10-14)
#### :bug: Bug Fix
* Fixed a bug when the function `convertIfDate` didn't convert an ISO string to a date `core/json`
## v3.60.4 (2021-10-06)
#### :bug: Bug Fix
* Now cache keys are generated for all strategies `core/request`
## v3.60.3 (2021-10-05)
#### :bug: Bug Fix
* Fixed a bug with double resolving of a promise when it resolved by another promise `core/promise`
## v3.60.2 (2021-10-04)
#### :bug: Bug Fix
* Fixed restoring state if provided TTL `core/cache/decorators/persistent`
* Fixed support of offline caching `core/request`
## v3.60.1 (2021-10-01)
#### :bug: Bug Fix
* Hotfix for `3.60.0`
## v3.60.0 (2021-10-01)
#### :rocket: New Feature
* Added `Number.isSafe` and `Number.prototype.isSafe` `core/prelude/number`
#### :bug: Bug Fix
* Fixed parsing of numbers `Object.parse` `core/prelude/object`
#### :house: Internal
* Updated dependencies: `typescript@4.4.3`, `typedoc@0.22.4`
## v3.59.2 (2021-09-27)
#### :bug: Bug Fix
* Fixed date formatting with optional patterns `core/prelude/date/format`
* Now `finally` respects exceptions values from a callback:
* `core/promise/sync`
* `core/promise/abortable`
#### :nail_care: Polish
* Refactored `Date.format` `core/prelude/date/format`
## v3.59.1 (2021-09-21)
#### :bug: Bug Fix
* Don't override methods of already override objects `core/cache/decorators/helpers/add-emitter`
## v3.59.0 (2021-09-08)
#### :rocket: New Feature
* Added a new static method `any`:
* `core/promise/sync`
* `core/promise/abortable`
#### :bug: Bug Fix
* Fixed some cases when a promise is resolved with another promise:
* `core/promise/sync`
* `core/promise/abortable`
## v3.58.2 (2021-09-06)
#### :bug: Bug Fix
* Fixed a bug when the function `convertIfDate` converted a string with a date inside into a date object `core/json`
## v3.58.1 (2021-09-06)
#### :bug: Bug Fix
* `core/request`:
* Fixed initializing of the cache API
* Fixed detection of the online connection
## v3.58.0 (2021-09-01)
#### :boom: Breaking Change
* The module has been moved to `promise/abortable` `core/then`
#### :rocket: New Feature
* Added a new static method `allSettled`:
* `core/promise/sync`
* `core/then`
#### :bug: Bug Fix
* Now `SyncPromise` will emit `unhandledRejection` if there are no catch handlers
* Fixed comparing of `Map` and `Set` structures `Object.fastCompare`
## v3.57.0 (2021-08-31)
#### :boom: Breaking Changes
* Removed the `externalRequest` option within `core/request` and `core/data`
* Online checking functionality was moved to engines `core/request`
#### :rocket: New Feature
* Added a new middleware `core/log/middlewares/errors-deduplicator` to `core/log` pipeline
#### :bug: Bug Fix
* Fixed `String.dasherize` and `String.underscore` with numbers
#### :house: Internal
* Updated dependencies: `typescript@4.4.2`, `tlib@2.3.1`, `jasmine@3.9.0`, `jsdom@17.0.0`
## v3.56.2 (2021-08-05)
#### :bug: Bug Fix
* Fixed an issue when `dropCache` don't clear caches of mounted objects `core/request`
## v3.56.1 (2021-07-28)
#### :bug: Bug Fix
* Readonly non-configurable values can't be watched via Proxy `core/object/watch`
## v3.56.0 (2021-07-25)
#### :rocket: New Feature
* Now `Object.hasOwnProperty` supports symbols
#### :bug: Bug Fix
* Fixed an issue when modifying a prototype value of the watched object `core/object/watch`
## v3.55.0 (2021-07-24)
#### :rocket: New Feature
* Added new options `return` and `ctx` for `globalThis.include`
## v3.54.4 (2021-07-18)
#### :bug: Bug Fix
* Fixed a bug when the tied path can be mutated from handlers `core/object/watch`
## v3.54.3 (2021-07-16)
#### :bug: Bug Fix
* Fixed watching for specific paths with collapsing `core/object/watch`
## v3.54.2 (2021-07-14)
#### :bug: Bug Fix
* Fixed watching of values from iterable objects `core/object/watch`
## v3.54.1 (2021-07-09)
#### :house: Internal
* Refactored `core/queue` structures to use more effective implementations
## v3.54.0 (2021-07-09)
#### :boom: Breaking Change
* Migration from `fs-extra-promise` to `fs-extra`
* Renamed `core/kv-storage` engines: `browser.indexeddb` -> `browser-indexeddb`, `browser.localstorage` -> `browser-localstorage`, etc.
* The module has been renamed from `parse` to `convert` `object`
* `core/analytics`:
* Removed an implementation of `sendAnalytics`
* Updated API of `sendAnalytics`
#### :rocket: New Feature
* Added `Object.trySerialize`
#### :bug: Bug Fix
* Fixed `throttle` callback invoking `core/prelude/function/lazy`
## v3.53.1 (2021-07-06)
#### :bug: Bug Fi
* Fixed parsing with encoded system symbols `core/url`
#### :house: Internal
* Removed error logging duplication `core/data/modules/base`
* Updated dependencies: `dotenv@10.0.0`, `typescript@4.3.5`, `tlib@2.3.0`, `typedoc@0.21.1`, `husky@7.0.0`
## v3.53.0 (2021-06-24)
#### :rocket: New Feature
* Added automatically converting files and other blobs to send via `FormData` `core/request`
## v3.52.1 (2021-06-21)
#### :bug: Bug Fix
* Fix possibility to set default get/set accessors within trait classes
## v3.52.0 (2021-06-16)
#### :boom: Breaking Change
* Now the date methods `beginningOf.../endOf...` returns a new date
## v3.51.0 (2021-06-15)
#### :rocket: New Feature
* Added possibility to set default get/set accessors within trait classes `core/functools/trait`
## v3.50.0 (2021-06-07)
#### :rocket: New Feature
* Added possibility to listen to events from a function emitter `core/async`
* Added a feature to change maximum capacity `core/cache/restricted`
* `core/cache`:
* Now all cache structures are iterable objects
* Added new iterators `values`, `entries`
* Added `size`
#### :bug: Bug Fix
* Fixed `Date.create` with dates without leading zeroes
#### :memo: Documentation
* Improved documentation `core/cache`
#### :house: Internal
* Updated dependencies: `typescript@4.3.2`
## v3.49.2 (2021-05-27)
#### :bug: Bug Fix
* Fixed subscribing to the original object `core/cache/decorators/helpers/add-emitter`
## v3.49.1 (2021-05-26)
#### :bug: Bug Fix
* Fixed checking of `Blob` via `isPlaingObject`
## v3.49.0 (2021-05-26)
#### :bug: Bug Fix
* Added `Blob` to `ReuqestBody` `core/request`
## v3.48.0 (2021-05-18)
#### :rocket: New Feature
* `core/object/select`:
* Added support for iterable objects
* Added support for complex conditions
#### :bug: Bug Fix
* Bugfixes `core/object/select`
#### :memo: Documentation
* Improved documentation
* `core/object/select`
* `core/event`
## v3.47.0 (2021-05-17)
#### :rocket: New Feature
* Added a new modules `core/cache/decorators/helpers/add-emitter`
#### :bug: Bug Fix
* Fixed bugs when take a place mutations caused by side effects:
* `core/cache/decorators/persistent`
* `core/cache/decorators/ttl`
## v3.46.0 (2021-05-14)
#### :boom: Breaking Change
* `core/range`:
* Renamed `reverse` to `isReversed`
* Now `union` and `intersect` preserve ordering of the first range
* New API of infinite ranges
#### :rocket: New Feature
* Added new methods `entries`, `keys`, `indices` `core/range`
#### :bug: Bug Fix
* Fixed a bug when intersection doesn't include bounds `core/range`
#### :memo: Documentation
* Improved documentation `core/range`
#### :house: Internal
* Updated dependencies: `dotenv@9.0.2`, `husky@6.0.0`
## v3.45.0 (2021-05-12)
#### :boom: Breaking Change
* `getDataTypeFromURL` marked as deprecated. Use `getDataTypeFromURI` instead. `core/mime-type`
#### :rocket: New Feature
* Added the support of non-including range bounds `core/range`
#### :bug: Bug Fix
* Fixed a bug when watching an object by the specified path when occurring a mutation of nested properties `core/object/watch`
#### :memo: Documentation
* Improved documentation:
* `core/object/watch`
* `core/then`
* `core/status-codes`
#### :house: Internal
* Updated dependencies: `typescript@4.2.4`, `tslib@2.2.0`
## v3.44.1 (2021-04-23)
#### :bug: Bug Fix
* `core/functools/trait`:
* Fixed a bug when one trait extends from another
* Fixed a bug with accessors within a trait
## v3.44.0 (2021-04-19)
#### :rocket: New Feature
* Added a module to create class traits `core/functools/trait`
## v3.43.1 (2021-04-19)
#### :bug: Bug Fix
* Fixed a bug when parsing a query string from a URL without query parameters `fromQueryString` `core/url`
#### :house: Internal
* Renamed `noMessageBodyStatusCodes` to `noContentStatusCodes` `core/request/response`
## v3.43.0 (2021-04-14)
#### :house: Internal
* Added filtering out status codes with no message bodies in response `core/request/response`
#### :bug: Bug Fix
* Fixed async execution of the test case `core/request`
## v3.42.1 (2021-04-12)
#### :house: Internal
* Optimized exporting of interfaces `core/async`
## v3.42.0 (2021-04-02)
#### :rocket: New Feature
* [Added a feature of optional patterns with `Date.format`](https://github.com/V4Fire/Core/issues/163)
## v3.41.0 (2021-04-02)
#### :rocket: New Feature
* Added a wrapper to provide the feature of persistent storing `core/cache/decorators/persistent`
## v3.40.1 (2021-04-01)
#### :bug: Bug Fix
* Restored `core/async/const`
## v3.40.0 (2021-04-01)
#### :rocket: New Feature
* Added a wrapper to provide the feature of `core/cache` expiring
* Added a new parameter `paramsFilter` to filter values that shouldn't be serialized `core/url/toQueryString`
* Added a new parameter `querySerializer` to specify how to serialize queries to URL `core/request`
#### :bug: Bug Fix
* Fixed an issue when trying to remove event listeners by providing a label without specifying a group `core/async`
## v3.39.0 (2021-03-19)
#### :bug: Bug Fix
* Fixed `camelize` when calling with an empty string `prelude/string/transformers`
## v3.38.1 (2021-03-19)
#### :bug: Bug Fix
* `core/data` tests rewrited on express
## v3.38.0 (2021-03-18)
#### :bug: Bug Fix
* Fixed `camelize` when calling with `upper: false` `prelude/string/transformers`
## v3.37.0 (2021-03-17)
#### :boom: Breaking Change
* Now `details` property within the `LogEvent` object is deprecated.
The `additionals` property should be using instead `core/log/middlewares`.
#### :rocket: New Feature
* Added a new `BaseError` class `core/error`
* Now `RequestError` extends the `BaseError` class `core/request/error`
* Added `RequestErrorDetailsExtractor` to extract `RequestError`'s details `core/request/error`
* Added ability to set up middlewares via the config `core/log/middlewares`
* Added a new middleware `ExtractorMiddleware` `core/log/middlewares/extractor`
#### :memo: Documentation
* Updated `core/request/error` documentation
#### :nail_care: Polish
* Improved the `RequestError`'s message format `core/request/error`
## v3.36.0 (2021-03-16)
#### :boom: Breaking Change
* `Object.mixin`:
* Marked `onlyNew` as deprecated. Use `propsToCopy` instead.
* Marked `withDescriptor` and `withAccessors` as deprecated. Use `withDescriptors` instead.
* Marked `withUndef` as deprecated. Use `skipUndefs` instead.
* Marked `concatArray` and `concatFn` as deprecated. Use `concatArrays` instead.
* `Object.forEach`:
* Marked `notOwn` as deprecated. Use `propsToIterate` instead.
* Marked `withDescriptor` as deprecated. Use `passDescriptor` instead.
#### :rocket: New Feature
* Added wrappers for data-providers and event-emitters `core/async`
## v3.35.1 (2021-03-11)
#### :bug: Bug Fix
* Fixed an issue when external non-enumerable properties become enumerable `core/request`
## v3.35.0 (2021-03-04)
#### :rocket: New Feature
* Added a new option `withNonEnumerables`:
* `Object.forEach`
* `Object.mixin`
* Added a new feature of request retryings `core/request`
#### :bug: Bug Fix
* Fixed incorrect path resolving by a chain of provider engines with parameters within URL `core/request/engines/provider`
#### :house: Internal
* `applyQueryForStr` now redefines a property with the `enumerable: false` descriptor instead of deleting it
## v3.34.0 (2021-03-03)
#### :boom: Breaking Change
* Changed a signature of `extendFilter` `core/prelude/object/mixin`
#### :rocket: New Feature
* Added a new helper `core/promise/sync/memoize`
* Now all null values from `.tsconfig` files are removed `core/build`
* Added a new config `client.tsconfig`
* Now `Object.reject and Object.select` respect object without prototypes `core/prelude/object/create`
```
// true
console.log(Object.reject({a: 1, b: 2, __proto__: null}, 'a').__proto__ == null);
```
## v3.33.2 (2021-03-01)
#### :bug: Bug Fix
* Fixed optimizing of imports `config`
## v3.33.1 (2021-03-01)
#### :bug: Bug Fix
* Fixed an issue with invalid rounding of months `core/prelude/date`
#### :house: Internal
* Added `importsNotUsedAsValues` to `.tsconfig`
* Updated dependencies: `typescript@4.2.2`
## v3.33.0 (2021-02-26)
#### :boom: Breaking Change
* Renamed `concatUrls` to `concatURLs` `core/url`
#### :rocket: New Feature
* Added a new engine based on the data providers `core/request`
## v3.32.0 (2021-02-05)
#### :rocket: New Feature
* Added a new parameter `setter` for `set` `core/prelude/object`
#### :bug: Bug Fix
* Fixed an issue when trying to set a property by the complex path `core/object/watch`
* Fixed parsing of JSON structures `core/request/engines/fetch`
## v3.31.0 (2021-02-03)
#### :rocket: New Feature
* `core/prelude/regexp`:
* Added new methods `addFlags`, `removeFlags`, `setFlags`
* Added new static methods `addFlags`, `removeFlags`, `setFlags`, `test`
#### :bug: Bug Fix
* Fixed using of global RegExp-s with the `g` flag
## v3.30.4 (2021-01-29)
#### :bug: Bug Fix
* Fixed the `requestIdleCallback` interface
## v3.30.3 (2021-01-28)
#### :house: Internal
* `core/async`:
* Optimized clearing of async wrappers
* Now all promises are wrapped by using `SyncPromise`
## v3.30.2 (2021-01-15)
#### :bug: Bug Fix
* Fixed `Object.get` interface and comments
## v3.30.1 (2021-01-11)
#### :bug: Bug Fix
* Fixed iterations over chained emoji-s `core/prelude/string`
* Fixed Unicode support of char ranges `core/range`
## v3.30.0 (2021-01-10)
#### :boom: Breaking Change
* `build`:
* Renamed `docs.gulp.js` -> `doc.gulp.js`
* Renamed `gulp build:docs` -> `gulp build:doc`
#### :rocket: New Feature
* Added `letters` and `String.letters` `core/prelude/string`
#### :bug: Bug Fix
* Improved Unicode support `core/prelude/string`
* Fixed providing of empty strings as API URL-s `core/request`
#### :house: Internal
* Updated `typedoc@0.20.14`
## v3.29.1 (2020-12-23)
#### :bug: Bug Fix
* Added response status checking whether it's 204 before decoding a server response `core/request/response`
#### :house: Internal
* Added mapping `application/octet-stream` to `arrayBuffer` `core/mime-type`
## v3.29.0 (2020-12-22)
#### :rocket: New Feature
* `core/prelude`:
* Added support of `Map/WeakMap/Set/WeakSet/Array` `Object.select` and `Object.reject`
* Added overloads for nullable values:
* `Object.select`
* `Object.reject`
* `Object.createDict`
* `Object.convertEnumToDict`
* `Object.createEnumLike`
* `Object.createMap`
* `Object.fromArray`
#### :house: Internal
* Fixed TS errors `core/log`
## v3.28.2 (2020-11-11)
#### :bug: Bug Fix
* Fixed a security issue with the prototype pollution `core/url/convert`
## v3.28.1 (2020-11-06)
#### :house: Internal
* Updated dependencies: `typescript@4.1.1-rc`
## v3.28.0 (2020-11-06)
#### :rocket: New Feature
* `core/request`:
* Added new engine based on Fetch API
* Added decoding text in `Response` into `Document`
* Added decoding `Buffer` (in Node.js) and `ArrayBuffer` in `Response` into json
* Supported response type `"blob"` in Node.js request engine
* Use `"arraybuffer"` (in `XmlHtpRequest` engine ) and `"buffer"` (in Node.js engine) as default `responseType`
* Use Fetch API by default in browser if `AbortController` is supported
#### :house: Internal
* `core/request`:
* Run tests with all engines instead of only Node.js one
* Test aborting the request on timeout
* Improved stability of tests by using local server instead of remote mock service
## v3.27.8 (2020-11-05)
#### :bug: Bug Fix
* Fixed a bug with the redundant saving of the state `core/prelude/function/curry`
```js
const a = (b, c) => b + c;
const e = a.curry()
console.log(e(4)(5)); // 9
console.log(e(3)(4)); // Error
```
## v3.27.7 (2020-11-04)
#### :bug: Bug Fix
* Fixed resolving a promise after the catch `core/promise/sync`
```js
SyncPromise.resolve(1).catch(() => undefined).then((r) => console.log(r));
```
## v3.27.6 (2020-11-01)
#### :boom: Breaking Change
* Renamed `MockResponseType` -> `MockResponseValue` `core/data`
#### :house: Internal
* Updated dependencies:
`tslib@2.0.3`
`got@11.8.0`
`del@6.0.0`
`upath@2.0.0`
`find-up@5.0.0`
`typedoc@0.19.2`
`jasmine@3.6.3`
`@types/jasmine@3.6.0`
## v3.27.5 (2020-09-29)
#### :bug: Bug Fix
* Fixed a bug when cloning an object with cycle links `Object.fastClone`
## v3.27.4 (2020-09-29)
#### :bug: Bug Fix
* `core/object/watch`:
* Fixed a bug when a deleted property won't be deleted from an object if using `unset`
* Fixed restoring of an old value `engines/accessors/set`
#### :house: Internal
* Refactoring `core/object/watch`
## v3.27.3 (2020-09-25)
#### :bug: Bug Fix
* Fixed a bug when Dates could be transformed to strings after cloning `Object.fastClone`
## v3.27.2 (2020-09-18)
#### :bug: Bug Fix
* Fixed invalid imports within README `core/data`
* Fixed a bug when a new value to set is equal by a link with the previous `core/object/watch`
## v3.27.1 (2020-09-10)
#### :bug: Bug Fix
* Fixed a bug with iOS and ES6 when the engine hasn't parsed a declaration with nested arrow functions `core/request`
## v3.27.0 (2020-09-04)
#### :boom: Breaking Change
* Dropped `interface.ts`:
* `core/functools/deprecation`
* `core/functools/implementation`
#### :rocket: New Feature
* Added a new module `core/functools/warning`
#### :house: Internal
* Re-wrote the module with `core/functools/warning`:
* `core/functools/deprecation`
* `core/functools/implementation`
## v3.26.0 (2020-09-04)
#### :rocket: New Feature
* Added `jsonReviver` to `CreateRequestOptions` `core/request`
#### :bug: Bug Fix
* Fixed a bug when strings could be compiled to Dates after cloning `Object.fastClone`
#### :house: Internal
* Extracted some types to `interface.ts` `core/prelude/object/clone`
## v3.25.1 (2020-09-04)
#### :bug: Bug Fix
* Fixed parsing "1997-07-16T19:20:30.45+0100" format on iOS `core/prelude/date`
## v3.25.0 (2020-09-03)
#### :rocket: New Feature
* Now `deprecate` returns `DeprecatedFn` `core/functools/deprecation`
* Now `notImplement` returns `NotImplementedFn` `core/functools/implementation`
## v3.24.2 (2020-09-02)
#### :house: Internal
* Review `any` and `unknown` types
## v3.24.1 (2020-09-01)
#### :bug: Bug Fix
* Fixed TS signatures of `Object.has`, `Object.delete`
## v3.24.0 (2020-08-12)
#### :rocket: New Feature
* Added `Object.delete`
#### :bug: Bug Fix
* Fixed `Object.has` with Set and WeakSet
## v3.23.0 (2020-08-10)
#### :rocket: New Feature
* Added a new engine based on IndexedDB `core/kv-storage`
#### :house: Internal
* Updated dependencies:
`@v4fire/linters@1.5.4`
`@types/jasmine@3.5.12`
## v3.22.5 (2020-07-31)
#### :bug: Bug Fix
* Fixed `core/object/watch/engines/accessors/set`
## v3.22.4 (2020-07-30)
#### :bug: Bug Fix
* [Fixed incorrectly ignored errors `build/include`](https://github.com/V4Fire/Core/pull/121)
## v3.22.3 (2020-07-23)
#### :bug: Bug Fix
* [Fixed notice params being ignored `core/functools/deprecation`](https://github.com/V4Fire/Core/pull/120)
* Fixed notice params being ignored `core/functools/implementation`
#### :house: Internal
* [Added `component` `core/functools/deprecation/DeprecatedExprType`](https://github.com/V4Fire/Core/pull/120)
* Added `typedoc.tsconfig`
## v3.22.2 (2020-07-21)
#### :boom: Breaking Change
* Set `skipLibCheck` to false `.tsconfig`
#### :bug: Bug Fix
* Fixed errors within `index.d.ts`
* Fixed deep watching by a complex path with overrides `core/object/watch`
```js
const obj = {
a: {
b: {
c: 1
}
}
};
const {proxy} = watch(obj, 'a.b.c', (newVal, oldVal) => {
console.log(newVal, oldVal);
});
proxy.a.b = {c: 1};
```
#### :house: Internal
* Fixed TS errors
## v3.22.1 (2020-07-20)
#### :bug: Bug Fix
* Fixed deep watching with a complex path `core/object/watch`
#### :house: Internal
* Updated dependencies: typescript@3.9.7, @v4fire/linters@1.4.0
## v3.22.0 (2020-07-14)
#### :rocket: New Feature
* Added `core/object/watch/isProxy`
## v3.21.1 (2020-07-13)
#### :bug: Bug Fix
* Fixed the bug when comparing intermediate numbers `core/semver`
## v3.21.0 (2020-07-10)
#### :rocket: New Feature
* Added `build/const/isLayerDep` & `build/const/isExternalDep`
#### :bug: Bug Fix
* Fixed the bug when comparing with `ord` strategy `core/semver`
* Added the project name to `build/const/depsRgxpStr`
#### :house: Internal
* Made timeout interval for async specs bigger
* Refactoring `build/tsconfig.gulp.js`
* Updated dependencies: got@11.5.0, @v4fire/linters@1.2.1
## v3.20.4 (2020-07-06)
#### :bug: Bug Fix
* Fixed passing of constructor options `core/data`
## v3.20.3 (2020-07-06)
#### :bug: Bug Fix
* Fixed passing of constructor options `core/data`
## v3.20.2 (2020-07-06)
#### :bug: Bug Fix
* Fixed constructor accessibility `core/data`
## v3.20.1 (2020-07-06)
#### :house: Internal
* All linter configurations now loaded from @v4fire/linters
## v3.20.0 (2020-07-05)
#### :boom: Breaking Change
* Changed the returning value of `clear` from `Set` to `Map` `core/kv-storage`
* New API and logic `core/queue/merge`
* Removed `core/prelude/number/converters/ex`
#### :rocket: New Feature
* Migration to from TSLint to ESlint
* Added tasks to build core as a standalone library
* Added the code coverage tool
* Added more tests
* Added node.js support for all modules
* Added `SimpleWorkerQueue`
#### :bug: Bug Fix
* Fixed bugs
#### :house: Internal
* Improved doc
* Refactoring
## v3.19.2 (2020-06-19)
#### :bug: Bug Fix
* [Fixed `Object.isCustomObject` for objects without prototypes](https://github.com/V4Fire/Core/issues/112)
## v3.19.1 (2020-06-08)
#### :bug: Bug Fix
* Restored deprecated API `Object.fromArray`
## v3.19.0 (2020-06-08)
#### :boom: Breaking Change
* Review `Object.fromArray` API
## v3.18.0 (2020-05-29)
#### :rocket: New Feature
* Added config hash
#### :house: Internal
* :new: node-object-hash@2.0.0
* Review config files
## v3.17.3 (2020-05-26)
#### :house: Internal
* Fixed TS types
## v3.17.2 (2020-05-25)
#### :house: Internal
* Added `husky`
* [Added `config.expand` method](https://github.com/V4Fire/Core/pull/103)
* [Added `@v4fire/typescript-check`](https://github.com/V4Fire/Core/pull/104)
* [Added `[Typescript check]` action](https://github.com/V4Fire/Core/pull/104)
* Updated dependencies: got@11.1.4
## v3.17.1 (2020-05-24)
#### :house: Internal
* :up: typesctipt@3.9.3, tslib@2.0.0
## v3.17.0 (2020-05-22)
#### :boom: Breaking Change
* [Removed `ts-toolbelt`](https://github.com/V4Fire/Core/pull/99)
#### :rocket: New Feature
* Added tilda ranges `core/semver`
## v3.16.1 (2020-05-22)
#### :bug: Bug Fix
* Fixed `dropCache` `core/data`
## v3.16.0 (2020-05-21)
#### :rocket: New Feature
* Added a feature to provide a custom watch engine `core/object/watch`
#### :bug: Bug Fix
* Fixed watching of arrays `core/object/watch`
* Fixed proxy arrays concatenation `core/object/watch`
## v3.15.4 (2020-05-15)
#### :bug: Bug Fix
* Fixed concatenation with absolute URL-s `core/url/concat`
## v3.15.3 (2020-05-15)
#### :bug: Bug Fix
* Fixed `Object.reject/select` type inferring
* [Fixed `core/semver`](https://github.com/V4Fire/Core/pull/91)
## v3.15.2 (2020-05-13)
#### :bug: Bug Fix
* Fixed TS compile flags
## v3.15.1 (2020-05-10)
#### :bug: Bug Fix
* Fixed `core/data/middlewares/wait` within `encoder` mode
* Fixed TS warnings
## v3.15.0 (2020-05-09)
#### :rocket: New Feature
* Added new build parameters `--client-output`, `--server-output`, `--output`
#### :bug: Bug Fix
* Fixed range validation `core/range`
#### :house: Internal
* Added spec `core/range`
## v3.14.0 (2020-05-08)
#### :rocket: New Feature
* Added jasmine@3.5.0
* Added spec `core/url`
## v3.13.3 (2020-05-01)
#### :bug: Bug Fix
* Fixed clearing of zombie tasks `core/async`
#### :house: Internal
* Refactoring `core/object/watch`
## v3.13.2 (2020-04-29)
#### :bug: Bug Fix
* Fixed watching for "spread" objects `core/object/watch`
## v3.13.1 (2020-04-28)
#### :bug: Bug Fix
* Fixed promise rejecting `core/async`
* Fixed clearing by id `core/async`
## v3.13.0 (2020-04-27)
#### :rocket: New Feature
* [Added `core/data/middlewares/wait`](https://github.com/V4Fire/Core/pull/87)
## v3.12.0 (2020-04-27)
#### :boom: Breaking Change
* Renamed interfaces from `core/kv-storage`:
* `Namespace` -> `SyncStorageNamespace`
* `AsyncNamespace` -> `AsyncStorageNamespace`
* `FactoryResult` -> `SyncStorage`
* `AsyncFactoryResult` -> `AsyncStorage`
#### :rocket: New Feature
* Added `has`, `clear` methods `core/kv-storage`
#### :bug: Bug Fix
* Fixed clearing within a namespace `core/kv-storage`
#### :house: Internal
* Improved documentation `core/kv-storage`
## v3.11.3 (2020-04-23)
#### :bug: Bug Fix
* Fixed `Object.set` invalid overload
## v3.11.2 (2020-04-23)
#### :bug: Bug Fix
* Fixed request caching `core/data`
#### :house: Internal
* Improved TS types
## v3.11.1 (2020-04-22)
#### :bug: Bug Fix
* Fixed TS errors
## v3.11.0 (2020-04-22)
#### :rocket: New Feature
* Added functional overloads to Prelude API:
```js
Object.get('foo')({foo: 1});
String.camelize({upper: true})('foo-bar');
/// etc.
```
* Added `Function.compose` to right-to-left composing of functions:
```js
Function.compose(String.camelize, Object.get('foo'))({foo: 'foo-bar'});
Function.compose(String.camelize, Object.get('foo'), () => Promise.resolve({foo: 'foo-bar'}))().then((res) => {
console.log(res);
});
```
* Added `Function.prototype.compose` to left-to-right composing of functions:
```js
Object.get('foo').compose(String.camelize)({foo: 'foo-bar'});
```
* Added `Function.curry` and `Function.prototype.curry` to create curried functions:
```js
function calc(a, b, c, d) {
return a * (b + c + d);
}
calc.curry()(10)(1, 2)(0); // 30
calc.curry()(Function.__, 1)(10, 2)(0); // 30
```
* Added `Object.Option` wrapper, that can contain some value beside null or undefined:
```js
Object.Option(1).then((v) => v === 1);
Object.Option(null).catch((v) => v === null);
Object.Option((s) => s.camelize())(null).catch((v) => v === null);
```
* Added `Function.prototype.option` helper, that can wrap a function to `Option` structure
```js
((s) => s.camelize()).option()(null).catch((v) => v === null);
```
* Added `Object.Result` wrapper, that can contain some value or error:
```js
Object.Result(1).then((v) => v === 1);
Object.Result(new Error('Boom!')).catch((err) => err.message === 'Boom!');
Object.Result(Promise.reject('Boom!')).catch((err) => err === 'Boom!');
Object.Result((s) => s.camelize())(null).catch((err) => err.message === 's is null');
```
* Added `Function.prototype.result` helper, that can wrap a function to `Result` structure
```js
((s) => s.camelize()).result()(null).catch((err) => err.message === 's is null');
```
* Added `Array.concat`
```js
Array.concat([], 1, null, [2, 3, 4]) // [1, 2, 3, 4];
```
* Added support of iterables `Array.union`
```js
Array.union([], 1, null, [1, 2].values()) // [1, 2];
```
* Added new prelude types: `AnyFunction`, `AnyOneArgFunction`, `Maybe`, `Either`
* Added `ts-toolbelt`
* [Added `debounce/throttle` to `core/async`](https://github.com/V4Fire/Core/pull/82)
* Added an overload for the zero delay `core/prelude/function/lazy/debounce`
* [Added `core/queue/order`](https://github.com/V4Fire/Core/pull/83)
* [Improved `core/queue/worker` API](https://github.com/V4Fire/Core/pull/83)
#### :house: Internal
* Refactoring
## v3.10.4 (2020-04-13)
#### :house: Internal
* Fixed types `core/object/watch`
## v3.10.3 (2020-04-10)
#### :bug: Bug Fix
* Fixed `deprecated/notImplemented` with accessors
## v3.10.2 (2020-04-08)
#### :bug: Bug Fix
* Added normalizing of input data `core/mime-type/getDataType`
* Fixed URL encoding `core/url/toQueryString`
## v3.10.1 (2020-04-07)
#### :bug: Bug Fix
* Fixed `lastDate` synchronization `core/net`
## v3.10.0 (2020-04-07)
#### :boom: Breaking Change
* [Switched the priority of a response type `core/request/response`](https://github.com/V4Fire/Core/pull/63)
* [`core/url/fromQueryString` doesn't parse nested properties by default](https://github.com/V4Fire/Core/pull/72)
#### :rocket: New Feature
* [Added `core/mime-type`](https://github.com/V4Fire/Core/pull/62)
* [Added support for custom cache strategies](https://github.com/V4Fire/Core/pull/65)
* [Added a new reviver parameter to `Object.parse`](https://github.com/V4Fire/Core/pull/72)
* [Added new overloads with options for `toQueryString/fromQueryString` `core/url`](https://github.com/V4Fire/Core/pull/72)
* [Added `core/data/middlewares/attach-status`](https://github.com/V4Fire/Core/pull/73)
* Added `Symbol.iterator` to `core/range`
* [Added `core/functools/implementation`](https://github.com/V4Fire/Core/pull/75)
#### :house: Internal
* Improved type inference `core/json/convertIfDate`
* Extracted constants to separated files `core/prelude`
* [Review `core/request`](https://github.com/V4Fire/Core/pull/68)
* [Review `core/data`](https://github.com/V4Fire/Core/pull/69)
* [Review `core/queue`](https://github.com/V4Fire/Core/pull/71)
* [Extracted `core/net` logic to an engine](https://github.com/V4Fire/Core/pull/74)
## v3.9.0 (2020-03-31)
#### :rocket: New Feature
* Added `Object.isPrimitive`
* Added `mute`/`unmute` to `core/object/watch`
* Added `pathModifier` to `core/object/watch`
* Added `eventFilter` to `core/object/watch`
* Added `root` to `core/object/watch/interface/WatchHandlerParentParams`
#### :bug: Bug Fix
* Fixed network connection status' checking algorithm
## v3.8.0 (2020-03-25)
#### :rocket: New Feature
* Added set/unset methods `core/object/watch`
## v3.7.5 (2020-03-24)
#### :bug: Bug Fix
* Fixed watching for Map/Set by using the engine `core/object/watch/engines/accessors`
## v3.7.4 (2020-03-23)
#### :bug: Bug Fix
* Fixed getting a property by a symbol from a proxy `core/object/watch`
## v3.7.3 (2020-03-23)
#### :house: Internal
* Exported some helpful helpers from `core/object/watch`
## v3.7.2 (2020-03-22)
#### :bug: Bug Fix
* Fixed `core/object/watch` with Map/Set structures
#### :house: Internal
* Updated dependencies: eventemitter2@6.2.1
## v3.7.1 (2020-03-20)
#### :bug: Bug Fix
* Fixed `core/object/watch` collapsing of events
## v3.7.0 (2020-03-17)
#### :rocket: New Feature
* Added `parent` to `core/object/watch/interface/WatchHandlerParams`
#### :bug: Bug Fix
* Fixed `core/object/watch` collapsing of events
## v3.6.1 (2020-03-16)
#### :bug: Bug Fix
* Fixed `core/object/watch` with another watchers
## v3.6.0 (2020-03-15)
#### :rocket: New Feature
* Added `withProto` parameter for `core/object/watch`
#### :bug: Bug Fix
* Fixed `core/object/watch` with nested objects
## v3.5.3 (2020-03-12)
#### :bug: Bug Fix
* Fixed `Object.create`
## v3.5.2 (2020-03-10)
#### :bug: Bug Fix
* Fixed `Object.forEach` overloads
* Fixed `core/object/watch` for getters
## v3.5.1 (2020-03-05)
#### :bug: Bug Fix
* Fixed `core/object/watch` with native structures
## v3.5.0 (2020-03-05)
#### :rocket: New Feature
* Added `core/object/select`
* Added `core/object/watch`
* Added `core/data`
* Added `core/socket`
#### :house: Internal
* Moved `core/session` to `@v4fire/client`
* Moved `core/event/resolveAfterDOMLoaded` to `@v4fire/client`
## v3.4.2 (2020-03-04)
#### :bug: Bug Fix
* Fixed error details `core/request`
## v3.4.1 (2020-03-04)
#### :bug: Bug Fix
* Fixed `Object.has` with primitive values
* Fixed `toQueryString/fromQueryString` from `core/url`
* Added URL to a request error `core/request/error`
## v3.4.0 (2020-03-03)
#### :rocket: New Feature