Skip to content

Commit

Permalink
prepared v10.1 release
Browse files Browse the repository at this point in the history
  • Loading branch information
jmoenig committed Oct 11, 2024
1 parent 4f2b361 commit 04ef335
Show file tree
Hide file tree
Showing 6 changed files with 177 additions and 170 deletions.
161 changes: 0 additions & 161 deletions DEVLOG.md
Original file line number Diff line number Diff line change
@@ -1,164 +1,3 @@
# Snap! (BYOB) Dev History

## in development:
* **New Features:**
1. OOP 2.0
* new list-dictionary based object system with data scope and Lieberman style prototypical inheritance
* new "parent" selector for accessing list items, points to entry at ellipsis "..."
* new "object" item in the THIS (runtime environment) primitive reporter's dropdown menu
* new OOP library
2. support for input-groups in custom blocks
* new "group" option in custom block slot type editor's special settings menu for multiple inputs
* metaprogramming support for input groups (represented by a list of slot types)
* new "Declare & Initialize Script Variables" library
3. UI Looks
* flat / default (skeuomorphic) design
* bright / dark (color) theme
* new "theme" configuration key in the API
* new "cube" and "cubeSolid" symbols
4. Other
* new Continuations library for run/cc and call/cc
* **Notable Changes:**
* preserve the order of items when using lists as dictionaries or data objects
* variadic slots in custom blocks now support '%nl' as separators and expansion labels
* Boolean input slot default values can be specified through metaprogramming
* variadic Boolean input slot defaults can be specified both in the UI and through metaprogramming
* added an official "Restore primitives" item to the project menu, if a project / scene has customized prims
* default values and expansion labels of variadic input slots in custom blocks are now translatable by prefixing them with $-underscore
* **Notable Fixes:**
* exclude variables declared inside input rings from the dropdown menu of reachable variables
* automatically declare variadic upvars inside custom blocks when evaluating them
* fixed a LISP-encoding conflict between a variadic expression and formal ring parameters
* fixed naming a block to a JS property such as "constructor"
* **Documentation Updates:**
* updated API.md with new "theme" configuration key for "bright" or "dark" UI modes
* updated LISP syntax documentation for script parameters
* **Translation Updates:**
* German

### 2024-09-11
* blocks: fixed #3401 - naming a block "constructor" fails
* threads: removed explicit macros for data objects

### 2024-09-10
* threads: changed evaluation of input groups to return a 2D (or empty) list
* objects: adjusted LISP formulation of primitive IF block to the new input group evaluation
* byob: for input groups set "initial slots" to the length of the group
* libraries: adjusted variable declaration module to the new input group evaluation
* libraries: adjusted OOP module to the new input group evaluation
* html: adjusted obsolete "apple" meta tags for mobile sites
* reduced and re-activated pwa service worker
* reduced number of pwa-cached files
* added everything except libraries to pwa cache
* added everything except some libraries to pwa cache
* added Beetle and MQTT libraries to pwa cache
* added Tunescope library to pwa cache
* added SciSnap library to pwa cache
* removed SciSnap library from pwa cache (again)
* added SciSnap library to pwa cache (again), except for the costume js file
* new "Continuations" library
* updated "iteration / composition" library with new continuation blocks
* updated dev version
* v10.1-rc1
* added skipWaiting() to service worker
* v10.1-rc2

### 2024-09-09
* updated from master branch

### 2024-09-18
* blocks: fixed unevaluated slots for input groups
* updated OOP library
* updated dev version
* threads: added read-only access to global variables to unbound data objects

### 2024-09-17
* blocks, threads: new "object" item in the THIS (runtime environment) primitive reporter's dropdown menu
* updated German translation for "object" string
* updated dev version
* updated from master branch - fixed canvasBoundingBox() bug
* updated dev version

### 2024-09-16
* lists: preserve the order of items when using lists as dictionaries or data objects
* updated from master branch
* updated dev version

