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
- 9.1.7 — October 2026
- 9.1.6 — October 2026
- 9.1.5 — October 2026
- 9.1.4 — October 2026
- 9.1.3 — 8 October 2026
- 9.1.2 — 3 October 2026
- 9.1.1 — 30 September 2026
- 9.1.0 — 9 September 2026
- 9.0.6 — 4 September 2026
- 9.0.5 — 4 September 2026
- 9.0.4 — 1 September 2026
- 9.0.3 — 31 August 2026
- 9.0.2 — 30 August 2026
- 9.0.1 — 28 August 2026
- 9.0.0 — 27 August 2026
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.
- Phone numbers and postal codes are now stored as digits, which is how every judge already on file holds them, so a judge whose details have not changed reads Already up to date.
- A detail that still will not fit is left out and named in the judge's Detail column ("too long to store: email") instead of stopping the import.
- A problem with one judge is reported on that judge's line, not in an error box, so the rest of the list is still filled in.
- A new judge with no phone or email on the AKC directory can be added. That also used to fail.
- A Canadian postal code is kept whole. Only the first half was kept.
About box
Help → About now credits Robert Olson as the developer, with bob@rdolson.org as the contact.
Not yet exercised
- The AKC import was tested against a copy of an older customer data file, fetching the same three events from the AKC site, for a judge already on file and for a new one. The Create the Event step after it was not repeated.
- The items under Not yet exercised in 9.1.6 and earlier still stand.
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.
- The window tells you what to load before you print: how many sheets the move will produce and, if the trial has a paper-colour scheme, which colour the new class prints on. Both update when you change the class, the day or the Entered in class.
- Choosing a different Entered in class clears Move to. The old choice used to stay on screen against a class it did not belong to.
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.
- A voided check drops out, together with its shred or return marker — the same rule the Discrepancies summary uses, so the two agree.
- Existing entries catch up the next time their payment is touched. An entry that is out of step today stays as it is until an item on its payment is saved or deleted.
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
- Everything above was confirmed on screen for this release. The quarter sheets were printed through the PDF printer, not on a hand-fed sheet.
- The items under Not yet exercised in 9.1.5 and earlier still stand.
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.
- Empty classes no longer clutter the class dropdown. Only classes that actually have dogs entered appear, so the list on the scoring window is the one you can work in.
- Changing a withdrawn dog asks first. Marking a withdrawn dog as anything other than withdrawn now prompts before it happens, so a withdrawal is not undone by accident. Decline and the dog stays withdrawn.
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
- Tab moves to the next yardage still blank, rather than stepping through rows you have already filled — so entering the three measurements is three numbers and three Tabs.
- Changing a course time for a class that is already scored now warns first. Re-running the SCT can change what a dog needed to qualify, so it asks before touching a class that already has scores in it.
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
- The obedience score lock, the empty-class dropdown filter, the withdrawn prompt and the Save-to-trial-folder choice were confirmed on screen for this release.
- The results report's Not Scored listing, the Regular/Preferred move-up and the course-time Tab and warning were checked against archived data, not watched through a live trial.
- The items under Not yet exercised in 9.1.4, 9.1.3, 9.1.2 and 9.1.1 still stand — including the course-time sharing confirmed for Novice and Open only, and the AKC sign-in depending on a web page nobody here controls.
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:
- You stay signed in between runs. The session is kept in your Windows account, so you sign in once rather than every time Access starts. Only the session itself is kept — never your password. That session is still a key to your AKC account for as long as it lasts, so anyone who can use your Windows account could use it; it is thrown away after 24 hours, or the moment the AKC says it has lapsed, and the sign-in is then offered as before.
- A lapsed session is no longer reported as a missing dog. The AKC answers a session it no longer honours with a page saying you are not logged in, and the lookup read that as "The AKC has no dog with registration number …" — which sends you to re-check a number that was right. It now says you are not signed in and offers the sign-in.
- Press Return in the sign-in dialog. Return in the password box sends the code, and Return in the code box finishes signing in.
- Refreshed titles show straight away. After Refresh titles from the AKC stored new titles, the list on the entry page kept showing the old ones until you switched to another tab and back.
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.
- The SCT/Yardage button is available as soon as a class and level are chosen, rather than waiting for a division. The measurements do not depend on it, and the Preferred times follow from the Regular ones.
- It is switched off for Premier, FAST and Time 2 Beat, which have no judge-set course time. Pressing it on Premier Standard used to raise an error.
- Typing a time no longer works backwards to a yardage. It was never needed in practice, and it announced an invented yardage in a message box.
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:
- Print, do not preview sends the sheets to the printer instead of opening them on screen. They go wherever the printer is currently pointed, not to a catalog or reuse tray, because the point of this window is paper of a particular colour that you have already loaded where you want it.
- Keep days separate lays each day out on its own and appends it, which is the paper you would get by running the window once per day. Without it, two days in one run share each sheet — Saturday in one quarter, Sunday in another — and the days are mixed all through the stack once it is cut. On two days of Standard at 20 inches, 43 sheets carried both days; with the days kept apart, none did.
Not yet exercised
- The course-time sharing has been confirmed on a live screen for Novice and Open only. Excellent, Master and Preferred were checked from a script against the real time tables — the groups, the times and the rounding — but not watched on screen. The same is true of the button being switched off for Premier.
- The AKC sign-in depends on a web page nobody here controls. It was working at the time of writing.
- The items under Not yet exercised in 9.1.3, 9.1.2 and 9.1.1 still stand.
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:
- Faults, written the way the published results site writes them —
R-2 W-1 F-1, the scribe's marks with a count against each. The board previously carried only a total it never showed. - Yards per second, in the classes that have a course distance. FAST, Time 2 Beat and Premier carry none, so the column is simply absent there rather than blank.
- Premier's top 25%, as a star beside the placement —
1*, or a star on its own for a dog in the top quarter that did not place. That is how the result sheet and the catalog already print it. It appears once you have calculated it on the scoring screen, the same as a placement does.
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
- The catalog leaves a gap before each class. Printing several classes in one run put the next class's name immediately under the previous class's last dog, where it read as part of it.
- The Ribbon Label Selector counts the qualifying runs in whatever is ticked, and keeps the count up to date as you tick and untick. It is the number of placement ribbons the selection is about.
- Double-click a class to add it. In the Quick Entry list and in the per-day class list. The per-day one has never worked, despite looking as though it should.
- The agility secretary report can be scrolled. It opened with Preview and Print below the bottom of the window and no scrollbar to reach them.
- Starting a second scoring display no longer loses the first one. The newcomer took over the record of which display was running, then gave up because the first one had the port — after which Tools → Score Display could not stop a display that was plainly on the screen. It now says a display is already running and leaves it alone.
Not yet exercised
- The placeholder pages for other days have not been through a real trial. Everything about them has been tested against archived days and a local copy of the site; the upload half has not run against the live web server.
- The file that fixes the page caching is read by the web server, not by
this program, and a server configured to ignore it will answer 500 for
the whole folder rather than quietly doing nothing. If the results site
starts failing immediately after a publish, delete
.htaccessfrom the day's folder. The pages refresh correctly without it. - The items under Not yet exercised in 9.1.2 and 9.1.1 still stand.
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:
- A sign-in that does not finish now says so, instead of reporting success and leaving the failure to turn up later as something unrelated.
- A sign-in that has lapsed no longer blames your code. If the program restarts in the middle — which happens while it is being worked on, and not otherwise — typing the emailed code used to answer "That code was not accepted", followed by the name of an internal function. It now says the sign-in is no longer open and to ask for a fresh code.
- "Not signed in" and "signed in but something is missing" are different messages, because they are different problems and only one of them is fixed by signing in again.
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.
- Nothing is saved until you agree. It shows what would change first.
- The registered name is reported but never applied. Only the titles change.
- It uses the same sign-in as the dog lookup, so if you are already signed in it needs nothing further.
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.
- It works on the trial locked in on the Events menu, not the whole file.
- It will not touch a column with a fault recorded in it. Removing one would leave a score that no longer adds up, and that score can only be worked out again on the scoring screen. Those dogs are listed by name instead so you can clear them there.
- It is a one-off tidy-up and is expected to be removed in a later release.
Also new
- Saving a run with no time offers to record it. Agility and scentwork used to refuse the save and leave you to work out what was wanted; you are now offered No Time, Absent, Excused or Cancel.
Fixed
- Reports → Trial Times did not open in the obedience program. The screen needed a table that was never attached, so nothing happened at all.
Not yet exercised
- The AKC lookup depends on an undocumented part of the AKC's web site, and this release is the second time in a month that it has changed underneath us. It works today, on a real account, confirmed. There is nothing to stop the same thing happening again, and a proper AKC interface remains the only durable answer.
- The items under Not yet exercised in 9.1.1 still stand — the obedience catalog warning, the judging schedule against a published one, and an interim worksheet printed at a trial.
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.
- A dog with only one of its two or three scores is listed anyway, with the score it has. That is the point: the sheet is for reading a day in progress.
- The likely winner is in bold. On the Highest Scoring Dog sheet that is the best score among the class winners listed; in rally it is the highest score and then the lowest combined time, as the rally regulations say. A tie bolds every dog tying.
- Rally times print as MM:SS.S, and combined times add up properly.
- The Preferred worksheets name the Preferred classes. They named the regular ones — Open B and Utility B where they meant Preferred Open and Preferred Utility.
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:
- Rally runs at 18 dogs an hour, not 19, and the first class in each ring gets ten extra minutes for its walkthrough — once per ring, because every later walkthrough already happens inside the hourly rate.
- Obedience walkthroughs are for Beginner Novice, Novice A and Preferred Novice only, ten minutes at ten dogs or more and five below that. Obedience schedules now run five to ten minutes later per walkthrough group than they did, which is correct rather than a regression.
- An A and a B class at the same level share one start time when they are small enough — under 20 dogs in rally, under 19 in obedience, which are genuinely different numbers because the two rulebooks word it differently. They used to print "To follow", which is not what the rule says. Across the rally trials on file that removed every "To follow" row.
- No time is listed after noon, in either discipline. A schedule that prints "After noon" is right.
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
- The score display re-reads its layout file while it is running. Changing the number of rings or classes on screen no longer means stopping it.
- The label selector remembers the 2 stickers/placement tick. It used to go back to two every time the window opened.
- Two buttons say what they do. Preview Labels is now Labels, matching Catalog Pages and Results Report beside it, and it previews or prints according to the radio as it always did. Label Selector is now Label/Catalog Selector, because that window prints the catalog and the results report too.
- Printing a catalog before the scoring is finished now asks first, and says which classes are not ready. In obedience that is the scored catalog from Catalog by Event; in agility the label selector reports both runs nobody has scored yet and classes whose placements have not been calculated.
- Each dog's classes are spaced apart in the results email. Several runs in one day used to arrive as a single block of text.
Fixed
- The AKC export failed for All days, reporting "invalid use of null" and writing nothing. Exporting one day at a time worked, which is what made it look like a problem with a particular day. Present in every release from 9.0.0.
- Agility course times could be a second short. The AKC rounds a half up, twice — converting feet to yards and yards to the standard course time — and the program rounded a half to the nearest even number at both steps, which is what Access does unless told otherwise. Maximum course time is now the standard time plus 20 seconds, per the current regulations; it was the standard time multiplied by 1.5, which is the old rule.
- Find Ties could not open its own screen, failing with "ambiguous outer joins" before showing anything. No tie and no dog was involved — the screen it opens could not be built at all. Scentwork had the same fault.
- Radio buttons ghosted on the obedience scoring screen. Scrolling a scored class back to the top could show a row with two buttons filled at once, which is impossible for one control and was a repaint left behind by the row that had been in that position.
- The tab strip on Trial Setup covered the starting jump height row. One tab page sat higher than its six neighbours and dragged the whole control up with it.
- The judge's packet now says which part is missing rather than quietly joining up whatever it has. A packet that came back without its catalog gave no clue which of the three documents had failed.
Not yet exercised
- The obedience half of the catalog warning has not been used since it was corrected. It was guarding the wrong reports — the printed show catalog, which is meant to print before anything is scored — while the catalog that actually prints scores had no warning at all. That is the right way round now, and the agility side has been used, but the obedience dialog has not been seen since the change.
- No schedule produced under the corrected rules has been compared with a published one. The arithmetic was checked line by line against the regulations, which is not the same thing.
- Nobody has printed an interim worksheet at a trial. The numbers on it were checked against the data they come from.
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.
- Trial Setup → Merchandise holds this trial's items and prices, beside Entry Fee and working the same way.
- The entry screen shows what the owner owes, with an Order... button that opens a dialog for picking items and quantities. The total is restated as lines are added, changed or removed.
- It belongs to the owner, not the dog, because somebody can buy a catalogue without entering a dog — which is exactly why the old tick could not simply become a number on an entry.
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.
- Obedience and rally from one engine, with every difference between the two a setting rather than a second copy to keep in step.
- A second layout beside the one the scripts produced.
- The trial's own facts can be handed to Word. Club, dates, secretary's email and the entry counts are written out beside the schedule, and a macro in the club's program document fills them in — the sentences that were retyped every trial.
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
- Judge Sheet Info (Reports) prints the dogs and classes each judge has — a report that was in the program and reachable from nothing. AKC Obedience only.
- The About box now shows which version your data file is at, beside the program's own version. The two upgrade on separate schedules, and only the program's half was on screen before.
Fixed
- Obedience entry fees were left at nothing when a class was added from Quick Entry. Adding the same class from the per-day panel priced it correctly, which is what made this look intermittent. Agility was never affected.
- Reassigning armbands ignored a trial's high-to-low jump height order and numbered low to high regardless. This affected both bulk paths — the Arm Band Management screen and flipping the armband mode on Trial Setup — and only showed on a class carrying two heights.
- An exhibitor entered in both rally and obedience was listed twice in the Index to Exhibitors, each copy carrying the same armband list. Fixed in both the full-size and half-page directories.
- The half-page exhibitor index ran onto a second page. Its side margins were an eighth of an inch too wide for the paper, so the right-hand column of armband numbers printed on a page of its own.
- A drop-down could stop working until its form was closed and reopened, reporting "Object variable or With block variable not set". Opening two forms that both used one could also leave the second one's "(All)" row blank.
- Armband numbering could start from a fixed 1000 on obedience events rather than from the numbers the trial had actually issued.
Not yet exercised
- Publishing results has never run at a live trial. It was checked against archived days, and against the output of the scripts it replaces — 568 runs, every field identical — but a finished day has an outcome on every entry, which is not what a day in progress looks like.
- Nobody has priced and sold merchandise at a real trial. The engine and both screens were exercised, and the carry-over of existing catalogue ticks was run twice against a copy of real data.
- The judging schedule reproduces the old scripts exactly on the two trials it was compared against, but no club has yet published one from it.
9.0.6 — 4 September 2026
Fixed
-
Printing an agility catalog could fail with "Cannot open any more databases", leaving the placement footers blank and raising one error dialog per remaining record — enough that the program had to be killed rather than clicked through. The level filter built a separate nested query for each ticked box and Jet re-evaluated all of them for every row of the catalog, exhausting the handles available to it. The filter is worked out once now.
Two things made this hard to recognise. The error named whatever ran next rather than the cause, and because the limit is on the Access session rather than on the report, the same catalog could print in the morning and fail after a day's scoring. Printing it from Catalog by Date always worked, which is what finally identified it.
9.0.5 — 4 September 2026
Fixed
Three faults reported against 9.0.4, all in obedience:
- Add a Dog from AKC could fail to save the new dog.
- Two further faults on the owner and dog maintenance screens.
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
- Scoring a class whose dogs had no penalty records crashed with "No current record". A class can legitimately carry no penalties, and some entries in existing data have none recorded.
- The scoring display showed dogs that had not run yet as qualifying with a perfect score and no time. Whether a dog has run is now judged on a recorded outcome rather than on a flag that is set when the entry is created.
- The scoring display did not always shut down cleanly, leaving a stopped process behind.
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
- Needs the internet, so it is for the office rather than the show site. Without a connection the dialog says so and the address boxes still work.
- No apartment or suite number. The service does not return one; add it after the address is filled in.
- It does not check an address you have already typed. It only fills one in.
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
- Entry fees could be charged in the wrong order where a trial had more than nine prices in its schedule, or priced later classes lower than earlier ones. The list of prices was not being read in order, and with ten or more the tenth could be charged for a dog's first class of the day. This affected agility, conformation and herding as well as obedience. Trials with a flat price — the same amount for every class — were never affected, and no trial in testing had more than eight prices.
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.
- It follows whichever trial is locked in. Switch trials and the display follows within a couple of seconds.
- Panes scroll independently, and each follows the most recently scored run. Scroll one yourself and it stops following so you can read back through a class; it picks up again after thirty seconds, or when you click paused.
- Classes being run together can be shown as one pane — all FAST levels, say, or Novice and Open together.
- Text size, the number of panes and which classes appear are all adjustable. A
layout can be saved as
display-config.txtin the trial's own folder, so it travels with the trial.
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
- Trial Setup, Email tab. The buttons for choosing which message to edit sat on top of the message text. They no longer overlap.
Known limitations
- Two trials on the same day. A trial is one AKC event number, and a day can hold more than one. The display shows the first and says so; there is no way yet to show both at once.
- Running order is by jump height then armband, not the ring's actual running order.
- A network Windows treats as "Public." The firewall permission is granted for private networks. If a venue's network is classified public, the other screens will not reach the display, and it looks like nothing is wrong from their end — the page simply never loads.
Not yet exercised
- Nobody has produced a judge's packet from an installed copy. The joining was tested during development, not from an install.
- Upgrading an existing data file has not been run end to end. A new installation has.
9.0.0 — 27 August 2026
The first public release.
What changed about installing
- One installer carries both 32-bit and 64-bit, and picks the right one for the Microsoft Access you have. There is no longer a choice to get wrong.
- 64-bit Access is supported. Previous versions ran only under 32-bit Office.
- The launcher is gone. The program is installed where it can be written, so there is nothing to copy at first run.
- Installing no longer requires an administrator, except to remove a pre-9.0.0 installation.
New
- AKC event reports, October 2025 revisions. Agility (JEAGIL), rally (JOVRY8) and obedience/dog show (JOVOB7) were all replaced by the AKC, and the arithmetic changed with them. Fees are keyed by the year the trial runs in, so a January trial for a December event reports at the right rate.
- The club's own special awards. High In Trial, versatility, games and team awards are defined as data rather than code, so a new award needs no new version of the program. Definitions can be exported and shared between clubs.
- Export and reload the data. Every table can be written out and loaded back into a fresh data file.
- Set up a trial from the AKC. Enter the event numbers and the classes, judges and days are built from the AKC's own pages.
- Exhibitor email address list with four scopes on one dialog — this event, chosen events, a whole discipline, or every owner — to a file or the clipboard.
- Scribe sheets on quarter and half sheets, blank sheets for classes with nobody entered, and per-class paper colours.
- Catalogs print on the right paper, from a drawer you configure per printer.
- Check Entries (Tools) finds the entries that would be rejected by the AKC before you send the file.
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
- No ISC class has ever been run through the program, so the ISC part of the agility report is untested against real data.
- Wild Card is recorded as a regular class, so those entries are counted for recording fees where the AKC treats them as non-regular.
- Several new screens had not been clicked through by a user at release: the special awards form, the obedience report sheet's four scopes, and obedience score validation.