LibreOffice 5.2 Under the Hood Changes

From The Document Foundation Wiki
Jump to: navigation, search

About this page

This is an in-progress scratch-pad of notes to build the list of under-the-hood changes from as and when we release. Please do not list changes that are to be shipped already in the 5.1 release! Please do not add wish-list changes that you hope will be done, but only what actually has been done already.

What does a good change description look like here:

  • It has a description what has been done (and why).
  • It credits the main authors who did the work – just add them in brackets after the feature, where possible.
  • If it is possible to show the progress using a graph, a graph should be included.

Thanks in advance for your help filling this out!


UI-related

Build / platform improvements

  • Replaced embedded mDNSResponder code with a proper external tarball (Michael Stahl)
  • Removed the large nss-pem patch from the bundled NSS, as it was determined to be mostly unhelpful (Michael Stahl, Giuseppe Castagno)
  • Removed remaining uses of .src templates and support for them in gbuild. (David Tardon)
  • Removed remaining uses of ARCHIVE flag in scp2. (David Tardon)
  • Removed the need for perl Archive::Zip module during creation of installsets. (David Tardon)

Code quality work

  • More than 20 unittests added to SVGIO import filter (Xisco Faulí). Commits
  • Improved scalability of com::sun::star::uno::WeakReference with many listeners (Noel Grandin)

Code cleanup

C++11

  • Finished replacement of boost::ptr_container with std::container<std::unique_ptr> (Michael Stahl)
  • replaced lots of boost::bind with C++11 lambdas or std::bind (Albert Thuswaldner, Nathaniel Pearson, Daniel Robertson, Fabio Buso, Helena Svobodova, Michael Stahl)
  • replaced BOOST_CURRENT_FUNCTION with __func__ (Michael Stahl)
  • replaced boost::noncopyable with C++11 deleted functions (Jochen Nitschke, Michael Stahl)
  • replaced boost::mem_fn with C++11 lambdas or std::mem_fn (Michael Stahl)
  • replaced boost::assign::list_of with C++11 initialization (Michael Stahl)
  • replaced boost::next/prior with C++11 std::next/prev (Michael Stahl)
  • replaced boost::remove_reference with C++11 std::remove_reference (Michael Stahl)
  • replaced boost::is_same with C++11 std::is_same (Michael Stahl)
  • replaced boost::shared_array with C++11 std::shared_ptr (Michael Stahl)
  • replaced some BOOST_PP usage (Michael Stahl)
  • replaced boost::dynamic_bitset with boost::optional<std::bitset> (Michael Stahl)
  • replaced boost::date_time::posix_time with C++11 std::chrono (Michael Stahl)
  • replaced boost::array with C++11 std::array (Michael Stahl)

Automatic rewrites

Misc

  • removed the prex.h and postx.h hacks that worked around namespace conflicts with X11 headers (Jorenz Paragas).
  • removed Windows 95 specific mouse wheel support (Noel Grandin)
  • cleaned up includes of oox module with the include-what-you-use tool (Jorenz Paragas)

Test Infrastructure

  • fixed issues with the Windows SalYieldMutex implementation and periodic TimerQueueTimers that could cause deadlock by overflowing the main thread's message queue in tests that do multi-threaded Calc file imports (Armin Le Grand, Michael Stahl)

Miscellaneous improvements