Pointer Events Polyfill (PEP) enters emeritus status at the OpenJS Foundation

By February 10, 2021Announcement, Blog, Project Update

The Pointer Events Polyfill (PEP), originally part of the jQuery project family, is fully deprecating after 8 years. Current project maintainer, Patrick H. Lauke (who also chairs the W3C Pointer Events Working Group) worked with contributors to push the final stable and secure release to npm in December 2020.

The OpenJS Foundation is honored to have been the neutral home for PEP and is grateful for those who have kept the project up and running over the years. 

PEP History and Milestones

PEP is an early example of open source experimentation and developer adoption driving web standards development.

Originally part of Google’s Polymer Project, PEP gave developers an early opportunity to experiment with the ideas introduced by Microsoft’s W3C member submission for a Pointer Events specification – providing websites and application with a more cohesive way to handle DOM events from a variety of input devices – such as touch, mouse, and stylus – rather than having to handle use separate event models (mouse events and touch events) in parallel.

PEP came to join the jQuery Foundation on December 17, 2014 in order to ensure that the polyfill was maintained in a sustainable and browser-agnostic way, and that tool developers could use it as a path to implementation in all browsers.

Active development of PEP continued through the initial standardisation process, which also saw jQuery members directly involved in the W3C working group, and that led to the stable Pointer Events 1 specification in 2015. PEP played an important role in the Pointer Events standardisation process, allowing an early test-bed for both spec implementers and developers in the wider web community to familiarise themselves with the new standard.

PEP eventually came to the OpenJS Foundation by way of the JS Foundation, the successor of the jQuery Foundation.

The Pointer Events specification has since grown and evolved – with Pointer Events Level 2 reaching recommendation status in April 2019, and current development on Pointer Events Level 3. Many of the functionalities introduced in these newer versions were, unfortunately, too fundamental to be easily “patchable” with a polyfill, which gradually slowed development on PEP – focusing mostly on security patches and bug fixes.

However, while PEP may now be deprecated, the future of Pointer Events themselves is looking good, with the native API now supported in the majority of current browsers (see caniuse.com/pointer). For this reason, unless a project specifically targets older browser versions, we would strongly encourage developers to stop including PEP and to instead rely solely on native Pointer Events.

Thank yous

Open source projects don’t run, or archive, themselves. There are people behind the GitHub repos that ensure things run smoothly. We’d like to thank all the contributors of the project (including Daniel Freedman from the Polymer Project, Scott González who represented the jQuery Foundation on the W3C working group and led the bulk of the development during that time, and Patrick H. Lauke who coordinated the final release) for maintaining PEP over the years and for giving back to the open source community.