Changelog

Product updates and release notes.

Version 1.8.7 - Recipient-specific links in event emails

MVP 1.8.7 | 2026-08-11 | Event Emails

Event organizers can now turn selected email text into a recipient-specific link from an imported CSV, with protected previews and validation before delivery.

Event emails

  • Added recipient-specific links inside event email content using URL fields from an imported recipient CSV.
  • Limited link destinations to non-destination text columns while keeping the destination email column available as ordinary personalized text.
  • Kept confidential CSV values hidden in normal previews while preserving explicit, audited reveal controls for authorized administrators.
  • Validated each recipient's original link and complete message before masking confidential preview values, then validated them again before delivery.
  • Rejected blank, invalid, oversized, and destination-email values before they can be used as links in approved or delivered messages.
Previous updates (24)

Version 1.8.6 - UEPC certificates that open reliably

MVP 1.8.6 | 2026-08-10 | UEPC 2026 / Certificates

UEPC 2026 recipients can now open their official certificates directly from icpcassiut.org, with reliable in-browser viewing and clearer information about public certificate content.

Highlights

UEPC certificates

  • Made UEPC 2026 certificate links open directly on icpcassiut.org, avoiding browser blocks caused by external storage URLs.
  • Kept each certificate unlisted behind its unique randomized link, without publishing a browsable certificate directory.
  • Added clear policy information about what official event certificates may display and how recipients can request a correction or removal.

Version 1.8.5 - A clearer Guild coaching workspace

MVP 1.8.5 | 2026-07-30 | Guilds / Tutorials / Tags / Administration

This update gives coaches a more flexible Guild Progress workspace, smoother Trial management and tutorials, simpler problem matching and tags, and a cleaner user administration experience.

Highlights

Guild Progress

  • Rebuilt Guild Progress around flexible Members and Trials views, with optional attribute groups, sortable teams, compact summaries, and per-problem detail.
  • Added clearer team and member comparisons, consistent contest and Upsolve states, full problem names, and faster transitions between Progress views.

Guild Trials and tutorials

  • Moved Trial filters into a clearer layout and combined Trial settings into one drawer with a single save action.
  • Added editable step-by-step tutorials with hints before solutions, mathematical notation, optional external links, and support for primary and additional tutorials.
  • Improved Trial progress with member sorting, attempt details, wrong-answer counts, and responsive layouts.

Problem matching

  • Fixed Problem Matching so approved links can be completed reliably, with clear review steps when a match affects more than one Trial.

Problem tags

  • Made contributed problem tags available immediately and simplified admin cleanup into clear Active, Removed, and Legacy views.
  • Made tag additions respond faster on Gyms that share the same problems.

User administration

  • Redesigned user management with clearer filters, reliable sorting, responsive mobile cards, and local date and time controls.
  • Made role assignment clearer and more consistent across supported administrator scopes.

Version 1.8.4 - Faster Guild workflows and more reliable discovery

MVP 1.8.4 | 2026-07-17 | Guild Progress / Trials / Search / Reliability

This update makes Guild Progress easier to navigate, lets different Guilds import the same Codeforces Trial sources, improves public Gym search, and fixes sign-in redirects from the www address.

Highlights

Guild Progress

  • Redesigned the Guild Progress workspace with clearer views, searchable attribute filters, compact tables, and independent member and Trial paging.
  • Improved large Progress dashboards with sticky labels, responsive scrolling, familiar Codeforces rating colors, and clearer totals and coverage details.

Guild Trials

  • Allowed the same Codeforces contest or group source to be imported into separate Guilds while preserving duplicate protection inside each Guild.
  • Prevented failed imports from exposing or linking to a matching Trial in another Guild.

Gym discovery

  • Improved public Gym search so multi-word queries can match Gym and problem titles regardless of word order or intervening words.
  • Kept Gym search fast and made special characters behave like normal search text.

Authentication reliability

  • Fixed sign-in redirects from www.icpcassiut.org so members reach the canonical address and can sign in reliably.

Version 1.8.3 - Better profiles, cleaner settings, smoother Trials, and a new help page

MVP 1.8.3 | 2026-06-12 | Profiles / Settings / Trials / Help

