Releases: ether/etherpad
v2.7.0
Breaking changes
- Abiword has been replaced with LibreOffice for document import/export. If you were using Abiword for DOCX/ODT/PDF conversion, update your
settings.jsonto pointsofficeat your LibreOffice binary. DOCX export is now supported out of the box.
Notable enhancements
- Added line numbers to the timeslider so you can follow along with specific lines while replaying a pad's history.
- Added a playback speed setting to the timeslider — you can now scrub through history faster (or slower) than real time.
- Creator-owned pad settings defaults: the user who creates a pad now seeds its default settings, giving pad creators more control over initial configuration.
- Cookie names are now configurable via a prefix setting. Useful when running multiple Etherpads on the same domain and you need to keep their session cookies from colliding.
- Added a new
aceRegisterLineAttributeshook so plugins can preserve custom line attributes across Enter / line-split operations. Documentation for the hook is included. - Added a one-line installer script for getting Etherpad running quickly on a fresh machine.
- Docker images are now published to GitHub Container Registry (GHCR) in addition to Docker Hub.
- npm publishing of core and plugins has been migrated to OIDC trusted publishing for stronger supply-chain security.
Notable fixes
- Database drivers are now bundled with Etherpad again, so fresh installs no longer fail to connect to Postgres, MySQL, and friends out of the box. A regression test has been added to prevent this from breaking again.
- Pending changesets are now flushed immediately after a reconnect instead of being silently dropped, and users are warned when a pending edit is not accepted by the server.
- Head revision and atext are now captured atomically, preventing the occasional "mismatched apply" errors on busy pads.
- Clearing authorship colors can now be undone without forcing a client disconnect.
- Added periodic cleanup of expired/stale sessions from the database, and fixed a race condition in the session cleanup timeout.
- Error messages returned to clients are now sanitized by default with deduplication, so internal details no longer leak through error responses.
- Raised the maximum socket.io message size to 10 MB so large pastes no longer get rejected.
- Dev mode entrypoint paths now respect the
x-proxy-pathheader, fixing reverse-proxy setups in development. - Numerous list-related fixes: numbered list wrapped lines now indent correctly, ordered list numbering is preserved across bullet interruptions during export, consecutive numbering survives indented sub-bullets, switching from unordered to ordered resets numbering, and line attributes are preserved across drag-and-drop.
- Bold (and other) formatting is now retained after copy-paste.
- Dead-key / compose-key input no longer eats the preceding space.
POSTAPI requests with a JSON body no longer time out.appendTextnow correctly attributes the new text to the specified author.createDiffHTMLno longer fails withNot a changeset: undefined.- Added
padIdto thepadUpdate/padCreatehook context. - Fixed
numConnectedUsersto include the joining user in its count. - Accessibility improvements: keyboard trap fix, better screen reader support, and
aria-liveannouncements. - RTL URL parameter
rtl=falsenow correctly disables RTL mode. - Language dropdown is now sorted alphabetically by native name.
- PageDown now advances the caret by a full page of lines.
- ESM/CJS interop issues in the Settings module that had been breaking plugin compatibility have been resolved, with setters added to the CJS compatibility layer and regression tests in place.
- Several Docker build fixes: git submodule handling,
hardlinkpackage-import-method for ZFS, and production-only workspace config.
Other
- Many occurrences of "etherpad-lite" have been renamed to "etherpad" across the codebase and documentation.
- Pinned 33 transitive dependencies to patched versions to clear out Dependabot security alerts.
- Restricted
GITHUB_TOKENpermissions in the update-plugins workflow.
v2.6.1
2.6.1
For those wondering where the new updates are and why it was very quite throughout the last 1 1/2 years – I've been working on a new implementation of Etherpad from scratch in Go. It's called Etherpad-Go and you can find it here: https://github.com/ether/etherpad-go
and a short FAQ about it here: https://github.com/ether/etherpad-go/wiki/FAQ . I'd love to hear your feedback about it either on Discord or issue tracker. There is a README.md that explains how to get started and try it out and also the FAQ can be quite fruitful. Latest release can be found here: https://github.com/ether/etherpad-go/releases/tag/v0.0.4
Notable enhancements and fixes of this release
- Minor fixes and improvements to the session transfer feature introduced in 2.6.0
- Dependencies upgrades
v2.6.0
2.6.0
Notable enhancements and fixes
- Added native option to transfer your Etherpad session between browsers. If you use multiple browsers or different PC for Etherpad they are different sessions. Meaning typing on one PC and then switching to another one in the same pad will result in different authorship colors. With this new feature you can now transfer your session to another browser or PC. To do so, open the home page and click on the wheel icon in the top right corner. After that click through the first dialog prompting you to copy a code to your clipboard. On your second browser open the same dialog and switch to "Receive Session" tab. There you can paste the code you copied before and click on "Receive Session". After that your session is transferred, and you can continue editing with the same authorship color as before. Just be aware that you can't have two active sessions at once in a pad.
- Updated to oidc provider v2.6.0 after resolving compatibility issues.
🎉 For all the people celebrating: Have a happy and awesome new year! 🎉 There is something big on the horizon for Etherpad in 2026. Stay tuned!
v2.5.3
Notable enhancements and fixes
- Fixed an issue with the release script that caused the release to not be created correctly.
v2.5.2
Notable enhancements and fixes
- Fixes the no skin theme having an overlapping
- Adds a new setting to disable recent pads to be shown. By setting
showRecentPadsto false in thesettings.jsonfile you can disable the recent pads feature on the home screen. - Sets the oidc-provider version to 9.5.1 as 9.5.2 crashes Etherpad on startup.
v2.5.1
2.5.1
Notable enhancements and fixes
-
Added endpoint for prometheus scraping. You can now scrape the metrics endpoint with prometheus. It is available at /stats/prometheus if you have enableMetrics set to true in your settings.json
-
fixed exposeVersion causing the pad panel to not load correctly
-
fixed admin manage pad url to also take the base path into account
v2.5.0
bin@2.5.0 generateChangelog D:\a\etherpad-lite\etherpad-lite\bin
node --import tsx generateReleaseNotes.ts "refs/tags/v2.5.0"
2.5.0
Notable enhancements and fixes
- Updated to express 5.0.0. This is a major update to express that brings a lot of improvements and fixes. Please update all your plugins to the latest version to ensure compatibility. A lot changed in the route matching, and thus old plugins will throw errors and crash Etherpad.
- Fixed an issue with the no-skin theme with cookie recentPadList feature
- Fixed layout issues with the no-skin theme
Breaking changes:
- The api of settings has been changed to use esm. So require is now changed to import. Everything works the same as before.
v2.4.2
bin@2.4.2 generateChangelog D:\a\etherpad-lite\etherpad-lite\bin
node --import tsx generateReleaseNotes.ts "refs/tags/v2.4.2"
2.4.2
Notable enhancements and fixes
- Fixed a german translation in the english translation file.
v2.4.1
bin@2.4.1 generateChangelog D:\a\etherpad-lite\etherpad-lite\bin
node --import tsx generateReleaseNotes.ts "refs/tags/v2.4.1"
2.4.1
Notable enhancements and fixes
- Added generating release through ci cd pipeline.
- Readded temporarily disabled workflows after release generation works again
v2.3.2
bin@2.3.2 generateChangelog D:\a\etherpad-lite\etherpad-lite\bin
node --import tsx generateReleaseNotes.ts "refs/tags/v2.3.2"
2.3.2
Notable enhancements and fixes
- Fixed admin ui displaying incorrect text