Change logs for mir source package in 14.09

  • mir (0.8.2+15.04.20150115~rtm-0ubuntu1) 14.09; urgency=medium
    
      [ Daniel van Vugt ]
      * Bug fix release 0.8.2 (https://launchpad.net/mir/+milestone/0.8.2)
        - ABIs all unchanged. No downstream projects need rebuilding.
        - Fixes bug: Crash in /usr/sbin/unity-system-compositor:*** Error in
          `unity-system-compositor': free(): invalid pointer: ADDR ***
          (LP: #1376324)
     -- Ubuntu daily release <email address hidden>   Thu, 15 Jan 2015 15:55:24 +0000
  • mir (0.8.1+15.04.20150112.2~rtm-0ubuntu1) 14.09; urgency=medium
    
      [ Daniel van Vugt ]
      * Bug fix release 0.8.1 (https://launchpad.net/mir/+milestone/0.8.1)
        - ABI summary: Servers need rebuilding, but clients do not;
          . Mirclient ABI unchanged at 8
          . Mircommon ABI unchanged at 2
          . Mirplatform ABI unchanged to 3
          . Mirserver ABI bumped to 26.1 (due to breakage in LP: #1355173)
        - Fixes bugs:
          . Switching windows with a Trusted Prompt Session active loses the
            trusted prompt session (LP: #1355173)
          . a prompt session with an invalid application pid should be an error
            (LP: #1377968)
      * mir_demo_client_basic: Don't assert on user errors like failing to
        connect to a Mir server. It's much more useful to tell the user what
        they did wrong than to automatically generate error reports and
        duplicate apport bugs. (LP: #1331958) . (LP: #1331958)
      * Enable "Project Butter" motion event resampling and prediction for a
        more responsive touch experience. .
      * When the server disconnects unexpectedly, give the client SIGHUP
        instead of the present SIGTERM. The former is more appropriate
        because it indicates: "Hangup detected on controlling terminal or
        death of controlling process" [signal(7)] whereas SIGTERM is
        reserved for more polite user-requested shutdowns. .
      * Fix the common/shared source tree layout inconsistency. If it goes
        in libmircommon then it should be called "common" and not "shared":
      * Move mir::time::*Clock out of libmirserver and into libmircommon. It
        will soon be used by libmirclient.
      * Bump version to 0.8.0 as Mir 0.7.0 was released today.
      * Remove dead code "kill_client_processes()" from mir_test_framework.
      * Work around spurious SIGKILL delivered to clients by Valgrind during
        tests. This is why CI is failing randomly (LP: #1364772) Actually
        this workaround is nothing new. A quick grep shows we already use
        the same hack in 13 other locations under tests/. . (LP: #1364772)
      * Privatise (don't install) headers that are unused by clients, QtMir
        or USC. This reduces the size of the public include/ tree from 377
        to 121 files, and reduces the number of those that get installed
        from 208 to 121.
      * Bump the mircommon ABI to 2. We actually broke it in the Mir 0.7.0
        release with symbols.map and didn't notice in time (LP: #1364890)
        (LP: #1364890)
      * Restore support for gcc-4.8/trusty (LP: #1366134) (LP: #1366134)
      * Publish an internal header that QtMir recently started using:
        mir/input/input_channel.h (LP: #1365934) . (LP: #1365934)
      * Relax dependencies on libmirplatform2. Any binary package that uses
        libmirplatform2 should already be ABI compatible with any version of
        libmirplatform2. Assuming we maintain our ABIs correctly...
        Minimising exact version requirements should minimise future package
        upgrade problems. .
      * Privatise more headers -- these are the ones unused by any external
        projects but are used internally by the server code in examples/
        only.
      * Introducing a generic client performance report. Just turn it on:
        env MIR_CLIENT_PERF_REPORT=log yourclient and you will get nice
        useful performance information: [1409905806.508895] (II) perf:
        eglappsurface: 60.21 FPS, render time 0.62ms, buffer lag 47.64ms (3
        buffers) [1409905807.510868] (II) perf: eglappsurface: 59.94 FPS,
        render time 0.13ms, buffer lag 49.96ms (3 buffers)
        [1409905808.513115] (II) perf: eglappsurface: 59.88 FPS, render time
        0.12ms, buffer lag 49.98ms (3 buffers) .
      * Remove FPS output from examples/*. A more accurate and useful
        measure of FPS is now available to all clients by: env
        MIR_CLIENT_PERF_REPORT=log anyclient.
      * Privatise shared_library_prober*.h until such time that some
        external project needs them.
      * examples: Restore the -q (quiet mode) option to eglapps and flicker.
        It got deleted a little to hastily in r1906 when really it's still
        useful and worth keeping. .
      * Fix constructor syntax errors, which only just today g++ has decided
        are fatal (LP: #1369389) (LP: #1369389)
      * Introduce explicit driver ABI levels:    libmirplatformNdriver,
        libmirclientMdriver
      * Bump the server ABI to 26. We broke it in r1924.
      * Build all platforms by default. No just Mesa. It's safe to do so,
        and in fact we already do so in our Deb builds :) This way no one
        can forget to fix Android build issues when working on desktop. .
      * Fix jerky/stuttering event delivery that could happen inside nested
        servers sometimes (LP: #1372300) (LP: #1372300)
      * Reduced visible input lag by approx one frame (on 59-60Hz displays)*
      * Avoid polling in a loop with timeout zero most of the time. That
        will only waste CPU. (LP: #1373809) (LP: #1373809)
      * demo shell: Keep colours consistent, regardless of the physical
        pixel format of your framebuffer (LP: #1375660). (LP: #1375660)
      * Fix executable bit on tools/*.sh (LP: #1376547). (LP: #1376547)
      * Update ABI sha1sums. We re-exposed a bunch of headers in r1952 and
        forgot to update the checksums. .
      * Fix input receiver tests with mocked clocks accidentally taking real
        time (not mocked time) to complete (LP: #1375211) . (LP: #1375211)
      * integration-tests: Backport test enhancements from the "double"
        branch that allow the tests to work in the presence of either triple
        or double buffering. No ETA on when we might enable double
        buffering, but it's good to have the tests ready.
    
      [ Cemil Azizoglu ]
      * Remove file accidentally checked in
      * Merge mir/ubuntu back to devel to resolve conflicts.
      * Fix for LP: #1304873 (mir_unit_tests.MesaBufferAllocatorTest.* test
        fails under sbuild chroot env). (LP: #1304873)
      * Revert r1942.
      * Revert r1955 which was failing jenkins.
    
      [ Alexandros Frantzis ]
      * client: Ensure our platform library stays loaded for as long as it
        is needed by other objects. This avoids crashes observed on
        mir_connect failure (LP: #1358191) (LP: #1358191)
      * examples: Register the DemoCompositor with the Scene to properly
        process visibility events (LP: #1359487). (LP: #1359487)
      * tests: Ensure that the server has really and fully started after
        calling ServerRunner::start_mir_server().
      * tests: Explicitly depend on GMock target to avoid build races (LP:
        #1362646). (LP: #1362646)
      * scene: Throw when inactive compositor ids are passed to the
        rendering tracker
      * tests: Fix races in TestClientInput (LP: #1361757). (LP: #1361757)
      * tests: Refactor the TestClientCursorAPI tests to simplify them and
        fix races (LP: #1342567). (LP: #1342567)
      * tests: Fix intermittent failure of
        DemoPrivateProtobuf.client_calls_server (LP: #1367353). (LP:
        #1367353)
      * tests: Use perfect forwarding in AutoUnblockThread and
        AutoJoinThread (LP: #1369389). (LP: #1369389)
      * server: Work around unresponsive clients causing the server to hang
        (LP: #1350207). (LP: #1350207)
      * tests: Use precompiled headers for gtest/gmock and some common
        system headers.
      * nested: Ensure that the nested Platform object stays alive for at
        least as long as the nested Display object needs it (LP: #1372276).
        (LP: #1372276)
      * tests: Fix SharedLibraryProber test runs on i386. (LP: #1375829)
      * mesa: Use mir::Fd instead of custom fd handle type.
      * cmake: Allow dumping the ABI using prebuilt libraries.
    
      [ Alberto Aguirre ]
      * Recycle compositor threads by using a thread pool (LP: #1362841).
        (LP: #1362841)
      * Fix license of basic_thread_pool.h header.
      * Add a playground folder for demos that use private mir
        functionality. Rename include.private to src/include Scrub examples
        to remove some private header dependencies. .
      * Add make targets to check abi compatibility against the last
        official release.
    
      [ Kevin DuBois ]
      * docs: add a document detailing the useful tests to run and the
        useful logs to collect when troubleshooting a new android chipset.
      * correct the texture cache to not rely on 'invalid' buffer id's.
      * frontend: Add ability to associate SurfaceId's with BufferId's. This
        is in preparation for rpc (Buffer) exchange_buffer(Buffer) so the
        frontend can correctly return the exchanged buffer to the
        appropriate surface.
      * android: preserve the registered callback hooks until the hwc device
        has been closed. lp: #1364637. (LP: #1364637)
      * frontend: add the stubs for the exchange_buffer rpc call
      * reintroduce the headers needed by platform-api
      * make the mir default for overlay match the USC default by turning on
        the android overlay optimization by default. Also add a simple
        overlay integration test.
      * frontend: hook up the exchange_buffer message in the protobuf
        message processor. Also include an integration test that has been
        driving the server side of the exchange buffer work.
      * frontend: log the exchange_buffer messages in the session-mediator-
        report.
      * Make the fd-sending code common so that it is accessible from the
        client code.
      * android: rename a few classes that were
        mir::graphics::android::Android* to just be
        mir::graphics::android::*.
      * android: add a quirk that will prevent a device from opening the
        gralloc device after it has been closed.
      * frontend: platform: provide a way for the frontend to perform
        platform specific actions upon receipt of buffer from the client.
        Split out the 3 platform ipc operations into its own interface.
      * Allow the platform to read the fd's and data from the buffer message
        abstraction. This will let the platform to read from the buffer
        messages coming back from the client.
      * make the Fd reception code common to the server and the client (as
        the server will need to receive code soon).
      * fix arm64 package by adding arm64 to the shared library prober test
        fixes: lp: #1379478 (LP: #1379478)
    
      [ Andreas Pokorny ]
      * Replace checks for MESA_drm_image with KHR_image_pixmap and disables
        the checks
      * Update cmake scripts to current version of gcovr We used to call
        gcovr with -c 'some string' and -r source_dir, both parameter cause
        trouble with gcovr 3.0 and later. -r source_dir means that gcovr
        will not find any coverage files written through the test run. The
        purpose of -c 'some string' seems to be rather descriptive. Older CI
        results indicated that we were using gcovr-2.5-prerelease before and
        gcovr 3.1 now. .
    
      [ Robert Carr ]
      * Add touchspot visualizations toggleable with --enable-touchspots.
        (LP: #1323522)
      * Ensure touchspots do not update the scene when disabled
    
      [ Alan Griffiths ]
      * tests: link the integration and unit tests against the server
        objects.
      * libmirserver: initial cut at symbol map for libmirserver.
      * client, platform: ensure that plugins can resolve symbols in these
        libraries
      * client, platform: ensure that plugins can resolve symbols in these
        libraries.
      * tools: Provide some help text for process_doygen_xml.py.
      * common: correct usage of compare_exchange_weak().
      * Acceptance tests only use published headers as user code needs the
        headers to use these features. (LP: #1375301)
      * examples, playground: republish the "playground" examples that only
        depend on features used in the acceptance tests.
      * trusted prompt sessions: starting a prompt session with an invalid
        application pid reports an error (LP: #1377968) (LP: #1377968)
    
      [ Christopher James Halse Rogers ]
      * Use std::system_error in preference to std::runtime_error for system
        errors.
      * Remove an obsolete workaround for a clang bug with the lttng
        headers. Fixes LP: #1348472. (LP: #1348472)
      * Add a helper to load all the shared libraries in a directory.
      * Add versioned symbol loading support to SharedLibrary.
      * Add the first cut of a guide for developers to the ELF symbol
        versioning used in Mir DSOs.
      * Use mir::Fd in client RPC code.
     -- Ubuntu daily release <email address hidden>   Mon, 12 Jan 2015 16:07:38 +0000
  • mir (0.8.0+14.10.20141010-0ubuntu1) utopic; urgency=medium
    
      [ Daniel van Vugt ]
      * New upstream release 0.8.0 (https://launchpad.net/mir/+milestone/0.8.0)
        - Enhancements:
          . Less sensitivity to ABI breaks - many headers unused by external
            projects are now hidden and not installed by -dev packaes. If you
            require any headers that are missing, just ask.
          . Touchspots: --enable-touchspots to servers; visually shows touch
            locations (warning: This affects performance LP: #1373692).
          . Client performance reporting: Any Mir client can now get accurate
            performance information (frame rate, render time, buffer lag etc)
            logged to stdout. Just set env MIR_CLIENT_PERF_REPORT=log
          . Further improved touch responsiveness, with less lag and smoother
            scrolling (so long as you don't enable touchspots).
          . Slightly faster builds using precompiled headers.
          . Turn hardware overlays on by default. When in use, this halves the
            CPU usage of a Mir server. Already enabled in unity-system-compositor.
          . More scripting to detect ABI breaks.
          . Improved src/ tree consistency (renamed "src/shared" to "src/common").
          . Improved fatal signal design: Changed from SIGTERM to SIGHUP delivered
            to clients on unexpected server disconnection.
          . Improved library/package design to allow concurrent installations
            of different Mir versions without conflicts.
          . Fd reception code is now common to client and server.
        - ABI summary: Servers need rebuilding, but clients do not;
          . Mirclient ABI unchanged at 8
          . Mircommon ABI bumped to 2
          . Mirplatform ABI bumped to 3
          . Mirserver ABI bumped to 26
        - API changes between Mir 0.7 and 0.8:
          . Lots of headers removed from the public SDK! We have only hidden
            headers not known to be used by any known projects. Please let us
            know if anything is missing - https://bugs.launchpad.net/mir/+filebug
          . graphics::Platform - interface changed significantly.
          . Lots of server API changes to support touchspots.
          . File descriptors now passed as type Fd instead of int32_t.
        - Bug fixes:
          . [regression] Mir deb packages with versioned names cannot be installed
            simultaneously any more (LP: #1293944)
          . A frozen client can hang the whole server (LP: #1350207)
          . QtMir FTBFS: fatal error: mir/input/input_channel.h: No such file or
            directory (LP: #1365934)
          . [regression] platform-api fails to build against Mir 0.8 (LP: #1368354)
          . Mir FTBFS with gcc 4.9.1-14 (utopic update):
            auto_unblock_thread.h:44:46: error: no matching function for call to
            ‘std::thread::thread(<brace-enclosed initializer list>)’ (LP: #1369389)
          . [regression] Compositing is jerky and stutters during touch events
            (LP: #1372850)
          . unit test fails: AndroidInputReceiverSetup.slow_raw_input_doesnt_cause_
            frameskipping (LP: #1373826)
          . intermittent hang in TestClientInput (LP: #1338612)
          . TestClientInput.scene_obscure_motion_events_by_stacking fails
            intermittently (LP: #1361757)
          . [regression] First frame is composited as black (even though the client
            has provided a non-black frame) (LP: #1362444)
          . Some mali drivers crash after repeatedly creating/destroying the mir
            compositor threads (LP: #1362841)
          . [android] SIGTERM to server with connected client causes crash
            (LP: #1364637)
          . [regression] acceptance tests fails in
            ServerDisconnect.causes_client_to_terminate_by_default (LP: #1364772)
          . [regression] symbol lookup error:
            /usr/lib/arm-linux-gnueabihf/libmirserver.so.24: undefined symbol:
            _ZTIN7android7RefBaseE (libmirserver 0.6.1 doesn't work with
            libmircommon 0.7.0) (LP: #1364890)
          . [regression] Mir FTBFS with g++-4.8 [error: ISO C++ forbids casting
            between pointer-to-function and pointer-to-object] (LP: #1366134)
          . Intermittent CI failure in DemoPrivateProtobuf.client_calls_server
            (LP: #1367353)
          . Overly strict libmirplatform* dependencies are blocking CI
            (LP: #1370866)
          . [regression] mir demo servers segfault on shutdown (LP: #1371619)
          . Nested server crashes with SIGSEGV on shutdown in eglDestroyContext()
            (LP: #1372276)
          . [regression] Moving/resizing clients in a nested server is very
            jerky/stuttery (LP: #1372300)
          . [regression] Bypass/overlays are toggling constantly (LP: #1373689)
          . [regression] Mir server uses too much CPU during touch scrolling
            (LP: #1373809)
          . Intermittent test failures in TestClientCursorAPI.* (LP: #1342567)
          . clang emits lots of warnings about lttng headers (LP: #1348472)
          . [enhancement] Draw input event location (LP: #1323522)
          . demo shell: Keep colours consistent, regardless of the physical pixel
            format of your framebuffer (LP: #1375660)
          . tests: Fix SharedLibraryProber test runs on i386. (LP: #1375829)
          . Touchspots rendered as squares on some devices (LP: #1373698)
          . The headers needed to use features shown in the acceptance tests are
            not published (LP: #1375301)
          . update-all-ABI-sha1sums.sh and install_on_android.sh are no longer
            executable. (LP: #1376547)
          . Fix arm64 package by adding arm64 to the shared library prober test.
            (LP: #1379478)
     -- Ubuntu daily release <email address hidden>   Fri, 10 Oct 2014 14:01:26 +0000
  • mir (0.8.0+14.10.20141005-0ubuntu1) 14.09; urgency=medium
    
      [ Daniel van Vugt ]
      * New upstream release 0.8.0 (https://launchpad.net/mir/+milestone/0.8.0)
        - Enhancements:
          . Less sensitivity to ABI breaks - many headers unused by external
            projects are now hidden and not installed by -dev packaes. If you
            require any headers that are missing, just ask.
          . Touchspots: --enable-touchspots to servers; visually shows touch
            locations (warning: This affects performance LP: #1373692).
          . Client performance reporting: Any Mir client can now get accurate
            performance information (frame rate, render time, buffer lag etc)
            logged to stdout. Just set env MIR_CLIENT_PERF_REPORT=log
          . Further improved touch responsiveness, with less lag and smoother
            scrolling (so long as you don't enable touchspots).
          . Slightly faster builds using precompiled headers.
          . Turn hardware overlays on by default. When in use, this halves the
            CPU usage of a Mir server. Already enabled in unity-system-compositor.
          . More scripting to detect ABI breaks.
          . Improved src/ tree consistency (renamed "src/shared" to "src/common").
          . Improved fatal signal design: Changed from SIGTERM to SIGHUP delivered
            to clients on unexpected server disconnection.
          . Improved library/package design to allow concurrent installations
            of different Mir versions without conflicts.
          . Fd reception code is now common to client and server.
        - ABI summary: Servers need rebuilding, but clients do not;
          . Mirclient ABI unchanged at 8
          . Mircommon ABI bumped to 2
          . Mirplatform ABI bumped to 3
          . Mirserver ABI bumped to 26
        - API changes between Mir 0.7 and 0.8:
          . Lots of headers removed from the public SDK! We have only hidden
            headers not known to be used by any known projects. Please let us
            know if anything is missing - https://bugs.launchpad.net/mir/+filebug
          . graphics::Platform - interface changed significantly.
          . Lots of server API changes to support touchspots.
          . File descriptors now passed as type Fd instead of int32_t.
        - Bug fixes:
          . [regression] Mir deb packages with versioned names cannot be installed
            simultaneously any more (LP: #1293944)
          . A frozen client can hang the whole server (LP: #1350207)
          . QtMir FTBFS: fatal error: mir/input/input_channel.h: No such file or
            directory (LP: #1365934)
          . [regression] platform-api fails to build against Mir 0.8 (LP: #1368354)
          . Mir FTBFS with gcc 4.9.1-14 (utopic update):
            auto_unblock_thread.h:44:46: error: no matching function for call to
            ‘std::thread::thread(<brace-enclosed initializer list>)’ (LP: #1369389)
          . [regression] Compositing is jerky and stutters during touch events
            (LP: #1372850)
          . unit test fails: AndroidInputReceiverSetup.slow_raw_input_doesnt_cause_
            frameskipping (LP: #1373826)
          . intermittent hang in TestClientInput (LP: #1338612)
          . TestClientInput.scene_obscure_motion_events_by_stacking fails
            intermittently (LP: #1361757)
          . [regression] First frame is composited as black (even though the client
            has provided a non-black frame) (LP: #1362444)
          . Some mali drivers crash after repeatedly creating/destroying the mir
            compositor threads (LP: #1362841)
          . [android] SIGTERM to server with connected client causes crash
            (LP: #1364637)
          . [regression] acceptance tests fails in
            ServerDisconnect.causes_client_to_terminate_by_default (LP: #1364772)
          . [regression] symbol lookup error:
            /usr/lib/arm-linux-gnueabihf/libmirserver.so.24: undefined symbol:
            _ZTIN7android7RefBaseE (libmirserver 0.6.1 doesn't work with
            libmircommon 0.7.0) (LP: #1364890)
          . [regression] Mir FTBFS with g++-4.8 [error: ISO C++ forbids casting
            between pointer-to-function and pointer-to-object] (LP: #1366134)
          . Intermittent CI failure in DemoPrivateProtobuf.client_calls_server
            (LP: #1367353)
          . Overly strict libmirplatform* dependencies are blocking CI
            (LP: #1370866)
          . [regression] mir demo servers segfault on shutdown (LP: #1371619)
          . Nested server crashes with SIGSEGV on shutdown in eglDestroyContext()
            (LP: #1372276)
          . [regression] Moving/resizing clients in a nested server is very
            jerky/stuttery (LP: #1372300)
          . [regression] Bypass/overlays are toggling constantly (LP: #1373689)
          . [regression] Mir server uses too much CPU during touch scrolling
            (LP: #1373809)
          . Intermittent test failures in TestClientCursorAPI.* (LP: #1342567)
          . clang emits lots of warnings about lttng headers (LP: #1348472)
          . [enhancement] Draw input event location (LP: #1323522)
          . demo shell: Keep colours consistent, regardless of the physical pixel
            format of your framebuffer (LP: #1375660)
          . tests: Fix SharedLibraryProber test runs on i386. (LP: #1375829)
          . Touchspots rendered as squares on some devices (LP: #1373698)
          . The headers needed to use features shown in the acceptance tests are
            not published (LP: #1375301)
          . update-all-ABI-sha1sums.sh and install_on_android.sh are no longer
            executable. (LP: #1376547)
     -- Ubuntu daily release <email address hidden>   Sun, 05 Oct 2014 00:41:28 +0000
  • mir (0.7.3+14.10.20140918.1-0ubuntu1) utopic; urgency=medium
    
      [ Andreas Pokorny ]
      * New upstream release 0.7.3 (https://launchpad.net/mir/+milestone/0.7.3)
        - Bug fixes
          . Fix constructor syntax errors (LP: #1369389)
          . server: Workaround for unresponsive clients causing the server to hang
            (LP: #1350207)
          . Relax strict dependencies of graphics drivers on an exact version
            of the libmirplatform2 package. It's blocking CI. (LP: #1370866)
          . Update cmake scripts to current version of gcovr.
    
      [ Ubuntu daily release ]
      * New rebuild forced
     -- Ubuntu daily release <email address hidden>   Thu, 18 Sep 2014 14:54:51 +0000
  • mir (0.7.3+14.10.20140918.1~rtm-0ubuntu1) 14.09; urgency=medium
    
      [ Andreas Pokorny ]
      * New upstream release 0.7.3 (https://launchpad.net/mir/+milestone/0.7.3)
        - Bug fixes
          . Fix constructor syntax errors (LP: #1369389)
          . server: Workaround for unresponsive clients causing the server to hang
            (LP: #1350207)
          . Relax strict dependencies of graphics drivers on an exact version
            of the libmirplatform2 package. It's blocking CI. (LP: #1370866)
          . Update cmake scripts to current version of gcovr.
    
      [ Ubuntu daily release ]
      * New rebuild forced
     -- Ubuntu daily release <email address hidden>   Thu, 18 Sep 2014 14:54:51 +0000
  • mir (0.7.2+14.10.20140912~rtm-0ubuntu2) 14.09; urgency=medium
    
      [ Alexandros Frantzis ]
      * New upstream release 0.7.2 (https://launchpad.net/mir/+milestone/0.7.2)
        - Bug fixes
          . Restore support for gcc-4.8/trusty (LP: #1366134)
     -- Ubuntu daily release <email address hidden>   Fri, 12 Sep 2014 09:07:49 +0000
  • mir (0.7.1+14.10.20140909.1~rtm-0ubuntu1) 14.09; urgency=medium
    
      [ Alberto Aguirre ]
      * New upstream release 0.7.1 (https://launchpad.net/mir/+milestone/0.7.1)
        - Bug fixes
          . Recycle compositor threads by using a thread pool (LP: #1362841)
     -- Ubuntu daily release <email address hidden>   Tue, 09 Sep 2014 18:28:01 +0000
  • mir (0.7.0+14.10.20140829~rtm-0ubuntu1) 14.09; urgency=medium
    
      [ Daniel van Vugt ]
      * New upstream release 0.7.0 (https://launchpad.net/mir/+milestone/0.7.0)
        - Enhancements:
          . Test suite: Reworked mechanism to override Mir client functions
          . Demo shell: Detect custom rendering (decorations) to make it
            compatible with overlay optimizations
          . Make sure to preserve fd resources until the end of the sending
            of the message
          . Add test cases and script for tracking changes to the new ABIs:
            libmircommon, libmirplatform
          . Symbols file for libmirplatform
          . Symbols file for libmircommon
          . Symbols file for libmirserver
          . Various improvements to the SessionMediator test
          . Various build related improvements
          . Print testcase output during package build
          . Abort test when InProcessServer startup fails
          . Link the integration and unit tests against the server objects
          . Add a document detailing the useful tests to run and the useful
            logs to collect when troubleshooting a new android chipset
          . Enable motion event resampling and prediction for a more responsive
            touch experience.
        - ABI summary: Servers need rebuilding, but clients do not
          . Mirclient ABI unchanged at 8
          . Mircommon ABI bumped to 1
          . Mirplatform ABI bumped to 2
          . Mirserver ABI bumped to 25
        - API changes
          . Deleted function - frontend::Shell::create_surface_for(). If you have
            the std::shared_ptr<frontend::Session> session, you can just do
            session->create_surface(params) instead to get a SurfaceId
        - Bug fixes:
          . Ensure we process lifecycle events before the nested server is torn
            down (LP: #1353465)
          . Fix race in InputTestingServerConfiguration (LP: #1354446)
          . Fix fd leaks in prompt session frontend code and tests (LP: #1353461)
          . Detect the additional things the demo shell draws on the renderable
            list and avoid calling the optimized post function if they are being
            drawn (LP: #1348330)
          . Client: Fix SIGTERM dispatch in our default lifecycle event handler
            (LP: #1353867)
          . DemoRenderer: Don't try to create a texture of width zero.
            (LP: #1358210)
          . Fix CI failures (LP: #1358698)
          . Fix build failure: "variable ‘rc’ set but not used" which happens in
            release mode when NDEBUG is set (LP: #1358625)
          . Only enumerate exposed input surfaces to avoid delivering events to
            occluded surfaces (LP: #1359264)
          . Android: do not post driver cancelled buffers (LP: #1359406)
          . Client: Ensure our platform library stays loaded for as long as it is
            needed by other objects (LP: #1358191)
          . Examples: Register the DemoCompositor with the Scene to properly
            process visibility events (LP: #1359487)
          . Mir_demo_client_basic: Don't assert on user errors like failing to
            connect to a Mir server (LP: #1331958)
          . Tests: Explicitly depend on GMock target to avoid build races
            (LP: #1362646)
    
      [ Ubuntu daily release ]
      * New rebuild forced
    
    mir (0.6.1+14.10.20140814-0ubuntu1) utopic; urgency=medium
    
      [ Daniel van Vugt ]
      * New upstream release 0.6.1 (https://launchpad.net/mir/+milestone/0.6.1)
        - Bugs fixed:
          . libmircommon-dev 0.6.0+14.10.20140811-0ubuntu1 fails to
            install/upgrade, does not replace mircommon-dev
            0.5.1+14.10.20140728-0ubuntu1 (LP: #1348515)
          . Nexus 4 client lock up observed (LP: #1352883)
    
      [ Ubuntu daily release ]
      * New rebuild forced
    
    mir (0.6.0+14.10.20140811-0ubuntu1) utopic; urgency=medium
    
      [ Cemil Azizoglu ]
      * New upstream release 0.6.0 (https://launchpad.net/mir/+milestone/0.6.0)
        - mirclient ABI unchanged at 8. Clients do not need rebuilding.
        - mirserver ABI bumped to 24. Servers need rebuilding, but probably don't
          need modification:
          . Host lifecycle event listener for nested servers introduced.
          . Add query function to BasicSurface.
          . The (deprecated) function the_ipc_factory() is now removed.
          . Removed legacy support for overriding the focus controller or the
            frontend shell.
          . Added support for a common type for managing fd's.
          . Moved testdraw library to examples directory.
          . Added support for droping stale frames when a surface becomes exposed.
        - Enhancements:
          . Split underlying data transport out of MirSocketRpcChannel.
          . Introduced two new client-side functions : mir_surface_get_focus and
            mir_surface_get_visibility.
          . Added symbolic names for cursors.
          . Made "shared" code a true shared library.
          . Provide linker scripts to control symbols exported by [mesa|android]
            libmirclientplatform.
          . Correct xcursor loader test to fail properly instead of segfaulting.
          . Make mir::Fd type copy constructible.
          . Miscellaneous packaging related enhancements.
          . Miscellaneous build related enhancements.
          . Added automated test cases for detecting ABI breakage.
          . examples/fingerpaint: Enable frame dropping so it's faster and more
            responsive.
          . mirprotobuf folded into new libmircommon.
          . Don't propagate exceptions to graphics driver code.
          . Dropped unused/minimally used dependencies : boost-filesystem,
            boost-thread, boost-chrono, boost-regex.
          . platform: provide support for customizing Mir's behavior when a
            fatal_error occurs.
          . Expose an interface for touch visualization.
        - Bugs fixed:
          . Mir servers crash with SIGABRT - assertion failed at
            buffer_queue.cpp:136 - "!pending_client_notifications.empty()"
            (LP: #1335481)
          . [regression][hammerhead] Mir fails to start on Nexus 5 & 10 as it
            fails to turn vsync signal on (LP: #1345533)
          . [qtcomp] Random crash in Mir input when running AP tests: [terminate
            called after throwing an instance of '...' what(): assign: File exists]
            when constructing a mir::AsioMainLoop::FDHandler (LP: #1346952)
          . CI builds fail when trying to install libmircommon-dev (LP: #1348518)
          . [regression] Mir 0.6 GL clients crash immediately on startup (Mesa is
            trying to use X11 instead of Mir) (LP: #1350163)
          . qmlscene crashed with SIGSEGV in _M_release() on quit (LP: #1342694)
          . Clients cannot create surfaces when the screen is off (LP: #1344024)
          . The packaging of headers and libraries is confused (LP: #1347522)
          . [regression] Intermittent CI failure in
            ClientLibrary.receives_surface_dpi_value (LP: #1348095)
          . Installing mir-demos also unexpectedly installs *-dev packages
            (LP: #1297100)
          . mir_unit_tests: XCursorLoader.loads_cursors_from_testing_theme crashes
            on N4 (LP: #1342029)
          . [performance] Mir is spending at least 8% of its time in
             __android_log_print() (LP: #1343074)
          . [performance] Mir demo shell spends ~12% of its time in vector
            allocation under DemoRenderer::tessellate_*() (LP: #1349698)
          . mir_client_library_debug.h functions do not have C linkage
            (LP: #1349742)
          . mir client API is missing getters for some surface attributes
            (LP: #1336553)
          . Building Mir outputs lots of warnings about Android logging functions
            in 3rd_party/ (LP: #1348467)
          . The "shared" code should be a shared library (LP: #1341502)
          . Finish the removal of mirprotobuf library (LP: #1351133)
          . Release overlay buffers when screen is turned off (LP: #1350961)
          . mir_demo_server_shell --disable-overlays false renders incorrectly
            on android (partial fix for LP: #1348330)
          . Remember to honor MIR_ENABLE_TESTS and not emit tests if it's disabled
            (LP: #1352800)
          . Make it easier to separate command line options used by Mir from those
            used elsewhere (LP: #1351255)
          . Expose create_native_platform in libmirplatformgraphics.so
            (LP: #1353658)
          . Add versioning and pkg config to libmirplatform (LP: #1293944)
          . unity-system-compositor FTBFS against Mir: undefined reference to
            `...@MIR_CLIENT_8' (LP: #1355021)
    
      [ Ubuntu daily release ]
      * New rebuild forced
    
    mir (0.5.1+14.10.20140728-0ubuntu1) utopic; urgency=medium
    
      [ Kevin Gunn ]
      * Fixed: Crash due to racing input registration & surface removal
        (LP: #1346952)
    
      [ Ubuntu daily release ]
      * New rebuild forced
    
    mir (0.5.0+14.10.20140724-0ubuntu1) utopic; urgency=medium
    
      [ Kevin Gunn ]
      * Fixed: Crashing on assert of empty client notification queue (LP: #1335481)
    
    mir (0.5.0+14.10.20140722-0ubuntu1) utopic; urgency=medium
    
      [ Kevin Gunn ]
      * Fixed: [regression] Mir fails to start on Nexus 5 / Nexus 10 (LP: #1345533)
    
    mir (0.5.0+14.10.20140717-0ubuntu1) utopic; urgency=medium
    
      [ Daniel van Vugt ]
      * New upstream release 0.5.0 (https://launchpad.net/mir/+milestone/0.5.0)
        - mirclient ABI unchanged at 8. Clients do not need rebuilding.
        - mirserver ABI bumped to 23. Servers need rebuilding, but probably don't
          need modification:
          . DefaultServerConfiguration/Cursor API: Cursor interfaces changed, most
            notably CursorImages moved from ::mir::graphics to ::mir::input.
          . DefaultServerConfiguration: New "prompt" API.
          . DefaultServerConfiguration: "clock" member is now static.
          . SessionAuthorizer: New functions.
          . ServerConfiguration: New function added: the_prompt_connector().
        - Enhancements:
          . Add AddressSanitizer cmake build type.
          . frontend, client API, tests: add support for prompt session
            permissions and for client detecting errors.
          . server: Ensure our emergency cleanup handling infrastructure is
            signal-safe.
          . Implement and enable an xcursor based image loader for cursors.
          . Fix warnings raised by the new g++-4.9.
          . shared, scene: Introduce a generic listener collection.
          . MirMotionEvent: Define a struct typedef to allow for
            pointer_coordinates to be used individually.
        - Bugs fixed:
          . Nexus 10 leaks during overlay operations (LP: #1331769)
          . MultiThreadedCompositor deadlocks (LP: #1335311)
          . Intermittent test failure in ClientSurfaceEvents can client query
            orientation (LP: #1335741)
          . Intermittent test failure in ClientSurfaceEvents/OrientationEvents
            (LP: #1335752)
          . Intermittent memory error in ClientSurfaceEvents on
            orientation query (LP: #1335819)
          . mir_unit_tests.EventDistributorTest.* SEGFAULT (LP: #1338902)
          . [regression] Device locks randomly on welcome screen (LP: #1339700)
          . Intermittent deadlock when switching to session with custom display
            config & closing other session (LP: #1340669)
          . Mir cursor has no hotspot setting, assumes (0, 0) (LP: #1189775)
          . clang built mir_unit_tests.ProtobufSocketCommunicatorFD crashes
            intermittently (LP: #1300653)
          . g++-4.9 binary incompatibilities with libraries built with g++-4.8
            (LP: #1329089)
          . [test regression] SurfaceLoop fails sporadically on deleting surfaces
            for a disconnecting client (LP: #1335747)
          . Intermittent test failure ServerShutdown when clients are blocked
            (LP: #1335873)
          . [regression] mir_demo_client_multiwin is displayed with obviously
            wrong colours (LP: #1339471)
          . Partially onscreen surfaces not occluded when covered by another
            surface (LP: #1340078)
          . SurfaceConfigurator::attribute_set always say "unfocused" for focus
            property changes (LP: #1336548)
    
    mir (0.4.1+14.10.20140714-0ubuntu1) utopic; urgency=medium
    
      [ Daniel van Vugt ]
      * Bug fix release 0.4.1 (https://launchpad.net/mir/+milestone/0.4.1) fixes:
        - [regression] Device locks randomly on welcome screen (LP: #1339700)
    
    mir (0.4.0+14.10.20140701.1-0ubuntu1) utopic; urgency=medium
    
      * New upstream release 0.4.0 (https://launchpad.net/mir/+milestone/0.4.0)
        - mirclient ABI bumped to 8. Clients need rebuilding.
          . Add surface attribute for visibility.
          . Add surface orientation API.
        - mirserver ABI bumped to 22. Shells need rebuilding.
          . Change compositor::Scene to expose compositor::SceneElements instead
            of graphics::Renderables.
          . Change various input and Surface classes to support the client cursor
            API.
          . Support unregistering fd handlers in the EventHandlerRegister and
            related interfaces (MainLoop).
          . server: Change mc::Scene to deal in mc::SceneElements instead of
            mg::Renderables.
          . Add visibility tracking to mc::SceneElement interface and
            implementations.
          . Move InputChannelFactory into DefaultServerConfiguration.
        - Unregister FD Handler from EventHandlerRegister.
        - Sending user input events through Surfaces.
        - Allow setting the orientation of a server surface.
        - Enable client cursor API.
        - Enable support for USB touchscreens.
        - Various test improvements.
        - Bugs fixed:
          . can't display toolbar after dismissing it (LP: #1332632)
          . [regression] demo client connection crashes the server (LP: #1334010)
          . demo server locks up in certain scenarios with --disable-overlays
            false when starting/stopping second clients (LP: #1329868)
          . MultiThreadedCompositor deadlocks (LP: #1335311)
          . Intermittent memory error in
            ClientSurfaceEvents.client_can_query_current_orientation (LP: #1335819)
          . Intermittent hang & fail in mir_acceptance_tests.TestClientCursorAPI.*
            (LP: #1332011)
          . MirClientSurfaceTests tests leak fds and eventually hang when ran
            repeatedly (LP: #1333673)
          . [testfail] Intermittent "Invalid read" in MirSurfaceSwapBuffersTest.
            swap_buffers_does_not_block_when_surface_is_not_composited
            (LP: #1334287)
          . android: support alpha blending during hwc overlay (LP: #1329879)
    
    mir (0.3.0+14.10.20140618.1-0ubuntu1) utopic; urgency=medium
    
      [ Cemil Azizoglu ]
      * New upstream release 0.3.0 (https://launchpad.net/mir/+milestone/0.3.0)
        - mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
        - mirserver ABI bumped to 21. Shells need rebuilding.
          . Divide swap_client_buffers into separate functions.
          . Allow buffer swapping even when compositor is turned off or blocked.
            (LP: #1308843, 1308844)
          . Wire the cursor client API through the session mediator to the surface
            observer.
          . Generate destination alpha for alpha enabled display buffers.
          . Named threads.
          . Support for prompt sessions :
            https://wiki.ubuntu.com/Security/TrustStoreAndSessions.
    
        - mirscreencast screenshots now produce images with correct color instead
          of transparency.
        - Rename bind_to_texture->gl_bind_to_texture.
        - Refinements in test infrastructure.
        - Phablet: allow disabling the overlays via a command line switch.
        - Unify the DisplayBuffer interface's optimization functions
          behind post_renderables_if_optimizable.
        - Clean up the DisplayDevice interface so that it doesn't require the
          functions are called in any particular order.
        - Phablet:  graphics: android: preserve buffer ownership for onscreen
          overlay layers until the subsequent display posting.
        - Allow the platform to register emergency cleanup handlers in order to
          restore the graphics system to a sane state when the server fails
          abruptly.
    
        - Bugs fixed:
           . Mirscreencast outputs translucency instead of shadows, producing
             incorrect images. (LP: #1301210)
           . JSON formatting. (LP: #1324902)
           . Fix input_area_contains to work properly in global coordinates even
             when input_rectangles is updated. (LP: #1261647)
           . Allow a moment for clients to acquire a buffer. (LP: #1317370)
           . Generate correct alpha by changing blending equation to assume
             pre-multiplied alpha sources. (LP: #1318852)
           . Rework the recomposition messaging so that the DisplayBufferCompositor
             is no longer involved. (LP: #1319907)
      [ Ubuntu daily release ]
      * New rebuild forced
    
    mir (0.2.0+14.10.20140605-0ubuntu1) utopic; urgency=medium
    
      [ Daniel van Vugt ]
      * New upstream release 0.2.0 (https://launchpad.net/mir/+milestone/0.2.0)
        - mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
        - mirserver ABI bumped to 20. Shells need rebuilding.
          . Cursor::set_image() parameters changed.
          . Display::the_cursor() renamed to Display::create_hardware_cursor()
          . Platform::create_display() requires a new parameter; gl_program_factory
          . Renderable::buffer() no longer accepts any parameter at all. Multi-
            monitor frame sync is guaranteed in other ways now.
          . Scene::generate_renderable_list() renamed to renderable_list_for(id)
            where id is an opaque compositor ID of your choosing.
          . Scene::set_change_callback() replaced by the more generic:
            add_observer() and remove_observer() functions.
          . Added default implementation for SceneObserver.
          . SessionCreator renamed to ConnectionCreator.
          . ConnectedSessions renamed to Connections.
          . ProtobufSessionCreator renamed to ProtobufConnectionCreator.
          . SessionAuthorizer: pid_t parameters replaced by SessionCredentials.
          . Massive architectural changes to Input-everything.
          . Surface no longer implements Renderable, but emits one via
            compositor_snapshot().
          . Pass the full renderable list to Renderer::render().
          . Graceful handling of exceptions thrown from server threads.
          . Clarify size position interfaces in the Surface classes.
          . Plumbing for trusted sessions.
          . Allow posting and managing custom main-loop actions.
          . Timer extension.
          . Identify client process when client connects to Mir not when socket
            connects.
          . Use the ServerActionQueue for display config.
          . Recomposition signal moved to the MultiThreadedCompositor.
          . Make timer service replaceable.
          . Clarify assumptions about how many buffers a client can fill without
            blocking.
          . Introduce EmergencyCleanup interface.
        - Demo shell enhancements:
          . You can now change graphics modes on the fly using Ctrl+Alt+(-/=).
            To reset to the preferred mode use Ctrl+Alt+0.
          . The above mode changing as well as existing screen rotation keys
            (Ctrl+Alt+arrows) are now per-display; only applied to the monitor
            the mouse pointer is on.
          . New shell controls documented.
        - A new testing category, performance test, was introduced. It currently
          runs glmark2-es2 and compares the result to a minimum threshold.
        - MIR_VERSION_MINOR is tied to MIRSERVER_ABI in the sense that a change
          in the former now requires dependent projects that a rebuild is
          necessary.
        - SwitchingBundle was replaced by BufferQueue.
        - Expand credentials to include uid/gid for session authorizer.
        - Bypass control is now Mesa-specific and tied to the command line options.
          So the environment variable MIR_BYPASS has changed to MIR_SERVER_BYPASS.
        - Ongoing architectural changes in the compositor/renderer logic to
          prepare for overlay support, and to reduce locking overhead.
        - Made InputDispatcher replaceable.
        - Progress made on new cursor interfaces with the end goal of client and
          toolkit control of the mouse cursor appearance. More work required.
        - Updated cross-compile docs and scripts to support the latest utopic
          devel images.
        - Replaced uses of android::sp with std::shared_ptr.
        - Client cursor API infrastructure.
        - Enabled eglSwapInternal(0).
        - Make texture caching algorithm reuseable.
        - Add a DPI surface attribute.
        - Exclude arm64 from build.
        - Bugs fixed:
          . Mir doesn't install cleanly if docs are not built. (LP: #1304271)
          . Unity-system-compositor crashed [what(): Failed to set DRM crtc].
            (LP: #1294510)
          . [regression] unity8 fails to load libmirplatformgraphics
            (undefined symbol: _ZN3mir8graphics9GLProgramD1Ev). (LP: #1317200)
          . [regression] unity8 rendering artifacts. (LP: #1317260)
          . [regression] [BufferQueue]
            BufferQueueTest.compositor_never_owns_client_buffers occasionally
            crashes with: what(): unexpected release: buffer was not given to
            compositor. (LP: #1317801)
          . Hardcoded size for serialization buffers is neither reliable nor
            secure. (LP: #1320187)
          . [regression] [BufferQueue] mir does not composite last client given
            buffer. (LP: #1321861)
          . [regression] stale frame on seen on greeter when screen is unblanked
            and toolkit/apps are laggy/throttled. (LP: #1321886)
          . [regression] [BufferQueue] current_buffer_users vector memory usage
            grows unbounded. (LP: #1317808)
          . Intermittent test failures in
            CustomInputDispatcherFixture.custom_input_dispatcher_receives_input.
            (LP: #1318587)
          . [regression] [BufferQueue] Race condition in
            BufferQueue::compositor_acquire could underflow shared_ptr refcount and
            delete prematurely, crash. (LP: #1318632)
          . Overflow in
            mir::client::rpc::MirSocketRpcChannel::receive_file_descriptors as
            reported by address sanitizer. (LP: #1320821)
          . [regression] [input] Scroll events are now always zero:
            event.motion.pointer_coordinates[0].vscroll. (LP: #1321077)
          . CI failures in CustomInputDispatcherFixture
            .custom_input_dispatcher_gets_started_and_stopped. (LP: #1321215)
          . [regression] Mir cursor vanishes after switching VTs. (LP: #1323225)
          . Server library links against libmirserverlttng. (LP: #1323317)
          . [DRM/GBM] Killing (or crashing) Mir often leaves the screen blank and
            difficult to recover. (LP: #1189770)
          . Frame rates of GL clients are limited to 60Hz on Android, even with
            swapinterval=0. (LP: #1206400)
          . mir_surface_is_valid(NULL) crashes instead of returning false.
            (LP: #1248474)
          . [regression] tests/unit-tests/shell/test_mediating_display_changer.cpp
            is not compiled and executed. (LP: #1312832)
          . Android platform does not reset the compositionType to HWC_FRAMEBUFFER
            before prepare() on every frame. (LP: #1314399)
          . The client process is identified when the socket connects, not when the
            client connects to Mir. (LP: #1314574)
          . [regression] Clients can't acquire multiple buffers any more.
            (LP: #1315302)
          . [regression] Enabling SwitchingBundleTest
            DISABLED_synchronous_clients_only_get_two_real_buffers now crashes with
            no usable stack trace. It used to only fail. (LP: #1315312)
          . [regression] [BufferQueue] double-buffered client freezes as no buffer
            is returned on compositor_release. (LP: #1319765)
          . Uninitialized mem in OutputBuilder.hwc_version_11_success.
            (LP: #1312867)
          . [enhancement] In the tests make it possible to get a
            DefaultConfiguration initialized from the command line (LP: #1316987)
          . ci train blocked due to missing arm64 libandroid-properties-dev.
            (LP: #1323504)
      [ Ubuntu daily release ]
      * New rebuild forced
    
    mir (0.1.9+14.10.20140430.1-0ubuntu1) utopic; urgency=medium
    
      [ Daniel van Vugt ]
      * New upstream release 0.1.9 (https://launchpad.net/mir/+milestone/0.1.9)
        - mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
        - mirserver ABI bumped to 19. Shells need rebuilding.
        - More libmirserver class changes and reorganization, including;
          . Moving things from shell:: to scene::
          . Rewriting/refactoring surface factories.
        - Added an id() to Renderable.
        - Scene/Renderer interfaces:
          . Scene is no longer responsible for its own iteration (no for_each
            any more). Instead you should iterate over the list returned by
            Scene::generate_renderable_list().
        - Bugs fixed:
          . Stale socket issue. (LP: #1285215)
          . Qt render gets blocked on EGLSwapBuffers. (LP: #1292306)
          . Lock order violated found in helgrind (potential deadlock).
            (LP: #1296544)
          . [regression] SwitchingBundle in framedropping mode can hang.
            (LP: #1306464)
          . [DPMS] Display backlight turns back on almost immediately after
            being turned off. (LP: #1231857)
          . Wrong frame is seen on wake up/resume/unlock. (LP: #1233564)
          . Nested platform is not testable (LP: #1299101)
          . [regression] mir_demo_server_shell crashes on display resume.
            (LP: #1308941)
          . Multi-threaded composition is actually mostly serialized by
            SurfaceStack::guard. (LP: #1234018)
          . Mirscreencast slows down compositing and makes it very jerky.
            (LP: #1280938)
          . Mirscreencast can cause clients to render faster than the screen
            refresh rate. (LP: #1294361)
          . Screen turns on when a new session/surface appears. (LP: #1297876)
          . mir-doc package is >56MB in size, expands to >100MB of files.
            (LP: #1304998)
          . [regression] Clang: 'mir::test::doubles::MockSurface::visible'
            hides overloaded virtual function [-Woverloaded-virtual].
            (LP: #1301135)
          . [regression] GLRenderer* unit tests have recently become noisy.
            (LP: #1308905)
          . FocusController::set_focus_to() no longer seems to raise a session
            to the top. (LP: #1302689)
    
      [ Ubuntu daily release ]
      * New rebuild forced
    
    mir (0.1.8+14.04.20140411-0ubuntu1) trusty; urgency=medium
    
      [ Daniel van Vugt ]
      * New upstream release 0.1.8 (https://launchpad.net/mir/+milestone/0.1.8)
        - mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
        - mirserver ABI bumped to 18. Shells need rebuilding.
        - Server API changes affecting shells:
          . GLRenderer::tessellate() changed syntax.
          . graphics::Platform::create_display() has a new parameter allowing you
            to customize the compositor's (E)GL configutation.
          . Renderable::buffer(unsigned long frameno) is now:
            Renderable::buffer(void const* user_id). See below.
          . Renderable::should_be_rendered_in() is replaced by a more natural:
            Renderable::visble()
          . input::Surface::name() returns by value instead of reference now,
            to ensure future thread safety.
        - Switched EventHub device enumeration and hotplug to Udev. NOTE! This
          means mir_test_* can't run natively on touch devices any more without
          some setup first:
            sudo mount -o remount,rw /
            sudo apt-get update
            sudo apt-get install -y umockdev
            umockdev-run -- bin/mir_unit_tests
        - Added logging for HWC events.
        - Continued consolidation of Surface classes toward a simpler architecture.
        - Introduced "RenderableList" as the way to sample the Scene contents,
          and started using that in the default compositor.
        - Introduced physical length units and conversion (geometry::Length) in
          preparation for arbitrary DPI rendering.
        - Added some decorations to demo-shell; shadows and basic title bars, all
          anti-aliased and high-DPI scalable.
        - Multi-monitor frame sync has been redesigned to eliminate the need for
          frame number tracking.
        - Bugs (and enhancements) resolved:
          . [enhancement] Please move input detection to libudev (LP: #1237784)
          . [enhancement] Add a clamping resize mode to GLRenderer (LP: #1259887)
          . [regression] Intermittent loss of multimonitor frame sync
            (LP: #1290306)
          . [enhancement] Make GL config options configurable (LP: #1290780)
          . memcheck-test doesn't test anything when DISABLED_GTEST_DISCOVERY is
            enabled (LP: #1291876)
          . "Error opening DRM device" is always followed by "Unknown error -(some
            negative number)" (LP: #1292384)
          . Rendering/composition gets stopped early (LP: #1293896)
          . Ubuntu Touch Settings and terminal apps are not rendering correctly on
            rotate. (LP: #1294048)
          . [regression] Apps are much slower to open (LP: #1294051)
          . Settings app opens to a blank screen unless given enough time to render
            or the app is touched (LP: #1294053)
          . TestClientInput/DemoPrivateProtobuf memory leak is causing regular CI
            test failures (LP: #1295231)
          . OSK touch events "fall through" and hit surface behind them
            (LP: #1297878)
          . [enhancement] add a test for composite of last client post
            (LP: #1298596)
          . [regression] Surfaces vanish as soon as their edges touch the edge of
            screen (LP: #1301115)
      * Cherry-picked from future release 0.1.9:
        - Bug fix: mirplatformgraphics does not have boost program options in its
          symbol table (LP: #1301040)
        - Bug fix: unity8 crashed with SIGSEGV in glDeleteTextures() from
          mir::scene::GLPixelBuffer::~GLPixelBuffer() from
          mir::scene::ThreadedSnapshotStrategy::~ThreadedSnapshotStrategy()
          (LP: #1256360)
    
      [ Ubuntu daily release ]
      * New rebuild forced
    
    mir (0.1.7+14.04.20140318-0ubuntu1) trusty; urgency=low
    
      [ Alberto Aguirre ]
      * Fix not compositing the client's last posted buffer (LP: #1294048,
        LP: #1294051, LP: #1294053, LP: #1290306) In single-display cases
        the number of ready buffers decreases after a buffer is acquired by
        the rendering operator. Determine if there will be uncomposited
        buffers before acquiring a buffer so it works for single and multi
        display use cases. (LP: #1294048, #1290306, #1294051, #1294053)
    
    mir (0.1.7+14.04.20140317.1-0ubuntu1) trusty; urgency=medium
    
      [ Daniel van Vugt ]
      * New upstream release 0.1.7 (https://launchpad.net/mir/+milestone/0.1.7)
        - mirserver ABI bumped to 17
        - mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
        - Server API changes (AKA why doesn't my code build any more?):
          . Class "CompositingCriteria" has been removed. It's replaced by the more
            flexible "Renderable" interface. This also resulted in parameter
            changes for the Renderer and scene filtering classes.
          . The function "DisplayConfiguration::configure_output()" has been
            removed. Instead, please use the new mutable version of
            "DisplayConfiguration::for_each_output()" with which you can modify
            the output structure passed in on each iteration.
          . Exposed formerly private class "GLRenderer" and demonstrated how
            to override its behaviour in demo-shell. This area is under
            construction and may experience further major changes.
        - Added initial support for hardware (HWC) overlays to accelerate
          rendering and reduce power consumption. Not complete yet.
        - Screen rotation: Added mouse cursor rotation support, so you can now
          still control things on a rotated screen. Still missing rotation of
          the cursor bitmap itself.
        - Lots of fixes to support nested Mir servers (see below).
        - Major simplification to how surface size/position/transformation
          interact, making transformations much easier to manage and work with.
        - Bugs fixed:
          . ./cross-compile-chroot.sh: line 83: popd: build-android-arm: invalid
            argument popd: usage: popd [-n] [+N | -N] (LP: #1287600)
          . Key events sent to the wrong client (and delayed) (LP: #1213804)
          . Nested servers never receive input events (in their filters)
            (LP: #1260612)
          . Software clients crash immediately on nested servers - what(): Failed
            to mmap buffer (LP: #1261286)
          . MirMotionEvent lacks local coordinates. Reports only screen
            coordinates. (LP: #1268819)
          . Nested Mir crashes with - what():
            MesaNativePlatform::create_internal_client is not implemented yet!
            (LP: #1279092)
          . clients fail to find some libraries if mir installed via "make install"
            (LP: #1285566)
          . Nested server hangs with multimonitor and internal clients.
            (LP: #1287282)
          . [regression] Multi-monitor frame sync no longer works (not
            synchronized), and frames skip/jump/stutter (LP: #1288570)
          . Mir FTBFS: /usr/bin/ld: cannot find -lmirtestdraw (when cmake ..
            -DMIR_ENABLE_TESTS=OFF) (LP: #1283951)
          . nested Mir library calls next_buffer() during startup (LP: #1284739)
          . Building Mir produces lots of warnings from GLM headers about
            deprecated degrees values vs radians (LP: #1286010)
          . [enhancement] screencast of a single window (LP: #1288478)
          . Nexus4 + mir_demo_client_eglplasma starts to stutter after a while
            (LP: #1189753)
          . --host-socket documented default argument isn't used as default
            (LP: #1262091)
    
      [ Ubuntu daily release ]
      * New rebuild forced
    
    mir (0.1.6+14.04.20140310-0ubuntu1) trusty; urgency=medium
    
      [ Kevin Gunn ]
      * Cherry-picked from future release 0.1.7:
        - Enhancement: options: Make it easier to customize DefaultConfiguration
        - Bug fix: Don't pass a parameter to bash's popd command. It doesn't expect
          one and will return an error from cross-compile-chroot.sh. (LP: #1287600)
      * New upstream release 0.1.6 (https://launchpad.net/mir/+milestone/0.1.6)
        - mirserver ABI bumped to 16.
        - Server API changes:
          . Report classes have moved to new namespaces/components. Please
            consult the server headers.
          . General clean-ups and virtual function changes affecting the ABI
            (a rebuild is required for all shells).
        - mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
        - Add new feature: Screen recording ("screencasting") as demonstrated by
          the new mir-util "mirscreencast".
        - debian: Provide platform packages managed with dpkg alternatives.
        - Add new valgrind suppressions (mostly for armhf right now)
        - tools: Add new libmirclientplatform.so to install_on_android.sh.
        - Add "mir_demo_standalone_render_overlays", which is a free-standing
          example of overlay support.
        - Proper DisplayConfiguration for the AndroidDisplay to be better
          prepared for multi-monitor Android.
        - Commenced/continued simplifying the surface class hierarchy: BasicSurface
          has now absorbed SurfaceData.
        - Dynamically load the client platform library.
        - Bugs fixed:
          . Exceptions thrown from within compositing threads were untraceable,
            resulting in a bunch of undebuggable crash reports (LP: #1237332)
          . Ensure we close drm device file descriptors on exec. (LP: #1284081)
          . nested render_surfaces fails on N4 [std::exception::what: Failed to
            compile vertex shader:] (LP: #1284597)
          . examples: correct "fullscreen-surfaces" option. (LP: #1284554)
          . Fix mutex data race reported by helgrind in integration test:
            SwapperSwappingStress (LP: #1282886)
          . scene: Return null snapshots for sessions without surfaces
            (LP: #1281728)
          . tests: Address some raciness in
            MesaDisplayTest.drm_device_change_event_triggers_handler.
            (LP: #1283085)
          . tests: Suppress spurious memory errors occuring when running the
            unit tests on armhf with valgrind. (LP: #1279438)
          . Mir shows an old frame on client startup (for Mesa GL clients)
            (LP: #1281938)
          . tests: Add expectation to validate second SessionAuthorizer method
            is called wit correct parameter. (LP: #1218436)
          . Set field "current_format" when sending a display config to the
            server. (LP: #1277343)
          . Fix crash in android devices by working around a subtle threading
            bug, use a dummy thead_local array to push the gl/egl context TLS
            into a region where the future wait code does not overwrite it.
            (LP: #1280086)
          . compositor: calling SwitchingBundle::force_requests_to_complete()
            can be a no-op when there are no requests. (LP: #1281145)
          . tests: Don't emit an "add" uevent manually when adding a device
            (LP: #1281146)
          . config: reduce size of default RPC thread pool. (LP: #1233001)
          . Clients freeze on startup if 10 or more are already running
            (LP: #1267323)
          . Fix Nexus 10 leaking FDs in the hwc prepare/set loop. (LP: #1278658)
          . Parallelize page flipping with rendering of the next frame, fixing
            stuttering observed in multi-monitor clone mode (LP: #1213801)
          . Ubuntu trusty update "glm 0.9.5.1-1" broke Mir builds. Work around the
            change. (LP: #1285955)
          . Screencast feature by compositing to offscreen buffer (LP: #1207312)
    
      [ Ubuntu daily release ]
      * New rebuild forced
    
    mir (0.1.5+14.04.20140212-0ubuntu1) trusty; urgency=medium
    
      [ Kevin Gunn ]
      * Cherry-picked from future release 0.1.6:
        - frontend, shell: provide the client process ID in the shell::Session
          interface (LP: #1276704)
      * New upstream release 0.1.5 (https://launchpad.net/mir/+milestone/0.1.5)
        - mirclient ABI bumped to 7
        - mirserver ABI bumped to 15
        - Refactoring to support client-controled RPC.
        - Add an translucent server example (use sparingly, this will kill
          performance!)
        - Add workaround for Qualcomm Snapdragon 8960 driver bug.
        - android-input: Improve debug output
        - Screen rotation support half done (rotation of the screen works but input
          rotation not implemented yet).
        - Add groundwork for overlay support to take better advantage of mobile
          hardware features and optimize composition in future.
        - Add support for HWC 1.2 (Android 4.4)
        - Add groundwork for screencasting (screen recording).
        - Optimized surface resizing, significantly reducing event flooding for
          some input configurations like touch.
        - Bugs fixed:
          . Surfaces no longer visible at all on Nexus 10 (LP: #1271853)
          . mir nested server failure: what(): error binding buffer to texture
            (LP: #1272041)
          . Unity does not process events from evdev device created before unity is
            restarted (autopilot tests) (LP: #1238417)
          . mir_unit_tests can't run on touch images any more (missing
            libumockdev.so.0) (LP: #1271434)
          . chmod 777 /tmp/mir_socket is no longer sufficient for non-root clients
            to connect to a root server (LP: #1272143)
          . Nexus7(2013) flo framerate maxes out at 30fps (LP: #1274189)
          . libmirserver user is unable to #include
             <mir/frontend/template_protobuf_message_processor.h> (LP: #1276162)
          . libmirclient user cannot "#include <mir/client/private.h>"
            (LP: #1276565)
          . AndroidInternalClient.internal_client_creation_and_use hangs on Nexus
            10 (LP: #1270685)
          . Tests that use the InProcessServer bind the default socket file
            (LP: #1271604)
          . BasicConnector threads exit immediately (LP: #1271655)
          . Integration tests TestClientIPCRender.test_accelerated_render fails on
            Galaxy Nexus and Nexus4 (LP: #1272597)
          . Android backend unit-tests FTBS on amd64 (LP: #1276621)
          . Erroneous use of last_consumed in SwitchingBundle::compositor_acquire
            (LP: #1270964)
    
    mir (0.1.4+14.04.20140204-0ubuntu1) trusty; urgency=medium
    
      [ Daniel van Vugt ]
      * New upstream release 0.1.4 (https://launchpad.net/mir/+milestone/0.1.4)
        - Fixed snapshotting and flicker problems for Unity8 on various Nexus
          devices.
        - Enhanced reporting of performance information:
          . Report input latency in InputReport/InputReceiverReport.
          . Added a CompositorReport for logging compositor performance and state.
        - Added a new package "mir-utils" containing new tools:
          . mirping: Displays round-trip times between client and server
          . mirout: Displays the monitor layout/configuration details
        - Added GL texture caching to improve performance when multiple surfaces
          are visible.
        - Added opacity controls to mir_demo_server_shell
        - Mir server ABI bumped to 13. Client ABI bumped to 5.
        - Removed lots of Android headers, replaced by build-dep: android-headers
        - Added support for translucent nested servers.
        - tests: Fix unitialized values and incorrect fd closing loops
        - Fix unitialized values and incorrect fd closing loops.
        - client: Add basic MirScreencast C API.
        - config: start moving default values for config options from all the
          call sites to the setup
        - tests: Provide a helper for running clients with a stub ClientPlatform.
        - android: split out HWC layers into their own file and add a
          mga::CompositionLayer type that depends on the interface mg::Renderable.
        - client: Add basic MirOutputCapture class.
        - client: Don't create mesa ClientBuffer objects from invalid
          MirBufferPackages.
        - Optimize surface resizing to avoid doing anything if the dimensions
          are unchanged.
        - SwitchingBundle - add operator<< for debugging.
        - support hwcomposer 1.2 for android 4.4 on nexus 4 (which needs hwc1.2
          support). This patch adds hwc1.2 device construction, as well as progs
          the 'skip' layer in HWC to the buffer properties of the framebuffer.
        - demo-shell: Add simple keyboard controls to rotate outputs; Ctrl +
          Alt + <arrow-key>. Fixes: https://bugs.launchpad.net/bugs/1203215.
        - frontend: exposing internals of the RPC mechanism to enable custom
          function calls to be added.
        - Make udev wrapper into a top-level citizen
        - compositor: ignore double requests to start or stop the
          MultiThreadedCompositor.
        - Add DisplayBuffer::orientation(), to tell the Renderer if we need it
          to do screen rotation in GL (for platforms which don't implement
          rotation natively) Fixes: https://bugs.launchpad.net/bugs/1203215.
        - graphics: add an post_update function that takes a list of renderables
          to the display buffer. This will let the display buffer take advantage
          of full-surface overlays on android.
        - android-input: Improve debug output
        - the stock qcom 8960 hwcomposer chokes on getDisplayAttributes if the
          submitted arrays are not at least size 6. patched the qcom android 4.2
          hwcomposer driver on the ubuntu touch images to work properly, but
          causes us problems with in-the wild drivers, and the new 4.4 drivers.
          Make sure we always submit a larger-than-needed array to this function.
        - frontend: refactoring to make it easier to expose the underlying RPC
          transport on the server side.
        - Don't assume pressure value is zero if not yet known
        - build: Expose options to allow building but not running tests by default.
        - Translucent Server which prefers a transparent pixel format
        - frontend: refactor ProtobufMessageProcessor to separate out generic
          response sending logic from specific message handling.
        - client: expose the part of the client RPC infrastructure needed for
          downstream to prototype their own message sending.
        - Bugs fixed:
          . unity8 display flickers and stops responding on Nexus 7 (grouper)
            (LP: #1238695)
          . Mir gets textures/buffers confused when running both scroll and flicker
            demos (LP: #1263592)
          . Some snapshots on Nexus10 upside-down (LP: #1263741)
          . mir_unit_tests is crashing with SIGSEGV in libhybris gl functions
            (LP: #1264968)
          . Some snapshots on Nexus10 have swapped red/blue channels (LP: #1265787)
          . Bypass causes some non-bypassed surfaces (on top) to be invisible
            (LP: #1266385)
          . helgrind: Possible data race - MirConnection::mutex not used
            consistently (LP: #1243575)
          . helgrind: Lock order violated (potential deadlock) in
            ConnectionSurfaceMap (LP: #1243576)
          . helgrind: Possible data race - inconsistent locking in PendingCallCache
            (LP: #1243578)
          . helgrind: Lock order violated in
            mir::client::ConnectionSurfaceMap::erase(int) (LP: #1243584)
          . [enhancement] Allow a Mir nested server to have a transparent
            background (LP: #1256702)
          . Compiling without tests fails (-DMIR_ENABLE_TESTS=NO) (LP: #1263724)
          . examples, doc: Make it clear and consistent how to use
            a non-root client with a root compositor endpoint.
            (LP: #1272143)
          . Avoid linking to umockdev on platforms (android) which don't yet
            use it. This allows mir_unit_tests to run on touch images again
            (LP: #1271434)
          . Workaround for N4 nested server issue. This change removes
            mir_pixel_format_bgr_888 - HAL_PIXEL_FORMAT_RGB_888 from the
            list of supported pixel formats on android. (LP: #1272041)
          . Don't ask glUniformMatrix4fv to transpose your matrix. That option
            was officially deprecated between OpenGL and OpenGL|ES. And some
            drivers like the Nexus 10 don't implement it, resulting in incorrect
            transformations and even nothing on screen! (LP: #1271853)
          . Fixes: bug 1272143 (LP: #1272143)
          . fix integration test failure on the galaxy nexus that was due to
            creating two surfaces and registering the same buffer twice. Fixes:
            (LP: #1272597)
          . Implement screen rotation in GLRenderer, for platforms
            which can't do it natively in DisplayBuffer.
            (LP: #1203215)
          . Add an "orientation" field to output structures in preparation for
            screen rotation. It's not yet functionally wired to anything.
            (LP: #1203215)
          . Only use SwitchingBundle::last_consumed after it has been
            set. Otherwise SwitchingBundle::compositor_acquire could follow a bogus
            code path. (LP:#1270964)
          . tests: Override configuration to avoid creating an (unused)
            filesystem endpoint for connections when using InProcessServer.
            (LP: #1271604)
          . frontend: ensure that BasicConnector threads don't exit
            immediately. (LP: #1271655)
    
      [ Ubuntu daily release ]
      * New rebuild forced
    
    mir (0.1.3+14.04.20140108-0ubuntu3) trusty; urgency=medium
    
      * No-change rebuild against libprotobuf8 (this time from a clean tree)
    
    mir (0.1.3+14.04.20140108-0ubuntu2) trusty; urgency=medium
    
      * No-change rebuild against libprotobuf8
    
    mir (0.1.3+14.04.20140108-0ubuntu1) trusty; urgency=low
    
      [ Daniel van Vugt ]
      * Preparing for release 0.1.3
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1170
    
    mir (0.1.2+14.04.20131128.1-0ubuntu2) trusty; urgency=low
    
      * No-change rebuild for ust.
    
    mir (0.1.2+14.04.20131128.1-0ubuntu1) trusty; urgency=low
    
      [ Kevin Gunn ]
      * New upstream release 0.1.2
        - graphics: android: improve interface for mga::DisplayDevice so its
          just concerned with rendering and posting.
        - surfaces: rename "surfaces" component to "scene".
        - surfaces, shell: Migrate Session data model from shell to surfaces.
        - graphics: change fill_ipc_package() to use real pointers.
        - mir_client_library.h: Fix typo "do and locking" should be "do any
          locking".
        - API enumerations cleanup: Remove slightly misleading *_enum_max_
          values, and replace them with more accurate plural forms.
        - test_android_communication_package: Do not expect opened fd to be >0,
          we may have closed stdin making this a valid value (LP: #1247718).
        - Update docs about running Mir on the desktop to mention new package
          ubuntu-desktop-mir.
        - offscreen: Add a display that renders its output to offscreen buffers
        - graphics: android: fix regression for hwc1.0 devices introduced in r1228
          (LP: #1252433).
        - OffscreenPlatform provides the services that the offscreen display
          needs from the Platform.
        - graphics: android: consolidate the GLContexts classes in use.
        - Fix uninitialized variable causing random drm_auth_magic test
          failures. (LP: #1252144).
        - Add a fullyish functional Udev wrapper. This currently sits in
          graphics/gbm, but will be moved to the top-level when input device
          detection migrates.
        - Add resizing support to example code; demo-shell and clients.
        - eglapp: Clarify messages about pixel formats (LP: #1168304).
        - Adds support to the MirMotionEvent under pointer_coordinates called
          tool_type. This will allow clients to tell what type of tool is
          being used, from mouse/finger/etc. (LP: #1252498)
        - client,frontend: Report the real available surface pixel formats to
          clients. (LP: #1240833)
        - graphics: android: 1) change hwc1.1 to make use of sync fences during
          the compositor's gl renderloop. Note that we no longer wait for the
          render to complete, we pass this responsibility to the driver and the
          kernel. 2) support nexus 10. (LP: #1252173) (LP: #1203268)
        - shell: don't publish SurfacesContainer - it can be private to shell.
        - gbm: Don't mess up the VT mode on setup failure Only restore the
          previous VT mode during shutdown if it was VT_AUTO.
        - Fix a crash due to a failed eglMakeCurrent() call when in nested mode.
        - shell: unity-mir uses shell::FocusSetter - make the header public again
        - Add resize support to client surfaces (mir::client::MirSurface).
        - graphics: android: support 'old aka 2012' nexus 7 hwc (nvidia tegra3
          SoC) better. (LP: #1231917)
        - Add resize support to *ClientBuffer classes. Now always get dimensions
          from the latest buffer package.
        - android: support driver hooks for the Mali T604 (present in nexus 10)
        - Add width and height to the protocol Buffer messages, in preparation
          for resizable surfaces.
        - surfaces, shell, logging, tests: don't publish headers
          that can be private to surfaces. surfaces/basic_surface.h,
          surfaces/surface_controller.h and shell/surface_builder.h
        - examples: Restore GL framebuffer binding when destroying the render
          target
        - examples, surfaces, shell: remove render_surfaces dependency on
          BasicSurface
        - geometry: remove implementation of streaming operators from headers
          (LP: #1247820)
        - Eliminate the registration order focus sequence, folding it's
          functionality in to the session container.
        - Ensure the session mediator releases acquired buffer resources before
          attempting to acquire a new buffer on behalf of the client. This fixes
          performance regression (LP: #1249210).
        - Some cleanups to test_client_input.cpp.
        - Factor out a bunch of "ClientConfigCommon".
        - Small cleanup to session container test to increase encapsulation.
        - shell, surfaces: Another step in "fixing" the surfaces hierarchies -
          only publish interfaces and putting the data model into surfaces.
        - graphics: android: HWC1.1 use EGL to get further information about
          the framebuffer pixel format.
        - Fix FTBS using use_debflags=ON (building for android-armhf).
          (LP: #1248014)
        - Add a client input receiver report.
        - doc: doxygen 1.8.4 complains about an obsolete config so ran "doxygen
          u Doxyfile.in".
        - Implement resize() for the server-side Surface classes.
        - android: clean up mga::DisplayBuffer and mga::DisplayBufferFactory
        - Add resize() support to BufferStream, in preparation for resizable
          surfaces.
        - Merge metadata changes from the newly reconstructed lp:mir
        - tests: Deduplicate mg::GraphicBufferAllocator stubs.
        - examples: Remove spurious use of mir/shell/surface.h.
        - frontend: remove ClientTrackingSurface from the Surface class
          hierarchy
        - Bumping ABI on server to libmirserver11.
        - Don't mention "Renderable". That interface hasn't existed for quite
          some time now.
        - android-input: Assign more unique touch ids
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1167
    
    mir (0.1.1+14.04.20131120-0ubuntu1) trusty; urgency=low
    
      [ Daniel van Vugt ]
      * New upstream release 0.1.1
        - Add unit tests for V/H scroll events.
        - surfaces: avoid publishing some internal headers, tidy up default
          configuration, integrate surfaces report.
        - client: Add mir_connection_drm_set_gbm_device()
        - graphics: avoid publishing some internal headers.
        - Fixed: unity-system-compositor FTBFS on trusty against new Mir
          (libmirserver9) (LP: #1244192)
        - compositor: avoid publishing some internal headers.
        - shell: Add set_lifecycle_state() to the Session interface.
        - frontend: avoid publishing some internal headers
        - logging: avoid publishing some internal headers.
        - Allow specifying the nested server name by passing --name= or setting
          MIR_SERVER_NAME=.
        - graphics,gbm: Inform the EGL platform about the used gbm device when
          using the native GBM platform
        - examples: Restore GL state after initializing buffers, fixing crashes
          observed in render_surfaces (LP: #1234563)
        - Continue refactoring the mir android display classes.
        - shell: Hoist focus control functions needed by unity-mir into
          FocusController interface
        - client: Remove the timeout for detecting server crashes
        - Avoid a race condition that could lead to spurious failures of server
          shutdown tests (LP: #1245336)
        - test_client_input.cpp: Bump reception time-out in client test fixture.
          (LP: #1227683)
        - Ensure StubBufferAllocator returns buffers with the properties requested,
          and not the same old hardcoded constants.
        - Update docs and scripting for trusty.
        - compositor: Make DefaultDisplayBufferCompositorFactory private to the
          compositor component.
        - Ignore warnings clang treats as errors, about unused functions being
          generated from macros in <lttng/tracepoint.h> (LP: #1246590)
        - Add resize() support to BufferBundle. This is the first step and lowest
          level of surface resize support.
        - Clean up constants relating to SwitchingBundle.
        - Fix the armhf chroot setup script to point to the right library, so
          cross compiling can work again (LP: #1246975)
        - shell: avoid publishing some internal headers.
        - input: avoid publishing some internal headers.
      * Bump timeouts used in socket testing. It seems 100ms isn't always
        enough, which leads to spurious test failures (LP: #1252144) (LP:
        #1252144)
      * Fix uninitialized variable causing random drm_auth_magic test
        failures. (LP: #1252144). (LP: #1252144)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1165
    
    mir (0.1.0+14.04.20131030-0ubuntu1) trusty; urgency=low
    
      [ Ubuntu daily release ]
      * New rebuild forced
    
      [ Alan Griffiths ]
      * client: Remove the timeout for detecting server crashes There are
        valid cases when the server blocks for an indeterminate amount of
        time during a client request, like when a next_buffer request blocks
        because a surface is not visible or the server is paused. In such
        cases, the timeout mechanism we used to detect server crashes caused
        the clients to fail. Furthermore, the clients seem able to detect
        server crashes without the timeout, rendering it needless anyway.
        (LP: #1245958)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1161
    
    mir (0.1.0+14.04.20131028-0ubuntu1) trusty; urgency=low
    
      [ Daniel van Vugt ]
      * Bump version 0.1.0
      * Add method for testing if Rectangle::contains(Rectangle), which is
        the basis of any occlusion detection. (LP: #1227739)
      * Add support for traversing the Scene from front surface to back.
        This is required for occlusion detection at least (coming soon). .
        (LP: #1227739)
      * Optimization: Turn off blending for surfaces that are not blendable.
        On some systems this can have a noticeable performance benefit.
      * Avoid rendering surfaces that are fully hidden by other surfaces.
        This is particularly important for mobile device performance. (LP:
        #1227739) . (LP: #1227739)
      * Remove orphaned tags, which appear to have come from the Compiz
        project (!?) Add tags for the most recent releases up to 0.0.16. No
        files changed, only tags.
      * Fix significant performance issues LP: #1241369 / LP: #1241371, and
        probably more(!) Added regression test to catch such regressions and
        revert the offending commit r1049. (LP: #1241369, #1241371)
    
      [ Brandon Schaefer ]
      * When Scroll events come in we don't keep around the android vscroll
        hscroll data. Store it now. (LP: #1233089)
    
      [ Albert Astals ]
      * Fix mismatched free() / delete / delete [] reported by valgrind
    
      [ Alexandros Frantzis ]
      * server: Extend server status (formerly pause/resume) listener to
        report "started" events This change is needed by users of
        libmirserver, so they can properly synchronize external interactions
        with the server. (LP: #1239876)
      * graphics,examples: Don't enable more outputs than supported when
        changing the display configuration. (LP: #1217877)
      * client: Allow clients to call API functions after a connection break
        has been detected When a client tries to call an API function after
        a connection break has been detected in a previous API call, the
        client blocks in the new call. This happens because in
        MirSocketRpcChannel::notify_disconnected() the pending RPC calls are
        not forced to complete, since the channel has already been marked as
        'disconnected' by the failure in the previous call. Note that if the
        break is first detected while calling an API function, then that
        call doesn't block, since this is the first time we call
        MirSocketRpcChannel::notify_disconnected() and the pending RPC calls
        are forced to complete. This commit solves this problem by always
        forcing requests to complete when a communication failure occurs,
        even if a disconnection has already been handled. This is preferred
        over the alternative of manually calling the completion callback in
        a try-catch block when calling an RPC method because of: 1.
        Correctness: In case the communication problem first occurs in that
        call, the callback will be called twice, once by
        notify_disconnected() and once manually. 2. Consistency: The
        callback is called from one place regardless of whether the
        communication problem is first detected during that call or not.
        (LP: #1201436)
      * graphics: Improve signature of native platform initialization method
        Use an interface to provide the functionality needed by native
        platforms.
    
      [ Eleni Maria Stea ]
      * Test GBMBufferAllocatorTest.bypass_disables_via_environment
        overrides the MIR_BYPASS env variable, causing other tests that use
        the MIR_BYPASS to fail when we run the unit-tests with --
        gtest_repeat=N, N>1. Set back the MIR_BYPASS env. var. (LP:
        #1238000)
    
      [ Kevin DuBois ]
      * fix: lp 1239577 TestClientIPCRender (an android-only gfx driver
        test) was hanging due to changes in signal handling. refactor the
        test, changing the cross-process sync mechanism so it doesn't use
        sigcont. (LP: #1239577)
      * graphics: android: eliminate one of the two DisplayBuffers. both
        hwc/gpu displays use the same displaybuffer now. .
    
      [ Daniel d'Andrada ]
      * Add InputReader performance test.
    
      [ Alan Griffiths ]
      * logging: correct component tag in connector report.
      * client: fix hang(s) in client API when server dies. (LP: #1227743)
      * Fix failing acceptance-test:
        ServerShutdown/OnSignal.removes_endpoint_on_signal (LP: #1237710)
        Avoid fatal_signal_cleanup getting caught in a loop restoring itself
        and then re-entering itself. This could happen in some permutations
        of acceptance-tests where run_mir is entered with
        fatal_signal_cleanup already set up from previous tests' server
        instances. (LP: #1237710)
      * CMake: remove creation of link to non-existent file.
      * shared: some utility functions to provide some consistent ways to
        use RAII and application of these functions to some code that has
        had RAII related discussions recently.
      * config: separate out the configuration options from the
        configuration builder.
      * config: ensure USC can access
        DefaultConfigurationOptions::parse_options (LP: #1244192) (LP:
        #1244192)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1161
    
    mir (0.0.15+13.10.20131014-0ubuntu2) trusty; urgency=low
    
      * No change rebuild for Boost 1.54 transition.
    
    mir (0.0.15+13.10.20131014-0ubuntu1) saucy; urgency=low
    
      [ Kevin Gunn ]
      * bump version 0.0.15
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1133
    
    mir (0.0.14+13.10.20131011-0ubuntu1) saucy; urgency=low
    
      [ thomas-voss ]
      * Clean up duplicate instances of the valid connections set. Remove
        the static instances from the header file. (LP: #1238312) Requested
        to be merged directly to lp:mir by didrocks, tvoss. (LP: #1238312)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1097
    
    mir (0.0.14+13.10.20131010-0ubuntu1) saucy; urgency=low
    
      [ Colin Watson ]
      * Don't build-depend on valgrind on arm64 for now, as it is not yet
        ported there.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1095
    
    mir (0.0.14+13.10.20131009.4-0ubuntu1) saucy; urgency=low
    
      [Kevin Gunn]
      * bump version to 0.0.14
    
      [ Robert Carr ]
      * Hold ms::Surface alive from msh::Surface, and remove the explicit
        throw calls. This way holding a shared_ptr to msh::Surface becomes
        safe (as long as you drop it eventually!). (LP: #1234609). (LP:
        #1234609)
    
      [ Alan Griffiths ]
      * client: use lock_guard as it is simpler than unique_lock. (fix for
        mallit) frontend: Remove the endpoint first when shutting down.
        Fixes bug lp#1235159. (LP: #1235159)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1093
    
    mir (0.0.13+13.10.20131003-0ubuntu1) saucy; urgency=low
    
      [ Kevin Gunn ]
      * bump version to 0.0.13
    
      [ Daniel d'Andrada ]
      * Fix for LP#1233944 Fixes the Mir-side of bug
        https://bugs.launchpad.net/mir/+bug/1233944 Event files are first
        created with root:root permissions and only later udev rules are
        applied to it, changing its permissions to root:android-input and
        therefore making it readable by unity8-mir in short: Retry opening a
        file when its permissions change as it might be readable now. (LP:
        #1233944)
    
      [ Robert Carr ]
      * Fix for LP#1233944 Fixes the Mir-side of bug
        https://bugs.launchpad.net/mir/+bug/1233944 Event files are first
        created with root:root permissions and only later udev rules are
        applied to it, changing its permissions to root:android-input and
        therefore making it readable by unity8-mir in short: Retry opening a
        file when its permissions change as it might be readable now. (LP:
        #1233944)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1089
    
    mir (0.0.12+13.10.20131001.1-0ubuntu1) saucy; urgency=low
    
      [ Michael Terry ]
      * merge latest dev branch.
    
      [ Kevin DuBois ]
      * merge latest dev branch.
    
      [ Daniel d'Andrada ]
      * merge latest dev branch.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1086
    
    mir (0.0.12+13.10.20130926.1-0ubuntu1) saucy; urgency=low
    
      [ Robert Ancell ]
      * Bump version to 0.0.12
    
      [ Alexandros Frantzis ]
      * tests: Fix compiler warning about maybe-uninitialized struct member
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1084
    
    mir (0.0.11+13.10.20130924.1-0ubuntu1) saucy; urgency=low
    
      [ kg ]
      * bump version for ABI break (LP: #1229212)
    
      [ Robert Ancell ]
      * Allow an application to override the options being populated.
      * Pass the program options to parse_options().
      * Add missing include for std::cerr.
      * Report when paused and resumed via configuration. (LP: #1192843)
      * Add missing directory separator when searching for a config file to
        parse.
    
      [ Kevin Gunn ]
      * change test timeouts and fix fence.
    
      [ Alexandros Frantzis ]
      * examples: Only check key information for key events This fixes a
        memory error reported by valgrind for examples that use eglapp.
      * shell: Apply the base configuration on a hardware change only if no
        per-session configuration is active.
      * graphics: consolidated fixed for nested code and examples on android
        stack.
    
      [ Eleni Maria Stea ]
      * graphics: Pull in Eleni's changes to get the DRM fd to init GBM from
        the host Mir instance.
    
      [ Didier Roche ]
      * remove (unused in the ppa as we have libmirserver3) hack to force
        depending and building against the exact same version.
    
      [ Robert Carr ]
      * Add DPMS configuration API. (LP: #1193222)
      * Deduplicate mtd::NullDisplayConfig and
        mtd::NullDisplayConfiguration.
      * Fix multiple internal client surfaces on android. (LP: #1228144)
      * change test timeouts and fix fence.
      * Add DPMS API and GBM/android impls.
    
      [ Kevin DuBois ]
      * platform, graphics: support nested (mir-on-mir) rendering on the
        Android platform.
    
      [ Michael Terry ]
      * Change how Mir chooses socket locations to make it simpler for a
        nested-Mir world, by using MIR_SOCKET as the host socket if no other
        host socket is provided and passing MIR_SOCKET on to any children.
        Also, change --nested-mode to --host-socket for clarity and add --
        standalone to force standalone mode.
    
      [ Daniel d'Andrada ]
      * android-input housekeeping - Updated README - Removed some dead
        code.
    
      [ Daniel van Vugt ]
      * Add DPMS configuration API. (LP: #1193222)
      * Add a "flags" field to MirBufferPackage so that clients can find out
        if the buffer they've been given is scanout-capable. This is
        normally something a client should never need to know. However there
        are two specialized cases where it's required to fix bugs in the
        intel and radeon X drivers:   LP: #1218735, LP: #1218815 The intel
        fix (already landed) contains a hack which will be updated after
        this branch lands. (LP: #1218815, #1218735)
      * GBM: Ensure that we don't create scanout buffers if bypass is
        explicitly disabled from the environment. (LP: #1227133) . (LP:
        #1227133)
    
      [ Alan Griffiths ]
      * graphics: Pull in Eleni's changes to get the DRM fd to init GBM from
        the host Mir instance.
      * input: Separate the code for dispatching input from that reading it.
      * graphics: Hook up nested surfaces events to input.
      * input: Connect nested input relay to input dispatch.
      * graphics: Simplify NativeAndroidPlatform out of existence.
      * tests: Fixes to get the tests "passing" on android/arm stack. (LP:
        #1226284)
      * graphics: consolidated fixed for nested code and examples on android
        stack.
      * examples: add command-line options to examples so the Mir server
        connection can be selected.
      * change test timeouts and fix fence.
      * client: Add client side support for connecting via an existing FD.
    
      [ Łukasz 'sil2100' Zemczak ]
      * Revert revision 1054 ABI-change (the libmirclient3 one), which seems
        to cause a lot of problems.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1081
    
    mir (0.0.10+13.10.20130904-0ubuntu1) saucy; urgency=low
    
      [ Kevin DuBois ]
      * fix lp:1220441 (a test for android display ID was not updated). (LP:
        #1220441)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1051
    
    mir (0.0.10+13.10.20130903-0ubuntu1) saucy; urgency=low
    
      [ Daniel van Vugt ]
      * SwitchingBundle: Simplify and clarify guarantees that
        compositor_acquire always has a buffer to return without blocking or
        throwing an exception. The trade-off is that to enforce the
        guarantee we need to permanently reserve one buffer for compositing.
        This reduces the flexibility of SwitchingBundle a little, such that
        minimum nbuffers is now 2. This was originally requested by
        Alexandros, as the potential throw concerned him. Although, it was
        logically guaranteed to never happen for other reasons. The second
        reason for doing this is to eliminate recycling logic, which while
        safe and correct, was quite confusing. So this change further proves
        that that logic (now removed) is not to blame for frame ordering
        bugs. .
    
      [ Christopher James Halse Rogers ]
      * Synthesise an unfocused event on destruction of a focused window We
        probably need to rethink focus entirely, but this is an incremental
        improvement that I need.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1049
    
    mir (0.0.10+13.10.20130902-0ubuntu1) saucy; urgency=low
    
      [ Alan Griffiths ]
      * graphics: tidy up the roles and responsibilities of nested classes.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1046
    
    mir (0.0.10+13.10.20130830.1-0ubuntu1) saucy; urgency=low
    
      [ Alan Griffiths ]
      * config, input: make nested::HostConnection available in
        input::NestedInput.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1044
    
    mir (0.0.10+13.10.20130830-0ubuntu1) saucy; urgency=low
    
      [ Daniel van Vugt ]
      * Dramatically improved multi-monitor frame synchronization, using a
        global frame count equivalent to the highest refresh rate of all
        monitors. This is much more reliable than the old logic which was
        based on timers. This fixes LP: #1210478. (LP: #1210478)
      * Remove dead code: surfaces::Surface::compositor_buffer() It's
        unused. Though I suspect in future we might or should go back to
        using it instead of accessing the buffer stream directly (r856). .
    
      [ Alan Griffiths ]
      * graphcs, config: make the nested HostConnection available in
        configuration.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1042
    
    mir (0.0.10+13.10.20130829.2-0ubuntu1) saucy; urgency=low
    
      [ Daniel van Vugt ]
      * eglapp: Add a new option -oN to force the surface placement onto
        output N. Unfortunately we haven't yet written any tool to tell you
        what your output IDs are.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1038
    
    mir (0.0.10+13.10.20130829.1-0ubuntu1) saucy; urgency=low
    
      [ Alan Griffiths ]
      * config, input: default_android_input_configuration.cpp should only
        use public headers.
      * config, input: Stubbed version of input for nested mir.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1036
    
    mir (0.0.10+13.10.20130829-0ubuntu1) saucy; urgency=low
    
      [ Daniel van Vugt ]
      * Add "composition bypass" support, whereby fullscreen surfaces are
        allowed to go straight to the display hardware without being
        composited at all, hence avoiding the overhead of any OpenGL or
        texturing where possible. Hardware support: intel: Excellent radeon:
        Good, but REQUIRES kernel 3.11.0 nouveau: Good, but REQUIRES kernel
        3.11.0 android: No bypass implemented yet. (LP: #1109963)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1033
    
    mir (0.0.10+13.10.20130828.1-0ubuntu1) saucy; urgency=low
    
      [ Daniel van Vugt ]
      * I've noticed some confusion in the community around the purposes of
        the mir_demo_* binaries. For example: - Users expected
        mir_demo_client to do something. - Users expected mir_demo_server to
        be useful, when they would get more use from mir_demo_server_shell.
        - Users thought mir_demo_client_{un}accelerated were the only
        examples of {un}accelerated clients. This proposal renames
        mir_demo_client_* to more accurately describe what they are and what
        they do. .
    
      [ Alan Griffiths ]
      * graphics: make nested code compatable with "bypass" branch.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1031
    
    mir (0.0.10+13.10.20130828-0ubuntu1) saucy; urgency=low
    
      [ Alan Griffiths ]
      * graphics.nested: sketch out NestedOutput implementation.
    
      [ Eleni Maria Stea ]
      * removed the struct NativeGBMPlatform from gbm_platform.cpp and added
        a NativeGBMPlatform class instead.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1028
    
    mir (0.0.10+13.10.20130827.1-0ubuntu1) saucy; urgency=low
    
      [ Alan Griffiths ]
      * ipc: add a protocol version to the wire protocol so that we can bump
        it in future.
      * graphics::nested: Handling of output configuration changes.
      * graphics.nested: Hookup NestedDisplay to display change
        notifications.
    
      [ Daniel van Vugt ]
      * Introducing mir_demo_client_progressbar. It's pretty boring;
        designed to simulate key repeat scrolling in a terminal, as an aid
        for tracking down bug 1216472. . (LP: #1216472)
    
      [ Eleni Maria Stea ]
      * changed the GBMBufferAllocator constructor and class to use the
        gbm_device instead of the GBMPlatform to remove the dependency from
        the mg::Platform interface - this way we can use the
        GBMBufferAllocator with the NativeGBMPlatform (nested mir).
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1025
    
    mir (0.0.10+13.10.20130827-0ubuntu1) saucy; urgency=low
    
      [ Robert Ancell ]
      * Allow the Mir server socket to be set with the MIR_SOCKET enviroment
        variable.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1019
    
    mir (0.0.10+13.10.20130826.1-0ubuntu1) saucy; urgency=low
    
      [ Christopher James Halse Rogers ]
      * Fix server-side tracking of client buffers When the server knows the
        client has a given buffer cached it only needs to send the BufferID
        rather than the full IPC package. While this is an optimisation,
        it's also required for correctness - the client will not clean up
        fds for buffers it has cached, so if the server sends a full IPC
        package for a buffer the client knows about any buffer fds leak. The
        buffer cache is per-surface on the client side, but was per-session
        on the server side. This meant that the server did not accurately
        track the client's buffers, resulting in it sending unexpected fds
        that the client then leaked. Fix this by making the buffer tracker
        per-surface server-side.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1017
    
    mir (0.0.10+13.10.20130826-0ubuntu1) saucy; urgency=low
    
      [ Daniel van Vugt ]
      * Fix uninitialized fields causing strange exceptions in some clients
        such as fingerpaint and multiwin since r991. (LP: #1215754) The
        uninitialized field output_id was only introduced in r991. Of
        course, giving it an invalid value should not cause such wacky
        exceptions. I'll log a bug to improve the error checking separately.
        (LP: #1215754)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1015
    
    mir (0.0.10-0ubuntu1) saucy; urgency=low
    
      * New release
    
    mir (0.0.9+13.10.20130825.1-0ubuntu1) saucy; urgency=low
    
      [ Daniel van Vugt ]
      * Disambiguate an exception message which could come from three
        places: Output has no associated crtc with more rich and meaningful
        information: Output <NAME> has no associated CRTC to <ACTION> on.
    
      [ Robert Carr ]
      * SessionMediator must hold only a weak reference to the session. (LP:
        #1195089)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1012
    
    mir (0.0.9+13.10.20130825-0ubuntu1) saucy; urgency=low
    
      [ Ricardo Mendoza ]
      * Add whitespace to prevent errors in non -fpermissive compilations.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1009
    
    mir (0.0.9+13.10.20130823.3-0ubuntu1) saucy; urgency=low
    
      [ Alan Griffiths ]
      * mir: std::hash support for mir::IntWrapper<> .
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1007
    
    mir (0.0.9+13.10.20130823.2-0ubuntu1) saucy; urgency=low
    
      [ Ricardo Mendoza ]
      * * Implement lifecycle events interface.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1005
    
    mir (0.0.9+13.10.20130823.1-0ubuntu1) saucy; urgency=low
    
      [ Kevin DuBois ]
      * Send focus notifications to client. (LP: #1196744, #1192843,
        #1102757, #1201435)
    
      [ Robert Carr ]
      * Send focus notifications to client. (LP: #1196744, #1192843,
        #1102757, #1201435)
    
      [ Alan Griffiths ]
      * graphics: spike of NestedDisplayConfiguration.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1003
    
    mir (0.0.9+13.10.20130823-0ubuntu1) saucy; urgency=low
    
      [ Daniel van Vugt ]
      * event_sender.cpp: I've never seen this before. So it should not have
        my name on it.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 1000
    
    mir (0.0.9+13.10.20130822.1-0ubuntu1) saucy; urgency=low
    
      [ Daniel van Vugt ]
      * Revert the grey background. It's too visually intrusive while we
        don't yet have the ability to give a shell any control over
        compositing (and override GLRenderer::clear) like it should
        eventually have. (LP: #1215322). (LP: #1215322)
    
      [ Alan Griffiths ]
      * graphics: Fills in some more bits of NestedDisplay.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 998
    
    mir (0.0.9+13.10.20130822-0ubuntu1) saucy; urgency=low
    
      [ Daniel van Vugt ]
      * eglplasma: Don't include the alpha component in gradient
        calculations. We want the whole surface to be opaque. (LP:
        #1215285). (LP: #1215285)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 995
    
    mir (0.0.9+13.10.20130821.1-0ubuntu1) saucy; urgency=low
    
      [ Daniel van Vugt ]
      * Make compositor::Scene lockable. This allows us to do multiple
        operations on a scene atomically using a nice simple:
        std::lock_guard<Scene> lock(scene); In the short term, this is
        required by the bypass branch. In the longer term it will also be
        useful if/when Scene gets an iterator.
      * Check a connection is valid (not NULL) before trying to dereference
        it. Such a NULL dereference led to worrying valgrind errors seen in
        LP: #1212516. (LP: #1212516)
    
      [ Alan Griffiths ]
      * graphics: hard-wire nested Mir to create an output for every host
        output.
    
      [ Alexandros Frantzis ]
      * Allow clients to specify the output they want to place a surface in.
        Only fullscreen placements are supported for now, but the policy is
        easy to change. This MP breaks the client API/ABI, so I bumped the
        client ABI version. I took this opportunity to rename some fields in
        MirDisplayConfiguration to improve consistency. .
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 993
    
    mir (0.0.9+13.10.20130821-0ubuntu1) saucy; urgency=low
    
      [ Brandon Schaefer ]
      * Release the mir surfaces when done in multiwin demo.
      * Clean up config->cards when were are deleting the display config.
    
      [ Alexandros Frantzis ]
      * server: Handle both user initiated and hardware display changes with
        MediatingDisplayChanger Enhance MediatingDisplayChanger to handle
        both user initiated display changes and hardware changes, by making
        it implement two interfaces for the two responsibilities
        (mg::DisplayChanger, mf::DisplayChanger).
      * shell: Notify sessions when the display configuration changes This
        patchset implements client notifications for display configuration
        changes. It also adds a mir_demo_client_display_config example which
        can be used to test and demo client initiated display configuration
        changes. Use of the example uncovered some issues that are also
        fixed by this patchset (see individual commits for more info).
      * shell: Add infrastructure for emitting and handling session related
        events.
      * shell: Support per-session display configurations This MP adds
        support for per-session display configurations, i.e., configurations
        that are active only when the client that submitted them has the
        focus. mir_connection_apply_display_config() now changes the session
        display configuration instead of the base/global one.
    
      [ Alan Griffiths ]
      * graphics::nested: sketch out some more of the nested mir
        implementation.
      * tests: Workaround for test timeout under valgrind. (LP: #1212518)
      * config: use the DisplayServer to hold ownership of system
        components, not the DefaultServerConfiguration.
      * graphics: Start on the NativePlatform interface.
      * graphics: Split the output state out of the NestedDisplay class.
    
      [ Daniel van Vugt ]
      * setup-android-dependencies.sh: Update for saucy flipped phablet
        images.
      * Give Mir a grey background by default, so you can see which monitors
        it is using.
    
      [ Eleni Maria Stea ]
      * graphics::nested: sketch out some more of the nested mir
        implementation.
      * nested_platform.cpp functions.
    
      [ Robert Carr ]
      * Pass session through placement strategy.
    
      [ Christopher James Halse Rogers ]
      * Add a little extra debugging API.
      * Add missing mutex around display config call.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 988
    
    mir (0.0.9+13.10.20130813-0ubuntu1) saucy; urgency=low
    
      [ Daniel d'Andrada ]
      * Add mir_surface_type_inputmethod enum value.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 970
    
    mir (0.0.9+13.10.20130812.4-0ubuntu1) saucy; urgency=low
    
      [ Alexandros Frantzis ]
      * server,client: Add type, preferred mode and max. simultaneous
        outputs information to the display configuration.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 968
    
    mir (0.0.9+13.10.20130812.3-0ubuntu1) saucy; urgency=low
    
      [ Daniel van Vugt ]
      * eglapp: Add sizing parameters: -f (fullscreen) and -s WxH (specific
        size).
    
      [ Alan Griffiths ]
      * frontend, examples, tests: provide a utility to adapt
        frontend::Surface to the graphics::InternalSurface interface.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 966
    
    mir (0.0.9+13.10.20130812.2-0ubuntu1) saucy; urgency=low
    
      [ Robert Ancell ]
      * Remove apport hook - we're not installing it and libraries don't
        have hooks anyway. Apps that use libmirserver will have hooks
        (unity-system-compositor, unity-mir). (LP: #1204284)
    
      [ Alexandros Frantzis ]
      * protobuf: Pass a DisplayConfiguration submessage with the
        Connection.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 963
    
    mir (0.0.9+13.10.20130812.1-0ubuntu1) saucy; urgency=low
    
      [ Robert Ancell ]
      * Fix libmirserver dependent packages requiring the exact version - it
        hadn't been updated for the soname change in revision 948. (LP:
        #1210811)
    
      [ Alan Griffiths ]
      * platform: workaround link errors on i386/g++ 4.8.1. (LP: #1208774)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 960
    
    mir (0.0.9-0ubuntu1) saucy; urgency=low
    
      * New release
    
    mir (0.0.8+13.10.20130810-0ubuntu1) saucy; urgency=low
    
      [ Robert Ancell ]
      * Remove documentation on the system-compositor-testing PPA now
        everything is in main/universe in saucy.
    
      [ Kevin DuBois ]
      * Add an object for sending display config change messages to all
        connected clients (globally).
    
      [ Daniel van Vugt ]
      * Fix the compositor side of lag observed between input events and the
        screen. This is half the fix for LP: #1199450. The other half of the
        fix is to resolve client buffers arriving out of order, which has
        not been fully diagnosed but is known to be resolved by the "switch"
        branch. . (LP: #1199450)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 956
    
    mir (0.0.8+13.10.20130809.4-0ubuntu1) saucy; urgency=low
    
      [ Michael Terry ]
      * Pass on the owning Session when creating Surfaces. (LP: #1200035)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 952
    
    mir (0.0.8+13.10.20130809.3-0ubuntu1) saucy; urgency=low
    
      [ Daniel van Vugt ]
      * Simplify and generalize buffer swapping to support arbitrary numbers
        of: - buffers - compositors - clients This is a unified N-buffers
        algorithm which supports any positive number of buffers, as well as
        dynamically switching between synchronous and asynchronous
        behaviour. So it does everything the existing code does and more.
        The key requirement is to support an arbitrary number of (different)
        simultaneous compositor acquisitions, as is needed for bypass
        support (coming soon). This then leads to the requirement that a
        compositor and a snapshot buffer should be acquired differently.
        Because a snapshot should never consume frames, only observe them.
        On the other hand, a compositior acquire must consume a frame (if
        available) so as to guarantee correct ordering when more than one
        are acquired simultaneously in bypass mode. Also fixes LP: #1199717
        and is half the fix for LP: #1199450. (LP: #1199450, #1199717)
    
      [ Alan Griffiths ]
      * doc, tools: update instructions for "flipped" image.
    
      [ Christopher James Halse Rogers ]
      * Split out unversioned Mir platform package to fix upgrades across
        libmirserver SONAME bumps.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 950
    
    mir (0.0.8+13.10.20130808.2-0ubuntu1) saucy; urgency=low
    
      [ Alexandros Frantzis ]
      * gbm: Don't try to allocate buffers with unsupported formats. (LP:
        #1124948)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 946
    
    mir (0.0.8+13.10.20130808.1-0ubuntu1) saucy; urgency=low
    
      [ Robert Ancell ]
      * VT switch on alt+ctrl+Fn.
      * Add missing iostream import. This was accidentally removed in
        revision 939. Local builds and CI builds both seem to have treated
        this as a warning; debian package builds as an error. Fixes
        packaging builds.
    
      [ Robert Carr ]
      * Add an interface by which the shell may be notified of and interfere
        with surface configuration requests.
    
      [ Alexandros Frantzis ]
      * Bring back revision 931 with a fix for the crash it caused (LP:
        #1209053). (LP: #1209053)
      * examples: Quit the example servers and standalone programs when
        Ctrl+Alt+Backspace is pressed.
    
      [ Maarten Lankhorst ]
      * Re-introduce console support, and ignore control characters. (LP:
        #1102756, #1195509)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 944
    
    mir (0.0.8+13.10.20130807.3-0ubuntu1) saucy; urgency=low
    
      [ Robert Ancell ]
      * platform: Install and use mirplatform headers. (LP: #1209104)
    
      [ Daniel van Vugt ]
      * Revert r931. It is causing instant and widespread crashes (LP:
        #1209053). (LP: #1209053)
    
      [ Alan Griffiths ]
      * platform: remove spurious ${MIR_COMMON_PLATFORM_LIBRARIES}.
      * platform: Install and use mirplatform headers. (LP: #1209104)
    
      [ Christopher James Halse Rogers ]
      * Fix multihead API usage in EGL example clients.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 937
    
    mir (0.0.8+13.10.20130807.1-0ubuntu1) saucy; urgency=low
    
      [ Kevin DuBois ]
      * Add support for sending display change events to the client to the
        api/protocol.
    
      [ Ricardo Salveti de Araujo ]
      * Just use libhardware instead of libhybris when building mir (avoid
        conflicts with egl/gles) .
    
      [ Alan Griffiths ]
      * graphics: Split off platform abstraction as a shared library.
      * graphics: Split off platform abstraction as an LGPL shared library.
    
      [ Alexandros Frantzis ]
      * display_server: Don't configure the display while the display server
        is paused Don't configure the display while the display server is
        paused. Postpone the configuration until the display server resumes.
      * server: Make EventFilter customization easier.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 932
    
    mir (0.0.8+13.10.20130806-0ubuntu1) saucy; urgency=low
    
      [ Kevin DuBois ]
      * Add protobuf message and api for requesting display configuration
        change. Requests to change the display are authorized by the shell
        authorizer .
    
      [ Alan Griffiths ]
      * 1. establish a MirConnection during the NestedPlatform
        initialization 2. check that the socket filename that is used by the
        nested mir to accept connections is not the same with the host mir's
        socket filename 3. release the connection when the NestedPlatform is
        deleted.
    
      [ Eleni Maria Stea ]
      * 1. establish a MirConnection during the NestedPlatform
        initialization 2. check that the socket filename that is used by the
        nested mir to accept connections is not the same with the host mir's
        socket filename 3. release the connection when the NestedPlatform is
        deleted.
    
      [ Colin Watson ]
      * The upcoming arm64 architecture is called arm64, not armel64.
    
      [ Alexandros Frantzis ]
      * gbm,compositor: Misc multimonitor related fixes. (LP: #1208354)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 925
    
    mir (0.0.8+13.10.20130803-0ubuntu1) saucy; urgency=low
    
      [ Daniel van Vugt ]
      * fingerpaint: Paint on single clicks, and not just drags. This helps
        in testing input/buffer lag issues ;).
    
      [ Robert Carr ]
      * Replace SingleVisibilityFocusMechanism with a simpler and more
        flexible mechanism based around raising the surface.
      * Do not target hidden surfaces for pointer events.
    
      [ Alan Griffiths ]
      * graphics: Break the dependency of graphics platforms on MainLoop.
    
      [ Christopher James Halse Rogers ]
      * Fix mir_connection_get_display_info There's no guarantee that
        config->displays[0] will be valid, and indeed it's always invalid in
        all my tests. This causes a segfault when trying to dereference the
        current mode of an inactive display.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 920
    
    mir (0.0.8+13.10.20130802-0ubuntu1) saucy; urgency=low
    
      [ Daniel van Vugt ]
      * Fix crashing demo clients, since the introduction of multimonitor.
        (LP: #1207145). (LP: #1207145)
      * tools/install_on_android.sh: Don't upload to/test in Android
        directories. We don't need to now that the phablet images are
        flipped. /tmp is much safer. Also don't hardcode a particular ABI
        (which was wrong). .
    
      [ Alan Griffiths ]
      * graphics, compositor: Move compositor/buffer_properties.h and
        compositor/graphic_buffer_allocator.h to graphics.
      * graphics, compositor: Move buffer_ipc_packer.h to graphics.
      * graphics/gbm: negate negative error codes returned by drm so they
        can be interpreted by boost.
    
      [ Alexandros Frantzis ]
      * examples: Add option to specify the display configuration policy to
        use We offer three display configuration policies to all the
        examples that use configurations based on
        mir::example::ServerConfiguration: 1. clone (default) 2. sidebyside
        (outputs are placed side-by-side in the virtual space, in increasing
        connector id order) 3. single (only the first, in connector id
        order, is used).
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 914
    
    mir (0.0.8+13.10.20130801-0ubuntu1) saucy; urgency=low
    
      [ Kevin DuBois ]
      * connect multi-display info from the display, to the client by
        improving SessionMediator.
      * prepare for global event sending (like display resizing) by
        separating the ability to send messages into distinct classes that
        is used in the client request service loops clean up constructors
        that aren't used, functions that aren't needed as well.
    
      [ Robert Carr ]
      * Support monitor input channels for the shell.
    
      [ Eleni Maria Stea ]
      * stub Platform functions to NestedPlatform replaced
        create_nested_platform with a call to the NestedPlatform constructor
        in the default_server_configuration.cpp.
    
      [ Alexandros Frantzis ]
      * gbm: Handle the cursor properly with multiple monitors.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 907
    
    mir (0.0.8+13.10.20130731.2-0ubuntu1) saucy; urgency=low
    
      [ Dmitrijs Ledkovs ]
      * Use explicit boost-dev packages.
    
      [ Alexandros Frantzis ]
      * gbm: Support non-cloned display configurations.
    
      [ Thomas Voß ]
      * Adjust documentation to account for lightdm/packaging changes.
      * Don't make Mir become a process group leader, to avoid CTRL-C
        killing the X server.
    
      [ Alan Griffiths ]
      * test_framework: Provide boost exception diagnostics.
      * graphics: Remove use of frontend::Surface from graphics interface &
        implementation.
    
      [ Daniel van Vugt ]
      * Don't run Android commands which are no longer valid in flipped
        phablet images. They will only kill your connection to the device.
        (LP: #1206369). (LP: #1206369)
      * Fix documentation to suit the new "flipped" phablet images. Also
        remove extraneous comment which could cause copy/paste mistakes.
    
      [ Eleni Maria Stea ]
      * mir option --nested-mode <host-socket>.
      * added a native platform interface in
        include/server/mir/graphics/native_platform.h added a new static
        library for the nested platform added some stub
        create_native_platform and create_nested_platform functions to be
        called when mir runs in nested mode.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 901
    
    mir (0.0.8+13.10.20130730-0ubuntu1) saucy; urgency=low
    
      [ Robert Ancell ]
      * Use the soname in the filename of all the public libraries.
        Explicityly set soname for libmirserver and libmirprotobuf.
    
      [ Daniel van Vugt ]
      * Separate MockBufferAllocator for reuse in other test cases.
      * Silence noisy integration tests (Uninteresting mock function calls)
        (LP: #1192618). (LP: #1192618)
      * Distinguish between a buffer locked for composition vs snapshotting.
        The difference will become very important with the introduction of
        bypass. Stay tuned.
    
      [ Alexandros Frantzis ]
      * graphics, shell: move GLPixelBuffer to shell.
      * compositor: Introduce and use a different DisplayBufferCompositor
        object per non-cloned output.
      * geometry: Use an closed-open representation for Rectangle end
        points.
    
      [ Thomas Voß ]
      * Adjust the Process class to correctly trace child processes. This
        should help a lot in avoiding/diagnosing races on armhf.
    
      [ Kevin DuBois ]
      * expand client api so that multiple MirDisplayInfo can be returned
        for multimonitor situations.
      * add a function to the client api to query the possible formats to
        create a surface with.
      * client: decouple MirConnection from MirEvent a bit. stop two-step
        initialization of the client rpc channel.
    
      [ Robert Carr ]
      * Add surface lifecycle notification to the session listener.
      * Build test_android_input_registrar.cpp.
    
      [ Alan Griffiths ]
      * graphics, shell: move GLPixelBuffer to shell.
    
      [ Maarten Lankhorst ]
      * Fixes LP: #1195509. (LP: #1195509)
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 890
    
    mir (0.0.8-0ubuntu1) saucy; urgency=low
    
      * New release
    
    mir (0.0.7+13.10.20130721ubuntu.unity.next-0ubuntu1) saucy; urgency=low
    
      [ Robert Ancell ]
      * Update debian/copyright for 3rd_party files. (LP: #1194073)
      * update to xmir instructions.
      * Put demos back into bin, not libexec. It's confusing, conflicts with
        the documentation and makes it harder to run them.
      * Add some XMir diagnostic and recovery documentation.
      * Update docs to refer to saucy, not raring.
      * Display command line options error when failed.
      * Remove dead tag code in SessionManager.
      * Remove dead code in ProtobufSocketCommunicator.
      * Releasing 0.0.6
      * Close the platform file descriptors on destruction of MirConnection.
        (LP: #1198022)
      * Remove libancilliary and implement required functionality directly.
      * add xmir guide to debug.
      * Only use a DRM device if it has connections. (LP: #1197708)
      * Add instructions on how to compile Mesa and X.Org with Mir support.
        (LP: #1193261)
    
      [ Jussi Pakkanen ]
      * Explicitly create output directory before running custom command.
    
      [ Alexandros Frantzis ]
      * graphics: Implement GLBufferPixels to extract buffer pixels using
        GL.
      * lttng: Install tracepoint provider libraries in private lib
        subdirectory.
      * surfaces: Fix Surface::flag_for_render() Fixes lp:1195105. (LP:
        #1195105)
      * compositor: Manage the rendering target properly in the compositing
        threads.
      * shell: Implement Session::take_snapshot() method.
      * graphics: Add Display::configure() method.
      * server: Support handlers for file descriptors in MainLoop.
      * graphics: Reconfigure the Display when the display configuration
        changes.
      * tests: Fix race condition in MockDRM leading to memory errors
        Previously, because we allocated and returned memory in two step,
        using a unique storage point to hold the allocated memory, there was
        the potential for memory errors (e.g. double frees) in multithreaded
        tests (like
        drm_close_not_called_concurrently_on_ipc_package_destruction). (LP:
        #1197408)
      * server: Make symbols of loaded SharedLibraries available globally.
      * gbm: Provide different functions for validating server and client
        Mesa EGL native displays. (LP: #1177902)
      * gbm: Update mesa egl native display validation function names Update
        mesa egl native display validation function names to match the ones
        used by Mesa.
      * graphics: Introduce a DisplayConfigurationPolicy to set up
        DisplayConfigurations.
      * geometry: Add Rectangles class to hold a collection of rectangles.
      * android: Separate Display and DisplayBuffer implementations.
      * graphics: Fall back to reading RGBA pixel data in GLPixelBuffer if
        BGRA is not supported.
      * Replace ViewableArea with more fitting interfaces.
    
      [ Eleni Maria Stea ]
      * minor fix of typo in the example: mir_client_accelerated.
      * fixed invalid C++ code, which was using a non-standard gcc language
        extension, for named initialization of structure elements.
    
      [ Stephen M. Webb ]
      * disable running the integration test suite on arm architecture
        during the packaging builds (lp: #1195265). (LP: #1195265, #1195260)
    
      [ Didier Roche ]
      * lttng: Install tracepoint provider libraries in private lib
        subdirectory.
      * build-dep on valgrind as it's used in integration tests. (LP:
        #1195265)
      * only build on archs we support.
      * Don't build on powerpc.
      * Disable unity armhf tests, they are failing the armhf build on
        buildds.
    
      [ Kevin DuBois ]
      * unify advance_client_buffer and client_buffer() interfaces on
        ms::Surface. change the ms::Surface class so that it does not hold
        the client resource on behalf of the clients, the frontend or native
        windows do.
      * android drivers have an interface for the drivers to obtain a strong
        reference to the native window type. Allow the drivers to acquire
        this strong reference to the buffer backing their texture/fbo.
      * Activate sending a "swapinterval" signal over IPC. Add client api
        for software clients to request different swapintervals.
        (eglSwapInterval is not glued together just yet) Currently only
        swapinterval of 0 or 1 is supported. (LP: #1130553)
      * link eglSwapInterval hook in gbm driver to the ipc message to enable
        swapinterval0. This makes eglSwapInterval (1) or (0) work for gbm
        ipc clients only.
      * fix: lp:1196647 (test bug results in crash in android unit tests)
        bug was just in test code on android. (LP: #1196647)
      * fix: lp1192742 by cleaning up FD's when an android client
        unregisters its native_handle_t. (LP: #1192742)
      * saucy's default boost version is 1.53, yet the cross compile script
        was still on 1.49. switch script to 1.53.
      * begin cleanup of ms::Surface by breaking "ms::Surface : public
        mi::SurfaceTarget" inheritance the input system was using the
        surface object (specifically the std::weak_ptr<mi::SurfaceTarget> to
        the ms::Surface) as its 'key' for coordinating the surfaces. This
        bound the input system tightly to the surface stack, which prevented
        any proxying of ms::Surface and made the lifetime of ms::Surface
        tangled. This change breaks this dependency by making ms::Surface
        own an InputChannel, instead of it being a SurfaceTarget.
      * remove google mock from the internal source tree. Rather, use the
        google-mock package and build the source externally. (LP: #1185265,
        #1194017)
      * disable running the integration test suite on arm architecture
        during the packaging builds (lp: #1195265). (LP: #1195265, #1195260)
      * break ms::Surface : public mg::Renderable dependency, paving the way
        for a more sensible interface surrounding our ms::Surface object.
        Also ensure that graphics data is maintained synchronously. Remove
        most state from ms::Surface.
      * fixes: lp:1200782 by freeing fd's associated with buffer package.
        (LP: #1200782)
    
      [ Kevin Gunn ]
      * this is to change the doc's fpr preinstalled binaries to reference
        using the system-compositor-testing ppa.
      * update to xmir instructions.
      * add xmir guide to debug.
    
      [ Alan Griffiths ]
      * graphics, config: Dynamically load the graphics platform.
      * config: allow graphics platform library to be selected by command-
        line/config. (LP: #1118909)
      * docs: A move towards house style for the webpages.
      * Make gmock and umockdev dependencies of the tests, clean up, and
        make not building tests an option. (LP: #1196987)
      * client: remove some unnecessary memory allocation, copying and
        threading.
      * frontend: Guard SessionMediator::session against race conditions.
      * frontend: remove redundant and misleading comment.
      * frontend: cut down memory allocations by pre-allocating and reusing
        buffers.
      * geometry: more tractable construction of objects. (LP: #1199756)
      * tests: rework test to prevent test input events being missed before
        handler is registered. (LP: #1200236)
      * geometry: make geometry compound types easier to construct. (LP:
        #1199756)
      * doc: use house font and colors for coding guidelines.
      * mir: Simpler IntWrapper that doesn't need type tags upfront.
      * graphics, conpositor: Move dependencies of graphics platform into
        graphics.
      * graphics: Delete unused file -
        include/server/mir/graphics/framebuffer_backend.h.
      * graphics, compositor: Move the rendering interfaces and code to
        compositor.
      * graphics, compositor: move BufferBasic to graphics.
      * graphics::gbm: delete unused headers.
    
      [ Christopher James Halse Rogers ]
      * Improve GBM platform's device probing, by actually making it probe
        devices.
      * Fix clearly-broken code, for which clang produced deliberately
        broken output.
      * Fix two issues caught by Clang's static analyser.
      * I like clang's error messages. Let's keep Mir building on clang.
      * Make libmirclient not aggressively signal-unsafe by blocking signals
        on our IO thread. Fixes infinite loop in XMir (LP: #1199319). (LP:
        #1199319)
      * Document XMir drivers too.
    
      [ Sebastien Bacher ]
      * Small copyright fixes (lp: #1195647). (LP: #1195647)
    
      [ Daniel van Vugt ]
      * Cache the transformation matrix; only recalculate it when some part
        of the transformation changes. (LP: #1193020) . (LP: #1193020)
      * Don't pass a clang-only option to gcc. It will not understand and
        cause build failure (LP: #1194385). (LP: #1194385)
      * Fix build failure due to differing exception specifiers. noexcept
        destructors should be enforced in derived classes if the base uses
        them. (LP: #1194703). (LP: #1194703)
      * Document thread safety pitfalls about client-side callbacks. .
      * Fix mismatched destructor exception specifiers causing build failure
        in gcc 4.7. Also fix struct/class mismatches that some compilers
        will treat as an error. (LP: #1196415). (LP: #1196415)
      * mir_demo_client_unaccelerated: Add an FPS count, and a "-n" option
        to disable vsync (set swap interval to 0).
      * mir_demo_client_egl*: Add a "-n" option to disable syncing to vblank
        (hence to use swap interval == 0).
      * Initial attempts at making the Mir client API thread safe.
        Ordinarily you would not build locking into an API, however the fact
        that Mir clients implicitly get multiple threads created for them
        makes it important for the API itself to be automatically thread
        safe. I've tried to avoid API changes, but adding a new function:
        mir_wait_for_one was necessary. This is because mir_wait_for doesn't
        work if multiple threads are waiting on the same thing
        simultaneously. And the fact that waiting at all is optional means
        we can't change the behaviour of mir_wait_for -- it must always wait
        for all outstanding results (which is only safe in clients where the
        waiting happens in a single thread). .
      * Work around GCC issue 50043 which is causing build failures on
        raring. (LP: #1199210) The gcc bug is only fixed in 4.8/saucy. (LP:
        #1199210)
      * MockDisplayConfigurationPolicy: Work around gcc-4.7 bugs causing
        build failure on raring. (LP: #1200064). (LP: #1200064)
      * Another workaround for gcc-4.7 bugs causing build failure. (LP:
        #1200107). (LP: #1200107)
      * buffer_swapper_spin.h: Remove dead code: initialize_queues.
      * Remove unused interface surfaces::GraphicRegion It became unused
        when Kevin's work landed in r856 yesterday. .
      * Rename compositor::Renderables --> compositor::Scene What is a
        "Renderables"? It's the interface by which we know the scene graph,
        or the model of how all the surfaces relate to each other. Right,
        then call it a scene graph... but the word "graph" might imply a
        particular structure. And we don't want to imply such things in an
        interface. So just call it "scene". That makes slightly more sense
        than imagining what a "Renderables" (singular) is.
      * Fix comments which mention incorrect namespaces for Buffer following
        yesterday's landings.
    
      [ Ricardo Mendoza ]
      * Fix broken tests/unit-
        tests/client/android/test_client_android_registrar.cpp due to unused
        return value.
    
      [ Thomas Voß ]
      * Wait for vt to become active if we need to activate it.
      * Remove disabling asio's epoll reactor implementation from the
        package build flags.
      * Introduce cmake options to be able to selectively switch acceptance,
        integration and unit tests on/off. (LP: #1195265)
    
      [ Thomi Richards ]
      * Remove workaround for bug #1198022. (LP: #1198022)
    
      [ Robert Carr ]
      * Add raise method to surface stack.
      * Remove cucumber and all references. (LP: #1194075)
      * Add support for shaped input regions.
      * Store MirMotionAction as integer due to usage of extra bits by
        android input stack. (LP: #1197108)
      * Fix obscurance of touch events according to stacking.
      * Extract DefaultServerConfiguration::the_cursor_listener from
        DefaultServerConfiguration::the_input_configuration. (LP: #1192916)
      * Implement a connection authorization mechanism.
      * Correct test_surface_stack.cpp ordering tests.
      * Move the DepthId in surface creation to
        msh::SurfaceCreationParameters.
    
      [ Ubuntu daily release ]
      * Automatic snapshot from revision 874 (ubuntu-unity/next)
    
    mir (0.0.7-0ubuntu1) saucy; urgency=low
    
      * New release
    
    mir (0.0.6-0ubuntu1) saucy; urgency=low
    
      * New release
    
    mir (0.0.5-0ubuntu1) saucy; urgency=low
    
      * Misc a numerous package fixes.
      * Automatic snapshot from revision 766 (bootstrap)
    
    mir (0.0.4-0ubuntu1) raring; urgency=low
    
      * change mesa header to clean up the file and add swapinterval 0 hook
    
    mir (0.0.3-0ubuntu1) raring; urgency=low
    
      [ Bryce Harrington ]
      * Add apport hook, source_mir.py
    
    mir (0.0.2-0ubuntu2) raring; urgency=low
    
      * Put mir in split mode
    
    mir (0.0.2-0ubuntu1) raring; urgency=low
    
      * New upstream release
      * debian/control:
        - libmirclient-demos breaks older version of mir
    
    mir (0.0.1-0ubuntu1) quantal; urgency=low
    
      * Initial release
     -- Ubuntu daily release <email address hidden>   Fri, 29 Aug 2014 16:12:54 +0000
  • mir (0.6.1+14.10.20140814-0ubuntu1) utopic; urgency=medium
    
      [ Daniel van Vugt ]
      * New upstream release 0.6.1 (https://launchpad.net/mir/+milestone/0.6.1)
        - Bugs fixed:
          . libmircommon-dev 0.6.0+14.10.20140811-0ubuntu1 fails to
            install/upgrade, does not replace mircommon-dev
            0.5.1+14.10.20140728-0ubuntu1 (LP: #1348515)
          . Nexus 4 client lock up observed (LP: #1352883)
    
      [ Ubuntu daily release ]
      * New rebuild forced
     -- Ubuntu daily release <email address hidden>   Thu, 14 Aug 2014 22:34:18 +0000
  • mir (0.5.1+14.10.20140728-0ubuntu1) utopic; urgency=medium
    
      [ Kevin Gunn ]
      * Fixed: Crash due to racing input registration & surface removal
        (LP: #1346952)
    
      [ Ubuntu daily release ]
      * New rebuild forced
     -- Ubuntu daily release <email address hidden>   Mon, 28 Jul 2014 02:49:50 +0000