This update makes member profiles more useful, account settings easier to manage, Guild Trials clearer to create and follow, and help easier to find.

Highlights

Profiles

  • Added richer Codeforces profile stats, including rating details, solved-problem breakdowns, and activity insights.
  • Improved public and private profile pages so handles, contributions, and stats are easier to read.
  • Added a clearer way to refresh visible Codeforces profile information.

Settings

  • Reorganized profile settings into clearer sections for profile details, connected handles, and notifications.
  • Improved connected-handle cards so Codeforces and VJudge account status is easier to understand.
  • Improved notification preferences so they are easier to review and update on desktop and mobile.

Guild Trials

  • Added optional public Trial descriptions, expected start times, and durations during Codeforces and VJudge imports.
  • Added editable Trial descriptions so Guild managers can explain goals, rules, or context after a Trial is created.
  • Improved pending Trial imports so Guild managers get clearer recovery options when contest data is not ready yet.

Help

  • Added a FAQ page with quick answers about accounts, profiles, Guilds, Trials, and contribution features.
  • Added a footer link so platform help is easier to find from public pages.

Version 1.8.2 - Guild Activity refresh and Progress automation polish

MVP 1.8.2 | 2026-06-01 | Guilds / Activity / Progress

Added Guild Activity refresh controls and tightened bounded background updates so Progress dashboards stay current with clearer limits and fewer interruptions.

Highlights

Guild Activity

  • Added Activity refresh settings so Guild managers can keep recent member practice signals current from Progress dashboards.
  • Added bounded automatic Activity updates that respect Guild visibility and pause cleanly when a batch reaches its limit.
  • Improved Activity dashboard freshness by updating member practice timestamps where supported judge data is available.

Progress automation

  • Improved automatic Progress and Activity refresh limits so large Guilds continue in smaller batches instead of crowding interactive work.
  • Improved queued refresh behavior so unfinished Guild and Trial work can continue on a later worker pass.
  • Fixed missing default Activity refresh limits so hosted environments use the same bounded settings.

Reliability

  • Improved Activity refresh reliability by keeping hosted update batches within clear limits.
  • Improved Progress dashboard freshness while Activity updates are still in progress.
  • Fixed missing default Activity refresh limits so scheduled updates use the same bounded settings.

Version 1.8.1 - Guild Progress polish and Upsolve coaching

MVP 1.8.1 | 2026-05-27 | Guilds / Progress / Upsolve

Polished the Guild training experience with a denser progress matrix, clearer member workflows, Upsolve coaching controls, smoother Trial views, and reliability improvements.

Highlights

Progress matrix

  • Added pagination, width presets, solved-count sorting, compact totals, and clearer Progress controls for large Guild dashboards.
  • Improved Progress matrix layout so members, handles, Trials, and solved counts stay easier to scan.
  • Improved Progress update performance for Guilds with many Trials and members.

Guild operations

  • Split Guild discovery into clearer public, joined, managed, and archived lists, with dedicated admin visibility where needed.
  • Added batch member adding for existing users, with clear feedback for entries that could not be matched or added.
  • Completed join-request management so Guild managers can review, approve, or decline pending requests.

Upsolve coaching

  • Added a Guild Upsolve page for coaching recommendations based on Trial progress.
  • Added manager controls for Upsolve visibility and hidden recommendations.
  • Improved Upsolve filtering, dashboard context, and direct judge links for Codeforces and VJudge problems.

Trials and usability

  • Made Trial import and Trial Progress views simpler, with progress totals shown beside member handles or names.
  • Aligned Trial problem quality ratings with the existing review-style rating experience.
  • Kept dark-mode preference stable across page refreshes.

Access and reliability

  • Clarified permission boundaries for Guild management, Progress, Upsolve, and Trial restore flows.
  • Notification and email actions now consistently open supported platform destinations.
  • Improved reliability around Guild progress updates, automatic Progress refreshes, manager actions, and Trial restore views.
  • Improved automatic Guild Progress refresh reliability with clearer provider results, bounded provider waits, and queued continuation when a refresh reaches its time budget.

Version 1.8 - Guilds, Trials, and Progress

