2020-01-10
  v2.4.2
  - Fix syntax highlighting of keywords, and add syntax highlighting for
    interpolated strings.
  - Redraw when switching to/from dark mode, and fix dark mode header colours.
  - Fix "Select all" menu item.
2019-12-09
  v2.4.1
  - Display error message when submission to MOOC provider fails.
  - Fix shift left and shift right indentation behaviour when selecting
    text backwards.
  - Make "previous tab" and "next tab" actions cycle rather than stop at
    first/last tab.
  - Fix OpenSSL library in binary distribution to enable update checks and
    submission to MOOCs again.
  v2.4.0
  - Parse timing and statistics output produced by compiler, and display as
    profiling information next to each line in the model.
  - Enable run/compile action on data files. This automatically selects the
    model file if there is only one, or presents a dialog for selecting the
    model if there are multiple.
  - Select first data file in parameter dialog if there was no previous
    selection, and always focus parameter dialog.
  - Fix dark mode detection on macOS 10.15, improve dark mode colors a bit
    and fixed some dark mode bugs.
  - Make background compilation of a model (used to display syntax and type
    errors) a bit more stable.
  - Highlight current line.
  - Support .json as file extension for data files.
  - Remember whether wrap around, case sensitivity and regular expression
    was selected in find/replace dialog, pre-select the find/replace text
    when find/replace widget is openend, and close find/replace widget when
    ESC is pressed while editor has focus.
  - Avoid infinite loop in wrap around replace all.
  - Fix memory management for HTML visualisation windows, and resize docked
    HTML visualisation widgets to take up equal space.
2019-09-12
  v2.3.2
  - Update to MiniZinc 2.3.2.
2019-07-10
  v2.3.1
  - Remove incorrect symbolic link and fix qt.conf for some bundled distributions.
  - Fix check for availability of dark mode on older versions of macOS.
  - Fix a typo in the cheat sheet.
  - Provide more robust solution for checking the model parameters, which will get
    rid of some "internal error" messages.
  - Always show directory selection dialog in the Windows installer. Addresses #89.
  - Improved the configuration files for some bundled solvers, provides nicer
    configuration interface.
