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() and hide_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() and play_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() and broadcast_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 or for 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; giving say_for_seconds() a non-numeric duration argument; giving say() 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 and Ctrl-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 property self.x_position.

    • The method self.get_y() has been replaced by the property self.y_position.

    • The function pytch.key_is_pressed() has been renamed to pytch.key_pressed().

    • The method self.move_to_front_layer() has been renamed to self.go_to_front_layer().

    • The method self.move_to_back_layer() has been renamed to self.go_to_back_layer().

    • The method self.move_forward_layers() has been renamed to self.go_forward_layers().

    • The method self.move_backward_layers() has been renamed to self.go_backward_layers().

    • The method self.ask_and_wait_for_answer() has been renamed to self.ask_and_wait().

  • Breaking: Remove the method self.say_nothing(). To remove a Sprite’s speech bubble, use self.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 on Sprite and Stage.

  • 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() and Stage.next_backdrop().

  • Extend methods Sprite.switch_costume() and Stage.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, and Stage.backdrop_name.

v0.0.1–v0.0.3

Initial experimental releases.