Releases: processing/p5.js
v2.0.4-rc.2
Help test the release candidate!
Here are all the updates for the upcoming 2.0.4 release! 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. The 2.0.4 patch is planned for release on August 5th, 2025, unless there are bugs - then these will be fixed before release.
How to test
You can copy this sketch and make p5.js sketches with it - using the new p5.js 2.0 reference - and then report anything that doesn't work well as a bug! This will help improve the next release 🌱 💚
You can use the downloads below, or use https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.js in your script
tag. In the p5.js Editor, you can use this URL in the index.html
page:

What's Changed 🎊
p5.strands Improvements 🧵
p5.strands is an experimental new feature in in p5.js 2.0 for authoring shaders with JavaScript. You can check out the tutorials if you're interested in trying it out. If you're interested in diving deeper and contributing, you're welcome to join the discussion in the the #p5strands channel on our Discord, or work on the open p5.strands issues
- Alias GLSL's mix function as lerp in p5.strands (#7875) by @LalitNarayanYadav in #7887
- Add GLSL-based noise(vec2) function to p5.strands (#7897) by @LalitNarayanYadav in #7921
- Fix inline anonymous functions causing a parsing error in p5.strands callbacks by @nking07049925 in #7956
- Enhance p5.strands noise() to support noise(x, y) and 4-octave fractal noise by @LalitNarayanYadav in #7964
- Fix p5.strands uniform calls, add instance mode construct by @davepagurek in #7961
Bug Fixes 🐞
- Add font readiness wait to create() function in p5.Font.js by @sophyphile in #7882
- Create Graphics fixing in dev-2.0 branch. by @perminder-17 in #7829
- Chore/upgrade eslint by @error-four-o-four in #7853
- Update zod 3 to zod 4 support in p5.js dev-2.0 by @madhav2348 in #7872
- Skip adding degenerate faces in textToModel by @davepagurek in #7951
- Individual flags to disable part of FES by the user by @limzykenneth in #7967
- Add minified ESM build output by @nickswalker in #7973
- Replace fn with direct downloadFile import to fix issue where fn was not found by @acgillette in #7971
- Fix MediaElement.copy by @pearmini in #7980
- Reset millis() after setup by @davepagurek in #8005
- add instance of video in callback (2.0) by @ksen0 in #7877
Documentation 📚
- Remove incorrect mouseX/mouseY docs regarding WEBGL mode in dev-2.0 branch. by @perminder-17 in #8006
- Update dev-2.0 docs with recently-added contributors and stewards by @ksen0 in #8000
- Documentation fix for swapped parameters in splinePoint and bezierPoint by @shawdm in #7997
- Adding docs for
code
in the refrence. by @perminder-17 in #7902 - added documentation to _getBrightness() and _getGreen() function by @FerrinThreatt in #7908
- Updating visual tests docs for 2.x versions by @perminder-17 in #7827
- Revamped config.yml(branch: dev-2.0) by @shivasankaran18 in #7776
- Fix typo in createFileInput example by @ksen0 in #7884
New Contributors
- @sophyphile made their first contribution in #7882
- @FerrinThreatt made their first contribution in #7908
- @madhav2348 made their first contribution in #7872
- @nking07049925 made their first contribution in #7956
- @nickswalker made their first contribution in #7973
- @acgillette made their first contribution in #7971
Full Changelog: v2.0.3...v2.0.4-rc.2
v1.11.10-rc.0
What's Changed
What's Changed 🎊
- Changing URL which comes when user is not in WEBGL mode by @skools-here in #7976
- docs: add mudit06mah as a contributor for doc by @allcontributors[bot] in #7982
- docs: add acgillette as a contributor for code by @allcontributors[bot] in #7990
- Fix parameter documentation for bezierPoint by @shawdm in #7987
- docs: add shawdm as a contributor for doc by @allcontributors[bot] in #7991
- Bring 2.0 stroke ordering fixes to 1.x by @davepagurek in #7996
- docs: add skools-here as a contributor for code by @allcontributors[bot] in #7977
- Remove incorrect mouseX/mouseY docs regarding WEBGL mode by @ericrav in #8004
- docs: add ericrav as a contributor for doc by @allcontributors[bot] in #8007
New Contributors
- @skools-here made their first contribution in #7976
- @ericrav made their first contribution in #8004
Full Changelog: v1.11.9...v1.11.10-rc.0
v2.0.4-rc.0
What's Changed
What's Changed 🎊
- add instance of video in callback (2.0) by @ksen0 in #7877
- Add font readiness wait to create() function in p5.Font.js by @sophyphile in #7882
- Fix typo in createFileInput example by @ksen0 in #7884
- Create Graphics fixing in dev-2.0 branch. by @perminder-17 in #7829
- Alias GLSL's mix function as lerp in p5.strands (#7875) by @LalitNarayanYadav in #7887
- added documentation to _getBrightness() and _getGreen() function by @FerrinThreatt in #7908
- Chore/upgrade eslint by @error-four-o-four in #7853
- Revamped config.yml(branch: dev-2.0) by @shivasankaran18 in #7776
- Update zod 3 to zod 4 support in p5.js dev-2.0 by @madhav2348 in #7872
- Updating visual tests docs for 2.x versions by @perminder-17 in #7827
- Skip adding degenerate faces in textToModel by @davepagurek in #7951
- Add GLSL-based noise(vec2) function to p5.strands (#7897) by @LalitNarayanYadav in #7921
- Fix inline anonymous functions causing a parsing error in p5.strands callbacks by @nking07049925 in #7956
- Fix p5.strands uniform calls, add instance mode construct by @davepagurek in #7961
- Enhance p5.strands noise() to support noise(x, y) and 4-octave fractal noise by @LalitNarayanYadav in #7964
- Adding docs for
code
in the refrence. by @perminder-17 in #7902 - Individual flags to disable part of FES by the user by @limzykenneth in #7967
- Add minified ESM build output by @nickswalker in #7973
- Replace fn with direct downloadFile import to fix issue where fn was not found by @acgillette in #7971
- Documentation fix for swapped parameters in splinePoint and bezierPoint by @shawdm in #7997
- Update dev-2.0 docs with recently-added contributors and stewards by @ksen0 in #8000
New Contributors
- @sophyphile made their first contribution in #7882
- @FerrinThreatt made their first contribution in #7908
- @madhav2348 made their first contribution in #7872
- @nking07049925 made their first contribution in #7956
- @nickswalker made their first contribution in #7973
- @acgillette made their first contribution in #7971
Full Changelog: v2.0.3...v2.0.4-rc.0
v1.11.9
What's Changed
This release includes bug-fixes and updates to documentation, including the publication of a revised stewardship process.
Bugfix 🐞
- Fixed loop variable in createFileInput() docs (dom.js) by @andrewmcwhae in #7422
- Respect p5.disableFriendlyErrors by @quinton-ashley in #7888
- Remove second call of _updateWindowSize() by @bensgilbert in #7847
Documentation 📚
- docs: add andrewmcwhae as a contributor for doc by @allcontributors[bot] in #7883
- docs: add bensgilbert as a contributor for code by @allcontributors[bot] in #7922
- Update stewards.yml by @ksen0 in #7923
- chore: update README table from stewards.yml by @ksen0 in #7925
- fix duplicate contributor (trivial) by @bensgilbert in #7924
- Fix typos in documentation and comments by @leopardracer in #7926
- docs: add leopardracer as a contributor for doc by @allcontributors[bot] in #7927
- Docs: Fix typos in documentation by @kilavvy in #7931
- docs: add kilavvy as a contributor for doc by @allcontributors[bot] in #7932
- docs: add shivasankaran18 as a contributor for doc by @allcontributors[bot] in #7943
- Revamped config.yml(branch:main) by @shivasankaran18 in #7775
- docs: add madhav2348 as a contributor for code by @allcontributors[bot] in #7948
- docs: add nking07049925 as a contributor for code by @allcontributors[bot] in #7962
- docs: add LalitNarayanYadav as a contributor for code by @allcontributors[bot] in #7916
- docs: add FerrinThreatt as a contributor for doc by @allcontributors[bot] in #7918
- docs: add vtjl10 as a contributor for doc by @allcontributors[bot] in #7914
- Update stewardship guildelines and process by @ksen0 in #7867
- Update stewards-update.yml to fix typo and include token by @ksen0 in #7892
- Added p5.js-website accessibility steward stewards.yml by @ksen0 in #7893
- Update stewards-update.yml to only make PR with README by @ksen0 in #7895
- Update README table from stewards.yml by @ksen0 in #7896
- docs: add atmajaa as a contributor for doc by @allcontributors[bot] in #7901
- Update labeler.yml to correctly group DevOps lables by @ksen0 in #7904
- docs: add SonyaCode as a contributor for a11y, blog, and 4 more by @allcontributors[bot] in #7907
- Correct username in stewards.yml by @IIITM-Jay in #7912
- Fix Typo in Comments: "trhough" to "through" in textOutput.js by @vtjl10 in #7911
- chore: update README table from stewards.yml by @ksen0 in #7913
New Contributors
- @andrewmcwhae made their first contribution in #7422
- @vtjl10 made their first contribution in #7911
- @leopardracer made their first contribution in #7926
- @kilavvy made their first contribution in #7931
Full Changelog: v1.11.8...v1.11.9
v1.11.8
What's Changed
What's Changed 🎊
- Add LalitNarayanYadav for doc by @ksen0 in #7830
- Reduce contributor avatar image size to 64px for improved performance #7788 by @LalitNarayanYadav in #7814
- fix: push() ignoring the ColorMode #7402 by @swastikCommits in #7586
- Revert "fix: push() ignoring the ColorMode #7402" by @ksen0 in #7848
- Fix typos by @omahs in #7855
- docs: add dpanshug as a contributor for doc by @ksen0 in #7864
- added instance of video in callback by @subCode321 in #7585
- chore: fix typos across codebase by @sukrucildirr in #7874
New Contributors
- @subCode321 made their first contribution in #7585
- @sukrucildirr made their first contribution in #7874
Full Changelog: v1.11.7...v1.11.8
v2.0.3
What's Changed
What's Changed 🎊
- docs(keyboard): clarify keyIsDown() documentation for key codes and browser compatibility by @dpanshug in #7812
- Prevent FES from checking nested properties by @IIITM-Jay in #7824
- update the model params to be correct for 2.0 in docs and FES by @lukeplowden in #7832
- Model params updated for YUIDocs by @lukeplowden in #7835
New Contributors
Full Changelog: v2.0.2...v2.0.3
v2.0.2
What's Changed
Documentation and Tests
- Fix typo in directionalLight reference (dev-2.0 branch) #7743 by @LalitNarayanYadav in #7778
- Rest types by @davepagurek in #7803
- Updating all the broken refrence examples. by @perminder-17 in #7739
- P2HDR docs by @perminder-17 in #7728
- Update creating addon libraries contributor docs by @limzykenneth in #7800
Improvements
- Improve antialiased framebuffer performance by @davepagurek in #7794
- Remove dayjs dependency and update date formatting in banner by @error-four-o-four in #7804
Bugfixes and Test(s) 🐞 💚
- Fix corrupted textures when rendering too many WebGL characters by @davepagurek in #7792
- Fix FES check for image() not accepting some valid types by @limzykenneth in #7801
- Publish types on NPM with next release by @limzykenneth in #7802
- Fixing keyTyped() for dev-2.0 branch by @perminder-17 in #7809
Full Changelog
v1.11.7
What's Changed
What's Changed 🎊
- Consistent
movedX
andmovedY
behaviour across zoom levels by @IIITM-Jay in #7795 - Publish 1.x under r1 tag by @ksen0 in #7810
New Contributors
- @IIITM-Jay made their first contribution in #7795
Full Changelog: v1.11.6...v1.11.7
v1.11.6
What's Changed
What's Changed 🎊
- "Fix typo in directionalLight reference (main branch)" - #7743 by @LalitNarayanYadav in #7777
- Fix _isGlobal flag in ini method by @VANSH3104 in #7785
- Fix: keyTyped() can now accept the same char consecutively by @AhmedMagedC in #7808
New Contributors
- @AhmedMagedC made their first contribution in #7808
Full Changelog: v1.11.5...v1.11.6
v2.0.1
What's Changed 🎊
Documentation and Tests
- Updating foundation-section for async/await by @perminder-17 in #7721
- fixing keyReleased() function. by @perminder-17 in #7758
Bugfixes
- [2.x] Fix ESM export functionality by @limzykenneth in #7764
- Fix WebGL alpha blending by @davepagurek in #7769
- [2.0] Fix touch event not updating mouse coordinates by @limzykenneth in #7772
- Fixed Error in FES prevents message from being shown, Prevented 'window' properties from being overwritten by @HughJacks in #7765
Bugfix with Test 🐞 💚
- fix: add splineVertex to p5.Graphics prototype and fix unit test error by @VANSH3104 in #7757
New Contributors
- @HughJacks made their first contribution in #7765
Full Changelog: v2.0.0...v2.0.1