MVP 1.8 | 2026-05-18 | Guilds / Trials / Progress

Added Guild workspaces for teams and groups, with Trials, progress dashboards, safer access settings, and stronger Codeforces and VJudge support.

Highlights

Guild workspaces

  • Added Guilds as training workspaces for teams and groups.
  • Added Guild pages for overview, Trials, Progress, Members, and Settings.
  • Added Guild access controls for public, unlisted, invite-only, and private visibility.
  • Added member access controls for direct join, request to join, invite-only, and closed membership.

Trials

  • Added Trial creation and imports for Codeforces and VJudge contests.
  • Added Trial settings for progress policy and compact dashboard labels.
  • Added source links for imported Trials and supported problem links.

Progress dashboards

  • Added Guild Progress dashboards with member rows, Trial columns, solved totals, and missing-handle warnings.
  • Added custom dashboards for selected members and Trials.
  • Added Sync All for visible Trials from the Progress management page.
  • Added controls to hide selected Trials or members from the main dashboard.

VJudge and Codeforces

  • Added VJudge progress support for Guild Trials.
  • VJudge handles are now managed from user profiles and shown read-only in Guilds.
  • Added support for the VJudge credential format used by VJudge's current login flow.
  • Codeforces Trial and progress behavior remains supported.

Access and privacy

  • Added safer Guild visibility and joining controls.
  • Spectators can view limited Guild and Trial information only when Guild settings allow it.
  • Progress dashboards, member rosters, settings, and management pages remain protected.
  • Provider credentials are stored securely and are not displayed after saving.

Version 1.7.2 — Cleanup & Safer Admin Tools

MVP 1.7.2 | 2026-05-11 | Cleanup / Contributor Readiness / Safety

A cleanup and safety release with clearer contributor guidance, safer announcement tooling, better admin visibility, and focused public polish.

Highlights

New

  • Added a restricted rich announcement editor with safe formatting and display name or Codeforces handle personalization.
  • Added announcement email preview so admins can review HTML and plain text before sending.
  • Added a read-only admin ops health page for email, announcement, and digest visibility.

Improved

  • Refreshed contributor and workflow guidance for safer future changes.
  • Made admin user lookup and selected-user announcement search faster and more predictable.
  • Updated About and policy navigation with clearer canonical policy links.
  • Moved Top Contributors above gym catalog filters for easier discovery.

Fixed

  • Accepted high public Codeforces gym IDs in the importer while keeping private or inaccessible gyms blocked.
  • Hardened notification and profile links so unsafe destinations are not clickable.
  • Kept last-online timestamps visible only to admins.
  • Cleaned up small dashboard, typography, and public gym tag privacy issues.

Version 1.7.1 — Reliability & Polish

MVP 1.7.1 | 2026-05-08 | Reliability / Admin Safety / Polish

Improved announcement safety, notification controls, tag coverage accuracy, email presentation, and site polish.

Highlights

Highlights

  • Fixed gym tag coverage so discovery filters update after tag, report, and problem identity changes.
  • Added notification hide/delete controls with per-user soft deletion.
  • Added selected-user announcement audiences using stable user IDs.
  • Added cancellation for queued unsent announcement email work while preserving sent email history.
  • Made announcement action links safer with stricter validation and clearer user-facing errors.
  • Improved announcement and system email templates with branded HTML plus readable plain-text fallbacks.
  • Added favicon and site icons for browser tabs and mobile shortcuts.

Version 1.7 — Notifications & Emailing

MVP 1.7 | 2026-05-07 | Notifications / Email / Announcements

Added the platform's notification and email foundation, including in-app notifications, reliable email delivery, delivery tracking, and Main Admin announcements.

Highlights

Highlights

  • Added in-app notifications with bell, dropdown preview, full notifications page, read/archive actions, and user preferences.
  • Added email delivery with retries, delivery tracking, and safer handling of failed delivery outcomes.
  • Added suppression handling for bounces and complaints to prevent unsafe future sends.
  • Added Main Admin announcement campaigns with preview, recipient filters, in-app delivery, email delivery, and status tracking.
  • Added user notification preferences for optional categories.
  • Added deployment checks and runbooks for safer email rollout and operations.

