diff --git a/ChangeLog b/ChangeLog index e7fa7a108..6296705c6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,128 @@ +# QElectroTech - CHANGELOG + +## Version 0.100 + +_Compiled from provided commit logs and contributor notes._ + +## Overview + +This release (v0.100) collects a large set of new features, UI and editor improvements, element and symbol updates, build and packaging fixes, dependency upgrades, translations, and a broad set of bug fixes and stability improvements. It is intended as a stable, feature-rich stepping stone toward the next major workflows for symbol editing, terminal/strip handling and export improvements. + +## Highlights / Key Features + +- **Terminal Strip / Terminal Strip Editor** +- New TerminalStripItem type and related editor workflow added. +- Support for drawing and displaying terminal bridges and links in the editor. +- Full editor support (layout preview, save/load into .qet files) and undo support for terminal strip operations. +- **New Example Projects** +- Several new example projects included, notably photovoltaic (PV) examples to help users getting started with PV designs. +- **Improved Export / Print Handling** +- Export limits adjusted and better handling of QPainter/printing boundaries to avoid export artefacts and out-of-range errors. +- Export dialog updated to allow larger pixel limits where appropriate. +- **Element & Symbol Additions** +- New elements and symbols added (including vendor-specific elements and additional sensors/Arduino components). +- Improvements to element import & metadata handling. +- **Packaging & Multi-arch Support** +- Updated packaging scripts for AppImage, Flatpak, Snap and macOS deployment. Improved aarch64/arm64 support. + +## Detailed Changes + +### Editor & UX + +- Better handling for **rotation, flip and mirror** operations in the element editor: +- Primitives and text rotation behavior improved. +- Finer rotation increments and predictable text orientation after flips/rotations. +- **Wiring and conductor behavior**: +- More robust creation and movement of wires and conductor bundles. +- Improved text attachment and positioning for wires and improved stability while editing complex conductor networks. +- **TerminalStrip editor**: see Highlights - includes drawing, preview, layout editing, persistent storage in the project file and undo support. +- **Element Editor & Symbol Trim/Sort**: +- Improved trimming/normalization of element metadata. +- Better sorting and error handling for element imports (DXF and other formats). +- Small UI improvements: About dialog updates, autosave spinbox ranges, improved tooltips and mouse-hover help for dynamic texts. + +### New & Updated Elements + +- New elements added for industrial and automation workflows (including Siemens-related elements, logic elements, sensors and Arduino components). +- Symbol library additions and cleanup; improved defaults for newly added symbols. +- Element meta-data cleanup: article numbers, descriptions, and manufacturer fields were normalized and trimmed on import. + +### Export / Printing / PDF + +- Adjusted internal export limits to avoid hitting QPainter size restrictions; users can now export larger, high-resolution images/prints in more cases. +- Better handling of page sizes and printer-related geometry using QRectF improvements. +- PDF export improvements to increase reliability of exported vector content. + +### Build, Dependencies, Packaging + +- Upgrades of core test and build dependencies: +- Catch2 upgraded to v2.13.10. +- googletest upgraded to v1.17.0. +- CMake fixes and i18n handling corrected for nl_BE and other locales. +- Packaging scripts updated across platforms (AppImage/Flatpak/Snap/macOS deploy) including fixes for aarch64/arm64. +- Submodule updates (e.g., qelectrotech-elements, pugixml, SingleApplication) synchronized where needed. + +### Internationalization & Translations + +- Large translation updates across many languages: German (DE), French (FR), Dutch (NL, including nl_BE), Swedish (SV), Italian (IT), Polish (PL), Portuguese-BR (PT-BR), Serbian (SR), Chinese (Simplified) and others. +- Fixes and corrections for many UI strings and localized resources. + +### Tests, QA & Logging + +- Improved logging and machine/config-path reporting; Git revision display refined to only show a revision when available. +- Unit test updates and fixes to align with updated testing frameworks. + +## Bug Fixes (selected) + +- Fixed crashes and various null pointer access issues discovered by static and dynamic testing. +- Resolved multiple reported bugs that caused build failures on some platforms (FTBFS fixes for macOS and others). +- Fixed issues with automatic conductor/strand numbering in several edge cases (referenced Bug 293 in the commit logs). +- Resolved text/summary headline issues in the German-language summary generator. +- Fixes for a number of visually incorrect renderings and layout corner-cases during element transformation (rotate/flip/mirror). +- Fixed issues that affected export sizes and caused export artifacts (referenced fixes for bug IDs around #329/#330 in commit notes). + +## Developer & Contributor Notes + +- Reworked parts of the codebase to use QRectF consistently for better compatibility with QPrinter and export pipelines. +- Code-style cleanups and comment improvements applied throughout the project. +- Expanded test coverage and dependency refresh to keep CI builds stable. + +## Contributors (selected) + +Thanks to the many contributors who made this release possible. Selected contributors mentioned in the commit logs include: + +- Laurent Trinques +- joshua +- plc-user +- Achim +- Pascal Sander +- Andre Rummler +- Magnus Hellströmer +- Martin Marmsoler +- Remi Collet + +(See the full commit history for the complete contributor list.) + +## Upgrade / Migration Notes + +- No database or project file format breaking changes were reported in the provided logs. As always, back up projects before opening them with a new version. +- If you rely on custom element libraries or third-party submodules, verify submodule synchronization after upgrading. +- If you are using custom packaging pipelines, review the updated packaging scripts for any changes required by new dependency versions, especially on aarch64/arm64. + +## Known Issues & Limitations + +- Some very large exports may still be limited by platform-specific rendering restrictions; the export dialog now allows larger pixel limits but extreme sizes may still hit system-level limits. +- If you use niche element-import workflows (DXF → element import), occasionally metadata normalization may alter whitespace/trim rules - verify newly imported elements in the element editor. + +## How to get help / report bugs + +- Use the project issue tracker (see repository) to report regressions or new bugs with detailed reproduction steps and example .qet files where possible. +- Include the output of Help → About (application version and Git revision) when reporting build/packaging issues. + + + + + ====== ChangeLog from 0.8 to 0.9 ======