﻿= Changelog
Rizzen Yazston

== iced_af 0.4.1 (2021-11-11)

* In `Cargo.toml` changed `rust_pattern` to `rust_patterns`.

* In `src/window/preferences/state.rs` removed old obsolete fields in `Struct`.

* Fixed issue of fatal window not displaying, even though error message went to console.

* Bumped `iced` to 0.13.1.

* Improved the documentation of various files.

* Updated `core/state.rs`:

** When creating windows, the functions now makes immediate use of the `window:Id`, that is returned as `(Id, Task<Id>)` from `window::open(...)`, to insert the window state into registry. No longer require the inserting of state into registry once the window has been opened. That is the state is now available when the window opens.

** Removed the duplicating state removal in `thread_closed()`, as it was already done in `window_closed`, and may resulted in fatal errors.

** Also made function name changes to better reflection the function's purpose. These changes affected `application/application`, and all windows' state files.

** Removed obsolete struct fields and associated functions.

** Corrected `Manager::try_new()` to return `ApplicationError` instead of `CoreError`, in case the default window creation needs to return an error.

* Updated `core/localisation.rs`:

** Changed `StringCache::try_new()` to `StringCache::new()` as no errors are generated.

* Updated `window/main/state.rs`:

** Changed `display(...)` to return `Result<(Task<application::Message>, bool), ApplicationError>` where the bool indicates if main window was created (true), or another window type (such as information window) was created instead (false). Changed affected `application/application.rs` in the `open_thread(...)` function to support the change.

== iced_af 0.4.0 (2024-10-02)

WARNING: Major breaking changes resulting from using `iced` 0.13.0, `iced_aw` 0.11.0, and `iced_fonts` 0.1.1.

* Major redesign of the framework to implement the changes done in `iced` since release of 0.12.0, especially affecting the `multi_window` feature of `iced`.

* New crate dependency `iced_fonts`: fonts has been split off from 'iced_aw' starting with version 0.10.0.

* Almost every file was affected by the replacement components of `iced` and redesign of the framework.

* Changed localisation files to use `RefCount<String>` instead of `String`, with the exception of `combo_box::State::new()` in `preferences.rs` requiring `String` to be passed.

* `i18n-rizzen-yazston` was also bumped to 0.10.0.

* Added generic unsaved data dialogue window.

* Added filename to main and unsaved data windows' titles, to identify main windows that are opened.

== iced_af 0.3.0 (2024-04-11)

WARNING: Breaking changes resulting from 2 dependencies, or 3 dependencies if crate feature `i18n` is enabled.

* Updated `iced_af` to use `iced` 0.12.0, `iced_aw` 0.8.0, and for crate feature `i18n` the `i18n-rizzen-yazston` 0.9.1. 

* Updated the event_control container `event_control.rs` to use `iced` released version 0.12.0 instead of the `master` branch prior to 0.12.0 being released.

* Also updated `trait.rs` and `menu_bars.rs` to work with `iced` 0.12.0. The change involved the decoupling of `Theme` from `Renderer`.

* Expanded the logging setting in the Preference window.

== iced_af 0.2.0 (2024-02-13)

* Added feature options for various configurations that applications may use.

* Added script layout flow direction support for the windows.

* Added application configuration `const`s to `lib.rs`, and updated windows to use them.

* Added additional usage note for application configuration `const`s.

== iced_af 0.1.2 (2024-01-23)

* Added the `About` window.

* The fake menu bar About button now works.

* In `README.ascidoc` added some useful tips on adding new windows to the project.

== iced_af 0.1.1 (2024-01-22)

* Currently compiles to `iced` commit `545cc90` (latest commit on `master` branch).

* Commented out the dependency `iced_aw` for now, as `menu` is still outstanding.

* Updated `Container`:

** To support new `Border` and `Shadow` types of `iced`,

** Due to the removal of padding methods from `Limit` type.

* Added some information regarding the design.

== iced_af 0.1.0 (2024-01-19)

* Copy the core from another project being developed and cleaned up the source code

* Create localisation database.

== iced_af 0.0.0 (2024-01-18)

* The `iced_af` project's Git repository initialised with basic directory structure:

* README.asciidoc: Basic project description.

* Using `all_in_one.sqlite` for localisation. It will contain a few Italian entries (translation via Google Translation), purely for demonstration purposes
