Changes in version 2.4 (released June 2012)

- Fixed bug that prevented 64-bit Windows app using more than 4GB of hash memory.
- Fixed bug that caused corrupted macrocell files if saved with timeline data.
- Fixed bug in Langtons-Ant.tree that had ants colliding incorrectly.
- Fixed Mac app crashing if user's language setting is non-English.
- Clipboard data on the Mac now uses LF as the end-of-line character rather than CR.
- A pending paste is aborted if the main window becomes inactive.
- Error messages from each algorithm are shown if a pattern file can't be loaded.

Changes in version 2.3 (released November 2011)

- QuickLife and HashLife support rules using the von Neumann neighborhood or the hexagonal neighborhood. More details here.
- The default icon for most rules is now a circular dot rather than a diamond. A diamond is the default icon for rules using the von Neumann neighborhood and a slanted hexagon is the default icon for rules using the hexagonal neighborhood.
- A number of new script commands have been added to allow mouse interaction and better keyboard interaction: getevent, doevent and getxy. The getkey and dokey commands still work but are deprecated. In particular, there is no longer any need for scripts to call dokey(getkey()). See the description of getevent for more details.
- Some scripts have been added to take advantage of the new commands: draw-lines.py, flood-fill.py, move-object.py and move-selection.py.
- New patterns: ComputerArt.rle, CrittersCircle.rle, CrittersOscillators.rle, HPP.rle, HPP_large.rle, Sand-Test.rle, TMGas.rle, TMGas_largeWithHole.rle, TripATron.rle, TripATron_BlockAligned.rle.
- Scripts that create table/tree files have been moved into Scripts/Python/Rule-Generators.
- Langtons-Ant-gen.py now accepts turns 'U' and 'N' (U-turn and no-turn) as well as 'L' and 'R'.
- The hash() command uses a better hash function in a two-state universe.
- Pattern rendering is faster at scales 1:16 and 1:8, especially in the Linux app.
- The mouse wheel now zooms in/out from the current cursor location rather than the middle of the viewport.
- Patterns can be saved as gzipped files (*.rle.gz or *.mc.gz).
- If an algorithm can save patterns in macrocell format (currently all except QuickLife) then the Save Pattern dialog now prefers that format over RLE; ie. the file type order is *.mc, *.mc.gz, *.rle, *.rle.gz.
- While waiting for a paste click, the keyboard shortcuts for flipping or rotating a selection now modify the paste pattern rather than the current selection.
- Fixed a bug in Win and Linux apps that prevented keyboard shortcuts being used while waiting for paste click.
- Pasted patterns are no longer truncated if the RLE header info is incorrect.
- Quitting Win app no longer clears clipboard.
- Fixed unwanted cursor changes while running a script.
- Fixed bug if layer was changed while recording a timeline.
- Fixed bug in EmulateMargolus.py when using square4_* neighborhoods.
- Removed emulate-Margolus-table.py script (use RuleTableToTree.py instead).
- Fixed bug that could result in all buttons and menus being disabled after hitting the tool bar's Reset button.
- Fixed cursor problems if shift key is used in a keyboard shortcut.
- The Mac app now runs on Lion (10.7). There are two Mac apps: a 64-bit version for 10.6 and later (based on Cocoa), and a 32-bit version for 10.4 and 10.5 (based on Carbon).

Changes in version 2.2 (released November 2010)

