Page MenuHomePhabricator

Consider allowing MediaWiki projects to pin a previous version of Codex
Open, Needs TriagePublicSpike

Description

Breaking changes in a MediaWiki library can require quick resolution in a project that uses the library, or cause unexpected breakage. This recently happened with the Codex 0.1.0-alpha.8 release, which contained breaking changes in multiple components. Although breaking changes should be expected when using a library in alpha, we should consider how to ease this burden.

Is there any precedent for maintaining at least the previous version of a library in MediaWiki and allowing skins/extensions to pin that version? This would give project maintainers some space to make updates related to breaking changes. Of course, this could lead to loading more than one version of the library on a single page, which may be unacceptable from a performance standpoint.

Let's consider whether something like this is possible. If not, we should at least amend our processes for alpha/beta releases to ensure teams have warning of imminent breaking changes.


Acceptance criteria

  • Discuss whether this is feasible, or if there are alternate technical solutions
  • Otherwise, develop a clear process for announcing alpha/beta releases to give teams warning when breaking changes are coming

Event Timeline

This came out of a meeting with other core experiences team. Certainly we can do a better job of announcing breaking alpha/beta releases, but it's worth considering potential technical solutions.

ldelench_wmf moved this task from Inbox to Needs Refinement on the Design-System-Team board.
DAbad changed the subtype of this task from "Task" to "Spike".Oct 3 2022, 4:48 PM
DAbad subscribed.

This is part of a series of tickets related to handling breaking changes. Do we have an epic for this? Maybe add this as a child of make it easier to use codex ticket.

Converting to Spike so we can research

egardner lowered the priority of this task from High to Medium.Jan 23 2023, 4:41 PM
egardner raised the priority of this task from Medium to Needs Triage.Oct 2 2023, 9:15 PM
egardner moved this task from Needs Refinement to Backlog on the Design-System-Team board.

Now that we have released 1.0, with a clear guarantee that there won't be breaking changes for a while, is this still necessary? I would like to avoid allowing skins/extensions to use a different version of Codex than the rest of MediaWiki, and as long as we don't make breaking changes often (and announce them well in advance when we do) that shouldn't be necessary.

In support of @Catrope's take. It seems more problematic to have different versions at the same time, probably unchanged for a long time than working with the teams upfront and guide in case of a breaking change.

From my side, I don't think it is necessary to support pinning a version.