All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- New loading tiles for "attached" project mode.
- Improved "attached" project mode.
- Dark theme is now by default on Windows if desktop mode is on dark mode (#32).
- Fixed crash when handling large images with new "attached" project mode (#24).
- [Beta] New "attached" project type (optimized for huge images).
- Moved to Qt6 (thank to @agatti).
- Improved the German translation (thank to @maximumspatium).
- Multiple crash source on project creation.
- Fixed multiple issues with MacOS version.
- Mouse wheel events handling (zoom).
- Proper GLSL version used in shaders.
- Use OpenGL 3.3 Core Profile (thank to @maximumspatium).
- New diameter option for the via edit dialog.
- New diameter option for the emarker edit dialog.
- New description option for the via edit dialog.
- Newly created wires will now automatically interconnect.
- Added new actions to the context menu.
- Added a new lambda option to the project settings.
- Added a new pixel(s) per micrometer option to the project settings.
- Added a crash report dialog.
- Added support to user-defined style (.qss file in .degate directory).
- Added new options to the preferences editor (e.g., clear configuration).
- Added a new "recent projects" submenu.
- Improved the French translation.
- Wire matching system now use the old 2013 version of the algorithm.
- Fixed updater.
- Fixed general preferences page.
- Fixed issue #2: 8-bit depth JPEG loading.
- Vertical wires can now be matched.
- New performance options.
- Added a new 'blue dark' theme.
- Huge overall optimization.
- Improved new background image import.
- Improved the about dialog.
- Changed the path of the '.degate' configuration directory (in the home directory now).
- Removed the fixed project size constraint (after project creation).
- Updated the installer version.
- Improved status bar design.
- Fixed layer selection after project creation.
- Added a link to the Degate documentation.
- German translation from Martin Schobert.
- Added a connection inspector dialog.
- Added automatic gate naming option.
- Added an annotation list dialog.
- Added an update checker.
- Added an auto updater.
- Added official MacOS support.
- Reworked rule violations dialog to allow translation of violations.
- Reworked the project creation dialog.
- Improved dark theme.
- Fixed subwindows text reload when language change.
- Added proper top menu options for many dialogs.
- Added modules support.
- Added the possibility to isolate/break connections of any connectable object.
- Added a full-screen mode.
- Updated the roadmap.
- Fixed a translation problem with default Qt buttons.
- Fixed a bug with color buttons of the project settings dialog (Linux).
- Fixed a menu error in the main window (for the layer edit menu).
- Fixed a translation problem with default Qt buttons.
- Fixed project switching transition, it will now ask to save current project before all.
- Fixed default grid color.
- Added rule violations dialog.
- Added "go to" function (useful for some dialogs).
- Added snap to grid.
- Added a roadmap.
- Added a contributing file.
- Added a code of conduct.
- Added a pull request template for github.
- Added automatic copy of tests files.
- Added logging for uncaught errors.
- Better theme support.
- First half of code homogenization work.
- Moved some old files to the 'etc' folder.
- Updated "About" dialog.
- Fixed a bug in the theme manager that made a buggy transition between dark and native theme.
- Fixed a possible crash when trying to select multiple objects in an area.
- Added multi-platform support (tested on Linux and Windows).
- Added multi-language support (for now only English and French are implemented).
- Added UTF-8 support for the workspace.
- Added light and dark theme support.
- And much more...
- Moved to OpenGL 3.
- Moved to Qt5.
- Reworked project configuration.
- Reworked layers configuration.
- Reworked the whole workspace area.
- Reworked the text system.
- Reworked all primitive elements (gate, annotation...).
- Moved unit tests to Catch2.
- Removed all dependencies except Boost.
- Many improvements and bugfixes.
- Test projects moved into Git repository.
- Several improvements and bugfixes.
- Integrated the undo feature from Robert Nitsch into Degate.
- Bugfix release.
- Toggle fullscreen mode with F11.
- Generate verilog code stubs and testbench stubs for standard cells.
- Run a compile test for verilog code stubs directly from the Gate Edit Dialog (requires Icarus Verilog).
- Run gtkwave directly from the Gate Edit Dialog.
- Integrated via matching (cross-correlation).
- Migrated code-base in order to support the new boost::filesystem version 3. Version 2 is still supported, too.
- Scan for vias on adjacent layers and connect them.
- Integrated color settings for wires, vias, ... into project settings.
- Added font size as project setting.
- Added a new logic model type: EMarker, which are electrically connectable marker objects.
- Snap gates to a corridor of standard cell placements.
- Implemented highlighting of adjacent objects.
- Toggle info rendering with Ctrl-3.
- Implemented autonaming of standard cells according to their row and column position.
- Allow a persistent blacklisting of DRC violations.
- Improved Design Rule Checks and the DRC violation dialog.
- Software crashed on opening projects (OS X).
- Found workaround for texture memory leak on OSX.
- Fixed several rendering problems.
- Added a jpeg image importer.
- Added global tile cache manager.
- Implemented interface to use external tools for the wire and via matching.
- Added library and GUI code to perform Design Rule Checks.
- Rewritten rendering engine: it uses OpenGL.
- Merging of standard cell template images. That will increase the recognition rate and reduces false-positive matches.
- Template matching improved.
- Several bugfixes.
- Added basic support for distributed wire tracing.
- Implemented autosave and restore.
- Added support for behavioural description of standard cells in VHDL, Verilog and free text.
- Added support for the autogeneration of VHDL and VHDL testbench code.
- Support for enabling/disabling and re-ordering of layers added.
- Annotations (a kind of 2D-boomarks) added.
- Basic support for module hierarchy added.
- Support for subprojects added.
- Basic support for wire matching added.
- Core completely rewritten in C++. The core is now called libdegate.
- Degate now uses cmake to build the code.
- Degate now uses a tile based approach to handle large images.
- Dedicated toolbar icons added.
- Open projects via command line.
- Added scaling manager: handle prescaled images (bicubical scaling).
- Template matching: select multiple gates for matching, work on scaled images.
- More API documentation.
- Project attributes added: project name and project descr.
- Gates and gate ports can have colors - wires and vias too, but there is no UI.
- Handling unregular grids.
- Naming gate objects by position.
- Precompiler macro fix: improved architecture detection (thanks to mazzoo).
- Focus removed from quit button and set to image area.
- Gate list / gate selection: sortable rows, more attributes displayed.
- Improved grid configuration.
- Improved connection inspector.
- Select gate ports.
- Inspect connections.
- Join/ unjoin objects.
- Write logic model to temp file first and rename it afterwars. This prevents data loss, if writing fails.
- Several bugfixes.
- Template matching improved.
- Several bugfixes.
- Problem with shift-release event fixed.
- Applied patch from Eric Preston. Code now complies on Feodora10 with newer sigc++22-devel headers.
- Initial package.