- Golly supports bounded grids with various topologies (plane, torus, Klein bottle, etc.). Such grids are created by adding a special suffix to the usual rule string. The details are in Help > Bounded Grids.
- Two new script commands, getwidth and getheight, return the size of the current grid.
- The new scripts, make-torus.py and make-torus.pl, can be used to convert the current selection into a toroidal universe.
- Any BOARD and WRAP settings in an MCell file are now obeyed (e.g. Bloomerang.mcl).
- Golly can record and play back a pattern's "timeline", a sequence of steps saved by the new Start Recording item in the Control menu. Use the Delete Timeline item to delete a timeline. Timelines are supported by all the hashlife-based algorithms (ie. all except QuickLife).
- Show Timeline in the View menu toggles the new timeline bar below the viewport window.
- If a timeline exists when you save a .mc file then all the steps will be stored in the file. On opening such a file, Golly will load the timeline and automatically show the timeline bar.
- Multi-color icons are supported and allow both icon and color information to be stored in the one file (more details here).
- Rule tables now support hexagonal and oneDimensional neighborhoods and the permute symmetry.
- Added a section on naming conventions for .table and .tree files.
- Added a new Python script, make-ruletree.py, that allows you to write rules in Python and have them installed in the form of .tree files. See the comments at the top of the script.
- Added RuleTableToTree.py for converting rule tables to trees. It provides emulation for several neighborhoods not natively supported by Golly: triangularVonNeumann, triangularMoore, Margolus, etc. More details here.
- New Turmite scripts, e.g. Turmite-gen.py, for generating rule trees and icons for relative- and absolute-movement turmites on square, hexagonal and triangular grids.
- The goto.py script is much faster (thanks to PM 2Ring).
- Hitting escape aborts a script that has called a lengthy run() or step() command.
- Langtons-Ant.table has been replaced with Langtons-Ant.tree. The new rule is faster, handles multiple ants correctly, and matches most other implementations of this CA.
- Reorganized the Patterns folder: moved Conway's Life patterns into Life subfolder, moved rule subfolders out of Other-Rules to top level under Patterns, added Life-Like folder.
- Added new Turmite patterns, e.g. WormTrails.rle.
- Other new patterns: golly-ants.rle, Langtons-Ant.rle, JvN-loop-replicator.rle.gz, Herschel-conduit-stamp-collection.rle, Boustrophedon-replicator.rle.
- Increased the maximum base step from 10,000 to 2,000,000,000.
- Help > Keyboard Shortcuts lists unassigned actions at the end.
- The drawing state can be changed by creating keyboard shortcuts for two new actions called Next Higher State and Next Lower State (see Preferences > Keyboard).
- You can turn off the beep sound by unticking the option at the bottom of Preferences > Edit.
- Loading a pattern won't proceed if the "save changes" dialog appears and you select Save but then decide to cancel the "save pattern" dialog.
- Fixed bug that caused cells to be created in the wrong location when editing very large patterns.
- Fixed bug drawing incorrect selection rectangle if very large.
- Fixed cursor problem if the shift key is used in a keyboard shortcut to open a dialog/window.
- Fixed weird bug on Mac that could cause the viewport to lose keyboard focus after clicking in the layer bar's "delete layer" button.
- Fixed undo history getting out of sync if you tried to reset to a saved starting pattern that had been deleted.
- Fixed a bug drawing incorrect icons when layers are stacked.
- Fixed a bug not updating the paste image when colors are inverted.
- Fixed a problem with the hash() command in a multi-state universe.
- Fixed problems using a keyboard shortcut or menu command while a script is running.
- Dropped support for Mac OS 10.3.9.

Changes in version 2.1 (released September 2009)

