NetLogo Changelog

What's new in NetLogo 6.0.4

Jun 14, 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 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

New in NetLogo 6.0.3 (Mar 22, 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. See the cf documentation for information about the new syntax.
  • 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

New in NetLogo 6.0.2 (Aug 21, 2017)

  • FEATURES 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.
  • BUG FIXES:
  • 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 availablehere.
  • 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.

New in NetLogo 6.0.1 (Mar 22, 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.
  • BUG FIXES:
  • 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.

New in NetLogo 6.0 (Dec 27, 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.
  • BUG FIXES:
  • 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 (https://ccl.northwestern.edu/netlogo/docs/nw.html), 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 ACTVITIES:
  • 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

New in NetLogo 5.3.1 (Mar 1, 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.

New in NetLogo 5.3.0 (Dec 16, 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
  • 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.

New in NetLogo 5.2.1 (Oct 5, 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

New in NetLogo 5.1.0 (Jul 31, 2014)

  • bundle new network extension
  • extensions API changes to support new network extension
  • File menu now includes recently opened files
  • deprecate applets
  • support retina display on new MacBooks
  • make globals inspector more visible
  • new Computer Science model: K-Means Clustering
  • various bugfixes

New in NetLogo 5.0.5 (Dec 23, 2013)

  • support for the new network extension
  • various bugfixes

New in NetLogo 5.0.4 (May 9, 2013)

  • added ability to upload models to the Modeling Commons
  • GoGo extension: improved stability, servomotor support
  • various bugfixes
  • new Biology model: Membrane Formation
  • new Math model: Voronoi - Emergent

New in NetLogo 5.0.3 (May 9, 2013)

  • various bugfixes
  • new BEAGLE Evolution model: DNA Protein Synthesis
  • new Connected Chemistry model: Reversible Reaction

New in NetLogo 5.0.2 (May 9, 2013)

  • new BEAGLE Evolution models: DNA Replication Fork, Fish Spotters
  • new Connected Chemistry models: Gas Combustion, Rusting Reaction, Solid Combustion

New in NetLogo 5.0.1 (May 31, 2012)

  • many bugfixes
  • new social science model: Hotelling's Law
  • new BEAGLE Evolution models: Bird Breeders, Bug Hunters Competition, Critter Designers, Fish Tank Genetic Drift

New in NetLogo 5.0 (May 31, 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
  • Pack200 enabled in applet for faster loading
  • 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

New in NetLogo 4.1.3 (May 31, 2012)

  • matrix extension
  • behaviorspace-run-number

New in NetLogo 4.1 (May 31, 2012)

  • 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

New in NetLogo 4.1 RC4 (Aug 27, 2009)

  • System:
  • NetLogo 3D is no longer a separate download (but is still a separate application)
  • Java 5 or higher is now required
  • NetLogo and its applets no longer support Mac OS X 10.2, Mac OS X 10.3, Windows 98, or Windows ME
  • the Windows installer and launcher are new and should be compatible with more systems
  • on Windows, we now bundle Java 6 (instead of Java 5)
  • BehaviorSpace is now free and open source software (under the LGPL)
  • Features:
  • BehaviorSpace is now multi-threaded so runs happen in parallel
  • Controlling API now supports embedding of models in a surrounding application
  • automatic indenter for code in the Procedures tab
  • Models Library dialog now offers searching
  • links, turtles, and the drawing may now be partially transparent (RGB colors only, 2D view only)
  • agent monitors now include a mini-view centered on the agent
  • extensions that use additional jars now work in applets
  • the sound extension is now supported in applets
  • new resize-world and set-patch-size commands allow changing the dimensions of the patch grid
  • applet web pages now include color-coded Procedures tab contents
  • new bitmap and QTJ (QuickTime for Java) extensions allow importing image and video data
  • the GoGo extension now supports "burst mode"
  • the 3D and 2D views may now both be active at the same time (for 2D models)
  • Language changes:
  • set [variable] of ... is no longer allowed; use ask ... [ set variable ... ] instead
  • the with-min and with-max primitives now have the same precedence as with
  • user interface changes:
  • new menu item on Tools menu closes all agent monitors
  • new NetLogo Users Group item on Help menu
  • the snap-to-grid setting in the Interface tab is now saved with the model
  • turning off turtle and link shapes is no longer supported
  • improved fonts on Windows
  • Bug fixes:
  • a single web page may now contain multiple NetLogo applets
  • the __includes keyword now works in applets
  • the profiler extension is now much faster
  • fixed system dynamics modeler bug where incorrectly parenthesized code was generated for some expressions
  • fixed system dynamics modeler bug where some models did not work correctly when run in headless mode
  • the array and table extensions are now fully compatible with exporting and importing worlds
  • some link primitives are now faster on dense networks
  • improved error detection on extremely large integers
  • fixed bug in forward primitive in non-toroidal worlds
  • fixed bug where link agentsets sometimes behaved incorrectly when links died
  • fixed bug in run and runresult primitives where running the same string from different procedures could cause a Java exception
  • fixed bug affecting 3D models where layout-circle and tie could cause a Java exception
  • fixed bug where the NetLogo window tended to jump between monitors on multiple-monitor systems
  • fixed bug in text editing where a single edit sometimes required multiple Undo actions to undo
  • fixed bug where export-interface didn't always work properly
  • fixed bug where extensions that use native libraries (e.g. GoGo) could not be reloaded
  • HubNet:
  • the HubNet client is now available as a Java applet which can be embedded in web pages, so users can participate in an activity without installing NetLogo
  • new feature: support for individualized client views, via:
  • client overrides (hubnet-send-override)
  • client perspectives (hubnet-send-watch, hubnet-send-follow)
  • new commands hubnet-send-message, hubnet-broadcast-message, hubnet-send-clear-output, and hubnet-broadcast-clear-output
  • new event type: mouse up events are now sent
  • assorted bugfixes to view mirroring and plot mirroring
  • removed obsolete hubnet-send-view command
  • new activity: Memory HubNet
  • improved activity: Sampler (overhauled, now verified)
  • new Code Examples: Client Perspective Example, Client Overrides Example
  • models:
  • NIELS suite of electromagnetism models expanded and revamped, and is now found in Curricular Models
  • new computer science models: Simulated Annealing, PageRank
  • new game: Projectile Attack
  • new code examples: Move Towards Target Example, Transparency Example
  • new evolution model: Bug Hunt Drift (in Curricular Models)
  • improved evolution models: Bug Hunt Camouflage (includes RGB genes, measure of genetic variance), Bird Breeder (conceptual fix), Bug Hunt Speeds (overhaul)
  • improved Biology models: Daisyworld (bugfix), Flocking (bugfix), Wolf Sheep Predation (bugfix)
  • improved Earth Science model: Percolation (colors, clarified info)
  • improved Computer Science models: Artificial Neural Net (code overhaul), Dining Philosophers (simplified)
  • improved chemistry models: Simple Kinetics 1 & 2 (bugfix), Connected Chemistry 3 Circular Particles (bugfix)
  • BehaviorSpace fixes:
  • stop conditions now run without affecting the main random generator
  • reduced memory usage when not generating spreadsheet output
  • aborting an experiment no longer discards accumulated spreadsheet output
  • the options for running from the command line have changed (table output is no longer generated by default)
  • improved error reporting when running headless
  • extensions API:
  • the interfaces in org.nlogo.api involving agents and agentsets now have many additional methods
  • extensions that define custom data types can now add support for import and export of those types
  • extension primitives may now take a variable number of inputs

New in NetLogo 4.0.4 (Aug 27, 2009)

  • the speed slider now disables when view updates are disabled
  • fixed bug where applets were sometimes not wide enough.
  • fixed bug where sort-by sometimes didn't report the proper error when passed invalid inputs
  • fixed extensions API bug where an extension couldn't access the drawing when running headless
  • fixed extensions API bug where user-defined primitives didn't work on links by default
  • fixed HubNet bug where input boxes didn't work in clients
  • various fixes to HubNet plot mirroring
  • fixed Gini index calculations in Wealth Distribution model
  • GIS extension fixes:
  • property name input to gis:property-value is now case-insensitive
  • underscores are now allowed in dBase field names
  • fixed bug in matrix element order for gis:convolve
  • fixed bug in hemisphere clipping during inverse projection
  • fixed parsing of float field values