Skip to content

Releases: jmoenig/Snap

v12.0.2

03 Jun 09:29

Choose a tag to compare

12.0.2:

  • Notable Fixes:
    • fixed loading project data from url for the Moodle plugin

v12.0.1

02 Jun 14:29

Choose a tag to compare

12.0.1:

  • Notable Fixes:
    • fixed loading multi-scene project-templates with an embedded language setting and costumes / sounds only inside global variables (looking at you, Jadga, haha!)
    • keep unnamed project status when refreshing a project-template to adjust for language or block zoom
    • prevent activating both blocks-only and performer modes
    • suppress project sharing in Snap! Schule via a url parameter, thank you, Bernat!
    • tweaked stage layout in presentation mode to prevent the outer frame from being cut-off in certain screen aspect ratios
    • only display "restore palette" option in the project menu if the project is based on a template
    • fixed santa hats looks-menu plugin

v12.0.0

29 May 10:08

Choose a tag to compare

12.0.0:

  • New Features:
    • global zoom setting ("magnification"), scales everything seamlessly
      • new interactive "Magnification" dialog in the settings menu
      • magnification gestures: shift-scroll on Logo zooms, shift-double-click resets zoom to 1
      • new "zoom" api configuration key
    • templates
      • marking a starter project / puzzle as "template" removes its name when loading it (and lets users create their own projects based on the template)
      • projects based on a template let the user restore the visibility of global blocks in the template palette
      • template-projects can store their magnification level, block fade level, blocks zoom, language, design and theme and propagate them into the projects that are created from them
      • template-projects always open in edit mode (but still auto-run unless supressed)
      • "generate puzzle" automatically turns the project into a template
    • tutorials
      • open and run a scene inside a separate modeless window
      • new "Tutorials" library for positioning and scaling the tutorial window and interacting with the editor
      • "scn" extension category for cloned scenes and tutorials
      • new "scn_scale(num)" extension, scales and animates a launched tutorial, reports the scale if given no number or zero
      • new "scn_exit" extension, closes the tutorial dialog and redisplays the scenes in the corral
      • new "scn_position(pane, x, y)" extension, positions the tutorial dialog into the specified pane
      • new "scn_dimensions(pane)" extension for observing whether ide or tutorial panes have been resized
      • new "'meta_current(asset)'" extension for tutorial needing to access the IDE for the current sprite, stage, scripts, category or tab
    • unringed blocks as data
      • new "expression" selector in block-attribute (metaprogramming) reporter
      • enables expressions (unringed blocks) to be CALLed and RUN
      • enabled unringed blocks to be shown in and dragged out of speech and result balloons
    • graphics & visualization
      • drawing and writing on sprites: new "(paint) on (surface)" command primitive in the pen category
      • new "pen_path(points, [fill, close]" extension for drawing precise, filled shapes
      • new "Draw Paths" library for directly drawing filled or stroked polylines and polygons without moving the pen sprite
      • new "Shapes" extension for working with geometrical figures, modeled after Pyret's images. Under construction
    • OOP 2.0 (data objects)
      • "super" calls: using a ring as index inside the "ITEM ... OF ..." reporter answers a copy of the function (ring) that is bound to the list object in the second slot, enabling polymorphic methods, i.e. message dispatches to a "super class"
    • custom data types
      • include a ring entry named underscore + morph in data to specify a dynamic view
      • new "cst_morph(cst)" extension for specifying custom data type visualizations
      • include an entry named underscore + field in the data to specify a custom data type
      • integrated type-inferral for user defined data types
      • new "custom type" input slot for blocks
    • enforcing data types in input slots
      • new optional "reports" type declaration entry for custom reporters
      • new "enforce types" option for all custom blocks: only lets users drop reporters into input slots whose return type matches that of the slot
      • new general "enforce input types" preference setting for scenes / puzzles / microworlds
    • domain-specific languages (DSL) support
      • support for dynamic dropdown menus and read-only settings in variadic input slots
      • support for variadic upvars in custom blocks
      • new 'parameter' custom block input type, same as 'upvar', but doesn't add a script variable when evaluated, supports variadicity
      • support for dynamically setting the contents of expanded variadic upvars and input slots by a user script in the block definition
      • support for user-scriptable rename-menus in upvars, including variadic ones (a single menu is repeated in each non-unevaluated slot, a list of menu-lists whose first item is an empty list gets repeated across all subslots)
      • new "360° angles" dial widget for mathematical bearings (zero is East, counterclockwise) instead of compass bearings
      • new "number unevaluated" special input slot for custom blocks
    • files
      • new general "dta_export(data, name, type)" extension (for csv, json, etc.)
      • new general "dta_import(raw?)" extension (for text files, csv, json etc.)
    • ui
      • change name and color of custom categories
      • new "blocks" and "speaker" symbols, icons for the sprite-editor tabs
      • new "hide empty categories" setting
      • "generate puzzle" automatically hides empty categories
      • added a black-gray-white palette to the bottom of the color picker for color input slots
      • new "blocks only" setting for costomized "functions-first" microworlds
    • more extensions
      • Edge AI Computer Vision extension - thank you, Bernat!
      • new "Tables" extension for working with tabular data sets, modeled after Pyret's tables. Thanks, Shriram Krishnamurthi for your inspiration, feedback and advice!
      • new reporter version of "let" in the variables declaration extension
      • new "... times ..." reporter in the neural networks library for quantifying results
      • new blocks to load costumes and sounds from a url in the web-services library, thanks, @ego-lay-atman-bay!
      • new "cst_shrink-wrap(cst)" extension
      • new "ide_switch_to_palette(category)" extension
    • new help screens
      • new help screens for "combinations" and
      • "pipe" reporters, thanks, Brian and gang!
    • new set of costumes and backgrounds by Ketrina!
  • Notable Changes:
    • data types
      • enhanced "is ... a ...?" predicate to support dependent data types and user defined structs (ADTs)
    • ui
      • the green-flag button changes its color to red while any script has an error
      • keep result balloons "attached" to their originating block / script when scrolling
      • added icons to the IDE tabs (scripts, costumes, sounds)
      • added "plus" signs to the buttons in the corral bar to emphasize that a new sprite is created by clicking them
      • flat design mode now (again) supports rounded corners (sigh...)
      • dialog boxes are more bright and their buttons more discernible in bright mode
      • rearranged IDE settings menu items into submenus, thank you, Joan!
      • sprite icons no longer blur when the sprite size is reduced or the zoom level increases
      • sprite icons no longer display graphics effects, but the original costume
      • resizing the browser / window in presentation ("app") mode scales the stage smoothly
      • removed "stage selected, no motion primitives" text from the palette to support sprite-less microworlds
      • turned "language", "looks" and "microphone resolution" menus into settings-submenus
      • rearranged some slot types in the long form input dialog so default "Any type" is the first one top left
      • removed old photo costumes of people
    • blocks
      • removed landscape orientation of text-input slots
    • meta-programming
      • silently handle missing variable references in user-scripted dropdowns and expansion subslots by returning an empty list instead
      • removed "static" tag from the block-attribute getter
    • (EDC) Fancy Text
      • added automatic vertical scrolling to "fancy say / think" balloons
      • added optional "max height" input to "fancy say / think" library commands
    • speech recognition
      • new "tts_started" extension, reports (in a separate process) whether the user has started speaking in response to a "tts_recognize" query
      • TTS library: new "started speech response?" predicate
    • neural networks extension
      • added a custom visualization for the neural network data type to the neural networks extensions
      • refined normalization to handle redundant features (columns with all the same value)
    • in other extensions
      • took out rate limit in the Microblocks library, thanks, Bernat!
      • changed the evaluation semantics of the "let" block in the variables declaration extension to enable reuse of previously declared variables inside the same block
  • Notable Fixes:
    • always "normalize" SVGs on import, avoids "cut-off" costume parts
    • frequency distribution analysis library: fixed "plot bars" block to handle zero values gracefully
    • fixed occasional rendering artifacts on screens with a fractional devicePixelRatio
    • fixed some special cases for using "combine" on an empty list, thanks, @rmunn!
    • neural networks extension: fixed normalization to disregard redundant features and no longer throw a divide-by-zero induced error
    • fixed a variable declaration error in the S4A-Connector extension, thank you, Joan!
  • Documentation Updates:
    • updated API.md with new "zoom" configuration key for global magnification
  • Translation Updates:
    • new Vietnamese translation, thank you, Serge Faure @seeeerge !!
    • new Western Armenian translation, yay! Thanks to Avag Sayan and the Antrohoos Education Foundation !!
    • new British-English translation, thank you, Mark de Boer !!
    • Polish, thank you, @P1neF0rest935 !
    • Chinese, thank you, @Ayist14 !
    • Catalan, thanks, Joan!
    • German

