OpenTTM

Release notes

What changed in each OpenTTM 9.x release, newest first. Each installer contains everything in the releases below it, so you only ever need the newest one.

Releases

Read this first

Installing

The installer is per-user and does not need an administrator. It installs to your own account, under %LOCALAPPDATA%\OpenTTM. Everyone who uses the computer installs it for themselves; nobody has to be an administrator to run it.

If you have a version before 9.0.0, setup will stop and ask to remove it. Those installed for the whole machine, so removing one does need an administrator — setup offers to do it and will not continue otherwise. This is deliberate: the old Start Menu shortcuts point at the old program, and leaving them would quietly run last year's code from an entry that looks identical.

Nothing of yours is touched. Your trials in Documents\Total Trial Management, the loc.ini that says where your data file lives, and the folders you have chosen per trial all carry over. Installing, upgrading and uninstalling never open a trial.

Upgrading the data file

The database is upgraded automatically the first time you open it. There is no separate step. Every change is additive — nothing is removed and no existing column changes meaning.

Take a copy of your backend first anyway. It has never been needed, and it costs nothing.


9.1.7 — October 2026

Your data file does not change. A 9.1.7 front end opens a 9.1.2 through 9.1.6 data file with no upgrade step at all. Take a copy first anyway; it costs nothing.

9.1.6 was built and never published, so everything in its section below is new to you as well.

Setting up a trial from the AKC no longer stops on a judge's phone number

Set Up a Trial from AKC could stop with "The field is too small to accept the amount of data you attempted to add" (3163) when a judge was already on file. The AKC prints a phone number as (815) 520-4939 and a ZIP+4 as 33981-8309; the import wrote them that way, and an older data file has room only for the digits. The judge's line was left blank and the event could not be created.

About box

Help → About now credits Robert Olson as the developer, with bob@rdolson.org as the contact.

Not yet exercised


9.1.6 — October 2026

Your data file does not change. Nothing was added to it and nothing was removed, so a 9.1.6 front end opens a 9.1.2 through 9.1.5 data file with no upgrade step at all. Take a copy first anyway; it costs nothing.

Move Up prints quarter-sheet scribe sheets

The Move Up window has a Move Up & Print Qtr button beside the half-sheet one. It prints the moved-up dog's runs as single quarter sheets, centred for a hand-fed sheet, one per page.

Payments: check numbers follow the payment

An entry's check numbers are now kept in step with its payment. They used to be written once, when the dog was first attached, so a check added afterwards never reached the entries already on the payment. Adding, changing or deleting a payment item now updates every dog on that payment.

Finding an envelope by dog or owner

Find on Entries by Envelope is now a dropdown that searches dogs as well as owners — call name, registered name, or the owner's first or last name. It also finds an envelope that has no payment keyed against it yet, which the old search could not see.

Copy All copies the envelope

Copy All on the entry window now copies every dog in the current dog's envelope, which can hold more than one owner's dogs. A dog not yet in an envelope falls back to its owner's dogs, as before.

Copy an owner's address

Owner Maintenance has a Copy address button that puts the owner's name and address on the clipboard as a mailing block, with the postal code formatted for printing.

The payment form's Entry button opens the right dog

An entry window left open from the previous dog no longer stays on it. The Entry button on the payment form now closes and reopens the entry window on the dog you are looking at.

Not yet exercised


9.1.5 — October 2026

Your data file does not change. Nothing was added to it and nothing was removed, so a 9.1.5 front end opens a 9.1.2, 9.1.3 or 9.1.4 data file with no upgrade step at all. Take a copy first anyway; it costs nothing.

Obedience scoring: a finished class locks itself

Once every dog in a class has a score and a placement, the class shows as locked — so a stray keystroke cannot change a result you have already reported. To correct something, unlock the class, make the change, and it locks again the next time you come back to it. The unlock lasts only while you are on that class: re-choosing the class relocks it, re-sorting does not.

Save the obedience report sheet as a PDF

The report-sheet window has a third choice beside Preview and Print: Save to trial folder, which writes the sheet as a PDF into that trial's own folder, named from the event number and the class. If the trial has no folder set, it says so rather than writing the file somewhere else.

