| Age | Commit message (Expand) | Author |
| 2018-05-17 | Small code cleanups | Maxime Coste |
| 2018-05-09 | Mark Client, Window, Buffer and OptionManager as final | Maxime Coste |
| 2018-04-29 | Rework the way UI can trigger a client quitting | Maxime Coste |
| 2018-04-01 | Restore previous status line after notifying wait for shell | Maxime Coste |
| 2018-03-30 | Support full redraws during shell execution and handle resize there | Maxime Coste |
| 2018-01-21 | Do not block when waiting for next event if we have pending input | Maxime Coste |
| 2017-11-12 | Move Array and ConstexprVector to a constexpr_utils.hh header | Maxime Coste |
| 2017-08-28 | Expose client pid as $kak_client_pid | Maxime Coste |
| 2017-08-23 | Support specifying an exit status on `quit` commands | Maxime Coste |
| 2017-08-18 | Respecify EnumDescs array sizes manually to workaround clang-3.6 bug | Maxime Coste |
| 2017-08-12 | Remove size redundancy in enum_desc function declaration | Maxime Coste |
| 2017-06-16 | Hide info/menu when they are anchored to an invisible buffer coord | Maxime Coste |
| 2017-05-22 | Remove virtual destructor from OptionManagerWatcher | Maxime Coste |
| 2017-03-15 | Migrate to a more value based meta programming model | Maxime Coste |
| 2017-01-29 | Fix some uninitialized values | Maxime Coste |
| 2017-01-08 | Apply clang-tidy modernize to the codebase | Maxime Coste |
| 2017-01-04 | Add `Modal` InfoStyle used for bufer reload info box | Maxime Coste |
| 2016-11-30 | Ensure all available input is handled before going back to main loop | Maxime Coste |
| 2016-11-29 | Simplify greatly UI input handling | Maxime Coste |
| 2016-11-29 | Clean up includes of user_interface.hh | Maxime Coste |
| 2016-10-29 | Display a status line message when Kakoune is waiting on a shell to complete | Maxime Coste |
| 2016-10-01 | Support codepoints of variable width | Maxime Coste |
| 2016-03-30 | Replace menu and info when they actually moved | Maxime Coste |
| 2016-03-07 | Rework client redrawing, delay menu/info methods until next refresh | Maxime Coste |
| 2016-03-07 | Handle <c-l> redrawing on the server side | Maxime Coste |
| 2016-03-06 | Only call UserInterface::refresh when the UI has been modified | Maxime Coste |
| 2016-02-27 | Remove direct access to ui, go through client | Maxime Coste |
| 2015-11-20 | Move enum option handling in enum.hh and refactor enum options | Maxime Coste |
| 2015-11-07 | Store the last used buffer in clients | Maxime Coste |
| 2015-09-16 | Store key hash in IdMap | Maxime Coste |
| 2015-08-23 | Remove Client::window() method, use a force_redraw() one | Maxime Coste |
| 2015-03-10 | Refactor String, use a common StringOps interface, hide std::string | Maxime Coste |
| 2015-02-12 | Cleanup and refactor externally modified buffer reloading | Maxime Coste |
| 2015-01-14 | Even more memory tracking | Maxime Coste |
| 2015-01-12 | Yet more tracking | Maxime Coste |
| 2014-12-20 | Small code tweak | Maxime Coste |
| 2014-11-29 | Rework client pending key handling, fix insert/normal timers | Maxime Coste |
| 2014-11-25 | Separate events between normal and urgent ones | Maxime Coste |
| 2014-11-12 | Cleanup includes | Maxime Coste |
| 2014-11-10 | Add ui_options option for UserInterface configuration | Maxime Coste |
| 2014-08-12 | Defer deletion of buffers to after the event loop | Maxime Coste |
| 2014-08-12 | Tweak client redraw logic, avoid highlight if only status line changed | Maxime Coste |
| 2014-08-12 | Make safe_ptr able to track callstacks | Maxime Coste |
| 2014-07-07 | Fix redrawing of windows when only the status line changes | Maxime Coste |
| 2014-04-07 | Add support for querying client environement variables | Maxime Coste |
| 2013-12-20 | Get rid of Editor for good | Maxime Coste |
| 2013-11-14 | extract InputHandler to input_handler.{cc,hh} | Maxime Coste |
| 2013-11-14 | move Client::m_name to context, no more need for DraftUI | Maxime Coste |
| 2013-11-14 | Extract InputHandler from Client | Maxime Coste |
| 2013-10-15 | Detect file external modification and ask the user whether to reload or not | Maxime Coste |