Home
Learn NetLogo
What is NetLogo? Tutorial #0 Sample Model Tutorial #1 Models Tutorial #2 Commands Tutorial #3 Procedures
Documentation
NetLogo Dictionary Interface Guide Interface Tab Guide Info Tab Guide Code Tab Guide Programming Guide Transition Guide Preferences Guide Version History
Advanced Tools
Extension Manager Shapes Editor BehaviorSpace System Dynamics HubNet HubNet Authoring Logging Controlling Mathematica Link NetLogo 3D Cluster Computing (HPC)
Extensions
Extensions Guide Arduino Array Bitmap CSV GIS GoGo LevelSpace Matrix Networks Palette Profiler Python Resource Rnd Sound Simple R Table Time Vid View2.5D
FAQ
Home
Learn NetLogo
What is NetLogo? Tutorial #0 Sample Model Tutorial #1 Models Tutorial #2 Commands Tutorial #3 Procedures
Documentation
NetLogo Dictionary Interface Guide Interface Tab Guide Info Tab Guide Code Tab Guide Programming Guide Transition Guide Preferences Guide Version History
Advanced Tools
Extension Manager Shapes Editor BehaviorSpace System Dynamics HubNet HubNet Authoring Logging Controlling Mathematica Link NetLogo 3D Cluster Computing (HPC)
Extensions
Extensions Guide Arduino Array Bitmap CSV GIS GoGo LevelSpace Matrix Networks Palette Profiler Python Resource Rnd Sound Simple R Table Time Vid View2.5D
FAQ

Version History

For help running models made in old versions, see the Transition Guide.

Table of Contents

  • Version 7.0.1 (October 2025)
  • Version 7.0.0 (September 2025)
  • Version 6.4.0 (November 2023)
  • Version 6.3.0 (September 2022)
  • Version 6.2.2 (December 2021)
  • Version 6.2.1 (October 2021)
  • Version 6.2.0 (December 2020)
  • Version 6.1.1 (September 2019)
  • Version 6.1.0 (May 2019)
  • Version 6.0.4 (June 2018)
  • Version 6.0.3 (March 2018)
  • Version 6.0.2 (August 2017)
  • Version 6.0.1 (March 2017)
  • Version 6.0 (December 2016)
  • Version 5.3.1 (February 2016)
  • Version 5.3 (December 2015)
  • Version 5.2.1 (September 2015)
  • Version 5.2.0 (April 2015)
  • Version 5.1.0 (July 2014)
  • Version 5.0.4 (March 2013)
  • Version 5.0 (February 2012)
  • Version 4.1.3 (April 2011)
  • Version 4.1 (December 2009)
  • Version 4.0 (September 2007)
  • Version 3.1 (April 2006)
  • Version 3.0 (September 2005)
  • Version 2.1 (December 2004)
  • Version 2.0.2 (August 2004)
  • Version 2.0 (December 2003)
  • Version 1.3 (June 2003)
  • Version 1.2 (March 2003)
  • Version 1.1 (July 2002)
  • Version 1.0 (April 2002)

Version 7.0.1 (October 2025)

Bundled software to open multiple instances of NetLogo on Mac

  • A NetLogo Launcher app is now included on macOS to allow opening multiple instances of NetLogo simultaneously (on other platforms, you can already open multiple instances of NetLogo by default)

Interface changes

  • Plots, monitors, and output widgets are now slightly lighter grey in light mode.
  • Disabled buttons now have slightly darker text (for increased contrast) in light mode.

Changes to NetLogo Web export

  • NetLogo Desktop will now export the latest version of NetLogo Web
    • The most notable change to NetLogo Web is that it now sends anonymized usage data to our Google Analytics
      • The amount of data tracked by this is very minimal, so we ask that users please leave it enabled so that we can better understand how self-hosted NetLogo Web models are being used. However, note that the functionality can be disabled by appending ?disableAnalytics to the URL
    • Other updates to NetLogo Web are documented here, from version v2.12.1 to v2.12.4

Major bugs fixed

  • Primitives for writing text to files were always overwriting the files, rather than appending to them
  • Running Grammarly on a Mac could prevent using the 3D View

Minor bugs fixed

  • Monitors that were displaying numbers in scientific notation were showing an extra “0” at the end
  • Monitors were switching to scientific notation at 10,000,000 instead of at 9,007,199,254,740,993 (253)
  • The “Reload model on external changes” functionality was not watching all of the files that it should have been for the full duration that it should have been
  • The “Reload model on external changes” functionality could sometimes trigger the display of multiple redundant “Are you sure you want to open a different file?” dialogs
  • The “Reload model on external changes” functionality could sometimes raise unnecessary exceptions
  • Internal lastModified.txt file handles were being inefficiently left open
  • NetLogo would sometimes suggest importing an extension immediately after having imported it
  • The color theme was defaulting to “light”, rather than checking the system’s default theme
  • Some modal dialogs were being hidden behind other windows
  • macOS and Windows were using incorrect file icons for .nlogo and .nlogo3d files
  • macOS was consistently producing more than one “Print” dialog at a time (yes, as in: printing to paper)
  • Tabs for __includes files were wrongly being foregrounded when reopened
  • Tabs for __includes files could not be zoomed when popped out into separate windows
  • The “Auto-indent” setting was not applying to secondary code editors (e.g. inside of widget “Edit” dialogs)
  • self and myself were reporting incorrect values inside of carefully blocks
  • Mathematica Link was setting the wrong location to look for NetLogo extensions
  • Patches could wrongly persist in stored patchsets after calls to resize-world
  • The internal optimized form of any? <breed>-on was was producing incorrect results
  • Printing anonymous procedures to strings (e.g. with the word primitive) was over-eagerly eliding parentheses that are actually necessary when calling primitives that don’t take a fixed number of arguments
  • The Command Center would display illegible gobbledygook on Linux if the output line was wider than 32767 pixels
  • The colors of square brackets had poor visibility in dark mode
  • Auto-saves of the “File > New” model were never expiring
  • “Headless” versions of NetLogo could not open NetLogo 7-formatted BehaviorSpace experiments
  • NetLogo would give up on trying to open documentation if it lacked a connection to the internet, instead of falling back to using the copy of the documentation that comes with the NetLogo installation
  • Some “help” dialogs were being placed in the wrong location on the screen
  • Brackets were being visually matched in editors, even when the containing editor was not foregrounded
  • The icon used in the compiler error banner was needlessly low-resolution
  • Note widgets were failing to correctly wrap text when rendering in the standard (i.e. non-Markdown) mode
  • The Extension Manager could sometimes fail to load the list of extensions properly
  • BehaviorSpace was refusing to validate or save any experiments that referenced special variables (e.g. world-width, random-seed)
  • BehaviorSpace could open dialogs at wrong locations and sizes
  • BehaviorSpace (pointlessly) allowed pausing after the final run
  • NW Extension: Graphs were not always retaining their ordering when they should have been
  • Vid Extension: Native library files were not being properly cleaned up when “temporarily” unpacked
  • Vid Extension: Would crash when loaded headlessly
  • Vid Extension: Could not use webcams on macOS versions before 14
  • set-patch-size wrongly allowed values of 0 or less
  • Opening a new file while focusing a text input could cause an exception
  • Extension Manager downloads didn’t raise errors when they should have
  • Single-line text fields did not respect undo/redo
  • When converting models from the old file format to the new format, slider widgets could sometimes lose their default value
  • Agent monitors could sometimes render at too small of a size when the model’s world was small

Version 7.0.0 (September 2025)

Changes in NetLogo Functionality

This is a major upgrade from NetLogo 6.4. We made many changes to basic features, the NetLogo GUI, the file format and NetLogo library models.

Some of the biggest changes we made in this release are:

  • A new modernized GUI with both light and dark modes (and a classic mode) (see below)
  • Greater customizability, with more preferences and settings (see below)
  • NetLogo models are now stored in a new format with the extension .nlogox (see below)
  • For users with modern macOS devices that use the Apple silicon architecture, we now provide a separate, higher-performance version of NetLogo to download

Below, we list all the changes since NetLogo 6.4.

Changes to the NetLogo GUI

Major Changes

  • The Interface Toolbar has been updated for usability: there are now four different tools for interacting with or editing widgets. These change the way you author and edit models:
    • With the Interaction tool, users can interact with widgets much as they did before NetLogo 7.
    • With the Selection tool, users can select and move widgets by clicking on them.
    • With the Edit tool, users can edit widgets after a single click (no previous selection required).
    • With the Delete tool, users can delete widgets by clicking (no previous selection required).
  • There are new tools to align, distribute and stretch widgets. These have a menu in the Interface Toolbar.

Other Changes

  • See the NetLogo 7.0.0 Changes Overview for more details.
  • User interface elements (widgets) have a flat modern look with a new color scheme.
  • Users have a choice of color themes: Light, Dark and Classic.
    • The classic color theme is similar to the light theme, except the widgets have the pre-NetLogo 7 colors.
  • Widget sizes have been adjusted for better aesthetics and readability.
    • All widgets now open with the new widget styles, but pre-NetLogo 7 models will open with the old widget sizes by default. However, the new widget styles are not designed to look or function well with the old widget sizes, so model authors are strongly encouraged to update their models to use the new widget sizes.
    • There is a tool to automatically update the layout of a model to better support the new widget sizes.
    • Users can set widgets to have their pre-7.0.0 default sizes if they want.
  • Options to delete, copy and paste all selected widgets have been added to the right-click menu.
  • A preview is shown when widgets are added.
  • Buttons have new icons for observer, turtle, patch and link.
  • Sliders now display their values in an editable box.
  • For Monitors, users can specify the units represented by numbers.
  • The font and background colors for Notes can include transparency and are specified separately for Light and Dark Modes.
  • Icons for the Interface, Info and Code Tabs have been updated.
  • The icons for moving the command center from the bottom of the Interface Tab to its right side and back are now more intuitive.
  • The widget pull-down menu is easier to read.
  • The Model Speed slider now has buttons to increase and decrease model speed.
  • Code Tabs for included (.nls) files can be closed by clicking on the tab.
  • Code Tabs for included files have checkboxes for opening a separate code window.
  • Headers in the Info Tab have been redesigned.
  • The color themes are color blind friendly.
  • The shapes list in the Turtle Shapes Editor and the Link Shapes Editor is now searchable.
  • Color Swatches has been replaced by a more powerful Color picker.
  • The documentation format has been updated.

Changes to the NetLogo File format

  • The extension of model files is now .nlogox or .nlogox3d.
  • Existing .nlogo model files will be converted to .nlogox files.
  • NetLogo 7 only saves models as .nlogox files.
  • The .nlogox files are XML files.
    • Any third-party scripts that processed .nlogo files are not expected to function correctly on .nlogox files
  • The .nlogox format allows the saving of model-specific information.
  • The .nlogox format allows the saving of user interface element specific information.
    • For example, a user interface element can appear in the new larger size, or the original size.
  • The .nlogox format is extensible and will allow new types of data to be stored in the future.
    • This makes it easier to add capabilities and keep models backwards compatible.
    • Resources (e.g., pictures, data files) needed for a model may be stored in the .nlogox file in the future.

Changes in Primitive Functionality

  • There was a small bug fixed in the behavior of the random primitive. Models that use random and random-seed may not generate the exact same behavior as in NetLogo 6, though the vast majority of models should show no change in macro-behavior.