The results report lists dogs that were not scored

A dog with no score used to drop off the results report entirely, so a class that was not finished could look complete. Unscored dogs are now listed and marked Not Scored, which makes an unfinished class obvious before you print a catalog from it.

Moving a dog between Regular and Preferred

A move-up can now cross between Regular and Preferred, following the AKC's June rule change. The Entered in and Move to lists no longer refuse the crossing.

Course times: Tab lands on the next yardage, and a warning before a change

Financial Report by Day, now on the menu

Financial Report by Day… is on the Reports menu — under Trial Secretary for obedience — for every discipline. It totals fees and payments for the days and payment types you pick, and its Discrepancies button reconciles what the club charged against what was collected, envelope by envelope, with voided checks netted out — so a day that does not balance is easy to find.

New AKC titles recognised

The AKC title list that splits a registered name gains the Virtual Home Manners titles (VHMP, VHMA) and the Herding Course D titles (HSDS, HIDS, HXDS). A suffix title the AKC has not published is also no longer dropped when it follows a known one.

Not yet exercised


9.1.4 — October 2026

Your data file does not change. Nothing was added to it and nothing was removed, so a 9.1.4 front end opens a 9.1.2 or 9.1.3 data file with no upgrade step at all. Take a copy first anyway; it costs nothing.

9.1.3 was built but never published. Everything in its notes below arrives with this release as well, so if you are on 9.1.2 you are getting both.

The AKC sign-in works again, and keeps you signed in

Signing in to the AKC finished with "The AKC did not issue a site session", after Gigya, the AKC's login service, had already accepted your password and emailed code. The step that failed is the one that turns that login into a session on the AKC's own site, and the dog pages need that session and nothing else.

The program had been making that request in a shape of its own devising. It worked for a few days, for a reason nobody identified, and then stopped. It now makes the request exactly as the AKC's own web page does, and says what the server answered if it ever refuses again.

This is the second time the AKC has changed something under this feature, and there is no published interface behind it. It may need attention again. If a sign-in fails with a message naming an HTTP status, that message is the thing to send.

Also better:

Course times: enter the yardage once

The AKC judge measures the course three times for Excellent and Master — once for the small heights, once for 16", once for the large ones — and once for Novice and Open, where every height runs the same course. The SCT/Yardage window used to ask for a yardage on every height, so the same number was typed several times.

Typing a yardage in any row now fills in the others that share that measurement, with the yardage, the standard course time and the maximum course time, each worked out from its own height's speed:

small middle large
Regular 8, 12 16 20, 24, 24C, 26
Preferred 4, 8 12 16, 20

In Novice and Open every height shares one yardage. Everything it fills in stays editable, and a time you type over it is kept until you enter the yardage again. ISC, International and CKC classes are unchanged.

Marking a dog Absent clears its time and its faults

Absent was the one status that left the rest of the row alone. No Time and Withdrawn already reset the time; Absent did not, so a time entered before the dog was marked absent stayed on it — and the scoring display and the published pages read a recorded time as "has run". Faults were left too, and saved with the dog. Both are cleared now.

Un-marking Absent does not bring them back, the same as No Time and Withdrawn; the dog has to be re-scored.

Pulling a dog no longer leaves #deleted in the payment list

Pulling a dog from the trial while the payment window was open left that dog's row in Dogs in this payment showing #deleted. The list now refreshes when the dog is pulled, and again when you come back to the payment window. The Remove button beside it also now reports a failed delete instead of carrying on as though it had worked.

Scribe sheets by paper colour

Two options on the by-colour window:

Not yet exercised


9.1.3 — 8 October 2026

Your data file does not change. Nothing was added to it and nothing was removed, so a 9.1.3 front end opens a 9.1.2 data file with no upgrade step at all. Take a copy first anyway; it costs nothing.

The judge's certification is one block per judge again

The certification page printed a separate signed paragraph for every class and every division — six on one measured day where the AKC's wording asks for one. The form is a single certification naming each class with a count against it, and that is what prints now: one block per event per judge.

