Dev Build 2162 is out now. The next beta version should be out this week, so please let me know of any unresolved issues introduced in this series of dev builds.

Auto complete has received a notable change this build: tab now accepts the current completion, and enter simply inserts a newline. While enter is the key applications generally use for this, tab is a less intrusive choice, that will result in fewer frustrating instances of unwanted completions being inserted.

Using tab avoids unwanted completions when typing previously unseen words at the end of a line (e.g., 'class foo' in C++), and also avoids having to press enter twice when typing a previously seen word at the end of a line (e.g., 'else'). It also allows the list of available completions to be further pruned, as short words no longer need to be included.

The primary disadvantage with using tab is the ambiguity between inserting the current completion, and navigating to the next snippet field when a snippet is active. This is resolved by auto complete not triggering at all while snippet fields are active (ctrl+space can still be used).

Pressing tab instead of enter takes a bit of getting used to, but I believe it's worth it.

The menu has undergone a makeover, too, with the addition of the top level 'Goto' menu, and a revamped find menu. Both of these were done to make important functionality (Ctrl+P, file switching commands, and quick find commands) more obvious.

The snippets menu has gone as part of this, too: it's been replaced by a link to the Command Palette preloaded with 'Snippet'. This allows snippets to have their trigger displayed alongside them, and is helpful performance wise on Linux.

`window.get_view_index(view)` returns the group index, and index within that group for each view. The group index indexes each `cell` in the active layout, also corresponding to the `group` in the `focus_group` and `move_to_group` commands. Jon, late last year, added a whole heap of APIS for very precise scrolling for when you want something beyond view.show(view.visible_region())

If I'm understanding you correctly all the APIs you need should be there.

It is better to remain silent and be thought a fool, than to speak out and remove all doubt