* [web] Order plans in Change Plan modal consistently Reorder the plans returned by `buildPlansListForSubscriptionDash` so the Subscription page "Change plan" modal lists them top-to-bottom as: 1. Student annual 2. Student monthly 3. Standard monthly 4. Standard annual 5. Pro monthly 6. Pro annual Previously `buildPlansList` produced three per-period buckets which the dash function concatenated, giving an order that flipped per family. Replace that with an explicit `CHANGE_PLAN_MODAL_PLAN_CODES` list so the order matches the Design QA spec at a glance. The now-unused `studentAccounts`, `individualMonthlyPlans`, `individualAnnualPlans`, `groupMonthlyPlans`, and `groupAnnualPlans` buckets are dropped from `buildPlansList` (no other callers). Closes #34024 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * [web] Update personal-plan acceptance test for new buildPlansList shape The previous test asserted `buildPlansList().individualMonthlyPlans`, which no longer exists after the change-plan modal reorder dropped the per-period buckets. Move the assertion to `buildPlansListForSubscriptionDash()`, which is where the personal-plan exclusion is now enforced (via `CHANGE_PLAN_MODAL_PLAN_CODES`). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * [web] Drop now-dead client-side plan filter `IndividualPlansTable` used to filter out `paid-personal`, `paid-personal-annual` and `institutional_commons` defensively because the old `buildPlansListForSubscriptionDash` returned every non-group plan that wasn't `hideFromUsers`. The previous commit pins the modal to an explicit six-plan list (`CHANGE_PLAN_MODAL_PLAN_CODES`), so none of those plan codes ever reach the frontend and the filter is dead. Remove it and the now-unused `useMemo` import. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Revert "[web] Drop now-dead client-side plan filter" This reverts commit 83e8448f2cfa2c68e44b749d5a2bc350a7443c6d. We'll do that in a later cleanup * Swap "Student monthly" and "Student annual" for consistency --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> GitOrigin-RevId: 046a235e14e7ad6622288f5a5a723f5a4f7f14da
An open-source online real-time collaborative LaTeX editor.
Wiki • Server Pro • Contributing • Mailing List • Authors • License
Figure 1: A screenshot of a project being edited in Overleaf Community Edition.
Community Edition
Overleaf is an open-source online real-time collaborative LaTeX editor. We run a hosted version at www.overleaf.com, but you can also run your own local version, and contribute to the development of Overleaf.
Caution
Overleaf Community Edition is intended for use in environments where all users are trusted. Community Edition is not appropriate for scenarios where isolation of users is required due to Sandbox Compiles not being available. When not using Sandboxed Compiles, users have full read and write access to the
sharelatexcontainer resources (filesystem, network, environment variables) when running LaTeX compiles.
For more information on Sandbox Compiles check out our documentation.
Enterprise
If you want help installing and maintaining Overleaf in your lab or workplace, we offer an officially supported version called Overleaf Server Pro. It also includes more features for security (SSO with LDAP or SAML), administration and collaboration (e.g. tracked changes). Find out more!
Keeping up to date
Sign up to the mailing list to get updates on Overleaf releases and development.
Installation
We have detailed installation instructions in the Overleaf Toolkit.
Upgrading
If you are upgrading from a previous version of Overleaf, please see the Release Notes section on the Wiki for all of the versions between your current version and the version you are upgrading to.
Overleaf Docker Image
This repo contains two dockerfiles, Dockerfile-base, which builds the
sharelatex/sharelatex-base image, and Dockerfile which builds the
sharelatex/sharelatex (or "community") image.
The Base image generally contains the basic dependencies like wget, plus texlive.
We split this out because it's a pretty heavy set of
dependencies, and it's nice to not have to rebuild all of that every time.
The sharelatex/sharelatex image extends the base image and adds the actual Overleaf code
and services.
Use make build-base and make build-community from server-ce/ to build these images.
We use the Phusion base-image
(which is extended by our base image) to provide us with a VM-like container
in which to run the Overleaf services. Baseimage uses the runit service
manager to manage services, and we add our init-scripts from the server-ce/runit
folder.
Contributing
Please see the CONTRIBUTING file for information on contributing to the development of Overleaf.
Authors
License
The code in this repository is released under the GNU AFFERO GENERAL PUBLIC LICENSE, version 3. A copy can be found in the LICENSE file.
Copyright (c) Overleaf, 2014-2025.
