### July 25th

[@bomsy], [@belen-albeza], [@jbhoosreddy], [@aklt], [@yurydelendik], [@clarkbw], [@wldcordeiro], [@giltayar], [@jasonLaster], [@julienw], [@codehag],

#### Polish

* [Align 'this page has no sources' message][pr-10] - [@belen-albeza]
* [Show a horizontal scrollbar in the right panel][pr-11] - [@jasonLaster]
* [Improve source tree line height][pr-8], [2][pr-21], [3][pr-34] - [@bomsy]
* [Vuejs callstack][pr-28] - [@clarkbw]

#### Bug Fixes

* [WatchExpressions no longer appear in the editor][pr-43] - [@jasonLaster]
* [Fix React onChange input warning][pr-36] - [@jasonLaster]
* [Fix source search shortcut][pr-29] - [@jasonLaster]
* [Fix watch expression inputs keyboard controls][pr-7] - [@jasonLaster]
* [fix service workers][pr-25] - [@jasonLaster]

#### Preview

We switched to using [symbols] as the basis of preview this week,
which is a really big deal for a couple of reasons.

Symbols are our system for finding functions, variables, and now
member expressions, object expressions, and array expressions. This is a
big deal because we can now do one sweep of a file and find all of the interesting expressions a user might mouse over. Previously, we would wait for the user to hover on a token and then try to figure out what the logical expression was. This was a full AST traversal every time!

The other reason why using symbols is amazing is that we can resolve
some really tricky cases. Take a look at these [expressions]. We can
now begin supporting hovering on object keys, array items, and even object keys INSIDE OF arrays :) This will make preview much more powerful.

* [Start using symbols in preview][pr-22] - [@codehag]
* [Touchup preview dark theme styles][pr-48] - [@jasonLaster]

![][preview]

#### Wasm

* [WebAssembly text generation on debugger side][pr-27] - [@yurydelendik]
* [Adding types to the editor position/range objects.][pr-32] - [@yurydelendik]
* [Disable updating line number formats][pr-39] - [@jasonLaster]

![][wasm]

#### Breakpoints

It's hard to understate how much more stable breakpoints in the new debugger are.
[@codehag] and I obsessed over 4 edge cases and found lots of stability bugs:

1. reloading - with changed sources
2. Source Maps - adding a breakpoint in either source and toggling between them
3. Sliding - adding breakpoints before functions or on lines with comments
4. Switching between vertical and horizontal layouts

* [fix getBreakpointsFromSource][pr-0] - [@jasonLaster]
* [Refactor Breakpoints to be location symmetric][pr-1] - [@jasonLaster]
* [fix toggling sources][pr-2] - [@jasonLaster]
* [Refactor add breakpoint][pr-12] - [@codehag]
* [Toggle between original and generated files][pr-19] - [@jasonLaster]
* [Fix pending bps][pr-23] - [@jasonLaster]
* [Breakpoints disappear on layout change][pr-26] - [@codehag]
* [Fix editor state][pr-40] [2][pr-41] - [@jasonLaster]
* [include debug line editor guard][pr-45] - [@jasonLaster]
* [BugFix: Debug Line hangs around when the layout changes][pr-47] - [@codehag]


#### Symbol Modal

In June, we switched from showing function search results in the search bar pane to showing them
in an editor style modal. Since then, there's been a lot of polish to smooth over the rough edges.
@wldcordeiro has a really nice animation in the works too!