- Golly can download patterns, rules and scripts from various online archives. You can change the location of downloaded files using the new button at the bottom of Preferences > File.
- Zip files can be opened and processed as described here.
- If the mouse moves over a link in the help window then the link reference is displayed at the bottom of the window. Ditto for links in the Set Rule dialog.
- The algorithm info in the Set Rule dialog can now be accessed from the new Algorithms help item.
- Translucent buttons for speed/scale/scroll functions now appear in a corner of the viewport whenever the mouse moves over that corner. The initial location is the top left corner, but you can use Preferences > View to specify any other corner or disable the buttons.
- Layer bar buttons now show each layer's name rather than its numeric position.
- New rules: Codd2, Devore, DLA, Ed-rep, LifeHistory, Perrier, Sand.
- New patterns in Other-Rules/, Other-Rules/Codd/, Other-Rules/Codd/Devore/, Other-Rules/Margolus/, Loops/.
- New scripts: FredkinModN-gen.py, make-Devore-tape.py, Margolus/emulate-Margolus-table.py, Margolus/convert-MCell-string.py.
- All Python scripts now need to explicitly import the golly module. This wasn't strictly necessary in previous versions, but only because it was an undesirable side-effect of the way Golly ran scripts.
- The open command can now be used to run a given Perl/Python script.
- New scripting commands: opendialog, savedialog, getclipstr, setclipstr, getdir, setdir.
- The appdir and datadir commands are deprecated; use the new getdir command.
- The color of dead cells (state 0) is now handled like all other states, so it's possible for each algorithm/rule to have a different background color.
- The setcolors and getcolors commands can be used to set/get the color of state 0.
- Golly restores a layer's default colors whenever you create a new pattern or open a pattern file (and not just if the algorithm or rule changes). If you have any scripts that use setcolors then make sure it is called after calling new/open.
- The base step can now be changed temporarily via the new Set Base Step dialog in the Control menu. Golly will restore the default base step (set in Preferences > Control) when you create a new pattern, open a pattern file, or switch to a different algorithm.
- The setbase command also changes the base step temporarily, so if you have any scripts that use setbase then make sure it is called after calling new/open/setrule/setalgo.
- The setoption/getoption commands can use "drawingstate" to set/get the edit bar's current drawing state, and they can use "restoreview" to set/get the state of the "Reset/Undo will restore view" option set in Preferences > View.
- Paste now supports "And" mode.
- The RLE reader allows alphabetic characters other than "o" to represent live cells.
- Menu items can show single-character keyboard shortcuts.
- When a lexicon pattern is loaded, Golly automatically switches the current rule to B3/S23 (and changes the algorithm to QuickLife, if necessary).
- Fixed a bug with Random Fill. Golly wasn't initializing the seed, so the internal rand() calls were returning the same sequence of "random" integers each time!
- Fixed a bug that prevented the getkey command from returning uppercase letters.
- Fixed oscar.pl/py to handle B0-and-not-S8 rules correctly (they no longer report some spaceships to be stable patterns).
- Fixed a couple of bugs when duplicating a layer's undo/redo history.
- Fixed crash in Mac app if a script saved a pattern and the progress dialog appeared.

Changes in version 2.0 (released December 2008)

- Golly now supports multiple algorithms and multi-state universes (up to 256 states).
- The Generations algorithm supports an entire family of new rules, including Brian's Brain (/2/3), Star Wars (345/2/4), and Transers (345/26/5).
- The JvN algorithm implements John von Neumann's classic 29-state CA, plus a couple of 32-state variants created by Renato Nobili and Tim Hutton. See Patterns/JvN for a variety of self-replicators.
- The RuleTable and RuleTree algorithms allow you to add new rules by creating .table and .tree files and storing them in the Rules folder or your rules folder. A number of example rules are supplied, including Langtons-Loops, Evoloop, LifeOnTheEdge and WireWorld.
- The tool bar has a new button for switching algorithms, or you can use the Set Algorithm submenu in the Control menu. The Use Hashing option has been removed.
- The Control > Set Rule dialog also has a menu for changing the current algorithm. A help button can be used to expand the dialog and display information about the current algorithm, along with examples of the rules it supports.
- Golly can read some MCell files (if an algorithm supports the given rule).
- The ten layer-specific colors have been replaced by a more flexible approach to cope with multi-state universes. Each algorithm has a default color scheme that can be changed in Preferences > Color.
- Each algorithm also has a default set of icons, small bitmaps that are only drawn at scales 1:8 and 1:16, and only if the Show Cell Icons option (in the View menu) is ticked. The default icons can be changed by using the Load Icons button in Preferences > Color.
- Rule-specific colors and icons can be created by adding suitably named .colors and .icons files to the Rules folder or your rules folder. Golly looks for these files whenever it switches to a new rule.
- The Layer > Set Layer Colors dialog can change one or more colors used by the current layer (and its clones). These changes are temporary and only remain in effect while the layer exists, or until the layer's algorithm or rule changes.
- The View > Swap Cell Colors option has been changed to Invert Colors.
- New script commands have been added to support the above changes: setalgo, getalgo, numalgos, numstates, join, setcolors and getcolors.
- Some script commands have been modified to handle multi-state patterns. Perl users should read the section on cell arrays. Python users should read the section on cell lists.
- The getrule command now returns a canonical rule string.
- The setcursor/getcursor commands now accept/return strings.
- Modified oscar.pl to use arbitrarily big integers.
- It's now possible to open a pattern or run a script from the Help window by clicking on special links. For example, open golly-ticker.rle or run bricklayer.py.
- Diagonal scrolling is supported. Open Preferences > Keyboard and assign keys to the new scrolling actions: Scroll NE/NW/SE/SW.
- A new check box in Preferences > View can tell Reset/Undo not to restore the view.
- View > Show Edit Bar toggles the new edit bar. The cursor mode buttons have been moved from the tool bar into the edit bar.
- View > Show All States toggles the display of colors and icons for all states in the current universe. A box is drawn around the current drawing state.
- Help > File Formats describes the various file formats used by Golly.
- Rendering speed in the Mac and Linux apps has been improved.
- Fixed a problem with ampersands not being displayed in the recent pattern/script menus.
- Fixed a bug in the Linux/GTK app if a recent pattern/script path contained an underscore.
- The Linux and Win apps require Perl 5.10 or later to run .pl scripts (older Perl versions are not binary compatible).
- The Linux/X11 app is no longer supported due to limitations in wxX11.