### 2024-09-14
* blocks, byob: made default values and expansion labels of variadic input slots in custom blocks translatable
* German translation update for "field" (in the OOP library)
* updated OOP library with German translation
* updated variable declaration library with German translation
* updated dev version

### 2024-09-13
* updated from master branch
* updated dev version
* updated OOP library: added "FIELD OF" reporter
* symbols: new "cube" and "cubeSolid" symbols

### 2024-09-12
* threads: fixed #3394 - LISP-encoding conflict between a variadic expression and formal ring parameters
* updated LISP syntax documentation for script parameters
* changed dev version to 10.1
* updated dev version
* gui: added an official "Restore primitives" item to the project menu, if a project / scene has customized prims

### 2024-09-11
* threads: bind looked up variables inside objects to their receiver ("self")

### 2024-09-10
* threads: bind rings to object scope when INSERT / REPLACE -ing them into an object-list
* updated OOP library: added "ADD field" command
* updated dev version

### 2024-09-09
* blocks: disabled experimental change allowing dropping reporters into variable accessor input slots and auto-ringification
* blocks, morphic: exclude variables declared inside input rings from the dropdown menu of reachable variables
* threads: automatically declare variadic upvars inside custom blocks when evaluating them
* threads: automatically declare upvars inside custom block input groups
* updated OOP library
* new "Declare & Initialize Script Variables" library
* updated dev version

### 2024-09-06
* API: new "theme" configuration key for "bright" or "dark" GUI theme
* updated pyret transpilation study with new "bright" theme configuration
* updated dev from master (pulled Polish translation update v10.0.7)
* updated dev version

### 2024-09-05
* blocks: auto-ringify variable getter reporters when they are dropped into the variable (name) slot of variable accessor commands
* blocks: support for setting (variadic) Boolean input slot defaults

### 2024-09-03
* gui, objects, blocks, byob: decoupled skeuomorphic/flat UI design from dark/bright UI theme
* German translation update for UI Looks
* updated dev version
* threads: reverted to ringified variable blobs as valid inputs for variable setters

### 2024-09-02
* lists: let list-based objects inherit variables from both other lists and also sprites and the stage, including from global variable scope

### 2024-08-29
* blocks: avoid errors when specifying default values for non-editable slots
* updated dev from master (pulled Catalan translation update v10.0.6)
* store: updated file version to 11-dev
* updated dev version

### 2024-08-28
* threads: added metaprogramming support for input groups
* updated dev version

### 2024-08-27
* blocks, threads: new localized "parent" selector for accessing list items, points to entry at ellipsis "..."
* byob: use slot numbers and support mnemonics for input groups
* updated dev version

### 2024-08-26
* new list-dictionary based object system with data scope and prototypical inheritance
* new OOP library
* updated dev version

### 2024-08-20
* new dev version
166 changes: 166 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,172 @@

## in development:

## 10.1.0:
* **New Features:**
1. OOP 2.0
* new list-dictionary based object system with data scope and Lieberman style prototypical inheritance
* new "parent" selector for accessing list items, points to entry at ellipsis "..."
* new "object" item in the THIS (runtime environment) primitive reporter's dropdown menu
* new OOP library
2. support for input-groups in custom blocks
* new "group" option in custom block slot type editor's special settings menu for multiple inputs
* metaprogramming support for input groups (represented by a list of slot types)
* new "Declare & Initialize Script Variables" library
3. UI Looks
* flat / default (skeuomorphic) design
* bright / dark (color) theme
* new "theme" configuration key in the API
* new "cube" and "cubeSolid" symbols
4. Other
* new Continuations library for run/cc and call/cc
* **Notable Changes:**
* preserve the order of items when using lists as dictionaries or data objects
* variadic slots in custom blocks now support '%nl' as separators and expansion labels
* Boolean input slot default values can be specified through metaprogramming
* variadic Boolean input slot defaults can be specified both in the UI and through metaprogramming
* added an official "Restore primitives" item to the project menu, if a project / scene has customized prims
* default values and expansion labels of variadic input slots in custom blocks are now translatable by prefixing them with $-underscore
* **Notable Fixes:**
* exclude variables declared inside input rings from the dropdown menu of reachable variables
* automatically declare variadic upvars inside custom blocks when evaluating them
* fixed a LISP-encoding conflict between a variadic expression and formal ring parameters
* fixed naming a block to a JS property such as "constructor"
* fixed a variable refactoring (renaming) bug in custom block definitions
* **Documentation Updates:**
* updated API.md with new "theme" configuration key for "bright" or "dark" UI modes
* updated LISP syntax documentation for script parameters
* **Translation Updates:**
* German

