diff --git a/TODO.md b/TODO.md index cddf605..e55eb9b 100644 --- a/TODO.md +++ b/TODO.md @@ -27,15 +27,15 @@ The six confirmed defects that used to head this file are fixed and `AKSL_KNOWN_FAILING_TESTS` is empty. What they were, and what changed as a result, is in `UPGRADING.md`. -## The four items blocked upstream +## What libakerror costs this library -Not fixable from inside this repository, and each currently costs something here. -Filed both here and against libakerror, because the fix is there and the bill is -here: +Three of these are not fixable from inside this repository, and each costs +something here. They are filed in both places, because the fix is there and the +bill is here. The fourth turned out not to be blocked at all: | Here | Upstream | What it costs | |---|---|---| -| #2 | libakerror | The unlocked error pool, **which is what makes this library single-threaded**. The threading and socket wrappers cannot be written until it is resolved | +| #2 | — | **Corrected while filing.** The unlocked error pool is a property of the libakerror this repository *pins* (1.0.0), not of libakerror (2.0.1, which locks it). `libakgl` and `akbasic` are both on 2.0.1. The work is a submodule bump and the verification that goes with it, not a wait | | #3 | libakerror | `IGNORE()` leaks a context, so `aksl_tree_iterate` open-codes log-then-release in four lines that should be one | | #4 | libakerror | The `coverage` target is not namespaced when embedded, so `-DAKSL_COVERAGE=ON` fails to configure and `CMakeLists.txt` shadows `add_custom_target` to work around it | | #5 | libakerror | No `akerrorConfigVersion.cmake`, so `find_dependency(akerror)` cannot ask for the 1.0.0 floor |