Changes in version 1.4 (released May 2008)

- Editing and other actions are now allowed while generating a pattern.
- Golly saves files in the standard user-specific data directory on each platform rather than in the application directory. However, you can still keep the GollyPrefs file in the application directory if you prefer that option.
- Right-click or control-click on a pattern/script file to open the file in a text editor. Use the new button in Preferences > File to select your preferred text editor.
- Pasting a clipboard pattern can now change to the specified rule, depending on the option set in Preferences > Edit.
- The Preferences dialog can be opened from the help window by clicking on special links like the examples above.
- Added Reset button to tool bar and Duplicate Layer button to layer bar.
- A duplicated layer now gets a copy of the original layer's undo/redo history.
- Improved the automatic detection of Perl/Python code used by Run Clipboard.
- Added help command to open given HTML file in help window.
- A warning is displayed if a bad rule string is detected while loading a pattern.
- Added support for reading WinLifeSearch output.
- An error message is displayed if you try to load a JPEG file.
- Fixed some problems if you quit Golly while running a script.
- Fixed problem shrinking selection while generating a pattern.
- Fixed "Rules differ" warning when undoing/redoing generating changes using hashing.
- Fixed problems with incorrect file selections in Win app's directory pane.
- Fixed bug in Mac app's activate event handler.
- Fixed bug in Linux/GTK app that prevented using shift-space as a keyboard shortcut.
- Mac app allows option-E/I/N/U/` to be used as keyboard shortcuts.
- Golly can be built for 64-bit platforms.

Changes in version 1.3 (released November 2007)

- Added unlimited undo/redo; see the Edit Menu help for details. For consistency with Undo, the Reset item now restores the starting selection and layer name.
- Keyboard shortcuts are now configurable using Preferences > Keyboard. Note that you can also specify key combinations to open a pattern, run a script, or show any HTML file in the help window.
- Golly can be scripted using Perl; see the new Perl Scripting help.
- Added pop-plot.pl/py to the Scripts folder for creating population plots.
- The metafier.py script now creates the metafied pattern in a separate layer.
- Added getstring command for getting user input via a dialog box (glife's getstring function still exists but is deprecated).
- Added hash command to speed up oscar.pl/py.
- The parse and transform commands have optional parameters.
- A script is aborted if a progress dialog appears and you hit Cancel.
- The Open/Run Recent submenus show relative paths for files inside the Golly folder.
- Added a Clear Missing Files item to the Open/Run Recent submenus.
- The Control menu's Go and Stop items have been replaced by a single Start/Stop item for consistency with the tool bar's start/stop button.
- The Control menu has a Set Generation item for changing the generation count, or you can click in the "Generation=..." text in the status bar. Scripts can use the new setgen command.
- Flip operations are much faster.
- The About box uses Brice Due's Golly ticker.
- Reduced chances of out-of-memory error while loading a large .mc file.
- Fixed crash if a pattern update occurred while saving a .mc file.
- Fixed bug pasting a macrocell pattern.
- Fixed bug reading an empty macrocell pattern.
- Fixed bug not marking a layer as modified after clearing the entire pattern.
- Fixed bug if apostrophe was in Python script path or file name.
- Fixed drawing problems on Mac OS 10.3.9.

Changes in version 1.2 (released April 2007)

- Golly supports multiple layers; see the new Layer Menu help for details.
- Added layer-related scripting commands. See heisenburp.py and envelope.py in the Scripts folder for how these commands can be used.
- Added other useful scripting commands: exit, check and note.
- The putcells command has optional parameters, including a new mode parameter.
- Clicked lexicon patterns are loaded into a separate "lexicon" layer (and the clipboard is no longer changed).
- If a pattern has been modified then its layer name is prefixed with an asterisk and a "save changes" dialog will appear before certain actions, such as opening a pattern file or quitting Golly. The dialog can be disabled via check boxes in Preferences > Layer.
- Scrolling is optional if the pencil/cross/hand cursor is dragged outside the view window; see Preferences > Edit.
- The hand cursor no longer has a pointing finger.
- A .py file selected via Open Pattern is run as a script.
- If golly-start.py exists in the same folder as the application then it is automatically executed when Golly starts up.
- New tool bar buttons, including a single start/stop button.
- Reset and Use Hashing can be selected while a pattern is generating.
- Renamed Flip Up-Down to Flip Top-Bottom.
- GTK app no longer does unnecessary buffered drawing.
- X11 app has a vertical tool bar which can be toggled.
- Mac app has a creator code (GoLy) and .mc/rle files are saved with an appropriate type and creator.
- Fixed a bug if Win app given a long-running script on command line.
- Fixed a bug in the advance and evolve commands if using hashing with Wolfram rule.
- Fixed a delay bug.

Changes in version 1.1 (released November 2006)

- Added Save Extended RLE option (initially ticked) to the File menu. An extended RLE file stores the pattern position and generation count (if > 0) so they can be restored when the file is loaded.
- Macrocell files also store the generation count if > 0.
- Non-extended RLE files are now loaded so that 0,0 is at the top left corner of the pattern rather than in the middle of the pattern.
- Golly can read BMP/GIF/PNG/TIFF files and paste bitmap data. All non-white pixels become live cells.
- Golly can read pattern files using David Bell's dblife format.
- Starting patterns are saved in a temporary file rather than in memory. This is much faster when hashing (saving a macrocell file is very quick).
- Random Fill is much faster in typical cases.
- Escape key can be used to stop generating.
- Numerous additions and updates to the pattern collection.
- Added fuse-watcher.py, metafier.py and shift.py to the Scripts folder.
- More mouse interaction is allowed while a script is running. A script can be aborted by clicking the stop button in the tool bar or by selecting Stop in the Control menu.
- Resizing the help window no longer changes the scroll position.
- Fixed a bug loading huge macrocell files.
- Fixed an obscure bug in the non-hashing algorithm.
- Path to Scripts folder is only added to Python's sys.path once.
- Fixed rect bug in Scripts/glife/__init__.py (thanks to Dan Hoey).
- Golly's code can be compiled with a Unicode build of wxWidgets.

Changes in version 1.0 (released June 2006)

- Added Python script support; see the new Python Scripting help.
- Golly is available for Linux/GTK.
- Mac app is a Universal Binary (4 times faster on an Intel Mac).
- Added ability to change various colors via Preferences > Color. The Black on White option has been replaced by Swap Cell Colors.
- Increased the base step limit from 100 to 10,000.
- Added Show Hash Info option to the Control menu.
- Added Show Exact Numbers option to the View menu.
- Save Pattern preserves comments when writing to an existing file.
- Added tool bar buttons for toggling patterns and scripts.
- Included the latest release of the Life Lexicon.
- Renamed Flip Horizontally/Vertically to Flip Up-Down/Left-Right.
- Fixed disabled menu item bug after closing a modal dialog on Mac OS 10.4.
- Fixed a couple of rule-related bugs in the non-hashing algorithm.
- Fixed crash due to very long rule strings.
- Fixed paste positioning bugs at scale 1:2.
- Fixed error if Win app is closed while script is running.
- Fixed problem if Win app is closed when window(s) minimized.

Changes in version 0.95 (released January 2006)

- Stephen Silver's Life Lexicon has been integrated into the help. Note that clicking on a lexicon pattern loads it into the Golly window.
- Added an Open Recent submenu to the File menu.
- Added Show Patterns and Change Folder to the File menu.
- Added a Preferences dialog to the File menu (app menu on Mac).
- Added more items to the Edit menu: Clear Outside, Shrink Selection, Random Fill, Flip Vertically, Flip Horizontally, Rotate Clockwise and Rotate Anticlockwise.
- The clipboard pattern is displayed when pasting.
- Pasting large, sparse patterns is much faster when using Or mode.
- Added more items to the View menu: Fit Selection, Restore Origin and Set Scale.
- The thumb scroll range is adjustable (see Preferences > View).
- The Reset item now restores the rule, scale, location, step size and hashing option to the values they had at generation 0.
- Removed Max Hash Memory from Control menu (now set in Preferences > Control).
- The Rule dialog lets you select/add/delete named rules. If a rule has a name then it's shown in the main window's title bar.
- Hit control-space to advance the selection, or shift-space to advance everything outside the selection. The generation count will not change.
- The delete key is a shortcut for Clear, or shift-delete for Clear Outside.
- F5 to F9 can be used to set cursor modes.
- Hit "s" to shrink the selection and fit it in the current view.
- Hit "0" to change the origin to the cell under the cursor.
- Hit "9" to restore the true origin.
- Hit "6" to set the scale to 1:16.
- Hit "," to open the Preferences dialog.
- If the help window is in front, hit "+" and "-" to change the font size.
- While dragging the mouse to make (or modify) a selection, the escape key can be used to cancel the operation and restore the original selection.
- The escape key can no longer be used to stop generating.
- In zoom in/out mode, right-click or control-click zooms in the opposite direction.
- The mouse wheel can be used for zooming, regardless of cursor mode.
- Commas are used to make large status bar numbers more readable.
- Fixed a hashing bug that could cause advancing by the wrong step.
- Fixed a bug in Mac app when returning from full screen mode.
- Fixed a bug in Win app that prevented space bar being used to stop generating.
- Fixed Win app's cross cursor (now visible on a black background).

Changes in version 0.91 (released October 2005)

- Return key can be used to start/stop generating.
- Space bar can be used to stop generating.
- Win app puts CR+LF in clipboard data.
- Fixed occasional bug when +/- pressed while hashing.

Changes in version 0.9 (released October 2005)

- Implemented pattern saving (as RLE or macrocell format).
- Implemented cell editing and selecting.
- Implemented scrolling via hand cursor.
- Edit menu has a Cursor Mode submenu (items match new tool bar buttons).
- Hit "c" to cycle through all cursors.
- Win app can now read gzipped pattern files.
- Can now display comments in pattern files.
- Added Patterns folder to distribution.
- Toggling the hashing option doesn't change the pattern or generation count.
- The Reset item is smarter about restoring the starting pattern.
- Fixed colored frame after dropping pattern file onto Mac app's main window.
- Fixed horizontal scroll bar problem in Mac app's help window.
- The help window's cursor now gets updated while generating.
- Fixed problem with location of help window in X11 app.
- Added limited clipboard support to X11 app.
- Golly has a new app icon based on Galaxy, a period-8 oscillator.

Changes in version 0.2 (released July 2005)

- Added support for B0 rules.
- Golly comes to the front after dropping a pattern file onto main window.
- The help window can move behind the main window in Win/X11 apps.
- Text in the help window can be selected and copied to the clipboard.
- Fixed keyboard shortcuts in the help window.
- Fixed RLE rule problem in Mac app.
- Fixed menu and tool bar update problems in Mac/Win apps.
- Fixed some cosmetic problems in Win app.

Initial version 0.1 released July 2005