An event is not a calendar day, and the distinction matters here. One day can carry several AKC event numbers, and a single event can be split between judges — of 108 events checked, seventeen had two judges, three had three and three had four. The certification is scoped to the event and the judge, so each of them signs for what they actually judged.

This affects the AKC and CKC agility catalogs. The scentwork catalog uses a certification of its own and is unchanged.

Reports no longer die when you close the dialog first

Closing a selection window before closing the report behind it raised "Invalid procedure call or argument" and left you with an error box naming a line number and nothing else.

Thirty-one reports were affected — every discipline's catalog, both ribbon label reports, the armband reports, the result sheets, the running order sheets and the scribe sheets. Each one remembered the window that opened it so it could bring it back afterwards; if you had already closed that window, there was nothing left to bring back and the report said so in the least helpful way available. It now notices and carries on.

The scoring display shows faults, speed and Premier's top 25%

Three things the board was asked for and could not answer:

A qualifying score is now blue rather than green. Green against the red of an NQ is the one pair that red-green colour blindness runs together, and a board at ringside is read at a glance from across a ring by whoever happens to be standing there. The published results site does the same.

The published results pages actually come back with new scores

The results web site refreshed itself every minute and showed the same scores anyway. Two separate causes, and only one of them was the one anybody noticed.

The web host tells browsers an exhibitor page is good for ten minutes. A page regenerated every minute was therefore reused from the browser's own store without the server being asked at all — so the refresh worked perfectly and changed nothing, in a tab in plain sight, not only a hidden one. The pages now ask properly, and each day's folder carries a small file telling the server to stop claiming otherwise.

And a tab in the background is throttled by the browser, which is the half that was reported. Nothing brought the page up to date when you came back to it. Now it does, the moment the tab is in front of you again.

A day you have not published yet has a page

Clicking tomorrow in the day bar gave a not found error, because each day's results are published by its own run and the folder does not exist until then. Every other day of the trial now carries a short page saying results have not been posted yet, with the day bar on it so the day that is running is one click away.

A day already published is never overwritten by one of these.

Smaller things

Not yet exercised


9.1.2 — 3 October 2026

Your data file does not change. Nothing was added to it and nothing was removed, so a 9.1.2 front end opens a 9.1.1 data file with no upgrade step at all. Take a copy first anyway; it costs nothing.

The AKC dog lookup works again

Looking a dog up at the AKC stopped working, and it failed in the most misleading way possible: the sign-in said it had worked. You would sign in, be told everything was fine, and then every lookup would answer "Not signed in to the AKC."

Both halves of that were true at once. Signing in genuinely succeeded; what failed was a step afterwards that fetches one cookie — the single thing the AKC's dog pages actually test. The program claimed success without ever checking whether it had got it.

The AKC changed how that cookie is issued. The request the program used to make now returns an empty answer. A different one, which the web site itself makes when you log in, still works. It now tries to find an existing session first and only asks for a new one if there is none.

Three things are better regardless of the AKC:

New: refresh a dog's titles from the AKC

A button on the entry form reads the dog's current titles from the AKC and offers to update what is on file. Titles are earned between trials and a dog entered last season is often out of date on paper.

New: clearing stale table faults

Tools → Clear Stale Table Faults removes the empty table-fault column from classes that no longer have a table.

The AKC removed the table from Excellent and Master Standard, and 9.0.x stopped offering it for those classes. But a dog entered before that change reached your data file keeps the column it was given when it was entered, so one class can show the column for some dogs and not others. On a real trial that was 45 of 160 entries — split exactly by the date each entry was keyed.

Also new

Fixed

Not yet exercised


9.1.1 — 30 September 2026

Your data file does not change. Nothing was added to it and nothing was removed, so a 9.1.1 front end opens a 9.1.0 data file with no upgrade step at all. Take a copy first anyway; it costs nothing.

Merchandise is on hold, and the Catalog tick is back

The merchandise screens that arrived in 9.1.0 are withdrawn. Trial Setup goes back to the Catalog tick they replaced, and that tick reads the data it always did — every catalogue already recorded is still there and still shows.

