All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.2.2 - 2023-07-17
- Update dependencies and security issues
- Fixed code style, badges and .github templates
2.2.1 - 2023-05-10
- Update dependencies
- Drop node.js 8, 10, 12, support 16, 18, 19, 20 to CI
- Apply new code formatting from prettier and fix eslint rules
Iterator.indices()
to simplify iterating over indices of an array.Iterator.last()
to return last value of this iterator or provideddefaultValue
.Iterator.firstNonNullable()
to find first non-nullable value or provideddefaultValue
.
common.shuffle()
having non-uniform distribution.
2.2.0 - 2020-07-10
- A way to limit the internal buffer size of
MemoryWritable
stream. common.mkdirpPromise()
function.Iterator#apply()
andIterator#chainApply()
to improve iterator interaction with chained calls.captureMaxStack()
utility to get maximum available stack trace.- Table of contents to documentation.
- Get random element from array:
sample(array)
. - ECMAScript Modules named exports support.
Iterator#min()
,Iterator#max()
, andIterator#findCompare()
to simplify consumption of iterator in common use-cases (finding minimum, maximum, or using a custom condition appropriately).Iterator#partition()
to allow splitting iterator values into multiple arrays.Iterator.zip()
- static method for zipping iterators.Iterator#groupBy()
to group iterator value into Map by specific keys.
cryptoPrefetcher()
to throw whenbufSize
is not a multiple ofvalueSize
.MemoryWritable
internal buffer size is now limited to 8 MB by default.- Signature of
callerFilepath()
to allow passingRegExp
as depth to be used for filtering of stack frames. - Return value of
cryptoPrefetcher()
now implements the Iterable interface.
common.subst()
behavior for @.value@ variables.common.callerFilepath()
working incorrectly on paths with colon in them.
2.1.0 - 2019-06-18
rmRecursive()
andrmRecursivePromise()
functions.Iterator#filterMap()
to enable more efficient filter+map. It will only return values from mapper function that do not match the passed filterValue (undefined
by default).Iterator#skipWhile()
to enable skipping elements while predicate holds.MemoryWritable
stream implementation.
- Documentation by marking some methods as private and regenerating with a newer
version of
@metarhia/doc
(changelog).
2.0.0 - 2019-04-26
- This CHANGELOG.md file.
Iterator#collectWith()
now returns the provided object.Iterator#toObject()
to collect iterable into an Object similar toObject.fromEntries()
.common.iterEntries()
,common.iterKeys()
,common.iterValues()
utility methods.
- Expose
AuthenticationStrength
'scompliance
number property instead ofstrength
string. - Replaced ES5-style classes and inheritance with ES6 classes for
Cache
andEnhancedEmitter
. - Signature of
merger()
inmergeObjects()
to also contain the merging key.
- Dropped support for Node.js 6.
- Outdated
inherits()
method (in favor ofutil.inherits()
available in Node.js). - Multiple deprecated functions:
common.ip2int()
- replace withcommon.ipToInt()
common.cb()
- replace withcommon.once()
common.extractCallback()
- replace withcommon.unsafeCallback()
common.cbUnsafe()
- replace withcommon.unsafeCallback()
common.cbExtract()
- replace withcommon.safeCallback()
common.crcSID()
- replace withcommon.crcToken()
common.generateSID()
- replace withcommon.generateToken()
common.validateSID()
- replace withcommon.validateToken()
- Functions that can be replaced with
util.deprecate()
available in Node.js:common.deprecate()
common.alias()
- Functions
common.clone()
,common.deleteByPath()
, andcommon.mergeObjects()
throwing when used on objects without prototype.
1.5.0 - 2019-04-12
Symbol.toStringTag
property toIterator
.- All of the missing methods' documentation.
1.4.2 - 2019-03-28
- Issue with circular dependency on
metasync
package.
1.4.1 - 2019-03-27
- Unsuccessful attempt at fixing an issue with circular dependency on
metasync
package.
1.4.0 - 2019-03-27
- Password authentication test functions accounting for password topologies and popular passwords.
- Recursive
rmdir
implementationrmdirp()
.
Iterator#includes()
working incorrectly for non-number values.
1.3.1 - 2019-03-26
- Browser build.
1.3.0 - 2019-03-22
- Recursive
mkdir
implementationmkdirp()
. - Implementation of
pushSame()
for arrays. - Simple
Pool
implementation.
duplicate()
throwing when used with objects that have no prototype.- Deprecation warnings when using
duplicate()
onBuffer
s.
1.2.1 - 2018-12-11
- Iterating over inherited properties in
mergeObjects()
. duplicate()
andclone()
regression.
1.2.0 - 2018-12-07
Iterator.range()
method.crcToken()
,generateToken()
, andvalidateToken()
functions.
crcSID()
function in favor ofcrcToken()
.generateSID()
function in favor ofgenerateToken()
.validateSID()
function in favor ofvalidateToken()
.
- Argument name collision in
validateHash()
.
1.1.1 - 2018-11-23
Int64
Postgres serialization.
1.1.0 - 2018-11-23
- JSON and Postgres serialization to Uint64 and Int64 via methods
toJSON()
andtoPostgres()
. - Ability to construct
Uint64
fromInt64
.
1.0.0 - 2018-11-21
- The first stable version of the
@metarhia/common
package.