### 2024-09-11
* blocks: fixed #3401 - naming a block "constructor" fails
* threads: removed explicit macros for data objects
* objects: fixed a variable refactoring (renaming) bug in custom block definitions
* prepared v10.1 release

### 2024-09-10
* threads: changed evaluation of input groups to return a 2D (or empty) list
* objects: adjusted LISP formulation of primitive IF block to the new input group evaluation
* byob: for input groups set "initial slots" to the length of the group
* libraries: adjusted variable declaration module to the new input group evaluation
* libraries: adjusted OOP module to the new input group evaluation
* html: adjusted obsolete "apple" meta tags for mobile sites
* reduced and re-activated pwa service worker
* reduced number of pwa-cached files
* added everything except libraries to pwa cache
* added everything except some libraries to pwa cache
* added Beetle and MQTT libraries to pwa cache
* added Tunescope library to pwa cache
* added SciSnap library to pwa cache
* removed SciSnap library from pwa cache (again)
* added SciSnap library to pwa cache (again), except for the costume js file
* new "Continuations" library
* updated "iteration / composition" library with new continuation blocks
* updated dev version
* v10.1-rc1
* added skipWaiting() to service worker
* v10.1-rc2

### 2024-09-09
* updated from master branch

### 2024-09-18
* blocks: fixed unevaluated slots for input groups
* updated OOP library
* updated dev version
* threads: added read-only access to global variables to unbound data objects

### 2024-09-17
* blocks, threads: new "object" item in the THIS (runtime environment) primitive reporter's dropdown menu
* updated German translation for "object" string
* updated dev version
* updated from master branch - fixed canvasBoundingBox() bug
* updated dev version

### 2024-09-16
* lists: preserve the order of items when using lists as dictionaries or data objects
* updated from master branch
* updated dev version

### 2024-09-14
* blocks, byob: made default values and expansion labels of variadic input slots in custom blocks translatable
* German translation update for "field" (in the OOP library)
* updated OOP library with German translation
* updated variable declaration library with German translation
* updated dev version

### 2024-09-13
* updated from master branch
* updated dev version
* updated OOP library: added "FIELD OF" reporter
* symbols: new "cube" and "cubeSolid" symbols

### 2024-09-12
* threads: fixed #3394 - LISP-encoding conflict between a variadic expression and formal ring parameters
* updated LISP syntax documentation for script parameters
* changed dev version to 10.1
* updated dev version
* gui: added an official "Restore primitives" item to the project menu, if a project / scene has customized prims

### 2024-09-11
* threads: bind looked up variables inside objects to their receiver ("self")

### 2024-09-10
* threads: bind rings to object scope when INSERT / REPLACE -ing them into an object-list
* updated OOP library: added "ADD field" command
* updated dev version

### 2024-09-09
* blocks: disabled experimental change allowing dropping reporters into variable accessor input slots and auto-ringification
* blocks, morphic: exclude variables declared inside input rings from the dropdown menu of reachable variables
* threads: automatically declare variadic upvars inside custom blocks when evaluating them
* threads: automatically declare upvars inside custom block input groups
* updated OOP library
* new "Declare & Initialize Script Variables" library
* updated dev version

