Hi NetLogo users,
It has been a long time since the last major release of NetLogo. We have not been idle during that time - quite the contrary,, we have been working hard on a new major release of NetLogo, NetLogo 7.
We’re excited to share it with you in beta form. We very much welcome your feedback.
All the best,
- Uri Wilensky
Below is a copy of the release notes for this NetLogo version.
The Center for Connected Learning and Computer-Based Modeling at Northwestern University is pleased to announce the NetLogo 7.0.0 open beta, available for free download from our site at https://www.netlogo.org/download. If you are able to test it in the near future, please do, and send your feedback to ccl-fe...@ccl.northwestern.edu and bug reports to bu...@ccl.northwestern.edu.
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).
Greater customizability, with more preferences and settings.
NetLogo models are now stored in a new format with the extension .nlogox.
The download page now has separate Intel and Silicon MacOS versions.
Note: NetLogo Web does not yet support NetLogo 7. It will be supported for the full release.
We have also created a new NetLogo website, https://netlogo.org, to better organize information about all our software products and resources. We also have launched a forum, https://forum.netlogo.org/, for the community to ask/answer questions and have discussions about NetLogo and ABM. You can also send questions and discussions to the netlogo-users google mailing list as we have done for many years.
The NetLogo user community continues to experience much growth. Maintaining the large code-base, adding new products, adding features to support our users, and expanding the models library requires considerable resources. Part of our efforts to ensure NetLogo’s long term sustainability is to diversify our funding sources. We are committed to providing NetLogo to our users at no cost. After years of support from government research grants, we are transitioning to a model that is more from individual donations and philanthropic foundations. Please consider making a donation. All donation sizes help. Donate here (donations are processed through Northwestern University, but 100% goes to fund NetLogo development)
Below, we list all the changes since NetLogo 6.4.
See the transition guide document 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.
The Interface Toolbar has been updated for usability: There are now four different tools for interacting with or editing widgets:
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.
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.
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 needed for a model may be stored in the .nlogox file in the future.
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.
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 directly 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 preferences dialog. 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.
The NetLogo Graphical User Interface (GUI) has been thoroughly modernized.
The model file format has become extensible.
Brief timely messages can now be 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 separate code tab has a full NetLogo menu bar.
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.
Print 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).
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 replaces the "hidden" command __change-topology.
NetLogo 7.0.0 contains over sixty bug fixes and minor changes. For a complete list see this section.
Here are a few highlights:
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.
An optimization speeds up the execution of the constructs any? turtles-on and any? <breeds>-on.
Save as NetLogo Web adds the contents of any included files to the model code.
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.
Leaving and returning to a "dirty" Code Tab no longer causes compilation.
Multi-assign with let and set now works with BehaviorSpace.
BehaviorSpace experiment edit compilation errors are reported when the dialog is closed rather than at runtime.
NetLogo now detects autosave files created for a model in case NetLogo crashes. Users are asked if they want to recover it.
The gogo extension now 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 programatically.
The Documentation has been updated to describe the many changes that were made for NetLogo 7.0.0. The majority of the images have been updated.
Grammar was improved for NetLogo Tutorial 2.
There are three new pages:
NetLogo 7.0.0 Changes Overview
Netlogo Preferences
Color Picker Guide
The link to the book "An Introduction to Agent-Based Modeling" was updated.
The effect of topological wrapping on the primitives neighbors and neighbors4 is explained in the documentation.
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.
Note: most models have been updated to the new widget size but not all.
Interstitial Diffusion
Invasive Plants
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
Comic Sections 2
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.
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 the 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.
We encourage users to report bugs, give feedback and ask questions through the NetLogo Forum and/or through our mailing lists. You can report bugs to ccl-...@ccl.northwestern.edu and any other feedback (including issues with the documentation) to ccl-fe...@ccl.northwestern.edu. We encourage users who encounter a bug to consult this wiki page which lists current problems as users report them to us and offers advice on how to alleviate or work around them. The NetLogo FAQ (Frequently Asked Questions) also contains valuable information.
The list below contains several issues known to us at the time of the release of 7.0.0-beta2. We are actively working to fix these.
The menu item “Upload to Modeling Commons" is disabled in this beta release.
Models created in NetLogo 7 beta will not be readable by the Modeling Commons.
Both of these Modeling Commons issues will be fixed for the official release of NetLogo 7.
Changing models while the 3D View is open and agents are active will cause an exception, and NetLogo graphics will not display. Reopening NetLogo will restore normal graphics.
When running a BehaviorSpace experiment from the GUI or from the command line, memory is not cleared at the end of the experiment which can cause memory issues. For now, we recommend closing and reopening NetLogo between uses of BehaviorSpace. We plan for this to be fixed for the full release.
Some Users continue to have problems initially launching NetLogo in Mac OS Sierra, High Sierra, Catalina, Big Sur and Monterey. More information (including a partial workaround for the problem) is available here. We don’t yet know if this issue persists in NetLogo 7.
The arduino extension doesn't work properly in Windows 10 under 64-bit NetLogo. It does work properly running under 32-bit NetLogo. We recommend that windows users who want to work with the arduino extension install the 32-bit version of NetLogo.
Once a user opens a model that uses the arduino extension they must quit NetLogo before next opening a model that uses the arduino extension.
When using the Import HubNet Client Interface... feature, widgets cannot be edited until the client is saved, closed, and re-opened. More information is available on our issue tracker.
Repeated zooming out can cause drawn lines to vanish from the view.
The issues below are particular to the vid extension:
If the extension crashes while the code tab is popped out, the code tab will not be usable again until NetLogo is restarted.
The extension will crash NetLogo if you use vid:camera-open or vid:camera-select and then start a different program (like Zoom) and use the same camera. If you start the other program first and then start NetLogo things work better, but there are still many reports of problems on macOS. We're investigating the issues.
On macOS the extension produces videos that don't play properly in Windows (the same video plays correctly on a Mac, however). It appears to play videos created by other sources properly.
NetLogo was designed and authored by Uri Wilensky, project leader and director of the CCL. The current core development team includes Jason Bertsche, Aaron Brandes, Jeremy Baker and Isaac Brown. Seungyeon Kim was the main graphics designer for the Graphical User Interface changes for NetLogo 7. Seth Tisue, Bryan Head, Esther Verreau, Robert Grider, Ben Shargel and Nicolas Payette have made major contributions in the past. Many others have contributed greatly. HubNet was jointly designed by Uri Wilensky and Walter Stroup.
We also gratefully acknowledge the contributions of: Dor Abrahamson, Fernando Alegre, Jason Alt, Gabriella Anton, Umit Aslan, Zeina Atrash, Gordon Bailey, Connor Bain, Eytan Bakshy, Matthew Berland, Stephanie Bezold, Paulo Blikstein, Silas Boyd-Wickizer, Dirk Brockman, Meridith Bruozas, Rodrigo Cadiz, Ivan Ceraj, Charles Chen, Eric Cheng, Jarva Chow, Sugat Dabholkar, Rumou Duan, Jared Dunne, Geoff Garen, Jeremy Glassenberg, Katie Goodrum, Steve Gorodetskiy, Bryan Guo, Can Gurkan, Eric Hao, Ed Hazzard, Arthur Hjorth, Carrie Hobbs, Nathan Holbert, Omar Ibrahim, Abbie Jacobs, Wendy Johnson, Nathan Jones, Jacob Kelter, Hyungsin Kim, Jayun Kim, Woo-young Kim, Daniel Kornhauser, Sergey Krilov, Dr. Setsuya Kurahashi, Eyal Landau, Victor Lee, Reuven Lerner, Sharona Levy, Silvia Lovato, Kit Martin, Geoff Mathews, Spiro Maroulis, Dhrumil Mehta, Nate Nichols, Kritphong Mongkhonavit, Ben Neidhart, Michael Novak, Kai Orton, Yevgeny Patarakin, Christina Pei, Daniel Perlovsky, Lorenzo Pesce, Francisco J. Miguel Quesada, Bill Rand, Ben Rafshoon, Charly Resendiz, Andy Russell, Phil Saltzmann, Andrei Scheinkman, Pratim Sengupta, Ben Shapiro, Gagandeep Singh, Firat Soylu, Mike Stieff, Scott Styles, Celina Troutman, Josh Unterman, Aditi Wagh, Akarshit Wal, David Weintrop, Baba Kofi Weusijana, Michelle Wilkerson, Julio Patron Witwytzkyj, Nate Wong, Philip Woods, Christine Yang, Dr. Takashi Yoshida, Tianyu Xia, Jack Zhu.
The CCL gratefully acknowledges three decades of support for our NetLogo work. Much of that support came from the National Science Foundation -- grant numbers REC-9814682 and REC-0126227. Further support has come from NSF REC-0003285, REC-0115699, DRL-0196044, NSF-ITR-0326542, DRL-REC/ROLE-0440113, SBE-0624318, EEC-0648316, IIS-0713619, DRL-RED-9552950, DRL-REC-9632612, DRL-DRK12-1020101, IIS-1441552, CNS-1441016, CNS-1441041, CNS-1138461, IIS-1438813, IIS-1147621, DRL-REC-1343873, IIS-1438813, IIS-1441552, CNS-1441041, IIS-1546120, DRL-1546122, DRL-ITEST-1614745, DRL-1640201, NSF STEMC-1745938. NSF STEMC-1842374, NSF STEMC-1842375, NSF DRL-1842374, NSF-BSF-2240216, and NSF-POSE-2303582, . Additional support has come from the Spencer Foundation, Texas Instruments, the Brady Fund, the Murphy fund, the Northwestern Institute on Complex Systems, and the Northwestern SESP Venture Research Fund.