-
v1.2.3
StableCI / Tests (PHP 8.2) (push) Successful in 46sCI / Tests (PHP 8.1) (push) Successful in 57sCI / No Debug Code (push) Successful in 2sCI / PHPStan (push) Successful in 2m55sCI / Coding Standards (push) Successful in 2m58sCI / Tests (PHP 8.3) (push) Successful in 2m42sCI / Build Plugin Zip (push) Successful in 2m49sRelease / Build and Publish Release (push) Successful in 2m50sRelease / Open next-version bump PR (push) Successful in 4sreleased this
2026-07-28 20:23:22 +00:00 | 58 commits to main since this releaseChanged
- A monthly group class is now billed its price once per month, however many times the class meets in that month. Previously the monthly charge multiplied the price by the number of sessions in the month — a class priced at
40.00 CADmeeting weekly was billed160.00 CADon the 1st — which no studio could quote honestly on a class card. A monthly private lesson is unchanged: its price is a per-lesson fee and the month is still billed one fee per lesson, which is why it is quoted per lesson. Studios running a monthly group class should check the class price now reads as the monthly fee they intend to charge.
Added
- Every price a student sees now says when it is due. Lesson types in the booking form read
50.00 CAD at booking, and group-class cards read120.00 CAD up front,40.00 CAD weeklyor40.00 CAD monthly— the offering's billing mode, in the student's words. A monthly private lesson is quoted per lesson (50.00 CAD per lesson monthly), since its monthly charge covers every lesson booked that month; a monthly group class is quoted as the monthly figure it is. A free offering still just reads Free. - The Policies admin page can now show you what is actually in a version. Every row in the versions table has a View button that opens that version's text below the table, rendered exactly as students see it at booking and signup, whether the version is the published one, an old archived one, or a draft nobody has seen yet. The text is editable straight from the viewer, and what happens when you save depends on the version: a draft is simply updated in place, while editing a published or archived version saves your text as a new draft version and leaves the original exactly as students accepted it. The new draft then opens in the viewer ready to publish. Nothing a student has agreed to is ever rewritten.
- Booking a lesson and enrolling in a class now take a second confirmation that the student agrees to pay. Above the Confirm button the form restates the price with its cadence, spells out how it is collected ("Charged on the 1st of each month, for that month's lessons"), adds the studio's HST so the figure matches the total actually billed, and requires a tick on "I agree to pay 56.50 CAD at booking." before it will submit — separate from, and in addition to, the studio policies the student accepts above it. Reserving a time weekly quotes the per-lesson fee and the most it can add up to ("up to 12 lessons, 678.00 CAD in total"), since a week another student takes first is simply not booked. Free offerings have nothing to agree to and show no price block.
Fixed
- Policies are readable where students have to accept them. A policy typed as plain paragraphs — the normal way to write one, with no HTML — was being dropped into the booking, enrolment, and signup forms unformatted, collapsing the whole document into a single squashed line with a horizontal scrollbar and words piling on top of each other. Policy text is now formatted the same way WordPress formats post content, so blank lines become real paragraphs, and the acceptance box is styled as a proper bounded reading panel: long policies scroll vertically instead of running off the side of the page, long pasted links wrap rather than forcing the page sideways, and the "I have read and agree" tick stays in view. Policies written with HTML are unaffected. The studio registration page was also missing the plugin's stylesheet entirely, which is why the problem was at its worst there.
Downloads
- A monthly group class is now billed its price once per month, however many times the class meets in that month. Previously the monthly charge multiplied the price by the number of sessions in the month — a class priced at