chore(deps): update all dependencies
This MR contains the following updates:
Release Notes
cypress-io/cypress
v5.12.5
v5.12.4
v5.12.3
v5.12.2
v5.12.1
v5.12.0
v5.11.0
v5.10.3
v5.10.2
v5.10.1
v5.10.0
testing-library/jest-dom
v5.16.4
Bug Fixes
v5.16.3
Bug Fixes
v5.16.2
Bug Fixes
v5.16.1
Bug Fixes
v5.16.0
Features
v5.15.1
Bug Fixes
v5.15.0
Features
testing-library/react-testing-library
v13.3.0
Features
v13.2.0
Features
v13.1.1
Bug Fixes
v13.1.0
Features
v13.0.1
Bug Fixes
- Specify a non-* version for @types/react-dom (#1040) (2a889e8)
v13.0.0
Features
BREAKING CHANGES
- Drop support for React 17 and earlier. We'll use the new
createRoot
API by default which comes with a set of changes while also enabling support for concurrent features. To opt-out of this change you can userender(ui, { legacyRoot: true } )
. But be aware that the legacy root API is deprecated in React 18 and its usage will trigger console warnings.
v12.1.5
Bug Fixes
v12.1.4
Bug Fixes
v12.1.3
Bug Fixes
v12.1.2
Bug Fixes
v12.1.1
Bug Fixes
v12.1.0
Features
v12.0.0
Bug Fixes
- Bump testing-library/dom to v8 alpha (#923) (770246e)
- Update @testing-library/dom (#931) (05c7421)
Features
- Bump @testing-library/dom (6e6bf85)
- Drop support for node 10 (#930) (42dad78)
BREAKING CHANGES
- Bump
@testing-library/dom
to 8.0.0. Please check out the@testing-library/dom@8.0.0
release page for a detailed list of breaking changes. - node 10 is no longer supported. It reached its end-of-life on 30.04.2021.
testing-library/user-event
v14.2.0
Features
Bug Fixes
- guard against selection without range (#953) (ab78f3f)
- selectOptions: wait after each click (#951) (7ea7a77)
- wait after each method before leaving
asyncWrapper
(#952) (6f55fee)
v14.1.1
14.1.1 (2022-04-17)
Bug Fixes
- remove implicit global references (#932) (9913798)
- use
globalThis
instead ofglobal
(#928) (497c14d)
v14.1.0
Features
Bug Fixes
- delete chars from value at
maxlength
(#909) (f5049c4) - reset UI selection after programmatic value change (#915) (8bc3310)
- set initial value when setting UI value (#918) (7b0643b)
v14.0.4
14.0.4 (2022-04-01)
Bug Fixes
v14.0.3
14.0.3 (2022-03-31)
Bug Fixes
v14.0.2
14.0.2 (2022-03-31)
Bug Fixes
v14.0.1
14.0.1 (2022-03-31)
Bug Fixes
- maintain UI value on controlled number input (#889) (a7f9906)
- pointer: support nested select (#888) (e23e559)
v14.0.0
⚠ BREAKING CHANGES
- APIs always return a Promise.
-
pointer:
skipPointerEvents
has been removed. UsepointerEventsCheck: PointerEventsCheckLevel.Never
instead. -
upload:
init
parameter has been removed fromuserEvent.upload
. -
upload:
applyAccept
defaults totrue
. - The
userEvent.paste
API has new parameters. -
{ctrl}
,{del}
,{esc}
no longer describe a key. Use{Control}
,{Delete}
,{Escape}
instead. -
{alt}
,{ctrl}
,{meta}
,{shift}
no longer imply not releasing the key. Use{Alt>}
,{Control>}
,{Meta>}
,{Shift>}
instead. -
init
parameter has been removed from these APIs:userEvent.click
userEvent.dblClick
userEvent.tripleClick
userEvent.hover
userEvent.unhover
userEvent.selectOptions
userEvent.deselectOptions
-
userEvent.upload
no longer supportsclickInit
as part of itsinit
parameter. - Behavior for special key descriptor
{selectall}
has been removed. - Support for
keyCode
property on keyboard events has been removed. - An error is thrown when calling
userEvent.clear
on an element which is not editable. - An error is thrown when event handlers prevent
userEvent.clear
from focussing/selecting content. -
tab: The
focusTrap
option has been removed fromuserEvent.tab()
. -
type:
userEvent.type
does no longer move the cursor if used withskipClick=false
and withoutinitialSelectionStart
. - The implementation of pointer related APIs was replaced. This might break tests relying on unintended side-effects of the previous implementation.
- Support for node 10 was removed as it reached its end-of-life.
Features
- async APIs (#790) (86860cc)
- keep track of document state in UI (#747) (73e62d0)
- rewrite selection handling (#776) (968c2c4)
-
event: support
beforeinput
(#851) (8890bd6) - add
pointer
API (#750) (c12ee44) - add
setup
API (#746) (719ba03) - add
userEvent.copy
anduserEvent.cut
(#787) (8727a2d) - add
userEvent.tripleClick
API (#773) (0badabd) - apply modifier keys in pointer events (#751) (e33eb86)
-
keyboard: add
[Tab]
support (#767) (87470ff) - keyboard: apply modifier state (#815) (e9635f6)
- keyboard: move cursor and delete content in contenteditable (#822) (b83b259)
-
keyboard: select all per
{Control}+[KeyA]
(#774) (ea9b18a) - pointer: change selection per pointer (#763) (17fb8b1)
-
pointer: introduce
pointerEventsCheck
option (#823) (e2a5f43) - remove support for user provided
MouseEventInit
(#784) (56ebf7d) -
paste: replace
userEvent.paste
(#785) (f8fe217) -
clear: rewrite
userEvent.clear
API (#779) (1cda1b1) - upload: replace element properties (#794) (543eadb)
Bug Fixes
- check for inherited
:disabled
(#872) (1a00fdf) -
clipboard: prevent default behavior on
copy
/cut
(#866) (5423094) -
clipboard: prevent default behavior on
paste
(#862) (d3d71ac) - create MouseEvents per
createEvent
(#781) (da5b5b7) - export bundled ESM (#816) (1a5e2a7)
- export types and commonjs bundle (#821) (4f56856)
- keyboard: parse escaped bracket followed by descriptor (#814) (684451f)
- keyboard: parse keyboard input without nesting (#793) (fafa677)
-
keyboard: set
KeyboardEvent.charCode
onkeypress
(#771) (55e194a) -
keyboard: submit form with
<button/>
on[Enter]
(#808) (eca157a) - log correct docs link for invalid key descriptors (#881) (28d6604)
- maintain cursor position on controlled component (#765) (8f203cc)
-
pointer: blur
activeElement
on click outside of focusable (#834) (d64167c) - pointer: consider click context (#850) (ca4482a)
- pointer: fire pointer events on disabled elements (#818) (ef2f4e5)
-
pointer: honor click handler on
<label/>
(#810) (2c5d9f1) -
pointer: trigger
contextmenu
onmousedown
(#811) (e1c4cad) - prepare document in setup (#753) (65be675)
- remove deprecated keyboard features (#780) (45dc39a)
- remove legacy modifier implementations (#783) (caea162)
- replace pointer implementations (#754) (c04f79b)
- reset UI selection on setter (#770) (2733d10)
-
tab: order
tabIndex>0
beforetabIndex=0
(#809) (1bc5945) -
tab: remove
focusTrap
option (#772) (a0412c0) -
tab: skip elements with
visibility:hidden
(#799) (a747b0a) - upload: fix order of events (#847) (214fd03)
Miscellaneous Chores
v13.5.0
Features
v13.4.2
Bug Fixes
v13.4.1
Bug Fixes
v13.4.0
Features
v13.3.0
Features
v13.2.1
Bug Fixes
v13.2.0
Features
v13.1.9
Bug Fixes
v13.1.8
Bug Fixes
v13.1.7
Bug Fixes
v13.1.6
Bug Fixes
v13.1.5
Bug Fixes
v13.1.4
Bug Fixes
v13.1.3
Bug Fixes
v13.1.2
Bug Fixes
v13.1.1
Bug Fixes
v13.1.0
Features
v13.0.16
Bug Fixes
v13.0.15
Bug Fixes
v13.0.14
Bug Fixes
v13.0.13
Bug Fixes
v13.0.12
Bug Fixes
v13.0.11
Bug Fixes
v13.0.10
Bug Fixes
v13.0.9
Bug Fixes
v13.0.8
Bug Fixes
v13.0.7
Bug Fixes
v13.0.6
Bug Fixes
v13.0.5
Bug Fixes
v13.0.4
Bug Fixes
v13.0.3
Bug Fixes
v13.0.2
Bug Fixes
v13.0.1
Bug Fixes
v13.0.0
Features
BREAKING CHANGES
-
userEvent.type
features a rewritten implementation shared with the newuserEvent.keyboard
. This might break code depending on unintended/undocumented behavior of the previous implementation. -
userEvent.type
treats{
and[
as special characters. -
userEvent.type
returns no Promise if called withoutdelay
.
facebook/jest
v28.1.0
Features
-
[jest-circus]
Addfailing
test modifier that inverts the behavior of tests (#12610) -
[jest-environment-node, jest-environment-jsdom]
Allow specifyingcustomExportConditions
(#12774)
Fixes
-
[expect]
Adjust typings oflastCalledWith
,nthCalledWith
,toBeCalledWith
matchers to allow a case there a mock was called with no arguments (#12807) -
[@jest/expect-utils]
Fix deep equality of ImmutableJS Lists (#12763) -
[jest-core]
Do not collectSIGNREQUEST
as open handles (#12789)
Chore & Maintenance
-
[docs]
Specified documentation about--filter
CLI docs (#12799) -
[@jest-reporters]
Move helper functions fromutils.ts
into separate files (#12782) -
[jest-resolve]
Replaceprocess.versions.pnp
type declaration with@types/pnpapi
devDependency (#12783)
v28.0.3
Fixes
-
[jest-config]
Normalizereporters
option defined in presets (#12769) -
[@jest/reporters]
Fix trailing slash in matchingcoverageThreshold
key (#12714) -
[jest-resolve]
Fix (experimental) ESM module mocking for re-exports (#12766) -
[@jest/transform]
Throw better error if an invalid return value if encountered (#12764)
Chore & Maintenance
-
[docs]
Fix typo in--shard
CLI docs (#12761)
v28.0.2
Features
-
[jest-worker]
AddJestWorkerFarm
helper type (#12753)
Fixes
-
[*]
Lower Node 16 requirement to 16.10 from 16.13 due to a Node bug that causes memory and performance issues (#12754)
v28.0.1
Features
-
[jest-resolve]
ExposeResolverOptions
type (#12736)
Fixes
-
[expect]
Add missing dependencyjest-util
(#12744) -
[jest-circus]
Improvetest.concurrent
(#12748) -
[jest-resolve]
Correctly throw an error ifjsdom
test environment is used, but not installed (#12749)
Chore & Maintenance
-
[jest-serializer]
Remove deprecated module from source tree (#12735)
v28.0.0
Features
-
[babel-jest]
ExportcreateTransformer
function (#12399) -
[expect]
ExposeAsymmetricMatchers
,MatcherFunction
andMatcherFunctionWithState
interfaces (#12363, #12376) -
[jest-circus]
Support error logging before retry (#12201) -
[jest-circus, jest-jasmine2]
Allowed classes and functions asdescribe
andit
/test
names (#12484) -
[jest-cli, jest-config]
[BREAKING] RemovetestURL
config, usetestEnvironmentOptions.url
instead (#10797) -
[jest-cli, jest-core]
Add--shard
parameter for distributed parallel test execution (#12546) -
[jest-cli]
[BREAKING] Remove undocumented--timers
option (#12572) -
[jest-config]
[BREAKING] Stop shippingjest-environment-jsdom
by default (#12354) -
[jest-config]
[BREAKING] Stop shippingjest-jasmine2
by default (#12355) -
[jest-config, @​jest/types]
Addci
toGlobalConfig
(#12378) -
[jest-config]
[BREAKING] RenamemoduleLoader
toruntime
(#10817) -
[jest-config]
[BREAKING] RenameextraGlobals
tosandboxInjectedGlobals
(#10817) -
[jest-config]
[BREAKING] Throw an error instead of showing a warning if multiple configs are used (#12510) -
[jest-config]
[BREAKING] Do not normalize long deprecated configuration optionspreprocessorIgnorePatterns
,scriptPreprocessor
,setupTestFrameworkScriptFile
andtestPathDirs
(#12701) -
[jest-cli, jest-core]
Add--ignoreProjects
CLI argument to ignore test suites by project name (#12620) -
[jest-core]
Pass project config toglobalSetup
/globalTeardown
function as second argument (#12440) -
[jest-core]
Stabilize test runners with event emitters (#12641) -
[jest-core, jest-watcher]
[BREAKING] MoveTestWatcher
class tojest-watcher
package (#12652) -
[jest-core]
Allow using Summary Reporter as stand-alone reporter (#12687) -
[jest-environment-jsdom]
[BREAKING] Upgrade jsdom to 19.0.0 (#12290) -
[jest-environment-jsdom]
[BREAKING] Add defaultbrowser
condition toexportConditions
forjsdom
environment (#11924) -
[jest-environment-jsdom]
[BREAKING] Pass global config to Jest environment constructor forjsdom
environment (#12461) -
[jest-environment-jsdom]
[BREAKING] Second argumentcontext
to constructor is mandatory (#12469) -
[jest-environment-node]
[BREAKING] Add defaultnode
andnode-addon
conditions toexportConditions
fornode
environment (#11924) -
[jest-environment-node]
[BREAKING] Pass global config to Jest environment constructor fornode
environment (#12461) -
[jest-environment-node]
[BREAKING] Second argumentcontext
to constructor is mandatory (#12469) -
[jest-environment-node]
Add all available globals to test globals, not just explicit ones (#12642, #12696) -
[@jest/expect]
New module which extendsexpect
withjest-snapshot
matchers (#12404, #12410, #12418) -
[@jest/expect-utils]
New module exporting utils forexpect
(#12323) -
[@jest/fake-timers]
[BREAKING] Renametimers
configuration option tofakeTimers
(#12572) -
[@jest/fake-timers]
[BREAKING] Allowjest.useFakeTimers()
andprojectConfig.fakeTimers
to take an options bag (#12572) -
[jest-haste-map]
[BREAKING]HasteMap.create
now returns a promise (#12008) -
[jest-haste-map]
Add support fordependencyExtractor
written in ESM (#12008) -
[jest-mock]
[BREAKING] Rename exported utility typesClassLike
,FunctionLike
,ConstructorLikeKeys
,MethodLikeKeys
,PropertyLikeKeys
; remove exports of utility typesArgumentsOf
,ArgsType
,ConstructorArgumentsOf
- TS builtin utility typesConstructorParameters
andParameters
should be used instead (#12435, #12489) -
[jest-mock]
ImproveisMockFunction
to infer types of passed function (#12442) -
[jest-mock]
[BREAKING] Improve the usage ofjest.fn
generic type argument (#12489) -
[jest-mock]
Add support for auto-mocking async generator functions (#11080) -
[jest-mock]
Addcontexts
member to mock functions (#12601) -
[@jest/reporters]
Add GitHub Actions reporter (#11320, #12658) -
[@jest/reporters]
PassreporterContext
to custom reporter constructors as third argument (#12657) -
[jest-resolve]
[BREAKING] Add support forpackage.json
exports
(#11961, #12373) -
[jest-resolve]
Support package self-reference (#12682) -
[jest-resolve, jest-runtime]
Add support fordata:
URI import and mock (#12392) -
[jest-resolve, jest-runtime]
Add support for async resolver (#11540) -
[jest-resolve]
[BREAKING] Removebrowser?: boolean
from resolver options,conditions: ['browser']
should be used instead (#12707) -
[jest-resolve]
ExposeJestResolver
,AsyncResolver
,SyncResolver
,PackageFilter
,PathFilter
andPackageJSON
types (#12707, (#12712) -
[jest-runner]
AllowsetupFiles
module to export an async function (#12042) -
[jest-runner]
Allow passingtestEnvironmentOptions
via docblocks (#12470) -
[jest-runner]
ExposeCallbackTestRunner
,EmittingTestRunner
abstract classes andCallbackTestRunnerInterface
,EmittingTestRunnerInterface
to help typing third party runners (#12646, #12715) -
[jest-runner]
Lock version ofsource-map-support
to 0.5.13 (#12720) -
[jest-runtime]
[BREAKING]Runtime.createHasteMap
now returns a promise (#12008) -
[jest-runtime]
Callingjest.resetModules
function will clear FS and transform cache (#12531) -
[jest-runtime]
[BREAKING] RemoveContext
type export, it must be imported from@jest/test-result
(#12685) -
[jest-runtime]
Addimport.meta.jest
(#12698) -
[@jest/schemas]
New module for JSON schemas for Jest's config (#12384) -
[@jest/source-map]
Migrate fromsource-map
to@jridgewell/trace-mapping
(#12692) -
[jest-transform]
[BREAKING] Make it required forprocess()
andprocessAsync()
methods to always return structured data (#12638) -
[jest-test-result]
Add duration property to JSON test output (#12518) -
[jest-watcher]
[BREAKING] MakePatternPrompt
class to takeentityName
as third constructor parameter instead ofthis._entityName
(#12591) -
[jest-worker]
[BREAKING] Allow only absoluteworkerPath
(#12343) -
[jest-worker]
[BREAKING] Default to advanced serialization when using child process workers (#10983) -
[pretty-format]
NewmaxWidth
parameter (#12402)
Fixes
-
[*]
Usesha256
instead ofmd5
as hashing algortihm for compatibility with FIPS systems (#12722) -
[babel-jest]
[BREAKING] PassrootDir
asroot
in Babel's options (#12689) -
[expect]
Move typings of.not
,.rejects
and.resolves
modifiers outside ofMatchers
interface (#12346) -
[expect]
Throw useful error ifexpect.extend
is called with invalid matchers (#12488) -
[expect]
FixiterableEquality
ignores other properties (#8359) -
[expect]
Fix print for thecloseTo
matcher (#12626) -
[jest-changed-files]
ImprovechangedFilesWithAncestor
pattern for Mercurial SCM (#12322) -
[jest-circus, @​jest/types]
Disallow undefined value inTestContext
type (#12507) -
[jest-config]
Correctly detect CI environment and update snapshots accordingly (#12378) -
[jest-config]
PassmoduleTypes
tots-node
to enforce CJS when transpiling (#12397) -
[jest-config]
[BREAKING] Addmjs
andcjs
to defaultmoduleFileExtensions
config (#12578) -
[jest-config, jest-haste-map]
Allow searching for tests innode_modules
by exposingretainAllFiles
(#11084) -
[jest-core]
[BREAKING] Exit with status1
if no tests are found with--findRelatedTests
flag (#12487) -
[jest-core]
Do not report unref-ed subprocesses as open handles (#12705) -
[jest-each]
%#
is not replaced with index of the test case (#12517) -
[jest-each]
Fixes error message with incorrect count of missing arguments (#12464) -
[jest-environment-jsdom]
Makejsdom
accessible to extending environments again (#12232) -
[jest-environment-jsdom]
Log JSDOM errors more cleanly (#12386) -
[jest-environment-node]
AddMessageChannel
,MessageEvent
to globals (#12553) -
[jest-environment-node]
AddstructuredClone
to globals (#12631) -
[@jest/expect-utils]
[BREAKING] Fix false positives when looking forundefined
prop (#8923) -
[jest-haste-map]
Don't use partial results if file crawl errors (#12420) -
[jest-haste-map]
Make watchman existence check lazy+async (#12675) -
[jest-jasmine2, jest-types]
[BREAKING] Move alljasmine
specific types from@jest/types
to its own package (#12125) -
[jest-jasmine2]
Do not setduration
to0
for skipped tests (#12518) -
[jest-matcher-utils]
Pass maxWidth topretty-format
to avoid printing every element in arrays by default (#12402) -
[jest-mock]
Fix function overloads forspyOn
to allow more correct type inference in complex object (#12442) -
[jest-mock]
Handle overriddenFunction.name
property (#12674) -
[@jest/reporters]
Notifications generated by the--notify
flag are no longer persistent in GNOME Shell. (#11733) -
[@jest/reporters]
Move missing icon file which is needed forNotifyReporter
class. (#12593) -
[@jest/reporters]
Updatev8-to-istanbul
(#12697) -
[jest-resolver]
Call custom resolver with core node.js modules (#12654) -
[jest-runner]
Correctly resolvesource-map-support
(#12706) -
[jest-worker]
FixFarm
execution results memory leak (#12497)
Chore & Maintenance
-
[*]
[BREAKING] Drop support for Node v10 and v15 and target first LTS16.13.0
(#12220) -
[*]
[BREAKING] Drop support fortypescript@3.8
, minimum version is now4.3
(#11142, #12648) -
[*]
Bundle all.d.ts
files into a singleindex.d.ts
per module (#12345) -
[*]
UseglobalThis
instead ofglobal
(#12447) -
[babel-jest]
[BREAKING] Only exportcreateTransformer
(#12407) -
[docs]
Add note about not mixingdone()
with Promises (#11077) -
[docs, examples]
Update React examples to match with the new React guidelines for code examples (#12217) -
[docs]
Add clarity for module factory hoisting limitations (#12453) -
[docs]
Add more information about how code transformers work (#12407) -
[docs]
Add upgrading guide (#12633) -
[expect]
[BREAKING] Remove support for importingbuild/utils
(#12323) -
[expect]
[BREAKING] Migrate to ESM (#12344) -
[expect]
[BREAKING] Snapshot matcher types are moved to@jest/expect
(#12404) -
[jest-cli]
Updateyargs
to v17 (#12357) -
[jest-config]
[BREAKING] RemovegetTestEnvironment
export (#12353) -
[jest-config]
[BREAKING] Rename config optionname
toid
(#11981) -
[jest-create-cache-key-function]
Added README.md file with basic usage instructions (#12492) -
[@jest/core]
Useindex.ts
instead ofjest.ts
as main export (#12329) -
[jest-environment-jsdom]
[BREAKING] Migrate to ESM (#12340) -
[jest-environment-node]
[BREAKING] Migrate to ESM (#12340) -
[jest-haste-map]
Remove legacyisRegExpSupported
(#12676) -
[@jest/fake-timers]
Update@sinonjs/fake_timers
to v9 (#12357) -
[jest-jasmine2, jest-runtime]
[BREAKING] UseSymbol
to passjest.setTimeout
value instead ofjasmine
specific logic (#12124) -
[jest-phabricator]
[BREAKING] Migrate to ESM (#12341) -
[jest-resolve]
[BREAKING] MakerequireResolveFunction
argument mandatory (#12353) -
[jest-runner]
[BREAKING] Remove some type exports from@jest/test-result
(#12353) -
[jest-runner]
[BREAKING] Second argument to constructor (Context
) is not optional (#12640) -
[jest-serializer]
[BREAKING] Deprecate package in favour of usingv8
APIs directly (#12391) -
[jest-snapshot]
[BREAKING] Migrate to ESM (#12342) -
[jest-transform]
Updatewrite-file-atomic
to v4 (#12357) -
[jest-types]
[BREAKING] RemoveConfig.Glob
andConfig.Path
(#12406) -
[jest]
Useindex.ts
instead ofjest.ts
as main export (#12329)
Performance
-
[jest-haste-map]
[BREAKING] Default tonode
crawler over shelling out tofind
ifwatchman
is not enabled (#12320)
v27.5.1
Features
-
[jest-config]
Support comments in JSON config file (#12316) -
[pretty-format]
ExposeConvertAnsi
plugin (#12308)
Fixes
-
[expect]
Add type definitions for asymmetriccloseTo
matcher (#12304) -
[jest-cli]
Load binary via exported API (#12315) -
[jest-config]
Replacejsonlint
withparse-json
(#12316) -
[jest-repl]
Make module importable (#12311 & #12315)
Chore & Maintenance
-
[*]
Avoid anonymous default exports (#12313)
v27.5.0
Features
-
[expect]
Add asymmetric matcherexpect.closeTo
(#12243) -
[jest-mock]
AddedmockFn.mock.lastCall
to retrieve last argument (#12285)
Fixes
-
[expect]
Add a fix for.toHaveProperty('')
(#12251) -
[jest-each, @​jest/globals]
Allow passingReadonlyArray
type of a table todescribe.each
andtest.each
(#12297) -
[@jest/globals]
Add missingoptions
argument tojest.doMock
typing (#12292) -
[jest-environment-node]
Addatob
andbtoa
(#12269) -
[jest-matcher-utils]
Correct diff for expected asymmetric matchers (#12264) -
[jest-message-util]
Fix.getTopFrame()
(andtoMatchInlineSnapshot()
) withmjs
files (#12277)
Chore & Maintenance
-
[*]
Updategraceful-fs
to^4.2.9
(#11749)
Performance
-
[jest-resolve]
perf: skip error creation on not foundstat
calls (#11749)
v27.4.6
Fixes
-
[jest-environment-node]
AddAbortSignal
(#12157) -
[jest-environment-node]
Add Missing node globalperformance
(#12002) -
[jest-runtime]
Handle missingmocked
property (#12213) -
[@jest/transform]
Update dependency packagepirates
to 4.0.4 (#12002)
Performance
-
jest-config
perf: only register ts-node once when loading TS config files (#12160)
v27.4.5
Fixes
-
[jest-worker]
Stop explicitly passingprocess.env
(#12141)
v27.4.4
Fixes
-
[babel-jest]
Addprocess.version
chunk to the cache key (#12122) -
[jest-environment]
Addmocked
tojest
object (#12133) -
[jest-worker]
Stop explicitly passingexecArgv
(#12128)
Chore & Maintenance
-
[website]
Fix the card front that looks overlapping part of the card back
v27.4.2
Fixes
-
[jest-worker]
Add additionalexecArgv
to filter (#12103)
v27.4.1
Fixes
-
[jest-worker]
FilterexecArgv
correctly (#12097)
v27.4.0
Features
-
[expect]
Enhancing thetoHaveProperty
matcher to support array selection (#12092) -
[jest-core]
Add support fortestResultsProcessor
written in ESM (#12006) -
[jest-diff, pretty-format]
AddcompareKeys
option for custom sorting of object keys (#11992) -
[jest-mock]
Addts-jest
mock util functions (#12089)
Fixes
-
[expect]
Allow againexpect.Matchers
generic with single value (#11986) -
[jest-circus, jest-jasmine2]
Avoid false concurrent test failures due to unhandled promise rejections (#11987) -
[jest-config]
Add missingslash
dependency topackage.json
(#12080) -
[jest-core]
Incorrect detection of open ZLIB handles (#12022) -
[jest-diff]
Break dependency cycle (#10818) -
[jest-environment-jsdom]
Add@types/jsdom
dependency (#11999) -
[jest-environment-jsdom]
Do not reset the global.document too early on teardown (#11871) -
[jest-transform]
Improve error and warning messages (#11998) -
[jest-worker]
PassexecArgv
correctly toworker_threads
worker (#12069)
Chore & Maintenance
-
[docs]
CLI options alphabetized (#11586) -
[jest-runner]
Add info regarding timers to forcedExit message(#12083) -
[*]
Replacedsubstr
method withsubstring
(#12066) -
[*]
Addtypes
entry to all export maps (#12073)
v27.3.1
Fixes
-
[expect]
Makeexpect
extension propertiesconfigurable
(#11978) -
[expect]
Fix.any()
checks on primitive wrapper classes (#11976)
Chore & Maintenance
-
[expect]
BigInt
global is always defined, don't check for its existence at runtime (#11979) -
[jest-config, jest-util]
Useci-info
instead ofis-ci
to detect CI environment (#11973)
v27.3.0
Features
-
[jest-config]
AddtestEnvironmentOptions.html
to apply to jsdom input (#11950) -
[jest-resolver]
Support default export (.
) inexports
field ifmain
is missing (#11919)
Fixes
-
[expect]
Tweak and improve types (#11949) -
[jest-runtime]
Ensure absolute paths can be resolved within test modules (#11943) -
[jest-runtime]
Fixinstanceof
forModernFakeTimers
andLegacyFakeTimers
methods (#11946)
v27.2.5
Features
-
[jest-config]
Warn when multiple Jest configs are located (#11922)
Fixes
-
[expect]
Pass matcher context to asymmetric matchers (#11926 & #11930) -
[expect]
Improve TypeScript types (#11931) -
[expect]
Improve typings oftoThrow()
andtoThrowError()
matchers (#11929) -
[jest-cli]
Improve--help
printout by removing defunct--browser
option (#11914) -
[jest-haste-map]
Use distinct cache paths for different values ofcomputeDependencies
(#11916) -
[@jest/reporters]
Do not bufferconsole.log
s when using verbose reporter (#11054)
Chore & Maintenance
-
[expect]
Export default matchers (#11932) -
[@jest/types]
Mark deprecated configuration options as@deprecated
(#11913)
v27.2.4
Features
-
[expect]
Add equality checks for Array Buffers inexpect.ToStrictEqual()
(#11805)
Fixes
-
[jest-snapshot]
Correctly indent inline snapshots (#11560)
v27.2.3
Features
-
[@jest/fake-timers]
Update@sinonjs/fake-timers
to v8 (#11879)
Fixes
-
[jest-config]
ParsetestEnvironmentOptions
if received from CLI (#11902) -
[jest-reporters]
Calldestroy
onv8-to-istanbul
converters to free memory (#11896)
v27.2.2
Fixes
-
[jest-runtime]
CorrectwrapperLength
value for ESM modules. (#11893)
v27.2.1
Features
-
[jest-transform]
Improve the unexpected token error message. (#11807)
Fixes
-
[jest-runtime]
Fix regression when usingjest.isolateModules
and mocks (#11882) -
[jest-runtime]
Include test name when importing modules after test has completed (#11885) -
[jest-runtime]
Error when ESM import is used after test is torn down (#11885)
v27.2.0
Features
-
[jest-resolver, jest-runtime]
Passconditions
to custom resolvers to enable them to implement support for package.jsonexports
field (#11859) -
[jest-runtime]
Allow custom envs to specifyexportConditions
which is passed together with Jest's own conditions to custom resolvers (#11863)
Fixes
-
[@jest/reporters]
Use async transform if available to transform files with no coverage (#11852) -
[jest-util]
Return correct value fromprocess.send
stub (#11799)
v27.1.1
Features
-
[jest-runtime]
Add experimental, limited (and undocumented) support for mocking ECMAScript Modules (#11818)
Fixes
-
[jest-resolver]
Supportnode:
prefix when importing Node core modules with ESM (#11817) -
[jest-types]
Export thePrettyFormatOptions
interface (#11801)
v27.1.0
Features
-
[jest-haste-map]
Use watchman suffix-set option for faster file indexing. (#11784) -
[jest-cli]
Adds a new config optionssnapshotFormat
which offers a way to override any of the formatting settings which come with pretty-format. (#11654) -
[jest-reporters]
Expose thegetSummary
util (#11695). -
[jest-resolver]
Supportnode:
prefix when importing Node core modules (#11331)
Fixes
-
[jest-each]
Relaxed the validation to allow multibyte characters in headings (#11575) -
[jest-environment-jsdom]
Add support foruserAgent
option (#11773) -
[jest-environment-node]
AddEvent
andEventTarget
to node global environment. (#11727) -
[jest-mock]
FixspyOn
to useObject.prototype.hasOwnProperty
(#11721) -
[jest-resolver]
Add dependency onjest-haste-map
(#11759) -
[jest-types]
Compat with@types/node
v16 (#11645)
Chore & Maintenance
-
[docs]
Correctexpects.assertions
documentation by adding async/await for asynchronous function.
v27.0.6
Fixes
-
[*]
Publish all modules to include the build change in (#11569)
v27.0.5
Features
-
[@jest/fake-timers]
Flush callbacks scheduled withrequestAnimationFrame
every 16ms when using legacy timers. (#11523) -
[pretty-format]
UseglobalThis
(with polyfill if required) to bring support for esbuild's browser bundling mode (#11569)
Fixes
-
[jest-core]
Support special characters like@
,+
and()
on Windows with--findRelatedTests
(#11548) -
[@jest/fake-timers]
Do not addsetImmediate
andclearImmediate
if they do not exist in the global environment (#11599) -
[@jest/reporters]
Allownode-notifier@10
as peer dependency (#11523) -
[@jest/reporters]
Updatev8-to-istanbul
(#11523)
v27.0.2
Features
-
[jest-circus]
Add some APIs to make it easier to build your own test runner -
[jest-reporters]
Expose thegetResultHeader
util (#11460) -
[jest-resolver]
Exportresolve*
utils for different Jest modules (#11466) -
[@jest/test-result]
ExportTest
,TestEvents
andTestFileEvent
(#11466)
Fixes
-
[jest-circus]
Add missingslash
dependency (#11465) -
[jest-circus, @​jest/test-sequencer]
Remove dependency onjest-runner
(#11466) -
[jest-config]
Resolveconfig.runner
to absolute path (#11465) -
[jest-config]
Make sure to support functions as config (#11475) -
[jest-core]
Do not warn aboutDNSCHANNEL
handles when using the--detectOpenHandles
option (#11470) -
[jest-runner]
Remove dependency onjest-config
(#11466) -
[jest-worker]
Loosen engine requirement to>= 10.13.0
(#11451)
v27.0.1
Fixes
-
[jest-environment-jsdom]
Bump version of JSDOM to avoid deprecatedrequest
package (#11442)
v27.0.0
Features
-
[babel-jest]
Add async transformation (#11192) -
[jest-changed-files]
Use '--' to separate paths from revisions (#11160) -
[jest-circus]
[BREAKING] Fail tests when multipledone()
calls are made (#10624) -
[jest-circus, jest-jasmine2]
[BREAKING] Fail the test instead of just warning when describe returns a value (#10947) -
[jest-config]
[BREAKING] Default to Node testing environment instead of browser (JSDOM) (#9874) -
[jest-config]
[BREAKING] Usejest-circus
as default test runner (#10686) -
[jest-config]
Add support forpreset
written in ESM (#11200) -
[jest-config, jest-runtime]
Support ESM for files other than.js
and.mjs
(#10823) -
[jest-config, jest-runtime]
[BREAKING] Use "modern" implementation as default for fake timers (#10874 & #11197) -
[jest-config
Allow passingforceNodeFilesystemAPI
through tojest-haste-map
(#11264) -
[jest-config, jest-haste-map, jest-resolve, jest-runner, jest-runtime, jest-test-sequencer, jest-transform, jest-types]
[BREAKING] Add custom HasteMap class implementation config option (#11107) -
[jest-core]
makeTestWatcher
extendemittery
(#10324) -
[jest-core]
Run failed tests interactively the same way we do with snapshots (#10858) -
[jest-core]
moreTestSequencer
methods can be async (#10980) -
[jest-core]
Add support fortestSequencer
written in ESM (#11207) -
[jest-core]
Add support forglobalSetup
andglobalTeardown
written in ESM (#11267) -
[jest-core]
Add support forwatchPlugins
written in ESM (#11315) -
[jest-core]
Add support forrunner
written in ESM (#11232) -
[jest-core]
Add support forreporters
written in ESM (#11427) -
[jest-each]
Add support for interpolation with object properties (#11388) -
[jest-environment-node]
Add AbortController to globals (#11182) -
[@jest/fake-timers]
Update to@sinonjs/fake-timers
to v7 (#11198) -
[jest-haste-map]
Handle injected scm clocks (#10966) -
[jest-haste-map]
AddenableSymlinks
configuration option to follow symlinks for test files (#9351) -
[jest-repl, jest-runner]
[BREAKING] Run transforms over environment (#8751) -
[jest-repl]
Add support fortestEnvironment
written in ESM (#11232) -
[jest-reporters]
Add static filepath property to all reporters (#11015) -
[jest-runner]
[BREAKING] set exit code to 1 if test logs after teardown (#10728) -
[jest-runner]
[BREAKING] Run transforms overrunner
(#8823) -
[jest-runner]
[BREAKING] Run transforms overtestRunner
(#8823) -
[jest-runner]
Possibility to use ESM for test environment (11033) -
[jest-runner]
Add support fortestRunner
written in ESM (#11232) -
[jest-runtime]
Detect reexports from CJS as named exports in ESM (#10988) -
[jest-runtime]
Support for async code transformations (#11191 & #11220) -
[jest-snapshot]
[BREAKING] Make prettier optional for inline snapshots - fall back to string replacement (#7792 & #11192) -
[jest-snapshot]
[BREAKING] Run transforms oversnapshotResolver
(#8751) -
[jest-transform]
Pass config options defined in Jest's config to transformer'sprocess
andgetCacheKey
functions (#10926) -
[jest-transform]
Add support for transformers written in ESM (#11163) -
[jest-transform]
[BREAKING] Do not exportScriptTransformer
class, instead export the async functioncreateScriptTransformer
(#11163) -
[jest-transform]
Async code transformations (#9889) -
[jest-transform]
Support transpiled transformers (#11193) -
[jest-transform]
[BREAKING]requireAndTranspileModule
always return aPromise
, and the third parameter type is changed toRequireAndTranspileModuleOptions
which acceptapplyInteropRequireDefault
option (#11232) -
[jest-transform]
[BREAKING]createTranspilingRequire
return function which return aPromise
now (#11232) -
[jest-util]
add requireOrImportModule for importing CJS or ESM (#11199) -
[jest-util]
addapplyInteropRequireDefault
option onrequireOrImportModule
(#11232) -
[jest-watcher]
Added support for clearing the line when<C-u>
is pressed in a watch mode pattern prompt (#11358) -
[jest-worker]
Add support for custom task queues and adds aPriorityQueue
implementation. (#10921) -
[jest-worker]
Add in-order scheduling policy to jest worker (10902) -
[pretty-format]
Better print for sparse arrays (11326) -
[pretty-print]
Add optionprintBasicPrototype
which determines whether or not the prototype should be printed for raw objects or arrays (#11441)
Fixes
-
[babel-plugin-jest-hoist]
Add__dirname
and__filename
to whitelisted globals (#10903) -
[expect]
[BREAKING] Reviseexpect.not.objectContaining()
to be the inverse ofexpect.objectContaining()
, as documented. (#10708) -
[expect]
[BREAKING] MaketoContain
more strict with the received type (#10119 & #10929) -
[expect]
[BREAKING]matcherResult
onJestAssertionError
are now strings rather than functions (#10989) -
[jest-circus]
Fixed the issue of beforeAll & afterAll hooks getting executed even if it is inside a skippeddescribe
block (#10806) -
[jest-circus]
FixtestLocation
on Windows when usingtest.each
(#10871) -
[jest-cli]
Use testFailureExitCode when bailing from a failed test (#10958) -
[jest-cli]
Print custom error if error thrown from global hooks is not an error already (#11003) -
[jest-cli]
Allow running multiple "projects" from programmatic API (#11307) -
[jest-cli]
Fix missing collectCoverage after init (#11353) -
[jest-cli, jest-config, jest-types]
Move all default values intojest-config
(#9924) -
[jest-config]
[BREAKING] Change default file extension order by moving json behind ts and tsx (10572) -
[jest-console]
console.dir
now respects the second argument correctly (#10638) -
[jest-core]
Don't report PerformanceObserver as open handle (#11123) -
[jest-core]
UseWeakRef
to hold timers when detecting open handles (#11277) -
[jest-core]
Correctly detect open handles that were created in test functions usingdone
callbacks (#11382) -
[jest-core]
Do not collectRANDOMBYTESREQUEST
as open handles (#11278) -
[jest-core]
Wait briefly for open handles to close before flagging them when using--detectOpenHandles
(#11429) -
[jest-diff]
[BREAKING] Use only named exports (#11371) -
[jest-each]
[BREAKING] Ignore excess words in headings (#8766) -
[jest-each]
Support array index with template strings (#10763) -
[jest-each]
Interpolate%%
correctly (#11364) -
[jest-each]
Fix wrong interpolation when the value of array contains multiple%
(#11364) -
[jest-environment]
[BREAKING] Drop support forrunScript
for test environments (#11155) -
[jest-environment-jsdom]
Use inner realm’sArrayBuffer
constructor (#10885) -
[jest-environment-jsdom]
[BREAKING] Remove Node globalssetImmediate
andclearImmediate
(#11222) -
[jest-get-type]
[BREAKING] Convert to ES Module (#11359) -
[jest-globals]
[BREAKING] Disallow return values other than aPromise
from hooks and tests (#10512) -
[jest-globals]
[BREAKING] Disallow mixing a done callback and returning aPromise
from hooks and tests (#10512) -
[jest-haste-map]
VendorNodeWatcher
fromsane
(#10919) -
[jest-jasmine2]
Fixed the issue ofbeforeAll
&afterAll
hooks getting executed even if it is inside a skippeddescribe
block when it has childtests
marked as eitheronly
ortodo
(#10806) -
[jest-jasmine2]
Fixed the issues of childtests
marked withonly
ortodo
getting executed even if it is inside a skipped parentdescribe
block (#10806) -
[jest-jasmine2]
Wrap all test functions so they open handles that were created in test functions usingdone
callbacks can be detected (#11382) -
[jest-reporter]
Handle empty files when reporting code coverage with V8 (#10819) -
[jest-resolve]
Replace read-pkg-up with escalade package (#10781) -
[jest-resolve]
Disablejest-pnp-resolver
for Yarn 2 (#10847) -
[jest-runtime]
[BREAKING] Do not injectglobal
variable into module wrapper (#10644) -
[jest-runtime]
[BREAKING] remove long-deprecatedjest.addMatchers
,jest.resetModuleRegistry
, andjest.runTimersToTime
(#9853) -
[jest-runtime]
Fix stack overflow and promise deadlock when importing mutual dependant ES module (#10892) -
[jest-runtime]
Prevent global module registry from leaking intoisolateModules
registry (#10963) -
[jest-runtime]
Refactor to prevent race condition when linking and evaluating ES Modules (#11150) -
[jest-runtime]
Throw correct error when attempting to load ESM viarequire
(#11260) -
[jest-runtime]
Do not cache modules that throw during evaluation (#11263) -
[jest-transform]
Show enhancedSyntaxError
message for allSyntaxError
s (#10749) -
[jest-transform]
[BREAKING] Refactor API to pass an options bag around rather than multiple boolean options (#10753) -
[jest-transform]
[BREAKING] Refactor API of transformers to pass an options bag rather than separateconfig
and other options (#10834) -
[jest-types]
FixConfig.ts
projects
types (#11285) -
[jest-util]
Replace micromatch with picomatch to fix issues with negated globs (#11287) -
[jest-validate]
Useen-US
locale to avoid case conversion problems while validating CLI options on machines with some certain locales(e.g. Turkish) set as default locale. (#11412) -
[jest-worker]
[BREAKING] Use named exports (#10623) -
[jest-worker]
Do not swallow errors during serialization (#10984) -
[jest-worker]
HandleERR_IPC_CHANNEL_CLOSED
errors properly (#11143) -
[pretty-format]
[BREAKING] Convert to ES Modules (#10515) -
[pretty-format]
Only callhasAttribute
if it's a function (#11000) -
[pretty-format]
Handle jsdom attributes properly (#11189) -
[pretty-format]
Import pretty-format using named imports (#11360)
Chore & Maintenance
-
[*]
[BREAKING] Only support Node LTS releases and Node 15 (#10685) -
[*]
[BREAKING] Addexports
field to allpackage.json
s (#9921) -
[*]
Make it easier for Jest's packages to use the VM escape hatch (#10824) -
[*]
[BREAKING] Remove deprecatedmapCoverage
(#9968) -
[babel-jest]
[BREAKING] Migrate to ESM (#11193) -
[docs]
Correct example usingbrowser-resolve
(#11140) -
[docs]
Clarifytimers
configuration property (#11376) -
[jest, jest-core]
[BREAKING] ReplaceTestScheduler
export withcreateTestScheduler
(#11427) -
[jest-config]
[BREAKING] RemoveenabledTestsMap
config, usefilter
instead (#10787) -
[jest-console]
[BREAKING] Moveroot
intoconfig
and takeGlobalConfig
as mandatory parameter forgetConsoleOutput
(#10126) -
[jest-console]
Export LogEntry (#11017) -
[jest-fake-timers]
Clarify global behavior ofjest.useFakeTimers
andjest.useRealTimers
(#10867) -
[jest-haste-map]
[BREAKING] Migrate to ESM (#10875) -
[jest-haste-map]
[BREAKING] Remove support for deprecated optionignorePattern
as function (#10348) -
[jest-jasmine2]
[BREAKING] Migrate to ESM (#10906) -
[jest-jasmine2]
[BREAKING] Remove unused options argument fromEnv
constructor (#10240) -
[jest-repl, jest-runtime]
[BREAKING] Move thejest-runtime
CLI intojest-repl
(#10016 & #10925) -
[jest-resolve]
[BREAKING] Migrate to ESM (#10688) -
[jest-resolve-dependencies]
[BREAKING] Migrate to ESM (#10876) -
[jest-mock]
[BREAKING] Migrate to ESM (#10887) -
[jest-reporters]
[BREAKING] Makenode-notifier
a peer dependency (#10977) -
[jest-resolve, jest-runtime]
[BREAKING] UseMap
s instead of objects for all cached resources (#10968) -
[jest-runner]
[BREAKING] Migrate to ESM (#10900) -
[jest-runtime]
[BREAKING] Remove deprecated and unusedgetSourceMapInfo
from Runtime (#9969) -
[jest-transformer]
[BREAKING] Remove unusedisCoreModule
option (#11166) -
[jest-util]
No longer checkingenumerable
when addingprocess.domain
(#10862) -
[jest-validate]
[BREAKING] RemoverecursiveBlacklist
option in favor of previously introducedrecursiveDenylist
(#10650) -
[website]
Replace 'Github' with 'GitHub' (#11279) -
[website]
Remove a language code from the link to the Node.js website (#11282) -
[website]
Remove a duplicated word (#11281) -
[website]
Add french to website (#11361)
Performance
-
[jest-resolve]
Cache reading and parsing ofpackage.json
s (#11076) -
[jest-runtime, jest-transform]
sharecacheFS
between runtime and transformer (#10901) -
[jest-runtime]
Loadchalk
only once per worker (#10864) -
[jest-worker]
Fix memory leak of previous task arguments while no new task is scheduled (#11187)
expressjs/body-parser
v1.20.0
===================
- Fix error message for json parse whitespace in
strict
- Fix internal error when inflated body exceeds limit
- Prevent loss of async hooks context
- Prevent hanging when request already read
- deps: depd@2.0.0
- Replace internal
eval
usage withFunction
constructor - Use instance methods on
process
to check for listeners
- Replace internal
- deps: http-errors@2.0.0
- deps: depd@2.0.0
- deps: statuses@2.0.1
- deps: on-finished@2.4.1
- deps: qs@6.10.3
- deps: raw-body@2.5.1
- deps: http-errors@2.0.0
v1.19.2
===================
- deps: bytes@3.1.2
- deps: qs@6.9.7
- Fix handling of
__proto__
keys
- Fix handling of
- deps: raw-body@2.4.3
- deps: bytes@3.1.2
v1.19.1
===================
- deps: bytes@3.1.1
- deps: http-errors@1.8.1
- deps: inherits@2.0.4
- deps: toidentifier@1.0.1
- deps: setprototypeof@1.2.0
- deps: qs@6.9.6
- deps: raw-body@2.4.2
- deps: bytes@3.1.1
- deps: http-errors@1.8.1
- deps: safe-buffer@5.2.1
- deps: type-is@~1.6.18
open-cli-tools/concurrently
v7.2.1
What's Changed
v7.2.0
- Support passthrough of additional arguments to commands via placeholders - #33, #282, #307
- Add
command-{name|index}
and!command-{name|index}
to--success
- #280, #281, #318
New Contributors
v7.1.0
-
Excluding pattern support added, e.g.
concurrently npm:lint:*(!fix)
(#305, #306) - Fixed programmatic API docs to resemble v7.0.0 changes (#303)
New Contributors
- @naxoc made their first contribution in https://github.com/open-cli-tools/concurrently/pull/303
- @NullVoxPopuli made their first contribution in https://github.com/open-cli-tools/concurrently/pull/306
v7.0.0
Breaking changes
- Dropped support for Node 10. Minimum version is now 12.20.
-
concurrently()
API now has a different return value. Please refer to the docs.
Functional changes
- Added
--group
flag/option to run process in parallel but print output in sequence - #75, #79, #272 - Codebase converted to TypeScript. Some bugs may arise due to this, but I hope not!
API Changes
- concurrently can now be imported as an ES Module! Just do
import concurrently from 'concurrently'
. -
concurrently()
now returns the commands alongside a promise for the result - #209
New Contributors
- @cdrini made their first contribution in https://github.com/open-cli-tools/concurrently/pull/272
v6.5.1
v6.5.0
- Add support for configuring via environment variables that start with
CONCURRENTLY_
prefix (#289) - Add
--timings
flag to show when each process started and stopped, and how long they ran for (#291, #295)
v6.4.0
v6.3.0
- Distribute prefix colors correctly when using npm/yarn/pnpm script expansion (#186, #210, #234, #286)
- Add new option to programmatic API,
prefixColors
, which serves as fallback for commands without aprefixColor
(#286)
v6.2.2
- Remove
read-pkg
dependency which had a vulnerability issue (#274)
jdesboeufs/connect-mongo
v4.6.0
Changed
- Moved
mongodb
to a peer dependency (and also as a dev dependency forconnect-mongo
developers).connect-mongo
is no longer pinned to a specific version ofmongodb
. This allows end users to avoid errors due to Typescript definition changes when moving to new versions ofmongodb
. Users can use any version ofmongodb
that provides a compatible (non-breaking) interface tomongodb ^4.1.0
. Tested onmongodb
4.1.0
and4.1.1
. Should fix: #433 #434 #436
Fixed
- Fixed "Callback was already called" when some code throws immediately after calling the set function
v4.5.0
BREAKING CHANGES
- Drop Node 10 support
Changed
Fixed
- Move
writeConcern
away from top-level option to fix deprecation warning #422
v4.4.1
Fixed
-
store.all()
method not working with encrypted store #410 #411 - Update and unpin
mongodb
dependency due to upstream fix has been deployed #409
v4.4.0
BREAKING CHANGES
- Use
export =
for better cjs require without.default
Added
- Add typescript example
v4.3.1
Fixed
- Fix incorrect assertion checking after adding
client
options
v4.3.0
Added
- Add
client
option for non-promise client
v4.2.2
Fixed
- Fix crypto parsing error by upgrading
kruptein
tov3.0.0
and change encodeas tobase64
v4.2.1
v4.2.0
Added
- Added mongoose example
- Revert
createAutoRemoveIdx
and add backautoRemove
andautoRemoveInterval
Fixed
- Use
matchedCount
instead ofmodifiedCount
to avoid throwing exceptions when nothing to modify #390 - Fixed
Warning: Accessing non-existent property 'MongoError' of module exports inside circular dependency
by downgrade tomongodb@3.6.3
- Revert update session when touch #351
- Fix cannot read property
lastModified
of null - Fix TS typing error
v4.1.0
BREAKING CHANGES
- Support Node.Js 10.x, 12.x and 14.x and drop older support.
- Review method to connect to MongoDB and keep only
mongoUrl
andclientPromise
options. - Remove the "Remove expired sessions compatibility mode". Now library user can choose to create auto remove index on startup or not.
- Remove
fallbackMemory
options. - Rewrite the library and test case using typescript.
Checkout the complete migration guide for more details.
v4.0.0
motdotla/dotenv
v16.0.1
Changed
- Minor README clarifications
- Development ONLY: updated devDependencies as recommended for development only security risks (#658)
v16.0.0
Added
-
Breaking: Backtick support
🎉 (#615)
If you had values containing the backtick character, please quote those values with either single or double quotes.
v15.0.1
Changed
- Properly parse empty single or double quoted values
🐞 (#614)
v15.0.0
v15.0.0
is a major new release with some important breaking changes.
Added
- Breaking: Multiline parsing support (just works. no need for the flag.)
Changed
-
Breaking:
#
marks the beginning of a comment (UNLESS the value is wrapped in quotes. Please update your.env
files to wrap in quotes any values containing#
. For example:SECRET_HASH="something-with-a-#-hash"
).
..Understandably, (as some teams have noted) this is tedious to do across the entire team. To make it less tedious, we recommend using dotenv cli going forward. It's an optional plugin that will keep your .env
files in sync between machines, environments, or team members.
Removed
- Breaking: Remove multiline option (just works out of the box now. no need for the flag.)
v14.3.2
Changed
- Preserve backwards compatibility on values containing
#
🐞 (#603)
v14.3.1
Changed
- Preserve backwards compatibility on exports by re-introducing the prior in-place exports
🐞 (#606)
v14.3.0
Added
- Add
multiline
option🎉 (#486)
v14.2.0
Added
- Add
dotenv_config_override
cli option - Add
DOTENV_CONFIG_OVERRIDE
command line env option
v14.1.1
Added
- Add React gotcha to FAQ on README
v14.1.0
Added
- Add
override
option🎉 (#595)
v14.0.1
Added
- Log error on failure to load
.env
file (#594)
v14.0.0
Added
-
Breaking: Support inline comments for the parser
🎉 (#568)
v13.0.1
Changed
- Hide comments and newlines from debug output (#404)
v13.0.0
Added
-
Breaking: Add type file for
config.js
(#539)
v12.0.4
Changed
- README updates
- Minor order adjustment to package json format
v12.0.3
Changed
- Simplified jsdoc for consistency across editors
v12.0.2
Changed
- Improve embedded jsdoc type documentation
v12.0.1
Changed
- README updates and clarifications
v12.0.0
Removed
- Breaking: drop support for Flow static type checker (#584)
Changed
- Move types/index.d.ts to lib/main.d.ts (#585)
- Typescript cleanup (#587)
- Explicit typescript inclusion in package.json (#566)
v11.0.0
Changed
expressjs/express
v4.18.1
===================
- Fix hanging on large stack of sync routes
v4.18.0
===================
- Add "root" option to
res.download
- Allow
options
withoutfilename
inres.download
- Deprecate string and non-integer arguments to
res.status
- Fix behavior of
null
/undefined
asmaxAge
inres.cookie
- Fix handling very large stacks of sync middleware
- Ignore
Object.prototype
values in settings throughapp.set
/app.get
- Invoke
default
with same arguments as types inres.format
- Support proper 205 responses using
res.send
- Use
http-errors
forres.format
error - deps: body-parser@1.20.0
- Fix error message for json parse whitespace in
strict
- Fix internal error when inflated body exceeds limit
- Prevent loss of async hooks context
- Prevent hanging when request already read
- deps: depd@2.0.0
- deps: http-errors@2.0.0
- deps: on-finished@2.4.1
- deps: qs@6.10.3
- deps: raw-body@2.5.1
- Fix error message for json parse whitespace in
- deps: cookie@0.5.0
- Add
priority
option - Fix
expires
option to reject invalid dates
- Add
- deps: depd@2.0.0
- Replace internal
eval
usage withFunction
constructor - Use instance methods on
process
to check for listeners
- Replace internal
- deps: finalhandler@1.2.0
- Remove set content headers that break response
- deps: on-finished@2.4.1
- deps: statuses@2.0.1
- deps: on-finished@2.4.1
- Prevent loss of async hooks context
- deps: qs@6.10.3
- deps: send@0.18.0
- Fix emitted 416 error missing headers property
- Limit the headers removed for 304 response
- deps: depd@2.0.0
- deps: destroy@1.2.0
- deps: http-errors@2.0.0
- deps: on-finished@2.4.1
- deps: statuses@2.0.1
- deps: serve-static@1.15.0
- deps: send@0.18.0
- deps: statuses@2.0.1
- Remove code 306
- Rename
425 Unordered Collection
to standard425 Too Early
v4.17.3
===================
- deps: accepts@~1.3.8
- deps: mime-types@~2.1.34
- deps: negotiator@0.6.3
- deps: body-parser@1.19.2
- deps: bytes@3.1.2
- deps: qs@6.9.7
- deps: raw-body@2.4.3
- deps: cookie@0.4.2
- deps: qs@6.9.7
- Fix handling of
__proto__
keys
- Fix handling of
- pref: remove unnecessary regexp for trust proxy
v4.17.2
===================
- Fix handling of
undefined
inres.jsonp
- Fix handling of
undefined
when"json escape"
is enabled - Fix incorrect middleware execution with unanchored
RegExp
s - Fix
res.jsonp(obj, status)
deprecation message - Fix typo in
res.is
JSDoc - deps: body-parser@1.19.1
- deps: bytes@3.1.1
- deps: http-errors@1.8.1
- deps: qs@6.9.6
- deps: raw-body@2.4.2
- deps: safe-buffer@5.2.1
- deps: type-is@~1.6.18
- deps: content-disposition@0.5.4
- deps: safe-buffer@5.2.1
- deps: cookie@0.4.1
- Fix
maxAge
option to reject invalid values
- Fix
- deps: proxy-addr@~2.0.7
- Use
req.socket
over deprecatedreq.connection
- deps: forwarded@0.2.0
- deps: ipaddr.js@1.9.1
- Use
- deps: qs@6.9.6
- deps: safe-buffer@5.2.1
- deps: send@0.17.2
- deps: http-errors@1.8.1
- deps: ms@2.1.3
- pref: ignore empty http tokens
- deps: serve-static@1.14.2
- deps: send@0.17.2
- deps: setprototypeof@1.2.0
expressjs/session
v1.17.3
===================
- Fix resaving already-saved new session at end of request
- deps: cookie@0.4.2
express-validator/express-validator
v6.14.1
What's Changed
- Add
validationResult()
for schema validation example by @daenamkim in https://github.com/express-validator/express-validator/pull/1120 - chore(deps): bump shelljs from 0.8.4 to 0.8.5 by @dependabot in https://github.com/express-validator/express-validator/pull/1128
- chore(deps): bump ajv from 6.11.0 to 6.12.6 by @dependabot in https://github.com/express-validator/express-validator/pull/1129
- chore(deps): bump prismjs from 1.25.0 to 1.27.0 by @dependabot in https://github.com/express-validator/express-validator/pull/1135
- docs: remove dependencies status badge by @gustavohenke in https://github.com/express-validator/express-validator/pull/1131
- chore(deps): bump minimist from 1.2.5 to 1.2.6 by @dependabot in https://github.com/express-validator/express-validator/pull/1142
- chore(deps): bump async from 2.6.3 to 2.6.4 by @dependabot in https://github.com/express-validator/express-validator/pull/1147
- Add missing
SK
postal code - #1144
New Contributors
- @daenamkim made their first contribution in https://github.com/express-validator/express-validator/pull/1120
Full Changelog: https://github.com/express-validator/express-validator/compare/v6.14.0...v6.14.1
v6.14.0
What's Changed
- feat: update
validator
to13.7
by @fedeci in https://github.com/express-validator/express-validator/pull/1115 - chore(deps): bump tmpl from 1.0.4 to 1.0.5 by @dependabot in https://github.com/express-validator/express-validator/pull/1116
- chore(deps): bump path-parse from 1.0.6 to 1.0.7 by @dependabot in https://github.com/express-validator/express-validator/pull/1118
- chore(deps): bump prismjs from 1.24.0 to 1.25.0 by @dependabot in https://github.com/express-validator/express-validator/pull/1117
Full Changelog: https://github.com/express-validator/express-validator/compare/v6.13.0...v6.14.0
v6.13.0
What's Changed
- docs: warn users about bad practice by @hariprasadkc in https://github.com/express-validator/express-validator/pull/1094
- schema usage according to documentation results in Error by @fkarg in https://github.com/express-validator/express-validator/pull/1095
- v6.13 features by @fedeci in https://github.com/express-validator/express-validator/pull/1091
New Contributors
- @hariprasadkc made their first contribution in https://github.com/express-validator/express-validator/pull/1094
- @fkarg made their first contribution in https://github.com/express-validator/express-validator/pull/1095
Full Changelog: https://github.com/express-validator/express-validator/compare/v6.12.2...v6.13.0
v6.12.2
Fixes:
-
#1072: add type for
checkSchema
function return -
#1092, #1086: correctly allow falsy values as options in
checkSchema
v6.12.1
v6.12.0
-
#1047, #1049 - make
withMessage
actually override a custom validator's message -
#1026, #1037 - add missing arguments of
isAlphanumeric
v6.11.1
v6.11.0
v6.10.1
v6.10.0
- #735, #871, #948 - add migration example from v5 to v6
-
#822, #974, #976 - add ability to run
oneOf()
imperatively -
#822, #977 - add ability to run
checkSchema()
imperatively -
#975 - fix objects whose
toString
property is not a function -
#882, #978 - add
isObject
validator -
#986, #987 - TypeScript - make
isURL
accept non-standard protocols
big kudos to @fedeci for the many improvements!
v6.9.2
-
#973 - TypeScript - republish of v6.9.1 without the source
.ts
files
v6.9.1
-
#963 - TypeScript - Updated signature of
isAlpha()
to work again with the underlying validator
v6.9.0
v6.8.2
-
#963 - TypeScript - Update
IsAlphaOptions#ignore
to allowRegExp
s, in addition tostring[]
v6.8.1
v6.8.0
-
#952 - Upgraded validator to
v13.5.x
v6.7.0
-
#581, #899 - Add
toLowerCase()
andtoUpperCase()
sanitizers -
#919 - Make
customSanitizer
await on async functions -
#856, #929, #930 - Add
default
sanitizer -
#924, #925 - Add
replace
sanitizer
v6.6.1
- #907 - upgrade lodash due to security concerns
v6.6.0
- #886 - Update validator to v13.1
- #887 - fix bug in Getting Started docs example
-
#888 - Add ability to dry-run validations with
check().run(req, { dryRun: boolean })
. See docs for more information.
v6.5.0
- #862, #874 - upgrade validator to v13.0
-
#875, #877 - don't modify
req
object from an invalid validation chain passed tooneOf
v6.4.1
-
#544 - Create field paths considering
.
to be a special character
v6.4.0
- #781 - Warn on use of sanitization-only middlewares
- #792 - Upgrade validator to v12.1
- #826 - Compile TS code to ES2017. This should not be a breaking change, as Node 8 should fully support the output code.
v6.3.1
-
#813 - don't use
Symbol
internally to avoid breaking express-validator reuse
v6.3.0
-
#476 - Bring
notEmpty
validator back -
#772, #776 - Add missing
pt-BR
mobile phone locale -
#794, #795 - Make all properties available in all union branches of
ValidationError
v6.2.0
- #500, #638, #751 - Bail validation when there's an error
-
#761 - Add
min
/max
options toisArray()
validator -
#693, #742, #765 - Fix typing for
optional
when usingcheckSchema
-
#762 - Don't log a validation error when using
.if()
with another validation chain - #745 - Upgrade Lodash to fix vulnerability and validator to v11.1
- #748 - Correct typo in a validator name in the docs
v6.1.1
- #729 - Fix optional data being sanitized
v6.1.0
- #439, #655, #658 - Conditional validation support
- #625 - Improve field selection performance massively
-
#728, #731 - Fix imperative validations (
await body('email').isEmail().run(req)
) not generating any errors - #730, #733 - docs: some improvements to the "Running imperatively" page
v6.0.1
-
#726 - Fix TypeScript declarations incorrectly importing
validator
module
v6.0.0
💥
BREAKING CHANGES -
Legacy APIs (
req.check()
,req.checkBody()
,req.filter()
, etc) have been removed; -
require('express-validator/check')
andrequire('express-validator/filter)
are now deprecated. Instead, just userequire('express-validator')
; - #616, #722 - Validators and sanitizers will now run in the order they are specified, instead of always running sanitizers first, then validators;
- #592, #641, #632, #630, #580, #651, #711 - non-string values will now be sanitized;
- Node.js version 6 is no longer supported. Use version 8 or newer.
✨
New features - #698 - express-validator is now written in TypeScript!
- #407 - express-validator now works with other libraries like Restify or similar;
-
#679, #713 - Add a
toArray()
sanitizer; - Validations can now be run imperatively with
check('field').run(req)
. See docs.
🐛
Other changes
jest-community/jest-junit
v13.2.0
Support monorepos better via filePathPrefix option by @marvinroger - https://github.com/jest-community/jest-junit/pull/209
Fix CI builds for windows and drop support for Node 10.x - https://github.com/jest-community/jest-junit/pull/210
v13.1.0
Configurable test suite properties file location by @JohanBrorson - https://github.com/jest-community/jest-junit/pull/204
v13.0.0
Update strip-ansi to newer version - https://github.com/jest-community/jest-junit/pull/188 Add noStackTrace CLI option - https://github.com/jest-community/jest-junit/pull/160 Fix rootDir usage - https://github.com/jest-community/jest-junit/pull/154
v12.3.0
Fix displayName usage in templates by @D4N14L - https://github.com/jest-community/jest-junit/pull/179
Automattic/mongoose
v6.3.4
==================
- fix(schema): disallow using schemas with schema-level projection with map subdocuments #11698
- fix(document): avoid setting nested paths to null when they're undefined #11723
- fix: allow using comment with findOneAndUpdate(), count(),
distinct()
andhint
withfindOneAndUpdate()
#11793 - fix(document): clean modified subpaths when setting nested path to null after modifying subpaths #11764
- fix(types): allow calling
deleteModel()
with RegExp in TypeScript #11812 - docs(typescript): add section on PopulatedDoc to TypeScript populate docs #11685
v6.3.3
==================
- perf: avoid leaking memory when using populate() with QueryCursor because of reusing populate options with
_docs
#11641 - fix(types): add
_id
back for LeanDocument #11769 #11761 taxilian - fix(model): add skipValidation option for bulkWrite() to allow skipping validation for
insertOne
andreplaceOne
#11663 - fix(document): correctly $__reset() subdocuments that are under nested paths #11672
- fix(query): handle casting BSONRegExp instances as RegExps in queries #11597
- fix: correctly cast $not in $expr #11689
- perf: optimize size of browser bundle, use buffer v.5.7.1 package to match buffer package of mongodb in browser bundle #11765 Uzlopak
- docs: Query.populate docs do not include using an array of strings for the path param #11768 #11641 AbdelrahmanHafez
- chore: add GitHub workflow to close stale "can't reproduce", "help", "needs clarification" issues #11753 Uzlopak
- chore: remove Makefile dependency for compiling docs #11751 Uzlopak
v6.3.2
==================
- perf: avoid registering event listeners on subdocuments to reduce memory usage #11541
- fix(setDefaultsOnInsert): set default if sibling of nested path is $set #11668
- perf(document): remove unnecessary workaround for ignoring subpaths of arrays #11541
- fix(types): various fixes and improvements for types #11650 taxilian
- fix(types): make mongoose typings work without esmModuleInterop true #11695 Uzlopak
- fix(types): support populate(path, fields, model) syntax #11649 #11598 mohammad0-0ahmad
- fix(types): correct SchemaTypeOptions.get function signature #11561
- fix: fix browser build for Webpack 5 #11717
- docs: improve readme #11705 mahendrap1512
v6.3.1
==================
- perf: improve perf of key order #11639 Uzlopak
- fix(timestamps): set createdAt when creating new single nested subdocuments #11603
- fix: improve CastError message when throwing StrictModeError #11506
- fix: upgrade bson to match mongodb@4.5 #11676
- fix(populate): avoid populating single nested subdocs underneath arrays if there's no
ref
#11538 - fix: handle { capped: number } in schema definition with
createCollection()
#11539 - fix: call markModified before setting changes in Array and in DocumentArray methods #11660 josegl
- fix: only allow using minus path to remove auto-selected discriminatorKey from projection #11546
- fix(types): set context on virtual getters/setters by default #11543
- fix(types): correct return type for Connection.prototype.transaction #9919
- fix(types): allow model as document interface key when using
extends Document
#11629 - docs: improve populate typing #11690 onichandame
- docs: add information regarding typings-tests #11691 Uzlopak
- docs: fix jsdoc for mongoose.createConnection #11693 Uzlopak
v6.3.0
==================
- fix: upgrade mongodb driver -> 4.5.0 #11623 AbdelrahmanHafez
- feat(schema): allow defining discriminators on schema and in schema definition #7971 IslandRhythms
- feat(base): add option to set allowDiskUse globally #11554 AbdelrahmanHafez
- feat(schema): add
removeIndex()
andclearIndex()
#11547 IslandRhythms - feat(cursor): add
continueOnError
option to allow executingeachAsync()
on all docs even if error occurs #6355 - feat(query): add
versionKey
option tolean()
for removing version key from lean docs #8934 IslandRhythms - feat(types): create new ProjectionType type for select(), find(), etc. #11437
- chore: use webpack 5 for browser build #11584 AbdelrahmanHafez
v6.2.11
===================
- fix(document): handle validation with triply nested document arrays #11564
- fix(query): skip applying string schema setters on $regex #11426
- fix: skip findOneAndReplace() validation if runValidators = false #11559
- fix(model): correctly handle schema-level collations in syncIndexes() #7621
- fix(types): correct populate query return type with lean #11560 mohammad0-0ahmad
- fix(types): allow using { type: Mixed } as schema type definition for any path #10900
- docs: fix example on Schema.prototype.post() #11648 EmilienLeroy
- docs: fix typo in methods/index.js #11651 eltociear
v6.2.10
===================
- fix(types): improve lastErrorObject typing for rawResults #11602 simllll
- docs(typescript): add note about deprecating extends Document #11619 AbdelrahmanHafez
- docs: consistent syntax highlighting with upgraded highlight.js #11579 AbdelrahmanHafez
v6.2.9
==================
- perf(document+model): make a few small optimizations #11380
- fix(types): improve populate return type #11560 mohammad0-0ahmad
- fix(document): avoid marking paths as modified on subdocument defaults #11528
- docs(schema): add example to index
expires
option #11557 boly38 - docs(model): add change stream docs #11275
- docs(lambda): update Lambda docs for Mongoose 6 #11275
- docs(connections): add note about connecting with X509 #11333
- docs(populate): fix incorrect path name in
refPath
example #11565 chandiwalaaadhar
v6.2.8
==================
- fix(document): handle casting array of spread docs #11522
- fix(document): avoid setting nested properties on top-level document when initing with strict: false #11526
- fix(document): correctly handle deeply nested subdocuments when getting paths to validate #11501
- fix(types): avoid making TInstanceMethods any by default leading to
this = any
in middleware #11435 - fix(types): allow defining array default if using Types.Array<> in document interface #11391
- docs(migrating_to_6): describe breaking change in Mongoose 6 about default query populate model #11289
- docs(middleware): fix typo #11537 x1489
v6.2.7
==================
- perf(document): avoid running validation on every array element if there's no validators to run #11380
- fix(cursor): correctly populate in batches when batchSize is set #11509
- fix(connection): avoid setting MongoClient on useDb() connections until after setting on base connection #11445
- fix(schema): throw more helpful error when using schema from a different version of Mongoose module #10453
- fix: add missing timeseries expiration handling #11489 #11229 Uzlopak
- docs: correct Model.findOneAndReplace docs param naming #11524 anatolykopyl
v6.2.6
==================
- fix(types): correct reference to cursor TypeScript bindings #11513 SimonHausdorf
- fix(types): allow calling Query.prototype.populate() with array of strings #11518
- fix(types): export and refactor types of PreMiddlewareFunction, PreSaveMiddlewareFunction, PostMiddlewareFunction, ErrorHandlingMiddlewareFunction #11485 Uzlopak
v6.2.5
==================
- fix(mongoose): add isObjectIdOrHexString() to better capture the most common use case for
isValidObjectId()
#11419 - fix(query): prevent modifying discriminator key in updates using operators other than
$set
#11456 - fix(populate+types): call foreignField functions with doc as 1st param, better typings for
localField
andforeignField
functions #11321 - fix(populate): return an array when using populate count on an array localField #11307
- fix(query): avoid error when using $not with arrays #11467
- perf: only deep clone validators if necessary #11412 Uzlopak
- fix(types): rename definition files to lowercase to avoid typescript bug #11469
- fix(types): aggregate.sort() accepts a string but also
{ field: 'asc'|'ascending'|'desc'|'descending' }
#11479 simonbrunel - fix(types): extract and refactor aggregationcursor and querycursor #11488 Uzlopak
- fix(types): extract and refactor schemaoptions #11484 Uzlopak
- fix(types): make first param to
Query.prototype.populate()
a string #11475 minhthinhls - fix(types): improve type checking for doc arrays in schema definitions #11241
- docs: fix length comparaison in lean.test.js #11493 zazapeta
- docs(timestamps): fix typo #11481 saibbyweb
- docs: fix broken link to rawResult #11459 chhiring90
v6.2.4
==================
- fix(query): correctly return full deleteOne(), deleteMany() result #11211
- fix(query): handle update validators on deeply nested subdocuments #11455 #11394
- fix(discriminator): handle modifying multiple nested paths underneath a discriminator #11428
- perf: improve isAsyncFunction #11408 Uzlopak
- fix(index.d.ts): add typedefs for Schema
pick()
#11448 Moisei-Shkil - fix(index.d.ts): allow type override for distinct() #11306
- fix(index.d.ts): allow array of validators in schema definition #11355
- fix(index.d.ts): improve connection typings #11418 Uzlopak
- docs: add timestamps docs #11336
- docs(timestamps): explain how timestamps works under the hood #11336
- docs(migrating_to_6): add model.exists breaking change returning doument instead of boolean #11407 AbdelrahmanHafez
- docs(index.d.ts): add docs for FilterQuery, UpdateQuery, and LeanDocument #11457 Moisei-Shkil
v6.2.3
==================
- fix(model): avoid dropping base model indexes when using discriminators with
Connection.prototype.syncIndexes()
#11424 #11421 AbdelrahmanHafez - fix(document): handle array defaults when selecting element underneath array #11376
- fix(populate): correctly handle depopulating populated subdocuments #11436
- fix(utils): improve deepEqual() handling for comparing objects with non-objects #11417
- fix(schema): allow declaring array of arrays using
[{ type: [String] }]
#11252 - perf: improve validation sync and async by replacing forEach with classic for loops #11414 Uzlopak
- perf: make hasDollarKeys faster #11401 Uzlopak
- fix(index.d.ts): ValidationError
errors
only contains CastError or ValidationError #11369 Uzlopak - fix(index.d.ts): make InsertManyResult.insertedIds return an array of Types.ObjectId by default #11197
- fix(index.d.ts): allow pre('save') middleware with pre options #11257
- fix(index.d.ts): add
supressReservedKeysWarning
option to schema #11439 hiukky - docs(connections): improve replica set hostname docs with correct error message and info about
err.reason.servers
#11200 - docs(populate): add virtual populate match option documentation #11411 remirobichet
- docs(document): add note to API docs that flattenMaps defaults to
true
fortoJSON()
but nottoObject()
#11213 - docs(document+model): add populate option to populate() API docs #11170
- docs(migrating_to_6): add additional info about removing omitUndefined #11038
- docs(migrating_to_6): add model.exists breaking change returning doument instead of boolean AbdelrahmanHafez
v6.2.2
==================
- fix: fix QueryCursor and AggregationCursor compatibility with Node v17.5 #11381 benjamingr
- fix: better esm support, no necessity for setting allowSyntheticDefaultImports and esModuleInterop #11343 Uzlopak
- fix(model): apply projection parameter to hydrate() #11375
- fix: fix issue with creating arrays of length > 10000 #11405 Uzlopak
- fix(document): minimize single nested subdocs #11247
- fix(connection): handle reopening base connection with useDb() #11240
- perf: use property access instead of
get()
helper where possible #11389 Uzlopak - fix: use
isArray()
instead ofinstanceof Array
#11393 Uzlopak - perf: improve performance of
cast$expr()
#11388 Uzlopak - perf: remove
startsWith()
fromisOperator()
#11400 Uzlopak - fix(index.d.ts): extract
PipelineStage
into separate file #11368 Uzlopak - fix(index.d.ts): fix $search highlight path option type #11373 lmX2015
- docs: update changelog file to CHANGELOG.md #11365 AbdelrahmanHafez
- docs: fix broken links #11388 #11377 saibbyweb
- docs: remove double determiners in connections docs #11340 Erma32
v6.2.1
===================
- fix(document): handle validation with triply nested document arrays #11564
- fix(query): skip applying string schema setters on $regex #11426
- fix: skip findOneAndReplace() validation if runValidators = false #11559
- fix(model): correctly handle schema-level collations in syncIndexes() #7621
- fix(types): correct populate query return type with lean #11560 mohammad0-0ahmad
- fix(types): allow using { type: Mixed } as schema type definition for any path #10900
- docs: fix example on Schema.prototype.post() #11648 EmilienLeroy
- docs: fix typo in methods/index.js #11651 eltociear
v6.2.0
==================
- feat: upgrade MongoDB driver to 4.3.1
- feat(connection+mongoose): add support for continueOnError for syncIndexes #11266 AbdelrahmanHafez
- feat(query): cast literals in
$expr
where possible #10663 - feat(schema+mongoose): add pluginTags to allow applying global plugins to only schemas with matching tags #9780
- feat(discriminator): support overwriteModels:true to reuse discriminator names #11244 #10931 IslandRhythms
- feat(index.d.ts): add DocType generic param to Model functions that return queries to better support projections #11156
- feat(error): export MongooseServerSelectionError #11202
- feat(schematype): add validators, path, isRequired to public API and TypeScript types #11139
- fix(model): make exists(...) return lean document with _id or null instead of boolean #11142 AbdelrahmanHafez
- fix(model): support storing versionKey in nested paths #10980
- fix(index.d.ts): add options to
bulkSave()
type def #11201 Uzlopak - fix(index.d.ts): better support for query projections #11210 EugeneKorshenko
v6.1.10
===================
- fix(mongoose): correctly handle destructured isValidObjectId #11304
- fix(mongoose): defer to MongoDB driver isValid() for
isValidObjectId()
#11227
v6.1.9
==================
- fix(query): respect nested schema strict as default when casting query filters #11291
- fix(mongoose): make isValidObjectId() consistent with isValid(), make
ObjectId()
casting more flexible #11209 - fix(setDefaultsOnInsert): ignore defaults underneath maps #11235
- fix(query): avoid setting nested schema properties that are stripped out by strictQuery to undefined in query filter #11291
- fix: check for all flags in a regex deepequal #11242 Uzlopak
- fix: replace substr with substring #11278 Uzlopak
- docs: port for documentation testing in CONTRIBUTING.md #11273 Uzlopak
v6.1.8
==================
- fix(connection): stop leaking sessions in .transaction() #11259 #11256 Uzlopak
- perf: remove sliced in favor of Array.prototype.slice() #11238 Uzlopak
- perf: improve setDottedPath #11264 Uzlopak
- fix(document): handle edge case where NestJS sets String.type = String, mixing up schema definitions #11199
- fix: remove obsolete code after upgrading to bson4 #11265 Uzlopak
- fix: remove util.isArray in favor of Array.isArray #11234 Uzlopak
- fix(index.d.ts): avoid UnpackedIntersection making
findOne().populate()
result non-nullable #11041 - docs(migration): add note to change default functions to schema #11245 AbdelrahmanHafez
- docs: updated docs and issue templates for new FAQs #11171 IslandRhythms
- chore: fix casting benchmark #11262 Uzlopak
- chore: add mongodb-memory-server to test easier locally #11255 Uzlopak
- chore: fix testing tsconfig #11243 Uzlopak
- refactor: move utils.random to test folder #11239 Uzlopak
v6.1.7
==================
- fix(model): correct handling for $push on a nested array #11108
- fix(update): correctly apply timestamps to update pipelines #11151
- fix(document): correctly handle modifying array subdocument after setting array subdocument to itself #11172
- fix(index.d.ts): allow passing options to model() in place of removed
skipInit
#11137 - fix(aggregate): allow passing verbosity to Aggregate.prototype.explain() #11144
- fix(index.d.ts): avoid TypeScript inferring _id as any type with HydratedDocument #11085
- docs: fix Node.js Driver compat link #11214 wesbos
- docs: remove extraneous backquote #11204 joebowbeer
v6.1.6
==================
- perf(document): delay creating document event emitter until used to improve memory usage, several small improvements to improve initing docs with large arrays #10400
- fix(model): avoid
bulkSave()
error whenversionKey: false
#11186 #11071 IslandRhythms - fix(model): revert #11079:
findByIdAndUpdate(undefined)
breaking change #11149 - fix(index.d.ts): support strings in deep populate #11181 ivalduan
- fix(index.d.ts): rename map() -> transform() to line up with change in v6.0 #11161
- fix(index.d.ts): allow new Model(obj) for stricter type checks #11148
- fix(index.d.ts): make Schema.prototype.pre() and post() generics default to HydratedDocument #11180
- docs: improve autoCreate docs #11116
- docs(schematype): add missing parameter to example #11185 kerolloz
- docs(connections): use updated link to list of MongoDB Node driver
connect()
options #11184 splinter - docs(aggregate): fix formatting #11191 enieber
- docs: fix broken link #11179 khairnarsaurabh23
v6.1.5
==================
- perf(index.d.ts): simplify Schema typedef for query helpers and methods to significantly reduce TS compiler overhead #10349
- fix(document): allow populating deeply nested models as strings #11168 #11160 AbdelrahmanHafez
- fix(query): allow calling limit() and skip() with a string #11017
- fix(cursor): propery apply selected fields when loading discriminator docs with query cursor #11130
- fix(mongoose+connection): clone schema correctly when passing instance of another Mongoose instance's Schema to Connection.prototype.model() #11047
- fix(index.d.ts): handle primitives with FlattenMaps #11117
- fix(index.d.ts): enforce id on lean query result type #11118
- fix(index.d.ts): export facet stage type #11150 mhoc
- fix(index.d.ts): correct return type of projection method #11176 EugeneKorshenko
- fix(index.d.ts): additional fix for
$group
pipeline stage #11140 #11067 EugeneKorshenko - docs: update CONTRIBUTING.md for TS tests #11164 ahmedelshenawy25
- docs: use es6 object destructuring instead of regular dot operator for accessing value in object #11147 Shivaansh-Agarwal
v6.1.4
==================
- fix(document): handle save with undefined nested doc under subdoc #11110
- fix(document): allow manually populating subdocument refs with
create()
#10856 - fix(populate): handles refPath underneath map of subdocuments #9359
- fix(update): throw error when calling findByIdAndUpdate with undefined id #11079 gramliu
- fix(mongoose): export ConnectionStates #11133 orgads
- fix(index.d.ts): unpack array when using generic type override with
populate()
#11027 - fix(index.d.ts): fix typings in Merge stage #11132
- fix(index.d.ts): PipelineStage.Merge interface definition is wrong #11109
- docs(typescript): add note about Schema.Types.ObjectId vs Types.ObjectId in document definition #10949
- docs(connection): clarify that "connected" and "open" are different #10886
- docs(populate): correct refPath example to not use on as a schema path name #11113
- docs: fix
strictQuery
example #11135 MontgomeryWatts
v6.1.3
==================
- perf(populate): avoid duplicate model names when using refPath to avoid O(n^2) memory growth with number of array elements #10983
- fix(schema+model): cast paths marked with ref when hydrating #11052
- fix(schema): handle default function that returns null on document arrays #11058
- fix(document): clean modified paths when setting deeply nested subdocument #11060
- fix(populate): report full path when throwing strictPopulate error with deep populate #10923
- fix(connection): allow calling
setClient()
when disconnected #11114 hustxiaoc - fix(index.d.ts): fix typings in Group stage #11124 DavideViolante
- fix(index.d.ts): add Mongoose.prototype.trusted() function to type defs #10957
- fix(index.d.ts): allow use type string in $unset update with aggregation pipeline #11107 rpenido
- fix(index.d.ts) treat _id like other fields in $project #11102
- docs(migrating_to_6): add omitUndefined to Mongoose 6 migration guide #10672
- docs: add MongooseDocumentArray to API docs #10998
- docs: fix typo in model.js #11121 eltociear
- docs: fix typo in validation.md #11103 warlock1996
v6.1.2
==================
- fix: upgrade mongodb driver to 4.2.2 #11092 lorand-horvath
- fix(model): respect discriminators when calling Model.watch() #11007
- fix(populate): allow referencing parent connection models by name when using
useDb()
#11003 - fix(query): support options param to
Query.prototype.countDocuments()
#11037 - fix(query): correctly use awaitData instead of awaitdata in
Query.prototype.tailable()
#10875 - fix(index.d.ts): fix replaceRoot type #11098 alibehroozi
- fix(index.d.ts): add missing syncIndexes() definition to Mongoose global and Connection class #11065
- fix(index.d.ts): add boolean type for transform option #11057 AliYusuf95
- docs(model.estimatedDocumentCount): add await into example to get value from the Query #11044 olecom
- docs: fix broken build from awaitdata comment #11096 medolino
- docs: correct Query.prototype.transform() docs #11094 medolino
v6.1.1
===================
- fix(mongoose): correctly handle destructured isValidObjectId #11304
- fix(mongoose): defer to MongoDB driver isValid() for
isValidObjectId()
#11227
v6.1.0
==================
- feat(populate): support ref on subdocuments #10856
- feat(document): add
ownerDocument()
method to top-level document for consistency with subdocs #10884 IslandRhythms - fix: upgrade to mongodb driver 4.2.1 #11032 #10985 lorand-horvath has-n
- feat(schema): support
timeseries
option for MongoDB 5 time series collections support #10611 - feat(mongoose): add global
strictPopulate
option #10694 IslandRhythms - feat(mongoose+connection): add global
mongoose.syncIndexes()
andConnection.prototype.syncIndexes()
#10893 IslandRhythms - feat(query): support removing fields from projections #10630 canac
- feat(aggregate): add unionWith method to aggregate #10961 saeidasadi
- fix(index.d.ts): types for aggregation pipeline stages #10971 jeremyben
v6.0.15
===================
- fix(document): avoid overwriting schema methods when creating a new document with
new Model()
andstrict: false
#11001 - fix(document): avoid overwriting top-level document _id with nested
_id
whenstrict = false
#10934 - fix(collection): avoid double-calling callback on sync error #10956
- fix(connection): handle direct connection to uninitialized replica set that then becomes initialized #10948
- fix(index.d.ts): allow partial updates on subdocuments for defaults #10947
- fix(index.d.ts): handle buffer type in schema definitions #11026
v6.0.14
===================
- fix(document): catch errors in required functions #10968
- fix(connection): clone schema when passing a schema from a different copy of Mongoose to
Connection#model()
#10904 - fix(populate): set empty array [] on virtual populate with no result #10992
- fix(query): handle orFail() with replaceOne() #10963
- fix(populate): use Model by default when using Model.populate() on a POJO #10978
- fix(document): throw VersionError if saving a document with version bump and document isn't found #10974
- fix(index.d.ts): make populate type param optional #10989 mohd-akram
- docs(migrating_to_6): add a note about minimize and toObject() behavior change in v5.10.5 #10827
- docs: remove duplicate
path
in docs #11020 ItWorksOnMyMachine - docs: fix typo in populate docs #11015 gavi-shandler
- docs: fix typo in model.js #10982 eltociear
v6.0.13
===================
- fix(document): allows validating doc again if pre validate errors out #10830
- fix: upgrade to mongodb driver 4.1.4 #10955 mohd-akram
- fix(schema): handle functions with accidental type properties in schema definitions #10807
- fix(path): add check to avoid flattening dotted paths on Mongoose docs, improve error when flattening dotted paths causes conflicts #10825
- fix(index.d.ts): rename EnforceDocument -> HydratedDocument, export HydratedDocument for easier typing for users #10843
- fix(index.d.ts): handle maps in TypeScript schema definitions #10838
- fix(index.d.ts): add clone to query #10943 asportnoy
- fix(index.d.ts): add strictQuery global option #10933
- fix(index.d.ts): add generic to allow overriding
Schema#clone()
return type #10951 StefanoA1 - docs(typescript): add quick guide to virtuals in TypeScript #10754
- docs(aggregate): remove exec() from AggregationCursor example, no longer correct for Mongoose 6 #10862
- docs(document.js): fix link leading to old github pages site #10958 PuneetGopinath
- docs: fixed typo in document.js #10950 Haosik
v6.0.12
===================
- fix(cursor): remove the logic for emitting close, rely on autoDestroy option for Node 12 support #10906 iovanom
- fix(map): support passing flattenMaps: false to Map toJSON(), make
toJSON()
flatten maps by default in TypeScript #10872 - fix: upgrade to mongodb driver 4.1.3 #10911 orgads
- fix(index.d.ts): correct TS function signature for
SchemaType.prototype.set()
#10799 - fix(index.d.ts): support implicit $in in FilterQuery #10826
- fix(index.d.ts): More precise type for Schema.clone() #10899 coyotte508
- fix(index.d.ts): add caster property to schema arrays and document arrays #10865
- docs: update
updateMany()
anddeleteMany()
docs to reflect newmatchedCount
,modifiedCount
,deletedCount
properties #10908 IslandRhythms - docs: fix broken links to populate virtuals #10870 IslandRhythms
- docs: updated docs to have returnOriginal, removed new and returnDocument #10887 IslandRhythms
v6.0.11
===================
- perf(index.d.ts): remove some unnecessary definitions, streamline some union types to reduce number of instantiations #10349
- fix(cursor): use stream destroy method on close to prevent emitting duplicate 'close' #10878 #10876 iovanom
- fix: create indexes when readPreference=primary is set #10861 #10855 gemyero
- fix(document): avoid depopulating when setting array of subdocs from different doc #10819
- fix(index.d.ts): allow modifying properties of UpdateQuery instances #10786
- fix(index.d.ts): add generic Paths to populate() to allow overriding path types #10758
v6.0.10
===================
- fix(query): add back strictQuery option to avoid empty filter issues, tie it to
strict
by default for compatibility #10781 #10763 - fix(model): avoid unnecessarily dropping text indexes in
syncIndexes()
#10851 #10850 IslandRhythms - fix(query): avoid trying to call toArray() on cursor if find() error occurred #10845
- fix: accepts uppercase values in mongoose.isValidObjectId #10846 foxadb
- perf(document): further reduce unnecessary objects and keys to minimize document memory overhead #10400
- fix(index.d.ts): restore unpacked type and avoid distributive conditional types #10859 dbellavista
- fix(index.d.ts): add correct null typings for
findOneAndUpdate()
andfindByIdAndUpdate()
#10820 - fix(index.d.ts): make insertMany() correctly return Promise if passing single document to
insertMany()
#10802 - fix(index.d.ts): avoid weird issue where TypeScript 4.3.x and 4.4.x makes string extend Function #10746
- fix(index.d.ts): allow type:
SchemaTypeOptions[]
when defining schema #10789 - fix(index.d.ts): allow using
$in
with enum fields #10757 #10734 - fix(index.d.ts): add missing fields and options params to Model constructor #10817
- fix(index.d.ts): support extending type for mongoose.models #10806 MunifTanjim
- docs: enhance docs section linking #10779 saveman71
- docs(middleware): add missing query middleware #10721
- docs: fix typo #10853 mdatif796
- docs: add missing to #10848 digidub
v6.0.9
==================
- fix(document): init non-schema values if strict is set to false #10828
- fix(document): correctly track saved state for deeply nested objects #10773
- fix(array): avoid mutating arrays passed into Model() constructor #10766
- fix(cursor): allow using find().cursor() before connecting, report errors in pre('find') hooks when using
.cursor()
#10785 - fix(populate): support ref: Model with virtual populate #10695
- fix(schema): support type: { subpath: String } in document array definitions and improve schema
interpretAsType
error messages if type name is undefined #10750 - fix: upgrade to mongodb driver 4.1.2 #10810 orgads
- fix(subdocument): add extra precaution to throw an error if a subdocument is a parent of itself in
ownerDocument()
#9259 - perf(index.d.ts): make
model()
call more strict to improve VS Code autocomplete perf #10801 traverse1984 - fix(index.d.ts): allow calling depopulate with 0 args #10793
- fix(index.d.ts): Add type definitions for allowDiskUse #10791 coyotte508
- docs(populate): expand virtual populate docs with info on principle of least cardinality and other info #10558
- docs: add migration guide to side bar #10769
- docs(connections+api): clarify that maxPoolSize is now 100 by default #10809
- docs(schema): add Schema#virtuals to docs as a public property #10829
- docs: remove array indexes section from FAQ #10784 Duchynko
- docs(model): fix broken example #10831 Okekeprince1
- docs: fix markdown issue with schemas.md #10839 aseerkt
v6.0.8
==================
- fix: support $set on elements of map of subdocuments #10720
- fix(schematype): handle schema type definition where unique: false and
index
not set #10738 - fix(timestamps): handle
createdAt
with customtypeKey
#10768 #10761 jclaudan - fix(model): amend Model.translateAliases to observe non-aliased sub schemas #10772 frisbee09
- fix: allow ObjectId#valueOf() to override built-in
Object#valueOf()
, clarify using==
with ObjectIds in migration guide #10741 - fix: use process.emitWarning() instead of console.warn() for warnings #10687
- fix(index.d.ts): allow array of schema type options for string[],
number[]
property Schema definitions #10731 - fix(index.d.ts): make built-in subdocument properties not required in UpdateQuery #10597
- docs(ssl): correct sslCA option and clarify that sslCA should be the path to the CA file #10705
v6.0.7
==================
- fix(populate): wrap populate filters in trusted() so they work with
sanitizeFilter
#10740 - fix(aggregate): handle calling aggregate() before initial connection succeeds #10722
- fix(query): avoid throwing error when using
$not
with$size
#10716 IslandRhythms - fix(discriminator): handle setting nested discriminator paths #10702
- fix(documentarray): don't throw TypeError on DocumentArray#create() when top-level doc has populated paths #10749
- fix(update): avoid setting single nested subdoc defaults if subdoc isn't set #10660
- fix: delay creating id virtual until right before model compilation to allow plugins to disable the
id
option #10701 - fix(connection): correct
auth
object when usinguser
option toconnect()
#10727 #10726 saveman71 - fix(timestamps): avoid calling getters when checking whether
createdAt
is set #10742 kaishu16 - fix(index.d.ts): allow using strings for ObjectIds with $in #10735
- fix(index.d.ts): add TVirtuals generic to Model to make it easier to separate virtuals from DocType #10689
- fix(index.d.ts): add Model.bulkSave() definition #10745
- fix(index.d.ts): allow RegExp for
match
in schema definition #10744 easen-amp - fix(index.d.ts): allow arbitrary additional keys in QueryOptions #10688
- docs: correct TypeScript schema generic params in docs #10739 minifjurt123
- docs: fix h2 header links #10682 IslandRhythms
v6.0.6
==================
- perf(index.d.ts): streamline SchemaDefinitionType and SchemaTypeOptions to reduce number of instantiations and speed up lib checking #10349
- perf(document): make $locals a getter/setter, avoid creating unnecessary
undefined
properties in Document constructor, remove unnecessary event listeners #10400 - fix(connection): use username parameter for MongoDB driver instead of user #10727 saveman71
- fix(update): handle casting $or and $and in array filters #10696
- fix(connection): allow calling connection helpers before calling
mongoose.connect()
#10706 - fix(document): correctly handle subpaths of arrays that contain non-alphanumeric chars like
-
#10709 - fix(index.d.ts): correct return value for findOneAndUpdate(),
findByIdAndUpdate()
to support query helpers #10658 - fix(index.d.ts): add missing methods to ValidationError & ValidatorError classes #10725 medfreeman
- perf(subdocument): make internal $isSingleNested and
$isDocumentArrayElement
properties constants on the prototype rather than setting them on every instance #10400 - docs: improve Document#populate documentation, tests #10728 saveman71
v6.0.5
==================
- fix(model): allow calling Model.validate() static with POJO array #10669
- fix(cast): let $expr through in query filters if strict mode enabled #10662
- fix(map): propagate flattenMaps option down to nested maps #10653
- fix(setDefaultsOnInsert): avoid adding unnecessary auto _id to $setOnInsert #10646
- fix(schema): support object with values and message syntax for Number enums #10648
- fix(index.d.ts): fix Document#populate() type #10651 thiagokisaki
- fix(index.d.ts): allow using $in and $nin on array paths #10605
- fix(index.d.ts): make _id required in query results and return value from
create()
#10657 - docs: update deprecations.md to reflect version 6 #10673 multiwebinc
- docs: fix typo in queries.md #10681 yogabonito
- docs: fix typo in models.md #10680 yogabonito
- ci: add test for ubuntu-20.04 #10679 YC
v6.0.4
==================
- fix(schema): handle maps of maps #10644
- fix: avoid setting defaults on insert on a path whose subpath is referenced in the update #10624
- fix(index.d.ts): simplify UpdateQuery to avoid "excessively deep and possibly infinite" errors with
extends Document
andany
#10617 - fix(index.d.ts): allow using type: [documentDefinition] when defining a doc array in a schema #10605
- docs: remove useNewUrlParser, useUnifiedTopology, some other legacy options from docs #10631 #10632
- docs(defaults): clarify that setDefaultsOnInsert is true by default in 6.x #10643
- test: use async/await instead of co #10633 AbdelrahmanHafez
v6.0.3
==================
- fix: handle buffering with find() now that find() no longer accepts a callback #10639 #10634 #10610
v6.0.2
==================
- fix(query): handle find() when buffering on initial connection #10610
- fix(populate): get doc schema using $__schema to avoid paths named
schema
#10619 - docs: use async/await in the quickstart #10610
- docs: fix links to guide, schematypes, connections in v5.x docs #10607
- docs: add link to 6.x migration guide to schemas guide #10616
- docs: add migration to 6.x in Migration Guides section #10618 HunterKohler
- docs: fix missing URL part on layout.pug #10622 ItsLhun
v6.0.1
===================
- fix(document): avoid overwriting schema methods when creating a new document with
new Model()
andstrict: false
#11001 - fix(document): avoid overwriting top-level document _id with nested
_id
whenstrict = false
#10934 - fix(collection): avoid double-calling callback on sync error #10956
- fix(connection): handle direct connection to uninitialized replica set that then becomes initialized #10948
- fix(index.d.ts): allow partial updates on subdocuments for defaults #10947
- fix(index.d.ts): handle buffer type in schema definitions #11026
v6.0.0
==================
- Follow the migration guide to get a list of all breaking changes in v6.0.
- BREAKING CHANGE: remove the deprecated safe option in favor of write concerns
- fix: upgrade to mongodb driver 4.1.1
- fix: consistently use $__parent to store subdoc parent as a property, and
$parent()
as a getter function #10584 #10414 - fix: allow calling
countDocuments()
with options
v5.13.14
====================
- fix(timestamps): avoid setting createdAt on documents that already exist but dont have createdAt #11024
- docs(models): fix up nModified example for 5.x #11055
v5.13.13
====================
- fix: upgrade to mongodb@3.7.3 #10909 gaurav-sharma-gs
- fix: correctly emit end event in before close #10916 iovanom
- fix(index.d.ts): improve ts types for query set #10942 jneal-afs
v5.13.12
====================
- fix(cursor): use stream destroy method on close to prevent emitting duplicate 'close' #10897 iovanom
- fix(index.d.ts): backport streamlining of FilterQuery and DocumentDefinition to avoid "excessively deep and possibly infinite" TS errors #10617
v5.13.11
====================
- fix: upgrade mongodb -> 3.7.2 #10871 winstonralph
- fix(connection): call setMaxListeners(0) on MongoClient to avoid event emitter memory leak warnings with
useDb()
#10732
v5.13.10
====================
- fix(index.d.ts): allow using type: SchemaDefinitionProperty in schema definitions #10674
- fix(index.d.ts): allow AnyObject as param to findOneAndReplace() #10714
v5.13.9
===================
- fix(populate): avoid setting empty array on lean document when populate result is undefined #10599
- fix(document): make depopulate() handle populated paths underneath document arrays #10592
- fix: peg @types/bson version to 1.x || 4.0.x to avoid stubbed 4.2.x release #10678
- fix(index.d.ts): simplify UpdateQuery to avoid "excessively deep and possibly infinite" errors with
extends Document
andany
#10647 - fix(index.d.ts): allow specifying weights as an IndexOption #10586
- fix: upgrade to mpath v0.8.4 re: security issue #10683
v5.13.8
===================
- fix(populate): handle populating subdoc array virtual with sort #10552
- fix(model): check for code instead of codeName when checking for existing collections for backwards compat with MongoDB 3.2 #10420
- fix(index.d.ts): correct value of this for custom query helper methods #10545
- fix(index.d.ts): allow strings for ObjectIds in nested properties #10573
- fix(index.d.ts): add match to VirtualTypeOptions.options #8749
- fix(index.d.ts): allow QueryOptions populate parameter type PopulateOptions #10587 osmanakol
- docs(api): add Document#$where to API docs #10583
remy/nodemon
v2.0.16
Bug Fixes
- support windows by using path.delimiter (e26aaa9)
v2.0.15
Bug Fixes
- bump prod dep versions (54784ab)
v2.0.14
Bug Fixes
- add windows signals SIGUSR2 & SIGUSR1 to terminate the process (#1938) (61e7abd), closes #1903 #1915 #1936 #1937 #1882 #1893
v2.0.13
Bug Fixes
jaredhanson/passport
v0.6.0
Added
-
authenticate()
,req#login
, andreq#logout
accept akeepSessionInfo: true
option to keep session information after regenerating the session.
Changed
-
req#login()
andreq#logout()
regenerate the the session and clear session information by default. -
req#logout()
is now an asynchronous function and requires a callback function as the last argument.
Security
- Improved robustness against session fixation attacks in cases where there is physical access to the same system or the application is susceptible to cross-site scripting (XSS).
v0.5.3
Fixed
-
initialize()
middleware extends request withlogin()
,logIn()
,logout()
,logOut()
,isAuthenticated()
, andisUnauthenticated()
functions again, reverting change from 0.5.1.
v0.5.2
Fixed
- Introduced a compatibility layer for strategies that depend directly on
passport@0.4.x
or earlier (such aspassport-azure-ad
), which were broken by the removal of private variables inpassport@0.5.1
.
v0.5.1
Added
- Informative error message in session strategy if session support is not available.
Changed
-
authenticate()
middleware, rather thaninitialize()
middleware, extends request withlogin()
,logIn()
,logout()
,logOut()
,isAuthenticated()
, andisUnauthenticated()
functions.
v0.5.0
Changed
-
initialize()
middleware extends request withlogin()
,logIn()
,logout()
,logOut()
,isAuthenticated()
, andisUnauthenticated()
functions.
Removed
-
login()
,logIn()
,logout()
,logOut()
,isAuthenticated()
, andisUnauthenticated()
functions no longer added tohttp.IncomingMessage.prototype
.
Fixed
-
userProperty
option toinitialize()
middleware only affects the current request, rather than all requests processed via singleton Passport instance, eliminating a race condition in situations whereinitialize()
middleware is used multiple times in an application withuserProperty
set to different values.
postcss/postcss
v8.4.14
- Print “old plugin API” warning only if plugin was used (by @zardoy).
v8.4.13
- Fixed
append()
error after using.parent
(by Jordan Pittman).
v8.4.12
- Fixed
package.funding
to have same value between all PostCSS packages.
v8.4.11
- Fixed
Declaration#raws.value
type.
v8.4.10
- Fixed
package.funding
URL format.
v8.4.9
- Fixed
package.funding
(by Álvaro Mondéjar).
v8.4.8
- Fixed end position in empty Custom Properties.
v8.4.7
- Fixed
Node#warn()
type (by Masafumi Koba). - Fixed comment removal in values after
,
.
v8.4.6
- Prevented comment removing when it change meaning of CSS.
- Fixed parsing space in last semicolon-less CSS Custom Properties.
- Fixed comment cleaning in CSS Custom Properties with space.
- Fixed throwing an error on
.root
access for plugin-less case.
v8.4.5
- Fixed
raws
types to make object extendable (by James Garbutt). - Moved from Yarn 1 to pnpm.
v8.4.4
- Fixed absolute path in source map on zero plugins mode.
v8.4.3
- Fixed
this.css.replace is not a function
error.
v8.4.2
- Fixed previous source map support in zero plugins mode.
v8.4.1
- Print “old plugin API” warning only if plugin was used (by @zardoy).
v8.4.0
PostCSS 8.4 brought ranges for warnings and errors, smaller node_modules
size, lazy parsing to avoid PostCSS does nothing
warning, and TypeScript fixes.
Thanks to Sponsors
This release was possible thanks to our community.
If your company wants to support the sustainability of front-end infrastructure or wants to give some love to PostCSS, you can join our supporters by:
- Tidelift with a Spotify-like subscription model supporting all projects from your lock file.
- Direct donations in PostCSS & Autoprefixer Open Collective.
Rages for Errors and Warnings
@adalinesimonian, the author of amazing Stylelint extension for VS Code, added ranges to errors and warnings.
result.warn(msg, { index }) // One character warning at index
result.warn(msg, { endIndex }) // Starts at node start, ends at endIndex
result.warn(msg, { index, endIndex }) // Starts at index, ends at endIndex
result.warn(msg, { start }) // Starts at start, ends at node end
result.warn(msg, { end }) // Starts at node start, ends at end
result.warn(msg, { start, end }) // Starts at start, ends at end
result.warn(msg, { word }) // Starts at word location, ends at word index + length
It will improve DX in the IDE extension.
Lazy Parsing
Previously, we found that many tools run PostCSS even if the developer didn’t pass any PostCSS plugins. Parsing is the most expensive step in CSS processing. It led to a waste of resources without any reason.
We tried to resolve the problem by adding a PostCSS does nothing
warning. But it didn’t force tool authors to be more careful with user’s resources.
If PostCSS sees that tool call it without passing plugins (or changing parser/stringifier), PostCSS will not parse CSS (until toll will call Result#root
). In 8.4, @bogdan0083 (with the help of @WilhelmYakunin) tries to solve the problem in another way. It allows us to save resources and remove the PostCSS does nothing
warning.
// No plugins, we do not parse CSS
let result = await postcss().process(css, { from })
result.css // Is the same string passed to process()
result.map // Special 1-to-1 source map
result.root // CSS will parsed only here
Install Size Reduction
With ≈60M weekly downloads, PostCSS has responsibility for the world’s resource spending.
Together with @7rulnik we reduced source-map-js
size. It is transitive dependency of PostCSS.
In 8.4, we moved to a fixed version of source-map-js
, which reduced the postcss
size in your node_modules
from ≈1 MB to 0.3 MB. With the huge popularity of PostCSS, it will free a lot of resources on our CIs.
@kimoofey refactored all tests from the popular Jest framework to small and fast uvu
.
It will not affect end-users. However, it reduced our node_modules
size by 33 MB and made tests twice faster (yarn install & yarn unit
: 24 → 13 seconds).
TypeScript Fixes
- Added
Processor
types. - Added
Stringifier
types (by @43081j). - Fixed types
Root
andDocument
in result values (by @43081j). - Fixed
Node#walkRules()
types (by @hudochenkov).
Other Changes
- Fixed docs (by @paulshryock).
v8.3.11
- Remove debugging code.
v8.3.10
- Fixed
Maximum call stack
issue of some source maps (by Yeting Li).
v8.3.9
- Replaced
nanocolors
topicocolors
. - Reduced package size.
v8.3.8
- Update
nanocolors
.
v8.3.7
- Replaced
colorette
tonanocolors
. - Added bug field to
package.json
(by Christian Oliff). - Improved docs (by Andrew Bruce and Paul Shryock).
postcss/postcss-cli
v9.1.0
v9.0.2
- Switch to picocolors (#409)
- Remove test files from npm package
v9.0.1
- Actually exit with error when attempting to stdout in watch mode
- Remove
bin/
fromfiles
in package.json
v9.0.0
- BREAKING: Require Node.js v12+
-
BREAKING: Must specify full file path, including
.js
extension, when loading local plugins with--use
(#401) - BREAKING: Officially remove support for watching postcss config (was already broken in previous releases)
- Add support for
dir-dependency
messages (#383, #391) - Update deps
facebook/react
v18.1.0
React DOM
- Fix the false positive warning about
react-dom/client
when using UMD bundle. (@alireza-molaee in #24274) - Fix
suppressHydrationWarning
to work in production too. (@gaearon in #24271) - Fix
componentWillUnmount
firing twice inside of Suspense. (@acdlite in #24308) - Fix some transition updates being ignored. (@acdlite in #24353)
- Fix
useDeferredValue
causing an infinite loop when passed an unmemoized value. (@acdlite in #24247) - Fix throttling of revealing Suspense fallbacks. (@sunderls in #24253)
- Fix an inconsistency in whether the props object is the same between renders. (@Andarist and @acdlite in #24421)
- Fix a missing warning about a
setState
loop inuseEffect
. (@gaearon in #24298) - Fix a spurious hydration error. (@gnoff in #24404)
- Warn when calling
setState
inuseInsertionEffect
. (@gaearon in #24295) - Ensure the reason for hydration errors is always displayed. (@gaearon in #24276)
React DOM Server
- Fix escaping for the
bootstrapScriptContent
contents. (@gnoff in #24385) - Significantly improve performance of
renderToPipeableStream
. (@gnoff in #24291)
ESLint Plugin: React Hooks
- Fix false positive errors with a large number of branches. (@scyron6 in #24287)
- Don't consider a known dependency stable when the variable is reassigned. (@afzalsayed96 in #24343)
Use Subscription
v18.0.0
Below is a list of all new features, APIs, deprecations, and breaking changes. Read React 18 release post and React 18 upgrade guide for more information.
New Features
React
-
useId
is a new hook for generating unique IDs on both the client and server, while avoiding hydration mismatches. It is primarily useful for component libraries integrating with accessibility APIs that require unique IDs. This solves an issue that already exists in React 17 and below, but it’s even more important in React 18 because of how the new streaming server renderer delivers HTML out-of-order. -
startTransition
anduseTransition
let you mark some state updates as not urgent. Other state updates are considered urgent by default. React will allow urgent state updates (for example, updating a text input) to interrupt non-urgent state updates (for example, rendering a list of search results). -
useDeferredValue
lets you defer re-rendering a non-urgent part of the tree. It is similar to debouncing, but has a few advantages compared to it. There is no fixed time delay, so React will attempt the deferred render right after the first render is reflected on the screen. The deferred render is interruptible and doesn't block user input. -
useSyncExternalStore
is a new hook that allows external stores to support concurrent reads by forcing updates to the store to be synchronous. It removes the need foruseEffect
when implementing subscriptions to external data sources, and is recommended for any library that integrates with state external to React. -
useInsertionEffect
is a new hook that allows CSS-in-JS libraries to address performance issues of injecting styles in render. Unless you’ve already built a CSS-in-JS library we don’t expect you to ever use this. This hook will run after the DOM is mutated, but before layout effects read the new layout. This solves an issue that already exists in React 17 and below, but is even more important in React 18 because React yields to the browser during concurrent rendering, giving it a chance to recalculate layout.
React DOM Client
These new APIs are now exported from react-dom/client
:
-
createRoot
: New method to create a root torender
orunmount
. Use it instead ofReactDOM.render
. New features in React 18 don't work without it. -
hydrateRoot
: New method to hydrate a server rendered application. Use it instead ofReactDOM.hydrate
in conjunction with the new React DOM Server APIs. New features in React 18 don't work without it.
Both createRoot
and hydrateRoot
accept a new option called onRecoverableError
in case you want to be notified when React recovers from errors during rendering or hydration for logging. By default, React will use reportError
, or console.error
in the older browsers.
React DOM Server
These new APIs are now exported from react-dom/server
and have full support for streaming Suspense on the server:
-
renderToPipeableStream
: for streaming in Node environments. -
renderToReadableStream
: for modern edge runtime environments, such as Deno and Cloudflare workers.
The existing renderToString
method keeps working but is discouraged.
remix-run/react-router
v6.3.0
What's Changed
- Added the v5 to v6 backwards compatibility package
💜 (https://github.com/remix-run/react-router/pull/8752). The official guide can be found in this discussion
New Contributors
- @mfijas made their first contribution in https://github.com/remix-run/react-router/pull/8717
- @ThornWu made their first contribution in https://github.com/remix-run/react-router/pull/8718
- @janpaepke made their first contribution in https://github.com/remix-run/react-router/pull/8651
- @rtmann made their first contribution in https://github.com/remix-run/react-router/pull/8725
Full Changelog: https://github.com/remix-run/react-router/compare/v6.2.2...v6.3.0
v6.2.2
What's Changed
🐛 Bug Fixes
- Fixed nested splat routes that begin with special URL-safe characters (#8563)
- Fixed a bug where index routes were missing route context in some cases (#8497)
New Contributors
- @chasinhues made their first contribution in https://github.com/remix-run/react-router/pull/8514
- @underager made their first contribution in https://github.com/remix-run/react-router/pull/8531
- @kantuni made their first contribution in https://github.com/remix-run/react-router/pull/8537
- @ArjaanBuijk made their first contribution in https://github.com/remix-run/react-router/pull/8536
- @jmargeta made their first contribution in https://github.com/remix-run/react-router/pull/8548
- @koojaa made their first contribution in https://github.com/remix-run/react-router/pull/8542
- @chrisngobanh made their first contribution in https://github.com/remix-run/react-router/pull/8576
- @ChristopherChudzicki made their first contribution in https://github.com/remix-run/react-router/pull/8582
- @awreese made their first contribution in https://github.com/remix-run/react-router/pull/8596
- @bhbs made their first contribution in https://github.com/remix-run/react-router/pull/8601
- @LukerSpringtree made their first contribution in https://github.com/remix-run/react-router/pull/8619
- @hsbtr made their first contribution in https://github.com/remix-run/react-router/pull/8476
- @abhi-kr-2100 made their first contribution in https://github.com/remix-run/react-router/pull/8658
- @cvbuelow made their first contribution in https://github.com/remix-run/react-router/pull/8663
- @hyesungoh made their first contribution in https://github.com/remix-run/react-router/pull/8666
- @BrianT1414 made their first contribution in https://github.com/remix-run/react-router/pull/8667
- @IbraRouisDev made their first contribution in https://github.com/remix-run/react-router/pull/8683
- @shihanng made their first contribution in https://github.com/remix-run/react-router/pull/8689
- @latin-1 made their first contribution in https://github.com/remix-run/react-router/pull/8529
- @Isammoc made their first contribution in https://github.com/remix-run/react-router/pull/8533
- @KutnerUri made their first contribution in https://github.com/remix-run/react-router/pull/8278
- @shamsup made their first contribution in https://github.com/remix-run/react-router/pull/8563
- @brophdawg11 made their first contribution in https://github.com/remix-run/react-router/pull/8691
Full Changelog: https://github.com/remix-run/react-router/compare/v6.2.1...v6.2.2
v6.2.1
This release updates the internal history
dependency to 5.2.0
.
Full Changelog: https://github.com/remix-run/react-router/compare/v6.2.0...v6.2.1
v6.2.0
🐛 Bug fixes
- Fixed the
RouteProps
element
type, which should be aReactNode
(#8473) - Fixed a bug with
useOutlet
for top-level routes (#8483)
✨ Features
- We now use statically analyzable CJS exports. This enables named imports in Node ESM scripts (See the commit).
New Contributors
- @thisiskartik made their first contribution in https://github.com/remix-run/react-router/pull/8487
- @vijaypushkin made their first contribution in https://github.com/remix-run/react-router/pull/8491
Full Changelog: https://github.com/remix-run/react-router/compare/v6.1.1...v6.2.0
v6.1.1
In v6.1.0 we inadvertently shipped a new, undocumented API that will likely introduce bugs (#7586). We have flagged HistoryRouter
as unstable_HistoryRouter
, as this API will likely need to change before a new major release.
Full Changelog: https://github.com/remix-run/react-router/compare/v6.1.0...v6.1.1
v6.1.0
🐛 Bug fixes
- Fixed a bug that broke support for base64 encoded IDs on nested routes (#8291)
✨ Features
-
<Outlet>
can now receive acontext
prop. This value is passed to child routes and is accessible via the newuseOutletContext
hook. See the API docs for details. (#8461) -
<NavLink>
can now receive a child function for access to its props. (#8164)
💅 Enhancements
- Improved TypeScript signature for
useMatch
andmatchPath
. For example, when you calluseMatch("foo/:bar/:baz")
, the path is parsed and the return type will bePathMatch<"bar" | "baz">
. (#8030) - A few error message improvements (#8202)
New Contributors
- @rwieruch made their first contribution in https://github.com/remix-run/react-router/pull/8244
- @codeiotic made their first contribution in https://github.com/remix-run/react-router/pull/8247
- @Sannnao made their first contribution in https://github.com/remix-run/react-router/pull/8263
- @mattmazzola made their first contribution in https://github.com/remix-run/react-router/pull/8255
- @ngokevin made their first contribution in https://github.com/remix-run/react-router/pull/8267
- @TimisRobert made their first contribution in https://github.com/remix-run/react-router/pull/8269
- @mikeldking made their first contribution in https://github.com/remix-run/react-router/pull/8279
- @fishmandev made their first contribution in https://github.com/remix-run/react-router/pull/8289
- @rjerue made their first contribution in https://github.com/remix-run/react-router/pull/8304
- @rockingskier made their first contribution in https://github.com/remix-run/react-router/pull/8314
- @arinthros made their first contribution in https://github.com/remix-run/react-router/pull/8337
- @noisypigeon made their first contribution in https://github.com/remix-run/react-router/pull/8361
- @elylucas made their first contribution in https://github.com/remix-run/react-router/pull/8368
- @paulsmithkc made their first contribution in https://github.com/remix-run/react-router/pull/8357
- @sanketshah19 made their first contribution in https://github.com/remix-run/react-router/pull/8372
- @JakubDrozd made their first contribution in https://github.com/remix-run/react-router/pull/8402
- @markivancho made their first contribution in https://github.com/remix-run/react-router/pull/8414
- @turansky made their first contribution in https://github.com/remix-run/react-router/pull/8420
- @shivamsinghchahar made their first contribution in https://github.com/remix-run/react-router/pull/8423
- @petersendidit made their first contribution in https://github.com/remix-run/react-router/pull/8436
- @Ajayff4 made their first contribution in https://github.com/remix-run/react-router/pull/8373
- @RobHannay made their first contribution in https://github.com/remix-run/react-router/pull/8455
- @kddnewton made their first contribution in https://github.com/remix-run/react-router/pull/8030
- @brockross made their first contribution in https://github.com/remix-run/react-router/pull/8462
- @sergiodxa made their first contribution in https://github.com/remix-run/react-router/pull/8164
- @baozouai made their first contribution in https://github.com/remix-run/react-router/pull/8171
- @liuhanqu made their first contribution in https://github.com/remix-run/react-router/pull/8374
Full Changelog: https://github.com/remix-run/react-router/compare/v6.0.1...v6.1.0
v6.0.2
✨ Features
- Added the
reloadDocument
prop to<Link>
. This allows<Link>
to function like a normal anchor tag by reloading the document after navigation while maintaining the relativeto
resolution.
🗒 ️ Docs
- Fixed several issues in docblocks and the docs themselves. See the full changelog for the deets!
🤝 New Contributors
- @rwieruch made their first contribution in https://github.com/remix-run/react-router/pull/8244
- @ProProgrammer2504 made their first contribution in https://github.com/remix-run/react-router/pull/8247
- @Sannnao made their first contribution in https://github.com/remix-run/react-router/pull/8263
- @mattmazzola made their first contribution in https://github.com/remix-run/react-router/pull/8255
- @ngokevin made their first contribution in https://github.com/remix-run/react-router/pull/8267
- @TimisRobert made their first contribution in https://github.com/remix-run/react-router/pull/8269
- @mikeldking made their first contribution in https://github.com/remix-run/react-router/pull/8279
- @fishmandev made their first contribution in https://github.com/remix-run/react-router/pull/8289
Full Changelog
v6.0.1
🐛 Bug Fixes
- Add a default
<StaticRouter location>
value (#8243) - Add invariant for using
<Route>
inside<Routes>
to help people make the change (#8238)
v6.0.0
React Router v6 is here!
Please go read our blog post for more information on all the great stuff in v6 including notes about how to upgrade from React Router v5 and Reach Router.
v5.3.3
This release fixes a bad version selector in react-router-native.
v5.3.2
- Fix: make v5 Router compatible with v18 StrictMode by @jgoz in https://github.com/remix-run/react-router/pull/8831
v5.3.1
This release adds missing LICENSE
files to the published build.
v5.2.1
This release fixes a bug with <Link>
so that, when the to
location is the same as the current, the history state entry is replaced instead of pushed to the stack. See https://github.com/remix-run/react-router/issues/5362 for details. 🥳
Thanks to @guidobouman for the MR and for everyone else who weighed in for the fix!
facebook/create-react-app
v5.0.1
Inside any created project that has not been ejected, run:
npm install --save --save-exact react-scripts@5.0.1
or
yarn add --exact react-scripts@5.0.1
🐛 Bug Fix
-
react-scripts
- #12245 fix: webpack noise printed only if error or warning (@Andrew47)
-
create-react-app
-
react-dev-utils
- #11640 Ensure posix compliant joins for urls in middleware (@psiservices-justin-sullard)
💅 Enhancement
-
cra-template-typescript
,cra-template
,react-scripts
-
#12220 Update templates to use React 18
createRoot
(@kyletsang)
-
#12220 Update templates to use React 18
-
cra-template-typescript
,cra-template
- #12223 chore: upgrade rtl version to support react 18 (@MatanBobi)
-
eslint-config-react-app
- #11622 updated deprecated rules (@wisammechano)
📝 Documentation
- #11594 Fix a typo in deployment.md (@fishmandev)
- #11805 docs: Changelog 5.0.0 (@jafin)
- #11757 prevent both npm and yarn commands from being copied (@mubarakn)
🏠 Internal
Committers: 11
- Andrew Burnie (@Andrew47)
- Clément Vannicatte (@shortcuts)
- Dmitriy Fishman (@fishmandev)
- Dmitry Vinnik (@dmitryvinn)
- Ian Sutherland (@iansu)
- Jason Finch (@jafin)
- Kyle Tsang (@kyletsang)
- Matan Borenkraout (@MatanBobi)
- Wisam Naji (@wisammechano)
- @mubarakn
- @psiservices-justin-sullard
5.0.0 (2021-12-14)
Create React App 5.0 is a major release with several new features and the latest version of all major dependencies.
Thanks to all the maintainers and contributors who worked so hard on this release!
v5.0.0
Inside any created project that has not been ejected, run:
npm install --save --save-exact react-scripts@5.0.1
or
yarn add --exact react-scripts@5.0.1
🐛 Bug Fix
-
react-scripts
- #12245 fix: webpack noise printed only if error or warning (@Andrew47)
-
create-react-app
-
react-dev-utils
- #11640 Ensure posix compliant joins for urls in middleware (@psiservices-justin-sullard)
💅 Enhancement
-
cra-template-typescript
,cra-template
,react-scripts
-
#12220 Update templates to use React 18
createRoot
(@kyletsang)
-
#12220 Update templates to use React 18
-
cra-template-typescript
,cra-template
- #12223 chore: upgrade rtl version to support react 18 (@MatanBobi)
-
eslint-config-react-app
- #11622 updated deprecated rules (@wisammechano)
📝 Documentation
- #11594 Fix a typo in deployment.md (@fishmandev)
- #11805 docs: Changelog 5.0.0 (@jafin)
- #11757 prevent both npm and yarn commands from being copied (@mubarakn)
🏠 Internal
Committers: 11
- Andrew Burnie (@Andrew47)
- Clément Vannicatte (@shortcuts)
- Dmitriy Fishman (@fishmandev)
- Dmitry Vinnik (@dmitryvinn)
- Ian Sutherland (@iansu)
- Jason Finch (@jafin)
- Kyle Tsang (@kyletsang)
- Matan Borenkraout (@MatanBobi)
- Wisam Naji (@wisammechano)
- @mubarakn
- @psiservices-justin-sullard
5.0.0 (2021-12-14)
Create React App 5.0 is a major release with several new features and the latest version of all major dependencies.
Thanks to all the maintainers and contributors who worked so hard on this release!
sass/dart-sass
v1.52.1
Command Line Interface
- Fix a bug where
--watch
mode would close immediately in TTY mode. This was caused by our change to close--watch
when stdin was closed outside of TTY mode, which has been reverted for now while we work on a fix.
v1.52.0
-
Add support for arbitrary modifiers at the end of plain CSS imports, in addition to the existing
supports()
and media queries. Sass now allows any sequence of identifiers of functions after the URL of an import for forwards compatibility with future additions to the CSS spec. -
Fix an issue where source locations tracked through variable references could potentially become incorrect.
-
Fix a bug where a loud comment in the source can break the source map when embedding the sources, when using the command-line interface or the legacy JS API.
JS API
-
SassNumber.assertUnit()
andSassNumber.assertNoUnits()
now correctly return the number called on when it passes the assertion.
v1.51.0
-
Potentially breaking change: Change the order of maps returned by
map.deep-merge()
to match those returned bymap.merge()
. All keys that appeared in the first map will now be listed first in the same order they appeared in that map, followed by any new keys added from the second map. -
Improve the string output of some AST nodes in error messages.
v1.50.1
Embedded Sass
-
The JS embedded host and the embedded compiler will now properly avoid resolving imports relative to the current working directory unless
'.'
is passed as a load path. -
Fix a bug in the JS embedded host's implementation of the legacy JS API where imports that began with
/
could crash on Windows.
v1.50.0
-
@extend
now treats [:where()
][:where()] the same as:is()
.
Command Line Interface
- Closing the standard input stream will now cause the
--watch
command to stop running.
Embedded Sass
-
Fix a bug where the JS embedded host crashed when invoking a legacy importer after resolving a relative filesystem import.
-
Improve error messages when returning non-
Object
values from legacy importers.
v1.49.11
- Add support for 64-bit ARM releases on Linux.
Embedded Sass
- The embedded compiler now correctly sets the
id
field for allOutboundMessage
s.
v1.49.10
-
Quiet deps mode now silences compiler warnings in mixins and functions that are defined in dependencies even if they're invoked from application stylesheets.
-
In expanded mode, Sass will now emit colors using
rgb()
,rbga()
,hsl()
, andhsla()
function notation if they were defined using the corresponding notation. As per our browser support policy, this change was only done once 95% of browsers were confirmed to support this output format, and so is not considered a breaking change.Note that this output format is intended for human readability and not for interoperability with other tools. As always, Sass targets the CSS specification, and any tool that consumes Sass's output should parse all colors that are supported by the CSS spec.
-
Fix a bug in which a color written using the four- or eight-digit hex format could be emitted as a hex color rather than a format with higher browser compatibility.
-
Calculations are no longer simplified within supports declarations
v1.49.9
Embedded Sass
- Fixed a bug where the legacy API could crash when passed an empty importer list.
v1.49.8
- Fixed a bug where some plain CSS imports would not be emitted.
JS API
- Fix a bug where inspecting the Sass module in the Node.js console crashed on Node 17.
Embedded Sass
- Fix a bug where source map URLs were incorrectly generated when passing importers to the legacy API.
v1.49.7
Embedded Sass
-
First stable release the
sass-embedded
npm package that contains the Node.js Embedded Host. -
First stable release of the
sass_embedded
pub package that contains the Embedded Dart Sass compiler.
v1.49.6
- No user-visible changes.
v1.49.5
- No user-visible changes.
v1.49.4
- No user-visible changes.
v1.49.3
- No user-visible changes.
v1.49.2
- No user-visible changes.
v1.49.1
- Add support for 64-bit ARM releases on Linux.
Embedded Sass
- The embedded compiler now correctly sets the
id
field for allOutboundMessage
s.
v1.49.0
- Fix a bug in
string.insert
with certain negative indices.
JS API
- Add support for the
sourceMapIncludeSources
option in the new JS API.
TypeScript Declarations
- Fix a bug where
LegacyPluginThis.options.linefeed
was typed to return abbreviations when it actually returned literal linefeed characters.
v1.48.0
JS API
-
Potentially breaking bug fix: Match the specification of the new JS API by
setting
LegacyResult.map
toundefined
rather thannull
.
TypeScript Declarations
- Add a declaration for the
NULL
constant.
v1.47.0
JS API
TypeScript Declarations
- Add declarations for the
TRUE
andFALSE
constants.
v1.46.0
JS API
-
Potentially breaking bug fix: Match the specification of the new JS API by
passing
undefined
rather thannull
toLogger.warn()
for an unsetspan
.
TypeScript Declarations
-
Add a declaration for the
LegacyPluginThis.options.context
field. -
Update the definition of
LegacyAsyncFunction
to include explicit definitions with zero through six arguments before thedone
parameter. This makes it possible for TypeScript users to pass in callbacks that take a specific number of arguments, rather than having to declare a callback that takes an arbitrary number. -
Add a declaration for
types.Error
, a legacy API class that can be returned by asynchronous functions to signal asynchronous errors. -
Add a
LegacyAsyncFunctionDone
type for thedone
callback that's passed toLegacyAsyncFunction
.
v1.45.2
JS API
-
Potentially breaking bug fix: Change the default value of the
separator
parameter fornew SassArgumentList()
to','
rather thannull
. This matches the API specification.
v1.45.1
-
Potentially breaking bug fix: Properly parse custom properties in
@supports
conditions. Note that this means that SassScript expressions on the right-hand side of custom property@supports
queries now need to be interpolated, as per https://sass-lang.com/d/css-vars. -
Potentially breaking bug fix: Fix a bug where
inspect()
was not properly printing nested, empty, bracketed lists.
v1.45.0
JS API
This release includes an entirely new JavaScript API, designed to be more idiomatic, performant, and usable. The old API will continue to be supported until Dart Sass 2.0.0, but it is now considered deprecated and should be avoided for new code.
The new API includes:
-
compile()
andcompileAsync()
functions that take Sass file paths and return the result of compiling them to CSS. The async function returns aPromise
rather than using a callback-based API. -
compileString()
andcompileStringAsync()
functions that take a string of Sass source and compiles it to CSS. As above, the async function returns aPromise
. -
A new importer API that more closely matches the Sass specification's logic for resolving loads. This makes it much easier for Sass to cache information across
@import
and@use
rules, which substantially improves performance for applications that rely heavily on repeated@import
s. -
A new custom function API, including much more usable JS representations of Sass value types complete with type-assertion functions, easy map and list lookups, and compatibility with the [
immutable
][immutable] package. Unlike in the legacy API, function callbacks now take one argument which contains an array of Sass values (rather than taking a separate JS argument for each Sass argument).
For full documentation of this API, please see the Sass website.
This release also adds TypeScript type definitions.
v1.44.0
- Suggest
calc()
as an alternative in/
-as-division deprecation messages.
Dart API
-
Add
SassNumber.convert()
andSassNumber.convertValue()
. These work likeSassNumber.coerce()
andSassNumber.coerceValue()
, except they don't treat unitless numbers as universally compatible. -
Fix a bug where
SassNumber.coerceToMatch()
andSassNumber.coerceValueToMatch()
wouldn't coerce single-unit numbers to match unitless numbers.
v1.43.5
-
Fix a bug where calculations with different operators were incorrectly considered equal.
-
Properly parse attribute selectors with empty namespaces.
JS API
- Print more detailed JS stack traces. This is mostly useful for the Sass team's own debugging purposes.
v1.43.4
JS API
- Fix a bug where the
logger
option was ignored for therender()
function.
v1.43.3
- Improve performance.
v1.43.2
- Improve the error message when the default namespace of a
@use
rule is not a valid identifier.
v1.42.1
- Fix a bug where Sass variables and function calls in calculations weren't being resolved correctly if there was a parenthesized interpolation elsewhere in the file.
v1.42.0
-
min()
andmax()
expressions are once again parsed as calculations as long as they contain only syntax that's allowed in calculation expressions. To avoid the backwards-compatibility issues that were present in 1.40.0, they now allow unitless numbers to be mixed with numbers with units just like the globalmin()
andmax()
functions. Similarly,+
and-
operations withinmin()
andmax()
functions allow unitless numbers to be mixed with numbers with units.
v1.41.1
- Preserve parentheses around
var()
functions in calculations, because they could potentially be replaced with sub-expressions that might need to be parenthesized.
v1.41.0
-
Calculation values can now be combined with strings using the
+
operator. This was an error in 1.40.0, but this broke stylesheets that were relying on$value + ""
expressions to generically convert values to strings. (Note that the Sass team recommends the use of"#{$value}"
orinspect($value)
for that use-case.) -
The
selector.unify()
function now correctly returnsnull
when one selector is a:host
or:host-context
and the other is a selector that's guaranteed to be within the current shadow DOM. The@extend
logic has been updated accordingly as well. -
Fix a bug where extra whitespace in
min()
,max()
,clamp()
, andcalc()
expressions could cause bogus parse errors. -
Fix a bug where the right-hand operand of a
-
in a calculation could incorrectly be stripped of parentheses.
Dart API
-
SassCalculation.plus()
now allowsSassString
arguments.
v1.40.1
-
Potentially breaking bug fix:
min()
andmax()
expressions outside of calculations now behave the same way they did in 1.39.2, returning unquoted strings if they contain no Sass-specific features and calling the globalmin()
andmax()
functions otherwise. Within calculations, they continue to behave how they did in 1.40.0.This fixes an unintended breaking change added in 1.40.0, wherein passing a unitless number and a number without units to
min()
ormax()
now produces an error. Since this breakage affects a major Sass library, we're temporarily reverting support formin()
andmax()
calculations while we work on designing a longer-term fix.
v1.40.0
-
Add support for first-class
calc()
expressions (as well asclamp()
and plain-CSSmin()
andmax()
). This means:-
calc()
expressions will be parsed more thoroughly, and errors will be highlighted where they weren't before. This may break your stylesheets, but only if they were already producing broken CSS. -
calc()
expressions will be simplified where possible, and may even return numbers if they can be simplified away entirely. -
calc()
expressions that can't be simplified to numbers return a new data type known as "calculations". -
Sass variables and functions can now be used in
calc()
expressions. -
New functions
meta.calc-name()
andmeta.calc-args()
can now inspect calculations.
-
Dart API
-
Add a new value type,
SassCalculation
, that represents calculations. -
Add new
CalculationOperation
,CalculationOperator
, andCalculationInterpolation
types to represent types of arguments that may exist as part of a calculation. -
Add a new
Value.assertCalculation()
method. -
Add a new
Number.hasCompatibleUnits()
method.
v1.39.2
- Fix a bug where configuring with
@use ... with
would throw an error when that variable was defined in a module that also contained@forward ... with
.
v1.39.1
- Partial fix for a bug where
@at-root
does not work properly in nested imports that contain@use
rules. If the only@use
rules in the nested import are for built-in modules,@at-root
should now work properly.
v1.39.0
JS API
- Add a
charset
option that controls whether or not Sass emits a@charset
/BOM for non-ASCII stylesheets.
v1.38.2
- No user-visible changes
v1.38.1
- No user-visible changes
v1.38.0
-
In expanded mode, emit characters in Unicode private-use areas as escape sequences rather than literal characters.
-
Fix a bug where quotes would be omitted for an attribute selector whose value was a single backslash.
-
Properly consider numbers that begin with
.
as "plain CSS" for the purposes of parsing plain-CSSmin()
andmax()
functions. -
Allow
if
to be used as an unquoted string. -
Properly parse backslash escapes within
url()
expressions. -
Fix a couple bugs where
@extend
s could be marked as unsatisfied when multiple identical@extend
s extended selectors across@use
rules.
Command Line Interface
- Strip CRLF newlines from snippets of the original stylesheet that are included in the output when an error occurs.
JS API
-
Don't crash when a Windows path is returned by a custom Node importer at the same time as file contents.
-
Don't crash when an error occurs in a stylesheet loaded via a custom importer with a custom URL scheme.
Dart API
- Add a
SassArgumentList.keywordsWithoutMarking
getter to access the keyword arguments of an argument list without marking them accessed.
visionmedia/supertest
v6.2.3
- chore: bump deps
6329e2d
- Merge pull request #759 from francescobarbera/master
e6d371c
- docs: add an example for complex object in multipart upload
729e818
v6.2.2
- chore: bump deps
8f4dd1e
v6.2.1
- chore: bump deps
9a87305
v6.2.0
- chore: bump deps
e741cab
- Merge pull request #653 from torhovland/patch-1
88dc262
- Merge pull request #713 from jtomaszewski/patch-1
70a3d00
- Merge pull request #749 from jimmywarting/misc
a70c1a0
- var to const
aae4d8e
- add missing comma
f17be2a
- use explicit path
cdb0ad9
- only use require in the top of the file
19dcd1e
- don't mixup superagent.Response \w fetch.Response
1dc25a1
- user super and arrow fn
d2d9616
- move exports to the bottom
17cf193
- more const
a0a5d57
- Merge pull request #748 from jimmywarting/var
1d70492
- destruct assert
dc60d5d
- refactor: convert var to const / let
03f0084
- Merge pull request #747 from jimmywarting/classify
afecc3f
- refactor: Convert test to a class
d94ffbc
- Update README.md
ad699ed
- docs: Add async/await example to README
fc269b6
- Add missing require.
3537e4e
v6.1.6
- Merge pull request #735 from benjosantony/master
28116f9
- Add on to the mitigation in https://github.com/visionmedia/supertest/pull/728/commits to support empty array response body
ed0f68d
tailwindlabs/tailwindcss
v3.0.24
Fixed
- Prevent nesting plugin from breaking other plugins (#7563)
- Recursively collapse adjacent rules (#7565)
- Preserve source maps for generated CSS (#7588)
- Split box shadows on top-level commas only (#7479)
- Use local user CSS cache for
@apply
(#7524) - Invalidate context when main CSS changes (#7626)
- Only add
!
to selector class matching template candidate when using important modifier with mutli-class selectors (#7664) - Correctly parse and prefix animation names with dots (#7163)
- Fix extraction from template literal/function with array (#7481)
- Don't output unparsable arbitrary values (#7789)
- Fix generation of
div:not(.foo)
if.foo
is never defined (#7815) - Allow for custom properties in
rgb
,rgba
,hsl
andhsla
colors (#7933) - Remove autoprefixer as explicit peer-dependency to avoid invalid warnings in situations where it isn't actually needed (#7949)
- Ensure the
percentage
data type is validated correctly (#8015) - Make sure
font-weight
is inherited by form controls in all browsers (#8078)
Changed
- Replace
chalk
withpicocolors
(#6039) - Replace
cosmiconfig
withlilconfig
(#6039) - Update
cssnano
to avoid removing empty variables when minifying (#7818)
v3.0.23
Fixed
- Remove opacity variables from
:visited
pseudo class (#7458) - Support arbitrary values + calc + theme with quotes (#7462)
- Don't duplicate layer output when scanning content with variants + wildcards (#7478)
- Implement
getClassOrder
instead ofsortClassList
(#7459)
v3.0.22
Fixed
- Temporarily move
postcss
to dependencies (#7424)
v3.0.21
Fixed
- Move prettier plugin to dev dependencies (#7418)
v3.0.20
Added
- Expose
context.sortClassList(classes)
(#7412)
v3.0.19
Fixed
- Fix preflight border color fallback (#7288)
- Correctly parse shadow lengths without a leading zero (#7289)
- Don't crash when scanning extremely long class candidates (#7331)
- Use less hacky fix for URLs detected as custom properties (#7275)
- Correctly generate negative utilities when dash is before the prefix (#7295)
- Detect prefixed negative utilities in the safelist (#7295)
v3.0.18
Fixed
- Fix
@apply
order regression (inaddComponents
,addUtilities
, ...) (#7232) - Quick fix for incorrect arbitrary properties when using URLs (#7252)
v3.0.17
Fixed
- Remove false positive warning in CLI when using the
--content
option (#7220)
v3.0.16
Fixed
- Ensure to transpile the PostCSS Nesting plugin (tailwindcss/nesting) (#7080)
- Improve various warnings (#7118)
- Fix grammatical mistake (cca5a38)
v3.0.15
Fixed
- Temporarily remove optional chaining in nesting plugin (#7077)
v3.0.14
Added
- Show warnings for invalid content config (#7065)
Fixed
- Only emit utility/component variants when those layers exist (#7066)
- Ensure nesting plugins can receive options (#7016)
v3.0.13
Fixed
- Fix consecutive builds with at apply producing different CSS (#6999)
v3.0.12
Fixed
- Allow use of falsy values in theme config (#6917)
- Ensure we can apply classes that are grouped with non-class selectors (#6922)
- Improve standalone CLI compatibility on Linux by switching to the
linuxstatic
build target (#6914) - Ensure
@apply
works consistently with or without@layer
(#6938) - Only emit defaults when using base layer (#6926)
- Emit plugin defaults regardless of usage (#6926)
- Move default border color back to preflight (#6926)
- Change
experimental.optimizeUniversalDefaults
to only work with@tailwind base
(#6926)
v3.0.11
Fixed
- Preserve casing of CSS variables added by plugins (#6888)
- Ignore content paths that are passed in but don't actually exist (#6901)
- Revert change that applies Tailwind's defaults in isolated environments like CSS modules (9fdc391)
v3.0.10
Fixed
- Fix
@apply
in files without@tailwind
directives (#6580, #6875) - CLI: avoid unnecessary writes to output files (#6550)
Added
- Allow piping data into the CLI (#6876)
v3.0.9
Fixed
- Improve
DEBUG
flag (#6797, #6804) - Ensure we can use
<
and>
characters in modifiers (#6851) - Validate
theme()
works in arbitrary values (#6852) - Properly detect
theme()
value usage in arbitrary properties (#6854) - Improve collapsing of duplicate declarations (#6856)
- Remove support for
TAILWIND_MODE=watch
(#6858)
v3.0.8
Fixed
- Reduce specificity of
abbr
rule in preflight (#6671) - Support HSL with hue units in arbitrary values (#6726)
- Add
node16-linux-arm64
target for standalone CLI (#6693)
v3.0.7
Fixed
- Don't mutate custom color palette when overriding per-plugin colors (#6546)
- Improve circular dependency detection when using
@apply
(#6588) - Only generate variants for non-
user
layers (#6589) - Properly extract classes with arbitrary values in arrays and classes followed by escaped quotes (#6590)
- Improve jsx interpolation candidate matching (#6593)
- Ensure
@apply
of a rule inside an AtRule works (#6594)
v3.0.6
Fixed
- Support square bracket notation in paths (#6519)
- Ensure all plugins are executed for a given candidate (#6540)
v3.0.5
Fixed
- Revert: add
li
to list-style reset (9777562d)
v3.0.4
Fixed
- Insert always-on defaults layer in correct spot (#6526)
v3.0.3
Added
- Warn about invalid globs in
content
(#6449) - Add standalone tailwindcss CLI (#6506)
- Add
li
to list-style reset (00f60e6)
Fixed
- Don't output unparsable values (#6469)
- Fix text decoration utilities from overriding the new text decoration color/style/thickness utilities when used with a modifier (#6378)
- Move defaults to their own always-on layer (#6500)
- Support negative values in safelist patterns (#6480)
v3.0.2
Fixed
- Prevent nesting plugin from breaking other plugins (#7563)
- Recursively collapse adjacent rules (#7565)
- Preserve source maps for generated CSS (#7588)
- Split box shadows on top-level commas only (#7479)
- Use local user CSS cache for
@apply
(#7524) - Invalidate context when main CSS changes (#7626)
- Only add
!
to selector class matching template candidate when using important modifier with mutli-class selectors (#7664) - Correctly parse and prefix animation names with dots (#7163)
- Fix extraction from template literal/function with array (#7481)
- Don't output unparsable arbitrary values (#7789)
- Fix generation of
div:not(.foo)
if.foo
is never defined (#7815) - Allow for custom properties in
rgb
,rgba
,hsl
andhsla
colors (#7933) - Remove autoprefixer as explicit peer-dependency to avoid invalid warnings in situations where it isn't actually needed (#7949)
- Ensure the
percentage
data type is validated correctly (#8015) - Make sure
font-weight
is inherited by form controls in all browsers (#8078)
Changed
- Replace
chalk
withpicocolors
(#6039) - Replace
cosmiconfig
withlilconfig
(#6039) - Update
cssnano
to avoid removing empty variables when minifying (#7818)
v3.0.1
Fixed
- Fix preflight border color fallback (#7288)
- Correctly parse shadow lengths without a leading zero (#7289)
- Don't crash when scanning extremely long class candidates (#7331)
- Use less hacky fix for URLs detected as custom properties (#7275)
- Correctly generate negative utilities when dash is before the prefix (#7295)
- Detect prefixed negative utilities in the safelist (#7295)
v3.0.0
Fixed
- Enforce the order of some variants (like
before
andafter
) (#6018)
Added
- Add
placeholder
variant (#6106) - Add composable
touch-action
utilities (#6115) - Add support for "arbitrary properties" (#6161)
- Add
portrait
andlandscape
variants (#6046) - Add
text-decoration-style
,text-decoration-thickness
, andtext-underline-offset
utilities (#6004) - Add
menu
reset to preflight (#6213) - Allow
0
as a validlength
value (#6233, #6259) - Add CSS functions to data types (#6258)
- Support negative values for
scale-*
utilities (c48e629) - Improve
length
data type, by validating each value individually (#6283)
Changed
- Deprecate
decoration-slice
anddecoration-break
in favorbox-decoration-slice
andbox-decoration-break
(non-breaking) (#6004)
v2.2.19
Fixed
- Ensure
corePlugins
order is consisent in AOT mode (#5928)
v2.2.18
Fixed
- Bump versions for security vulnerabilities (#5924)
v2.2.17
Fixed
- Configure chokidar's
awaitWriteFinish
setting to avoid occasional stale builds on Windows (#5758)
v2.2.16
Fixed
- JIT: Properly handle animations that use CSS custom properties (#5602)
v2.2.15
Fixed
- Ensure using CLI without
-i
for input file continues to work even though deprecated (#5464)
v2.2.14
Fixed
- Only use
@defaults
in JIT, switch back toclean-css
in case there's any meaningful differences in the output (bf248cb)
v2.2.13
Fixed
- Replace
clean-css
withcssnano
for CDN builds to fix minified builds (75cc3ca)
v2.2.12
Fixed
- Ensure that divide utilities inject a default border color (#5438)
v2.2.11
Fixed
- Rebundle to fix missing CLI peer dependencies
v2.2.10
Fixed
- Fix build error when using
presets: []
in config file (#4903)
Added
- Reintroduce universal selector optimizations under experimental
optimizeUniversalDefaults
flag (a9e160c)
v2.2.9
Fixed
- JIT: Fix
@apply
ing utilities that contain variants + the important modifier (#4854) - JIT: Don't strip "null" when parsing tracked file paths (#5008)
- Pin
clean-css
to v5.1.4 to fix empty CSS variables in CDN builds (#5338)
v2.2.8
Fixed
- Improve accessibility of default link focus styles in Firefox (#5082)
- JIT: Fix animation variants corrupting keyframes rules (#5223)
- JIT: Ignore escaped commas when splitting selectors to apply prefixes (#5239)
- Nesting: Maintain PostCSS node sources when handling
@apply
(#5249) - JIT: Fix support for animation lists (#5252)
- JIT: Fix arbitrary value support for
object-position
utilities (#5245) - CLI: Abort watcher if stdin is closed to avoid zombie processes (#4997)
- JIT: Ignore arbitrary values with unbalanced brackets (#5293)
kulshekhar/ts-jest
v28.0.3
Bug Fixes
v28.0.2
Bug Fixes
v28.0.1
Bug Fixes
v28.0.0
Bug Fixes
Features
- presets: add presets for legacy mode (#3465) (543b4ad)
- mark
ConfigSet
as legacy (#3456) (a986729) - mark
TsCompiler
andTsJestCompiler
as legacy (#3457) (0f2fe30) - remove
path-mapping
AST transformer (#3455) (f566869) - set Jest peer dependencies to v28 (#3454) (1e880ff)
- core: drop support for Node.js 10 (#3332) (7a9aa61)
-
core: remove
mocked
testing util (#3333) (2d9017d) -
core: remove
ts-jest/utils
sub path export (#3334) (9f253d3) - mark
TsJestTransformer
as legacy (#3451) (b090179)
BREAKING CHANGES
-
path-mapping
AST transformer is no longer shipped ints-jest
v28. Please use an alternative one like https://github.com/LeDDGroup/typescript-transform-paths instead. - Any imports
ts-jest/dist/compiler/ts-compiler
should change tots-jest/dist/legacy/compiler/ts-compiler
- Any imports
ts-jest/dist/compiler/ts-jest-compiler
should change tots-jest/dist/legacy/compiler/ts-jest-compiler
- Any imports
ts-jest/dist/config/config-set
should change tots-jest/dist/legacy/config/config-set
- Minimum support
TypeScript
version is now 4.3 since Jest 28 requires it. - Jest 28 is required.
-
core: Any imports
ts-jest/utils
should be replaced withts-jest
. -
core: Starting from Jest 27.4,
mocked
has been integrated into Jest repo. - core: Support for Node.js v10 has been removed as Jest drops support for it.
27.1.5 (2022-05-17)
Bug Fixes
27.1.4 (2022-03-24)
Bug Fixes
- compiler: revert #3194 (#3362) (2b7dffe), closes #3272
- remove
esbuild
from peer dependency (#3360) (8c8c1ca), closes #3346 - support Babel config file with
.cjs
extension (#3361) (5e5ac4a), closes #3335
27.1.3 (2022-01-14)
Bug Fixes
27.1.2 (2021-12-15)
Bug Fixes
27.1.1 (2021-12-07)
Bug Fixes
- bring back
afterProcess
hook (#3132) (2b6b86e) - make
esbuild
as optional peer dependency (#3129) (20258de)
v27.1.5
Bug Fixes
v27.1.4
Bug Fixes
- compiler: revert #3194 (#3362) (2b7dffe), closes #3272
- remove
esbuild
from peer dependency (#3360) (8c8c1ca), closes #3346 - support Babel config file with
.cjs
extension (#3361) (5e5ac4a), closes #3335
v27.1.3
Bug Fixes
v27.1.2
Bug Fixes
v27.1.1
Bug Fixes
- bring back
afterProcess
hook (#3132) (2b6b86e) - make
esbuild
as optional peer dependency (#3129) (20258de)
v27.1.0
Features
- allow subclasses to extend
processAsync
andgetCacheKeyAsync
(#3047) (571a880) - config: support custom AST transformers written in TypeScript (#3063) (340a305), closes #2831
- export
ts-jest
public apis fromindex.js
(#3080) (53175dd), closes #3045
Code Refactoring
-
utils: deprecate
mocked
util function (#3102) (55e69f1) - define clear type for
compiler
option (#3087) (cc42daf) -
transformers: deprecate
path-mapping
AST transformer (#3088) (d8f6b96) -
transformers: use ts
factory
API forhoisting
AST transformer (#3058) (a72f51d)
DEMRECATIONS
-
transformers:
path-mapping
AST transformer is deprecated and will be removed in v28.0.0. One should use an alternative one like https://github.com/LeDDGroup/typescript-transform-paths instead. -
utils:
mocked
function is deprecated and will be removed in v28.0.0. The function has been integrated intojest-mock
package as a part of Jest 27.4.0, see https://github.com/facebook/jest/pull/12089. One should use the one from Jest instead
27.0.7 (2021-10-16)
Bug Fixes
27.0.6 (2021-10-14)
Bug Fixes
27.0.5 (2021-08-14)
Bug Fixes
-
cli: add migration
tsConfig
option forts-jest
config options (#2794) (781710b), closes #2764 -
cli: fix
config:init
genarate invalid type comment (#2773) (ede8a20), closes #2772 -
config: handle
./
in tsconfigpaths
forpathsToModuleNameMapper
(#2797) (42ff5e4), closes #2709
Code Refactoring
27.0.4 (2021-07-21)
Bug Fixes
- add
@types/jest
as optionalpeerDependencies
to solve yarn 2 (#2756) (5fbf43e) - add
babel-jest
as optionalpeerDependencies
to solve yarn 2 (#2751) (8bede2e) -
config: include AST transformer's
name
andversion
into cache key (#2755) (310fb9a), closes #2753
Features
- link jest config types on
npx ts-jest:init
(#2742) (f51ba05) - set env var
TS_JEST
to allow detecting ofts-jest
(#2717) (56c137a), closes #2716
27.0.3 (2021-06-06)
Bug Fixes
Features
27.0.2 (2021-05-30)
Bug Fixes
- compiler: add empty string file content to compiler cache (#2633) (0feb556), closes #2625
-
config:
exclude
should only exclude files which match glob values (#2637) (c5ce979), closes #2634
27.0.1 (2021-05-26)
Bug Fixes
-
cli: keep
testMatch
if old jest config contains it (#2618) (c568f49), closes #2616 -
compiler: make sure
isolatedModules: false
use updated compiler options (#2628) (348e30f), closes #2629 - add missing export
presets
(#2624) (0ea025e), closes #2623
v27.0.7
Bug Fixes
v27.0.6
Bug Fixes
v27.0.5
Bug Fixes
-
cli: add migration
tsConfig
option forts-jest
config options (#2794) (781710b), closes #2764 -
cli: fix
config:init
genarate invalid type comment (#2773) (ede8a20), closes #2772 -
config: handle
./
in tsconfigpaths
forpathsToModuleNameMapper
(#2797) (42ff5e4), closes #2709
Code Refactoring
v27.0.4
Bug Fixes
- add
@types/jest
as optionalpeerDependencies
to solve yarn 2 (#2756) (5fbf43e) - add
babel-jest
as optionalpeerDependencies
to solve yarn 2 (#2751) (8bede2e) -
config: include AST transformer's
name
andversion
into cache key (#2755) (310fb9a), closes #2753
Features
- link jest config types on
npx ts-jest:init
(#2742) (f51ba05) - set env var
TS_JEST
to allow detecting ofts-jest
(#2717) (56c137a), closes #2716
v27.0.3
Bug Fixes
Features
v27.0.2
Bug Fixes
- compiler: add empty string file content to compiler cache (#2633) (0feb556), closes #2625
-
config:
exclude
should only exclude files which match glob values (#2637) (c5ce979), closes #2634
v27.0.1
Bug Fixes
-
cli: keep
testMatch
if old jest config contains it (#2618) (c568f49), closes #2616 -
compiler: make sure
isolatedModules: false
use updated compiler options (#2628) (348e30f), closes #2629 - add missing export
presets
(#2624) (0ea025e), closes #2623
v27.0.0
Bug Fixes
- compiler: return file content on emitSkipped for non ts/tsx files (#2519) (a4e5640), closes #2513
- compiler: retype check other files if processing file is used by those ones in watch mode (#2481) (ac8f3d0), closes #943
-
compiler: initialize compiler with
.ts
/.tsx
/.d.ts
files only (#2458) (a89f0e2), closes #2445 - compiler: resolve nested imported modules for each processing file (#2436) (3cb9019), closes #1390 #1747
-
config: create fallback jest config when jest config is
undefined
(#2433) (c6d6e4c), closes #2085 - remove
@types/jest
from direct dep (#2409) (8913120), closes #2406 #2411 - compiler: return original file content and show warning on emit skip (#2410) (c2b2164), closes #2407
- compiler: type check correctly in watch mode when a file content itself has changed (#2405) (064bf3a), closes #2118
-
compiler: exclude files in
outDir
from compiler source files (#2375) (ec68c74), closes #2350 #2374 - config: cache config and compiler correctly between runs (#2356) (5f91336)
- config: improve emit skipped error message (#2358) (2ae8df4), closes #2350
-
typings: set correct typing for
tsconfig
option (#2383) (584324a), closes #2368 -
config: invalidate Jest transform cache when
astTransformers
value changes (#2345) (d726016) - reduce size of
node_modules
when addingts-jest
(#2263) (8e0675c)
Features
- config: allow disable sourcemap (#2544) (47da6ad)
-
compiler: expose
TsCompiler
as public api (#2344) (871cd6a) - config: support typed config options for jest config typescript (#2335) (3cfc37b)
-
presets: add typing for
presets
entry point (#2337) (1a3058f) -
compiler: allow custom transformers to access internal
Program
(#2299) (387964f) -
config: replace
pathRegex
withexclude
(#2295) (f2f99c3) -
config: type checking
js
files based oncheckJs
(#2283) (1e04433) -
compiler: support ESM for
isolatedModules: false
(#2269) (9bb0c05), closes #1709 -
compiler: support ESM for
isolatedModule: true
(#2219) (e101db0), closes #1709 - presets: add 3 new presets to work with ESM (#2207) (c277858)
- allow subclasses of
TsJestTransformer
to have version checking (#2176) (ca8d7c4)
Performance Improvements
Code Refactoring
-
config: remove support for
astTransformers
string array (#2129) (1e0b2ce) -
config: remove support for
packageJson
option (#2128) (05916b9) - move jest transformer class to package entry (#2122) (5bbfd06)
-
config: remove support for
tsConfig
option (#2127) (3cc9b80)
BREAKING CHANGES
- By default,
ts-jest
will usesourceMap
option from yourtsconfig
. If users want to have sourcemap on, they need to setsourceMap: true
intsconfig
. - follow Jest support Node engines (#2478) (1fecf7f)
- add
exports
field topackage.json
, see https://nodejs.org/api/packages.html#packages_package_entry_points (#2467) (d3aba3e) -
ts-jest
custom AST transformer function signature has changed to
import type { TsCompilerInstance } from 'ts-jest/dist/types'
export function factory(compilerInstance: TsCompilerInstance) {
//...
}
- One is currently using
pathRegex
should useexclude
withglob
patterns. - If one currently relies on type check for
js
files, please setcheckJs: true
in your tsconfig. - Now both
isolatedModules: true
andisolatedModule: false
codes are in one single classTsCompiler
which is an instance created inTsJestCompiler
based on config optioncompiler
with valuetypescript
orttypescript
. -
config:
packageJson
config option is not used in internalts-jest
so this option is now removed. -
config: One is defining ast transformers in
jest.config.js
/package.json
should change to
// jest.config.js
module.exports = {
//...
globals: {
'ts-jest': {
astTransformers: {
before: ['your_before_transformer_path'],
after: ['your_after_transformer_path'],
afterDeclarations: ['your_afterDeclarations_transformer_path'],
}
}
}
}
or
// package.json
{
"jest": {
"globals": {
"ts-jest": {
"astTransformers": {
"before": ["your_before_transformer_path"],
"after": ["your_after_transformer_path"],
"afterDeclarations": ["your_afterDeclarations_transformer_path"]
}
}
}
}
}
- One currently refers type in
jest.config.js
/** @​typedef {import('ts-jest')} */
module.exports = {
//...
}
should change to
/** @​typedef {import('ts-jest/dist/types')} */
module.exports = {
//...
}
- Remove possibilities to import
mocked
,createJestPreset
,pathsToModuleNameMapper
from package entry. One should change to
import { mocked, createJestPreset, pathsToModuleNameMapper } from 'ts-jest/utils'
-
config: One currently uses
tsConfig
should change totsconfig
in yourjest.config.js
orpackage.json
.
26.5.6 (2021-05-05)
Code Refactoring
TypeStrong/ts-node
v10.8.0
Questions about this release? Ask in the official discussion thread: #1767
Added
- Added support for
module=NodeNext
,module=Node16
,.mts
,.cts
,.mjs
, and.cjs
file extensions (#1414, #1694, #1744, #1745, #1727, #1717, #1753, #1757) @cspotcode- For best results, enable
experimentalResolver
(docs) - See TypeScript's official documentation: https://www.typescriptlang.org/docs/handbook/esm-node.html
- enables mixed-mode projects with both ESM and CommonJS
- enables all supported file extensions in TypeScript 4.7
- Obeys package.json "type"
- For best results, enable
- Added ability to include file extensions in CommonJS imports (#1727, #1753) @cspotcode
- Enables consistency with ESM, where file extensions are often mandatory
- Resolves from emitted to source file extensions (#1727, #1753) @cspotcode
- Must enable
experimentalResolver
, will be enabled by default in a future version (docs) - Typechecker requires importing the emitted file extension; ts-node resolves correctly to the source file. E.g.
import "./foo.js"
will executefoo.ts
See also: TypeScript issue #37582 - If typechecking is disabled, you can also use source file extensions. E.g.
import "./foo.ts"
- Must enable
- Added
experimentalSpecifierResolution
(#1727, #1753) @cspotcode- the same as Node's
--experimental-specifier-resolution
(Node docs) - can also be specified in
tsconfig.json
for convenience, to avoid the CLI flag - allows omitting file extensions in ESM imports, plus a few other CommonJS-style conveniences
- the same as Node's
- Adds
diagnostics
property toTSError
, with array of TypeScript diagnostic objects from the compiler (API docs) (#1705, #1706) @paulbrimicombe
Changed
- Renames option
experimentalResolverFeatures
toexperimentalResolver
(docs) (#1727) @cspotcode - Internal change to ESM loader for compatibility with forthcoming node versions: returns
shortCircuit: true
(#1714, #1715) @cspotcode - Performance: Optimize filesystem stat calls in ESM loader and new CommonJS resolver (#1758, #1759) @cspotcode
- Performance, maintenance: Upgrade source-mapper dependency "@cspotcode/source-map-support"
- Switches to "trace-mapping" for underlying source-map parsing (#1729) @cspotcode
Fixed
- Fixed bug where REPL
.type
command was not showing any type information when using TypeScript nightly builds (#1761, #1762) @cspotcode - Correctly suppress "Custom ESM Loaders" warning on newer node versions where the warning's prose changed (#1701) @cspotcode
- Fixed REPL bug where function signatures could not be entered across multiple lines (#1667, #1677) @d9k
- REPL treats unparenthesized object literals as objects, instead of as block scopes (#1697, #1699) @jhmaster2000
- Fixed bug where
preferTsExts
combined with third-party transpiler hooks could disruptnyc
code coverage (#1755) @cspotcode - Fixed bug where
file://
URLs in stack traces did not always use percent-encoding (#1738, #1726, #1729) @cspotcode - Fixed bug where v8-compile-cache-lib did not correctly unhook itself (#1717, #1718, #1719) @cspotcode
- This internal dependency is used to speed up loading the TypeScript compiler
Docs
- Many docs improvements (#1682) @cspotcode
- Options page: each option its own linkable header w/usage example (#1606) @cspotcode
- Categorize APIs in typedoc, make entrypoints more prominent (#1456) @cspotcode
- Clarify that the shorthand for
--project
is-P
, not-p
(#1731, #1734) @lobsterkatie - Add common ESM errors to Troubleshooting page (#1607) @cspotcode
https://github.com/TypeStrong/ts-node/milestone/12
v10.7.0
Questions about this release? Ask in the official discussion thread: #1680
Added
- Adds
--esm
flag, option, andts-node-esm
binary (#1258, #1655)- Enables full
esm
support; no need for--loader
norNODE_OPTIONS
- Use shebang
#!/usr/bin/env ts-node-esm
, runts-node --esm
, or add to your tsconfig.json:"ts-node": {"esm": true}
- Enables full
Changed
- Unflag ESM json modules on node >=17.5.0 (#1661, #1665) @Jamesernator
- no longer requires
--experimental-json-modules
- no longer requires
- Lazy-load dependencies to improve startup responsiveness. (#1676)
Fixed
- Fixed bug where "compiler", "transpiler", and swc backend would not resolve relative to the tsconfig.json that declared them (#1662, #1655)
- Enables reusable tsconfig.json shared via node module to include necessary dependencies
https://github.com/TypeStrong/ts-node/milestone/11
v10.6.0
Questions about this release? Ask in the official discussion thread: #1666
Added
- Adds workaround for extensionless entrypoints with ESM loader (#1649, #1654)
- You can now combine tools such as
mocha
with--loader ts-node/esm
, where previously node would throw[ERR_UNKNOWN_FILE_EXTENSION]
- node has a bug where combining
--loader
with an extensionless entrypoint causes this error nodejs/node#33226 - Some tools, for example
mocha
, have an extensionless entrypoint. (source, source) - Combining
NODE_OPTIONS=--loader ts-node/esm
with these tools causes this error. mochajs/mocha#4645 - node intends to fix this bug in a future release: nodejs/node#41711
- In the interim, we have implemented a workaround in ts-node.
- You can now combine tools such as
- Adds support for target "ES2022" in
moduleTypes
overrides (#1650)
Fixed
- Fixed bug where
--swc
and other third-party transpilers did not respectmoduleTypes
overrides (#1651, #1652, #1660) - Fixed bug where node flags were not preserved correctly in
process.execArgv
(#1657, #1658)- This affected
child_process.fork()
, since it usesprocess.execArgv
to create a similar child runtime. - With this fix,
child_process.fork()
will preserve both node flags andts-node
hooks.
- This affected
- Fixed compatibility TypeScript 4.7's API changes (#1647, #1648)
https://github.com/TypeStrong/ts-node/milestone/9
v10.5.0
Questions about this release? Ask in the official discussion thread: #1634
Added
- Eliminate "Emit Skipped" errors (#693, #1345, #1629)
- Avoids all "Emit Skipped" errors by performing a fallback
transpileOnly
-style transformation. - Does not affect typechecking. Type errors are still detected and thrown.
- Fallback has the same limitations as
isolatedModules
. This will only affect rare cases such as usingconst enums
withpreserveConstEnums
disabled. - Fixes #693
- Avoids all "Emit Skipped" errors by performing a fallback
- Graduate swc transpiler out of experimental; add
swc: true
convenience option (docs) (#1487, #1536, #1613, #1627)-
"swc": true
or--swc
will use swc for faster execution - This feature is no longer marked "experimental." Thank you to everyone who filed bugs!
-
- swc transpiler attempts to load
@swc/core
or@swc/wasm
dependencies from your project before falling-back to global installations (#1613, #1627)- global fallback only occurs when using a global installation of ts-node
- Add support for TypeScript's
traceResolution
output (docs) (#1128, #1491) @TheUnlocked - Support import assertions in ESM loader (docs) (#1557, #1558, #1559, #1573) @Pokute, @geigerzaehler
- Allows importing JSON files from ESM with the requisite flag (docs)
-
ts-node -vvv
also logs absolute paths tots-node
andtypescript
, to make it more obvious when you're accidentally using globally-installed versions (#1323, #1620) - Add swc target "es2022" (#1535, #1540)
- When you have target es2022 in tsconfig, will use swc's es2022 target
Changed
- Initialize TypeScript compiler before starting REPL prompt (#1498) @TheUnlocked
- Improves responsiveness for first line of REPL input
- Use
v8-compile-cache-lib
to load typescript - Support both
--camelCase
and--hyphen-case
for all CLI flags; update documentation to use--camelCase
(#1598, #1599)- Not a breaking change; CLI continues to accept both forms
- Make
TSError
diagnosticText
property non-enumerable to prevent it from being logged below the stack (#1632)
Fixed
- Fix #1538: REPL inputs fail to transpile via swc (#1538, #1541, #1602)
- Fix #1478: REPL erroneously logged
undefined
for all inputs after the first when using swc transpiler (#1478, #1580, #1602) - Fix #1389: In
--showConfig
output, emit accuratemoduleTypes
paths resolved relative to thetsconfig.json
which declared them (#1389, #1619) - Fix: Remove indentation from
ts-node --help
output (#1597, #1600) - Fix #1425: Merged definitions correctly into
tsconfig.schemastore-schema.json
(#1425, #1618) - Fix: Allow disabling
"use strict"
emit in SWC transpiler (#1531, #1537) - Fix: Add missing
ERR_UNKNOWN_FILE_EXTENSION
constructor; was throwingERR_UNKNOWN_FILE_EXTENSION is not a constructor
(#1562) @bluelovers - Fix #1565: entrypoint resolution failed on node v12.0.x and v12.1.x (#1565, #1566) @davidmurdoch
Docs
- Explain
env -S
flag for shebangs (docs) (#1448, #1545) @sheeit, @chee - Suggest
skipIgnore
when you want to compile files in node_modules (docs) (#1553) @webstrand - Fix typo in
moduleTypes
on options page (docs) (#1630, #1633)
Misc
- Adds experimental
experimentalResolverFeatures
option, but it does not do anything yet (#1514, #1614)
https://github.com/TypeStrong/ts-node/milestone/4
v10.4.0
Added
- Adds support for targets "es2020" and "es2021" to swc transpiler (#1521)
- Adds automatic target downgrade when using older versions of swc (#1521)
- If tsconfig specifies es2020, but your version of swc only supports up to es2019, ts-node will automatically switch to es2019 instead of throwing an error
Changed
Fixed
https://github.com/TypeStrong/ts-node/milestone/8
v10.3.1
Fixed
- Add version check to use new loader hooks API for node >=16.12.0 (#1522) @shrujalshah28
https://github.com/TypeStrong/ts-node/milestone/7
v10.3.0
Questions about this release? Ask in the official discussion thread: #1507
Added
- Declare types for node builtin modules within REPL so you do not need to import them (#1424, #1500)
- Node REPL exposes builtin modules as globals; typechecker now understands this
- Typechecking should no longer raise errors when using builtins without first importing
- For example:
util.promisify(setTimeout)(1000)
orfs.readFileSync('example.txt')
- Add
createEsmHooks()
function to create ESM loader hooks (API docs) (#1439) @nonara- Can be used to compose our loader hooks with another loader or additional logic
-
register()
accepts a ts-nodeService
(API docs) (#1474)-
register(options)
is still supported; no breaking changes
-
- Add support for Node.js's new loader hooks API (#1372, #1457, #1007) @jonaskello
- Node.js has changed their loader hooks API
- ts-node is compatible with all node versions, detects your node version and exposes the correct hooks API
- Node's new API currently only available in node v17 nightly builds
- Node will eventually backport the changes to node 16, and may also be backport to 14 and 12
- Add
--emit
to--help
output (#1400, #1484) @markbradley27
Changed
- When ts-node is registered and other libraries
require('source-map-support')
, they will be redirected to@cspotcode/source-map-support
- See complete description in Fixed section below
Fixed
- Fix #1440, #1441, #1438, #1495: Incorrect stack traces when third-party libraries use
source-map-support
instead of@cspotcode/source-map-support
(#1440, #1441, #1438, #1495, cspotcode/node-source-map-support#23, #1496, #1497) @ejose19- When ts-node is registered and other libraries
require('source-map-support')
, they will be redirected to@cspotcode/source-map-support
- ts-node uses
@cspotcode/source-map-support
for the fixes and enhancements listed here:@cspotcode/source-map-support
changelog - To ensure correct stack traces, all libraries must share a compatible sourcemap support implementation
- When ts-node is registered and other libraries
- Fix #1363: REPL may erroneously combine previous input with next input, eval both as a single statement (#1363, #1480) @TheUnlocked
- For example, entering
100
on first line and* 2
on second line would erronously be interpreted as100 * 2
- REPL now ensures both lines are separate statements, both when typechecking and when evaluating
- For example, entering
- Fix #1488: Node may log "circular dependency" warning when using
allowJs
(#1488, #1489) - Fix #1301: Filter empty strings from
TS_NODE_IGNORE
andTS_NODE_IGNORE_DIAGNOSTICS
; treat empty environment variable as empty array (#1301, #1483) @ValeriaVG-
TS_NODE_IGNORE= ts-node ./example.ts
will disable default ignore rules; will compile files in./node_modules
-
Docs
- Update VSCode debug configuration (Docs) (#1466)
- Update ESM-related messaging to clarify that experimental status is due to Node.js, not ts-node (#1455)
- Refer to ts-node consistently (#1481) @animafps
https://github.com/TypeStrong/ts-node/milestone/5
v10.2.1
Fixed
- Fixes #1426: Do not import typescript outside of configuration/project loading (#1433, #1426) @Songkeys
- We take care to load your project's version of typescript, falling back to a globally-installed version if necessary.
- 10.2.0 introduced a bug where we did not do this consistently, causing global or npx installations of ts-node to attempt loading typescript relative to themselves, not your project.
- This failed if typescript was not globally installed or npx did not install peer dependencies.
Microsoft/TypeScript
v4.7.2
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
- fixed issues query for Typescript 4.7.0 (Beta).
- fixed issues query for Typescript 4.7.1 (RC).
- fixed issues query for Typescript 4.7.2 (Stable).
Downloads are available on:
v4.6.4
This release includes a bug fix for text formatting on certain ranges, which was impacting Visual Studio users.
For the complete list of fixed issues, check out the
- fixed issues query for Typescript 4.6.0 (Beta).
- fixed issues query for Typescript 4.6.1 (RC).
- fixed issues query for Typescript 4.6.2 (Stable).
- fixed issues query for Typescript 4.6.3 (Stable).
- fixed issues query for Typescript 4.6.4 (Stable).
Downloads are available on:
v4.6.3
This release includes fixes for
- an incremental parsing bug caused by faulty error recovery logic
- improved results from the TypeScript API's
preProcessFile
function
For the complete list of fixed issues, check out the
- fixed issues query for Typescript 4.6.0 (Beta).
- fixed issues query for Typescript 4.6.1 (RC).
- fixed issues query for Typescript 4.6.2 (Stable).
- fixed issues query for Typescript 4.6.3 (Stable).
Downloads are available on:
v4.6.2
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
- fixed issues query for Typescript 4.6.0 (Beta).
- fixed issues query for Typescript 4.6.1 (RC).
- fixed issues query for Typescript 4.6.2 (Stable).
Downloads are available on:
v4.5.5
This patch release includes a number of fixes to language service crashes and assertion violations, along with improvements to JSX attribute snippets.
For the complete list of fixed issues, check out the
- fixed issues query for Typescript 4.5.0 (Beta).
- fixed issues query for Typescript 4.5.1 (RC).
- fixed issues query for Typescript 4.5.2 (Stable).
- fixed issues query for Typescript 4.5.3 (Stable).
- fixed issues query for Typescript 4.5.4 (Stable).
- fixed issues query for Typescript 4.5.5 (Stable).
Downloads are available on:
v4.5.4
This patch release includes a fix for incorrectly offering up JSX attribute snippet completions at the beginning of a tag name.
For the complete list of fixed issues, check out the
- fixed issues query for Typescript 4.5.0 (Beta).
- fixed issues query for Typescript 4.5.1 (RC).
- fixed issues query for Typescript 4.5.2 (Stable).
- fixed issues query for Typescript 4.5.3 (Stable).
Downloads are available on:
v4.5.3
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
- fixed issues query for Typescript 4.5.0 (Beta).
- fixed issues query for Typescript 4.5.1 (RC).
- fixed issues query for Typescript 4.5.2 (Stable).
- fixed issues query for Typescript 4.5.3 (Stable).
Downloads are available on:
v4.5.2
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
- fixed issues query for Typescript 4.5.0 (Beta).
- fixed issues query for Typescript 4.5.1 (RC).
- fixed issues query for Typescript 4.5.1 (Stable).
Downloads are available on:
v4.4.4
This patch release contains fixes for a performance regression in --build
mode by only calling realpath
on package.json
files only when those files are known to exist on disk, and to only perform this work under --watch
mode.
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
- fixed issues query for Typescript 4.4.0 (Beta).
- fixed issues query for Typescript 4.4.1 (RC).
- fixed issues query for Typescript 4.4.2.
- fixed issues query for Typescript 4.4.3.
- fixed issues query for Typescript 4.4.4.
Downloads are available on:
v4.4.3
This patch release contains a fix for leaking file watchers on package.json
, and a minor fix for completions in JavaScript files.
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
- fixed issues query for Typescript 4.4.0 (Beta).
- fixed issues query for Typescript 4.4.1 (RC).
- fixed issues query for Typescript 4.4.2.
- fixed issues query for Typescript 4.4.3.
Downloads are available on:
v4.4.2
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
- fixed issues query for Typescript 4.4.0 (Beta).
- fixed issues query for Typescript 4.4.1 (RC).
- fixed issues query for Typescript 4.4.2.
Downloads are available on:
validatorjs/validator.js
v13.7.0
New Features
New Features
Fixes and Enhancements
-
#1647
isFQDN
: addallow_wildcard
option @fasenderos -
#1654
isRFC3339
: Disallow prepended and appended strings to RFC 3339 date-time @jmacmahon - #1658 maintenance: increase code coverage @tux-tn
-
#1669
IBAN
export list of country codes that implement IBAN @dror-heller @fedeci -
#1676
isBoolean
: addloose
option @brybrophy - #1697 maintenance: fix npm installation error @rubiin
-
#1708
isISO31661Alpha3
: perf @jpaya17 -
#1711
isDate
: allow users to strictly validate dates with.
as delimiter @flymans -
#1715
isCreditCard
: fix for Union Pay cards @shreyassai123 -
#1718
isEmail
: replace all dots in GMail length validation @DasDingGehtNicht -
#1721
isURL
: addallow_fragments
andallow_query_components
@cowboy-bebug -
#1724
isISO31661Alpha2
: perf @jpaya17 -
#1730
isMagnetURI
@tux-tn -
#1738
rtrim
: remove regex to prevent ReDOS attack @tux-tn - #1747 maintenance: run scripts in parallel for build and clean @sachinraja
-
#1748
isURL
: higher priority towhitelist
@deepanshu2506 -
#1751
isURL
: allow url with colon and no port @MatteoPierro -
#1777
isUUID
: fix fornull
version argument @theteladras -
#1799
isFQDN
: check more special chars @MatteoPierro -
#1833
isURL
: allow URL with an empty user @MiguelSavignano -
#1835
unescape
: fixed bug where intermediate string contains escaped @Marcholio -
#1836
contains
: can check that string contains seed multiple times @Marcholio - #1844 docs: add CDN instructions @luiscobits
-
#1848
isUUID
: add support for validation ofv1
andv2
@theteladras -
#1941
isEmail
: addhost_blacklist
option @fedeci
New and Improved Locales
-
isAlpha
,isAlphanumeric
:-
#1716
hi-IN
@MiKr13 -
#1837
fi-FI
@Marcholio
-
#1716
-
isPassportNumber
:-
#1656
ID
@rubiin -
#1714
CN
@anirudhgiri -
#1809
PL
@Ronqn -
#1810
RU
@Theta-Dev
-
#1656
-
isPostalCode
: -
isIdentityCard
: -
isMobilePhone
:-
#1679
de-DE
@AnnaMariaJansen -
#1689
vi-VN
@luisrivas -
#1695 #1682
zh-CN
@laulujan @yisibl -
#1734
es-VE
@islasjuanp -
#1746
nl-BE
@divikshrivastava -
#1765
es-CU
@pasagedev -
#1766
es-SV
, @hereje -
#1767
ar-PS
, @brendan-c -
#1769
en-BM
@HackProAIT -
#1770
dz-BT
@lakshayr003 -
#1771
en-BW
, @mgndolan -
#1772
fr-CM
@beckettnormington -
#1778
en-PK
@ammad20120 @tux-tn -
#1780
tk-TM
, @Husan-Eshonqulov -
#1784
en-GY
, @mfkrause -
#1785
si-LK
@Madhavi96 -
#1797
fr-PF
, @hereje -
#1820
en-KI
, @c-tanner -
#1826
hu-HU
@danielTiringer -
#1834
fr-BF
,en-NA
@lakshayr003 -
#1846
tg-TJ
@mgnss
-
#1679
-
isLicensePlate
:-
#1565
cs-CZ
@filiptronicek -
#1790
fi-FI
@Marcholio
-
#1565
-
isVAT
:
13.6.1
-
New features:
-
Fixes and Enhancements:
-
#1651 fix ReDOS vulnerabilities in
isHSL
andisEmail
@tux-tn -
#1644
isURL
: Allow URLs to have only a username in the userinfo subcomponent @jbuchmann-coosto -
#1633
isISIN
: optimization @bmacnaughton -
#1632
isIP
: improved pattern for IPv4 and IPv6 @ognjenjevremovic -
#1625 fix
[A-z]
regex range on some validators @bmacnaughton - #1620 fix docs @prahaladbelavadi
-
#1616
isMacAddress
: improve regexes and options @fedeci -
#1603 fix ReDOS vulnerabilities in
isSlug
andrtrim
@fedeci -
#1594
isIMRange
: add support for IPv6 @neilime -
#1577
isEAN
: add support for EAN-14 @varsubham @tux-tn -
#1566
isStrongPassword
: add@
as a valid symbol @stingalleman -
#1548
isBtcAddress
: add base58 @ezkemboi -
#1546
isFQDN
: numeric domain names @tux-tn
-
#1651 fix ReDOS vulnerabilities in
-
New and Improved locales:
-
isIdentityCard
,isPassportNumber
:-
#1595
IR
@mhf-ir @fedeci -
#1583
ar-LY
@asghaier76 @tux-tn -
#1574
MY
@stranger26 @tux-tn
-
#1595
-
isMobilePhone
:-
#1642
zh-CN
@Akira0705 -
#1638
lv-LV
@AntonLukichev -
#1635
en-GH
@ankorGH -
#1604
mz-MZ
@salmento @tux-tn -
#1575
vi-VN
@kyled7 -
#1573
en-SG
@liliwei25 -
#1554
de-CH
,fr-CH
,it-CH
@dinfekted -
#1541 #1623
es-CO
@ezkemboi @tux-tn -
#1506
ar-OM
@dev-sna -
#1505
pt-AO
@AdilsonFuxe
-
#1642
-
isPostalCode
: -
isTaxID
:-
#1613
pt-BR
@mschunke -
#1529
el-GR
@dspinellis
-
#1613
-
isVAT
:
-
13.5.0 13.5.1
-
New features:
-
isVAT
#1463 @ CodingNagger -
isTaxID
#1446 @tplessas -
isBase58
#1445 @ezkemboi -
isStrongPassword
#1348 @door-bell
-
-
Fixes and Enhancements:
-
#1486
isISO8601
: addstrictSeparator
@brostone51 -
#1474
isFQDN
: make more strict @CristhianMotoche -
#1469
isFQDN
:allow_underscore
option @gibson042 -
#1449
isEmail
: character blacklisting @rubiin -
#1436
isURL
: addedrequire_port
option @yshanli -
#1435
isEmail
: respectignore_max_length
option @evantahler -
#1402
isDate
: add strictMode and prevent mixed delimiters @tux-tn -
#1286
isAlpha
: supportignore
option @mum-never-proud
-
#1486
-
New and Improved locales:
-
isAlpha
,isAlphanumeric
: -
isMobilePhone
:-
#1521
ar-MA
@artpumpkin -
#1492
de-LU
,it-SM
,sq-AL
andga-IE
@firlus -
#1487
en-HN
@jehielmartinez -
#1473
ar-LB
,es-PE
,ka-GE
@rubiin -
#1470
es-DO
@devrasec -
#1460
es-BO
@rubiin -
#1444
es-AR
@csrgt -
#1407
pt-BR
@viniciushvsilva
-
#1521
-
isPostalCode
:-
#1534
CN
@httpsbao -
#1515
IR
@masoudDaliriyan -
#1502
SG
,MY
@stranger26 -
#1480
TH
@ipiranhaa -
#1459
BY
@rubiin -
#1456
DO
andHT
@yomed
-
#1534
-
isPassportNumber
:-
#1468
BY
@zenby -
#1467
RU
@dkochetkov
-
#1468
-
— this release is dedicated to @dbnandaa 🧒
13.1.17
-
New features:
- None
-
Fixes and chores:
-
#1425 fix validation for userinfo part for
isURL
@heanzyzabala -
#1419 fix
isBase32
andisBase64
to validate empty strings properly @AberDerBart -
#1408 tests for
isTaxId
@dspinellis -
#1397 added
validate_length
option forisURL
@tomgrossman - #1383 #1428 doc typos @0xflotus @timgates42
- #1376 add missing tests and switch to Coverall @tux-tn
- #1373 improve code coverage @ezkemboi
- #1357 add Node v6 on build pipeline @profnandaa
-
#1425 fix validation for userinfo part for
-
New and Improved locales:
-
isMobilePhone
:-
#1439
az-AZ
@saidfagan -
#1420
uz-Uz
@icyice0217 -
#1391
de-DE
@heanzyzabala -
#1388
en-PH
@stinkymonkeyph -
#1370
es-ES
@rubiin -
#1356
bs-BA
@MladenZeljic -
#1303
zh-CN
@heathcliff-hu
-
#1439
-
isPostalCode
: -
isAlpha
,isAlphanumeric
:-
#1411
fa-AF
,fa-IR
@stinkymonkeyph -
#1371
vi-VN
@rubiin
-
#1411
-
isBAN
:-
#1394
EG
,SV
@heanzyzabala
-
#1394
-
isIdentityCard
:
-
13.1.1
- Hotfix for a regex incompatibility in some browsers (#1355
13.1.0
- Added an
isIMEI()
validator (#1346) - Added an
isDate()
validator (#1270) - Added an
isTaxID()
validator (#1336) - Added DMS support to
isLatLong()
(#1340) - Added support for URL-safe base64 validation (#1277)
- Added support for primitives in
isJSON()
(#1328) - Added support for case-insensitive matching to
contains()
(#1334) - Support additional cards in
isCreditCard()
(#1177) - Support additional currencies in
isCurrency()
(#1306) - Fixed
isFQDN()
handling of certain special chars (#1091) - Fixed a bug in
isSlug()
(#1338) - New and improved locales (#1112, #1167, #1198, #1199, #1273, #1279, #1281, #1293, #1294, #1311, #1312, #1313, #1314, #1315, #1317, #1322, #1324, #1330, #1337)
13.0.0
- Added
isEthereumAddress()
validator to validate Ethereum addresses (#1117) - Added
isBtcAddress()
validator to validate Bitcoin addresses (#1163) - Added
isIBAN()
validator to validate International Bank Account Numbers (#1243) - Added
isEAN()
validator to validate International Article Numbers (#1244) - Added
isSemVer()
validator to validate Semantic Version Numbers (#1246) - Added
isPassportNumber()
validator (#1250) - Added
isRgbColor()
validator (#1141) - Added
isHSL()
validator (#1159) - Added
isLocale()
validator (#1072) - Improved the
isIP()
validator (#1211) - Improved the
isMACAddress()
validator (#1267) - New and improved locales (#1238, #1265)
12.2.0
- Support CSS Colors Level 4 spec (#1233)
- Improve the
toFloat()
sanitizer (#1227) - New and improved locales (#1200, #1207, #1213, #1217, #1234)
12.1.0
- ES module for webpack tree shaking (#1015)
- Updated
isIP()
to accept scoped IPv6 addresses (#1160) - New and improved locales (#1162, #1183, #1187, #1191)
12.0.0
- Added
isOctal()
validator (#1153) - Added
isSlug()
validator (#1096) - Added
isBIC()
validator for bank identification codes (#1071) - Allow uppercase chars in
isHash()
(#1062) - Allow additional prefixes in
isHexadecimal()
(#1147) - Allow additional separators in
isMACAddress()
(#1065) - Better defaults for
isLength()
(#1070) - Bug fixes (#1074)
- New and improved locales (#1059, #1060, #1069, #1073, #1082, #1092, #1121, #1125, #1132, #1152, #1165, #1166, #1174)
11.1.0
- Code coverage improvements (#1024)
- New and improved locales (#1035, #1040, #1041, #1048, #1049, #1052, #1054, #1055, #1056, #1057)
11.0.0
- Added a
isBase32()
validator (#1023) - Updated
isEmail()
to validate display names according to RFC2822 (#1004) - Updated
isEmail()
to check total email length (#1007) - The internal
toString()
util is no longer exported (0277eb) - New and improved locales (#999, #1010, #1017, #1022, #1031, #1032)
10.11.0
10.10.0
-
isISO8601()
strict mode now works in the browser (#932) - New and improved locales (#931, #933, #947, #950)
10.9.0
- Added an option to
isURL()
to reject email-like URLs (#901) - Added a
strict
option toisISO8601()
(#910) - Relaxed
isJWT()
signature requirements (#906) - New and improved locales (#899, #904, #913, #916, #925, #928)
10.8.0
- Added
isIdentityCard()
(#846) - Better error when validators are passed an invalid type (#895)
- Locales are now exported (#890, #892)
- New locale (#896)
10.7.1
10.7.0
- Added
isMagnetURI()
to validate magnet URIs (#884) - Added
isJWT()
to validate JSON web tokens (#885)
10.6.0
- Updated
isMobilePhone()
to match any locale's pattern by default (#874) - Added an option to ignore whitespace in
isEmpty()
(#880) - New and improved locales (#878, #879)
10.5.0
- Disabled domain-specific email validation (#873)
- Added support for IP hostnames in
isEmail()
(#845) - Added a
no_symbols
option toisNumeric()
(#848) - Added a
no_colons
option toisMACAddress()
(#849) - Updated
isURL()
to reject protocol relative URLs unless a flag is set (#860) - New and improved locales (#801, #856, #859, #861, #862, #863, #864, #870, #872)
10.4.0
- Added an
isIMRange()
validator (#842) - Accept an array of locales in
isMobilePhone()
(#742) - New locale (#843)
10.3.0
10.2.0
- Export the list of supported locales in
isPostalCode()
(#830)
10.1.0
- Added an
isISO31661Alpha3()
validator (#809)
10.0.0
- Allow floating points in
isNumeric()
(#810) - Disallow GMail addresses with multiple consecutive dots, or leading/trailing dots (#820)
- Added an
isRFC3339()
validator (#816) - Reject domain parts longer than 63 octets in
isFQDN()
,isURL()
andisEmail()
(bb3e542) - Added a new Amex prefix to
isCreditCard()
(#805) - Fixed
isFloat()
min/max/gt/lt filters when a locale with a comma decimal is used (2b70821) - Normalize Yandex emails (#807)
- New locales (#803)
9.4.1
9.4.0
9.3.0
9.2.0
9.1.2
- Fixed a bug with the
isFloat
validator (#752)
9.1.1
9.1.0
9.0.0
-
normalizeEmail()
no longer validates the email address (#725) - Added locale-aware validation to
isFloat()
andisDecimal()
(#721) - Added an
isPort()
validator (#733) - New locales (#731)
8.2.0
- Added an
isHash()
validator (#711) - Control decimal places in
isCurrency()
(#713) - New and improved locales (#700, #701, #714, #715, #718)
8.1.0
- Fix
require('validator/lib/isIS8601')
calls (#688) - Added an
isLatLong()
andisPostalCode()
validator (#684) - Allow comma in email display names (#692)
- Add missing string to
unescape()
(#690) - Fix
isMobilePhone()
with Node <= 6.x (#681) - New locales (#695)
8.0.0
-
isURL()
now requires therequire_tld: false
option to validatelocalhost
(#675) -
isURL()
now rejects URLs that are protocol only (#642) - Fixed a bug where
isMobilePhone()
would silently return false if the locale was invalid or unsupported (#657)
7.2.0
- Added an option to validate any phone locale (#663)
- Fixed a bug in credit card validation (#672)
- Disallow whitespace, including unicode whitespace, in TLDs (#677)
- New locales (#673, #676)
7.1.0
- Added an
isISRC()
validator for ISRC (#660) - Fixed a bug in credit card validation (#670)
- Reduced the maximum allowed address in
isEmail()
based on RFC3696 errata (#655) - New locales (#647, #667, #667, #671)
7.0.0
- Remove
isDate()
6.3.0
6.2.1
6.2.0
- Added an option to require an email display name (#607)
- Added support for
lt
andgt
toisInt()
(#588) - New locales (#601)
6.1.0
- Added support for greater or less than in
isFloat()
(#544) - Added support for ISSN validation via
isISSN()
(#593) - Fixed a bug in
normalizeEmail()
(#594) - New locales (#585)
6.0.0
- Renamed
isNull()
toisEmpty()
(#574) - Backslash is now escaped in
escape()
(#516) - Improved
normalizeEmail()
(#583) - Allow leading zeroes by default in
isInt()
(#532)
5.7.0
- Added support for IPv6 in
isURL()
(#564) - Added support for urls without a host (e.g.
file:///foo.txt
) inisURL()
(#563) - Added support for regular expressions in the
isURL()
host whitelist and blacklist (#562) - Added support for MasterCard 2-Series BIN (#576)
- New locales (#575, #552)
5.6.0
- Added an
isMD5()
validator (#557) - Fixed an exceptional case in
isDate()
(#566) - New locales (#559, #568, #571, #573)
5.5.0
- Fixed a regex denial of service in
trim()
andrtrim()
(#556) - Added an Algerian locale to
isMobilePhone()
(#540) - Fixed the Hungarian locale in
isAlpha()
andisAlphanumeric()
(#541) - Added a Polish locale to
isMobilePhone()
(#545)
5.4.0
- Accept Union Pay credit cards in
isCreditCard()
(#539) - Added Danish locale to
isMobilePhone()
(#538) - Added Hungarian locales to
isAlpha()
,isAlphanumeric()
andisMobilePhone()
(#537)
5.3.0
- Added an
allow_leading_zeroes
option toisInt()
(#532) - Adjust Chinese mobile phone validation (#523)
- Added a Canadian locale to
isMobilePhone()
(#524)
5.2.0
- Added a
isDataURI()
validator (#521) - Added Czech locales (#522)
- Fixed a bug with
isURL()
when protocol was missing and "://" appeared in the query (#518)
5.1.0
- Added a
unescape()
HTML function (#509) - Added a Malaysian locale to
isMobilePhone()
(#507) - Added Polish locales to
isAlpha()
andisAlphanumeric()
(#506) - Added Turkish locales to
isAlpha()
,isAlphanumeric()
andisMobilePhone()
(#512) - Allow >1 underscore in hostnames when using
allow_underscores
(#510)
5.0.0
- Migrate to ES6 (#496)
- Break the library up so that individual functions can be imported (#496)
- Remove auto-coercion of input to a string (#496)
- Remove the
extend()
function (#496) - Added Arabic locales to
isAlpha()
andisAlphanumeric()
(#496) - Fix validation of very large base64 strings (#503)
4.9.0
- Added a Russian locale to
isAlpha()
andisAlphanumeric()
(#499) - Remove the restriction on adjacent hyphens in hostnames (#500)
4.8.0
- Added Spanish, French, Portuguese and Dutch support for
isAlpha()
andisAlphanumeric()
(#492) - Added a Brazilian locale to
isMobilePhone()
(#489) - Reject IPv4 addresses with invalid zero padding (#490)
- Fix the client-side version when used with RequireJS (#494)
4.7.1
4.7.0
- Print a deprecation warning if validator input is not a string (1f67e1e). Note that this will be an error in v5.
- Added a German locale to
isMobilePhone()
,isAlpha()
andisAlphanumeric()
(#477) - Added a Finnish locale to
isMobilePhone()
(#455)
4.6.1
- Fix coercion of objects:
Object.toString()
is[object Object]
not""
(a57f3c8)
4.6.0
- Added a Spanish locale to
isMobilePhone()
(#481) - Fix string coercion of objects created with
Object.create(null)
(#484)
4.5.2
- Fix a timezone issue with short-form ISO 8601 dates, e.g.
validator.isDate('2011-12-21')
(#480)
4.5.1
- Make
isLength()
/isByteLength()
accept{min, max}
as options object. (#474)
4.5.0
- Add validation for Indian mobile phone numbers (#471)
- Tweak Greek and Chinese mobile phone validation (#467, #468)
- Fixed a bug in
isDate()
when validating ISO 8601 dates without a timezone (#472)
4.4.1
- Allow triple hyphens in IDNA hostnames (#466)
4.4.0
- Added
isMACAddress()
validator (#458) - Added
isWhitelisted()
validator (#462) - Added a New Zealand locale to
isMobilePhone()
(#452) - Added options to control GMail address normalization (#460)
4.3.0
4.2.1
- Fix
isDate()
handling of RFC2822 timezones (#447)
4.2.0
- Fix
isDate()
handling of ISO8601 timezones (#444) - Fix the incorrect
isFloat('.') === true
(#443) - Added a Norwegian locale to
isMobilePhone()
(#439)
4.1.0
4.0.6
- Added a Taiwan locale to
isMobilePhone()
(#432) - Fixed a bug in
isBefore()
where it would returnnull
(#436)
4.0.5
- Fixed a denial of service vulnerability in the
isEmail()
regex (#152)
4.0.4
4.0.3
- Added leap year validation to
isDate()
(#418)
4.0.2
- Fixed
isDecimal()
with an empty string (#419)
4.0.1
4.0.0
- Simplified the
isEmail()
regex and fixed some edge cases (#258) - Added ISO 8601 date validation via
isISO8601()
(#373)
v13.6.0
v13.5.2
v13.5.1
-
New features:
-
isVAT
#1463 @ CodingNagger -
isTaxID
#1446 @tplessas -
isBase58
#1445 @ezkemboi -
isStrongPassword
#1348 @door-bell
-
-
Fixes and Enhancements:
-
#1486
isISO8601
: addstrictSeparator
@brostone51 -
#1474
isFQDN
: make more strict @CristhianMotoche -
#1469
isFQDN
:allow_underscore
option @gibson042 -
#1449
isEmail
: character blacklisting @rubiin -
#1436
isURL
: addedrequire_port
option @yshanli -
#1435
isEmail
: respectignore_max_length
option @evantahler -
#1402
isDate
: add strictMode and prevent mixed delimiters @tux-tn -
#1286
isAlpha
: supportignore
option @mum-never-proud
-
#1486
-
New and Improved locales:
-
isAlpha
,isAlphanumeric
: -
isMobilePhone
:-
#1521
ar-MA
@artpumpkin -
#1492
de-LU
,it-SM
,sq-AL
andga-IE
@firlus -
#1487
en-HN
@jehielmartinez -
#1473
ar-LB
,es-PE
,ka-GE
@rubiin -
#1470
es-DO
@devrasec -
#1460
es-BO
@rubiin -
#1444
es-AR
@csrgt -
#1407
pt-BR
@viniciushvsilva
-
#1521
-
isPostalCode
:-
#1534
CN
@httpsbao -
#1515
IR
@masoudDaliriyan -
#1502
SG
,MY
@stranger26 -
#1480
TH
@ipiranhaa -
#1459
BY
@rubiin -
#1456
DO
andHT
@yomed
-
#1534
-
isPassportNumber
:-
#1468
BY
@zenby -
#1467
RU
@dkochetkov
-
#1468
-
— this release is dedicated to @dbnandaa 🧒
v13.5.0
-
New features:
-
isVAT
#1463 @ CodingNagger -
isTaxID
#1446 @tplessas -
isBase58
#1445 @ezkemboi -
isStrongPassword
#1348 @door-bell
-
-
Fixes and Enhancements:
-
#1486
isISO8601
: addstrictSeparator
@brostone51 -
#1474
isFQDN
: make more strict @CristhianMotoche -
#1469
isFQDN
:allow_underscore
option @gibson042 -
#1449
isEmail
: character blacklisting @rubiin -
#1436
isURL
: addedrequire_port
option @yshanli -
#1435
isEmail
: respectignore_max_length
option @evantahler -
#1402
isDate
: add strictMode and prevent mixed delimiters @tux-tn -
#1286
isAlpha
: supportignore
option @mum-never-proud
-
#1486
-
New and Improved locales:
-
isAlpha
,isAlphanumeric
: -
isMobilePhone
:-
#1521
ar-MA
@artpumpkin -
#1492
de-LU
,it-SM
,sq-AL
andga-IE
@firlus -
#1487
en-HN
@jehielmartinez -
#1473
ar-LB
,es-PE
,ka-GE
@rubiin -
#1470
es-DO
@devrasec -
#1460
es-BO
@rubiin -
#1444
es-AR
@csrgt -
#1407
pt-BR
@viniciushvsilva
-
#1521
-
isPostalCode
:-
#1534
CN
@httpsbao -
#1515
IR
@masoudDaliriyan -
#1502
SG
,MY
@stranger26 -
#1480
TH
@ipiranhaa -
#1459
BY
@rubiin -
#1456
DO
andHT
@yomed
-
#1534
-
isPassportNumber
:-
#1468
BY
@zenby -
#1467
RU
@dkochetkov
-
#1468
-
— this release is dedicated to @dbnandaa 🧒
v13.1.17
-
New features:
- None
-
Fixes and chores:
-
#1425 fix validation for userinfo part for
isURL
@heanzyzabala -
#1419 fix
isBase32
andisBase64
to validate empty strings properly @AberDerBart -
#1408 tests for
isTaxId
@dspinellis -
#1397 added
validate_length
option forisURL
@tomgrossman - #1383 #1428 doc typos @0xflotus @timgates42
- #1376 add missing tests and switch to Coverall @tux-tn
- #1373 improve code coverage @ezkemboi
- #1357 add Node v6 on build pipeline @profnandaa
-
#1425 fix validation for userinfo part for
-
New and Improved locales:
-
isMobilePhone
:-
#1439
az-AZ
@saidfagan -
#1420
uz-Uz
@icyice0217 -
#1391
de-DE
@heanzyzabala -
#1388
en-PH
@stinkymonkeyph -
#1370
es-ES
@rubiin -
#1356
bs-BA
@MladenZeljic -
#1303
zh-CN
@heathcliff-hu
-
#1439
-
isPostalCode
: -
isAlpha
,isAlphanumeric
:-
#1411
fa-AF
,fa-IR
@stinkymonkeyph -
#1371
vi-VN
@rubiin
-
#1411
-
isBAN
:-
#1394
EG
,SV
@heanzyzabala
-
#1394
-
isIdentityCard
:
-
v13.1.1
-
New features:
- None
-
Fixes and chores:
-
#1425 fix validation for userinfo part for
isURL
@heanzyzabala -
#1419 fix
isBase32
andisBase64
to validate empty strings properly @AberDerBart -
#1408 tests for
isTaxId
@dspinellis -
#1397 added
validate_length
option forisURL
@tomgrossman - #1383 #1428 doc typos @0xflotus @timgates42
- #1376 add missing tests and switch to Coverall @tux-tn
- #1373 improve code coverage @ezkemboi
- #1357 add Node v6 on build pipeline @profnandaa
-
#1425 fix validation for userinfo part for
-
New and Improved locales:
-
isMobilePhone
:-
#1439
az-AZ
@saidfagan -
#1420
uz-Uz
@icyice0217 -
#1391
de-DE
@heanzyzabala -
#1388
en-PH
@stinkymonkeyph -
#1370
es-ES
@rubiin -
#1356
bs-BA
@MladenZeljic -
#1303
zh-CN
@heathcliff-hu
-
#1439
-
isPostalCode
: -
isAlpha
,isAlphanumeric
:-
#1411
fa-AF
,fa-IR
@stinkymonkeyph -
#1371
vi-VN
@rubiin
-
#1411
-
isBAN
:-
#1394
EG
,SV
@heanzyzabala
-
#1394
-
isIdentityCard
:
-
v13.1.0
- Added an
isIMEI()
validator (#1346) - Added an
isDate()
validator (#1270) - Added an
isTaxID()
validator (#1336) - Added DMS support to
isLatLong()
(#1340) - Added support for URL-safe base64 validation (#1277)
- Added support for primitives in
isJSON()
(#1328) - Added support for case-insensitive matching to
contains()
(#1334) - Support additional cards in
isCreditCard()
(#1177) - Support additional currencies in
isCurrency()
(#1306) - Fixed
isFQDN()
handling of certain special chars (#1091) - Fixed a bug in
isSlug()
(#1338) - New and improved locales (#1112, #1167, #1198, #1199, #1273, #1279, #1281, #1293, #1294, #1311, #1312, #1313, #1314, #1315, #1317, #1322, #1324, #1330, #1337)
v13.0.0
- Added
isEthereumAddress()
validator to validate Ethereum addresses (#1117) - Added
isBtcAddress()
validator to validate Bitcoin addresses (#1163) - Added
isIBAN()
validator to validate International Bank Account Numbers (#1243) - Added
isEAN()
validator to validate International Article Numbers (#1244) - Added
isSemVer()
validator to validate Semantic Version Numbers (#1246) - Added
isPassportNumber()
validator (#1250) - Added
isRgbColor()
validator (#1141) - Added
isHSL()
validator (#1159) - Added
isLocale()
validator (#1072) - Improved the
isIP()
validator (#1211) - Improved the
isMACAddress()
validator (#1267) - New and improved locales (#1238, #1265)
v12.2.0
- Support CSS Colors Level 4 spec (#1233)
- Improve the
toFloat()
sanitizer (#1227) - New and improved locales (#1200, #1207, #1213, #1217, #1234)
v12.1.0
- ES module for webpack tree shaking (#1015)
- Updated
isIP()
to accept scoped IPv6 addresses (#1160) - New and improved locales (#1162, #1183, #1187, #1191)
v12.0.0
- Added
isOctal()
validator (#1153) - Added
isSlug()
validator (#1096) - Added
isBIC()
validator for bank identification codes (#1071) - Allow uppercase chars in
isHash()
(#1062) - Allow additional prefixes in
isHexadecimal()
(#1147) - Allow additional separators in
isMACAddress()
(#1065) - Better defaults for
isLength()
(#1070) - Bug fixes (#1074)
- New and improved locales (#1059, #1060, #1069, #1073, #1082, #1092, #1121, #1125, #1132, #1152, #1165, #1166, #1174)
v11.1.0
- Code coverage improvements (#1024)
- New and improved locales (#1035, #1040, #1041, #1048, #1049, #1052, #1054, #1055, #1056, #1057)
v11.0.0
GoogleChrome/web-vitals
v2.1.4
- Prevent TTFB from reporting after bfcache restore (#201)
v2.1.3
- Only call report if LCP occurs before first hidden (#197)
v2.1.2
- Ensure reported TTFB values are less than the current page time (#187)
v2.1.1
- Add feature detects to support Opera mini in extreme data saver mode (#186)
v2.1.0
- Add batch reporting support and guidance (#166)
v2.0.1
- Detect getEntriesByName support before calling (#158)
v2.0.0
Configuration
-
If you want to rebase/retry this MR, click this checkbox.
This MR has been generated by Renovate Bot.