# canvasGUI V2 released

**URL:** https://discourse.processing.org/t/canvasgui-v2-released/47586
**Category:** Libraries
**Created:** [December 3, 2025, 4:31pm UTC](https://discourse.processing.org/t/canvasgui-v2-released/47586 "2025-12-03T16:31:40Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![quark](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/quark/32/26_2.png) [@quark](https://discourse.processing.org/u/quark)
#### Post date: [December 3, 2025, 4:31pm UTC](https://discourse.processing.org/t/canvasgui-v2-released/47586/1 "2025-12-03T16:31:40Z")

</div>

I created canvasGUI in 2022 so I could learn JavaScript and p5js. Now 3 years later and with the advent of p5js V2 I thought it was time to apply my new found knowledge and improve canvasGUI, hence V2. 😃

**Changes in V2:**

- The event handling and control rendering algorithms have been completely rewritten
- The data structures for color schemes have changed so that control backgrounds can be translucent
- Enhanced functionality for many of the existing controls
- Some minor visual enhancements to some existing controls
- Text font, size and style can be set for any control that displays text.
- A new control - the draggable control panel

If you are comfortable with V1 then using V2 is a doddle because the API has been extended rather than changed.

**canvasGUI features**

- compatible with p5js 1.11.10 and 2.1.1
- works in both global and instance modes
- works with P2D and WEBGL renderers
- backwardly compatible with canvasGUI 1.1.1

**Library support**

1. canvasGUI now has a p5js web editor [account](https://editor.p5js.org/canvasgui/sketches) dedicated to commented examples covering all the control types.
2. github repository [wiki](https://github.com/quarks/canvasGUI/wiki)
3. my [website](http://www.lagers.org.uk/canvasgui/index.html)

If you have questions about this release or about using canvasGUI in your own sketches feel free to create a topic on this forum. I am a regular visitor and will respond as quickly as my circumstances allow.

Please create an issue on github for any bugs or feature request.
