Released September 29, 2026

TroopPlanner v0.60.0

← All releases

Sixty-seven work items, 117 changes, and seven new database migrations, none of which rewrites existing records. Two of the fixes came from troop reports: iPhone and iPad users could not sign in by email, and a merit badge counselor who pressed Approve on a blue card got "Something went wrong." The release also moves the sign-in pages, the pages people reach from an email link, and nearly every pop-up onto the newer page-rendering system, and verification caught two problems in that move before they reached you.

What's new on the site

Signing in

  • The "Email me a login link", "Send reset link" and emailed RSVP forms no longer fail in Safari. A troop reported this: iPhone and iPad users could not sign in by email.
  • A failed security check now shows a friendly page. Anywhere on the site, if that check ever fails again, you see a TroopPlanner page that says your session could not be verified, with a Try again button, instead of a bare "Forbidden (403)".

Advancement

  • Merit badge counselors can approve requirements from My Counseling again. A troop reported this. On a merit badge blue card, the Approve button beside each requirement, and the small button that removes a sign-off, both failed with "Something went wrong." The page was sending them incorrectly. The counselor could still sign off through the emailed counselor link, but not from their own account.
  • Record BOR works on the phone app's advancement tracker. The link was always grayed out with "Earn the previous rank first", even when a rank was ready for its Board of Review. It now matches the desktop tracker.

Events and campouts

  • An RSVP deadline can no longer sit after the event is over. When you save an event with a deadline after the event ends, or move the event earlier, the site moves the deadline back to the last whole hour before the end, and tells you the new close time. One troop's meeting in August had a deadline a full day after it, which is what sent reminders about "tonight's meeting" on the day it happened. The campout planning wizard does not apply this yet.
  • A waitlisted "Yes" reads Waitlisted everywhere. On the events list, on the dashboard and on five other RSVP displays, a member holding only a waitlist spot saw "Going" after a page load. They could believe they held a seat. They now see "Waitlisted – #N" with their place in line.
  • The Attendance roster has a "Signed up" column. It shows when each member first answered, and you can sort by it, for a trip with limited seats or a first-come driver list. The column headers on that roster now sort when you click them.
  • The campout compliance checklist has a Doc column. When a campout has a required document, such as a permission slip, each participant shows whether theirs is in, and the summary strip at the top shows "Doc: N left". A campout with no required document looks the same as before.
  • Editing a required document keeps who it applies to. The edit dialog always opened with "All participants" selected, so saving it without a fresh pick quietly widened a document meant for one group to the whole trip.
  • Publish Selected appears only where it works. It now shows on the Drafts tab only, and only to leaders who can bulk-publish. Before, leaders at event level 3 or 4 saw it and got a refusal when they used it, and it also appeared on tabs with nothing to select. On a phone, each draft now has a checkbox, so you can bulk-publish from a phone.
  • External Feeds shows only to leaders who can use it. Leaders at event level 3 or 4 saw the link, and every page behind it refused them.
  • A refused payment-status click now says why. On the Attendance roster and on Event Fees, a button such as Mark Unpaid that the site must refuse used to appear to do nothing. The reason showed up later, on some unrelated page. It now appears at once, in a red message.
  • The PLC meeting agenda's Live Events item lists the upcoming events. On a normal page load it showed blank rows, and the events appeared only after you clicked Update.
  • Smaller event-page fixes. After a quick "Yes" from the events list on a trip with carpools, the Offer to drive box now opens instead of arriving hidden. Camping-night credit accepts whole numbers only. On the calendar-feed import preview, the first click on "select all" now clears the rows, as it should.

Scouts and families

  • A parent's "no" through the emailed consent link now withdraws consent, and Key 3 is notified. When a leader records consent on a family's behalf, the parent can still say no from the email.
  • Swimming Classification shows on the member profile. It was blank for every scout, because the page read it from the wrong record.
  • A preferred name finds the member in five more searches. The phone app's roster, the phone app's advancement scout search, the documents compliance list, and the two family-account searches in Money now match a preferred name, as the web roster already did.
  • Profile edits now show what changed in the audit log. Each edit records one entry that lists the fields that changed, instead of a plain "updated member" line. Medical details stay out of it.
  • Undoing a member's deactivation also reopens their exit session. Ctrl-Z after the Exit Wizard now puts the whole exit back, not only the member's status.

The phone app

  • A sign-off saved with no signal now says "Signed", with a small clock. Before, an offline tap looked almost the same as no tap at all, so a leader could not tell the sign-off was waiting on the phone to be sent. The dashed outline that should also mark it is still faint.
  • Pages reached from an email link fit a phone screen. The top bar on the unsubscribe, email preferences, broadcast view and offline pages ran off the right edge at phone width. It now wraps onto a second line.

Email and notifications

  • A broadcast time in the past is refused. Picking an earlier day in the "Scheduled for" calendar sent the broadcast to the whole audience at once, with no warning. The calendar no longer offers a past time, and the site refuses one if it gets through. A time up to five minutes old is still accepted and sends at once, because choosing recipients takes time. The same rule now applies to an event reminder's custom date and time, on both the edit dialog and the new-event page.
  • If the mail service is down when a broadcast starts, the sender is told. Before, the broadcast sat at "sending" for up to an hour, then failed with nobody told. Now it goes back in line, sends by itself once mail is back, and the person who pressed Send gets one notice per hour of outage.
  • The recipient list on Send Notification no longer covers the Send button. Your first click after picking a group landed on the list, so nothing was sent. Escape now always closes the list.

Imports

  • The import results page shows the warning, not just a count. A created or updated row that carried a warning showed only "(1 warning(s))". One real TroopMaster import silently skipped three merit badges and one rank requirement that way. The warning text now appears beside the row, the same way it does for a skipped row.

Troop settings

  • The permissions matrix is more compact. Standard position descriptions moved into a tip that appears when you point at the name. Only Signer, Planner, Communicator and Merit Badge Counselor keep a one-line caption. A collapsed group row keeps its "+N more" count in view.
  • "Re-open setup wizard" reopens the wizard. On Troop Profile, the button saved the profile instead.

Equipment and exports

  • Equipment notices match the rest of the site. The checkout and return notices and the form-error boxes on the five equipment pages now use the site's shared notice style. One panel is hard to read in dark mode.
  • A PDF of a searched roster says it is filtered. A Scouts or Adults roster PDF taken after a search or a filter now carries the "(filtered)" mark, so nobody mistakes it for the whole roster. A large PDF that is prepared in the background now names your troop instead of "TroopPlanner".

Behind the scenes

Nothing here changes what you see on the site.

  • The two weekly reminder emails can no longer send twice. The onboarding digest and the advancement reminder now record when they last went out in the database, not only in a cache that a restart can wipe. Nothing had gone out twice.
  • The broadcast group list does less database work. It worked out five standard groups in 15 steps on every page load, and now takes 4.