What's new - Version history
Greenfoot 3.8.0 (18. September 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.
Greenfoot 3.7.1a (27. October 2022)
- Mac only release to fix issue with crashing on load in macOS 13 (Ventura).
Greenfoot 3.7.1 (12. May 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
Greenfoot 3.7.0a (6. January 2022)
- Fixed issue with Greenfoot crashing on MacOS 12 (Monterey).
Greenfoot 3.7.0 (14. June 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.
Greenfoot 3.6.1 (6. December 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
Greenfoot 3.6.0 (18. June 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.
Greenfoot 3.5.4 (3. May 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.
Greenfoot 3.5.3 (22. January 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.
Greenfoot 3.5.2 (8. November 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.
Greenfoot 3.5.1 (21. September 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.
Greenfoot 3.5.0 (27. July 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.
Greenfoot 3.1.0 (30. January 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.
Greenfoot 3.0.4 (12. July 2016)
- Fixed Finch compatibility
Greenfoot 3.0.3 (5. May 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
Greenfoot 3.0.2 (23. December 2015)
- (3.0.2a, Mac only) fix Mac bundle.
- 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.
Greenfoot 3.0.1 (24. November 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.
Greenfoot 3.0.0 (25. October 2015)
- Requires Java 8. Windows: 7 or later, Mac OS X: 10.8.3 or later.
- 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.
Greenfoot 2.4.2 (24. February 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
Greenfoot 2.4.1 (22. January 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 Greenfoot.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..."
Greenfoot 2.4.0 (31. July 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
- Show status text during world creation
- Infinite loop in world construction is now detected and handled gracefully
- Added ability to export to single .gfar file in Share... dialog
- Improved functionality when using Greenfoot.isKeyDown with wrong key names
Greenfoot 2.3.0 (29. April 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
Greenfoot 2.2.1 (25. May 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
Greenfoot 2.2.0 (27. April 2012)
- Added UserInfo class for saving games / high scores on the greenfoot.org site
- Added the turnTowards method in the Actor class
- Added function to import classes from a library (included with Greenfoot)
- Added a "Save as" command
- Improvements to sound caching / playback
- Various minor bugfixes
Greenfoot 2.1.1 (8. September 2011)
- Fix various problems preventing exported scenarios from working
- Filter unwanted compiler warnings
- Don't remove class files without sources when opening an old scenario
- Various other minor bugfixes
Greenfoot 2.1.0 (8. June 2011)
- New sound API for volume control.
- New input function: getMicLevel.
- Support for multiple worlds (Greenfoot.setWorld(..) method).
- Built-in move and turn methods in Actor.
- UI changes.
- Text line wrapping in GreenfootImage constructor
- Bug fix: sound problems in Ubuntu
- Bug fix: Gallery export of non-ASCII characters
- Bug fix: performance regression
- Bug fix: ststic methods not correctly recorded for 'Save The World'
- Various other bug fixes.
Greenfoot 2.0.1 (15. December 2010)
- Attempts to workaround apparent Java bug, which sometimes resulted in Greenfoot not responding to keyboard input (on Windows).
- Fix bug where the long description of a scenario could be overwritten when the scenario was uploaded to the Greenfoot Gallery
- Introduces a new GreenfootImage constructor for easier handling of text
- Various other bug fixes
Greenfoot 2.0 (5. October 2010)
- Right-click on world to call world methods
- Editor improvements: scope highlighting and code completion, navigation view, improved find/replace
- Built-in sound recorder / basic editor
- MP3 support
- Improved sound API (GreenfootSound class)
- Much improved debugger support
- Integration with system image editor
- Unbounded worlds with full collision checking support
- "Save the world" feature
- Many, many bug fixes
Greenfoot 1.5.6 (19. October 2009)
- Fix problems with export accidentally introduced in 1.5.5
- Windows version now automatically associates "project.greenfoot" files with Greenfoot
- Mac: Resolve problems on Leopard/Snow Leopard
- New translations: Russian and Spanish. Thanks to Sergy Zemlyannikov and Esteban Iglesias Manríquez
- Fixed: Windows installation to a path with non-ascii characters could cause failure to run
- Fixed: Deleting actors image from the file system and then shift-adding caused StackOverflowError
- Fixed: Renaming a class throws ConcurrentModificationException
- Fixed bug: Newly created projects did not have the directories 'images' and 'sounds' created automatically in the scenario directory.
- Fixed bug: Naming a class 'Object' resulted in incorrect rendering of the class browser (classes were not displayed).
- General improvements of the class browser's ability to handle rare cases (cyclic inheritance for instance).
- Fixed bug: Export to application failed with an exception.
- Fixed bug: Could not open documentation for Actor and World.
Apart from the changes listed below, this version includes functionality to send some anonymous information (Greenfoot version, Java version, Operating System, interface language etc) to the Greenfoot maintainers, to help with development planning. This can be disabled by adding a "greenfoot.uid=private" setting to your greenfoot.properties file. (comment added 15. July 2009)
- Greenfoot project files can now be associated with the Greenfoot application, so that you can open a scenario by double clicking the scenario's greenfoot.project file.
- Added new method: GreenfootImage.drawShape(Shape).
- Removed 'greenfoot' directory from the scenario directory.
- Improved the time it takes to export to the Gallery.
- Improved performance for scenarios that do not use the Greenfoot collision detection methods.
- ... and a lot of minor bug fixes.
- Fixed problem with Actor and World appearing as not compiled when upgrading a scenario created with a previous version of Greenfoot.
- Fixed bug in Greenfoot.delay(): It didn't delay at all when call interactively.
- Made a few methods and fields in the World class package protected. They were accidently made public in version 1.5.0.
- Greenfoot API changes:
- Removed Actor.getWidth() and Actor.getHeight(). Use getImage().getWidth() and getImage.getHeight() instead.
- Removed World.setTiled() and World.isTiled().
- The methods stopSimulation(), startSimulation() and setSimulationSpeed() in the Greenfoot class have been renamed to start(), stop() and setSpeed().
- Added GreenfootImage.setTransparency() and GreenfootImage.getTransparency().
- Added callback methods to detect when execution is started and stopped: World.started() and World.stopped().
- Made Greenfoot case sensitive when dealing with names of sound and image files.
- Most intesection tests now correctly use the rotated bounding box of actors.
- Actor.getObjectsInRange() now uses cells instead of pixels as the unit for the range.
- Changed behaviour of World.getBackground() so that it returns an image with the same size as the world.
- Fixed problem with Actor and World appearing as not compiled.
- Greenfoot API documentation is now included with the distribution.
- When exporting to the Greenfoot Gallery with source code, the tag 'with-source' is automatically added.
- And other bug fixes...
- Improved window handling (bringing windows to front)
- Method call no longer lock UI
- Bug fix: Speed setting was not alwasy correctly exported
- Bug fix: IllegalMonitorStateException in Greenfoot.delay
- Various other bug fixes
- Added interface translations: French, Greek, Italian
- Gallery related improvements:
- Notify user when overwriting existing scenario on Gallery.
- Dialog boxes in applets no longer freeze the browser.
- Add tags when exporting to Gallery.
- When "Locking" the scenario, disable moving of objects with the mouse.
- Option to include source code when exporting.
- Title-field to change the name of a scenario as it is seen on Gallery.
- Fixed bug: submitting scenario with a multi-line description broke the scenario.
- "Get" objects from inspector/method result into the world.
- Speed slider range is changed.
- And a lot of bug fixes...
- Added balloons scenario to Greenfoot distribution.
- Added 'Inspect...' function in class menu.
- Bug fixed: Invoking static methods does not show return values.
- Bug fixed: Inspector does not display static variables.
- Bug fixed: Keypressed not properly re-initialised on restart.
- Bug fixed: Clicking an actor does not always return top most actor.
- Mouse support added to the Greenfoot API. This might break existing scenarios that are using the mouse.
- Setting the paint order works for subclasses as well.
- Changed default background and foreground colour for GreenfootImage.
- Method added to specify act order of objects.
- Changing the world background image through the GUI updates the instantiated world's image.
- Bug fixes for Mac OS Leopard.
- Bug fixes in sound support.
- Internationalization of Greenfoot UI
- German translation of UI.
- Greeenfoot no longer quits when closing last scenario.
- Opening of recently opened projects.
- Actors getWidth() and getHeight() can now be called from the Actors constructor.
- "Save as" for projects.
- Better handling of laptops going into sleep mode, and changing network connections.
- Click-order of Actors in the world will always select top most Actor.
- API-change: Greenfoot.delay(int) takes a parameter to specify how long to wait.
- API-change: added act() method to World.
- Export to "MyGame" web site added.
- Focus problems with controls fixed.
- "Export" warning on Windows removed.
- Fixed inconsistency in compile dependency behaviour.
- Changed collision detection algorithm (performance improvements).
- Introduced "greenfoot.defs" for settings.
- Fixed "Pause" button in applets.
- Method added to specify paint order of objects.
- 'Export' function added to export scenarios to stand-alone applications and web-based applets.
- Key input bug fixed.
- Array inspection fixed.
- Attempt to place actors out of world bounds does not throw exception anymore.
- Compile dependency problem fixed.
- Other bug fixes and performance improvements.
- Support for sound.
- Support for multi-user systems (concurrent execution of multiple Greenfoot instances).
- New class templates updated.
- Templates for new classes user configurable (in lib/greenfoot/templates).
- Inspectors are updated when values change.
- World repaining logic improved.
- New API method: added Greendoot.delay() (causes the current thread to sleep for a while, according to the position of the speed slider).
- API change: renamed Greenfoot.pauseSimulation() and Greenfoot.resumeSimulation() to Greenfoot.stopSimulation() and Greenfoot.startSimulation().
- Classbrowser correctly reflects changes if a class changes superclass.
- Numerous bug fixes and performance improvements.
`Greenfoot 1.0.2 (17. Jul 2006)
- Minor bug fixes.
Greenfoot 1.0.1 (20. Jun 2006)
- Minor bug fixes.
Greenfoot 1.0 (31. May 2006)
- Initial full release.
Greenfoot 0.9 (11. May 2006)
- The user interface has been improved (and we have a new logo)
- Keyboard support was added (we can write games now)
- New scenario to demonstrate keyboard support: Lunar Lander
- Supports classes other than subclasses of Actor and World
- Changed how objects are added to the world.
- Improved Greenfoot startup time
- Added a Greenfoot class to interact with the environment.
- Many bug fixes and improvements.
Greenfoot 0.5 (31. Mar 2006)
- Some API changes.
- Images can now be selected for a class from the greenfoot UI.
- Improved collision detection.
- Requires Java 5.