The feature works. What stopped it is the last piece: getting what somebody owes for a catalogue into their envelope's total. Charges sit at two levels and only one of them reaches an envelope — an entry fee is per dog, and arrives by a route merchandise has no equivalent of. Finishing it properly needs a change to the data file and a decision about what an envelope is for, and a release was wanted sooner than that could be done honestly.

Nothing is lost. The design, both screens and the measurements behind them are kept, and the work to restore them is recorded. The data-file step that came with merchandise in 9.1.0 stays in place, doing nothing — a step that has already run cannot be withdrawn without leaving data files numbered above a history that no longer explains them.

New: looking a dog up at the AKC

Owner Maintenance → Look Up a Dog at AKC. Type a registration number and the dog's registered name comes back from the AKC, with its titles already separated from the name, in the ordinary Add a Dog dialog. Nothing is saved until you apply it.

This is the other half of Add a Dog from AKC in 9.0.4, which reads a block you have copied from the AKC page yourself. Both now end in the same place, so they cannot disagree about what is a title and what is a name, and either will offer to open a dog that is already on file rather than make a second copy.

It needs you to sign in to the AKC, which it offers the first time you use it each day: your login, your password, and a code the AKC emails you. The sign-in lasts until you close the database and is never written to disk — only your login name is remembered, so the next day is a password and a code.

New: High In Trial and High Combined worksheets fill themselves in

The worksheets under Reports → Scoring Table used to print blank for you to complete by hand. They now carry the scores that have already been entered, so one can be printed part way through a day to see where the awards stand.

The judging schedule now follows the AKC rules as written

The schedule in 9.1.0 was built to reproduce schedules that had already been published. Read against the regulations instead, several things were wrong:

If you already have a judging-schedule.txt for a trial, check its briefinglevels line. One file serves both obedience and rally, so a setting written for one silently applied to the other — which is what removed the walkthroughs from rally schedules entirely, without anything saying so. A setting can now name the discipline it belongs to: briefinglevels.obedience. Fixing the program does not fix a file already written.

Also new

Fixed

Not yet exercised


9.1.0 — 9 September 2026

New: merchandise

Withdrawn in 9.1.1. The Catalog tick is back and your catalogue records carried over intact. See the 9.1.1 notes above for why.

Things an owner buys at a trial that are not entries — catalogues above all.

A catalogue used to be a Yes/No tick on the owner's entry that nothing priced, so it was recorded and never charged. It is now a list the trial sets up and a quantity the owner orders.

Catalogue ticks you already have are carried over, priced at nothing. Every event with anybody ticked gets a Catalog item and every ticked owner an order for one. Nothing in the data records what was charged, and inventing a figure would put money in the ledger that nobody agreed to — set the price and the totals follow.

New: the judging schedule

The judging schedule a club publishes before a trial is now produced by the program. It used to be two Perl scripts outside it, which had drifted apart from each other and no longer ran against the current data file at all.

Reports → Trial Secretary → Judging Schedule... picks the classes, the layout, the paper and draft mode, and either saves the schedule or puts it on the clipboard.

Dogs-per-hour rates now live in your data file rather than in the program. They were a table inside the program, which meant upgrading replaced your own rates every time. The copy in your data file — the one that has actually been maintained, carrying Rally Choice, Pairs, Team and all 21 scentwork classes the shipped copy never had — is now the only one.

New: results by email, for every run

The results email reported qualifying runs only, and only for agility and obedience. It now reports every run that happened — Q, NQ, excused and eliminated — and lists absences and withdrawals beside them, for agility, obedience, rally, herding and scentwork.

One message per owner, so somebody with three dogs gets a single email covering all of them across every day of the trial. An owner whose entries are all absences and withdrawals is not written to at all: there is nothing to tell them they do not already know.

It is also about thirty times faster — a 195-message run takes ten seconds where it took five and a half minutes.

New: publishing results to the club's web site

Tools → Publish Results... writes a small web site for the day and uploads it, refreshing about once a minute while a trial runs. It replaces a set of scripts kept outside the program.

Settings live in the trial's own folder, so they travel with the trial; the first run writes a template and opens it. Only pages that have actually changed are uploaded.

Agility only, and see Not yet exercised below.

Also new

Fixed

