English | 简体中文
Fix(Network)
Fix possible "Cannot read property" error bysendBeacon
. (issue #615, #629)
Feat(Netwrk)
Add new optionnetwork.ignoreUrlRegExp
to skip some requests. (PR #623)Fix(Core)
Fix prototype pollution invConsole.setOption()
. (issue #616 #621)Fix(Core)
Fix plugin eventready
triggering before its HTML finishes rendering. (issue #591)Fix(Log)
Reset group state whenconsole.clear()
is called. (issue #611)Fix(Log)
Compatible with iOS (less than 13.4) that does not supportResizeObserver
, but there may be a potential performance issue when printing a large number of logs. (issue #610)
Feat(Log)
Add recycle scrolling to imporove performance, and add scroll to top/bottom buttons. (PR #570)Feat(Log)
Add support forconsole.group(), console.groupCollapsed(), console.groupEnd()
. (issue #545)Feat(Network)
Add recycle scrolling to imporove performance.Feat(Network)
Add "Start Time" of a request.Feat(Network)
Usecurl
instead ofurl
as the copy value of a request. (issue #410)Fix(Storage)
Fix an event bug that overflow content cannot scroll. (issue #542)Fix(Core)
Fix click event on<select>
elements. (PR #577)
Perf(Log)
Optimize rendering performance when adding logs. (PR #567)Fix(Core)
Fix plugin panel sorting error when settingpluginOrder
option. (issue #559)Fix(Core)
Fix intervention error caused bypreventDefault
inTouch
events. (issue #546)Fix(Log)
Fixwindow.onerror
missing line breaks.Fix(Log)
Fix unclickablevc-cmd-clear-btn
on iOS Safari. (PR #564)Fix(Log)
Fix a typo that misjudged circular reference objects. (issue #566)Fix(Log|Network)
Copy objects or arrays as standard JSON format. (issue #547)Fix(Network)
FixFetch
stays in pending status whenwindow
is proxied. (issue #556)Fix(Storage)
Fix storage pannel sorting error when settingstorage.defaultStorages
option. (issue #560)Chore
Add optionenv['no-core-js']
to disable core-js polyfill. (PR #562)
Fix(Log)
Fix logs lost tracking when adding a new vConsole after destroying the old one.Fix(Network)
Fixresp.body
undefined error. (issue #531)Fix(Network)
Fix missing Request Headers whenxhr.setRequestHeader
is overwritten. (issue #533)Chore
Update NPM dependencies.
Fix(Core)
Fix unexpected error when init vConsole twice in short time. (issue #525)Fix(Log)
Fix bug thatconsole.time | console.timeEnd
do not output log. (issue #523)Fix(Element)
Fixundefined is not an object
error when updating attributes. (issue #526)Fix(Network)
Do not proxy response body reader when response is done.Chore
Fix typo that Svelte is not transpiled by Babel on Windows. (PR #528)
Fix(Network)
Fix CPU high load bug when response is a large string. (issue #515)Fix(Network)
Fix missing Request Headers issue in XHR. (issue #522)
Fix(Network)
Fixresponse.size
error.
Fix(Network)
Remove debugging console.log.Chore
Dropconsole.log
in Webpack process to ensure that no debugging logs appear in release version.Chore
Add new build command to compile files in different scenarios.
Fix(Network)
FixresponseSize
error whenreadyState === 3
.
Feat(Core)
Add new optionpluginOrder
to adjust the order of built-in and custom plugins, see Public Properties & Methods.Feat(Core)
Panel will auto scroll to previous position when switching plugin panel.Feat(Network)
Add response size.Feat(Network)
Add support fortransfer-encoding: chunked
, now streaming response can be recorded.Feat(Network)
Improve rendering performance of large Response data by cropping the displayed response content.Refactor(Network)
Now network records will be more accurate by using Proxy to preventXMLHttpRequest | fetch
overwriting by other request libraries (like Axios).
Feat(Log)
Add new optionlog.showTimestamps
, see Public Properties & Methods.Fix(Core)
Use polyfillclick
event to prevent raw click event not working in some cases.Fix(style)
Fix CSS transition failure in WeChat webview by usingbottom
instead oftransform
.Fix(Core)
Fix error when calling vConsole method inonReady
callback. (issue #516)Refactor(Storage)
Improve robustness.
Fix(Core)
Fix bug thatVConsole.instance
is empty when VConsoleimport
as a new module.Chore(Core)
Fix type declaration errors caused by vendors.
Feat(Core)
Add new static propertyVConsole.instance
to get the singleton instance.Feat(Core)
Add new optionsstorage.defaultStorages
, see Public Properties & Methods.Feat(Core)
New way of usingvConsole.setOption()
:setOption('log.maxLogNumber', 20)
to setmaxLogNumber
field only, andsetOption({ log: { maxLogNumber: 20 }})
to overwritelog
object.Feat(Core)
Deprecated some options, see below.Fix(Plugin)
Fix the bug that eventrenderTab
doesn't render plugin view.Fix(Storage)
Fix cookie parse error in some bad cases. (issue #508, #509)
Deprecated Options:
maxLogNumber
: Useoption.log.maxLogNumber
instead.maxNetworkNumber
: Useoption.network.maxNetworkNumber
instead.onClearLog
: Removed.
Feat(Storage)
Added "Clear" button to batch delete all storage items. (issue #499)Fix(Storage)
Fix the issue that deleting cookies fails. (issue #499)
Feat(Log)
Support for submitting command input using the enter key. (issue #498)Fix(Network)
Fixinit.body
parameter problem. (issue #500)
Feat(Core)
Add new optionvConsole.option.target
to specify custom mount target, see Public Properties & Methods. (issue #455)Feat(Log)
Add new methods:vConsole.log.log()|info()|...
,vConsole.log.clear()
, see Builtin Plugin: Properties & Methods.Feat(Network)
Add new methods:vConsole.network.add()|update()
,vConsole.network.clear()
, see Builtin Plugin: Properties & Methods.Feat(Network)
Add new optionvConsole.option.maxNetworkNumber
to limit request number, see Public Properties & Methods. (issue #492)Fix(Network)
Display Request Payload for all HTTP methods, not just POST. (issue #493)Fix(Element)
Fix the infinite loop problem caused by the newly added Comment node. (issue #491)
Feat(Network)
Pretty output format for JSON response. (issue #486)Fix(Style)
Avoid panel scaling with the web page Wheninitial-scale !== 1
.Fix(Core)
Fix the issue that clicking the panel button does not work in PC mode. (issue #487)Fix(Network)
Display formatted JSON instead of[object Object]
when Query/Payload/Headers is an object or array.Fix(Network)
Avoid overwritingonreadystatechange
of XHR objects multiple times when XHR objects are reused in some cases. (issue #214)
In this version, we refactored a lot of core logic, and used Svelte as the rendering engine for all views.
So there are some breaking changes, a small number of methods and properties are not forward compatible.
If you are a vConsole plugin developer, you should pay attention to these changes.
Breaking Changes:
Refactor(Core|Log|Network|Element)
Rebuild all views by using Svelte as template engine.Refactor(Core)
RemovevConsole.(tabList | activedTab | $dom)
properties.Refactor(Plugin)
RenamevConsole.showTab(pluginID)
tovConsole.showPlugin(pluginID)
.Refactor(Plugin)
Change callback option{ data, onClick }
of plugin eventaddTopBar
:onClick
method will receive 2 arguments (which was 0 before):(event: Event, data?: any) => boolean
, whichdata
is the above option'sdata
field.Feat(Core)
Remove helper functionsvConsole.tool
andvConsole.$
.
Common Updates:
Feat(Log)
Support object'sSymbol
keys.Feat(Log)
Support multi-level keyword hint in Log's command line input.Feat(Log)
Support string formatting%s, %d, %o
, and better%c
CSS styling formatting.Feat(Log)
Add pagination to objects or arrays to improve rendering performance, with 50 key-values per page.Feat(Network)
Add copy buttons to request attributes.Feat(Element)
Improve UX, selected node will be highlighted and applied to Expand/Collapse action.Feat(Style)
Style tags will be loaded into<head>
after vConsole initialization, and removed after destruction.Refactor(Storage)
Improve UX.Fix(Network)
Throw error whenFetch
get an error. (issue #458)
Style(Log)
Add support forBigInt
and updateSymbol
log style.Refactor(Style)
Lazy load style tag when vConsole init.Fix(Core)
Usethis || self
asglobalObject
to preventself is not defined
error. (issue #441)Fix(Log)
FixCannot convert a Symbol value to a string
error when logged aSymbol
value.Fix(Log)
Now commands and output logs can be copied.Fix(Network)
FixURIError
when decode URI fail. (issue #470)Fix(Network)
Fix potentialforEach
error. (issue #471)Chore
Transform Svelte output code to ES5. (issue #468)
Refactor(Core)
Add Typescript declaration toVConsole
class.
Fix(Network)
FixCannot read property 'setAttribute' of null
error when callsetOption()
before init. (PR #453 by @Zhangstring)Fix(Network)
FixFetch
error when iOS < 11. (PR #457 by @zimv)Chore
Generate.d.ts
declarations when built. (RP #433 by @ManiaciaChao)Chore
Remove./dist
from Git tracking.
Fix(Log)
Fix command input style. (PR #437 by @FredZeng)Fix(Storage)
FixglobalThis
error. (issue #438 #439)Chore
Fixconst
let
error cause by Svelte. (PR #440 by @dellyoung)
Feat(Log)
Show audio loading error log. (PR #419 by @zimv)Feat(Storage)
Rewrite Storage panel, supports add/edit/delete storage items. (PR #429 by @ManiaciaChao)Feat(Plugin)
New third-party plugin vite-plugin-vconsole. (by @vadxq)Refactor(Core)
Use Svelte as template engine. (PR #429 by @ManiaciaChao)Refactor(Core|Element)
Convert core file and Element panel to.ts
file.Fix(Log)
Fix error when print object(s) with notoJSON
method such asVue
instance. (PR #431 by @sillyhong)Fix(Network)
Fix error when url not starts withhttp
. (issue #420)Fix(Network)
Fix error when usingRequest
asFetch
's parameter. (PR #428 by @tatsunoneko)Fix(Network)
Display formatted key-value list whenPOST
a JSON string. (issue #425)Style
Wrap LESS math operations. (PR #426 by @ManiaciaChao)Chore
Fixyarn serve
error. (issue #424)
Fix(Log)
Do not merge repeated logs with object(s) or array(s) into one line to avoid merging objects with the same structure but different values.Fix(Log)
Fix the issue that log filter does not take effect after selecting the log type.Fix(Network)
Fix error when url starts with//
. (PR #414 by @kooritea)Chore
Removeexclude: node_modules
option in babel-loader to be compatible with ES5. (issue #404, #407)Refactor(Log)
Convert Log & System panel to.ts
file.
Feat(Log)
Show resource (image/video/link/script) loading error log. (PR #411 by @zimv)Chore
Addtarget: ['web', 'es5']
to Webpack to avoid compatibility issues. (issue #404)Fix(Network)
Fix error whennew URL('x', undefined)
. (PR #409 by @moonkop)
Feat(Storage)
Show preview value to prevent large raw value blocking rendering. (issue #300)Feat(Storage)
Add copy button and delete button.Feat(Core)
Use system theme color by default when init optiontheme
is empty.Refactor(Storage)
Convert Storage panel to.ts
file.Fix(Network)
UseforEach
instead of.entries()
when traversingheaders
. (issue #404)Fix(Network)
Fix error whenContent-Type
is empty.
Fix(Network)
Fix "Invalid base URL" error. (PR #402)
Feat(Log)
Printunhandledrejection
log. (PR #389 by @zimv)Feat(Network)
Supportnavigator.sendBeacon()
in Network panel. (PR #383 by @cola119)Feat(Network)
Display "Type" (Request Type) in "General", includingxhr|fetch|ping
.Refactor(Core)
Use TypeScript. Now Network panel is conveted to.ts
file.Fix(Network)
Recover originalwindow.fetch()
method when remove Network panel.Fix(Storage)
Fix issue that the cookie of the non-first-level domain cannot be deleted. (issue #398)Fix(Element)
Fix issue that elements are rendered as nested whenattributes
orcharacterData
changed. (issue #399)
Chore(Core)
Update to Webpack5 and update all NPM packages to the latest version.Fix(Core)
Fix invalid click caused by wrongselection
.Fix(Log)
DeletecachedLogs
when reachedmaxLogNumber
limit.Fix(Log)
Fix XSS risk.
Chore(Babel)
Fix incorrectcatch
built by babel-loader. (PR #392 by @myl0204)Fix(Network)
Fix typing error. (PR #388 by @xovel)
Feat(Log)
Add ability to copy a single line of logs. (by @akai)Feat(Plugin)
New third-party plugin vconsole-vue-devtools-plugin. (by @Zippowxk)Perf(System)
Rename "System" field to "Client", and addMacOS
version.Fix(Log)
Use natural sorting to sort object and array's keys. (issue #372)Fix(Network)
Fix JSON parse error whencontentType
istext/html
. (by @zimv)Fix(Network)
FixdisableLogScrolling
not working in Network panel. (issue #282, #379)
Feat(Core)
AddsetSwitchPosition(x, y)
method to update the position of switch button, see Public Properties & Methods for more details.Perf(Core)
AddSymbol
polyfill. (issue #361)Fix(Core)
Update theme style aftersetOption()
.Fix(Core)
RemovetransitionEnd
to prevent compatibility issues. (issue #364)Fix(Network)
Fixfetch
optional parameterinit
. (issue #363, #365)Fix(Network)
Fix XSS risks.
Feat(Core)
Add darkmode theme, seevConsole.option.theme
in Public Properties & Methods. (PR #307 by @progrape)Feat(Core)
Add safe area to switch button. (issue #353)Feat(Log)
Auto move input cursor to the bracket after autocomplete command. (issue #293)Feat(System)
AddLocation
info to System tab. (issue #343)Feat(Network)
Addfetch
log in Network tab. (by @weiqian93)Feat(Network)
Add Request Headers to Network tab.Feat(Network)
Use short URL and display parameters in Network tab. (issue #291)Feat(Plugin)
New third-party plugin vconsole-stats-plugin. (by @smackgg)Fix(Core)
The position of the switch button will be reset by mistake when clicked.Fix(Core)
Fixdocument.documentElement.offsetHeight|offsetWidth
is unreliable in newer browsers. (PR #314 by @littlee)Fix(Core)
Prevent dispatchEvent for disabled or readOnly elements. (PR #314 by @norux)Fix(Core)
Fix nonce searching problem. (by @sunderls)Fix(Core)
Fix security issues. (#345 by @QiAnXinCodeSafe)Fix(Core)
Prevent "webkitStorageInfo deprecation" warning.Perf(Core)
RemoveSymbol
,Array.from
polyfill. (issue #325, #275)Perf(Core)
Show all enumerable and unenumerable properties. (issue #327)Chore
Update Webpack DevServer option. (by @QinZhen001)
Feat(Log)
Add%c
log format to support custom log style, see Tutorial for more details.Feat(Plugin)
AddVConsole.VConsoleLogPlugin
(VConsole.VConsole*
plugins etc.) toVConsole
class.Fix(Core)
Fix a few minor issues. (#267 by @Molunerfinn, #272 by @domom)Fix(Storage)
Fix remove cookie fail when it is set path=/ or top domain. (#264 by @qianxinfeng)Perf(Core)
Display vConsole onwindow DOMContentLoaded
instead ofwindow load
.
Feat(Core)
Add TypeScript definition file. (by @jas0ncn)Fix(Log)
Avoid scrolling to bottom when away from bottom edge. (by @ele828)Fix(Core)
Fix switch button position issue. (by @rexschuang)Fix(Core)
Fix a few minor issues. (by @stenders)
Feat(Log)
Add the ability to collapse the same log.Fix(Log)
Fix issue which formatted log (likeconsole.log('[foo]', 'bar')
) will not display in Log tab.
Feat
Add console command prompt. (by @65147400)Feat
Add SessionStorage support in Storage tab. (by @hkc452)Fix
FixJSON.stringify
function which was incorrectly rewritten.Fix
FixlogNumber
bug which was not reset when clear logs. (by @liuyuekeng)Fix
Fix unencoded HTML tag in Network tab. (by @mokang)Fix
Fix possible crash when decode content in Storage tab. (by @wolfsilver)Fix
Fix CSP buy cause bynonce
attribute. (by @scotthuang)Perf
Add bottom safe area to adapt to full screen such as iPhone X. (by @dingyi1993)
Feat
Supportconsole.time()
andconsole.timeEnd()
.Feat
AdddisableLogScrolling
(invConsole.option
).Fix
FixsetOption()
error.Fix
Fix cookies' value wrong display.Fix
Fix "Uncaught InvalidStateError". (by @fireyy)
Feat
AddvConsole.showSwitch()
andvConsole.hideSwitch()
methods, see Public Properties & Methods.Feat
AddonReady
andonClearLog
callback function tovConsole.option
.Feat
Auto clear logs whenconsole.clear()
is called.Fix
Fix\r
error when build in Windows.Fix
FixSymbol
error in iOS8 or other old OS.
Basic:
Feat
Require manual init vConsolevar vConsole = new VConsole(option)
.Feat
Add configuarationvConsole.option
, which can be set whennew VConsole
orsetOption(key, value)
.Feat
Support for custom loading of default built-in plugins by usingdefaultPlugins
in the above option.Feat
AddsetOption(key, value)
method.Perf
Support CSP ruleunsafe-eval
andunsafe-inline
.Perf
Optimizefont-size
wheninitial-scale < 1
.
Log plugin:
Feat
SupportmaxLogNumber
option to limit maximum log number.Fix
Fix the crash caused by printing large objects.Perf
Only the logs written asconsole.log('[system]', xxx)
will be shown in System tab, soconsole.log('[system] xxx')
will be shown in default log tab.
Network plugin:
Feat
SupportQuery String Parameters
andForm Data
.Perf
Auto format JSON response.Fix
Fix bug that XHR status is always "Pending" when using 3rd HTTP libraries.
Plugins:
Feat
Plugins can get vConsole instance bythis.vConsole
on/afterinit
event is called.Feat
AddupdateOption
event to detectvConsole.option
changes.Feat
Add Element tab as a built-in plugin.Feat
Add Storage tab as a built-in plugin.
Fix
Catch errors when eval custom commands in Log tab.
Fix
FixscrollHeight
error in some cases.Fix
Fix flex layout in iOS 8 devices.Perf
Performance enhancement.
Feat
AddvConsole.removePlugin()
method, see Public Properties & Methods.Feat
Addremove
plugin event, see Plugin: Event List.Perf
Disable page scrolling while vConsole is scrolling.Fix
Fixwindow.onerror()
typo.
Feat
AddaddTopBar
plugin event, see Plugin: Event List.Feat
Add log type filter to Log & System tab.Perf
Log list will not automatically scroll to bottom while printing new logs if the viewport is not at the end of list.Perf
Fix UI bugs.Fix
Fix XSS issue when print object logs.Fix
Switch button will not be positioned out of edges in some special cases.
Fix
Replace customtap
event (in V2.3.0) withclick
event (still support fast response) to prevent conflicts.Perf
Removenow
item and addnavigationStart
time in System tab.
Feat
Objects or Arrays can be expended layer by layer.Feat
All object's properties, including private properties, can be enumerable now.Perf
Supporttap
event within vConsole's DOM container to speed upclick
event.
Perf
Add complete performance timing log to System tab.Feat
Add third-party plugin list to README.
Feat
AddvConsole.version
property.Feat
Addxhr._noVConsole
property toXMLHttpRequest
objects to customize whether a XHR should display in Network tab.
Feat
AddvConsole.tool
&vConsole.$
helper functions, see Helper Functions.Feat
Public properties & methods of vConsole are available, see Public Properties & Methods.Fix
Fix issue thaterror
inwindow.onerror()
may be undefined.Fix
Fix error thatxhr.status
may be unavailable whenxhr.readyState < 4
.
Fix
Fix error that vConsole may not work at X5 browser engine.Fix
Fix error thatlocalStorage
is null in some kind of devices.Fix
Fix boolean display error in Log tab.Perf
Improve UI in Android.
Feat
Rebuild completely, support custom plugin, see Plugin: Getting Started.Feat
Support execute JS command line in Log tab.Feat
Support circular structure object in Log and System tab.Feat
Support viewing request headers and response in Network tab.Perf
Switch button will not be dragged out of screen.Perf
Auto print User Agent in System tab.Perf
Show log's time in Log and System tab.Fix
Fix issue that getDate() returns a wrong date.Fix
Fix issue that sync AJAX becomes async AJAX.
Feat
Support Drag and Drop switch button.Fix
Fix initialization failure when loaded asynchronously.
Fix
Fix data lost when sending a POST request.
Feat
Add network panel.Feat
DeprecatevConsole.ready()
method.Perf
Display formatted Object & Array variable.Perf
Add English README and CHANGELOG.Perf
Improve UI.
Feat
Supportwindow.onerror()
to catch exceptions and errors.Feat
Support[default|system|...]
string to print logs to specific panel.
Fix
Fix webpack compilation.Fix
Fix XSS when printing HTML string.
Fix
Fix themain
path inpackage.json
.Perf
Update demo pages.
- Initial release.