NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #5087 most downloaded on pub.dev
The $1 Unistroke Recognizer, a 2D single-stroke recognizer, plus features like straight line recognition, the Protractor enhancement, a way to correct user's shapes, and more.
Last release 1 months ago
13 Aug 2026
Release timing varies
gaps range from 8 days to 11 months
Most releases are documented
notes for 17 of 23 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
23 releases · first in 2023
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
Nothing published for this version
Fixed the 'spikes' in convertToCanonicalPolygon for lines.
convertToCanonicalPolygon for lines.straightLineName in recognizeCustomUnistroke(..., straightLineName: ...). Just make sure your straight line unistroke template has exactly 2 distinct points and the recognizer will pick it up automatically.Better recognition of wide/tall rectangles, thanks to @QubaB
Fixes RecognizedUnistroke.score always being close to 1.0 when the stroke is recognized as a straight line.
RecognizedUnistroke.score always being close to 1.0 when the stroke is recognized as a straight line.Separated the logic for straight lines and for other shapes to fix the issue where arbitrary strokes would often be incorrectly detected as a line.
Used a better algorithm (MAE) for detecting straight lines (#3). This fixes the issue where lines would often be incorrectly detected as a circle (sab
Removed the type parameter from RecognizedUnistroke. Custom types will now use the RecognizedCustomUnistroke type.
RecognizedUnistroke. Custom types will now use the RecognizedCustomUnistroke<K> type.recognizeUnistrokeOfType has been renamed to recognizeCustomUnistroke.Improved the rotation of the recognized shape.
Added a line template, and the corresponding RecognizedUnistroke.convertToLine() method.
RecognizedUnistroke.convertToLine() method.RecognizedUnistroke.name is now using an enum instead of a string, e.g. DefaultUnistrokeNames.circle instead of 'circle'. If you're using custom unist
RecognizedUnistroke.name is now using an enum instead of a string, e.g. DefaultUnistrokeNames.circle instead of 'circle'. If you're using custom unistrokes, see the README for how to use the recognizeUnistrokeOfType method.convertToCanonicalPolygon() now returns a correctly rotated shape (https://github.com/adil192/one_dollar_unistroke_recognizer/issues/2).Removed colored text from README since it doesn't work on pub.dev.
Fixed images in the README on pub.dev.
RecognizedUnistroke.convertToOval() method.This release has changed the default set of templates to contain better shapes. The old templates are still available in example$1Unistrokes. The new
example$1Unistrokes. The new templates are only a circle, rectangle, and triangle, where the old templates were more varied but were also sketched by hand and were not very pretty.convertToCanonicalPolygon() is still returning incorrectly rotated shapes. See https://github.com/adil192/one_dollar_unistroke_recognizer/issues/2 to track progress on this issue.Scores can now only be between 0 and 1. Would-be negative scores are interpreted to mean that the stroke is not recognized, so null is returned.
null is returned.Added functions to RecognizedUnistroke to get a "perfect" shape from the user's stroke: see RecognizedUnistroke.convertToCanonicalPolygon and Recogniz
RecognizedUnistroke to get a "perfect" shape from the user's stroke: see RecognizedUnistroke.convertToCanonicalPolygon and RecognizedUnistroke.convertToCircle.Recognize custom unistrokes by setting the referenceUnistrokes variable, or by passing the overrideReferenceUnistrokes parameter to recognizeUnistroke
referenceUnistrokes variable, or by passing the overrideReferenceUnistrokes parameter to recognizeUnistroke.feat: Added a web demo here: https://adil192.github.io/one_dollar_unistroke_recognizer.
knownUnistrokesNames.TODO: Allow adding custom unistrokes.
Your coding agent can read these notes before it upgrades. Set up the MCP server →