Version 1.6 — Roles & Permissions

MVP 1.6 | 2026-05-05 | Roles / Permissions / Security

Added a centralized roles and permissions system with Main Admin tools, safer account status controls, and stronger deployment verification.

Highlights

Highlights

  • Added a full roles and permissions foundation.
  • Added system roles for Main Admin, Gym Admin, and Verified Contributor.
  • Added user statuses for Active, Suspended, and Disabled accounts.
  • Added Main Admin tools for managing users, roles, permissions, assignments, overrides, and account status.
  • Replaced the old admin/trusted authorization model with centralized permission checks.
  • Added protected break-glass admin verification through ADMIN_EMAILS.
  • Added private and hidden gym authorization foundations with ownership and scoped access.
  • Hardened gym, tag, report, rating, manual solve, and problem identity permissions.
  • Added safer rollout checks for permission and admin setup.

Version 1.5.3 — Contribution Simplification

MVP 1.5.3 | 2026-05-02 | Tags / Reports / Contributions

Simplified the contribution and tag cleanup workflow to better match the platform's current needs.

Highlights

Highlights

  • Removed active tag proposal, voting, and merge flows from the product UI.
  • Kept tags as direct add + report/remove.
  • Simplified admin report resolution to Accept, Dismiss, and Malicious/spam.
  • Simplified admin tag cleanup around removed and legacy tag states.
  • Preserved direct tag contribution scoring and report-based cleanup.
  • Fixed recent tag undo so users can re-add a tag they accidentally removed within the short undo window.
  • Ensured accepted bad-tag reports block later reactivation.
  • Kept contribution score as recognition only.

Version 1.5.2 — Contribution Sidebar & Tag Tools

MVP 1.5.2 | 2026-05-02 | Contributions / Tags / Admin

Added a compact Top Contributors widget and improved tag cleanup tools.

Highlights

Highlights

  • Added a low-emphasis Top Contributors widget powered by contribution cache totals.
  • Added admin-configurable contributor count.
  • Added tag/problem reporting controls inside Tag Tools.
  • Added short undo window for users to remove their own recently added tags.
  • Added direct admin tag remove actions from gym detail.
  • Improved admin tag cleanup filtering so actionable cleanup records are not hidden by ordinary active tags.
  • Kept contribution score as recognition only, with no leaderboard page, badges, levels, or permission changes.

Version 1.5.1 — Solve Sync & Direct Tags

MVP 1.5.1 | 2026-05-01 | Solves / Tags / Gyms

Improved solve syncing and simplified tag contribution flow.

Highlights

Highlights

  • Made Codeforces standings refresh update all known users found in the standings.
  • Made verified solves identity-aware so linked duplicate problems share solved status.
  • Preserved manual solves as separate from verified solves.
  • Replaced tag proposal/voting flow with direct tag adding for eligible users.
  • Added direct tag contribution scoring and kept bad-tag reports as the quality-control path.
  • Cleaned up gym tag UI and removed proposal/review/voting clutter.
  • Safely handled legacy hidden tag rows from the previous provisional workflow.

Version 1.5 — Contributions & Trust

MVP 1.5 | 2026-05-01 | Contributions / Tags / Reports / Admin

Added the foundation for contribution tracking, tag solidification, reports, and admin contribution review.

Highlights

Highlights

  • Added contribution ledger, scoring, and profile contribution summaries.
  • Added private user contribution history and admin contribution overview.
  • Added provisional tag proposals, review voting, solidification, and admin tag moderation.
  • Added report submission and admin report resolution for bad tags and metadata.
  • Added contribution tracking for public gym imports and reviewed manual gyms.
  • Kept contribution score separate from private operational trust and permissions.
  • Added safeguards for idempotency, revocation, rate/cap integrity, and concurrent admin resolutions.

Version 1.4.1 — Gym Usability Patch

MVP 1.4.1 | 2026-04-30 | Gyms / Tags / Ratings

Improved gym usability with manual solve marking, problem quality ratings, trusted tagging, hidden tags, and better discovery filters.

Highlights

