Releases: processing/p5.js
v2.2.3-rc.0
What's Changed
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. To test this patch, you can use this starter sketch.
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.webgpu.js"></script>What's Changed 🎊
- fix: createGraphics inherits pixelDensity from parent sketch. by @imrinahru in #8558
- Handle booleans used as temp variables in p5.strands by @davepagurek in #8548
- Fix usage of perspective() with no args by @davepagurek in #8564
- Implement public decorator API by @limzykenneth in #8353
- fix strands filterColor example by @nbogie in #8569
- Reset mouseIsPressed on window blur by @avinxshKD in #8559
- Avoid unnecessary texture copies and fix flipped webcams in WebGL by @davepagurek in #8572
- Handle strands set() calls in branches and loops by @davepagurek in #8576
- Fix filter() crash on createGraphics(WEBGL) by mirroring strands API … by @aashu2006 in #8568
- skip FES checks on internal calls by @avinxshKD in #8517
- Update contributing_to_the_p5js_reference for p5 v2 by @nbogie in #8462
New Contributors
- @imrinahru made their first contribution in #8558
Full Changelog: v2.2.2...v2.2.3-rc.0
v1.11.12-rc.1
What's Changed 🎊
The next patch will contain various documentation improvements and WEBGL bugfixes. Highlight: the README now contain a single image of all the contributor icons! This allows both visibility and faster loading.
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. To test this patch, you can use this starter sketch!
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.js"></script>Bugfixes (WEBGL)
- fix: background(image) support in WEBGL by @reshma045 in #8333
- Suppress stroke warnings during buildGeometry by @skyash-dev in #8411
- Fix WebGL shader and texture memory leak on sketch removal by @Sanchit2662 in #8418
- Add support for negative vertex indices in OBJ loader by @avinxshKD in #8507
- WebGL: Apply per‑vertex stroke color to POINTS by @yugalkaushik in #8380
Docs and Error Messages
- Update CONTRIBUTING.md links and add Discord invitation by @RishiAhuja in #8190
- Docs: fix typos and anchors by @nivanovvv in #8216
- docs: add nivanovvv as a contributor for doc by @allcontributors[bot] in #8217
- Add
AGENTS.mdby @SableRaf in #8194 - Add title to CONTRIBUTORS.md by @davepagurek in #8233
- docs: add nbogie as a contributor for bug, and code by @allcontributors[bot] in #8234
- docs: add SoundOfScooting as a contributor for code, and doc by @allcontributors[bot] in #8242
- Improve Accessibility Guidance for
describe()Usage (#8101) by @ksen0 in #8247 - docs: add VANSH3104 as a contributor for code by @allcontributors[bot] in #8258
- docs: add menacingly-coded as a contributor for doc by @allcontributors[bot] in #8292
- docs: add Homaid as a contributor for doc by @allcontributors[bot] in #8298
- Fix zh-Hans reference link by @nivanovvv in #8275
- docs: add Itsrajsk as a contributor for code by @allcontributors[bot] in #8306
- Updated point() examples for visible points in main branch. by @menacingly-coded in #8305
- Fix JSDoc return type for p5.Vector.cross by @Geethegreat in #8336
- docs: add Geethegreat as a contributor for code by @allcontributors[bot] in #8347
- docs: add Piyushrathoree as a contributor for code by @allcontributors[bot] in #8350
- docs: add Aayushdev18 as a contributor for code by @allcontributors[bot] in #8362
- Docs/fix broken links by @skyash-dev in #8399
- docs: add rakesh2OO5 as a contributor for code by @allcontributors[bot] in #8403
- docs: add doradocodes as a contributor for review by @allcontributors[bot] in #8425
- docs: add Nwakaego-Ego as a contributor for review by @allcontributors[bot] in #8427
- docs: add vietnguyen2358 as a contributor for code by @allcontributors[bot] in #8432
- feat: add accTitle/accDescr to class diagram in WebGL architecture doc by @coseeian in #8373
- docs: add shuklaaryan367-byte as a contributor for code by @allcontributors[bot] in #8433
- Add Nwakaego-Ego and doradocodes to stewards.yml by @ksen0 in #8460
- chore: update README table from stewards.yml by @ksen0 in #8461
- docs: add avinxshKD as a contributor for code by @allcontributors[bot] in #8483
- Add Iron-56 as p5.js-web-editor steward by @Iron-56 in #8486
- chore: update README table from stewards.yml by @ksen0 in #8488
- docs: add aashu2006 as a contributor for doc by @allcontributors[bot] in #8452
- Remove deprecated, unmaintained vscode extension "npm" from recommendations (main) by @nbogie in #8498
- Improve WebGL font error message to suggest textFont() usage by @yugalkaushik in #8494
- docs: add Sanchit2662 as a contributor for code by @allcontributors[bot] in #8503
- docs: add LuLaValva as a contributor for bug, and code by @allcontributors[bot] in #8511
- docs: add saurabh24thakur as a contributor for code, and test by @allcontributors[bot] in #8524
- Fix typo in createCanvas() reference example by @kajal-jotwani in #8527
- feat: generate contributors PNG for README by @skyash-dev in #8466
- chore: update contributors.png from .all-contributorsrc by @ksen0 in #8536
- Added p5.js Web Editor as an area for stewardship by @ksen0 in #8535
- docs: add imrinahru as a contributor for bug, code, and test by @allcontributors[bot] in #8561
- chore: update contributors.png from .all-contributorsrc by @ksen0 in #8562
- Add a link to the v2 guide to contributing to the reference by @nbogie in #8625
- docs: add skyash-dev as a contributor for code by @allcontributors[bot] in #8455
- docs: add jjnawaaz as a contributor for doc by @allcontributors[bot] in #8487
- chore: update contributors.png from .all-contributorsrc by @p5js-bot in #8632
- Update README by @ksen0 in #8633
- Add doradocodes to Maintainers team by @ksen0 in #8634
- chore: update README table from stewards.yml by @p5js-bot in #8635
New Contributors
- @RishiAhuja made their first contribution in #8190
- @nivanovvv made their first contribution in #8216
- @coseeian made their first contribution in #8373
- @Sanchit2662 made their first contribution in #8418
- @kajal-jotwani made their first contribution in #8527
- @p5js-bot made their first contribution in #8632
Full Changelog: v1.11.11...v1.11.12-rc.1
v2.2.2
What's Changed
This patch focuses on bugfixes, particularly on WebGPU performance and p5.strands. The goal is that all p5.strands shaders work with both WebGPU and WebGL canvases. This patch also adds millis() support inside strands code.
To use this patch, you can use this starter sketch!
Or load both p5.js and WebGPU mode by adding these two script tags to your sketch:
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.webgpu.js"></script>Then load WebGPU mode in createCanvas - note the async/await, this is needed for WebGPU but not WebGL:
async function setup() {
await createCanvas(400, 400, WEBGPU);
}If you take any existing sketch, such as from the intro to strands tutorial, iyou can switch from WEBGL to WEBGPU (async/await will be needed!)
Read more about how the WebGPU-based renderer works and where we plan on taking it here!
millis() supported in p5.strands
Here is a sketch (thanks @perminder-17!) showing millis() being used inside a strands shader. Previously, const t = uniformFloat(() => millis()); was needed. This can still be used, but you can instead use millis() directly:
// p5.js (WEBGL) sketch showing millis() driving a wavy displacement
let mat;
function setup() {
createCanvas(600, 400, WEBGL);
pixelDensity(1);
mat = baseMaterialShader().modify(() => {
// displace geometry in world-space based on y + time
getWorldInputs((inputs) => {
const wave = sin(inputs.position.y * 0.05 + millis() * 0.004);
inputs.position += [20, 25, 20] * wave;
return inputs;
});
});
}
function draw() {
background(15);
orbitControl();
// lights so the material shader looks nice
ambientLight(40);
directionalLight(255, 255, 255, 0.3, 0.6, -1);
// apply the modified material shader + draw some geometry
shader(mat);
noStroke();
// some rotation so you can see the displacement depth
rotateY(frameCount * 0.01);
rotateX(-0.25);
// a tall shape so Y-based waves are obvious
sphere(120, 80, 60);
}What does p5.strands make possible?
(Special thanks to @davepagurek for creating the sketches! Excerpted from a blog post about 2.2 updates.)
First, consider this sketch, which uses JavaScript loops to draw a cube of cubes. It is only 40 lines, but if there are many more cubes, it will slow down very much. If it is running smoothly, try changing all the “15” to a higher and higher number, such as “30.” As the scene grows, the sketch performance will suffer very noticeably.
The purpose of shader is to use parallel, GPU-based computation to speed this up. Instead of for loops, here is a second version of the same sketch using GLSL. It is 200 lines of code, and, if you are not familiar with GLSL, may be very difficult to read. Look for the “15” here, too, and try changing it to a larger number, like “30” or beyond. The shader-based animation remains smooth, showing the performance benefits of GPU rendering.
Finally, the p5.strands version of this sketch combines a more accessible, readable style of JavaScript with the performance of GLSL.
With the introduction of the WebGPU-based renderer, p5.strands sketches can seamlessly switch between WEBGL or WEBGPU renderer. Here is the same example as above, but using the WebGPU-based renderer. The only changes needed were to use async/await with createCanvas(...), and to import both the main library and the p5.webgpu.js add-on:
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.webgpu.js"></script>All Changes
- Refactor global node handling and add millis function by @perminder-17 in #8530
- 2.0 strands docs: add simple noise() example for buildFilterShader by @nbogie in #8521
- Sketch verifier: parse using the latest supported ECMAScript version by @dontwanttothink in #8522
- Add support for negative vertex indices in OBJ loader for 2.x by @avinxshKD in #8512
- Fix Show actual type in strands hook error messages by @Anshumancanrock in #8505
- Improve WebGL font error message to suggest textFont() usage by @yugalkaushik in #8513
- Fix/webgpu crash pixel density by @saurabh24thakur in #8476
- Fix WebGPU bugs surfaced by the Intro to Strands tutorial by @davepagurek in #8538
- Fix build*Shader methods in instance mode by forwarding optional scope by @aashu2006 in #8523
- Fix broken reference links in lerpColor() documentation (p5.js 2.0) by @rakesh2OO5 in #8518
- Fix WebGPU filter shader parameters being named differently than in WebGL by @davepagurek in #8546
- Updated readme and contributors for 2.0 branch by @ksen0 in #8556
- Updated readme and contributors for 2.0 branch (with attribution for image) by @ksen0 in #8557
New Contributors
- @dontwanttothink made their first contribution in #8522
- @Anshumancanrock made their first contribution in #8505
- @saurabh24thakur made their first contribution in #8476
Stewards
Code review and additional support with testing the release candidates by:
Full Changelog: v2.2.1...v2.2.2
v2.2.2-rc.2
What's Changed
The upcoming patch focuses on bugfixes and documentation, particularly on strands and WebGPU. Specifically, the goal is that all strands shaders work with both WebGPU and WebGL canvases.
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 or #p5strands channels!
To test this patch, you can use this starter sketch!
Or load both p5.js and WebGPU mode by adding these two script tags to your sketch:
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.webgpu.js"></script>Then load WebGPU mode in createCanvas - note the async/await, this is needed for WebGPU but not WebGL:
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 WebGPU filter shader parameters being named differently than in WebGL by @davepagurek in #8546
Full Changelog: v2.2.2-rc.1...v2.2.2-rc.2
v2.2.2-rc.1
What's Changed
The upcoming patch focuses on bugfixes and documentation, particularly on strands and WebGPU. Specifically, the goal is that all strands shaders work with both WebGPU and WebGL canvases.
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 or #p5strands channels!
To test this patch, you can use this starter sketch!
Or load both p5.js and WebGPU mode by adding these two script tags to your sketch:
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.webgpu.js"></script>Then load WebGPU mode in createCanvas - note the async/await, this is needed for WebGPU but not WebGL:
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 broken reference links in lerpColor() documentation (p5.js 2.0) by @rakesh2OO5 in #8518
- Refactor global node handling and add millis function by @perminder-17 in #8530
Full Changelog: v2.2.2-rc.0...v2.2.2-rc.1
v2.2.2-rc.0
What's Changed
The upcoming patch focuses on bugfixes and documentation, particularly on strands and WebGPU. Specifically, the goal is that all strands shaders work with both WebGPU and WebGL canvases.
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 or #p5strands channels!
To test this patch, you can load both p5.js and WebGPU mode by adding these two script tags to your sketch:
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.webgpu.js"></script>Then load WebGPU mode in createCanvas - note the async/await, this is needed for WebGPU but not WebGL:
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 🎊
- 2.0 strands docs: add simple noise() example for buildFilterShader by @nbogie in #8521
- Sketch verifier: parse using the latest supported ECMAScript version by @dontwanttothink in #8522
- Add support for negative vertex indices in OBJ loader for 2.x by @avinxshKD in #8512
- Fix Show actual type in strands hook error messages by @Anshumancanrock in #8505
- Improve WebGL font error message to suggest textFont() usage by @yugalkaushik in #8513
- Fix/webgpu crash pixel density by @saurabh24thakur in #8476
- Fix WebGPU bugs surfaced by the Intro to Strands tutorial by @davepagurek in #8538
- Fix build*Shader methods in instance mode by forwarding optional scope by @aashu2006 in #8523
New Contributors
- @dontwanttothink made their first contribution in #8522
- @Anshumancanrock made their first contribution in #8505
- @saurabh24thakur made their first contribution in #8476
Full Changelog: v2.2.1...v2.2.2-rc.0
v2.2.1
What's Changed
This patch includes documentation, bugfixes, and dependency updates. A flatter p5.strands API is also included as part of ongoing incremental strands API.
You can get started with the features in this release using these sketches:
- p5 2.2.1 starter/demo with p5.strands buildFilterShader - demonstrates a filter shader using p5.strands
- p5 2.2.1 starter with WEBGPU - the WebGPU mode is new in 2.2, and released experimentally for community testing
The focus of this patch is performance improvements to WebGPU core add-on. You can load both p5.js and WebGPU mode by adding these two script tags to your sketch:
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.webgpu.js"></script>Then load WebGPU mode in createCanvas:
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 #8423
- Make sure getTexture works in vertex shaders by @davepagurek in #8424
- Performance improvements for colors by @davepagurek in #8355
- fix textToModel regression for space characters by @skyash-dev in #8429
- add unit tests for HSB color space by @Piyushrathoree in #8376
- Experiment: flatter strands API by @davepagurek in #8314
- Auto return shader hooks by @vietnguyen2358 in #8384
- Fix
noiseDetail()in p5.js 2.x so that thefalloffparameter defaults to0.5when omitted. by @shuklaaryan367-byte in #8417 - Normalize strands noise output range to match JS noise() by @rakesh2OO5 in #8430
- fix createColorPicker ignores initial colour arg on chrome by @Piyushrathoree in #8363
- Add WebGL visual regression tests for transform functions by @aashu2006 in #8465
- Fix gifs in WebGL mode by @davepagurek in #8472
- feat(webgl): add global property support for p5.strands by @avinxshKD in #8211
- Webgpu perf updates by @davepagurek in #8480
- docs(p5.strands): document smoothstep by @jjnawaaz in #8459
- gitignore vscode local.code-workspace allowing users project-specific overrides by @nbogie in #8479
- fix(webgl): normalize nearly identical vertices before tessellation by @avinxshKD in #8221
- Remove deprecated, unmaintained vscode extension "npm" from recommendations by @nbogie in #8497
- Use --shallow in doc build to prevent documentation.js from processing GLSL imports by @nbogie in #8500
- Dependencies updates by @limzykenneth in #8360
- Add visual regression tests for WebGL 3D primitives by @aashu2006 in #8485
- Add transform support to bezier shapes in clip() by @VANSH3104 in #8481
- Fix instance mode usage of uniformFloat() in shader.modify() example by @aashu2006 in #8470
- More performance updates for WebGPU mode by @davepagurek in #8502
- More WebGPU optimizations by @davepagurek in #8510
- fix: use
@chainableper-overload by @LuLaValva in #8504 - add getTexture docs and examples for p5.strands by @nbogie in #8446
New Contributors
- @vietnguyen2358 made their first contribution in #8384
- @shuklaaryan367-byte made their first contribution in #8417
- @rakesh2OO5 made their first contribution in #8430
- @aashu2006 made their first contribution in #8465
- @jjnawaaz made their first contribution in #8459
- @LuLaValva made their first contribution in #8504
Stewards
This patch was stewarded (through code review, comments, and discussion) by
@davepagurek
@limzykenneth
@nbogie
@perminder-17
@ksen0
Full Changelog: v2.2.0...v2.2.1
v2.2.1-rc.1
What's Changed
What's Changed 🎊
- docs(p5.strands): document smoothstep by @jjnawaaz in #8459
- gitignore vscode local.code-workspace allowing users project-specific overrides by @nbogie in #8479
- fix(webgl): normalize nearly identical vertices before tessellation by @avinxshKD in #8221
- Remove deprecated, unmaintained vscode extension "npm" from recommendations by @nbogie in #8497
- Use --shallow in doc build to prevent documentation.js from processing GLSL imports by @nbogie in #8500
- Dependencies updates by @limzykenneth in #8360
- Add visual regression tests for WebGL 3D primitives by @aashu2006 in #8485
- Add transform support to bezier shapes in clip() by @VANSH3104 in #8481
- Fix instance mode usage of uniformFloat() in shader.modify() example by @aashu2006 in #8470
- More performance updates for WebGPU mode by @davepagurek in #8502
- More WebGPU optimizations by @davepagurek in #8510
- fix: use
@chainableper-overload by @LuLaValva in #8504 - add getTexture docs and examples for p5.strands by @nbogie in #8446
New Contributors
- @jjnawaaz made their first contribution in #8459
- @LuLaValva made their first contribution in #8504
Full Changelog: v2.2.1-rc.0...v2.2.1-rc.1
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:
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.webgpu.js"></script>Then load WebGPU mode in createCanvas:
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 #8423
- Make sure getTexture works in vertex shaders by @davepagurek in #8424
- Performance improvements for colors by @davepagurek in #8355
- fix textToModel regression for space characters by @skyash-dev in #8429
- add unit tests for HSB color space by @Piyushrathoree in #8376
- Experiment: flatter strands API by @davepagurek in #8314
- Auto return shader hooks by @vietnguyen2358 in #8384
- Fix
noiseDetail()in p5.js 2.x so that thefalloffparameter defaults to0.5when omitted. by @shuklaaryan367-byte in #8417 - Normalize strands noise output range to match JS noise() by @rakesh2OO5 in #8430
- fix createColorPicker ignores initial colour arg on chrome by @Piyushrathoree in #8363
- Add WebGL visual regression tests for transform functions by @aashu2006 in #8465
- Fix gifs in WebGL mode by @davepagurek in #8472
- feat(webgl): add global property support for p5.strands by @avinxshKD in #8211
- Webgpu perf updates by @davepagurek in #8480
New Contributors
- @vietnguyen2358 made their first contribution in #8384
- @shuklaaryan367-byte made their first contribution in #8417
- @rakesh2OO5 made their first contribution in #8430
- @aashu2006 made their first contribution in #8465
- @avinxshKD made their first contribution in #8211
Full Changelog: v2.2.0...v2.2.1-rc.0
v2.2.0
2.2: WebGPU and bugfixes
The 2.2 minor release contains work on WebGPU rendering that has been going on over the past year! WebGPU mode is included in a core add-on now. This release also contains a number of improvements in documentation and p5.strands bugfixes.
To load both p5.js and WebGPU mode, add these two script tags to your sketch:
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/p5.webgpu.js"></script>Then load WebGPU mode in createCanvas:
async function setup() {
await createCanvas(400, 400, WEBGPU);
}Read more about how it works and where we plan on taking it here!
You're also welcome to come by the Discord #webgpu channel 🌱
What's Changed 🎊
- Ported the stroke shader to WebGPU renderer by @lukeplowden in #7915
- Framebuffer support on WebGPU renderer by @davepagurek in #8008
- webgpu ci test by @tychedelia in #8023
- Add WIP WebGPU mode by @davepagurek in #8179
- Update release action to omit WebGPU tests, add TS tests by @davepagurek in #8337
- FES parameter validation decoration use
.apply()for faster function invocation by @limzykenneth in #8332 - Add WebGPU built files to npm releases by @davepagurek in #8338
- Make sure bytes are aligned in p5.Geometry by @davepagurek in #8340
- Fix WebGPU buffer memory leaks by @davepagurek in #8342
- Fix JSDoc return type for p5.Vector.cross (2.0) by @Geethegreat in #8346
- Add support for instanceID() in WebGPU mode by @davepagurek in #8348
- Fix WebGPU filters in CDN builds using duck typing for nodes (closes … by @Piyushrathoree in #8349
- Fix Camera.slerp for ortho by cloning projMatrix into uPMatrix when active by @nakednous in #8351
- fixed the issue with alpha blending - fixing blur remaining by @Piyushrathoree in #8354
- Support background(image) in WEBGL Renderer3D by @reshma045 in #8352
- Fix LogicalExpression (&&, ||) handling in p5.strands by @Aayushdev18 in #8359
- Fix p5.strands filters not working on minified code by @davepagurek in #8367
- More fixes for minified filters by @davepagurek in #8372
- Fix transforms in clip() by using shape system for primitives using manual method by @VANSH3104 in #8236
- Make sure text binds an index buffer by @davepagurek in #8393
- Fix font measurement with font families containing special characters by @davepagurek in #8391
- Fix for strands branching by @davepagurek in #8394
- Fix assignments to properties of
inputsin branches in p5.strands by @davepagurek in #8397 - Fix set() to support p5.Graphics objects by @VANSH3104 in #8326
- Fix type for shuffle() and add type test. by @nbogie in #8410
- Fix p5.strands parsing of named function callbacks by @davepagurek in #8414
New Contributors
- @tychedelia made their first contribution in #8023
- @Piyushrathoree made their first contribution in #8349
- @Aayushdev18 made their first contribution in #8359
Full Changelog: v2.1.2...v2.2.0