Logisim 2.1.x release history
Most recent releases
2.5.0 to 2.6.2
2.2.0 to 2.4.0
2.1.0 to 2.1.8
2.0.0 to 2.0.6
2.0 Beta 1 to 2.0.0
0.3 to 1.09c
Version 2.1.8 (28 Feb 2009)
Feature: Previously when a JAR library was loaded the user
would always have to address a dialog in which the user would type
the name of the class that specifies the contents of the library. The
JAR library developer now has the opion to include a 'Library-Class'
attribute in the JAR's manifest; if present, the dialog box does
- Bug fix: The program offered the option to add random noise
into gate delays, but 2.1.7 ignored it and never added random noise.
(Prior to 2.1.7, the option was ignored and random noise was always
added). This checkbox is now effective.
- Bug fix: Some components' attributes are configured through a dialog
box, such as the color dialog with the LED component. Prior to 2.1.8,
resizing this dialog didn't always work particularly well. Thanks to
Christophe Jacquet for identifying the bug and suggesing a
Version 2.1.7 (15 Jan 2009)
Bug fix: The program offered the option to add random noise into
gate delays, so when a latch gets into an oscillating state it
will eventually reach a point where it is not oscillating. This was
disabled by default, because it can also lead to erroneous computations
with other circuits. Nonetheless, the random noise was added even
when the option was disabled. (Thanks to stultuses who provided a
circuit that led to the discovery of this bug.)
Bug fix: The simulator could get into a tight loop, effectively
freezing Logisim, if a tick was pending while an oscillation is
detected. Thanks to Christophe Jacquet for identifying the bug and
suggesting a fix.
Bug fix: If the circuit currently being viewed was removed
the project, the circuit would continue to be displayed in the viewing
Feature: Added a "Step Simulation" menu item, which steps the
simulation just a single step. Any points in the circuit affected by
the step are indicated with blue circles. This feature can help with
debugging circuits that have oscillations.
Feature: Added several faster options in the "Tick Frequency"
submenu, going up to 1024 Hz.
Usability enhancement: When double-clicking a circuit in the
explorer, Logisim would choose that as a tool and then display the
circuit. The selected tool would continue to be that circuit, even
though it was useless. The program now reverts to the previously
Usability enhancement: When adding a subcircuit into a circuit, the
displayed "ghost" now displays the notch indicating the subcircuit's
Documentation error: The first tutorial page described a XOR's
output exactly wrong.
Version 2.1.6 (7 May 2007)
Feature: When moving components horizontally or vertically,
wires can "stretch" to maintain connections. This is disabled by
default, because I want to give users a chance to find bugs and to
suggest modifications; it will probably be permanently enabled in
Logisim 2.2, without an option to remove it. To enable it, visit the
Experimental tab in the Preferences window (under the File menu -
or the Logisim menu on Macs).
Feature: User can choose to use OpenGL or Direct3D graphics
acceleration via the Experimental tab in the Preferences window
(under the File menu - or the Logisim menu on Macs). Timothy Baldridge
reports that one some recent versions of Java (starting with later
versions of Java 5), adding "-Dsun.java2d.d3d=True" to the
command line speeds the graphics rendering considerably. This is an
attempt to allow the user to configure this behavior as the default,
without resorting to the command line; it will require you to restart
Logisim to take effect. I'm not absolutely sure it will work, so I'm
placing it as an experimental feature for now.
Feature: Immediately after inserting a component or a wire,
pressing the backspace key will undo the addition.
Feature: RAM and ROM components are designed to handle up to
24 bits of address space, rather than just 12 bits.
Feature: Gates may be configured to have exactly 2
Feature: The limit on the number of inputs/outputs in the
Combinational Analysis module has been lifted to 12 (from 8). Allowing
more inputs would seem to require significant work; even with 12
inputs, a complex expression can take about 15 seconds to respond to
a bit being flipped in the truth table.
Bug fix: Button component in I/O library now starts out with
"zero" output, rather than "unknown."
Bug fix: Bit Selector component in Plexers library would go into
infinite loop when the number of bits in the output was greater than
or equal to the number in the input.
Bug fix: The memory image file would sometimes fail to
load due to an off-by-one error. (An example where it would fail
would be when the memory image starts with 65 zeroes followed by a
nonzero value.) Also, a saved memory image file was missing a line
termination character for the final line (this wasn't really causing
Bug fix: An exception occurred when bringing up the splash
screen on some installations. I doubt the splash screen was going to
be the only problem on such systems, but anyway Logisim now attempts
to start without the splash screen in such situations.
Bug fix: Systems using GCJ rather than Sun's JVM ran into
exceptions when encountering the nonexistent classes for customizing
the MacOS UI. I believe all such problems are now avoided.
Bug fix: An exception could occur when retrieving the clipboard
while pasting into the truth table.
UI change: The Window menu's Zoom option has been renamed to
"Maximize" on non-Macintosh systems.
Version 2.1.5 (27 Nov 2006)
- Feature: Added support for DIN 40700 gates, an older German system
for drawing gates that was superseded in Germany by the rectangular
standard in 1976, but which apparently is still preferred by some
- Bug fix: With a 32-bit memory, values that take 32 bits would not
be loaded properly.
- Bug fix: When loading the hex editor for wide values on a small
screen, the window could be much wider than the screen.
- Bug fix: When an existing multi-bit pin's facing was changed, it was
drawn with the wrong border (as if it were a 1-bit pin).
- Bug fix (?): The MacOS support led to the program
being unusable when loaded using GCJ. I'm not entirely confident
that the changes address his issue, since I haven't installed
GCJ to be able to test it. Reports of GCJ compatibility would be
- Appearance change: Toolbar buttons don't have individual borders,
and toolbar separators are visible.
- Appearance change: The "attribute halo" for tools in the explorer
or toolbar are drawn as a solid teal background, rather than as a
barely-visible teal circle.
Version 2.1.4 (31 Oct 2006)
- Bug fix: Scroll bars in main editing window reinstated. (They
were inadvertently removed in 2.1.3.)
Version 2.1.3 (14 Oct 2006)
Thanks to Kevin Walsh of Cornell University, who submitted
most of the suggestions, as well as some of the bug fixes, appearing
in this release.
- Feature: Plexers components have a Facing attribute.
- Feature: Added Input/Output library, with Button, LED, and 7-Segment
- Feature: User can configure the location of the toolbar, or hide
it, via a combo box under the Toolbar tab in the Project Options
- Bug fix: Rarely, changing a splitter's division of bits while
simulation was enabled would result in an exception that would disable
all future simulation.
- Bug fix: An exception during value propagation only halts the
simulation temporarily, with a descriptive message for the user.
(This simply makes Logisim work a bit more elegantly for any future
unknown simulation bugs.)
- Bug fix: If a circuit contains a 32-bit constant with the
topmost bit set, then the resulting file could not be opened within
- Bug fix: A 32-bit register's value was not editable via the keyboard
due to a bug in BitWidth's getMask method.
Version 2.1.2 (12 Jun 2006)
- Feature: The Probe component has a newly added Radix attribute.
- Feature: User can configure the radix used to display values
when wires are poked, via new options in Canvas panel of Project
- Feature: Added "zoom out" options to the Zoom menu in the
Project Options window.
- Bug fix: In loading memory images into RAM/ROM with a Data
Width more than 16, only the bottom 16 bits of each value
were taken (and sign-extended).
- Bug fix: Changing the facing attribute for the Probe component
resized it to hold only one bit, even if multiple bits were
- Bug fix: Removed rare "ComodificationException" that
sometimes occurred during startup within the Simulator class.
Version 2.1.1 (17 May 2006)
- Bug fix: When simulation is disabled, many actions (such as
changing the circuit viewed and loading memory) were not displayed in
the window immediately.
- Bug fix: On ROMs, changes to the data bit width or address bit
width were not reflected in the in-circuit display as they ought.
- Bug fix: The current component whose attribute set is displayed
follows copy/cut and paste a bit more faithfully.
Version 2.1.0 (11 May 2006)
- Feature: Spanish translation included, contributed by Pablo Leal
Ramos. For platforms with incompatibilities with accented characters,
the user may opt for them to be replaced with non-accented
substitutions. Added "-accents" command-line option.
- Feature: Added ROM component to the built-in Memory library.
- Feature: RAM component's pop-up menu has an "Edit Contents" option,
which brings up a separate window containing a proper hex editor.
- Feature: RAM image files use run-length encoding, providing some
level of compression. (Old image files are still compatible.)
- Feature: Added Tick Once item into Simulate menu.
- Feature: In the combinational analysis module, the truth table can
be navigated using the keyboard. Also, cut/copy/paste can be used on
the truth table; the clipboard is compatible with other applications
accepting tab-delimited text (such as a spreadsheet).
- Bug fix: When the Data Bits attribute is changed, the RAM updates
the number of columns displayed within the component as
- Bug fix: After cutting the selection in the circuit, and then
pasting and dragging the selection, subsequent drags were not forced
onto the grid when appropriate.
- Bug fix: When pasting a component from the clipboard, the displayed set
of attributes follows what has been selected.
- Bug fix: Copying a component to the clipboard, then changing that
component's attribute, led to a change to the attribute on the clipboard
- Bug fix: Simply opening the options window associated with the
project would enter an action for changing an option. This option could
not be undone.
- Bug fix: In combinational analysis module, changing or removing
variables removed information about the minimized expressions.
- Interface change: When asking what to do with unsaved changes, the
program now does a "Save" rather than a "Save As."
- Interface change: Random noise (included to support latches) is
turned off by default.