← All releases
Thirty-eight work items, 40 changes, and three database migrations, each of which adds empty columns and rewrites nothing. The most important fix stops one bad repeating-event rule from halting a troop's whole nightly event builder: one troop got no new repeating events from September 29 until its rule was corrected by hand. This release also closes the known gaps left at the end of v0.65.0: Eagle leaves the Scoutbook export, Draft events refuse RSVPs, the Part C physical follows real trip hours, and the Fees tab shows where money actually came from.
What's new on the site
Events
- One bad repeating-event rule no longer stops all of a troop's repeating events. A monthly rule saved with no week picked crashed the nightly builder for the whole troop, so that troop got no new repeating events from September 29 on. The builder now skips a broken rule with a warning and builds the rest. The form also refuses that shape: a monthly rule names either a weekday ("the 2nd Tuesday") or a fixed day ("the 15th"), and refuses "Skip week(s)", which never applied to monthly rules. A rule set to the 31st lands on the last day of a shorter month.
- A repeating series can be archived. Archiving every event in a series used to bring them back as published duplicates, because the series kept generating. A leader can now archive the rule itself, choosing whether to archive its upcoming events or keep them. Restore Rule undoes it.
- Draft events refuse RSVPs. Draft, Pending and Archived events now refuse member RSVPs everywhere. A leader can still RSVP on a member's behalf.
- The Fees tab shows where the money came from. Once money has moved, the Payment method column showed the family's current preference instead. A line paid from a family account could read "Out of pocket". It now names the account that was charged, or reads "Out of pocket, collected by leader". Unpaid lines still show the preference.
Campouts
- The Part C physical follows real trip hours. The rule that a trip over 72 hours needs the AHMR Part C physical looked only at calendar days, so a three-night trip that ran past 72 hours could skip it. The compliance page now uses the start and end times: a Friday-evening-to-Monday-evening trip of 73 hours requires Part C; a 70-hour one does not.
- A refused save in the campout wizard shows its error. On a phone, the error appeared above the visible part of the page, so the leader saw nothing happen. The page now scrolls the error into view.
Advancement and positions
- Starting a badge or rank gives every requirement its Approve button. Some start paths left out the "not signed" rows, so a counselor saw a dash instead of Approve. Every way a badge or rank begins now writes one row per requirement.
- A plain sign-off on the Scout rank's last line no longer half-completes it. In the phone app, "Sign off" on that line marked it signed without earning the rank: no earned date, and the next rank never opened. That line now goes through the confirm page, which earns the rank properly.
- Scoutbook export: Eagle is left out. Scoutbook takes Eagle from the council, not from a unit's import, as TroopMaster's own export already reflects.
- A position page shows credit toward the next rank. Next to "Months in position", a counting position now shows "Credit toward <next rank>": the time it adds since the prior rank's board of review. Months in position is now always the full term; a position marked not counting reduces credit only.
- Assign Position requires a position. The form marked Position as required, but saving with nothing chosen created a meaningless "Member - None" term. It now asks you to choose one.
- Former scouts stay off adult screens. A member who had been a scout and is now an adult appeared on the patrols "Unassigned" list, and their volunteer tenure counted scout-era positions. Both now count adult service only, so some tenure figures get shorter.
- The Delete Position dialog reads properly. For a term that does not count toward advancement, it said "This removes not tracked of leadership credit". It now says "This assignment does not count toward advancement."
- Bulk Assign's controls are relabeled and reordered to follow the steps of a handoff.
- Adding a second outside merit badge counselor no longer gives a server error.
The phone app
- The dark/light toggle works. It did nothing visible; the app always followed the phone's own setting. The choice now applies at once and is remembered.
- A waitlisted member no longer sees "Going". On an event whose RSVP had closed, a waitlisted Yes showed a green "Going" badge beside "Waitlisted - #1". It now shows only the waitlist place.
- A refused offline sign-off is flagged in one more case. When the app itself sends the queued work after reconnecting, a sign-off the server refuses now reverts and reads "Not saved". When the phone's background sync sends it first, the row can still read "Signed"; that case is fixed in the next release.
Messages and notifications
- The notification bell is on every page. It was missing from 42 pages that add their own top-bar buttons, including Events, Scouts, Adults, Equipment, Finance, Galleries and Planning.
- Delete shows only on announcements you may delete. A leader who may delete only their own announcements saw Delete on everyone's, and the click was refused.
Downloads and imports
- Spreadsheet downloads keep accented names in Excel. Names such as "José Ñúñez" opened as "José Ñúñez". All nine CSV downloads now carry the marker Excel needs, and this was confirmed in Excel on October 6. The Scoutbook export stays without it, matching what Scoutbook already accepts from TroopMaster.
- The training import no longer shows trained counts that were always zero. The "Fully trained" and "Not yet fully trained" lines read 0 for every import. They are removed rather than left wrong.
- "Medical Form Dates" is renamed to say what it carries. That import and export moves full health-form text and emergency contacts, not only dates. Its name and description now say so everywhere it appears.
Behind the scenes
Nothing here changes what you see on the site.
- Backup cleanup is more reliable.
- A photo published within seconds of upload keeps its lightbox copy. A timing race could silently drop the larger copy and the thumbnail.