Changes for Customizability

  • Widgets that have changed size for NetLogo 7 have a checkbox that allows users to switch between the new larger size in NetLogo 7 and the previous size used in NetLogo 6.4.
  • The “Auto-indent” and “Show line numbers” global preferences can be set from code section of the NetLogo settings dialog (also available from the code tab).
  • There are changes to the Preferences dialog which let you customize various NetLogo settings.
    • External editor support: Users can enable a feature that checks the open model for changes made outside of NetLogo to the model file and to any included files. When a change is detected, the file is updated in NetLogo. This feature can be enabled or disabled using the NetLogo preferences dialog (also available from the code tab). It is disabled by default.
    • There is a new preference option that prevents compilation errors from stealing focus from the current tab. By default, it is not enabled.
    • There is a new preference option that causes a separate code tab to be opened when NetLogo starts. By default, it is not enabled.
    • There is a Linux-only UI scale preference that matches NetLogo graphics to the system UI scale.
    • There is a preference that enables users to control whether anonymous data will be collected when they are using NetLogo. It is enabled by default.
  • Users can switch between Light, Dark and Classic color themes using an item in the Tools menu.
  • A new Color Picker replaces Color Swatches. Users can still select NetLogo colors from a grid of rectangles. The Color Picker has a second tab that allows users to specify colors in most common formats, and that enables easy selection of a more extensive set of colors.

Features and Enhancements

  • The NetLogo Graphical User Interface (GUI) has been thoroughly modernized.
  • The model file format has become extensible.
  • The NetLogo team can now send announcements which are displayed in a banner on the Interface Tab. Users can click a link for more details.
  • Notes on the interface tab can now render markdown/html.
  • Users can copy and paste widgets both within and between models.
  • There is a new File -> Manage Bundled Resources dialog that allows you to view, add, or remove files that are bundled with the current NetLogo model. You can easily embed such files in the Info Tab.
  • Plots can now be scaled independently for the x and y axes via checkboxes in the Plot widget.
  • The full NetLogo menu bar remains available when you are focused on a separate code tab.
  • The Help Menu now has a link to the NetLogo Forum, a website to ask/answer questions and have discussions about NetLogo.
  • The Tools->Halt option is disabled if code is not running.
  • Plot legends wrap to be multi-line if needed.
  • The auto-save functionality will prompt users if there is an auto-save file available (for example if NetLogo crashed).

Language Changes

  • The user-input primitive has a new optional argument for a default input value.
  • The new primitives auto-plot-x-on, auto-plot-y-on, auto-plot-x-off, and auto-plot-y-off allow plots to be scaled independently for the x and y axes.
  • The new primitive set-topology allows you to set the model topology from code (it replaces the “hidden” command __change-topology)

Bug Fixes and Minor Changes

  • Multi-assign with let and set can use arbitrarily nested lists to “destructure” variables. For example, let [[corner1-x corner1-y corner2-x corner2-y] player-name score] get-current-player-info.
  • The primitive autoplot? has been restored.
  • An optimization speeds up the execution of the constructs any? turtles-on and any? <breeds>-on.
  • An __includes statement not followed by brackets no longer causes an exception.
  • Reporter procedures without a report statement, run or runresult now throw a compile time error.
  • The user receives a specific message when keywords such as globals, turtles-own, to or end are used in an incorrect context.
  • Unmatched closing parentheses, brackets and braces result in a meaningful error message.
  • When a runtime error occurs the user is asked for information that would allow us to reproduce and fix the problem. This is in addition to the stack trace plus system information currently requested.
  • “Save as NetLogo Web” adds the contents of any included files to the model code.
  • One can now import a world that has an array containing strings with curly braces.
  • The Recent Files lists now appropriately contains only 2D or 3D models, according to which NetLogo application is open.
  • The “Reload the last model on startup” preference now appropriately opens only 2D or 3D models.
  • When the user does a “Save As”, non-NetLogo files are greyed out and cannot be selected on Windows and Linux. It is a MacOS feature that users can still select a greyed-out file. If a user selects a non-NetLogo file on MacOS they are warned that a .nlogox or .nlogox3d extension will be added.
  • The Tools menu now displays the correct Show/Hide Command Center option no matter how the command center is made visible or hidden.
  • The process of selecting a log directory has been improved to allow a directory to be created, and to display an error message if the logging directory does not exist when the model is loaded.
  • The preferences dialog shows an error dialog and prevents the user from closing it if logging is enabled but no log directory is specified, or if the specified log directory does not exist or if NetLogo does not have the necessary permissions to write to the directory.
  • Input widget values of the wrong type, e.g. string values in numeric input widgets, are now rejected.
  • Creating a number input box and leaving the value empty no longer causes errors or crashes.
  • When the value of an interface element is changed outside of the Edit dialog, the user will be prompted to save the model when closing it.
  • An empty link monitor now allows a who number to be entered as an end value.
  • The value of the “Auto-indent” checkbox now persists between sessions.
  • Shortcuts for “Previous word”, “Select previous word”, “Next word”, “Select next word”, “Select word”, “Delete previous word”, and “Delete next word” should work as expected in the code tab and in other text editors.
  • The MacOS and Linux convention of specifying a user’s home directory with a tilde at the beginning of a file path is now properly interpreted for included (.nls) files.
  • Included files are now recompiled when they are closed without saving the changes.
  • Leaving and returning to a “dirty” Code Tab no longer causes compilation.
  • There is no exception when reopening an included file that was saved in a separate code tab.
  • An included file being edited in a separate window can be saved.
  • Opening a separate code tab that contains a compilation error no longer causes an exception.
  • The “Save” hot-key works for included files in a separate code tab.
  • Doing a text search in a separate code tab that overlaps an interface window will no longer bring the interface window to the front, covering part of the separate code tab. (This was a MacOS-only issue.)
  • Changes in focus happen correctly when moving between separate and non-separate tabs.
  • Multi-assign with let and set now works with BehaviorSpace.
  • BehaviorSpace works correctly when no measurements have been made. In particular, it no longer produces a runtime error when the following conditions hold: 1) the user specifies a “Run metrics when” reporter, 2) the reporter is never true, and 3) the user has specified both Table and Spreadsheet output.
  • BehaviorSpace error messages are improved.
  • When a BehaviorSpace experiment is run with one or more specified output files that are open in another program, it now aborts the experiment and shows a useful error message.
  • Invalid variable specifications in BehaviorSpace result in useful messages.
  • BehaviorSpace output files can now be deleted once an experiment ends. NetLogo does not need to be exited.
  • BehaviorSpace experiment edit compilation errors are reported when the dialog is closed rather than at runtime.
  • Comments are now supported in BehaviorSpace multiline reporter fields.
  • Right clicking the blank space in a new Systems Dynamics Model no longer causes an exception.
  • NetLogo no longer hangs moving through a corner with wrapped coordinates and pen-down.
  • Number input boxes without a value no longer keep other input boxes or the command center from gaining focus.
  • The Page Setup dialog opened when a user wants to Print now closes when its Cancel button is pressed.
  • When a procedure in the Code Tab is “folded,” so that only the line with the name is visible, an action that needs to move to inside the code causes it to be “unfolded,” so it is fully visible. This can be a result of a search, find-and-replace or jumping to code with a compilation error.
  • If the NetLogo window is maximized in Windows, opening a new model no longer unmaximizes it.
  • Plot pens always take account of plot-pen-up and plot-pen-down.
  • The padding and location of internal components of widgets now change proportionally when zooming.
  • Models that have not been edited are never considered unsaved.
  • Ctrl/Cmd+X when nothing is selected now cuts (copies and deletes) the entire line.
  • Double clicking on a model that was saved with compilation errors opens it correctly.
  • mouse-xcor and mouse-ycor no longer degrade performance when called multiple times per iteration of go or in an ask with lots of agents.
  • Using a lower case ‘i’ in code with a Turkish locale no longer causes compilations errors
  • The resize behavior of edit dialogs has been improved. For example, plot widget “update commands” and “setup commands” fields can now be made taller, and the BehaviorSpace experiment edit dialog can be resized to make controls near the bottom accessible.
  • NetLogo now detects autosave files created for a model in case NetLogo crashes. Users are now asked if they want to recover it.
  • Mouse coordinates are now correctly reported along the border of a selected view.
  • All open files are closed when a runtime error occurs.
  • When exporting and then importing a model the last line in an Output area is a newline it will be retained.
  • Disabled button state is now preserved by Import world.
  • Scientific notation in monitors shows the desired number of decimals.
  • Empty 3D models now have more room for widgets.
  • Clipboard errors when pasting no longer cause an exception.
  • After patch colors have been read from a file the underlying input stream is now closed.
  • Some NetLogo display problems are avoided because Microsoft Direct3D graphics are now off by default.
  • The default value label tick counter, the names of the panels in the ‘About NetLogo’, and the Preview Commands editor can be internationalized.
  • Links to the NetLogo user manual PDF in the documentation installed with NetLogo work correctly.
  • Inserting a tab in a Note produces four spaces.
  • Adjusting a widget value using arrow keys does not affect other scrollable areas.
  • import-world correctly handles tables that have a key with a ’:’.
  • Better support for worlds with one small and one very large dimension.
  • The app icon preview found by searching in the Windows Start Menu, is no longer pixelated.
  • Separate windows (such as the pop-out code window) can now be interacted with while other dialog windows are open
  • Agent monitor windows will no longer hide after giving a different application focus and then returning to NetLogo
  • File choosers will now open to the previously used directory
  • Searching for text in the editor will now also center the text’s location in the editor
  • The Extension Manager is better able to insert the names of extensions without introducing errors
  • Title bars now better match system appearance on Windows and macOS
  • The “Preferences” window will offer to restart the application after changing preferences that require a restart
  • Code “fold” actions have been reorganized into a submenu of the “Edit” menu
  • Code auto-indentation behavior has been improved
  • BehaviorSpace will notify about invalid variable values earlier

Extension Updates

  • The gogo extension supports the GoGo board 6.
  • The dialog extension user-input primitive allows an optional default value argument.
  • There is a new resource extension that allows you to list and get resources bundled with a model.
  • The SimpleR extension is now bundled with NetLogo.
  • The R extension is no longer bundled with NetLogo. It is available through the extension manager.
  • There is a new bspace extension that allows users to create experiments programmatically.

Documentation Updates

  • The Documentation has been updated to describe the many updates that were made for NetLogo 7.0.0. The majority of the images have been updated.
  • There are three new pages:
    • NetLogo 7.0.0 Changes Overview
    • Netlogo Preferences
    • Color Picker Guide
  • Grammar was improved for NetLogo Tutorial 2.
  • The link to the book “An Introduction to Agent-Based Modeling” was updated.
  • The BehaviorSpace error message about undefined parameter values was made easier to interpret.
  • The BehaviorSpace documentation for the subexperiment syntax is improved and uses examples from the Wolf Sheep Predation Model.
  • The effect of topological wrapping on the primitives neighbors and neighbors4 is explained in the documentation.

Models Library Changes

New Sample Models:

  • Chladni Figures
  • Consumer Choice
  • Cyclic CA
  • Hockey
  • Interstitial Diffusion
  • Invasive Plants
  • Wolf Sheep Predation - Agent Cognition (folder)
    • Wolf Sheep Predation - Micro-Sims (the main model which runs microsimulations to simulate agent cognition)
    • Wolf Sheep Predation - Micro-Sims Cognitive Model (the submodel for running agent microsimulations)
  • The Mathematics section now has a subfolder Conic Sections that contains three models:
    • Emergent Shapes - Ellipse
    • Emergent Shapes - Parabola
    • Emergent Shapes - Hyperbola
  • The three models above replace two models from the NetLogo 6.4 mathematics section:
    • Conic Sections 1
    • Conic Sections 2

New 3D Sample Models

  • Maze 3D

