p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. Looking for p5.js 2.0? http://beta.p5js.org
\r\n\r\n```\r\n\r\nThen load WebGPU mode in `createCanvas`:\r\n```js\r\nasync function setup() {\r\n await createCanvas(400, 400, WEBGPU);\r\n}\r\n```\r\n\r\nRead more about how it works and where we plan on taking it [here](https://github.com/processing/p5.js/blob/dev-2.0/contributor_docs/webgpu.md)!\r\n\r\n\r\n### What's Changed 🎊\r\n* Fix rotation transformations outside of push/pop applying to main canvas in WebGPU by @davepagurek in https://github.com/processing/p5.js/pull/8423\r\n* Make sure getTexture works in vertex shaders by @davepagurek in https://github.com/processing/p5.js/pull/8424\r\n* Performance improvements for colors by @davepagurek in https://github.com/processing/p5.js/pull/8355\r\n* fix textToModel regression for space characters by @skyash-dev in https://github.com/processing/p5.js/pull/8429\r\n* add unit tests for HSB color space by @Piyushrathoree in https://github.com/processing/p5.js/pull/8376\r\n* Experiment: flatter strands API by @davepagurek in https://github.com/processing/p5.js/pull/8314\r\n* Auto return shader hooks by @vietnguyen2358 in https://github.com/processing/p5.js/pull/8384\r\n* Fix `noiseDetail()` in p5.js 2.x so that the `falloff` parameter defaults to `0.5` when omitted. by @shuklaaryan367-byte in https://github.com/processing/p5.js/pull/8417\r\n* Normalize strands noise output range to match JS noise() by @rakesh2OO5 in https://github.com/processing/p5.js/pull/8430\r\n* fix createColorPicker ignores initial colour arg on chrome by @Piyushrathoree in https://github.com/processing/p5.js/pull/8363\r\n* Add WebGL visual regression tests for transform functions by @aashu2006 in https://github.com/processing/p5.js/pull/8465\r\n* Fix gifs in WebGL mode by @davepagurek in https://github.com/processing/p5.js/pull/8472\r\n* feat(webgl): add global property support for p5.strands by @avinxshKD in https://github.com/processing/p5.js/pull/8211\r\n* Webgpu perf updates by @davepagurek in https://github.com/processing/p5.js/pull/8480\r\n\r\n## New Contributors\r\n* @vietnguyen2358 made their first contribution in https://github.com/processing/p5.js/pull/8384\r\n* @shuklaaryan367-byte made their first contribution in https://github.com/processing/p5.js/pull/8417\r\n* @rakesh2OO5 made their first contribution in https://github.com/processing/p5.js/pull/8430\r\n* @aashu2006 made their first contribution in https://github.com/processing/p5.js/pull/8465\r\n* @avinxshKD made their first contribution in https://github.com/processing/p5.js/pull/8211\r\n\r\n**Full Changelog**: https://github.com/processing/p5.js/compare/v2.2.0...v2.2.1-rc.0","url":"https://announcehq.com/p5-js/ae85ba70-e4dc-46c8-ba64-2fb21ac2b934","datePublished":"2026-02-01T19:06:21.000Z","dateModified":"2026-02-01T19:06:21.000Z","author":{"@type":"Organization","name":"p5.js","url":"https://github.com/processing/p5.js"},"publisher":{"@type":"Organization","name":"AnnounceHQ","url":"https://announcehq.com","logo":{"@type":"ImageObject","url":"https://announcehq.com/logo.png"}},"mainEntityOfPage":{"@type":"WebPage","@id":"https://announcehq.com/p5-js/ae85ba70-e4dc-46c8-ba64-2fb21ac2b934"},"isPartOf":{"@type":"WebPage","@id":"https://announcehq.com/p5-js","name":"p5.js Changelog"},"about":{"@type":"SoftwareApplication","name":"p5.js"},"keywords":"p5.js, release notes, changelog, improved, software update"}Back to changelog
Improved
v2.2.1-rc.0
What's Changed
The upcoming patch focuses on bugfixes and documentation, particularly on WebGPU and strands. This is a release candidate (RC), which means it is not yet live on the p5.js Editor. Please help us to improve the stability of the newest version of p5.js by trying out this release candidate, and reporting bugs. You can also share your thoughts or get involved on Discord in the #webpgu channel!
To test this patch, you can load both p5.js and WebGPU mode by adding these two script tags to your sketch:
async function setup() {
await createCanvas(400, 400, WEBGPU);
}
Read more about how it works and where we plan on taking it here!
What's Changed 🎊
Fix rotation transformations outside of push/pop applying to main canvas in WebGPU by @davepagurek in https://github.com/processing/p5.js/pull/8423
Make sure getTexture works in vertex shaders by @davepagurek in https://github.com/processing/p5.js/pull/8424
Performance improvements for colors by @davepagurek in https://github.com/processing/p5.js/pull/8355
fix textToModel regression for space characters by @skyash-dev in https://github.com/processing/p5.js/pull/8429
add unit tests for HSB color space by @Piyushrathoree in https://github.com/processing/p5.js/pull/8376
Experiment: flatter strands API by @davepagurek in https://github.com/processing/p5.js/pull/8314
Auto return shader hooks by @vietnguyen2358 in https://github.com/processing/p5.js/pull/8384
Fix noiseDetail() in p5.js 2.x so that the falloff parameter defaults to 0.5 when omitted. by @shuklaaryan367-byte in https://github.com/processing/p5.js/pull/8417
Normalize strands noise output range to match JS noise() by @rakesh2OO5 in https://github.com/processing/p5.js/pull/8430
fix createColorPicker ignores initial colour arg on chrome by @Piyushrathoree in https://github.com/processing/p5.js/pull/8363
Add WebGL visual regression tests for transform functions by @aashu2006 in https://github.com/processing/p5.js/pull/8465
Fix gifs in WebGL mode by @davepagurek in https://github.com/processing/p5.js/pull/8472
feat(webgl): add global property support for p5.strands by @avinxshKD in https://github.com/processing/p5.js/pull/8211
Webgpu perf updates by @davepagurek in https://github.com/processing/p5.js/pull/8480
New Contributors
@vietnguyen2358 made their first contribution in https://github.com/processing/p5.js/pull/8384
@shuklaaryan367-byte made their first contribution in https://github.com/processing/p5.js/pull/8417
@rakesh2OO5 made their first contribution in https://github.com/processing/p5.js/pull/8430
@aashu2006 made their first contribution in https://github.com/processing/p5.js/pull/8465
@avinxshKD made their first contribution in https://github.com/processing/p5.js/pull/8211
Full Changelog: https://github.com/processing/p5.js/compare/v2.2.0...v2.2.1-rc.0