# Changelog: browserinfocm

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.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]


## [0.2.0] (2026-04-19)
### Added
* doc comments

### Changed
* The four `Signal<>`s in `BrowserInfoProps` are combined into one struct and `Signal<>`.
* I reorganized the dependencies in `Cargo.toml`.

## [0.1.17] (2026-04-16)
### Changed
* `get_ip_address_string()`: more safety
* robustly handled `document::eval()` results
* the global singleton state is used `std::sync::LazyLock<String>` at `src/li/backends/forwarder.rs`.
* Refactored `save_broinfo()` and `save_user_agent()` to remove the redundant `loop` and `-1` checks.
* Replaced `std::env::home_dir()` with the `dirs` crate.
* `dioxus_logger` to `dioxus::logger`
* update crate: browserinfo(0.1.7)

### Removed
* `async_sleep(0)` unless a specific race condition or execution order issue was observed.

## [0.1.16] (2026-04-11)
### Changed
* update crate: dioxus(0.7.5)

## [0.1.15] (2026-04-03)
### Changed
* update crate: dioxus(0.7.4), toml(1.1.2)

## [0.1.14] (2026-02-12)
### Fixed
* unreachable code after return statement: added all around `{}` on javascript

## [0.1.13] (2026-01-19)
### Removed
* version lock: zvariant(=5.8.0)

## [0.1.12] (2026-01-17)
### Changed
* update crate: browserinfo(0.1.5),dioxus(0.7.3)

## [0.1.11] (2026-01-12)
### Added
* crate: `async-sleep-aki`

### Changed
* to match database name convention
* `CREATE TABLE` to use `raw_sql()`
* `fn BrowserInfoCm()` to obtain `bicmid` first
* migrated from `rusqlite` to `sqlx with sqlite`

## [0.1.10] (2026-01-02)
### Fixed
* invalid `get_or_create_bicmid()` on android

## [0.1.9] (2026-01-01)
### Fixed
* `README.md`

## [0.1.8] (2026-01-01)
### Added
* the `Bicmid` table into databse
* `bicmid` on browser's local strage

### Changed
* `anon_uuid` to `anon_bicmid`
* `Logs` table to `Log` table

### Fixed
* primary key AUTOINCREMENT on create table
* `get_or_store_xxx()` must return -1 if it errors

## [0.1.7] (2025-12-27)
### Changed
* `README.md`

## [0.1.6] (2025-12-27)
### Added
* the `User` table into database

### Fixed
* doc comment: missing user param

## [0.1.5] (2025-12-26)
### Added
* `patched` by using `patch-crate`
* the `IpAddress` table into db
* env::var() to backend db path: `BROWSERINFOCM_DB_PATH`
* `brotli` on `backend_next`

### Changed
* depend dioxus to aki's github to fixed a bug of `base_path`

### Fixed
* the missing depend on `backend_next`

## [0.1.4] (2025-12-15)
### Changed
* cleanup backends

### Added
* a `user_id` column into a `Logs` table
* a `ipaddr` column into a `Logs` table
* tests

## [0.1.3] (2025-12-11)
### Added
* `backend_user_agent` to features for cfg

## [0.1.2] (2025-12-08)
### Changed
* splited `component` and backends from broinfo.

## [0.1.1] (2025-12-06)
### Added
* first commit

[Unreleased]: https://github.com/aki-akaguma/browserinfocm/compare/v0.2.0..HEAD
[0.2.0]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.17..v0.2.0
[0.1.17]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.16..v0.1.17
[0.1.16]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.15..v0.1.16
[0.1.15]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.14..v0.1.15
[0.1.14]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.13..v0.1.14
[0.1.13]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.12..v0.1.13
[0.1.12]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.11..v0.1.12
[0.1.11]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.10..v0.1.11
[0.1.10]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.9..v0.1.10
[0.1.9]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.8..v0.1.9
[0.1.8]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.7..v0.1.8
[0.1.7]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.6..v0.1.7
[0.1.6]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.5..v0.1.6
[0.1.5]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.4..v0.1.5
[0.1.4]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.3..v0.1.4
[0.1.3]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.2..v0.1.3
[0.1.2]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.1..v0.1.2
[0.1.1]: https://github.com/aki-akaguma/browserinfocm/compare/v0.1.0..v0.1.1
[0.1.0]: https://github.com/aki-akaguma/browserinfocm/releases/tag/v0.1.0