v11.0.8

23 Oct 15:40

Choose a tag to compare

11.0.8:

  • Notable Changes:
    • added "all" option to "letter ... of ... " block, reports a list with all letters, same as "split ... by letter"
  • Notable Fixes:
    • fixed an internal migration bug for old blocks that have since added additional input slots with default values
    • fixed double entries for "distribution" and "uniques" of nested lists containing numbers and textual numbers

v11.0.7

22 Oct 15:12

Choose a tag to compare

11.0.7:

  • Notable Fixes:
    • fixed an input slot default value bug that occasionally prevented deserialization

v11.0.6

21 Oct 13:16

Choose a tag to compare

11.0.6:

  • Notable Fixes:
    • fixed default values for color slots & improved default slot values overall

v11.0.5

15 Oct 11:58

Choose a tag to compare

11.0.5:

  • Notable Changes:
    • neural networks library: added multiclass classification support
    • neural networks library: added "classifier" option to the "generate block" command
    • neural networks library: tweaked "partition" reporter to make sure each class in a data set is adequately represented in both partitions
  • Translation Updates:
    • German

v11.0.4

22 Sep 14:11

Choose a tag to compare

11.0.4:

  • Notable Changes:
    • neural networks library: added "confusion matrix" option to the "train/validate" reporter
  • Translation Updates:
    • German

v11.0.3

17 Sep 10:54

Choose a tag to compare

11.0.3:

  • Notable Changes:
    • speech library: added new "activate speech synthesis" command to the speech library for iOS devices
    • new "tts_activate(msg)" extension for activating speech synthesis on mobile iOS / iPadOS devices, sigh
    • neural networks library: changed "classify" reporter to feature a dropdown menu for "classify" and "predict" selectors, allowing to determine the neural network's confidence
  • Notable Fixes:
    • fixed horizontal scrolling for trackpads, thanks, @ego-lay-atman-bay!
    • show cloud message when saving a project, thanks, Bernat!
  • Translation Updates:
    • German
    • Catalan

v11.0.2

10 Sep 14:49

Choose a tag to compare

11.0.2:

  • Notable Changes:
    • MQTT library update, thanks, Simon!
  • Notable Fixes:
    • fixed a missing edge case when specifying default values for numerical input slots
    • show cloud message when saving a project, thanks, Bernat!