Here is a brief (and probably incomplete) list of the API changes from version 1.0.x to the 2.0.0 release.
- TermInfo classes are now gone (they didn't really work so hopefully no one was using them)
- Mavenized the project, will try to push it to Maven central somehow
- Renamed the project's package name from
org.lantern
tocom.googlecode.lanterna
Movedcom.googlecode.lanterna.TerminalFactory
tocom.googlecode.lanterna.terminal
where it belongs- Renamed
LanternException
toLanternaException
for consistency LanternaException
is now aRuntimeException
sinceIOException
s coming from the underlying stdin and stdout are quite rareTerminal.addInputProfile(...)
moved toInputProvider
Terminal.Style
has been moved to an outer class incom.googlecode.lanterna.screen
SwingTerminal
has been moved tocom.googlecode.lanterna.terminal.swing
- Re-arranged the
Terminal
hierarchy, this is mostly internals but you might have been usingCommonUnixTerminal
before, which is now known ascom.googlecode.lanterna.terminal.text.UnixTerminal
- Moved
setCBreak
andsetEcho
off theTerminal
interface to theANSITerminal
class. You probably don't need to call these directly anyway, since they are automatically called for theUnixTerminal
when entering private mode. - Removed the
LanternTerminal
andTerminalFactory
classes as they were quite confusing and not really necessary - Added a new facade class,
TerminalFacade
which provides some convenient methods for creating terminal objects - Experimental support for Cygwin, but not very functional at the moment
- Renaming some enums and an internal class in
Theme
, you probably won't be affected by this unless you have defined your own theme Interactable.Result
andInteractable.FocusChangeDirection
has been expanded to allow focus switching in four directions instead of two- Introduced
AbstractListBox
which has standardized the format and the methods of the list-based GUI elements ListBox
class removed, there's not much purpose for it in this environmentRadioCheckBox
andRadioCheckBoxGroup
has been removed and replaced byRadioCheckBoxList
Starting with the 2.0.0 release, Lanterna has been using Maven and the Sonatype OSS repository, which is synchronized with Maven central. Please see the maven information page for more details.