2024-05-03
  v2.8.5
-  Update to MiniZinc 2.8.5.

2024-05-10
  v2.8.4
-  Fix bundled OpenSSL libraries on Windows.
-  Allow MOOC submission window to be scrolled.
-  Increase hard process termination timeout to 1s.

2024-02-01
  v2.8.3
-  Increase maximum number of threads from default Qt limit (#196).

2023-12-15
  v2.8.2
-  Make process handling more robust to failures.

2023-11-27
  v2.8.1
-  Fix command used to run findMUS and Globalizer.
-  Add ability to set the ports used for the visualisation server.
-  Add option for printing the visualisation server URL for debugging purposes.
-  Add more information to subprocess error messages.

2023-11-16
  v2.8.0
-  Fix unreadable cheat sheet font colour in dark mode (#191).
-  Add option to output objective value and enable by default.
-  Show manually input parameters in output window.
-  Fix missing checker messages (#192).
-  Fix incorrect OpenSSL version in Linux packages (#189).

2023-05-20
  v2.7.6
-  Update to MiniZinc 2.7.6.

2023-06-07
  v2.7.5
-  Use native Qt dark mode on Windows where supported.
-  Improve behaviour of the custom solver parameter dialog.

2023-05-11
  v2.7.4
-  Update to MiniZinc 2.7.4.

2023-04-20
  v2.7.3
-  Only show MOOC error code when response is actually an error (#176).

2023-04-05
  v2.7.2
-  Fix patching of `RPATH` for binaries and libraries in Snap package.

2023-03-31
  v2.7.1
-  Fix highlighting of multiline comments starting with /*/ (#172).
-  Fix bundling of incompatible OpenSSL version in linux packages.
-  Remove support for glibc 2.27 and earlier from AppImage and tarball linux
   packages. The Snap package may be used instead on such systems.

2023-02-23
  v2.7.0
-  Fix a bug where model selection dialog could run the wrong model.
-  Fix a bug where the same data file could be added to the MiniZinc command twice.
-  Ensure user config directory is created when modifying solver search paths (#167).
-  Ensure that IDE windows cannot spawn off-screen.
-  Add tooltips to the CP-Profiler status bar legend.
-  Add support for mooc submissions which include file editing history.

2022-06-23
  v2.6.4
-  Ensure the extra parameter filter is cleared when the textbox is cleared.

2022-05-06
  v2.6.3
-  Improve UI and dark mode for CP Profiler.
-  Fix CP Profiler tree-builder signal/slot connection (#160).
-  Fix deadlock in CP Profiler tree building (#162).
-  Make project loading more resilient to errors (#165).

2022-03-22
  v2.6.2
-  Don't print expected error messages for MOOC submissions.
-  Fix custom parameter widget dark mode CSS.

2022-03-03
  v2.6.1
-  Fix crash when the solver for an unsaved configuration is removed.
-  Fix bug where the selected solver could incorrectly change when a
    configuration option is altered.

2022-02-18
  v2.6.0
-  Add support for specifying submission terms for MOOC.
-  Ensure newly loaded configs override synced options (#144).
-  Fix check for empty project to avoid incorrect warnings when closing.
-  Maintain modified solver configurations when using preferences dialog.
-  Support using arm64 version of MiniZinc with x86_64 IDE build on macOS.
-  Fix crash when no solver configurations are available.
-  Remove WebEngine-based visualisation feature and implement HTTP/WebSocket
   server based visualisations.
-  Add support for dark mode detection on Windows.
-  Implement foldable output widget supporting output sections.
-  Support both Qt 5 and Qt 6.
-  Allow tab to shift multiple lines right.
-  Re-implement support for detached solver processes.
-  Allow the project/solver configuration panes to take the full height of the
   main window.
-  Implement new multi-tabbed preferences dialog.
-  Ignore errors in non-current files during background code checking.
-  Fix undefined behaviour in main window event filter (#154).
-  Fix crash when terminating solvers due to closing the main window.
-  Confirm before removing files from project (#149).

2021-03-19
  v2.5.5
-  Fix editing of custom string parameters so they don't get converted to
   floats.
-  Fix crash on Windows caused when the PATH environment contains unicode
   characters.

2021-03-16
  v2.5.4
-  Fix possible crash due to incorrect use of WriteFile on Windows.
-  Ensure Gecode Gist dependencies are present in the Linux bundle and AppImage
   (#132).
-  Fix crash when stopping solver during exit.
-  Don't show irrelevant context menu entries in the project explorer.
-  Add support for HTTP/S links in the output pane.
-  Fix crash when saving CP Profiler executions where there is no info
   associated with a node.
-  Show a warning when there are open files which are not part of a MOOC
   submission.
-  Fix double spinbox precision issues (#134).
-  Include Gecode Gist and CP Profiler dependencies in Snap package.
-  Allow opening of multiple files through the open file menu option.
-  Ensure file dialogs save last path when opening files.
-  Make the escape key close the find/replace dialog when focussed on any child
   widget.
-  Allow setting MOOC submission items as mandatory.

2020-24-06
  v2.5.3
-  Only reset config window item focus if it is still focused, preventing spurious
   changes in focus during code checking.
-  Fix handling of final statuses, including UNSAT (#123).
-  Remove -s flag support from Gecode Gist solver configuration (#125).
-  Fix crash when saving a project with no solver selected (#127).
-  Correctly remove temporary parameter configuration files after use (#128, #129).
-  Fix the time limit readout in the status bar when solving.

2020-11-06
  v2.5.2
  - Properly resize extra flags table after adding parameters (#119).
  - Use the minimal configuration to check the model interface (#118).
  - Allow omitting builtin solver version in project JSON.
  - Don't mark as modified when loading non-synced solver configurations.
  - Ensure the last open configuration in a project is selected when loaded.
  - Fix the default values of solution truncation and output window clearing.
  - Process unrecognised extra flags from old project configurations.
  - Fix watching for modification of the additional data box.
  - Fix the alignment of line numbers.
  - Make behaviour controls more narrow to accommodate smaller window sizes.
  - Defocus config window widgets when updating solver config so values of
    currently edited fields are updated.
  - Pass user input data correctly during compilation.
  - Remove solns2out options from MiniZinc call when compiling.

2020-10-22
  v2.5.1
  - Fix typo when passing solver statistics option to minizinc (#112).
  - Fix missing statistics output (#112).
  - Add support for colour themes (#110).
  - Don't prompt for saving after adding/removing files from the Untitled
    project.
  - Fix running of compiled FlatZinc files.
  - Show error message when trying to load an invalid configuration file.
  - Ensure all output is sent to the output console, and that fragments in
    standard error output appear when a newline is written to standard output
    (#114).
  - Fix running of solver configurations from the project explorer.
  - Improve performance of adding a large number of extra flags at once.
  - Add support for 64-bit integer extra flags.
  - Add support for setting both solver backend flags and MiniZinc command flags
    (#113).
  - Improve interface for adding extra parameters, allowing search/filter and
    multiselection of known parameters.

2020-09-25
  v2.5.0
  - Add fallback libraries if user does not have libnss3.
  - Remove support for the old binary storage format of projects used prior to
    version 2.2.0.
    These must be opened and re-saved with version 2.4.3 to remain compatible.
  - Include experimental CP-profiler through the *MiniZinc* > *Profile search*
    option for supported solvers.
  - Redesign the solver configuration window.
  - Use parameter configuration files rather than passing command-line options
    directly.
  - Show solver configurations and checkers in their own sections in the
    project explorer.
  - Allow multiselection in the project explorer for running particular sets
    of files.
  - Allow MiniZinc to manage subprocesses by itself.
  - Allow non-privileged installs of the IDE on Windows.
  - Correctly remove files from old installations of the IDE on Windows.
  - Enable scroll bars in the preferences dialog to allow for low resolution
    displays.
  - Prompt to save modified files before performing MOOC submissions or running
    models.
  - Fix infinite recursion when a model file for a MOOC submission doesn't
    exist.
  - Use --output-mode checker for MOOC solution submission where supported.
  - Fully support unicode on Windows.

2020-03-03
  v2.4.3
  - Disable menu items that don't make sense when all tabs are closed,
    fix behaviour of stop button when all tabs closed (fixes several crashes).
  - Add x86_64 suffix to linux package name (#96).
  - Make boolean extra solver options with a default of true functional.
  - Only read linter results if it exited normally (#97).
  - Update alpine version to 3.11
  - Resolve paths in _mooc to paths
    (allowing submission of models in subdirectories).
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
