Skip to content

Releases: jmoenig/Snap

v8.1.6

10 Feb 14:07
Compare
Choose a tag to compare

8.1.6:

  • Notable Fixes:
    • fixed playing back a list of samples "until done", thanks for the report, @mjguzdial!
    • fixed messed up stage layout when switching back from presentation to edit mode on small displays, thanks for the report, Eckart!
    • fixed scaling down large stage sizes in presentation mode on small screens
  • Documentation Updates:
    • updated API documentation for onload() configuration callback option

v8.1.5

06 Feb 09:49
Compare
Choose a tag to compare
  • Notable Fixes:
    • fixed a scope highlighting bug

v8.1.4

04 Feb 23:05
Compare
Choose a tag to compare
  • Notable Fixes:
    • blocks: fixed setting a default value for Boolean input slots in custom blocks

v8.1.3

04 Feb 21:49
Compare
Choose a tag to compare
  • Notable Fixes:
    • fixed jit-compiling dropdown choices (e.g. "item /last/ of list")

v8.1.2

04 Feb 12:56
Compare
Choose a tag to compare

8.1.1:

  • Notable Fixes:
    • fixed #3176 - triggering user interaction hat blocks

v8.1.1

03 Feb 08:37
Compare
Choose a tag to compare
  • 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

01 Feb 17:48
Compare
Choose a tag to compare
  • 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

04 Aug 06:21
Compare
Choose a tag to compare
  • 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

16 Mar 08:34
Compare
Choose a tag to compare

7.3.1:

  • Notable Fix:
    • guard against broken SVG costumes when loading a project

v7.3.0

07 Mar 16:04
Compare
Choose a tag to compare

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