Greenfoot Changelog

What's new in Greenfoot 3.8.2

Dec 2, 2023
  • Fixed Share to website function so that it works with new scenarios.
  • Removed ability to share to standalone JAR.

New in Greenfoot 3.8.1 (Nov 4, 2023)

  • Added the new Actor.sleepFor(int) method.
  • Fixed Import Class dialog (was empty on some operating systems).
  • Fixed Greenfoot class documentation not showing on some operating systems.
  • Fixed About dialog and file-open not working on Mac after certain actions.

New in Greenfoot 3.8.0 (Sep 18, 2023)

  • Switched to Java 17, added support for Java 17 language features.
  • Fixed an issue with file opening on Mac.
  • Fixed a launch crash on Ubuntu.
  • Fixed a bug where errors on the last line of a Java file (often, reached end of file while parsing after a missing close curly bracket) would not show at all.
  • Mac is now packaged as a DMG.

New in Greenfoot 3.7.1 (May 12, 2022)

  • Bug fixes in Java and Stride editors.
  • Added autocomplete support for Greenfoot.isKeyDown (and similar static methods) by just completing on "Gr" and similar.
  • Fixed Actor/World documentation not showing up on Linux.
  • Tidied up items on help menu

New in Greenfoot 3.7.0 (Jun 14, 2021)

  • Rewritten Java editor with better stability and performance.
  • New Java quick-fix feature to assist with solving simple errors like missing imports.
  • Fixed various Stride editor bugs, especially around the frame cursor disappearing.
  • Fixed saving/loading of abstract methods in abstract classes in Stride.
  • Added a popup to help select from overlapping actors when clicking them as method call parameters.
  • Fixed several corner cases for Greenfoot.ask, especially when used in a constructor.
  • Fixed various issues where Greenfoot could get stuck while resetting or terminating the program.
  • Restored the "twirler" menu that aids terminating a stuck program (accidentally removed in 3.6.1).
  • New hint when you try to call methods like getX() after removing an actor from the world.

New in Greenfoot 3.6.1 (Dec 6, 2019)

  • Fixed a bug during reset which could cause Greenfoot to freeze or no longer reset
  • Fixed issue where some scenarios could see a "tearing" or flickering effect during repaint
  • Fixed a bug where lots of small calls to Greenfoot.delay would trigger too many repaints, making the delays slower
  • Fixed layout of inspector windows
  • Fixed glitch in Stride editor
  • Fixed an issue with the world not creating automatically on startup on Mac
  • Fixed an issue with scenarios loaded from an empty window not compiling all classes properly.
  • Improved the "Instantiate a new world" message

New in Greenfoot 3.6.0 (Jun 18, 2019)

  • Moved to Java 11 (OpenJDK+OpenJFX 11). Consequently, Greenfoot now requires a 64-bit CPU and 64-bit Operating System.
  • Changed the .deb package to include the JDK, to avoid Java packaging issues on Ubuntu and derivatives.
  • Various editor bug fixes.

New in Greenfoot 3.5.4 (May 3, 2019)

  • Fixed an issue where Greenfoot could freeze on Windows, especially while loading.
  • Fixed an issue with windows being positioned off-screen when first opened.
  • Fixed an issue with the file-changed-on-disk dialog showing too often and appearing multiple times.

New in Greenfoot 3.5.3 (Jan 22, 2019)

  • Fixed another memory leak in Greenfoot (caused gradual slowdown and eventual crash).
  • Fixed a redraw bug in the GifImage helper class.
  • Fixed some editor bugs (especially around function key actions like F4, etc).
  • Fixed an issue with context actions being wrongly disabled in the set image dialog.
  • Fixed some issues with window sizing.

New in Greenfoot 3.5.2 (Nov 8, 2018)

  • Fixed a memory leak in the Java editor (caused gradual slowdown and eventual crash).
  • Fixed using objects from world as arguments in interactive method calls.
  • Fixed problem which sometimes stopped inspectors from opening.
  • Added Swedish translation.

New in Greenfoot 3.5.1 (Sep 23, 2018)

  • Fixed a bug involving mouse clicking on cells that are larger than one pixel.
  • Fixed several small save-the-world issues and re-added it to the main menu.
  • Fixed documentation when double-clicking Actor/World.

