Release Notes

See what's new in NavEd. Product updates, new features, and improvements for micro school, co-op, and homeschool management.

130 releases
Page 7 of 13
v2026.2.15.7

School account deletion now works reliably every time.

We heard from users who tried to delete their school and re-register, only to be told their account already existed. The deletion appeared to succeed but silently failed behind the scenes. We tracked down the root cause and fixed it — deletion now fully completes, and you can re-register with the same email immediately afterward.

Fixes and Improvements

  • Fixed school account deletion silently failing due to an internal error being hidden from the user
  • Deletion now properly removes all associated records before dropping the school

v2026.2.15.6

Self-service school account deletion and contact email update.

School administrators (HODs) can now delete their entire school account from the School Dashboard. Navigate to Profile > Advanced to find a new "Danger Zone" section. Type your school name to confirm, then approve a final warning dialog. The system safely removes all tenant data, user mappings, and orphaned accounts, then logs you out. This also fixes a layout issue where the deletion section appeared outside its correct tab.

All public-facing pages now display the correct support email address ([email protected]).

Features

  • Self-service school account deletion for HOD users in Profile > Advanced
  • Two-step confirmation: exact school name match plus a "are you sure" dialog
  • Safe deletion order: user mappings, signup leads, billing, domains, schema drop, orphaned users
  • Comprehensive server-side logging at each step with Sentry error capture
  • Dedicated "Account Deleted" confirmation page with feedback prompt after deletion

Fixes and Improvements

  • Fixed Danger Zone section appearing outside the Advanced tab due to incorrect HTML nesting
  • Replaced old Gmail contact email ([email protected]) with [email protected] across 5 public templates (10 occurrences)

v2026.2.15.5

Your school's data now stays completely within your school.

We discovered an issue where weekly email digests were being delivered to administrators at other schools. While student grades and personal information were not exposed, the email headers and staff activity summaries could include names from the wrong school. We moved fast to fix this.

The root cause was a subtle quirk of our multi-school architecture: the system that finds "all administrators for this school" was accidentally finding all administrators everywhere. We've completely rewritten how email recipients are identified, ensuring every notification is scoped exclusively to the correct school. We've also replaced several internal data lookups with safer, faster alternatives.

Email digests are temporarily paused while we complete additional testing. We'll re-enable them shortly once we're confident everything is working perfectly. Your trust is everything to us—if you ever have questions about data privacy, please reach out.

Fixes and Improvements

  • Weekly admin digest now only reaches administrators at their own school
  • Weekly parent digest uses safer data access for parent and child names
  • Superadmin broadcast emails are now properly scoped per school
  • School announcements now target only users belonging to the announcing school
  • Fixed an internal issue where school context could be lost during email generation

v2026.2.15.4

New: Batch transcript generation for administrators.

Administrators can now generate transcripts for multiple students at once. Toggle "Batch Mode" on the transcript selection page to see a scrollable student list with checkboxes, filter by grade level, and download all selected transcripts as a single ZIP file. A progress bar shows real-time generation status ("Generating transcript 5 of 23..."), and a cancel button lets you abort cleanly without downloading partial results. Students with no grade data are automatically skipped and reported in a summary. The ZIP filename includes the school name, grade level (when filtered), and date.

New Features

  • Batch Mode toggle on transcript selection page (HOD only)
  • Grade-level filter for narrowing student selection in batch mode
  • Select All / Deselect All buttons with live selection count
  • ZIP download of individual PDF transcripts with progress bar
  • Cancel button for clean abort of batch generation
  • Summary report showing generated count and skipped students with reasons
  • Staff, students, and parents continue to see only the single-student view

v2026.2.15.3

Improvement: Transcript settings now apply to generated PDFs and previews.

The transcript configuration set on the school profile page (signature, signatory info, section toggles) now flows through to both the HTML transcript preview and the downloadable PDF. When grading scale is toggled OFF, it disappears from both views. When per-year GPA breakdown is toggled OFF, per-year summary lines are hidden (course tables still show). When attendance summary is toggled ON, a yearly attendance summary table appears. The administrator's signature image and signatory name/title replace the generic "School Administrator" text in the certification section.

Improvements

  • PDF and HTML preview respect grading scale, GPA breakdown, and attendance toggle settings
  • Signature image renders in the PDF certification section when configured
  • Signatory name and title replace "School Administrator" when set
  • Attendance summary table shows yearly present/total days and percentage
  • Attendance counts both Present and Late as "present" (standard K-12 approach)
  • TranscriptDownload.generate() exposed in public API for batch use

