You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
new "this" reporter for introspection offering access to "script", "caller", "continuation" and "inputs", enabling programs to access their dynamic scope and runtime call-stack
"call" is now hyperized and accepts a list/table etc. of rings as procedure input, returns a list/table etc. of applying all arguments to each ring. Currently constrained to primitive data (text, number, Boolean) inputs, albeit in any dimension (e.g. lists of lists of data)
new "extent" selector in the "(attribute) OF (object)" reporter's dropdown menu returns a list if width-height coordinates
new "uniques" selector in list properties reporter's dropdown, answers a new list containing the source list's unique values based on equality (i.e. a set)
new "sorted" and "shuffled" selectors in list properties reporter's dropdown
new "stage", "agent" and "script" selectors in "is a?" reporter's dropdown
new "case sensitivity" preference setting
new "case sensitivity" selector to the setting blocks' dropdowns
new dropdown menu with "length", "lower case" and "upper case" selectors in the "length of text" reporter
new option to make individual input slots in custom blocks "static", i.e. irreplaceable by reporters
new option to specify a "separator" (infix) label for variadic input slots inside custom blocks
new "replaceables" selector in block-attributes dropdown, manages whether inputs slots are static
new "separators" selector in block-attributes dropdown, manages infix-separators for variadic input slots
new "comment" selector in block-attributes dropdown, accesses cutom block definitions' help text, i.e. comments attached to the prototype hat
new context comments preserve ring comments and hat block comments in the evaluator for later introspection
new "generate puzzle" feature - single click Parson's Puzzle generator for educators
new "solutions" selector in the "my (attributes)" reporter, answers a dictionary of a puzzle sprite's solution scripts tagged by their comments, if any
new "Tiles" library, divides the stage into sub-regions in each of which to perform an action
new "Arcs" library, turns sprites by a delta of degrees moving them at a given radius
new "Sarron" and "Aleassa" costume series, thanks, Meghan and Brian!
new Armenian translation, yay! Thanks to the contributors!
new embedding configuration options: noSpriteEdits
Expanded the #open: URL scheme to accept image URLs.
new "ide_translation_dict", "ide_set_translation_dict(data)" and "txt_export(txt, name)" extension primitives
new "hideDefaultCat" configuration setting, lets you hide the default built-in category buttons
Notable Changes:
IF is now variadic and expandable with "else if" cases
explicit variadic input list visuals
"this script" reporter has been morphed into the new general "this" introspection/self reflection reporter
RUN/CC and CALL/CC primitives have been deprecated and removed from the palette, will still be present and work in existing projects
changed the first input slot of the "reshape" block from "list" type to "any" type
changed JOIN, APPEND and COMBINATIONS to show "with" infix label in between inputs, and to collapse from 2 inputs directly to "input list" case, same as +, min, AND etc. (monadic uses in existing projects will not change)
dragging blocks and scripts out of balloons and watchers now only includes the surrounding ring if it has formal parameters
changed the semantics of empty list-type slots to return a new empty list instead of "nothing"
improved browser resource management for graphics and sounds
changed long-form input dialog setting's behavior to automatically expand / collapse slot type view
made "distribution" list selector case-sensitivity setting aware and optimized for atomic data
slightly optimized pen drawing performance when WARPed
removed multibranched conditional library (cases.xml), because IF is now variadic
removed the "remove duplicates" reporter from the "list utilities" libraries because it is now a primitive
updated audio comp library with a faster (hyper) version of the "Hz for secs" reporter
updated animation library with a faster (hyper) version of "glide" and added "steps" selector to the "animate" command
new "fade-in" block in the audio comp library lets you reduce audible "clicks" in sounds computed from raw samples
messages and identifying sprites, costumes and sounds by their names is now case-insensitive by default (e.g. in "object", "broadcast", "of" blocks)
translations now use abstract block specs
updated the strings library for and with the new case sensitivity and lower case primitives
generated JSON strings are now (somewhat) pretty printed (with newlines and indentations)
increased arrows heads size for variadic inputs and dropdown menus
confined the red drop-target halo of multi-slots to the boundaries of its arrows / arity controls
Notable Fixes:
fixed #3154 (let "this script" capture variables in rings)
catch misspelled or non-existing translation keys in urls and elsewhere, thanks, Joan!
fixed a bug that led to the default input of "When I am clicked" not being translated
fixed serializing complex inputs to contexts (procedure objects)
fixed dragging blocks, costumes and sounds out of table views
fixed #3207 (initial arrow head orientation for long form input slot dialog)
fixed a number/text type glitch in the "(ray length) TO (sprite)" reporter for hyperized angular offsets
fixed #3180 (preserve zero values in blockified lists instead of turning them into empty slots)
fixed stopping ASK prompter under certain race conditions
fixed MAP, KEEP, FIND and COMBINE primitives to work with JS-funargs
fixed assigning same costume names to recurrent video snaps
fixed sound naming rules for same-named imports
fixed preserving embedded scripts when collapsing variadic c-slots
fixed preserving embedded scripts when relabelling blocks with variadic c-slots
improved sensing precision when clicking on variadic slot arrows