New in Greenfoot 3.5.0 (Jul 28, 2018)

  • Re-vamped user interface (now implemented in JavaFX). Other than looking much better, this solves problems with hi-DPI displays.
  • A large number of other bug fixes.

New in Greenfoot 3.1.0 (Feb 1, 2017)

  • Changed Greenfoot API to add greenfoot.Font and greenfoot.Color classes to replace the java.awt versions that we were using. See our conversion guide for more details.
  • Added Java to Stride conversion.
  • Several performance improvements and bug fixes in the Stride editor.
  • Improved performance and bug fixes in "Save the World" feature.
  • Added Paste Image functionality in set-image dialog.

New in Greenfoot 3.0.4 (Jul 13, 2016)

  • Fixed Finch compatibility

New in Greenfoot 3.0.3 (May 5, 2016)

  • MSI installer will now automatically remove older MSI versions of Greenfoot when installing.
  • Fixed various bugs, especially with save the world and automatic compilation
  • New execution control to interrupt long-running execution
  • Protected methods can now be called on Actors and Worlds
  • Stride: various speed and memory use improvements
  • Stride: assignment symbol changed to add arrow-head
  • Stride: frame extensions (e.g. making variable static) can now be used from within slots, and are available on frame selections
  • Stride: bird's eye view can now toggle visibility of documentation
  • Java: Ctrl-tab/Ctrl-shift-tab now moves between editor tabs, and classes with errors show red underline in tab header

New in Greenfoot 3.0.2 (Dec 23, 2015)

  • Various usability improvements and small bugfixes in the Stride editor.
  • Added support for multiple [tabbed] editor windows.
  • Tweaked API generics again.
  • Fixed check for read-only projects on Windows 10.

New in Greenfoot 3.0.1 (Nov 25, 2015)

  • API generics revisited.
  • Fixed many bugs including: Non-ASCII characters encoding on Windows.
  • Add Czech, Dutch and Italian translations for new interface elements in 3.0.x versions.

New in Greenfoot 3.0.0 (Nov 3, 2015)

  • Added support for Stride with a new frame-based editor.
  • Improvements to the Java editor, including continuous compilation, inline display of multiple errors, and improved error message display.
  • Automatic project compilation (removal of the Compile button).
  • Introduced generic types in Greenfoot API.
  • Many general bug fixes and improvements.

New in Greenfoot 2.4.2 (Feb 24, 2015)

  • Startup time improved by approximately 3 seconds
  • Fixed: Greenfoot.ask(...) method would prevent later keyboard input
  • Fixed: rare exception when one actor is left in world

New in Greenfoot 2.4.1 (Jan 22, 2015)

  • New API method Greenfoot.ask(...) to get input from the user
  • Fixed: Greenfoot.delay() would not delay if used in interactive method call after reset/compile
  • Fixed: Inspecting an object with a package-private variable threw exception
  • Fixed: Code completion not working in classes with no declared methods
  • Fixed: Calling Grenefoot.start() from World stopped() method can deadlock
  • Fixed: Could not open gfar files from within Greenfoot
  • Fixed: "Compile" in editor window for already-compiled class does not compile and leaves state as "compiling..."

New in Greenfoot 2.4.0 (Jul 31, 2014)

  • Added several new importable helper classes
  • Added new World.showText(...) method as an easier way to display text (scores, etc)
  • Fixed text rendering/aliasing issues with GreenfootImage
  • Allowed saving/creating scenario in an existing empty directory (rather than insisting on creating a new one)
  • Removed first-time load menu
  • Showed text status during world creation
  • Added ability to export to single .gfar file in Share... dialog
  • Improved functionality when using Greenfoot.isKeyDown with wrong key names

New in Greenfoot 2.3.0 (May 1, 2013)

  • The user interface language can now be selected via the preferences dialog
  • The isTouching(...) and removeTouching(...) methods have been added to the Actor class
  • Various minor bugfixes

New in Greenfoot 2.2.1 (May 26, 2012)

  • Stack traces are now clickable (clicking a stack trace element shows the corresponding source code)
  • GreenfootSound.playLoop() wasn't working - now works
  • Various minor bugfixes