New Code Examples

  • The Ordered Agent Drawing Code Example model demonstrates how to sort turtles for display using stamp when precise drawing order is needed.
  • The Patch Outlines Example model demonstrates how to outline patches in a reasonably simple way using stamp.

Sample Model Changes

  • The Moths model was updated with information about new research into why moths circle lights. The idea that this could be modeled with NetLogo 3D was added as a suggestion for further exploration.
  • The correct label is used after hatching in the Plant Speciation model.
  • The Discrete Event Mousetrap has additions to the Extending the Model section.
  • When the bar is crowded in the El Farol model the patch label is now appropriately yellow.
  • An inaccurate comment in Small Worlds model was corrected.
  • Multi-line code input widgets were enabled for PNoM 2 Diffusion Sensor Sandbox. Previously single line widgets were incorrectly used.
  • The Radical Polymerization model was updated to fix a bug in which Km was used instead of Kr for probability of termination.

Version 6.4.0 (November 2023)

A major change in this release the introduction of new features in BehaviorSpace

BehaviorSpace New Features

  • A new syntax that allows parameter combinations to be run separately, rather than being expanded combinatorically.
  • Measurements can be conditionally recorded when a boolean reporter is true.
  • Commands can be run before the experiment begins.
  • Commands can be run after the experiment ends.
  • The mean and standard deviation of data from repetitions can be output to a file.
  • List data can be output to a file with one list element per cell.
  • Experiments can now be paused and resumed.
  • Experiments can now be exported to an XML file that can be used when running headlessly.
  • Experiments in an XML file can now be imported into a model.
  • There is a reduction in memory usage for experiments containing plots when Update plots and monitors is unchecked in the Run options dialog.

Language Changes

The let and set primitives now support taking a list of variable names as the first argument and will assign values to those variables from a list of values given as the second argument. This is useful in many situations, but especially when you want to have a reporter procedure calculate and report multiple values to be used elsewhere.

A new reporter primitive has been added, who-are-not. It takes an agentset as a lefthand side argument and an agent or another agentset as a righthand side argument and reports all agents in the former who are not in the latter. For example: let strangers turtles who-are-not link-neighbors.

Bug Fixes and Changes

  • The save dialog will no longer appear when clicking the close button on an already-saved includes file code tab.
  • When an includes code file is edited, compiled, and closed without saving, the model will correctly re-compile without the unsaved change.
  • When extensions are updated through the extensions manager, existing files and libraries for them will be removed so conflicts between versions cannot occur.
  • An error will no longer occur when opening a NetLogo model stored in the user’s home directory due to the extension locating code trying to search restricted folders.
  • Plotting now uses its own RNG that is cloned from the main RNG and updated when the main RNG changes. This means if plotting is enabled, it will be reproducible from the main RNG, but if plotting is disabled the behavior of the model will not change when using the same main RNG seed.
  • A failed compile of a string as a command with run could cause the same string to fail to run as a reporter using runresult later.
  • Patch colors can now be set to RGBA values with an alpha channel, the alpha channel is just ignored as there is nothing “behind” patches. Previously this would cause an error to occur.
  • Users can add symbolic links to their models library folders to point to other directories to have those models available for loading in the app. This had worked in a prior version of NetLogo, but was accidentally disabled with other bugfixes.
  • The link-neighbor? boolean reporter has had some small optimizations done to improve performance.
  • Agent labels now support linebreaks.
  • Errors that happen when NetLogo is starting but before the full interface appears should now be caught and displayed in a simple dialog. Previously to see such errors NetLogo would have to be started from a command line console.
  • The default maximum memory usage for NetLogo is now set to 50% of system memory instead of a static limit of 1 gigabyte. For systems with greater than 2 gigabytes of memory this should give improved performance and reduce the chance of getting out of memory errors during model runs.
  • When the extension manager is disabled via the Java environment property, no data will be fetched over the network. Previously the current extension listing would be fetched even though using the list in the manager was disabled.
  • The <breed>-at primitive now works properly in 3D. Previously it would function as the 2D version, only getting agents with z-coordinate of 0.

BehaviorSpace Bug fixes and changes

  • 3D BehaviorSpace runs are now allowed.
  • BehaviorSpace no longer exits when there is a plot compilation error.
  • Error messages for BehaviorSpace variable errors have been improved.
  • BehaviorSpace output files no longer contain trailing spaces.
  • Headless console mode now has a --help flag.
  • The Experiment dialog makes use of tooltips and has a cleaner look.
  • Changes will not be saved if the close/X button of the Experiment dialog is hit.
  • The number of threads in the Run options dialog is now saved.
  • Experiments will not run if the close/X button of the Run options dialog is hit.

Extension Updates

  • The Bitmap extension now supports reading images from base64-encoded strings and writing images out to base64-encoded strings.
  • The GIS extension has a couple of bug fixes: 1) its string-based search of features could include too many items, and 2) the code for creating turtles inside a polygon was executed for existing turtles outside that polygon.

Documentation Updates

  • The logical operator precedence for and and or is clarified in the docs as not exactly matching how other programming languages function.
  • Clarify that mouse-inside? only works when the mouse is in the world, not only in the view, which can happen with unwrapped worlds and use of the follow primitive.
  • Removed the -> variable, a leftover from the switch from the old anonymous task syntax.
  • Clarify that an extension must be installed for the extensions keyword to take effect.

Models Library Changes

New Sample Models:

  • Food Reward Learning
  • Current in a Semiconductor
  • Radical Polymerization with Chains
  • Food Reward Learning
  • Baldwin Effect

Sample Model Changes

  • Fixed a minor issue in the Monte Carlo Lennard-Jones model.
  • Renamed Prisoner’s Dilemma models from “PD” to “Prisoner’s Dilemma” and clarified that “confess” means “defect” in the info tab.
  • Polymer dynamics model info tab was edited to indicate that this is not strictly speaking a cellular automata.
  • Wolf Sheep Predation was updated to include BehaviorSpace experiments that use the new BehaviorSpace features.
  • Anisogomy model was updated and improved.

Version 6.3.0 (September 2022)

Bug Fixes and Changes

  • The major change in this release is the upgrade of the bundled Java from version 8 to 17. Java 17 is the current long-term-support release of the Java runtime.
  • The models library will correctly display when NetLogo is set to a language other than English.
  • The log4j library has been removed from NetLogo. Logging is now configured from the NetLogo preferences dialog. The output is in JSON text file format. See the Logging docs for more information.
  • BehaviorSpace experiments can now also be run from a terminal or command console using the “NetLogo_Console” app with NetLogo’s bundled Java by using the --headless flag. See the BehaviorSpace documentation for more information and examples. This avoids the need to install and configure a separate Java runtime to use the netlogo-headless.sh script, which remains bundled for those who require it.
  • BehaviorSpace output files are now chosen directly during run setup instead of separate prompts at the run start. This simplifies the setup process and resolves a bug where the runs would not occur on macOS.
  • The System Dynamics Modeler UI has some small improvements.
  • Fixed a bug where slider widgets would allow initial values outside of their range when changing the limits.
  • Better handle asymptotic values for tan with a proper error message.
  • NetLogo will now correctly handle running map or foreach when no lists are given.
  • When an anonymous task that uses let variables is displayed as a string it will now include those variable names.
  • Reporters used in concise task syntax no longer give the wrong result when used with fewer arguments than their default.
  • The models library location will be correctly set when using GUI scripts.
  • Behaviorsearch now sets a flag to alert extensions that they are being run without a UI so that extension code can adjust appropriately.

Extension Updates

  • GoGo: Improve newer GoGo board compatibility and improve the stability of the extension.
  • LevelSpace: Eliminate crashes when the controlling API is used to run NetLogo without a UI.
  • Profiler: The profiler:data results are now given in milliseconds instead of nanoseconds, matching the other primitives in the extension.
  • Python: Improvements in how the extension searches for the Python binaries when they aren’t specified via the configuration menu.
  • Vid: Update backing libraries to try to improve stability and usability on macOS and Windows.

Documentation Updates

  • Update the system requirements to include Windows 11.
  • Fixed a bad link to the extension API version 5 to 6 transition guide.
  • Added a FAQ entry on how to save random seeds from runs.

Models Library Changes

New Sample Models:

  • Slime Mold Network
  • Virus Using Discrete Event Simulator (cross-listed in code examples for time extension)
  • Distribution Center Discrete Event Simulator (cross-listed in code examples for time extension)
  • CA 1D-Squaring
  • Hydrogen Gas Production
  • Molecular Dynamics Lennard-Jones

New Curricular Models:

  • CT-STEM:
    • Habitat Preference

New Code Examples:

  • time: Logotimes Example
  • time: Discrete Event Whack-a-Mole

Sample Model Changes

  • Taxi Cabs: Fixed Dongping Zhang’s name in the credits.
  • Turbulence: Cross-listed under CS/CA.
  • Tree Simple: Changed init-x slider min/max to -100/100. Before the range was -125/125, which caused an error.
  • Traffic Basic: Changed speed-limit and speed-min from agent variables to be globals.
  • Urban Suite - Cells: Renamed the go * 80 button to go * 40, reflecting its actual effect.
  • CA 1D Rule 30 - Improved the info tab to explain how Rule 30 has been used as random number generator.

Curricular Models Changes:

  • PNoM 4 Virtual Syringe Force Graph: fixed a bug that produced an error message.
  • Kidney Reabsorption: Some improvements to the info tab.

Newly Verified Models

  • The suite of prisoner’s dilemma models have been in the models library for a long time but were previously “unverified.” They have been reviewed/verified and moved into the main Social Science folder.

Version 6.2.2 (December 2021)

Fixes and Changes

  • When Agent Inspector window opens put focus in Command Line.
  • When enter macOS full screen mode move inspector windows to foreground.
  • Properly export models to HTML with the Save As NetLogo Web… option.
  • Fixed a bug where preview images would not generate correctly for models that imported background images on setup. This affected a couple of library models: Robotic Factory and Bug Hunt Camouflage.
  • Added an explanation about Extension Sample Models to the models library info screen, and now those models will be listed as unverified.
  • Fixed a small typo in the FAQ for the path to the NetLogo.cfg file on macOS systems.
  • Add a profiler:data primitive to the Profiler extension that returns all the profiler data as a list of lists suitable for passing to the CSV extension for output to a file.
  • Fixed bug preventing typing into Command Line of first Agent Inspector window opened.
  • Fixed bug causing Agent Inspector windows to appear behind NetLogo window when there is an overlap.
  • Improved documentation of Fullscreen mode for the 3D view.
  • Restored hotkeys for Comment / Uncomment, Shift Left, Shift Right, Jump To Declaration, and Show Usage for separate code tab.
  • Added documentation for Jump To Declaration and Show Usage.
  • Clarified what the BehaviorSpace Table and Spreadsheet output format options do.

Version 6.2.1 (October 2021)

Features and Changes

  • Agent monitor inspection windows can now move across monitors
  • Improved error message on BehaviorSpace file access failures
  • Use a common error message for turtle-set, patch-set, and link-set
  • Use same font for input widgets as choosers/sliders/buttons
  • Select the search text on models library dialog open for easy replacement on a new search
  • Automatically add the png extension when exporting the world view
  • Added a preference to have NetLogo automatically load the last used model on startup
  • The “mammoth” shape is available in the shapes library for easy import into models
  • Substantial GIS extension improvements and new primitives, see the GIS extension changelog for more information
  • Substantial Palette extension improvements and new primitives, see the Palette extension docs for more information

Documentation Updates

  • Add a note about transparent colors to the color dictionary entry
  • Documentation for inspect and stop-inspecting now includes links
  • Make sure https links in standalone dictionary entries work correctly
  • Make the BehaviorSpace command-line examples use real models from the library with experiments that can be run without modification
  • Link to the new Beginner’s Interactive NetLogo Dictionary site from the help menu (BIND)

