This Week In Servo 80

In the last week, we landed 103 PRs in the Servo organization’s repositories.

One of the largest challenges for new contributors in the DOM area is understanding how all of the pieces fit together. A new blog post by jeenalee provides a very clear and compelling walkthrough of how to to contribute support for a new DOM API into Servo!

In a big step forward, glennw made WebRender not only on by default but also made it possible to be used in our testing infrastructure! WebRender can now be used with OSMesa as its backend. See this mailing list thread if you have opinions on the future of the deprecated and untested Azure/Moz2D code path.

Finally, we had two students contribute to Servo as part of the Google Summer of Code program, and we wrote up the results of their efforts. Spoilers: they did great and Servo is better for it!

Planning and Status

Our overall roadmap is available online and now includes the Q3 plans. The Q4 and 2017 planning will begin shortly!

This week’s status updates are here.

Notable Additions

  • j-koreth added instructions for building Servo on openSUSE
  • canaltinova fixed origin/clip CSS shorthand parsing behavior
  • mortimergoro fixed some issues with our WebGL shader compilation
  • bholley implemented an AtomicRefCell for use in layout/style node data
  • pcwalton integrated Servo’s time profiler with the macOS signposts
  • larsberg split up the macOS builders, getting our CI landing time back under 50 minutes
  • uk992 fixed the location of the custom bootstrap download directory on Windows with MSVC
  • mmatyas added support for WebRender on ARM devices
  • glennw switched the default renderer to WebRender
  • kichjang added support for letter-spacing in Stylo
  • pcwalton fixed some inline hypothetical box layout issues that were breaking display of Twitter
  • JanZerebecki removed the same-origin-data-url flag from the Fetch implementation
  • manish fixed the Servo documentation build
  • glennw implemented the brightness CSS filter
  • MortimerGoro fixed upside-down WebGL
  • dati91 updated WebBluetooth to use Promises
  • mrobinson simplified collection of stacking contexts during display list building
  • flacerdk implemented the word-break property’s keep-all mode
  • notriddle implemented a sequential fallback for failed float layout speculation
  • glennw made WebRender run in our CI using OSMesa for headless testing
  • manish added the Stylo unit tests in the Servo codebase
  • pcwalton improved incremental layout to make CNN look better in Servo
  • aneeshusa handled the fallout from the Homebrew 1.0 release
  • malisas implemented the Body interface for the Response and Request APIs
  • canaltinova implemented parsing for mask shorthands
  • jeenalee implemented the JS fetch API
  • zack1030 created a new ./mach test-perf command
  • coder206 improved our linux packaging by performing it in a new, clean folder

New Contributors

Interested in helping build a web browser? Take a look at our curated list of issues that are good for new contributors!


New time profiler support for macOS signpost event reporting:

New time profiler support for macOS signpost event reporting