From 4cf6a15577ad5abd31550f5b23a72ab979a865dd Mon Sep 17 00:00:00 2001 From: Joscha Date: Sun, 23 Feb 2025 23:43:38 +0100 Subject: [PATCH] Bump version to 0.9.0 --- CHANGELOG.md | 5 +++-- CONFIG.md | 60 +++++++++++++++++++++++++++++++++++----------------- Cargo.lock | 8 +++---- Cargo.toml | 2 +- 4 files changed, 49 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e2344ff..ed799ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,11 +11,12 @@ Procedure when bumping the version number: 4. Run `cargo run help-config > CONFIG.md` 5. Commit with message `Bump version to X.Y.Z` 6. Create tag named `vX.Y.Z` -7. Fast-forward branch `latest` -8. Push `master`, `latest` and the new tag +7. Push `master` and the new tag ## Unreleased +## v0.9.0 - 2025-02-23 + ### Added - Unicode-based grapheme width estimation method diff --git a/CONFIG.md b/CONFIG.md index 66625d0..feec645 100644 --- a/CONFIG.md +++ b/CONFIG.md @@ -93,9 +93,9 @@ Whether to automatically join this room on startup. **Type:** boolean **Default:** `false` -If `euph.rooms..username` is set, this will force cove to set the -username even if there is already a different username associated with -the current session. +If `euph.servers..rooms..username` is set, this will force +cove to set the username even if there is already a different username +associated with the current session. ### `euph.servers..rooms..password` @@ -607,12 +607,11 @@ Move to root. **Type:** boolean **Default:** `false` -Whether to measure the width of characters as displayed by the terminal -emulator instead of guessing the width. +Whether to measure the width of graphemes (i.e. characters) as displayed +by the terminal emulator instead of estimating the width. Enabling this makes rendering a bit slower but more accurate. The screen -might also flash when encountering new characters (or, more accurately, -graphemes). +might also flash when encountering new graphemes. See also the `--measure-widths` command line option. @@ -656,18 +655,41 @@ order of priority): Time zone that chat timestamps should be displayed in. -This option is interpreted as a POSIX TZ string. It is described here in -further detail: - +This option can either be the string `"localtime"`, a [POSIX TZ string], +or a [tz identifier] from the [tz database]. -On a normal system, the string `"localtime"` as well as any value from -the "TZ identifier" column of the following wikipedia article should be -valid TZ strings: - +When not set or when set to `"localtime"`, cove attempts to use your +system's configured time zone, falling back to UTC. -If the `TZ` environment variable exists, it overrides this option. If -neither exist, cove uses the system's local time zone. +When the string begins with a colon or doesn't match the a POSIX TZ +string format, it is interpreted as a tz identifier and looked up in +your system's tz database (or a bundled tz database on Windows). -**Warning:** On Windows, cove can't get the local time zone and uses UTC -instead. However, you can still specify a path to a tz data file or a -custom time zone string. +If the `TZ` environment variable exists, it overrides this option. + +[POSIX TZ string]: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03 +[tz identifier]: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones +[tz database]: https://en.wikipedia.org/wiki/Tz_database + +### `width_estimation_method` + +**Required:** yes +**Type:** string +**Values:** `"legacy"`, `"unicode"` +**Default:** `"legacy"` + +How to estimate the width of graphemes (i.e. characters) as displayed by +the terminal emulator. + +`"legacy"`: Use a legacy method that should mostly work on most terminal +emulators. This method will never be correct in all cases since every +terminal emulator handles grapheme widths slightly differently. However, +those cases are usually rare (unless you view a lot of emoji). + +`"unicode"`: Use the unicode standard in a best-effort manner to +determine grapheme widths. Some terminals (e.g. ghostty) can make use of +this. + +This method is used when `measure_widths` is set to `false`. + +See also the `--width-estimation-method` command line option. diff --git a/Cargo.lock b/Cargo.lock index 0f41db7..cc86a84 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -330,7 +330,7 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cove" -version = "0.8.3" +version = "0.9.0" dependencies = [ "anyhow", "async-trait", @@ -358,7 +358,7 @@ dependencies = [ [[package]] name = "cove-config" -version = "0.8.3" +version = "0.9.0" dependencies = [ "cove-input", "cove-macro", @@ -369,7 +369,7 @@ dependencies = [ [[package]] name = "cove-input" -version = "0.8.3" +version = "0.9.0" dependencies = [ "cove-macro", "crossterm", @@ -383,7 +383,7 @@ dependencies = [ [[package]] name = "cove-macro" -version = "0.8.3" +version = "0.9.0" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 119f98e..26aa29d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ resolver = "3" members = ["cove", "cove-*"] [workspace.package] -version = "0.8.3" +version = "0.9.0" edition = "2024" [workspace.dependencies]