v2026.2.15.2

New: Configure transcript settings from the school profile page.

Administrators can now configure school-wide transcript settings directly from the school profile page under a new "Transcript" tab. Upload or draw an administrator signature, set the signatory name and title, and toggle which sections appear on generated transcripts (grading scale, per-year GPA breakdown, and attendance summary).

New Features

  • Transcript Settings tab on school profile page
  • Upload signature image (PNG/JPG) or draw with mouse/touchpad
  • Signatory name and title fields for transcript certification section
  • Toggle switches for grading scale, per-year GPA, and attendance summary sections
  • Defaults: grading scale ON, per-year GPA ON, attendance OFF

v2026.2.15.1

New: Download official transcript PDFs directly from the transcript preview page.

Staff and administrators can now click "Download PDF" on any student's transcript preview to generate a professionally formatted PDF transcript. The PDF includes your school's header with logo, student information, courses organized by academic year, per-year and cumulative GPA, grading scale legend, and a certification section with signature lines. Multi-page transcripts include continuation headers and page numbers on every page.

New Features

  • Download PDF button on transcript preview page
  • School-branded PDF with logo, primary color, and contact information
  • Course tables with alternating row shading organized by session year
  • Cumulative and per-year GPA (weighted and unweighted)
  • Grading scale legend and certification/signature section
  • Multi-page support with continuation headers and page footers

v2026.2.14.1

Fixed: Accepting student applications no longer crashes when the parent already has an account.

If a parent submitted an application weeks ago and already had a user account in the system, accepting their application via the bulk dropdown would fail with an internal error. This happened because the system tried to create a parent profile in the wrong database location. Schools with a backlog of applications may have seen this error repeatedly.

This is now fixed. Accepting applications works correctly whether the parent is a brand-new user or already has an existing account. The parent's account type is updated to "Parent" and their profile is created in the correct location.

Fixes

  • Bulk-accepting applications no longer crashes for parents with existing accounts
  • Parent profile creation now happens in the correct database schema
  • Added a safety guard that prevents profile creation in the wrong schema even if future code misses this pattern

v2026.2.13.1

Internal: Transcript data foundation for upcoming in-app transcript feature.

This release adds the data layer for the upcoming transcript generator. The new "Transcripts" link appears in the sidebar under Administrative for schools with the Reports feature enabled. A new transcript data assembly service pulls student academic history, GPA, and school information into a structured format ready for transcript rendering.

New Features

  • Transcripts sidebar link under Administrative section (gated under Reports feature)
  • Transcript data assembly service with per-year GPA and cumulative GPA
  • Expected graduation date field on student profiles

Internal

  • Added expected_graduation_date DateField to Student model (nullable, for transcript display)
  • Created services/transcript_data.py with assemble_transcript_data() function
  • Data assembly uses denormalized fields only (no cross-schema FK traversal)
  • Reuses existing GPA calculation methods for consistency with report cards

v2026.2.12.1

All students now appear in the Progress Report dropdown regardless of grade level.

