# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [3.17.0] (TBD)

### Added

- Checking of CityGml ZIP-archives with CityDoctor (#12)

### Changed

- Changed GUI to allow loading and checking of ZIP-archives. (#12)

### Fixes

- Reworked self-intersection calculations to eliminate false-positives (#65)
- CityGml objects added in 3.16.0 are now being recorded in error statistics and validation reports (#104)
- Envelope and CRS will now be included when exporting singular features
- Fixed various minor errors and bugs in CityDoctorGUI

## [3.16.0] (2024-11-11)

CityDoctor now supports the import, export and validation of CityGML 3.0 files.

#### CityGML Object parsing

- CityDoctor is now capable of parsing and validating the following CityGML objects:

    - Tunnel, TunnelParts, TunnelHollows and TunnelInstallations
    - BuildingRooms, BuildingFurniture, BuildingStoreys and BuildingUnits
    - BridgeRooms and BridgeFurniture
    - CityFurniture
    - GenericCityObjects

- CityDoctor now supports ImplicitGeometries and CompositeSurfaces.

- Data from CityDoctor's internal model will now be exported to the same CityGML version as
the input file, rather than always exporting it to CityGML 2.0.


#### CityDoctorGUI

- Featuretabs for Tunnel, CityFurniture and other CityObjects were added.

- QoL improvements:
  - Added a north arrow to the mesh view.
  - The camera of the mesh view can now be dragged by holding the right mouse button.
  - Added a button which resets the camera view back to the initial state.
  - Added a button to toggle hiding of roof BoundarySurfaces in the mesh view.
  - Feature-tabs will now be greyed out if they contain no objects.
  - Added a view-tab for GenericAttributes


### Fixed

- Fixed a TreeNode text color bug, which showed unchecked objects as being already validated.
- Fixed an oversight in the CityGML version number parsing


## [3.15.0] (2024-09-03)

### Added (7 changes)

- Add CityDoctorAutoPro extension.
- Add CityDoctorGUI extension.
- Add CityDoctorHealer extension.
- Add CityDoctorHealerGUI extension.
- Add CityDoctorHealerGenetic extension.
- Add CityDoctorWebService extension.
- Add Documentation for extension modules.

### Fixed (1 change)

- Fix false positives for Solid self-intersections.

### Changed (1 change)

- Update Maven dependencies: Include JavaFX

### Security (1 change)

- Upgrade SnakeYAML to version 2.0

## [3.14.0] (2024-03-20)

Official Release of CityDoctor2