Not yet exercised


9.0.6 — 4 September 2026

Fixed


9.0.5 — 4 September 2026

Fixed

Three faults reported against 9.0.4, all in obedience:

An attempted fix for the catalog printing failure was included and then backed out before release: the fault was never in the printing path. The real fix is in 9.0.6.


9.0.4 — 1 September 2026

New: adding a dog from an AKC record

Look a dog up on the AKC's site, copy the block showing its registered name and number, and Add a Dog from AKC on Owner Maintenance opens the Add a Dog dialog with the name already split into its prefix and suffix titles, the registration number filled in and the type set.

It is a paste rather than a lookup: the AKC retired the interface that would have let the program fetch this directly, and the pages that replaced it cannot be reached by a program at all.

Fixed


9.0.3 — 31 August 2026

New: setting a screen up before the trial

Tools → Score Display Demo replays a day that has already been scored, so the screens at the rings can be positioned and adjusted with no trial running. It picks the busiest day of the trial you have locked in — a day nobody scored would replay as an empty board, which is no use for the purpose.


9.0.2 — 30 August 2026

New: looking an owner's address up

An owner's address can be filled in from Google's address data instead of typed. Type enough to be recognised, pick from a short list, and the street, city, state, ZIP and country fill themselves in — with the four-digit ZIP extension where there is one.

The Look up... button is beside the address on the three screens where one is edited: the owner panel of the entry screen, Add Owner, and Owner Maintenance.

It is optional and it is not part of the program's price. The lookup uses Google's service, which you sign up for yourself and which bills you rather than the club. Until you enter a key nothing changes — the address boxes behave exactly as before. The dialog explains what it is and takes the key, so there is nothing else to set up.

For ordinary office use the cost is almost certainly nothing: as of August 2026 Google allows 10,000 free calls a month to each of the two services involved, and one address is about two calls.

The key is kept on that computer, for that Windows account — not in the data file, which travels between clubs and machines and would take the key with it. So each computer needs its own, and upgrading the program does not disturb it.

The manual has the sign-up written out step by step, including the two traps: Google asks for a credit card even though ordinary use is free, and two separate services have to be switched on, one of which has an older similarly-named entry that does not work.

United States and Canada only — those are the only countries the program stores addresses for.

Known limitations

New: obedience entry fees are worked out for you

Obedience always used the same fee model as agility — the first class a dog enters on a day at the first price, the second at the second, starting again each day — but there was no way to reach it. Trial Setup did not offer the Entry Fee tab for obedience, so no prices could be entered, and every fee had to be typed in by hand.

The tab is there now. Enter the schedule once for the trial and the fee is filled in as classes are added, and worked out again if a class is removed or a dog is withdrawn.

Only the ordinary case is handled: a price for the first class, a price for each additional one. Classes charged per team rather than per dog — Rally Team and Pairs, obedience Brace and Team — are not, and still need their fee typed in. That is coming.

Nothing changes for a trial you have already priced by hand, and nothing already recorded is altered.

Fixed


9.0.1 — 28 August 2026

New: the scoring display

Scores can now be shown on screens at the rings, updating as they are entered.

Tools → Score Display starts it and opens it in your browser. The page lists the addresses to open on the other machines — a second laptop, a tablet, a television with a browser. Those machines need nothing installed.

Choosing Score Display again while it is running offers to open it in a browser or to stop it.

Agility only for now.

The first time it runs, Windows will ask whether to allow it through the firewall, and answering needs an administrator. Without that, the display works on the computer running it but the other screens cannot reach it.

Judge's packets produce one document

qpdf is now installed with the program, so the judge's packet and the judge's book packet join their reports into a single PDF. Before this they only worked if you happened to have qpdf on the machine.

Fixed

Known limitations

Not yet exercised


9.0.0 — 27 August 2026

The first public release.

What changed about installing

New

Fixed

Among many: the title bar now changes when you pick a different trial; obedience scores outside a class's qualifying range are refused; one bad email address no longer abandons a whole bulk send; and the agility scoring screen moves between dogs about four times faster, with the penalty for a data file on a network share almost entirely gone.

Not yet exercised