ALL:
We’ve arrived.
Welcome to DBRepair beta ! 
I’ve done a lot of cleanup in preparation for production status.
If it’s going to break, now is the time 
Beta test expiration is set at 21 days.
Release Notes
v00.99.11
* Version Format - Changed version format to new publication format.
* B-Tree Errors - DBRepair can now detect B-tree (hard damage) in the
database and deal with it automatically. Previously it
might fail after reconstructing a DB with this type
damage. Now it knows what to do.
* Expunge - Expunge has been expanded.
- Expunge age may be set to a value other than the
default 180 days. Limit 3000 days
- Expunge removes "0" accounts, NULL accounts, or
age-expired accounts.
- Expunge removes all statistics associated with those
accounts.
- When expunge is completed, it prints a report showing
Name or account ID and Last Active plus a total
number of accounts removed from the DB.
* Identification - DBRepair is now smarter at identifying PMS database
versions.
- If DBRepair can read your log files and that version is
known, it will have authoritative information to
complete all repairs (normal operation).
Without logs, but with a readable database set, it will
attempt to identify the PMS version it's from and load the
authoritative schemas for that version if in its list of
known versions (PMS 1.40.0 -> PMS 1.43.4 -- currently)
DBRepair can use your PMS-generated backups as a
reasonably authoritative source if it doesn't know the
exact version. Missing table, index, trigger, and
virtual table detection degrades at this point since it
has no authoritative source.
- Lastly, if no backups are available, DBRepair will use
your live DBs as the "Best Effort" source of information.
At this point, it can still repair SQLite DB damage and
rebuild anything it definitively identifies.
DBRepair will always, minimally, be able to perform basic
sqlite database checks, repairs and optimizations
* Command Options - DBRepair now supports two new options in addition to
reading the same info from Environment variables
--cacheage N eg: --cacheage 90 (sets cache age limit to 90 days for pruning old files)
--expungeage N eg: --expungeage 90 (sets age limit to 90 days )
( --cacheage is equivalent to DBREPAIR_CACHEAGE variable )
( --expungeage is equivalent to DBREPAIR_EXPUNGEAGE variable )
Known limitation:
* -n/--nocommit - Only run ONE command per invocation while -n is active.
-n prevents the repaired database from ever being made
"live", so a second command chained after it in the same
invocation (e.g. "auto expunge") does NOT see the first
command's result - it still operates on the original,
unrepaired database. Run commands one at a time under
-n.
* GitHub - Preparations are ready for going live on GitHub. DBRepair
will support a "Update" function again with Download capability (no installs)