New in Greenfoot 2.0.0 (Oct 8, 2010)

  • The new editor:
  • Greenfoot now incorporates the same editor that is used in BlueJ since the BlueJ 3.0 release earlier this year. The new features include scope highlighting, a new navigation view, better Find and Replace and code completion. (Code completion is activated by pressing Ctrl-Space.) I have described these features in more detail in an earlier blog post, when they came out with BlueJ – read them there if you want to know more..
  • The new Greenfoot editor:
  • We expect that the new editor, especially the availability of code completion for Greenfoot API calls, will be a substantial improvement to the user experience. (I have been using it for a few months now, and I wouldn’t want to work without it anymore!)
  • The sound recorder:
  • Greenfoot now has a built-in sound recorder. It can be found in the Controls menu, and you can now record your sounds directly from within Greenfoot. The functionality is very simple — just recording and trimming is supported — but this is what you need most of the time. If you want more sophisticated sound editing, you can still use third party applications (such as Audacity). However, the built-in recorder should be sufficient in many cases.
  • There is unfortunately a Java bug that cases problems with sound recording on some USB connected microphones. It works, however, with most microphones, and we hope that the remaining problems will be fixed in a future Java update.
  • But sound recording is not all that’s new with sound. You now also have more control over sound playback.
  • MP3 support:
  • Yes, mp3 support! Greenfoot can now play mp3 files! Really. So go on and write your first MP3 player.
  • The GreenfootSound class:
  • In previous Greenfoot versions, programmers had little control over how sounds are played. They could be started, but that’s all. Now, Greenfoot has a new class called GreenfootSound. It has method for starting, stopping and pausing sounds, as well as looping. This makes working with sounds much more flexible.
  • For short, simple sounds (such as sound effects), the Greenfoot.playSound(…) method is still the best to be used. But if you need more sophisticated functionality, create a GreenfootSound object and you can control the sound in more detail.
  • The debugger:
  • Greenfoot now has a debugger built in. As some of you had discovered before, the code for the debugger has been there under the hood for some time (and there were ways to make it come up), but it was not working well, not supported, not finished, and had no proper interface.
  • The Greenfoot debugger:
  • Now you can open the debugger window from the menu, set breakpoints, stop the execution, single step through your programs and monitor your variable values. Especially for illustrating the working of control structures, this should be a useful help.
  • Image editing:
  • Creating or editing images is a task that is very often part of developing Greenfoot scenarios. Now you can start creating or editing images directly from within the Greenfoot image dialogue.
  • Editing images:
  • The action menu under the image list offers functions to edit, delete or create an image. This will happen in external applications. By default, Greenfoot will open the default application for the chosen file type on any platform. This behaviour can also be configured to select a specific application. (I will write in more detail about some of these new functions in separate posts soon – I’ll discuss how to do this then.)
  • When images are created, they are automatically placed into the scenario’s images folder, so that they are immediately available for use in Greenfoot.
  • Unbounded worlds:
  • The last bit of functionality I’ll talk about today are unbounded worlds.
  • As you know (if you have used Greenfoot in the past), actors cannot leave the world. When they try to move beyond world boundaries they are simply placed at the edge of the world. Breaking out is impossible for them. This has good reason: if actors were to leave the visible world, it can be very hard to get them back. You cannot interact with them anymore, and you don’t really know where they are. In fact, you may not even be aware that they are still there. This has great potential of confusion and difficulty for beginners.
  • This behaviour remains the default in Greenfoot 2.0 — but you can now configure your world to allow actors to leave the visible area for specific scenarios, should you want to do that. (And we know that some of you do: many of you have asked for this for some time!)
  • The world is then essentially infinite in all directions, and the visible world in the Greenfoot window is just a viewport into a small part of this eternal universe.
  • The World superclass now has a second constructor that allows the bounds to be removed:
  • Constructor Summary
  • World(int worldWidth, int worldHeight, int cellSize)
  • Construct a new world.
  • World(int worldWidth, int worldHeight, int cellSize, boolean bounded)
  • Construct a new world.
  • The first constructor is as before. Thus, you old code will work unchanged. For example, a world constructor
  • public AntWorld()
  • super(500, 400, 1);
  • }will work as before and create the usual bounded world. However, you can now also use
  • public AntWorld()
  • super(500, 400, 1, false);
  • In this case, actors will be allowed to leave the visible world and walk as far away as they like. For some type of games this will be very useful. When out of the visible world, they will still act, cause collisions, etc. You just cannot see them.

New in Greenfoot 1.4.6 (Nov 3, 2008)

  • This release provides a number of bug fixes and adds translations of the interface into French, Italian and Greek. Thanks to the translators for their contributions!