0.6.4
Support for preloads
We have added support for :preloads
compiler option. Read the docs here.
This release should also deliver more resilient Dirac DevTools thanks to new Chrome API detection system and better error reporting system.
Stealing API definitions from internal Chrome DevTools
Chrome DevTools (frontend) needs to talk to Chrome Browser (backend) via a debugger protocol. Previous Dirac versions had a definition of this protocol baked-in as a snapshot extracted from chromium repo at the point of release. That is why Dirac had to be used with matching Chrome Canary otherwise the protocol definition could be out-of-sync.
Since this version we try to "steal" protocol definitions from internal DevTools embedded in Chrome you happened to connect to - internal DevTools have always matching protocol definitions because they are bundled inside Chrome. This should relax rigidity of our DevTools fork and work with more Chrome versions. But still you should not diverge too far from recommended Chrome version.
Better error reporting system
When Dirac DevTools frontend throws an unhandled exception, the exception gets printed into Dirac DevTools's console which is normally hidden. We have implemented a system which additionally prints such exceptions into your app's page console as "Dirac Internal Errors". In v0.6.4 this system was extended to properly print unhandled promise rejections and console.error
logs as well. Additionally printed internal errors newly contain an info line with Dirac version and various useful state information which should help reporting and troubleshooting possible issues.
Rolling DevTools
Embedded DevTools merged 469ec16...031c760.
Should work best with Chrome ~54.0.2840.0.
Notable commits
2b72880 implant: subscribe "unhandledrejection" to report failed promises
28995a0 implement a subsystem for loading backend API specs from user's browser
2b8c5db implant: review eval code
d673fbb fix incorrect ns forms (#33)
3285648 runtime: land support for :preloads
d853110 implant: capture internal error logs and expose them via reporter
4fd4714 implant: render dirac info line when reporting errors
907df32 allow user to specify custom url params for DevTools frontend
01b6364 allow disabling error reporter via an url param
5e88664 devtools: allow toggling debug flags via url params
All new work: v0.6.3...v0.6.4