Logisim 2.5.0 to 2.6.2 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.6.2 (December 23, 2010)
Feature: If you go to the Preference window's Window tab and check "Show
Tick Rate," Logisim will measure the actual rate of ticks and display it
in the canvas's upper right corner. For complex circuits, the circuit
cannot be simulated at the faster rates listed in the Simulate menu, and
so the measured tick rate can be much less than what the user has
Feature: A Portuguese (Brazilian) translation is included.
Feature: Several configuration items were moved from the project-specific
Options dialog into the application-wide Preferences dialog, since users
are unlikely to want the values to vary between projects. This includes
all items formerly under the Option window's Canvas tab and the Toolbar
Location item under its Toolbar tab. These were moved into the
application-wide Preferences dialog's new Window and Layout
Feature: Several window attributes are automatically saved as preferences
when the user exits (though they don't appear in the dialog) so they can
be restored to their previous values on the next startup. This includes
the tick rate, window size, zoom factor for both the layout editor and
appearance editor, whether to show the grid in the layout editor and
appearance editor grid, whether the window is maximized, and the portion
of the window dedicated to the main canvas, the explorer pane, and the
Feature: Added Open Recent submenu to the File menu.
Feature: Added a "-clearprops" command-line option that clears all saved
application preferences on startup.
Feature: In the I/O library, the Joystick component's Bit Width attribute
can be configured through pressing Alt-2 through Alt-5.
Feature: A very partial translation of the German documentation is
Appearance change: Rectangular XOR and XNOR gates are drawn with "=1" to
conform to the ISO standard (previously it was simply "1"). However, if
the "Multiple-Input Behavior" attribute is "When an odd number are on"
and there are more than two inputs, the label is "2k+1" to reflect that
it is actually doing an odd parity. (Previously it showed this label for
odd parity even when there were just two inputs.)
Bug fix: The tick rate would default to 1 KHz, although the initially
checked tick rate was 1 Hz.
Bug fix: Libraries could not be unloaded.
Bug fix: The XNOR gate incorrectly did even parity by default, rather
than being off only when exactly one input is one.
Bug fix: Most options were not loaded when a file was later reopened (all
except the toolbar and mouse mappings).
Bug fix: The Logisim version saved in the project file was not
interpreted correctly when opening the project. One consequence: If you
edited the toolbar to include the Select and Wiring tools, they would be
replaced by the Edit tool when reloaded.
Bug fix: When moving a selection so that one wire in the selection is
moved exactly into the location of a wire being moved, the wire would
sometimes disappear entirely rather than be moved.
Bug fix: With the Select Tool, pressing the backspace key deletes the
current selection (just as it does when the delete key is
Bug fix: The project toolbar would appear at startup regardless of
whether its menu item was checked
Bug fix: When elements are duplicated, the attribute table does not allow
changes to those elements to occur until the elements are deselected and
Bug fix: When adding a subcircuit, the "ghost" would not be drawn faded
as with other regular components.
Bug fix: When a subcircuit element is selected and the Circuit Name
altered through the attribute table, the updated value would not always
be reflected in the attribute table.
Bug fix: When a subcircuit is added into a circuit and moved, changes to
the underlying circuit's pins were not reflected in the subcircuit
Bug fix: In loading from a file into RAM or ROM, very long strings of
non-zero values would see large portions treated as zero.
Bug fix: When a rectangle, oval, or rounded rectangle in a circuit's
appearance had a paint type of "Border & Fill" and it was filled with
solid black, that information was not properly stored in the saved
Bug fix: In editing the appearance and creating a rectangle, oval, or
rounded rectangle, there would sometimes be artifacts left behind as the
mouse was dragged.
Bug fix: Edits to the Bit Extender's Extension Type attribute or the
Comparator's did not have an immediate effect in the circuit.
Bug fix: Under MacOS X, the title bar's close-window button would
indicate that the file was changed after the first change, but the
indicator would not disappear when the file was saved.
Interface change: The Window menu now includes a menu item for accessing
the window for application preferences.
Interface change: A customized application icon is configured to appear
in each window's title bar, where the Java logo had previously
Implementation change: The documentation's directory hierarchy was
changed to facilitate easier translation.
Version 2.6.1 (October 4, 2010)
Feature: A German translation of the GUI strings is now included. (Translation of the documentation is not yet available.)
Feature: Added a Label and Label Font attribute for all components in the Gates library except Constant.
Feature: Added the Bit Finder component into the Arithmetic library.
Feature: Added tool tips for each input and output of all Arithmetic components.
Feature: Memory image files generated by a text editor or other file can include comments: Logisim ignores the '#' character and the following characters on that line.
Feature: Added Off Color and Background attributes for the I/O library's Seven-Segment Display and Hex Digit Display.
Feature: Added Color and Background attributes for the I/O library's TTY component.
Feature: Enhanced the splash screen and "About" dialog to give credit to other team members.
Interface change: The Preferences dialog now defaults to the International tab, the languages appear in a list rather than a drop-down box, and each language is described by both its own language and the currently selected language.
Interface change: Even after selecting a wire, starting a drag from one of its endpoints will lengthen or shorten the wire. (Previously the wire would be moved in this situation.)
Bug fix: If you have never previously executed Logisim, it should default to the platform language if a supported translation is available.
Bug fix: Circuit statistics were not computed recursively as intended (it was done correctly in 2.5.1).
Bug fix: When the simulation frequency is more than 1KHz, choosing "Tick Once" after a series of several ticks would lead to multiple ticks occurring.
Bug fix: The Bit Adder's output bit width was one bit too small when the maximum possible count was a power of 2.
Bug fix: With a multiplexer/demultiplexer/decoder selected, pressing 1 through 4 alters the number of select bits, but 5 does not work properly.
Bug fix: If you select a wire and drag one endpoint in the same direction the wire is facing, then it shows just a fragment of the resulting longer wire being selected.
Version 2.6.0 (September 27, 2010)
Feature: You can customize how a subcircuit component will be
drawn, in place of the default rectangle-with-notch appearance
Feature: When the poke tool is selected, clicking a subcircuit
will lead a magnifying glass to appear over the subcircuit, and
double-clicking in the magnifying glass will enter the
Feature: For input and output pins, pressing Alt with a
direction key changes the pin's Label Location attribute.
Feature: Multiplexers, demultiplexers, decoders, and priority
encoders all support 5 "Select Bits."
Feature: The Arithmetic library now includes a "Bit Adder" which
computes the number of 1 bits in its input(s).
Feature: The I/O library's LED has an "Off Color"
Feature: The facing of a subcircuit can be changed after it is
placed into a circuit.
Bug fix: After removing a circuit from the project, an Undo
would place the removed circuit at the end of the project's list
rather than back in its previous location.
Bug fix: When loading more than 4,096 memory entries into RAM or
ROM, if the 4,096th entry (or a multiple of 4096 entries) was at
the end of a line in the text file, all subsequent entries were
Bug fix: When the circuit is scaled using the zoom controls,
tool tips would show up in the wrong location.
Bug fix: A "ConcurrentModificationException" was observed from
the EventSourceWeakSupport class. It was changed to guarantee
that it does not occur there.
Bug fix: Sometimes a diagonal line would appear across the
layout when you selected a different component to be
Interface change: The menu shortcut for moving up in the state
hierarchy is now MenuKey+Left, since MenuKey+Up is used for
raising the selection (and MenuKey+Shift+Up for raising the
selection to the top). Similarly, moving down the hierarchy is
Interface change: When the grid is being shown and the zoom
factor is 200% or more, each grid dot is actually a square of
Interface change: The project toolbar is drawn slightly
differently, with a darker "add" icon, and of course the added
elements for selecting to edit the layout or the appearance.
Behind the scenes, the icons are drawn differently - this will
likely be most apparent under MacOS X, where it was fairly ugly
Interface change: Subcircuits are drawn (by default) with a
slightly different notch to adapt to the quadratic Bezier curve
supported by the customized appearance module.
Interface change: The explorer pane's magnifying glass is drawn
with a hint of blue in its center.
Architectural change: Subcircuits are implemented using the
newer logisim.instance API rather than the deprecated
Version 2.5.1 (September 2, 2010)
Feature: Added the "Get Project Statistics" menu item and the "-tty stats" command-line option.
Feature: The integrated help system now includes full-text search. Also, the most recent version of the JavaHelp library is packaged with Logisim.
Feature: Added Control Line Location to Controlled Buffer and Controlled Inverter, and added Gate Size attribute to the Controlled Inverter.
Feature: Increased the maximum number of inputs for gates to 32.
Feature: Added a third, larger Gate Size option to the multi-input logic gates, which may look better for very large numbers of inputs. What was called "Wide" before is now "Medium."
Feature: The color and font dialogs were modified so that their strings could more easily be translated. A Russian translation is included.
Interface change: The rectangular OR and NOR gates are drawn with the proper "≥1" label rather than ">0".
Interface change: The shaped OR, NOR, XOR, and XNOR gates are drawn slightly differently, using Java's GeneralPath class. As a result, the corners connect well and the "wings" for a large number of inputs don't get overly deep.
Bug fix: In 2.5.0, Logisim projects were opened assuming a UTF-8 encoding, and it refused to open files with invalid encoding. It now first attempts opening the file assuming UTF-8 encoding (since that is now the default save format); but if that fails, it attempts to open the file using the platform's default encoding.
Bug fix: An exception could occur when loading multiple libraries into a project, at least one of which is a Logisim file.
Bug fix: It was reported that a race condition could occur when opening many files. (Thanks to Joshua Cranmer of Georgia Tech for providing the report and suggesting changes to fix it.)
Bug fix: In previous versions, projects were saved using the platform's default encoding (even though the XML indicated it used UTF-8), leading files to be non-portable if they included non-ASCII characters. Now the file is always saved using UTF-8.
Bug fix: Using DIN 40700 gate shapes, the OR and NOR gates were drawn improperly for even numbers of inputs, and the NAND and NOR gates' output lines did not quite go as far as their input.
Bug fix: With the font dialog library, changes to the selected language would not be reflected until the program was restarted.
Bug fix: The documentation used the XHTML " />" idiom for childless elements like "
", but this confuses Java 5 systems (not Java 6) so that the ">" appears when viewing the pages in the integrated help system. All instances of this idiom were removed.
Internal modification: All references to the JDOM library were removed. Logisim now uses Java's integrated XML support instead.
Version 2.5.0 (August 30, 2010)
Feature: When moving components, Logisim will modify the wires
in the circuit so that connections are preserved. For example, if
you have an input connected to an AND gate, and you move the AND gate
away from the input, Logisim will add new wires so the input remains
connected. This will not happen if the shift key is pressed during
the drag. This feature can be turned off under the Canvas panel of
the Project Options dialog.
Feature: A complete Russian translation of the documentation
is added. This was produced by Ilia Lilov, a student at Moscow State
University of Printing Arts.
Feature: For many components, typing digits can configure it
- for example, you can select an AND gate and type 3 to change the
number of inputs to three - and you can type Alt-3 to change the bit
width to 3. That works whether you're adding a new AND gate or you
have an existing AND gate selected. A similar principle applies to
most components - typing a digit will configure how "big" it is,
or it will configure the bit width if the Alt key is down at the
Feature: The new "Tunnel" component in the Base library allows
you to connect two points in the circuit as if they were connected
by wire - all you need is two (or more) tunnels sharing the same
Feature: The new "Pull Resistor" component allows one to add a
wire that pulls floating values to 0, 1, or the error value.
Feature: The new "Bit Extender" component in the Base library
takes an input of one width and produces an output of another width -
the additional output bits can be configured to be 0, 1, the input's
topmost (sign) bit, or the value coming in an additional one-bit
Feature: The gates in the Gates library allow individual inputs
to be negated.
Feature: The gates in the Gates library allow any number of
inputs from 2 to 16.
Feature: The I/O library's LED Matrix component received a
"Light Persistence" attribute.
Feature: Added the "-load" command line option for loading
programs into RAM before command-line circuit execution.
Feature: Added the "halt", "speed", and "tty" arguments for the
"-tty" command line option to customize the behavior of command-line
Feature: When saving a file, Logisim asks the user if it sees
an extension other than ".circ". The identification of extensions is
now more strict. Also, the dialog for replacing the extension has
more descriptive options, including a new option of adding ".circ"
to the name's end.
Feature: In saving files, attribute values are not written
when they match with the default value. This brings the file size
down dramatically, particularly for small circuits - a nearly empty
circuit would result in a 14KB file before but now takes less than
Feature: As you are shortening a wire, the full wire is never
drawn onto the screen (so it doesn't have to be painted over in white
Interface change: When pasting or duplicating the selection,
the subsequent move of the selection is treated as part of the same
action so that an "Undo" undoes the move as well as the preceding
Interface change: The "false" value is drawn with a slightly
lighter green in order to be more distinctive from the black of
Interface change: An "error" value is drawn with a darker red
than before, since it arises more often for innocuous reasons with
the new gate behavior of 2.4.0.
Interface change: Added the Control-K shortcut for the Ticks
Enabled menu item.
Bug fix: When viewing a subcircuit of a larger circuit that
is running, poking a pin brings up a dialog stating: "The pin is
tied to the supercircuit's state." For some subcircuits (it seems
those that themselves contain subcircuits containing subcircuits),
clicking OK would result in inaccurate behavior.
Bug fix: In the explorer pane, libraries would collapse
when the project is saved and when it is changed from the saved
version. This would also happened with "Set As Main Circuit" and with
Bug fix: When a component's pins changes locations due to
a change in an attribute such as Facing, wires were not merged or
Bug fix: Placing an exact copy of an existing wire on top of
itself would mess up the internal representation so that connection
nodes would be drawn where they should not.
Bug fix: You could configure a custom template in the
application preferences dialog, but it would revert to the default
plain template on restart.
Bug fix: When opening a project just after starting Logisim,
the default empty project's circuit attributes were still shown in
the attribute table, and changes to those attributes resulted in an
Bug fix: If a circuit within the current project was added
to the toolbar, then it would disappear when the project was
Bug fix: If a wire was started, dragged, and then dragged back
to the beginning to effectively "cancel" the new wire, that point
where you started would be used as the starting point when you begin
creating the next wire.
Bug fix: When drawing a wire using the Edit Tool, if the clock
was ticked during the drag, the green circle would be drawn at the
Bug fix: When editing a label using the Text Tool, changes
to the component's Label attribute via the attribute table had no
Bug fix: A one-bit pin with its "Three-State?" attribute
set to "yes" would not draw a red circle as the background when it
sees an error input, wehreas one with "Three-State?" set to "no"
Bug fix: In some circumstances, the Combinational Analysis
module's Build Circuit feature would wire inputs into a gate
incorrectly. In particular, this would happen when you have a gate with
many inputs, and some in the upper half of the inputs have to be bent
upwards (or some in the lower half had to be bent downwards).
Bug fix: From the Combinational Analysis module, when building
a circuit from with only NAND gates, any NOT gates converted to a
NAND gate would be built with a three-input gate when only two were
Bug fix: If a circuit other than the one being viewed was
right-clicked in the explorer pane, the Analyze Circuit was chosen,
and then Build Circuit pressed, the dialog box would suggest that
the currently viewed circuit be replaced, not the one that was
Bug fix: When viewing attributes for the wire, the strings
"horizontal" and "vertical" were displayed in English regardless of
the language chosen.
Bug fix: Many minor repairs to the documentation, nearly all
of which were suggested by Ilia Lilov of Moscow State University of
Bug fix: Added the mysteriously missing 128 Hz option into
the Tick Frequency submenu.
Architectural change: All code was converted to use Java 5
Architectural change: The internal technique for applying
changes to a circuit was changed to a transaction-based approach,
and all wire irregularities (i.e., wires that need to be split or
merged) are identified at the conclusion of each transaction in a
Architectural change: All components in the Gates library now
use the logisim.instance API for their implementation rather than
the older logisim.comp API.
Architectural change: The Pin, Probe, Clock, and Text components
were also rewritten to use the logisim.instance API, and they've been
moved into the package logisim.std.base. The only pieces still using
the logisim.comp API are the Wire, Splitter, and Subcircuit components
from Base and all components from Legacy.