### 2024-09-06
* API: new "theme" configuration key for "bright" or "dark" GUI theme
* updated pyret transpilation study with new "bright" theme configuration
* updated dev from master (pulled Polish translation update v10.0.7)
* updated dev version

### 2024-09-05
* blocks: auto-ringify variable getter reporters when they are dropped into the variable (name) slot of variable accessor commands
* blocks: support for setting (variadic) Boolean input slot defaults

### 2024-09-03
* gui, objects, blocks, byob: decoupled skeuomorphic/flat UI design from dark/bright UI theme
* German translation update for UI Looks
* updated dev version
* threads: reverted to ringified variable blobs as valid inputs for variable setters

### 2024-09-02
* lists: let list-based objects inherit variables from both other lists and also sprites and the stage, including from global variable scope

### 2024-08-29
* blocks: avoid errors when specifying default values for non-editable slots
* updated dev from master (pulled Catalan translation update v10.0.6)
* store: updated file version to 11-dev
* updated dev version

### 2024-08-28
* threads: added metaprogramming support for input groups
* updated dev version

### 2024-08-27
* blocks, threads: new localized "parent" selector for accessing list items, points to entry at ellipsis "..."
* byob: use slot numbers and support mnemonics for input groups
* updated dev version

### 2024-08-26
* new list-dictionary based object system with data scope and prototypical inheritance
* new OOP library
* updated dev version

### 2024-08-20
* new dev version

## 10.0.13:
* **Notable Changes:**
* disabled pwa service worker in yet an attempt to address reporterd Chrome v129 memory issue
Expand Down
4 changes: 2 additions & 2 deletions snap.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
<script src="src/widgets.js?version=2024-07-24"></script>
<script src="src/blocks.js?version=2024-10-11"></script>
<script src="src/threads.js?version=2024-10-11"></script>
<script src="src/objects.js?version=2024-10-10"></script>
<script src="src/objects.js?version=2024-10-11"></script>
<script src="src/scenes.js?version=2024-05-28"></script>
<script src="src/gui.js?version=2024-10-10"></script>
<script src="src/gui.js?version=2024-10-11"></script>
<script src="src/paint.js?version=2023-05-24"></script>
<script src="src/lists.js?version=2024-09-16"></script>
<script src="src/byob.js?version=2024-10-10"></script>
Expand Down
4 changes: 2 additions & 2 deletions src/gui.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,11 @@ BlockVisibilityDialogMorph, ThreadManager, isString, SnapExtensions, snapEquals

// Global stuff ////////////////////////////////////////////////////////

modules.gui = '2024-October-10';
modules.gui = '2024-October-11';

// Declarations

var SnapVersion = '10.1-rc2';
var SnapVersion = '10.1.0';

var IDE_Morph;
var ProjectDialogMorph;
Expand Down
10 changes: 6 additions & 4 deletions src/objects.js
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ CustomBlockDefinition, exportEmbroidery*/

/*jshint esversion: 11*/

modules.objects = '2024-October-10';
modules.objects = '2024-October-11';

var SpriteMorph;
var StageMorph;
Expand Down Expand Up @@ -4999,9 +4999,11 @@ SpriteMorph.prototype.renameVariable = function (
container, newWatcher, targets;

function renameVariableInCustomBlock(definition) {
definition.scripts.forEach(eachScript =>
eachScript.refactorVariable(oldName, newName)
);
definition.scripts.forEach(eachScript => {
if (eachScript instanceof BlockMorph) { // skip comments
eachScript.refactorVariable(oldName, newName);
}
});
if (definition.body) {
definition.body.expression.refactorVariable(
oldName,
Expand Down
2 changes: 1 addition & 1 deletion sw.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*global self, caches*/
/*jshint esversion: 6*/
var snapVersion = '10.1-rc2',
var snapVersion = '10.1.0',
cacheName = `snap-pwa-${snapVersion}`,
filesToCache = [
'snap.html',
Expand Down

0 comments on commit 04ef335

Please sign in to comment.