Skip to content

Release 0.8.0

Compare
Choose a tag to compare
@provegard provegard released this 12 Apr 22:06
· 85 commits to master since this release
  • Don't rely on Nashorn syntax extensions in the property extractor code, since the target may
    have disabled them (issue #68)
  • Pause on reference errors if pausing on exceptions.
  • Detect a script added during code evaluation, e.g. when the load extension is used (issue #66)
  • Don't capture print statements while paused, in order to avoid deadlock (issue #66)
  • Try to make general pause more stable, only set breakpoints in script frames (issue #71)
  • Make script contents hashing thread safe - avoids duplicate scripts with the same contents.
  • Support setting a breakpoint in an unknown script (via URL or URL regexp). Emit BreakpointResolved
    when a script that matches the requested breakpoint is seen. This makes it possible to use the
    DevTools Filesystem/workspace feature.
  • Ensure that changing a local variable via console code evaluation works after step/resume, i.e.
    that the new value actually remains (issue #72)
  • Handle JAR URLs better. The jar: prefix is dropped so that embedded resources appear as
    "navigable" files in the DevTools source tree.
  • Fix preview generation for typed arrays (issue #73)
  • Fix console expansion of big arrays (ES6 needs to be transpiled to ES5) (issue #76)
  • Fix object property extraction when Java is disabled (Nashorn script engine created with --no-java)
    (issue #80)
  • Fix VS Code connection problem, serve web sockets via /json/list also (issue #79)
  • Fix VS Code locals property extraction error, handle arguments to Runtime.callFunctionOn
    being null (issue #79)
  • Be friendly towards VS Code when it asks about user agent (for internal Debugger for Chrome logging)
    (issue #79)
  • Serialize domain actor requests to avoid race conditions that prevent object properties from
    being fetched because the VM has resumed (issue #77)
  • Fix stepping over a line where there is a breakpoint (issue #82)
  • Make sure script-based property extraction happens on the correct thread (issue #78)
  • Cache certain functions in Runtime.callFunctionOn. DevTools in Chrome 65.0.3325.146 introduces some
    caching but prior to that autocompletion is slow.
  • Handle event request that is null when invoking a request-specific event handler (issue #88)
  • Support Runtime.compileScript (and runScript) (issue #84)
    • This adds support for script snippets in DevTools.
    • It also enables code continuation in the console, since DevTools uses
      compileScript to detect unterminated statements.
    • Please see the documentation for limitations with compiled scripts.
  • Ignore breakpoints (including debugger statements) when evaluating code, to prevent deadlock.
  • Faster property extraction for scope objects (issues #89)
  • List known bugs as console warnings when DevTools connects.
  • Fix evaluation of erroneous code in Runtime.compileScript - always include an exception value
    (issue #90)
  • Show entries for Map and Set as an internal [[Entries]] property (issue #75)
  • Show proper preview for Map and Set (issue #74)
  • Ignore the silent flag passed to many methods, since we ignore exceptions anyway while in
    paused mode. Always return exception details back to the caller (issue #87)
  • Less verbose error message after evaluation, don't show ECMAException (issue #92)
  • Don't leak hidden entries array for Map/Set to console autocompletion (issue #94)
  • Fixed broken class scanning, now scanning isn't complete until all classes have been scanned,
    and yielding/resuming scan works.
  • Improve class scanning speed by giving NCDbg-evaluated scripts a special source name that can
    be detected before getting the script source.
    • NOTE! If NCDbg is attached to a process that has been debugged with an older version,
      code eval scripts may appear in DevTools. Restarting the target process should fix that.
  • Make sure undefined variable access in artificial local scope results in ReferenceError.
  • Avoid NPE in UserAccessorProperty (Nashorn) when evaluating code on global scope after
    evaluating same code on local artificial scope.
  • Faster code evaluation (~50%) for Runtime.callFunctionOn, and faster construction of artificial local
    scope.
  • Reuse syntax check via compileScript for subsequent code evaluation (EXPERIMENTAL).
  • Ensure DevTools sees Debugger.scriptParsed for a script before compileScript returns.
  • Fix bug with evaluating code inside a with block (issue #93)
  • Make sure global object is described properly when evaluated in the console.
  • List all scopes in a function [[Scopes]] internal property.