Releases: jmoenig/Snap
Releases Β· jmoenig/Snap
v8.1.2
v8.1.1
- Notable Fixes:
- loading old projects only hides new blocks if they already contain hidden ones
- distinguish selected named list indices ("random", "last") from same-named typed-in dictionary keys
- fixed opening projects when the language is set to non-English
- Documentation Updates:
- updated API documentation for "noAutoFill" configuration setting
v8.1.0
- New Features:
- lists as dictionaries: alphanumeric indices for lists, access fields (JSON) and columns (CSV) by name
- include custom block data dependencies in libraries, eliminates the need for initialization routines creating and populating variables required by custom block definitions
- visually highlight variable scope when mouse-hovering over a variable declaration in visible stepping mode
- visually highlight the variable declaration of variable accessor blocks when mouse-hovering over them in visible stepping mode
- visually highlight senders / receivers when mouse-hovering over messaging blocks in visible stepping mode
- show intermediate results when debugging a script, i.e. when clicking on a script in visible stepping mode. Thanks, Vic!
- new "When (sprite) is edited" event hat block, supports light user interaction logging
- new PIPE primitive in the control category
- "touching" predicate now also accepts a 2-item list representing x/y-coordinates to check for collision with an arbitrary point
- hyper-rays: support lists of relative angles in the left "ray length TO sprite" input slot for instant fields of vision
- added "delete" option to context menu of global and sprite-local variable declarations in the blocks palette
- added "translations" selector to metaprogramming blocks
- new "disable dragging data" preference setting for (kids') MicroWorld creators
- pixels library: Added command blocks to rename and export costumes
- new "ide_blocks" extension primitive
- new extension primitives: "txt_to_utf8(txt)" and "txt_from_utf8(utf8List)", thanks, John!
- new extension primitive "txt_transform(name, txt)" for encoding, decoding, escaping, unescaping and hashing text
- new extension primitive "cst_export(cst, name)" for exporting/downloading a costume
- new extension primitive: "syn_scripts([xml])" for getting & setting (and deleting!) the scripts of a sprite
- codification: calling "code of" on a sprite returns a text version of its scripting area (concatenated codified scripts delimited by empty lines)
- extensions can auto-load and auto-exec allowed or allow-listed external JS scripts that modify the IDE, e.g. to add buttons by storing the external url in global (optionally hidden) variables whose name starts with "module"
- extensions can add custom buttons to the palette, thanks, Bernat!
- added retina support for inlined morphic worlds, enabling high-res embedding of Snap! components into other websites
- added configuration options for embedding Snap! into other websites
- new API methods for synchronizing scripts across sprites and Snap! instances
- new API methods for signalling scripts through highlighting blocks that correspond to marked portions of mapped text code
- Notable Changes:
- enabled same-named global and sprite-local variables
- no more error messages when the number of actual arguments doesn't match the number of implicit parameters
- removed empty parens from extension prims "ide_all_blocks", "ide_language" and "ide_translations"
- hyperized bitwise operators, and gave them more mnemonic block names, thanks, Bernat and Brian!
- optional inputs "broadcast" and "switch to scene" blocks don't auto-fill when called with an input list
- made formal parameters available in variable-menu dropdowns of all blocks inside of block editors
- hyperized "code of" reporter (codification primitive)
- round watcher readouts to 6 decimal digits (like Scratch), instead of 9
- updated "for each" help screen, thanks, Brian!
- TuneScope extension update, thanks, Harsh, Jo and Glen!
- SciSnap2 extension update, thanks, Eckart!
- MQTT library update, thanks, Simon!
- removed PIPE from all libraries (b/c it is now a built-in primitive in the control blocks palette)
- updated "Codification" example project
- hide "stage selected - no motion primitives" text when hiding the category names in single palette mode
- order "my scripts" list by their top-down position in the scripting area (not by the time of their placement)
- don't show "result pic" option in block context menu with "click-to-run" disabled
- enable JavaScript extensions when running Snap! locally without a webserver (location.protocoll "file:")
- enable "JavaScript function" primitive to be hidden / shown independently from enabling JavaScript extensions
- shrunk some new built-in costumes, to make them load faster
- Notable Fixes:
- fixed refactoring (renaming) variables (I hope, haha!)
- fixed retaining transience when renaming a global or sprite-local variable
- fixed displaying message senders
- improved text wrapping - wrap words that are too wide for a line by letters
- improved touch-hold gesture on mobile Android devices, thanks, @ego-lay-atman-bay!
- don't show block relabel options that are marked as hidden
- fixed aggressive cache issue, thanks, Michael!
- fixed exporting pics of morphs in dev mode, thanks, @xBZZZZ!
- fixed API->broadcast() to also accept a data payload, thanks, Zak!
- SciScnap2 library: fixed SQL queries containing the percent characters
- fixed exporting information about blocks in custom categories when creating a summary document (#3097)
- fixed occasional "reporter did not report" error when changing a custom command block to become a reporter
- fixed a naming issue when importing duplicate data files
- fixed occasional errors when using "broadcast" and "this script" in the same script
- fixed deselecting / selecting blocks in the "Unused Blocks" dialog
- fixed "obj_name" extension prim to also accept numbers as names
- fixed "Make Variables" extension for numerical names
- fixed palette category ghosting update when hiding / unhiding blocks using extension primitives
- fixed accidentally drawing unwanted dots when changing a pen color dimension thanks, Joan!
- fixed zebra coloring for polyadic read-only input slots
- fixed a label rendering glitch when flashing blocks
- prevented variables from being renamed to blanks
- caught an occasional maximimum call-stack size range error when embedding blocks into a scripts pic
- improved frame scheduling, prevent excessive frame drops, thanks, SArpnt!
- hiding the keyboard handler text area better by reducing its visible dimensions to zero
- fixed a codification glitch for empty list slots
- fixed deleting embedded reporters in keyboard-entry mode
- fixed zebra coloring when importing a script from file or smart PNG
- fixed accidentally triggering "When I receive green flag" events for any broadcast message
- COMBINing an empty list with JOIN results in an empty text rather than in the number zero
- hide new primitives in old microworlds
- explicitly garbage collect (i.e. remove) terminated audio elements
- don't crash the "play frequency" block when passing a non-numerical input
- Documentation Updates:
- new "docs" folder for documentation files, thanks, Michael!
- new doc for extensions, thanks, Michael!
- extended API documentation
- Translation Updates:
- German
- Catalan, thanks, Joan!
- Dutch, thanks, Hans!
- Brazilian Portuguese, thanks, Artur!
v8.0.0
- New Features:
- passing a list to the ASK command in sensing presents a menu to the user
- formatting a list of texts displays it as chat-history in an ASK menu
- ASK nothing or a falsy value terminates all threads currently displaying a question or waiting to ask one and clears the last "answer"
- new "Menus" library
- broadcasting now supports optional additional data transmission, also when switching scenes
- export script (including dependencies) via its context menu
- export / import sprite-local custom block definitions from the palette
- export block definitions from inside the block editor
- embed blocks into costume metadata to be shared as image file
- exported script pics now always include the actual blocks, which can be extracted from the image inside Snap!
- exported scripts (!) pics now also always include either the actual blocks (if it's a single script), the block definition (if it's a block editor), or a sprite-representation of the current object (sprite or stage)
- added green flag symbol to "when I receive" dropdown menu, support when clicking the green flag button in the IDE
- added "combinations" primitive to the palette
- new POSITION primitive reporter in the MOTION category
- new MOUSE POSITION primitive reporter in the SENSING category
- new "position" choice in OF reporter's attribute dropdown, reports a list of XY coordinates
- new "variables" choice in OF reporter's attribute dropdown, reports a list of reachable variable names
- new "categories" choice in MY reporter's dropdown, reports an ordered list of all category names whose indices match the "category" reported elsewhere
- new "label", "type", "scope", "slots", "defaults", "menus" and "editables" choices in the OF BLOCK block-attribute reporter's dropdown
- new "set attribute of block" primitive
- new "define block" primitive
- new "delete block" primitive
- new "this script" primitive
- added support to the OF reporter for binding a ring to another one, e.g. THIS SCRIPT, to access its local variables
- new localization extension primitives in the "ide" category, hyperized
- new extension primitive for importing a costume from a url
- new extension primitive for querying all variable names accessible from a specified scope (global, sprite, script)
- new extension primitive for querying whether a watcher for a variable by name is shown onstage
- new support for setting the translation via the API
- new TuneScope extension and library, thanks, Glen, Eric, and team!
- new "Tad", "Jahrd", "Derec" and "Jamet" costume series, thanks, Meghan and Brian!
- Notable Changes:
- exporting a library includes dependencies (auto-select all referenced blocks)
- exporting / importing a sprite includes dependencies (global custom blocks and palette categories)
- imported single scripts are now placed into the hand, for the user to position them in the scripting area
- moved "append", "reshape", "combinations" blocks down one group in the palette
- moved "current date" block up to "timer" group in the palette
- moved "attribute of block" block from the sensing category to control
- include currently dragged sprites in the MY OTHER SPRITES/CLONES lists
- library import dialog makeover for custom categories and hidden blocks, thanks, Michael!
- when querying a custom reporter's "definition" property only report its reporter without the REPORT block (if applicable)
- SciSnap2 extension update (ImagePad), thanks, Eckart!
- MQTT extension update, thanks, Simon and Xavier!
- Notable Fixes:
- fixed relabelling "sum", "product", "minimum" and "maximum" reporters
- fixed relabelling local custom blocks to global ones and vice-versa
- fixed library blocks preview to deal with both local and global blocks
- fixed scope of script vars inside experimental JIT-compiled rings, thanks, xBZZZ!
- fixed a "wandering" watcher positioning bug when saving / loading a project into a scaled stage
- fixed an edge case for slot type inferral
- fixed variadic AND/OR reporters library, thanks, Brian!
- fixed a pen-size issue in the frequency distribution analysis' graph-plot block, thanks, Brian!
- fixed block label color when expanding or inserting variadic infix slots
- framerate is throttled to < 67 fps
- Documentation Updates:
- new Manual for v8, yay! Thanks, Brian!
- updated contribution guidelines, thanks, Peter!
- updated help screens for NUMBERS and FIND FIRST, thanks, Brian, Peter and WarpedWartWars!
- updated the API documentation for "setTranslation"
- Translation Updates:
- German
- Greek, thank you, HM100!
v7.3.1
v7.3.0
7.3.0:
- New Features:
- variadic associative infix reporters
- shift-click on STOP button to stop all scenes
- STOP "all scenes" dropdown option
- "category" selector for block-getter in sensing
- Notable Changes:
- show project name in browser tab, thanks, Peter!
- SciSnap2 extension update (FFT), thanks, Eckart!
- removed now redundant variadic reporters from the variadic reporters library
- Notable Fixes:
- addressed security issues in the JIT-compiler, thanks, xBZZZZ!
- animation library: fixed pen state for GLIDE, thanks, Brian!
- Translation Updates:
- German