Highlights

  • Added admin-enabled manual solve marking for gyms that cannot be synced through Codeforces.
  • Added durable rate limits for manual solve marking.
  • Added ProblemIdentity-level quality ratings with a short edit window.
  • Allowed trusted users to tag visible problems.
  • Kept tags hidden by default with an optional reveal toggle.
  • Improved gym detail and discovery UI with clearer stars, local times, problem-name search, advanced filters, and duration ranges.

Version 1.4 — Better Gyms

MVP 1.4 | 2026-04-30 | Gyms / Catalog / Admin

Added the foundation for better gym discovery, manual/admin gyms, Codeforces gym sync, and problem identity linking.

Highlights

Highlights

  • Added searchable gym discovery with visibility-aware public/admin browsing.
  • Added manual gym management and controlled access metadata.
  • Added ProblemIdentity support for equivalent problems, tags, solves, and admin linking.
  • Added Codeforces gym sync/refresh with rate limits, previews, conflict handling, and safe inactive problem handling.
  • Added visibility controls for PUBLIC, UNLISTED, and ADMIN_ONLY gyms.
  • Hardened sync mapping validation and stabilized gym discovery/admin edit behavior.

MVP 1.3.2 — Admin User Management

MVP 1.3.2 | 2026-04-29 | Admin / Security

Added controlled admin user management with audited profile edits, handle overrides, and role changes.

Highlights

Highlights

  • Admins can edit profile fields, Codeforces/VJudge handles, and user roles.
  • Sensitive changes require confirmation, reason, and audit logs.
  • Added safeguards against admin lockout and Codeforces handle collisions.
  • Unverified VJudge handles remain private.

MVP 1.3.1 — UI Consistency Update

MVP 1.3.1 | 2026-04-29 | UI / Settings

Cleaned up UI consistency across major pages and moved identity-related settings into one place.

Highlights

Highlights

  • Improved spacing, forms, tables, and dark-mode consistency.
  • Moved handle management into Profile Settings.
  • Added a 3-month cooldown before changing a verified Codeforces handle.

MVP 1.3 — Admin Tools

MVP 1.3 | 2026-04-29 | Admin Tools

This update adds the first version of admin tools for safer community management and user visibility.

Highlights

Highlights

  • Added an admin dashboard.
  • Added a read-only user list for admins.
  • Added user diagnostics pages with handles, trust status, profile info, activity counts, and recent actor audit logs.
  • Added admin navigation between Users and Tags.
  • Kept the new user admin tools read-only for this release.

MVP 1.2.1 — Profile Settings

MVP 1.2.1 | 2026-04-28

This update adds profile customization so users can share more context on their private and public profiles.

Highlights

Highlights

  • Added a Profile Settings page.
  • Added editable display name, organization, bio, and social links.
  • Public profiles can now show optional personal/community info.
  • Kept Google account name read-only.
  • Kept private account details separate from public profiles.

Profile and Public Identity

MVP 1.2 | 2026-04-28

This release adds user profile pages and public Codeforces identity views, with clearer profile navigation and footer links.

Highlights

Highlights

  • Added a private Profile page for signed-in users.
  • Added public Codeforces profile pages using verified handles.
  • Added Codeforces rating stats, trusted status, and training activity summaries.
  • Made the signed-in navbar identity link to the Profile page.
  • Added official Facebook and Feedback / Report bug links to the footer.
  • Kept private account details separate from public profiles.

Usability Update

MVP 1.1 | 2026-04-27

This update improves the early MVP experience with clearer navigation, dark mode, and better pages for browsing gyms and tracking updates.

Highlights

Highlights

  • Added dark mode.
  • Added About and Changelog pages.
  • Improved navigation for signed-in and signed-out users.
  • Polished the compact admin-console UI.
  • Improved gym rating display.

Notes

This is still an early MVP, and many parts of the platform may change based on feedback.

Initial public MVP

MVP 1 | 2026-04-27

The first usable version of the ICPC Assiut training platform is live.

Highlights

Highlights

  • Google login.
  • Codeforces handle verification.
  • VJudge handle setup.
  • Codeforces gym browsing and import.
  • Problem tagging.
  • Gym quality ratings and reviews.

Notes

Feedback and bug reports are welcome through community admins/Discord.