2019-06-26
  v2.3.0
  - The IDE will now check MiniZinc code for syntax and type errors
  - The editor performs simple code completion for MiniZinc keywords
  - Ensure cursor is visible (editor scrolls to cursor position) when pressing 
    tab or enter. Fixes #71.
  - Replace find dialog with inline widget and incremental search.
  - Support dark mode on macOS.
  - Add support for extra solver flags (parsed from solver configuration).
  - IDE now only uses minizinc executable (not mzn2fzn and solns2out).
  - Re-dock configuration editor when closing un-docked window.
  - Handle quotes when parsing additional solver command line arguments.
    Fixes #77.
  - Add workaround for the missing libnss requirements
  - Allow spaces in $DIR in MiniZincIDE.sh (Fixes #81)
2018-10-31
  v2.2.3
  - Only run solution checker if it is enabled in the solver configuration dialog.
2018-10-26
  v2.2.2
  - Add line/column display in status bar. Fixes #65.
  - Optional parameters don't have to be defined in input dialog.
  - Fix race condition in constructor of HTMLWindow. Fixes #64.
  - Provide mzn-json-init / mzn-json-init-end handlers to initialise HTML window
    before first solution is produced.
  - Add version information and minimum system version into Info.plist on macOS.
    Fixes #66.
  - Manage multiple open visualisation windows, and implement re-solve function
    that can be initiated from a visualisation.
2018-09-06
  v2.2.1
  - Improve dark mode by changing line numbers to dark background.
  - Make parameter input dialog scrollable.
  - Fix solution compression limit, and output one solution per
    block of compressed solutions.
2018-08-24
  v2.2.0
  - Update to MiniZinc 2.2.0.
  - Change solver configuration interface to work with new MiniZinc 2.2.0
    solver configurations.
  - Add support for solution checker models.
  - Better process management (to make sure solvers are terminated).
  - Change project files to be based on JSON format.
  - Better support for solver HTML output (used e.g. for Globalizer and FindMUS).
  - Fix shift left/shift right functionality.
  - Support for running models without saving them first.
  - Fix file dialogs to use correct file extensions.
2018-01-10
  v2.1.7
  - Update to MiniZinc 2.1.7.
  - Fix problem where files with a . in the filename could not be run (bug #44).
  - Fix font settings (were not saved reliably on some platforms).
  - Enable generic interface for submitting assignments (not just to Coursera).
  - Fix output handling for solvers that do not run mzn2fzn.
  - Fix hidden solution display when there are exactly as many solutions as the
    configured threshold for hiding solutions (bug #42).
  - Add configuration option to print timing information for each solution.
2017-09-22
  v2.1.6
  - Update to MiniZinc 2.1.6.
2017-05-17
  v2.1.5
  - Update to MiniZinc 2.1.5.
  - Fix an issue where solver output may not get printed if it occurs too
    quickly after the solver has started.
2017-03-16
  v2.1.4
  - Update to MiniZinc 2.1.4.
  - Fix major race condition that would crash the IDE when it didn't detect
    that a solver process had finished.
  - Improve HTML output by making sure every line is terminated by a newline.
2017-02-06
  v2.1.3
  - Update to MiniZinc 2.1.3.
  - Avoid crashes and print error messages when mzn2fzn subprocess crashes.
  - Changed meaning of "User-defined behavior" options, to have a clear
    distinction between optimisation and satisfaction problems.
  - Fix buffering of error output from mzn2fzn process (which would sometimes
    not be printed to the output window).
  - Suppress output after configurable number of solutions (to avoid
    overloading the IDE output box).
2016-12-20
  v2.1.2
  - Update to MiniZinc 2.1.2.
2016-12-14
  v2.1.1
  - Add option to print mzn2fzn statistics to project configuration.
  - Update to MiniZinc 2.1.1.
2016-11-16
  v2.1.0
  - Add new bundled solvers: Chuffed, CBC, Gurobi
  - Change update check to use Google Analytics (opt-in)
  - Fix a crash in the syntax highlighter when changing documents (e.g when
    saving a previously unsaved file).
  - Fix buffering problems on Windows (could lead to solver output not being
    shown).
  - Fix a crash when stopping a long-running compilation.
2016-08-30
  v2.0.97
  - Update to include MiniZinc 2.0.97 beta release.
2016-07-31
  v2.0.14
  - Implement new Coursera submission system.
  - Reload list of data files after removing a file through the project view,
    and use persistent indices to fix file removal. Fixes #11.
  - Fix renaming of files through the project explorer. Renaming should now
    work using the usual platform editing key, and using the context menu
    option. Fixes #12.
  - Don't add empty file name to list of data files when user cancels file
    dialog. Fixes #13.
  - Add same leading white space as on current line when pressing return
    (maintain indenting).
  - Add support for new Qt WebEngine framework (since Qt WebKit is not available
    in Qt 5.6).
2016-03-26
  v2.0.13
  - Flush output more consistently when process finished, hopefully
    fixing problem where solutions were missing from output.
  - Updated to include MiniZinc 2.0.13
2016-02-26
  v2.0.12
  - Fix link to MiniZinc issue tracker.
  - Add configuration option to clear solver output for each run.
  - Remember whether previous run used data file or manual data input.
  - Updated to include MiniZinc 2.0.12
2016-01-15
  v2.0.11
  - Updated to include MiniZinc 2.0.11
2015-12-10
  v2.0.10
  - Updated to include MiniZinc 2.0.10
2015-12-07
  v2.0.9
  - Remove (unimplemented) menu item for adding files to a project.
  - Fix version number comparison to work for multi-digit minor and patch
    versions.
2015-10-19
  v2.0.8
  - Only disable the run and compile actions when a solving process is currently
    running (keep editor and rest of the user interface enabled).
  - Keep editor font setting synchronised across different IDE windows.
2015-10-06
  v2.0.7
  - Changed version number scheme to coincide with MiniZinc version.
  - Disable all editing while the solver is running (avoids race conditions).
  - Fix behaviour of stop button: avoid race condition when pressing it twice,
    and signal that process has stopped when the initial SIGINT was successful.
  - Split up extra mzn2fzn command line arguments so they get passed correctly.
  - Changed behaviour of MiniZinc path input (now doesn't check for presence
    of mzn2fzn every time the cursor leaves the input box).
  - Add configuration option to use "default behaviour" when running models,
    which is to output all intermediate solutions for optimisation problems,
    and stop after one solution for satisfaction problems.
  - Fix "Add solver" dialog (sometimes the option to add solvers would
    disappear from the drop-down menu).
  - On Windows, configure Gecode/Gist to run the correct batch file.
  - Fix a crash when activating the (un)comment or go to line actions while
    on the configuration tab.
  - Avoid opening multiple "File modified" dialogs for the same file.
2015-07-30
  v0.9.9
  - Fix for clicking on error messages on Windows
  - Fix syntax highlighting, used to turn itself off when saving file
    under a different name
  - Set default font more consistently on different platforms
2015-07-01
  v0.9.8
  - Add "dark mode" to change text colours
  - Various bug fixes
  - Add integration with Coursera MiniZinc course
2015-05-12
  v0.9.7
  - Various bug fixes
  - Improved compatibility with MiniZinc 2.0.2
  - Bundled binary release (includes MiniZinc and some solvers)
2015-01-10
  v0.9.6
  - When killing a process (using the Stop action or timeout), send CTRL-C
    first, which allows the solver to exit gracefully. Solvers that do not
    react to CTRL-C are killed as before.
  - Fix copy/paste actions to also work in output window and to create
    rich text (including syntax colouring)
  - Avoid creating an empty .fzn file during compilation
  - Accept drag-and-drop to main window, opens dragged files
  - Quit menu action on Mac OS actually quits instead of just closing all
    open windows
  - Warn when loading large FlatZinc files
  - Assume UTF8 text encoding when loading and saving files
  - Keep selection of .dzn file in configuration tab when opening another
    .dzn file
2014-09-18
  v0.9.5
  - load new projects or files into existing project if it is empty
    and unmodified (avoids opening a new window)
  - fixed a bug when right-clicking into an empty area in the project
    explorer
  - fixed a bug when renaming files (in particular data files) in the
    project explorer
  - add support for multi-line (C-style) comments in the syntax
    highlighting
  - on Mac OS, show a Window menu to make it easy to switch between
    open projects, and open all files dragged onto the dock icon
    in the same project
  - fixed the hard-coded library path for the G12 lazyfd solver
  - fixed a bug that could cause a crash when closing and re-opening
    a project
2014-07-31
  v0.9.4
  - Project "drawer", better handling of projects
  - Tool bar
  - Limit additional arguments dialog to at most 10 parameters
  - Show MiniZinc version information in configuration dialog
  - More consistent handling of PATHs to MiniZinc and solvers
  - Print name of data files and additional arguments when running
    a solver
  - On Mac OS, enable QuickLook for MiniZinc files
  - Add recent files and projects to file menu
  - File dialogs open in the previously used directory
2014-04-01
  v0.9.3
  - Add elapsed time to output
  - Fix crash for files given as command line arguments
  - Make output window undockable
  - Add check for updates on startup
  - Fix bugs #4, #5, #8, #9
2014-02-03
  v0.9.2
  - Add verbose solver option
  - Save currently open project tab in project file
  - Ignore empty additional model parameters
  - Fix crash when closing modified Untitled tabs without saving
  - Fix crash after error message from solver
  - Fix project file format
  - Ask for parameter input when compiling (not just when solving)
2014-01-30
  v0.9.1
  Initial release
