We are happy to announce another developmental release from Google Summer of Code 2020! This is the final release for GSOC this year and includes API refactors, additions, and bug fixes with compatibility and stability as foci.
List of New APIs
* `fract` calculates the fractional part of a number. Contributed by tushar5526
* `http_get` and `http_post` makes HTTP requests to the web. Contrbuted by nakul-shahdadpuri
* `pop_matrix` and `pop_style` are alternatives to the context manager syntax used by previous version. Accordingly, `push_matrix` and `pop_matrix` can now both act as context managers and be directly called like in Processing or p5.js
The following additional signatures are added for compatibility with other Processing dialects
* `line(x1, y1, x2, y2)`
* `line(x1, y1, z1, x2, y2, z2)`
* `ellipse(a, b, c, d, mode=None)`
* `circle(x, y, radius, mode=None)`
* `arc(x, y, width, height, start_angle, stop_angle, mode=None, ellipse_mode=None)`
* `image(img, x, y)`
* `image(img, x, y, w, h)`
* `triangle(x1, y1, x2, y2, x3, y3)`
* `quad(x1, y1, x2, y2, x3, y3, x4, y4)`
* `rect(x, y, w, h)`
* `square(x, y, side_length)`
* `bezier(x1, y1, x2, y2, x3, y3, x4, y4)`
* `bezier(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4)`
* `curve(x1, y1, x2, y2, x3, y3, x4, y4)`
* `curve(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4)`
* `camera(position_x, position_y, position_z, target_x, target_y, target_z, up_x, up_y, up_z)`
* `camera(position, target_position, up_vector)`
* `text(text_string, x, y)`
* `text(text_string, x, y, z)`
The following functions can now take floats and tuples of arbitrary length
* `bezier_point`
* `bezier_tangent`
* `curve_point`
* `curve_tangent`
* `quadratic_point`
List of issues fixed in this release
* 186 begin_shape('POINTS') does not draw points
* 161 Cant use stroke_weight for points
* 238 Point shape causing concatenate error
* 171 Add support for pop syntax
This release includes contributions from nakul-shahdadpuri, tushar5526, and parsoyaarihant. Thank you!