Bugfixes

  • Shape changes in 3D mode will take effect without a restart
  • Runtime exceptions with wrong argument types properly generate stack traces
  • When sort-on receives input values that are not all numbers, all strings, or all agents of the same type, a user-friendly error message is generated
  • Breeded links are properly checked for equality
  • exp now errors when it generates an invalid, out-of-range number result
  • A proper “file not found” error will be given when a model in the recent files list was deleted or moved and cannot be located
  • Bundled extensions updated through the extensions manager can have those updates uninstalled through it, too, just like unbundled extensions
  • Properly add the nlogo file extension when saving a model with a filename that contains dots
  • When a runtime error occurs, NetLogo will show the location in the code tab, as it did in prior versions
  • Detached code tab stays in front when model is saved
  • Mathematica-Link: Clear up some issues with the tutorial being out-of-date
  • Extension: View2.5d shape change bugfixes
  • Extension: LevelSpace bugfixes for running GUI-mode models headlessly

Models Library Changes

All external URLs in models’ INFO tabs were validated resulting in URL updates to 15 models.

New Sample Models:

  • Limited Order Book
  • River Meanders
  • Robotic Factory
  • Taxi Cab

New Curricula Models:

  • CT-STEM:
    • Calorimetry

New Code Examples:

  • palette: Color Bubbles
  • palette: Color Painting
  • palette: Color Reveal

Sample Models

  • Brian’s Brain: Rewritten erasing function for NLW compatibility.
  • Crystallization Basic: Fixed issue where world size depended on height rather than width.
  • Geometron Top-Down: Promoted from unverified. Updated INTERFACE, INFO, and CODE tabs.
  • Kaleidoscope: Promoted from unverified. Updated INTERFACE, INFO, and CODE tabs.
  • Lattice Gas Automaton: Mouse movement moved to a forever button for NLW compatibility.
  • Life: Rewritten erasing function for NLW compatibility.
  • Life Turtle-Based: Rewritten erasing function for NLW compatibility
  • N-Bodies: Rewritten mouse handling routine for NLW compatibility.
  • Planarity: Updated for NLW full compatibility
  • Small Worlds: Fixed bug with clustering coefficient being undefined for single-link.
  • Sunflower Biomorphs: Rewritten mouse handling routine for NLW compatibility
  • Surface Walking 2D: Mouse movement moved to forever button for NLW compatibility.
  • PANDA BEAR Solo: Mouse movement rewritten for NLW compatibility.

Code Examples

  • gis – GIS General Examples: Rewritten to take advantage of new primitives released in gis v1.3.0.
  • palette – Palette Example: Rewritten to take advantage of new primitives release in palette v2.0.0.

Version 6.2.0 (December 2020)

Features

A premier feature for this release is a pop-out code tab, that allows you to detach the code tab from the main application and into a separate window in order to view the interface and the model code side-by-side.

  • The models library now shows code examples that come with extensions installed through the extensions manager.
  • We now bundle the Liberica OpenJDK Java runtime instead of the Oracle Java runtime, which has a less restrictive license.
  • The mean primitive will now work on lists that contain non-numbers as other number processing primitives do.
  • The extensions manager can be disabled with a command-line switch to avoid network traffic or to lock down installed extensions.

Bugfixes

  • We’ve made changes to how we bundle NetLogo on macOS in order to satisfy Apple’s package notarization process for detecting malware. NetLogo now runs without any special workarounds, as long as your macOS settings allow running software from identified developers.
  • When first opening a model and installing a new extension for it through the extensions manager prompt, the model widgets would not be usable until the model’s code was recompiled. Now the model will be ready to use right after the extension is installed.
  • When using in-cone on wrapped worlds, occasionally turtles at the very edge of the wrapped cone would be missing from the results.
  • When using in-radius on a patch to get nearby turtles, sometimes turtles at the edge of the radius would be missing from the results.
  • The performance of a turtle lookup by breed and who-number, like sheep 10, could take an unreasonable amount of time.
  • Models with a large amount of code (5000+ lines) would take a very long time to check and compile.

Logging Improvements

  • Logging can now be enabled and a configuration file chosen through the NetLogo preferences menu. The logging standalone application is no longer necessary, so it has been removed.
  • The command line switch to set the logging directory would previously be ignored.
  • Users now get a chance to add a comment to the log when they get a compiler error.

NetLogo 3D Bugfixes

  • The in-radius and in-cone primitives could give incorrect results, omitting some agents in rare cases.
  • When hatching turtles the z-coordinates would sometimes not be copied from the parent turtle.
  • The font size value for the world view would be ignored.
  • When using with with patches, the results could include only patches with a zero z-coordinate.
  • NetLogo 3D should run more reliably on Linux systems.

Extension Changes

  • The Time extension is now bundled with NetLogo. This extension lets you work with real-world dates and times in your model, and includes an event scheduler for triggering events at points in time. It also includes an NLS library file you can add to your model to handle time series reading from CSV files. See the Time extension docs for more information.
  • The View2.5D extension has been significantly upgraded. Turtle stem color can be set by a reporter. Links are now visible in the 2.5D window. They can be visualized either going from turtle to turtle (the default) or in the xy-plane. The choice can be made using radio buttons or through new commands
  • LevelSpace now always runs hidden models at full speed and should give better error messages when errors occur when loading a model.
  • The Network (NW) extension will not add extra whitespace when using nw:save-matrix.
  • The Python extension gives better error messages when the paths to the Python executables are incorrect.

Documentation Changes

  • Tutorial #1 referenced an older version of the Wolf Sheep Predation model.
  • Added a couple more common problems to look out for in the BehaviorSpace guide.
  • Clarify the version of NetLogo Web used to export models as HTML files.
  • Clarify that the auto scale feature for plots does not scale the X axis when used with histogram.
  • Clarify the location of the NetLogo.cfg files on each operating system.
  • Update steps to take for common issues opening on macOS, added an alert about known issues to the download page.
  • The docs for ifelse had some incorrect argument names.
  • Add info about the Pioneer Award for the View 2.5D extension.

Model Changes

New Sample Models:

  • Dislocation Motion and Deformation
  • Repressilator 1D
  • Sex Ratio Equilibrium

New Curricular Models:

  • CT-STEM (for more information, visit ct-stem.northwestern.edu):
    • Free Fall
    • Habitat Preference Behavior
    • Hardy Weinberg Equilibrium
    • Kidney Absorption
    • Mendelian Inheritance
    • Natural Selection - Camouflage
    • Pendulum
    • 1D Motion Maps

New Code Examples:

  • Extension Examples
    • time Extension - Discrete Event Mousetrap
    • view2.5d Extension - 2.5d Turtle View Example

Sample Model Updates:

  • Anisogamy: INTERFACE re-design, expanded INFO tab, and refactored CODE. Now includes additional BehaviorSpace experiments.
  • Autumn: Minor updates to INFO tab.
  • Bug Hunt Speeds: Minor updates to INFO tab.
  • Fire: Minor updates to INFO tab.
  • Fur: Minor updates to INFO tab.
  • Grand Canyon: Minor updates to INFO tab.
  • Lightning: Minor updates to INFO tab.
  • Moths: Minor updates to INFO tab.
  • Particle System Basic: Minor updates to INFO tab.
  • Paths: Minor updates to INFO tab.
  • Shuffle Board: Minor updates to INFO tab.
  • Small Worlds: The INTERFACE tab has been overhauled to make the model easier to use. The INFO tab has been rewritten to be more clear and concise. The CODE tab has been restyled and now uses curved link shapes for neighbors’ neighbor links.
  • Team Assembly: Minor updates to INFO tab.
  • Tumor: Additional credits and references added.
  • Wealth Distribution: Got rid of one line of CODE that didn’t do anything.

Our Chemistry & Physics folder now contains enough examples that can be classified as “Materials Science” that they deserve their own folder. This means a number of models have been physically moved into this new sub-folder of Chemistry and Physics:

  • Solid Diffusion
  • Polymer Dynamics
  • Lennard-Jones
  • Dislocation Motion and Deformation
  • Crystallization Models

Also in this folder are the MaterialSim models. They have been physically moved to the Curricular Models folder, but will be cross-referenced in Chemistry & Physics/Materials Science.

Alternative Visualization Updates:

  • Heat Diffusion - Alternative Visualization: Minor INFO tab updates.

Curricular Model Updates:

  • BEAGLE Evolution
    • Altruism: Minor INFO tab updates.
    • Cooperation: Minor INFO tab updates.
    • Divide the Cake: Promoted from Unverified after updates to CODE and INFO.
    • Guppy Spots HubNet: Promoted from Unverified after updates to CODE and INFO.
  • Chemical Equilibrium: Fix plot and monitor bug that incorrectly counted pink molecules.
  • EACH (now appears as a sub-directory of the “BEAGLE Evolution” directory)

Note, the above BEAGLE models have now been physically moved into the Curricular Models/BEAGLE Evolution/ folder. In the Models Library browser, they will appear cross-referenced in the usual places.

Code Examples Updates:

  • view2.5d Extension - 2.5d Patch View Example: Fixed issue with perspective not being updated on setup.
  • gogo Extension - GoGoMonitor: Minor INFO tab updates.

HubNet Activities Updates:

All HubNet models now include a citation for the HubNet software and their web links have been updated. This resulted in a change to 37 models in total.

IABM Model Updates:

  • Arduino Example: Minor INFO tab updates.
  • Heroes and Cowards: Minor INFO tab updates.
  • Simple Economy: Updated INFO tab and now listed as a Sample Model under the “Economics” folder.

Fixed inconsistent bracket styling across IABM Textbook models. This resulted in changes to 12 models.

  • Turtles Circling Simple
  • Life Simple
  • Wolf Sheep Simple 1
  • Wolf Sheep Simple 2
  • Wolf Sheep Simple 3
  • Wolf Sheep Simple 4
  • Wolf Sheep Simple 5
  • Agentset Efficiency
  • Voting Analysis
  • Simple Machine Learning
  • Simple Viral Marketing

Version 6.1.1 (September 2019)

Bugfixes

  • The remove-duplicates primitive will now operate properly on lists of agentsets, considering agentsets duplicates if they contain exactly the same agents.
  • Many fixes to the in-radius primitive, which could report incorrect values when used with a radius that’s a large percentage of an unwrapped world width or cause runtime errors when world sizes changed or when the radius wrapped around the world back to itself.
  • Corrected issues with code tab compile errors causing unexpected behavior or runtime errors in the interface tab, especially when a model had breeded links.
  • You can now use the same let variable name in different command blocks inside a procedure.
  • The netlogo-headless.sh scripts for macOS and Linux had issues with running the 3D command switch and properly wrapping the Java executable in quotes in case it contains spaces.

Features

  • Runtime speed optimizations when using the count primitive on turtle or link agentsets with a comparison operator like > or =.

Extension Changes

  • The Python extension on Windows will no longer give permissions errors when trying to create it’s config file, moved the file to a per-user directory.
  • The Python extension will no longer produce a confusing deprecation warning when used with Python 3.7.
  • Moved the storage location for the R extension config files to a per-user directory and updated documentation around getting it working. This issue mostly affected Windows users.
  • The Mathematica-Link add-on now works correctly with NetLogo 6.1.0 and 6.1.1.

Documentation Changes

  • Clarified the file location search order for extensions with the new extension manager.
  • Standardized the language used in the conditional primitives (if, ifelse, ifelse-value) and the boolean operators (and, not, or, xor).
  • Use correct arrow syntax in the ifelse-value code example.
  • Added notes to ifelse and ifelse-value that the multi-conditional behavior was newly added in version 6.1.