If your school has students in elementary grades (or grades that haven't been categorized as upper or middle school), those students were not appearing in the Progress Report student dropdown. This meant teachers and administrators couldn't generate progress reports for those students, and parents couldn't see their elementary-age children in the reports page.

This is now fixed. The Progress Report page shows all students for every user type -- administrators see all students and all subjects, students can always generate their own report, and parents see all of their children regardless of grade classification.

Fixes

  • Elementary students now appear in the Progress Report student dropdown
  • Students with uncategorized grade levels now appear in the Progress Report dropdown
  • Students with elementary grades can now generate their own progress reports
  • Parents can now see all their children in the Progress Report page, including elementary students
  • Class Report subject list now includes subjects from all grade levels

v2026.2.11.1

Internal: Modernized user model references for long-term maintainability.

This release completes a major internal refactoring of how NavEd references the user account model throughout the codebase. All code now uses Django's recommended get_user_model() pattern instead of direct imports, and the user account model's initialization logic has been properly consolidated. There are no visible changes for users -- this work improves code quality and sets the foundation for future improvements.

Improvements

  • Consolidated user model initialization into the accounts app where it belongs
  • Modernized 30+ files to use Django's recommended import patterns
  • Added deprecation warnings for legacy import paths to catch future regressions

v2026.2.10.5

Billing history now shows only relevant invoices with detailed line items.

Previously, the billing page showed all invoices from Stripe, including drafts and voided ones that weren't useful. Now only paid, open, and uncollectible invoices appear. Each invoice also shows a breakdown of line items (including proration credits and charges) that you can expand, and every invoice links directly to Stripe's hosted invoice page where you can view full details or download a PDF.

Improvements

  • Billing history hides draft and voided invoices
  • Each invoice row expands to show line item details including proration credits
  • View and PDF buttons link to Stripe's hosted invoice page
  • Session debug logging reduced to keep production logs clean
  • Removed deprecated billing code from pre-v1.7 billing model

v2026.2.10.4

Subscription creation now works instantly when you add a payment method.

When you added a payment method through the Stripe portal, NavEd would try to create your subscription, but metered billing subscriptions have a $0 first invoice (usage gets reported later). With our previous Stripe setting, that $0 invoice required payment confirmation from the browser, which never happened. Your subscription would stay stuck in "incomplete" status, and tier changes wouldn't work.

We've fixed this by changing how we tell Stripe to handle the initial subscription. Now your subscription activates immediately when you add a payment method, so upgrades, downgrades, and cancellations work right away.

Fixes and Improvements

  • Subscriptions now activate immediately after adding payment method
  • Tier changes work correctly without manual intervention
  • Fixed incomplete status issue for metered billing subscriptions

v2026.2.10.3

Billing page now creates your subscription automatically when you visit.

If you added a payment method in the Stripe Customer Portal before this fix was deployed, your upgrade/downgrade/cancel buttons would be hidden because we hadn't created your subscription yet. We've now added a second lazy subscription creation trigger that runs whenever you visit the billing page, not just when you return from the portal. If you have a payment method on file but no subscription, we'll create one for you automatically so all the billing controls appear as expected.

Fixes and Improvements

  • Billing page now creates missing subscriptions for schools with payment methods on file
  • Upgrade, downgrade, and cancel buttons appear correctly for all schools with payment methods
  • Subscription creation happens automatically on any billing page visit (not just portal returns)

v2026.2.10.2

Payment method changes now sync immediately when you return from the Stripe portal.

We fixed a race condition where your card information wouldn't appear right away after adding or updating a payment method in the Stripe Customer Portal. Previously, you'd see "No payment method on file" until the webhook arrived (usually seconds, but sometimes minutes). Now we sync directly from Stripe when you return to the billing page, so your card info appears instantly.

We also added two missing webhook events (payment_method.attached and payment_method.detached) to our Stripe setup, so payment method changes are tracked correctly whether they happen in the portal or elsewhere.

Fixes and Improvements

  • Payment method info now syncs instantly when returning from Stripe portal (no more waiting for webhook)
  • Added missing payment_method.attached and payment_method.detached webhook events
  • Billing page shows your card information immediately after portal updates

v2026.2.10.1

Billing page now works for new schools.

Schools that signed up through our new self-service flow were seeing a "Contact support" dead-end on the billing page instead of a way to add their payment method. We fixed this by automatically setting up your billing account when you first visit the billing page. Now you'll see the "Add Payment Method" button right away. If something goes wrong, you'll see a clear "Retry" option instead of being stuck.

Fixes and Improvements

  • Billing page now auto-creates your Stripe billing account on first visit (no manual setup needed)
  • "Add Payment Method" button appears immediately for new schools
  • If billing setup fails, a "Retry" button lets you try again instead of showing "Contact support"
  • Portal redirect now works for new schools (no more redirect errors)

v2026.2.12.1

All students now appear in the Progress Report dropdown regardless of grade level.

If your school has students in elementary grades (or grades that haven't been categorized as upper or middle school), those students were not appearing in the Progress Report student dropdown. This meant teachers and administrators couldn't generate progress reports for those students, and parents couldn't see their elementary-age children in the reports page.

This is now fixed. The Progress Report page shows all students for every user type -- administrators see all students and all subjects, students can always generate their own report, and parents see all of their children regardless of grade classification.

Fixes

  • Elementary students now appear in the Progress Report student dropdown
  • Students with uncategorized grade levels now appear in the Progress Report dropdown
  • Students with elementary grades can now generate their own progress reports
  • Parents can now see all their children in the Progress Report page, including elementary students
  • Class Report subject list now includes subjects from all grade levels

Want to stay updated?

Sign up for NavEd to get notified about new features and improvements

Get Started Free