Changelog¶
This page outlines what’s changed as we’ve released new versions of Pytch.
v3.0.0 (2025-02-22)¶
Redesign “one big program” IDE to match layout of “script-by-script” IDE.
Make minor adjustments and fixes to “one big program” tutorials.
v2.9.0 (2025-01-09)¶
Add tool to write skeleton of a new tutorial.
Improve help sidebar content for
show_variable()
andhide_variable()
.Improve contrast and layout of activity bar and script-by-script tutorials.
Default to v2 of interface (with script-by-script features turned on).
Add five new script-by-script tutorials and update another.
v2.8.1 (2024-12-11)¶
Fix minor rendering bugs in the “progress trail” for script-by-script tutorials.
Document
random.choice()
in help sidebar.
v2.8.0 (2024-11-19)¶
Improve chapter navigation for script-by-script tutorials.
v2.7.1 (2024-11-02)¶
Fix layout bug with play/stop buttons in standalone demos.
v2.7.0 (2024-10-30)¶
Improve robustness of build process.
Support more kinds of learner tasks in script-by-script tutorials.
Make minor accessibility and related improvements.
Improve presentation of learner tasks in script-by-script tutorials.
Allow users to duplicate a script.
Try to keep cursor line visible when navigating script-by-script code with keyboard.
Document
random.uniform()
in help sidebar.
v2.6.0 (2024-10-21)¶
Improve developer documentation and tools.
Support script-by-script lesson specimens.
Add script-by-script specimens for existing lesson plans.
Fix minor bug with project-from-specimen behaviour.
Fix bugs with ordering of assets in script-by-script projects.
v2.5.0 (2024-09-16)¶
Fix errors in script-by-script help sidebar content.
Improve contrast and colours in script-by-script IDE.
v2.4.0 (2024-09-10)¶
Check that
create_clone_of()
has been given a Pytch sprite.Update internal development tools.
New more mobile-friendly front page. Thanks to Duncan Wallace for substantial contributions to this work.
v2.3.0 (2024-07-10)¶
Make “Add something” button background only as big as needed.
Check that
wait_seconds()
has been given a number.Allow
start_sound()
andplay_sound_until_done()
to be given a number, meaning the sound’s index in the Sprite’s (or Stage’s) list of sounds. Both methods still accept a string, meaning the sound’s name.Display labels on costumes, backdrops, and sounds showing zero-based index.
Add examples for
broadcast()
andbroadcast_and_wait()
to help sidebar content.
v2.2.0 (2024-05-30)¶
Fix bug whereby using browser’s “back” button left some modals still visible, sometimes leading to crashes.
Add ability to use
ui-v2
query param in URL to choose the V2 UI.
v2.1.0 (2024-05-10)¶
Add “standalone play demo” feature.
Improve cues for usage of “task done” checkboxes in per-method lessons.
Fix minor bug whereby newly added scripts for hat blocks not requiring arguments (e.g., green-flag) did not get editor focus.
v2.0.0 (2024-04-03)¶
Add new script-by-script editing mode and tutorial.
Update styling.
Handle capital/lower-case letters more sensibly for when-key-pressed scripts and use of
key_pressed()
function.
v1.11.1 (2023-12-21)¶
Update banner in documentation pages.
v1.11.0 (2023-12-21)¶
Update privacy policy to mention Apache logs.
Update and streamline front page.
Add minimal basic anonymous usage logging.
v1.10.0 (2023-11-14)¶
Release v1 of specimens in support of CSLinc lesson plans.
Do not report unreachable code as a
SyntaxError
.Experimental: Add ability to copy syntax-highlighted code from editor with control-shift-C.
v1.9.0 (2023-08-30)¶
Be more helpful when getting filename from user for downloading or exporting project zipfile.
Add ability to create projects linked to a “specimen”.
v1.8.0 (2023-08-15)¶
Record last-modified time for projects, and show most-recently-modified projects first in My projects list.
(Redesign some internals.)
v1.7.0 (2023-07-19)¶
Add feature to help users find coordinates on the stage.
Add ability to share a link to a particular tutorial.
Update many internal dependencies.
v1.6.0 (2023-06-27)¶
Redesign some internals; no user-visible changes.
v1.5.1 (2023-06-01)¶
Allow import of Google Drive zipfiles uploaded from Windows.
v1.5.0 (2023-05-31)¶
Fix bug whereby
self.say_for_seconds("", 1)
raised error.Update developer documentation.
Add ability to save/load to/from Google Drive.
v1.4.1 (2023-05-09)¶
Gather Trimon tutorial images into groups.
v1.4.0 (2023-05-09)¶
Add
LICENSE.md
files to all repos.Add Trimon tutorial.
Add privacy policy and terms of use.
Add fav-icon.
v1.3.0 (2023-03-06)¶
Experimental: Add ability to choose from a library of media when adding an asset to a project. (Thanks to Justine Moulin for contributing towards this work.)
v1.2.0 (2023-01-16)¶
Fix bug whereby cropped and/or scaled images lost their cropping and/or scaling information when making a copy of the project.
v1.1.0 (2022-11-29)¶
Add Splat the moles tutorial.
Sort tutorials list in order of increasing difficulty.
Fix bug whereby cropped and/or scaled images lost their cropping and/or scaling information when the project was downloaded as a zipfile.
v1.0.0 (2022-10-21)¶
To celebrate EU Code Week 2022, we are officially launching v1 of Pytch!
v0.0.36 (2022-10-12)¶
Update developer set-up documentation.
Add ability to crop/scale image assets (experimental).
v0.0.35 (2022-09-29)¶
Divide help sidebar into collapsible sections.
v0.0.34 (2022-09-15)¶
When copying code from a “Change your code like this” section of a tutorial, convert
"·"
characters back into spaces.Add support for controlling the volume of sounds played by sprites or the stage.
Add Multiple choice quiz tutorial.
v0.0.33 (2022-08-19)¶
Fix bug whereby attempting to use an unsupported sound asset made app hang.
Give more useful error if user’s Stage has no
Backdrops
.Fix bug whereby rapidly deleting and creating clones could sometimes lead to an unhelpful error. (Thanks to Olus Education student Leo Mirolo for the report.)
Detect very-long-running
while
orfor
loops when importing user’s code and raise an error.Minor updates to user-level documentation.
Update to current upstream Skulpt.
Fix inconsistent reporting and go-to-location behaviour for errors.
v0.0.32 (2022-07-18)¶
Fix minor bug whereby undo history in editor contains “loading” text.
Disable “overwrite” mode in code editor.
v0.0.31 (2022-07-12)¶
Add ability to make a copy of a project.
Fix bug whereby attempting to add a corrupt image asset made app hang.
v0.0.30 (2022-06-16)¶
Make messages for syntax errors more helpful, by means of Tiger Python.
Simplify the Catch the apple tutorial.
Exit full-screen mode if an error occurs.
v0.0.29 (2022-06-03)¶
Fix bug whereby specifying
Sounds
as a non-list crashed app.Allow tutorial authors to include Scratchblocks code. (Thanks to Justine Moulin for contributing this work.)
v0.0.28 (2022-05-19)¶
Add “blue invaders” tutorial.
Improve organisation of some tutorials.
v0.0.27 (2022-05-16)¶
Add challenges to “hello world” tutorial.
Add difficulty tags to tutorial summary cards. (Thanks to Justine Moulin for contributing this work.)
Add ability to create “bare-bones” project (with no example code).
Provide default name when creating a new project.
v0.0.26 (2022-03-12)¶
Add icons to green-flag and red-stop buttons.
Add ability to select multiple projects and then delete them all at once.
v0.0.25 (2022-03-04)¶
Add “shoot the fruit” tutorial.
v0.0.24 (2022-02-28)¶
Add full-screen layout.
Improve presentation of “Change your code like this” sections in tutorials. Add pop-up help panel explaining how changes are shown.
Expand documentation on development set-up; improve checks in script. Make development scripts more robust and portable. Improve developer docs. Update various dependencies.
Give better error messages (trying to set a sprite’s
direction
; givingsay_for_seconds()
a non-numeric duration argument; givingsay()
a non-string, non-numeric content argument).Add
pytch.stop_all()
function.Replace “MyStuff” with “home” button in IDE.
Make browser window title contain more useful information.
Fix minor bug allowing deleted assets to still be used.
Add “catch the apple” tutorial.
v0.0.23 (2021-09-15)¶
Bring Bunner tutorial up-to-date for
Sprite.direction
property.
v0.0.22 (2021-09-14)¶
Fix race-condition bug in
qbert
tutorial.Experimental: Allow easing functions in
Sprite.glide_to_xy()
.Add ability to rename a project.
Add ability to upload multiple project zipfiles at once.
Show version tag in navigation banner.
v0.0.21 (2021-09-08)¶
Minor wording changes in text content of site.
Add
Sprite.size
property.Experimental: Add mechanism for suggesting a demo.
v0.0.20 (2021-09-03)¶
Support rotation of Sprites. (Touch- and click-detection is not yet aware of rotation and so will be inaccurate for rotated Sprites.)
v0.0.19 (2021-08-26)¶
Allow adding more than one asset (graphic / sound file) at once. Forbid adding unknown asset types.
Remove BUILD button — the green flag now builds then sends green-flag event. Update tutorials accordingly.
Allow building by keyboard command from editor (
Ctrl-Enter
andCtrl-Shift-Enter
).Bugfixes: Multi-hunk patches in tutorials were not displayed correctly. Tooltip was not positioned correctly when changing IDE layout.
v0.0.18 (2021-07-27)¶
Update language acknowledging origin of ticket vending machine tutorial.
v0.0.17 (2021-07-22)¶
Provide more helpful errors if certain Pytch functions (e.g.,
pytch.wait_seconds()
) are called at top-level of user’s program.Add URL route to suggest a particular tutorial.
Update front page content.
Show full tracebacks for build errors.
Include “show/hide variable” in help sidebar.
Support images in tutorial content.
Show friendlier error page for unknown route.
Add Ticket Vending Machine tutorial.
v0.0.16 (2021-07-07)¶
Breaking: Rename some Sprite and Stage methods to be closer to Scratch conventions.
The method
self.get_x()
has been replaced by the propertyself.x_position
.The method
self.get_y()
has been replaced by the propertyself.y_position
.The function
pytch.key_is_pressed()
has been renamed topytch.key_pressed()
.The method
self.move_to_front_layer()
has been renamed toself.go_to_front_layer()
.The method
self.move_to_back_layer()
has been renamed toself.go_to_back_layer()
.The method
self.move_forward_layers()
has been renamed toself.go_forward_layers()
.The method
self.move_backward_layers()
has been renamed toself.go_backward_layers()
.The method
self.ask_and_wait_for_answer()
has been renamed toself.ask_and_wait()
.
Breaking: Remove the method
self.say_nothing()
. To remove a Sprite’s speech bubble, useself.say("")
instead.Update documentation and tutorials to reflect above changes.
Improve and extend documentation.
Experimental: Add variable watchers —
pytch.show_variable(obj, attr_name)
.Add a help sidebar to the IDE, summarising available Pytch methods and functions, with examples and Scratch equivalents.
v0.0.15 (2021-06-04)¶
Update Bunner tutorial.
Fix minor layout, documentation, and developer-script problems.
v0.0.14 (2021-05-21)¶
Improve developer docs and scripts.
Update Welcome page.
v0.0.13 (2021-05-15)¶
Add
ask_and_wait_for_answer()
syscall, and corresponding method onSprite
andStage
.Minor improvements to developer docs and scripts.
Enable search (Ctrl-F) and search/replace (Ctrl-H) in code editor.
Minor bugfix: Make
say_for_seconds()
only cancel its own speech.
v0.0.12 (2021-04-03)¶
Allow user to create a project by uploading a previously-downloaded zipfile.
v0.0.11 (2021-03-16)¶
Provide immediate feedback when creating demo from Featured Project.
v0.0.10 (2021-03-16)¶
Add ability to launch demo of tutorial, which creates a project with code as of the completed tutorial, and not connected to that tutorial.
Add a two-stop tour of the buttons required to build and green-flag a project. Enabled when first creating a project as a demo of a tutorial.
Re-organise front page with “Featured projects”, and information about how to use Pytch.
Add instructions (as code comment) to the three tutorials included as featured projects.
v0.0.9 (2021-03-03)¶
Bugfix: With the stage at a non-default size (as happens when the user drags the divider), the location of a mouse click was computed incorrectly, leading to wrong
when_this_sprite_clicked
behaviour. Click coordinates are now computed correctly.
v0.0.8 (2021-02-26)¶
Show richer auto-complete information in code editor.
Update to new Skulpt.
Add support for Safari browser.
(Internal developer-experience fixes.)
v0.0.7 (2021-02-16)¶
(Internal build system improvements.)
Add documentation outlining how to get started with Pytch development.
v0.0.6 (2021-01-20)¶
(Internal build system improvements.)
Add new costume/backdrop methods/properties to auto-completion list.
v0.0.5 (2021-01-12)¶
Allow user to vertically drag the horizontal separator between (code and stage) and info-pane. If user’s screen is vertically short, this lets them see more of the tutorial. (Thanks to Eoin Condron for report.)
v0.0.4 (2021-01-08)¶
Add methods
Sprite.next_costume()
andStage.next_backdrop()
.Extend methods
Sprite.switch_costume()
andStage.switch_backdrop()
to accept a zero-based integer for the costume or backdrop to switch to, as an alternative to the existing string name.Add attributes
Sprite.costume_number
,Sprite.costume_name
,Stage.backdrop_number
, andStage.backdrop_name
.
v0.0.1–v0.0.3¶
Initial experimental releases.