Model Changes

New Sample Models:

  • CRISPR Models
    1. CRISPR Bacterium
    2. CRISPR Bacterium LevelSpace
    3. CRISPR Ecosystem
    4. CRISPR Ecosystem LevelSpace
  • Fruit Wars Model

Sample Model Updates:

  • Ant Adaptation: Minor Info tab updates.

Curricular Model Updates:

  • PNoM Models: Minor Info tab updates.

Version 6.1.0 (May 2019)

Feature Changes

The premier feature for this release is an Extension Manager for installing and updating extensions, which is available under the Tools menu. Using extensions with NetLogo could be a painful process: manually finding them, downloading them, and getting them correctly installed in the NetLogo application. The extensions manager addresses these issues by automating the installation of many 3rd-party extensions, and the updating of the bundled extensions between NetLogo releases. All done easily from within the application. In fact, if you open a model that requires an extension you don’t have installed that it knows about, the Extension Manager will ask if you’d like to download and install it right on the spot, without any extra effort

We welcome external contributions to the extensions library! If you have developed a NetLogo extension and want to make it available to NetLogo users in the Extension Manager, see these instructions: https://github.com/NetLogo/NetLogo-Libraries#submitting-pull-requests

Other new features include:

  • The primitives ifelse and ifelse-value now take a varying number of clauses, making selecting a single case from a variety of options much simpler.
  • Added a new primitive, up-to-n-of, which gives as many items from a list as possible up to some limit, without causing an error if it cannot get all of them. Previously, to safely use n-of when you were unsure of the number of agents in an agentset would require some verbose code like ask n-of (ifelse-value (count turtles-here < 10) [count turtles-here] [10]) turtles-here [ fd 10 ], but now you can simple write ask up-to-n-of turtles-here [ fd 10 ] to get the same effect.
  • Added new hotkeys: Command-U for “Show Usage” of a term, Command-E for “Jump to Declaration” of a procedure, and Command-Option-S for “Save All” when using included NetLogo code files. Or Ctrl-U, Ctrl-E, Ctrl-Alt-S for Windows and Linux users.
  • Multiline input widgets are now directly editable on the interface tab.
  • Runtime optimizations for the in-radius and in-cone primitives.

Bugfixes

  • When a model that has a compile-time error is saved, its sliders will not reset their values to 0 when it is reloaded.
  • The procedures search dropdown on the Code tab gives better results with inexact search terms.
  • Plot pen names with quotes in them are properly stored and loaded.
  • Plot pen names are now case-insensitive, just like other items in NetLogo.
  • When a plot is deleted and the action is undone, the plot continues to work afterward.
  • 2D NetLogo models saved in NetLogo 3D can be opened back into 3D, or de-converted by re-opening in NetLogo 2D.
  • Widgets can no longer be re-sized to be completely outside the interface tab.
  • Code comments can be used as normal within an __includes keyword file list.
  • The error message for getting the mean of an empty list should now make more sense.
  • Double-clicking an empty experiment list in BehaviorSpace will not cause an error.
  • BehaviorSpace experiments are better about warning when there are astronomical numbers of run combinations.
  • Anonymous procedures can be given in the conditional reporter blocks of ifelse-value.
  • Slight changes to how color values are calculated, for smoother interoperability with NetLogo Web.

Extension Changes

  • The Python extension, py, is now bundled with NetLogo. If you have Python installed on your computer, you can use it from inside a NetLogo model.
  • The Control Flow extension, cf, has been removed from NetLogo in favor of the new variadic ifelse and ifelse-value behavior. The cf extension is still available from the extensions library if needed for any existing models.
  • The CSV extension, csv, had some minor documentation updates.
  • The GoGo board extension, gogo, should work more reliably on Windows 10.
  • The Network extension, nw, now loads data in a predictable order when imported, and it correctly handles preferential attachment.
  • The Table extension, table, had some minor documentation updates.
  • The View 2.5D extension, view2.5d, now does not throw an error when trying to use a turtle-based view.

Documentation Changes

  • Added documentation around using primitives like mean and variance along with agentsets producing slightly different results due to floating point arithmetic.
  • Add an extension authoring introduction page with links to the technical documentation.
  • Clarify what clear-ticks is meant to do.
  • Clarify that clear-globals doesn’t affect interface globals.
  • Fixed various formatting errors and typos.

Model Changes

New Sample Models:

  • Ant Adaptation
  • Braess’ Paradox

New Code Examples:

  • py Extension
    • Python Basic Example
    • Python Flocking Clusters

New Curricular models:

  • PNoM Curriculum
    • PNoM 1 Diffusion Sandbox
    • PNoM 2 Diffusion Sensor Sandbox
    • PNoM 3 Virtual Syringe
    • PNoM 4 Virtual Syringe Force Graph
    • PNoM 5 Virtual Syringe Temperature Graph
    • PNoM 6 Particle Sandbox Gravity
    • PNoM 7 Particle Sandbox Intermolecular

Sample Model Updates:

  • Acids & Bases Models: Dissociations now result in random headings for resulting particles.
  • Mandelbrot: Exposed max-iterations parameter and updated Info Tab.
  • Peppered Moths: Increase size of moth agents.
  • Perceptron: Fix weight visualization bug.
  • Raindrops3D: Remove unused procedure.
  • Reactor X-Section: Fix typo and extend manual rod depth.
  • Rock Paper Scissors: Minor Info tab updates.
  • Sandpile: Minor Info tab updates.
  • Simple Kinetics 1,2: Dissociations now result in random headings for resulting particles.
  • SmoothLife: Allows NLW compatibility by skipping some plot drawing.
  • Tumor: Prevent ask nobody bug when using
  • Wolf Sheep Predation: Fix typos in Code tab.

IABM Model Updates:

  • Segregation Simple Models (Simple & Extensions 1 - 3): Reworded comment in Code tab.

Code Example Updates:

  • LS Parent Example: Change button display name to avoid confusion with setup button.
  • Mouse Drag Multiple Example: The model has been rewritten to be NLW compatible.
  • Mouse Drag One Example: The model has been updated to be NLW compatible

We’ve introduced a new subfolder in the Sample Models/Social Science folder: “Economics”. With this new folder, several models have been moved. The following models are now in the Social Science/Economics folder:

  • Bidding Market
  • Hotelling’s Law
  • Oil Cartel HubNet
  • Sugarscape
  • Bank Reserves
  • Cash Flow
  • Wealth Distribution

With the introduction of the new variadic ifelse and ifelse-value primitives, the Models Library has been updated to reflect this new functionality. These updates are divided into three major sections:

  • Add parens to ifelse-value expressions that are arguments of infix operator.
  • Remove unnecessary parentheses from ifelse-value invocations for models that use ifelse-value with a simple infix conditional: >, <, <=, >=, and =. This results in changes to the following models.
  • Remove now unnecessary parens from calls to ifelse-value with more complex conditionals.

And here are the models affected by these changes:

  • Code Examples:
    • Beatbox
    • HSB and RGB Example
    • NW General Examples
  • Curricular Models:
    • BEAGLE: DNA Protein Synthesis, DNA Replication Fork
    • GenEvo 1 Genetic Switch
    • Lattice Land - Explore
    • ModelSim: Bacteria Food Hunt
    • NIELS: Current in a Wire HubNet
    • ProbLab: 4 Blocks, 4 Block Stalagmites, 4 Block Two Stalagmites, Histo Blocks
  • HubNet Activities:
    • Minority Game HubNet
    • Predator Prey Game HubNet
    • Prisoners Dilemma HubNet
    • Root Beer Game HubNet
  • IABM Textbook:
    • Traffic Basic Adaptive Individuals
  • Sample Models:
    • Artificial Neural Net - Multilayer
    • Artificial Neural Net - Perceptron
    • Bidding Market
    • Blood Sugar Regulation
    • DLA Alternate Linear
    • DLA Alternate
    • Echo
    • Hotelling’s Law
    • Language Change
    • Minority Game
    • Robby the Robot
    • Signaling Game
    • Simple Genetic Algorithm
    • Tabonuco Yagrumo
    • Tabonuco Yagrumo Hybrid
    • Traffic 2 Lanes
    • Vision Evolution

Version 6.0.4 (June 2018)

Feature Changes

  • NetLogo now supports the Portuguese language.
  • BehaviorSpace allows optionally disabling plots and the view when running experiments.

Bugfixes

  • Updated the bundled Java 8, which should resolve an issue with NetLogo failing to start on Windows computers.
  • Fixed a bug with the nw extension preferential attachment generation and initialization.
  • Fixed a numerical error with the range primitive.
  • Fixed a bug with link lookup when using more than two link breeds.
  • Comment and uncomment code hotkeys should work with NetLogo include source files.
  • Added a better error message when a web browser couldn’t be launched for any reason.

Documentation Changes

  • Document that resize-world only kills all turtles when coordinates really change.

Model Changes

New Curricular Models

  • Mind the Gap Curriculum
    • MTG 1 Equal Opportunities HubNet
    • MTG 2 Random Assignment HubNet
    • MTG 3 Feedback Loop HubNet

Revised Sample Models

  • Blood Sugar Regulation: Updated statistical sampling procedures
  • Flocking: Changed default vision to 5.0 patches
  • Rumor Mill: Fixed a minor bug with the spread statistics in early ticks

Revised Code Examples

  • Flocking (Perspective Demo): Changed default vision to 5.0 patches

Revised Curricular Models

  • GenEvo - GenEvo 1: Fixed save screenshot bug on Windows machines
  • GenEvo - GenEvo 2: Fixed save screenshot bug on Windows machines
  • GenEvo - GenEvo 3: Fixed save screenshot bug on Windows machines

Revised Alternative Visualizations

  • Flocking (Alternative Visualizations): Changed default vision to 5.0 patches

Version 6.0.3 (March 2018)

Feature Changes

  • Improve the look & feel of Agent Monitor windows.
  • The procedures menu in the code tab now has a search field and actively filters procedure names as the user types. This should improve navigation speed for large models with lots of procedures. There is also now a hotkey to access this menu: Ctrl-G on Windows and Linux, and Cmd-G on MacOS.
  • Increase the speed of the diffusion primitive and make the diffusion operation symmetric.
  • NetLogo enforces that plot names are unique and that pen names are per-plot unique without taking capitalization into account. This avoids certain cases where set-current-plot and set-current-plot-pen primitives would set the plot or pen to something different than the user intended because names differed in capitalization only.
  • Models with existing plots and pens which have the same name without taking capitalization into account will be automatically converted on first open in 6.0.3.
  • We are planning on adding the ability to have multiple conditional branches to ifelse and ifelse-value. However, as this is a fairly substantial change to the core language, we have implemented it in the cf extension for testing.

Documentation Changes

  • Add a table to the Output section of the Programming Guide specifying how the various output primitives differ in whether they print the calling agent, whether they print a newline, and whether they can be read back into NetLogo.