* [Expose clearSymbols handler on worker][pr-17] - [@jbhoosreddy]
* [Style the symbol modal][pr-14] - [@jasonLaster]
* [prevent Ctrl+Shift+O from opening bookmarks organizer under Linux][pr-18] - [@aklt]
* [fix rest spread][pr-33] - [@jasonLaster]
* [Clear the symbol search query on close.][pr-37] - [@wldcordeiro]
* [fix popup shortcut][pr-44] - [@jasonLaster]
* [#3032: added drop shadow to preview popup][pr-46] - [@giltayar]


![][modal]

#### Project Text Search

We started working on editor style Project Search in SF and [@bomsy] has been
making really good progress here.

We can now open project search with `cmd+shift+f`, search across all sources,
and display the results. There's still some polish needed here before we turn
it on in nightly.

* [Project text search wip][pr-5] - [@bomsy]
* [Project text search styling][pr-9] - [@bomsy]
* [Load sources text][pr-13] - [@bomsy]
* [Tidy up project search][pr-15] - [@jasonLaster]
* [Move Search state to redux][pr-35] - [@bomsy]

![][search]

#### Infrastructure

* [Add more cases to warn for yarn lock changes, and run prepush script in parallel][pr-3] - [@julienw]
* [updates-7-11-2017.md][pr-4] - [@codehag]
* [disable percy][pr-6] - [@jasonLaster]
* [bump launchpad + sourcemaps][pr-16] - [@jasonLaster]
* [update lockfile][pr-20] - [@jasonLaster]
* [Bump dependencies][pr-24] - [@jasonLaster]
* [Update remark-cli to the latest version 🚀 (#3393)][pr-30] - [@jasonLaster]
* [Release a new version][pr-31] - [@jasonLaster]
* [Bump master][pr-38] - [@jasonLaster]
* [Bump master][pr-42] - [@jasonLaster]

[preview]:https://camo.githubusercontent.com/91e287555bcecefe68401ffc4fb3d8ab6ba4656e/687474703a2f2f672e7265636f726469742e636f2f58424f686b75594f65792e676966

[wasm]:https://pbs.twimg.com/media/DFM--yMVwAIYNOp.jpg:large
[modal]:http://g.recordit.co/yyWsC53Jgq.gif
[expressions]:https://github.com/devtools-html/debugger.html/blob/next/src/workers/parser/tests/fixtures/expression.js
[symbols]:https://github.com/devtools-html/debugger.html/blob/next/src/workers/parser/getSymbols.js
[search]:https://user-images.githubusercontent.com/254562/28581593-96b00506-7130-11e7-8fb8-6e660fc58076.png


[pr-0]:https://github.com/devtools-html/debugger.html/pull/3298
[pr-1]:https://github.com/devtools-html/debugger.html/pull/3294
[pr-2]:https://github.com/devtools-html/debugger.html/pull/3324
[pr-3]:https://github.com/devtools-html/debugger.html/pull/3309
[pr-4]:https://github.com/devtools-html/debugger.html/pull/3303
[pr-5]:https://github.com/devtools-html/debugger.html/pull/3276
[pr-6]:https://github.com/devtools-html/debugger.html/pull/3325
[pr-7]:https://github.com/devtools-html/debugger.html/pull/3333
[pr-8]:https://github.com/devtools-html/debugger.html/pull/3337
[pr-9]:https://github.com/devtools-html/debugger.html/pull/3328
[pr-10]:https://github.com/devtools-html/debugger.html/pull/3330
[pr-11]:https://github.com/devtools-html/debugger.html/pull/3334
[pr-12]:https://github.com/devtools-html/debugger.html/pull/3322
[pr-13]:https://github.com/devtools-html/debugger.html/pull/3341
[pr-14]:https://github.com/devtools-html/debugger.html/pull/3327
[pr-15]:https://github.com/devtools-html/debugger.html/pull/3352
[pr-16]:https://github.com/devtools-html/debugger.html/pull/3348
[pr-17]:https://github.com/devtools-html/debugger.html/pull/3339
[pr-18]:https://github.com/devtools-html/debugger.html/pull/3349
[pr-19]:https://github.com/devtools-html/debugger.html/pull/3351
[pr-20]:https://github.com/devtools-html/debugger.html/pull/3359
[pr-21]:https://github.com/devtools-html/debugger.html/pull/3361
[pr-22]:https://github.com/devtools-html/debugger.html/pull/3363
[pr-23]:https://github.com/devtools-html/debugger.html/pull/3364
[pr-24]:https://github.com/devtools-html/debugger.html/pull/3287
[pr-25]:https://github.com/devtools-html/debugger.html/pull/3373
[pr-26]:https://github.com/devtools-html/debugger.html/pull/3387
[pr-27]:https://github.com/devtools-html/debugger.html/pull/3238
[pr-28]:https://github.com/devtools-html/debugger.html/pull/3391
[pr-29]:https://github.com/devtools-html/debugger.html/pull/3384
[pr-30]:https://github.com/devtools-html/debugger.html/pull/3394
[pr-31]:https://github.com/devtools-html/debugger.html/pull/3408
[pr-32]:https://github.com/devtools-html/debugger.html/pull/3409
[pr-33]:https://github.com/devtools-html/debugger.html/pull/3395
[pr-34]:https://github.com/devtools-html/debugger.html/pull/3382
[pr-35]:https://github.com/devtools-html/debugger.html/pull/3370
[pr-36]:https://github.com/devtools-html/debugger.html/pull/3401
[pr-37]:https://github.com/devtools-html/debugger.html/pull/3416
[pr-38]:https://github.com/devtools-html/debugger.html/pull/3425
[pr-39]:https://github.com/devtools-html/debugger.html/pull/3417
[pr-40]:https://github.com/devtools-html/debugger.html/pull/3424
[pr-41]:https://github.com/devtools-html/debugger.html/pull/3407
[pr-42]:https://github.com/devtools-html/debugger.html/pull/3422
[pr-43]:https://github.com/devtools-html/debugger.html/pull/3413
[pr-44]:https://github.com/devtools-html/debugger.html/pull/3397
[pr-45]:https://github.com/devtools-html/debugger.html/pull/3429
[pr-46]:https://github.com/devtools-html/debugger.html/pull/3197
[pr-47]:https://github.com/devtools-html/debugger.html/pull/3420
[pr-48]:https://github.com/devtools-html/debugger.html/pull/3376
[@jasonLaster]:http://github.com/jasonLaster
[@julienw]:http://github.com/julienw
[@codehag]:http://github.com/codehag
[@bomsy]:http://github.com/bomsy
[@belen-albeza]:http://github.com/belen-albeza
[@jbhoosreddy]:http://github.com/jbhoosreddy
[@aklt]:http://github.com/aklt
[@yurydelendik]:http://github.com/yurydelendik
[@clarkbw]:http://github.com/clarkbw
[@wldcordeiro]:http://github.com/wldcordeiro
[@giltayar]:http://github.com/giltayar
