Release Notes

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

182 releases
Page 11 of 17
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.9.3

Search and feedback just got more reliable.

We spotted two issues affecting a small number of users and moved fast to fix them. First, if you happened to visit nav.education directly (instead of your school's subdomain), submitting feedback would fail silently. Now, you'll be automatically redirected to your school's portal so everything works as expected.

Second, searching for students or staff who hadn't uploaded a profile photo could cause the search to fail. We've fixed this across search results, quick-view cards, and attendance reports.

Fixes and Improvements

  • Authenticated users on the main domain are now automatically redirected to their school's subdomain
  • Fixed search results failing for users without a profile photo
  • Fixed attendance report PDF generation for students without profile photos
  • Fixed student sorting in attendance reports

v2026.2.9.2

Student limit gate now enforced on all student creation paths.

The free plan student limit gate is now wired into the three places students can be created: the add-student form, CSV bulk import, and application approval. When the gate blocks a student add, the form preserves your input and shows the upgrade modal. CSV import checks the limit before importing and shows remaining free slots on the upload page. Application processing checks the batch size before approving.

Improvements

  • Add-student form preserves all entered data when the limit gate blocks submission
  • CSV import page shows remaining free student slots before upload
  • CSV import returns a clear error when the batch would exceed the free limit
  • Application processing checks the batch count before creating student records
  • All three paths use the same centralized gate service

v2026.2.9.1

Student limit gate service and upgrade modal for free plan enforcement.

Schools on the free plan are now limited to 5 students. When you try to add student #6, an encouraging modal explains that your school is growing and directs you to billing settings to unlock unlimited students. The gate applies to all student creation paths -- single add, CSV import, and application approval. Demo schools, legacy schools, and schools with a payment method on file bypass the gate automatically.

New Features

  • Student limit gate blocks adding students beyond the free plan limit
  • Encouraging upgrade modal with exact student count and billing CTA
  • Bypass detection for demo, legacy, exempt, and paying schools
  • Concurrency-safe atomic check using PostgreSQL advisory locks

v2026.2.8.1

Improved school setup loading screen experience.

The provisioning loading screen now fills the full browser window and paces its progress animations to match real setup time. Previously, the animated checkmarks appeared within the first 8 seconds, leaving a long wait on the final step. Now the three intermediate steps tick at 30-second intervals across the first 90 seconds, so progress feels natural throughout the 2-5 minute provisioning window.

Improvements

  • Full viewport height layout -- loading screen fills the entire browser window
  • Animation timing spread across 90 seconds instead of 8 seconds for natural pacing
  • Updated messaging to set accurate "2-5 minutes" time expectation

v2026.2.7.3

Billing dashboard now shows cancellation banners and subscription management buttons.

When a subscription is scheduled for cancellation, a clear warning banner tells you exactly when access ends and offers a one-click Reactivate option. An Update Payment Method button appears next to your card info, and a Cancel Subscription button is available in the subscription summary. A confirmation dialog ensures you don't accidentally reactivate -- it shows your billing amount and next charge date before you confirm.

Improvements

  • Cancellation warning banner with end date and Reactivate button
  • Update Payment Method button inline with card display
  • Add Payment Method button when no card is on file
  • Cancel Subscription button (hidden for legacy tenants and during scheduled cancellation)
  • Reactivation confirmation modal with billing amount and date

v2026.2.7.2

Manage your subscription directly from the billing dashboard.

School administrators can now manage payment methods, cancel, or reactivate subscriptions through the Stripe Customer Portal -- all without contacting support. The billing page links directly to Stripe's secure portal for payment method updates. If you cancel, your subscription stays active until the end of the current billing period, and you can reactivate at any time before then.

Improvements

  • Manage Payment Method button opens Stripe Customer Portal
  • Cancel Subscription deep-links to Stripe's cancellation flow
  • Reactivate button reverses a scheduled cancellation instantly
  • Billing dashboard shows cancellation status and end date when applicable
  • Webhook sync keeps local billing state in sync with Stripe automatically

v2026.2.7.1

Your billing tab just got a whole lot more useful.

School administrators now see a richer billing overview on the School Dashboard. The Billing tab shows your current subscription tier, a breakdown of total vs. billable students, your payment method on file, and a preview of your next charge. If your account is past due or suspended, clear warning banners appear so you can take action immediately.

Pricing comparison now pulls live data from our plans instead of showing static prices, so you always see the latest rates when considering an upgrade. Demo schools no longer see the billing tab since it does not apply to them.

Fixes and Improvements

  • Billing tab shows warning banners for past-due and suspended accounts
  • Payment method (card brand and last 4 digits) displayed in billing overview
  • Student count breakdown: total, free tier, and billable students
  • Next charge preview with amount and billing date
  • Pricing comparison now uses dynamic plan data instead of hardcoded prices
  • Billing tab hidden for demo tenants
  • Fixed timestamp conversion in billing service so invoice dates display correctly

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