Bugfixes

  • Anonymous procedures appearing inside ask blocks inside repeat blocks now close over unique copies of let-variables introduced in the repeat block.
  • Fix a longstanding HubNet bug in which HubNet would sometimes crash as a large number of users joined.
  • Fix HubNet discovery when the HubNet server is run on a Mac.
  • When switching from the code tab to the interface tab, the cursor switches to the command center. This prevents typed commands or copy/paste keyboard shortcuts from affecting the code tab.
  • Turtles draw trails when moving backwards (regression in NetLogo 6.0.1).
  • Smooth Code Tab scrolling.
  • BehaviorSpace now only applies standard CSV string escaping (doubling of double quotes) to string outputs in result files. It used to apply NetLogo style string escaping (backslashes in front of special characters) and then apply CSV escaping on top of that. The new behavior is consistent with the RFC 4180 specification and the current behavior of the csv extension.
  • The Behaviorspace dialog appears centered in the NetLogo window.
  • Due to changes introduced in Java, certain dialogs in NetLogo 6.0.1 would appear under the dialog that created them instead of on top. These dialogs now appear on top of the dialog that created them.
  • Non-code changes to the System Dynamics modeler are pulled in on every recompile (prior to this, changes like newly-disconnected flows were sometimes not taken into account on recompiles).
  • The system dynamics code tab adjusts itself to match the size of the system dynamics window.
  • NetLogo 3D loads and saves system dynamics.
  • Fixes an error raised in 3D when the world was cleared following setting a patch-color to an RGB list.
  • Miscellaneous small changes to the format of exported worlds. NetLogo 6.0.3 should be able to import worlds exported by older versions of NetLogo and older versions of NetLogo should be able to import worlds exported by NetLogo 6.0.3.
  • The “others” execute bit is set for the netlogo-headless.sh script in the Linux installer package.

Extension Changes

  • nw:generate-preferential-attachment accepts a min-degree parameter, specifying the number of links each new turtle preferentially creates to existing turtles.
  • The arduino extension (and the related sketch and model in the library) have been updated to allow the arduino to send strings back to NetLogo. Two new debug primitives have also been added to help troubleshoot interaction between NetLogo and the arduino.
  • The verbose cf extension conditional syntax as been replaced with straight-forward generalizations of the ifelse and ifelse-value primitives. The syntax is much simpler and these primitives run much faster than the old constructs.
  • The ls extension has much less overhead for calling out to single models, making constructs like ask turtles [ ls:ask my-model [ run-something ] ] much faster.
  • The ls extension now seeds the child model RNG based on the parent model RNG at model creation. Furthermore, and ls:random-seed primitive has been introduced, so an entire model system can be seeded simultaneously. This makes it possible to have reproducible runs when using LevelSpace.
  • The ls:let primitive now handles scoping properly.
  • ls:assign has been added to LevelSpace to make assigning globals of child models easier.

Documentation Changes

  • Clarify documentation around __includes by providing examples.
  • Fix a broken link in the dictionary.
  • Update the Windows unattended installation directions in the FAQ.

Model Changes

New Sample Models:

  • Bidding Market
  • Blood Sugar Regulation
  • Rock Paper Scissors
  • Vision Evolution

New Curricular Models

  • NIELS - Current in a Wire HubNet

New HubNet Activities:

  • Current in a Wire HubNet (same as above)

Revised Code Examples:

  • arduino Extension: The example model and sketch have been updated to reflect new features in the extension
  • sound Extension – Sound Workbench: Minor GUI updates
  • sound Extension – Percussion Workbench: Minor GUI updates
  • File Input Example: Fixed a bug in the save-patch-data template procedure
  • Lottery Example: Corrected Related Models from Preferential Attachment to the “Rnd” Example Model in the Info Tab
  • Info Tab Example: Corrected reference from pegdown to flexmark in the Info Tab

Revised Curricular Models:

  • BEAGLE Evolution - Fish Tank Genetic Drift: Update duplicate plot-pen names and resize plots
  • GenEvo - GenEvo 4: Replaced usage of cf:when with nested ifelses
  • Lattice Land - Lattice Land Explore: Fixed bug when deleting a segment that didn’t exist.
  • Lattice Land - Lattice Land Triangles Dissection: Fixed bug when deleting a segment that didn’t exist.
  • NIELS - Electrostatics: All turtles are now particles and each particle has a charge; Changed particle coloring; Updated Info Tab and some variable names to reflect later NIELS models
  • Urban Suite - Tijuana Bordertowns: Minor Info Tab updates.

Revised Sample Models:

  • Artificial Anasazi: Update broken URLs in Info Tab
  • Autumn: Update broken URLs in Info Tab
  • HIV: The “AIDS” model has been renamed to “HIV”†
  • Color Fractions: Removed direct reference to dead web page in Info Tab
  • Fairy Circles: Update URLs in Info Tab
  • Fur: Update broken URLs in Info Tab
  • Hex Cell Aggregation: Update broken URLs in Info Tab
  • Ising: Update broken URLs in Info Tab
  • Kicked Rotators: Update broken URLs in Info Tab
  • Language Change: Update URLs in Info Tab
  • Lennard-Jones: Added citation in the Info tab
  • Lightning: Update URLs in Info Tab.
  • L-System Fractals: Update broken URLs in Info Tab
  • Membrane Formation: Update broken URLs in Info Tab
  • Moth: Update URLs in Info Tab
  • Party: Fix incorrect comment on turtle headings.
  • PD Basic: Minor GUI updates
  • Segregation: Update broken URLs in Info Tab. Update color scheme for color blindness. Minor GUI updates. Minor Info Tab updates.
  • Sugarscape 1 Immediate Growback: Fixed “Wealth distribution” histogram bug (turtle with max sugar was not displayed)
  • Sugarscape 2 Constant Growback: Fixed “Wealth distribution” histogram bug (turtle with max sugar was not displayed)
  • Sugarscape 3 Wealth Distribution: Fixed “Wealth distribution” histogram bug (turtle with max sugar was not displayed)

Revised IABM Models:

  • Arduino Example: The example model and sketch have been updated to reflect new features in the extension (same as above)
  • Segregation Simple Extension 1: Update broken URLs in Info Tab
  • Segregation Simple Extension 2: Update broken URLs in Info Tab
  • Segregation Simple Extension 3: Update broken URLs in Info Tab
  • Segregation Simple: Update broken URLs in Info Tab

† - Models Updated to Correctly Reference the HIV Model

  • Alternative Visualizations
    • Virus - Alternative Visualization
    • Virus - Circle Visualization
  • Curricular Models
    • epiDEM Basic
    • epiDEM Travel and Control
  • IABM Models
    • Spread of Disease
  • Sample Models:
    • Disease Solo
    • Virus
    • Rumor Mill

Version 6.0.2 (August 2017)

Feature Changes

  • The autosuggest functionality introduced in NetLogo 6 will now display extension primitive names.
  • A new insert-item primitive was added to the language. It works similarly to replace-item, but without removing the item at the specified index.
  • A new set-plot-background-color primitive was added to the language. It can be used in plotting code to set the background color of the plot.
  • Behaviorsearch’s user interface has been updated. It now uses the JavaFX UI toolkit for a more modern look and feel.

Bugfixes

  • The 6.0.1 autoconverter would error when converting tasks with exactly one argument (from 5.3.1 and earlier models only). The conversion would be correct, but it was confusing. This has now been remedied and the autoconverter will correctly convert models from 5.3.1 and earlier without erroring on single-argument tasks.
  • Fix a bug where extensions weren’t located properly when in a path relative to the model.
  • Help browser now opens in 64-bit Windows.
  • Fix a speed regression for the import-world primitive introduced in 6.0.
  • If an unexpected reporter block is passed to with when used with other, the error will now reflect that the block is unsuitable for with instead of other.
  • When sort-by receives an unsuitable reporter block from the user it now shows a useful error instead of a cryptic stack trace.
  • String representations of anonymous procedures now show the arguments of those anonymous procedures
  • When working in an nls file, switching to a different tab will compile the nls file.
  • Display error label on nls file when the code it contains causes an error.
  • Some users were unable to open NetLogo 6 and 6.0.1 in Mac OS Sierra. We’ve changed our signing process in 6.0.2 to attempt to fix this problem. We are continuing to track this issue to determine whether our fix was effective. More information (including a partial workaround for the problem) is available here.

Extension Changes

  • Fixed a bug in gis:patch-dataset introduced in NetLogo 6.
  • The table extension has new table:group-agents and table:group-items primitives which can be used to build a table of grouped agents and items by supplying an anonymous reporter.

Documentation Changes

  • Clarify when various parts of the anonymous procedure syntax are optional.
  • Fix a few small documentation bugs around foreach.
  • Clarify relationship between speed and update modality in the “View Updates” section of the programming guide.

Model Changes

New Sample Models:

  • Chaos in a Box
  • Fairy Circles
  • SmoothLife

New Curricular Models:

  • Lattice Land Curriculum
    • Lattice Land - Triangles Explore
    • Lattice Land - Triangles Dissection

Revised Sample Models:

  • Anisogamy: New color scheme. Adds BehaviorSpace experiments.
  • Ethnocentrism: Now cross-listed as an Evolutionary model.
  • Fireworks: Rename fireworks to max-fireworks and enforce a minimum of 1.
  • GenJam - Duple: Minor info tab updates.
  • Wolf Sheep Predation: Revised to better clarify the grass? construct and code.

Revised Curricular Models:

  • Connected Chemistry:
    • Connected Chemistry 1: Fix NetLogo Web incompatibility.
    • Connected Chemistry 3: Update minimum number of particles to 2.
    • Connected Chemistry 8: Minor code updates. Small change to default values.

Revised HubNet Activities:

  • Gridlock HubNet: Minor code updates.

Revised Code Examples:

  • Info Tab Example: Corrected formatting of un/ordered lists example.
  • LS Extension — Model Visualizer and Plotter Example: Updated code dependencies for WSP.
  • LS Extension — Model Interactions Example: Updated code dependencies for WSP.

Version 6.0.1 (March 2017)

Feature Changes

  • Brackets are required around anonymous procedure reporters only when there are two or more arguments. For instance [ [x] -> x ] can now be written [ x -> x ]. Note this change makes it possible to create models in NetLogo 6.0.1 that will not run in NetLogo 6.0. If you plan to use your model in NetLogo 6.0, be sure to include brackets around anonymous procedure arguments. For a short period after the release, models which use unbracketed lambda arguments may not work on netlogoweb.org.

Bugfixes

  • The NetLogo code editor navigates and indents models much more quickly and efficiently than in NetLogo 6.0.
  • The NetLogo 5-to-6 autoconverter now ignores commented-out code.
  • The behavior of layout-radial in NetLogo 6 did not match the 5.3.1 behavior. This has been corrected and layout-radial should be identical between NetLogo 6.0.1 and NetLogo 5.3.1
  • NetLogo 6 raised a NullPointerException when numbers became too large for NetLogo to handle. This is now properly displayed to the user as a number out of bounds error.
  • Improved performance of models which use let and anonymous procedures together.
  • Reloading a model now clears global variables.
  • Clearer warning dialogs when opening an older version of a NetLogo 2D file in NetLogo 3D.
  • Using foreach improperly in the Command Center will display the same error as it would if used improperly in the code tab.
  • Extremely long anonymous procedures no longer cause an exception when compiled.
  • in-radius is no longer pathologically slow on agentsets created using with.

Extension Changes

  • A new primitive, table:values has been added to the table extension.
  • The R extension has been updated to take full advantage of the JavaGD R library using r:setPlotDevice.
  • Users can now supply a path to the R extension by configuring the value of r.lib.paths in the user.properties file.
  • Fixed a LevelSpace bug preventing interactive models from using nls files.
  • Fixed a LevelSpace bug causing NetLogo to lock up when trying to load a nonexistent file as an interactive model.

Documentation Changes

  • The system dynamics tutorial now instructs the user to set the dt to a value which gives stable behavior
  • The documentation for follow, ride, and watch has been clarified to indicate that calling one undoes highlights and perspective changes caused by the other
  • The documentation for = and != indicates that they work with extension objects.
  • Several examples have been added to sort clarifying the behavior of sort on lists featuring different types of objects.
  • A new section on User Interface primitives has been added to the programming guide which discusses the behavior of the “Halt” button in the various user interaction dialogs.
  • Incorrect example code for foreach and reduce has been corrected.

Models

All models have been updated to reflect the new optional nature of brackets for zero/one argument anonymous procedures. This resulted in changes to 108 models.

All models have been updated to reflect the availability of the new range primitive. This resulted in changes to 12 models.

New Sample Model

  • GenJam - Duple

New Curricular Model

  • Lattice Land curriculum:
    • Lattice Land Explore

Revised Sample Models

  • PD 2 Person Iterated: info tab updates and extensive fixes for the code.
  • Party: fixed bug where a monitor covered a plot.
  • Signaling Game: info tab updates.

Revised Curricular Models

  • GenEvo curriculum:
    • GenEvo 1 Genetic Switch: info tab updates and new graduated method of displaying lacZ concentration.
    • GenEvo 2 Genetic Drift: info tab updates and interface tweaks. New model preview.
    • GenEvo 3 Genetic Drift and Natural Selection: info tab updates and interface tweaks.
    • GenEvo 4 Competition: info tab updates.
    • Genetic Switch - Synthetic Biology has been renamed and is now Synthetic Biology - Genetic Switch. It also received info tab updates and a few interface changes.

Version 6.0 (December 2016)

Feature Changes

  • The NetLogo code editor now offers autocompletion support. Simply press the Control key and the spacebar at the same time while typing a word and you will see a list of similar NetLogo primitives as suggestions.
  • The NetLogo code editor offers the option to “fold” procedures to make navigating large models simpler.
  • NetLogo supports multi-level agent-based modeling with the LevelSpace extension
  • Line numbering can be enabled in the NetLogo code editor by choosing “Show Line Numbers” from the “Preferences” dialog. This dialog can be opened by selecting “NetLogo” > “Preferences” in Mac, or “Tools” > “Preferences” on Linux or Windows.
  • The view resizing arrows have been removed and the tick counter has been relocated under the speed slider.
  • When editing NetLogo code, users can right-click a variable name or primitive and choose “Show Usage” to see all usages of that name in the file.
  • When editing NetLogo code, users can right-click a variable name and choose “Jump to Declaration” to see where in the file that variable is declared.
  • The NetLogo interface editor now supports “Undo” for widget addition, deletion, and movement.
  • NetLogo can export code to HTML with code-colorization by choosing “Export Code” in the “Export” section of the “File” menu.
  • The look and feel of NetLogo on Mac OS X has changed significantly. NetLogo is now using the Oracle-supplied Java look and feel as opposed to a third-party look and feel used in prior versions.
  • Plots use a random number generator independent of the main-model random number generator.
  • Model Preview Commands can be edited through the GUI by choosing “Preview Commands Editor” in the “Tools” menu. Those commands generate the preview image that appears when you upload your model to the Modeling Commons.
  • NetLogo displays a more helpful error message when a program fails due to an “out of memory” error.
  • NetLogo and its bundled extensions are now compiled against Java 8 and Scala 2.12.
  • NetLogo has upgraded the ASM bytecode library to enable generation of Java 8 bytecode.

Bugfixes

  • *-link-neighbor? primitives now work the same way for breeded and unbreeded links.
  • Resizing the world in NetLogo 3D no longer causes a black view.
  • Fixed error caused by right-clicking a widget while dragging.
  • Improved error message when a user-defined procedure shadows a breed procedure.
  • neighbors4 and neighbors no longer report agentsets containing the same patch more than once.

Language Changes

  • Support for plural-only breed names (e.g., breed [mice]) has been removed. Write breed [mice mouse] instead.
  • Tasks have been replaced by anonymous procedures. Tasks made use of ? variables which were confusing for novices and difficult to read for experts. Additionally, tasks could not refer to the task variables of a containing task. Anonymous procedures may have named arguments which can be accessed by inner anonymous tasks. Upon first opening a NetLogo 5 model in NetLogo 6, tasks like task [ ?1 + ?2 ] will be automatically converted to [ [?1 ?2] -> ?1 + ?2 ]. See the the transition guide for more information.
  • Link reporters have been overhauled to be more consistent and flexible
  • The task primitive is no longer supported.
  • Breed names that conflict with language primitives are now disallowed. For instance, breed [strings string] is now disallowed since it makes is-string? ambiguous.
  • The compiler errors on duplicated breed singular names.
  • The compiler detects a greater number of type errors, for instance not pxcor now raises a compiler error instead of erroring at runtime.
  • set-plot-pen-color now accepts RGB lists as arguments.
  • The hubnet-set-client-interface primitive has been removed.
  • The various primitives starting with movie- have been removed, as has the movie encoder. They have been replaced with the new vid extension. The transition guide provides more details and information.
  • The __change-language primitive has been removed. You can now change the User Interface Language through the preferences dialog, which can be found by choosing “Preferences…” in the “NetLogo” menu (Mac OS X) or in the “Tools” menu (all other platforms).
  • The string representation of anonymous procedures displays the body of the anonymous procedure.

Extension Changes

  • NetLogo 6.0 comes with three new, bundled extensions: LevelSpace ls, the vid extension for video manipulation, and the enhanced visualization extension view2.5d.
  • ls enables multi-level agent-based modeling in NetLogo.
  • The Extensions API has been updated from 5.0 to 6.0. This means that all non-bundled extensions will need to be updated to use the new API. Extensions written for NetLogo 5 will not work in NetLogo 6. If you’re an extension author, see the extension author transition guide for 6.0 for more information. If you regularly use extensions you may want to contact their authors to inform them a new version of NetLogo is on the way and they may want to update their extensions.
  • arduino:get (in the arduino extension) correctly reports values from Windows 64-bit machines. In prior versions it would only report some values correctly.
  • Several new features have been added to the nw extension:
    • Added community detection using the Louvain method
    • Added modularity measurement
    • Added Watts-Strogatz small-world network generation
    • Made other network generation algorithms easier to layout
    • Weighted primitives now take symbolic variable names instead of strings. See the transition guide for more information.
  • The qtj extension is no longer bundled with NetLogo. Users are encouraged to make use of the new vid extension.
  • The new vid extension is now bundled with NetLogo, combining features of the late qtj extension and the movie primitives.
  • The network extension is no longer bundled with NetLogo. Users are encouraged to use the nw extension (nw), which has been bundled with NetLogo for some time.
  • The gogo-serial extension is no longer bundled with NetLogo. Users are encouraged to transition to the newer gogo extension, which uses HID to communicate with the GoGo board.

Operating System Support

  • NetLogo will now be used to open .nlogo links in PowerPoint and other programs on Microsoft Windows.
  • The NetLogo binaries on Mac OS X are installed as runnable by any user.
  • NetLogo in Mac OS X will not use “App Nap” while running. This keeps simulations running at full speed when NetLogo is in the background.
  • The NetLogo controlling API has changed since NetLogo 5. Programs that rely on the controlling API (such as BehaviorSearch) will not work until they have been changed to match the new API.

Documentation Changes

  • New documentation for anonymous procedures
  • The NetLogo tutorial screenshots have been updated to correspond to the new Mac OS X Look and Feel.
  • The NetLogo dictionary displays the version in which each primitive was introduced next to that primitive.
  • A Spanish translation of the NetLogo dictionary is available here.

Internationalization Changes

  • A new Spanish translation of the NetLogo dictionary is available as part of the NetLogo manual.
  • Language preferences can be changed by using the new “Preferences” menu instead of the __change-language primitive.
  • A Japanese localization for NetLogo is now available and included with the standard download.
  • The Chinese translation for NetLogo has been updated.

Models

New Sample Models:

  • Kicked Rotator
  • Kicked Rotators
  • Mammoths, a legacy StarLogoT model, has been converted to NetLogo.

New Curricular Models:

  • GenEvo 1 Genetic Switch
  • GenEvo 2 Genetic Drift
  • GenEvo 3 Genetic Drift and Natural Selection
  • GenEvo 4 Competition

New Code Examples:

  • Movie Playing Example (vid extension)
  • Movie Recording Example (vid extension)
  • Video Camera Example (vid extension)
  • Network Extension General Demo (nw extension)
  • Model Interactions Example (ls extension)
  • Model Loader Example (ls extension)
  • Model Visualizer and Plotter Example (ls extension)

Promoted Models (improved and no longer “unverified”):

  • ProbLab Genetics
  • Traffic 2 Lanes

Revised Sample Models:

  • Giant Component: added text in the info tab.
  • Team Assembly: removed unused switch widget.
  • Traffic Basic, Traffic Grid, Traffic Intersection: revised info tab.
  • Voting: stopped the model when voting stabilizes.
  • Wealth Distribution: fixed typos in info tab, improved code formatting.

Revised HubNet Activities:

  • Bug Hunters Competition HubNet, Critter Designers HubNet, Fish Spotters HubNet: removed unnecessary call to hubnet-set-client-interface.
  • Gridlock HubNet, Gridlock Alternate HubNet: revised info tab.

Revised Curricular Models:

  • DNA Replication Fork: fixed a a monitor and runtime error when using a time limit.

Revised IABM models:

  • Agentset Efficiency: clarified description of go-2 in info tab.
  • Agentset Ordering: fixed typos in into tab.
  • Arduino Example: improved model to demonstrate both directions of communication with the Arduino.
  • Heroes and Cowards: removed extra text in info tab.
  • Preferential Attachment Simple: removed extra pen in plot and extra “layout” button.
  • Random Network: made sure that the number of links is never too big for the number of nodes.
  • Segregation Simple Extension 1, 2 and 3: fixed number-of-ethnicities slider to avoid runtime errors.
  • Traffic Basic Adaptive Individuals, Traffic Basic Utility, Traffic Grid Goal: revised info tab.
  • Traffic Basic Adaptive: revised info tab, clarified comment in adaptive-go procedure.
  • Voting Component Verification: stopped the model when voting stabilizes.
  • Voting Sensitivity Analysis: improved code for stopping the model when voting stabilizes.

Revised Code Examples:

  • GoGoMonitorSerial, GoGoMonitorSimpleSerial: removed the models, as the gogo-serial and qtj extensions are no longer bundled.
  • Random Network Example: made sure that the number of links is never too big for the number of nodes.
  • Since the QuickTime extension (qtj) has been replaced by the vid extension, the following models have been converted to use the vid extension:
    • Movie Example, replaced by Movie Recording Example
    • QuickTime Movie Example, replaced by Movie Playing Example
    • QuickTime Camera Example, replaced by Video Camera Example

Demoted model:

  • El Farol Network Congestion, a previously “unverified” model, has been moved to the NetLogo User Community Models

Version 5.3.1 (February 2016)

Feature Changes

  • Mathematica Link is now included and has been tested to work with Mathematica 10.
  • A link to Introduction to Agent-Based Modelling has been added to the “Help” menu.

Extension Changes

  • The gogo extension now prompts the user for the location of Java upon opening. This version of Java is used to launch the gogo hid daemon.
  • The correct version of the network extension is now bundled, which will open properly
  • Bundles the cf extension, which adds match, case, and select primitives.

Bugfixes

  • Corrects a bug where turtles wrapping around a torus-shaped world with pen down would sometimes cause NetLogo to loop infinitely.
  • Fixes a bug where buttons would appear to remain pressed after a right click on Mac.
  • Fixes a bug where pressing the right mouse button while dragging would confuse the mouse-down? primitive.
  • Fixes agent type-checking of tasks (bug appeared in 5.2.1).
  • link-neighbor? now returns true if and only if the neighbor is connected through an undirected link.
  • Documentation fixes for my-links and mean primitives.

Version 5.3 (December 2015)

Feature Changes

  • Java 8 is now bundled with all versions of NetLogo, this removes the need for a separate Java 6 installation on Mac OS X
  • Separate 32-bit and 64-bit versions are available for both Windows and Linux
  • The Windows installer is now an msi instead of an exe
  • javax.media.opengl is no longer supported in Java 8, it has been replaced by com.jogamp.opengl
  • Mathematica Link is not distributed due to Java version changes

Extension Changes

  • A minor update to the nw extension makes nw:weighted-path-to behave as documented.
  • Most extensions should continue to work without change unless they rely on javax.media.opengl, which was renamed in the updated version of JOGL.

Version 5.2.1 (September 2015)

Extensions

  • An included Arduino extension for use with Arduino boards

New features

  • New file menu item to export models to NetLogo Web

Bug fixes

  • BehaviorSpace output type preference is now remembered
  • Output widget font is now saved at the proper size when zoomed
  • Reporter tasks are now evaluated in variable context
  • runresult arguments now only get evaluated once
  • The last used directory is now remembered on Linux
  • Whitespace is now stripped from models when saving
  • New Sample Models: Artificial Anasazi, Bacteria Food Hunt, Bacteria Hunt Speeds, BeeSmart - Hive Finding, Bug Hunt Disruptions, Bug Hunt Environmental Changes, Bug Hunt Predators and Invasive Species - Two Regions, Hydrogen Diffusion 3D, Lennard-Jones, Paths
  • There are 46 new models in the new IABM Textbook folder: Turtles Circling Simple, Ants Simple, Heroes and Cowards, Life Simple, Simple Economy, 4 DLA extensions, 4 El Farol Extensions, 4 Fire Extensions, 4 Segregation Extensions, 5 Wolf Sheep Extensions, Agentset Efficiency, Agentset Ordering, Communication-T-T Network Example, Preferential Attachment Simple, Random Network, Traffic Basic Adaptive, Traffic Basic Utility, Traffic Grid Goal, Spread of Disease, Voting Component Verification, Voting Sensitivity Analysis, Arduino Example, Disease With Android Avoidance HubNet, Example HubNet, Run Example, Run Result Example, Simple Machine Learning, Simple Viral Marketing, Ticket Sales, Sandpile Simple
  • New models in the new Alternate Visualizations folder: Ethnocentrism - Alternative Visualization, Flocking - Alternative Visualizations, Heat Diffusion - Alternative visualization, Virus - Alternative Visualization, Virus - Circle Visualization
  • Promoted models: Honeycomb, Minority Game
  • Many other bugfixes and upgrades

Model changes

  • Improved Sample Models: Altruism, Ant Lines, Artificial Anasazi, Cooperation, Daisyworld, Divide the Cake, Heat Diffusion, Hydrogen Diffusion 3D, Lennard-Jones, N-Bodies, PD Basic Evolutionary, Sandpile, Robby the Robot, Segregation, Simple Kinetics 2 and 3, Traffic Grid, GridLock HubNet, GridLock HubNet Alternate
  • Revised Curricular Models: 4 Block Stalagmites, 4 Block Two Stalagmites, Bug Hunter Competition HubNet, Fish Spotters HubNet, Ising, Tijuana Bordertowns, Urban Suite - Tijuana Bordertowns,
  • Revised Code Examples: Lottery Example, self Example, Network Import Example
  • Revised IABM Textbook models: Simple Economy, Fire Simple Extension 2 and 3, Segregation Simple, 1, 2 and 3, Agentset Efficiency, Preferential Attachment Simple, Random Network, Traffic Basic Adaptive, Run Example, Traffic Grid Goal,
  • New IABM Textbook model: Traffic Basic Adaptive Individuals

Version 5.2.0 (April 2015)

Extensions

  • An included CSV extension to read and write CSV files
  • An included Palette extension to map different values to colors
  • The previous gogo extension has been removed. It has been replaced with two different gogo extensions, gogo and gogo-serial. The extensions work with different hardware. The gogo extension works with the new style HID-interface gogo boards and the gogo-serial extension works with the old-style serial-interface gogo boards
  • Upgrade to the network extension including the following changes:
    • Support for many more file types, including GEXF, GDF, GML, Pajek NET, UCINET DL, and Netdraw VNA
    • Fixed bugs with GraphML support
    • Improved documentation

New features

  • New primitive netlogo-web? added to test whether you are currently running in NetLogo Web
  • New primitive behaviorspace-experiment-name added allowing you to get the name of the currently running experiment
  • New primitive stop-inspecting to stop inspecting agents
  • New primitive stop-inspecting-dead-agents and menu item to stop inspecting dead agents
  • __includes keyword now enables the Includes button when given an empty
  • hooks added for extensions to write custom log messages

Bug fixes

  • user-one-of will now signal an error earlier when provided an empty list of choices
  • hsb, extract-hsb, and approximate-hsb have been updated to represent true hsb conventions
  • new deprecated primitives __hsb-old, __extract-hsb-old, and __approximate-hsb-old work as the old hsb primitives did when older models using the hsb primitives are opened in NetLogo 5.2, they will be auto-converted to use the deprecated primitives
  • extract-hsb — fixed bug where it didn’t work correctly on rgb lists

Model changes

  • New Sample Models: Artificial Anasazi, Bacteria Food Hunt, Bacteria Hunt Speeds, BeeSmart - Hive Finding, Bug Hunt Disruptions, Bug Hunt Environmental Changes, Bug Hunt Predators and Invasive Species - Two Regions, Hydrogen Diffusion 3D, Lennard-Jones, Paths
  • There are 46 new models in the new IABM Textbook folder: Turtles Circling Simple, Ants Simple, Heroes and Cowards, Life Simple, Simple Economy, 4 DLA extensions, 4 El Farol Extensions, 4 Fire Extensions, 4 Segregation Extensions, 5 Wolf Sheep Extensions, Agentset Efficiency, Agentset Ordering, Communication-T-T Network Example, Preferential Attachment Simple, Random Network, Traffic Basic Adaptive, Traffic Basic Utility, Traffic Grid Goal, Spread of Disease, Voting Component Verification, Voting Sensitivity Analysis, Arduino Example, Disease With Android Avoidance HubNet, Example HubNet, Run Example, Run Result Example, Simple Machine Learning, Simple Viral Marketing, Ticket Sales, Sandpile Simple
  • New models in the new Alternate Visualizations folder: Ethnocentrism - Alternative Visualization, Flocking - Alternative Visualizations, Heat Diffusion - Alternative visualization, Virus - Alternative Visualization, Virus - Circle Visualization
  • Promoted models: Honeycomb, Minority Game
  • Many other bugfixes and upgrades

Version 5.1.0 (July 2014)

  • bundle new network extension
  • File menu includes recently opened files
  • deprecate applets
  • support retina display on new MacBooks

Version 5.0.4 (March 2013)

  • upload models to the Modeling Commons

Version 5.0 (February 2012)

  • features:
    • open source (GPL license; source code online at https://github.com/NetLogo/NetLogo)
    • new license for Sample Models and Curricular Models is Creative Commons Attribution-NonCommercial-ShareAlike
    • international characters (Unicode) supported throughout application
    • GUI is localized in Spanish, Russian, and Chinese (volunteer translators wanted)
    • rich formatting and images in Info tabs using Markdown
    • plotting code goes inside plots instead of in code tab
    • authorable model speed (target frame rate setting)
    • buttons optionally disable until ticks start
    • translucent colors in 3D view and NetLogo 3D (for RGB colors only)
  • language changes:
    • “tasks” store code to be run later
      • aka first-class functions, closures, lambda
      • new primitives: task, is-command-task?, is-reporter-task?
      • these primitives accept tasks: run, runresult, foreach, map, reduce, filter, n-values, sort-by
    • improved overall list performance (many operations take near-constant time instead of linear time)
    • you must use reset-ticks to start the tick counter before using tick or tick-advance
    • new primitives setup-plots and update-plots
    • new primitive sort-on lets you say e.g., sort-on [size] turtles
    • new primitive error causes a runtime error
    • random-normal rejects negative standard deviations
  • HubNet:
    • activities can run headless
    • new primitives hubnet-clients-list, hubnet-kick-client, hubnet-kick-all-clients
    • hubnet-set-client-interface no longer required
  • other fixes and changes:
    • tabs renamed to Interface/Info/Code
    • Command Center allows reporters, adds show command automatically
    • NetLogo 3D uses .nlogo3d suffix, not .nlogo
    • import-world is much faster
    • startup no longer runs headless or in background BehaviorSpace runs
    • fixed 3D rendering bug where small turtles were too bright
    • Mac app runs in 64 bit mode by default
    • upgraded Windows installer
    • GoGo extension getting-started experience now smoother on all platforms
  • models:
    • new Sample Models: Sandpile, Lightning, Osmotic Pressure, Robby the Robot, Preferential Attachment 3D
    • new Curricular Models: Bug Hunt Consumers, Bug Hunt Predators and Invasive Species, Plant Speciation, epiDEM Basic, epiDEM Travel and Control, Connected Chemistry Atmosphere
    • new Code Examples: Info Tab Example, GoGoMonitorSimple

Version 4.1.3 (April 2011)

  • matrix extension
  • behaviorspace-run-number

Version 4.1 (December 2009)

  • parallel BehaviorSpace
  • controlling API allows embedding
  • automatic code indenter
  • searchable Models Library
  • translucent colors
  • mini-views in agent monitors
  • resize-world, set-patch-size
  • bitmap, QuickTime extensions
  • individualized HubNet client views
  • browser-based HubNet client

Version 4.0 (September 2007)

  • link agents
  • tick counter
  • view update modes (tick-based, continuous)
  • speed slider fast forwards
  • input boxes in interface tab
  • include multiple source files
  • RGB colors
  • slider bounds may be reporters
  • HubNet client editor
  • Mathematica-NetLogo link
  • array, table, profiler, GIS extensions
  • models run faster (partial compilation to JVM byte code)
  • logging

Version 3.1 (April 2006)

  • topologies (optional wrapping at world edges)
  • randomized agentset ordering

Version 3.0 (September 2005)

  • 3D view (for 2D models)
  • formatted Info tabs
  • System Dynamics Modeler
  • follow, ride, watch
  • drawing layer
  • GoGo extension

Version 2.1 (December 2004)

  • “headless” mode for command line operation
  • “action keys” to trigger buttons by keypresses
  • makes QuickTime movies of models
  • let, carefully

Version 2.0.2 (August 2004)

  • extensions and controlling APIs
  • sound extension

Version 2.0 (December 2003)

  • fast, flicker-free, non-grid-based graphics

Version 1.3 (June 2003)

  • run, runresult, map, foreach, filter, reduce

Version 1.2 (March 2003)

  • computers as HubNet clients

Version 1.1 (July 2002)

  • Applets

Version 1.0 (April 2002)

  • first full release (after a series of betas)

NetLogo is a programmable modeling environment for simulating natural and social phenomena. It was authored by Uri Wilensky in 1999 and has been in continuous development ever since at the Center for Connected Learning and Computer-Based Modeling.

Related Links
  • NetLogo Home
  • CCL Home
  • NetLogo Web
  • NetTango Web
  • NetLogo 3D
  • BehaviorSearch
  • Contact Us

Copyright © 1999-2025 Uri Wilensky and the Center for Connected Learning and Computer-Based Modeling at Northwestern University . All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License , or (at your option) any later version.

Commercial licenses are also available. To inquire about commercial licenses, please contact Uri Wilensky at netlogo-commercial-admin@ccl.northwestern.edu .

For more information, visit the NetLogo website .