Page MenuHomePhabricator

Stable Interface Policy annotations
Closed, ResolvedPublic

Description

https://www.mediawiki.org/wiki/Core_Platform_Team/Initiative/Stability_annotations
https://www.mediawiki.org/wiki/Stable_interface_policy#Stability_Annotations

Done Criteria
Based on usage by Production Extensions

  • replace @private with @internal (currently, both are used synonymously) (patch)
  • replace or remove @protected as appropriate (patch)
  • Manually compile a list of classes designed to be "newable" (value objects) (list). Apply tags (patch).
  • Mark exceptions as newable (patch)
  • Manually compile a list of interfaces designed to be implemented by extensions (list). Apply tags (patch)
  • Manually compile a list of classes designed to serve as extensions points (base classes) (list). Apply tags (patch)
  • For each class, identify methods that are intended to be overwritten.

Details

ProjectBranchLines +/-Subject
mediawiki/coremaster+13 -0
mediawiki/coremaster+269 -1
mediawiki/coremaster+378 -2
mediawiki/coremaster+31 -24
mediawiki/coremaster+30 -1
mediawiki/coremaster+151 -0
mediawiki/coremaster+119 -0
mediawiki/coremaster+110 -1
mediawiki/coremaster+31 -0
mediawiki/coremaster+312 -3
mediawiki/coremaster+12 -0
mediawiki/coremaster+118 -1
mediawiki/coremaster+155 -1
mediawiki/coremaster+139 -3
mediawiki/coremaster+146 -0
mediawiki/coremaster+31 -3
mediawiki/coremaster+253 -0
mediawiki/coremaster+84 -0
mediawiki/coremaster+30 -0
mediawiki/coremaster+70 -4
mediawiki/coremaster+47 -0
mediawiki/coremaster+58 -0
mediawiki/coremaster+24 -0
mediawiki/coremaster+130 -5
mediawiki/coremaster+82 -21
mediawiki/coremaster+1 -2
mediawiki/coremaster+13 -1
mediawiki/coremaster+36 -34
mediawiki/coremaster+72 -72
Show related patches Customize query in gerrit

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptMar 17 2020, 4:02 PM
Izno added a subscriber: Izno.Mar 18 2020, 1:04 AM
daniel updated the task description. (Show Details)Jun 23 2020, 3:39 PM
daniel updated the task description. (Show Details)Jun 26 2020, 12:15 PM

Change 608033 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Use @internal instead of @private per policy

https://gerrit.wikimedia.org/r/608033

daniel updated the task description. (Show Details)Jun 26 2020, 12:33 PM

Change 608035 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Replace @protected tag

https://gerrit.wikimedia.org/r/608035

daniel updated the task description. (Show Details)
daniel updated the task description. (Show Details)

Change 579253 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Annotate newable classes

https://gerrit.wikimedia.org/r/579253

daniel updated the task description. (Show Details)Jun 26 2020, 12:59 PM

Change 608040 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Document some classes as not newable.

https://gerrit.wikimedia.org/r/608040

daniel updated the task description. (Show Details)Jun 26 2020, 2:09 PM

Change 608054 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Stability annotations for interfaces.

https://gerrit.wikimedia.org/r/608054

daniel updated the task description. (Show Details)Jun 26 2020, 2:52 PM
daniel updated the task description. (Show Details)Jun 26 2020, 3:37 PM

Change 579252 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] [WIP] Annotate extensible classes.

https://gerrit.wikimedia.org/r/579252

daniel updated the task description. (Show Details)Jun 26 2020, 3:51 PM

Change 608033 merged by jenkins-bot:
[mediawiki/core@master] Use @internal instead of @private per policy

https://gerrit.wikimedia.org/r/608033

Change 608035 merged by jenkins-bot:
[mediawiki/core@master] Replace @protected tag

https://gerrit.wikimedia.org/r/608035

daniel updated the task description. (Show Details)Jun 29 2020, 9:37 AM
daniel updated the task description. (Show Details)
daniel updated the task description. (Show Details)Jun 29 2020, 12:15 PM

Change 608303 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Mark exceptions as @newable

https://gerrit.wikimedia.org/r/c/mediawiki/core/ /608303

daniel updated the task description. (Show Details)Jun 29 2020, 12:16 PM
daniel added subscribers: Nikki, DannyS712, Pchelolo.

Change 608581 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Mark more classes as newable, per the Stable Interface Policy.

https://gerrit.wikimedia.org/r/c/mediawiki/core/ /608581

Change 608608 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Mark API base classes as extensible

https://gerrit.wikimedia.org/r/c/mediawiki/core/ /608608

Change 608638 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Mark pager base classes as stable for subclassing.

https://gerrit.wikimedia.org/r/c/mediawiki/core/ /608638

Change 608689 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Mark Content and ContentHandler base classes as extensible

https://gerrit.wikimedia.org/r/c/mediawiki/core/ /608689

Change 608694 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Mark action base classes as extensible

https://gerrit.wikimedia.org/r/c/mediawiki/core/ /608694

Change 608927 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Mark methods in authentication base classes as stable for overriding.

https://gerrit.wikimedia.org/r/c/mediawiki/core/ /608927

Change 608939 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Mark media handling based classes as stable for subclassing

https://gerrit.wikimedia.org/r/c/mediawiki/core/ /608939

Change 608981 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/core@master] OutputPage: Use @unstable instead of @internal for addHtmlClasses()

https://gerrit.wikimedia.org/r/c/mediawiki/core/ /608981

Change 609413 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Mark skin base classes as stable for subclassing.

https://gerrit.wikimedia.org/r/609413

Change 609414 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Mark search base classes as stable for subclassing

https://gerrit.wikimedia.org/r/609414

Change 609418 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Mark ResourceLoader Module as stable for subclassing

https://gerrit.wikimedia.org/r/609418

Change 609438 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Mark database base classes as stable for subclassing

https://gerrit.wikimedia.org/r/609438

Change 609628 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] [EditPage] Mark public fields not used outside of core as internal

https://gerrit.wikimedia.org/r/609628

Change 609632 had a related patch set uploaded (by DannyS712; owner: DannyS712):
[mediawiki/core@master] Mark token methods in query apis as internal

https://gerrit.wikimedia.org/r/609632

Change 608981 merged by jenkins-bot:
[mediawiki/core@master] OutputPage: Use @unstable instead of @internal for addHtmlClasses()

https://gerrit.wikimedia.org/r/608981

Change 609628 merged by jenkins-bot:
[mediawiki/core@master] [EditPage] Mark public fields not used outside of core as internal

https://gerrit.wikimedia.org/r/609628

Change 579253 merged by jenkins-bot:
[mediawiki/core@master] Annotate newable classes

https://gerrit.wikimedia.org/r/579253

Change 609418 merged by jenkins-bot:
[mediawiki/core@master] resourceloader: Mark ResourceLoaderModule as stable for subclassing

https://gerrit.wikimedia.org/r/609418

Change 608054 merged by jenkins-bot:
[mediawiki/core@master] Stability annotations for interfaces.

https://gerrit.wikimedia.org/r/608054

Change 608608 merged by jenkins-bot:
[mediawiki/core@master] Mark API base classes as extensible

https://gerrit.wikimedia.org/r/608608

Change 608581 merged by jenkins-bot:
[mediawiki/core@master] Mark additional classes as newable for now.

https://gerrit.wikimedia.org/r/608581

Change 608694 merged by jenkins-bot:
[mediawiki/core@master] Mark action base classes as extensible

https://gerrit.wikimedia.org/r/608694

Change 608638 merged by jenkins-bot:
[mediawiki/core@master] Mark pager base classes as stable for subclassing.

https://gerrit.wikimedia.org/r/608638

Change 608927 merged by jenkins-bot:
[mediawiki/core@master] Mark methods in authentication base classes as stable for overriding.

https://gerrit.wikimedia.org/r/608927

Change 608303 merged by jenkins-bot:
[mediawiki/core@master] Mark exceptions as @newable

https://gerrit.wikimedia.org/r/608303

Change 609414 merged by jenkins-bot:
[mediawiki/core@master] Mark search base classes as stable for subclassing

https://gerrit.wikimedia.org/r/609414

Change 608939 merged by jenkins-bot:
[mediawiki/core@master] Mark media handling based classes as stable for subclassing

https://gerrit.wikimedia.org/r/608939

Change 610717 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Mark File base classes as extensible.

https://gerrit.wikimedia.org/r/610717

Change 608689 merged by jenkins-bot:
[mediawiki/core@master] Mark Content and ContentHandler base classes as extensible

https://gerrit.wikimedia.org/r/608689

Change 610717 merged by jenkins-bot:
[mediawiki/core@master] Mark File base classes as extensible.

https://gerrit.wikimedia.org/r/610717

Change 609413 merged by jenkins-bot:
[mediawiki/core@master] Mark skin base classes as stable for subclassing.

https://gerrit.wikimedia.org/r/609413

Change 579252 merged by jenkins-bot:
[mediawiki/core@master] Annotate extensible classes.

https://gerrit.wikimedia.org/r/579252

Change 609415 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Mark file backend base classes as stable for subclassing

https://gerrit.wikimedia.org/r/609415

Change 608660 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Mark special page base classes as stable for subclassing

https://gerrit.wikimedia.org/r/608660

Change 611294 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Mark exceptions as newable and stable for subclassing

https://gerrit.wikimedia.org/r/611294

Change 611307 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Mark remaining eligible classes as stable for subclassing

https://gerrit.wikimedia.org/r/611307

Change 609415 merged by jenkins-bot:
[mediawiki/core@master] Mark file backend base classes as stable for subclassing

https://gerrit.wikimedia.org/r/609415

daniel updated the task description. (Show Details)Jul 10 2020, 1:56 PM

Change 611307 merged by jenkins-bot:
[mediawiki/core@master] Mark remaining eligible classes as stable for subclassing

https://gerrit.wikimedia.org/r/611307

Change 608660 merged by jenkins-bot:
[mediawiki/core@master] Mark special page base classes as stable for subclassing

https://gerrit.wikimedia.org/r/608660

Change 611294 merged by jenkins-bot:
[mediawiki/core@master] Mark exceptions as newable and stable for subclassing

https://gerrit.wikimedia.org/r/611294

Change 611371 had a related patch set uploaded (by Nikki Nikkhoui; owner: Nikki Nikkhoui):
[mediawiki/core@master] Mark potential abstract classes stable for subclassing

https://gerrit.wikimedia.org/r/611371

Change 611413 had a related patch set uploaded (by Nikki Nikkhoui; owner: Nikki Nikkhoui):
[mediawiki/core@master] HTML Classes stability annotations

https://gerrit.wikimedia.org/r/611413

Change 612164 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Update stability annotatiosn for new stable interface policy

https://gerrit.wikimedia.org/r/612164

Change 611371 merged by jenkins-bot:
[mediawiki/core@master] Mark potential abstract classes stable for subclassing

https://gerrit.wikimedia.org/r/611371

Change 612164 merged by jenkins-bot:
[mediawiki/core@master] Update stability annotations to follow new stable interface policy

https://gerrit.wikimedia.org/r/612164

Change 611413 merged by jenkins-bot:
[mediawiki/core@master] HTML Classes stability annotations

https://gerrit.wikimedia.org/r/611413

Change 609438 merged by jenkins-bot:
[mediawiki/core@master] rdbms: Mark the Database class as stable for subclassing

https://gerrit.wikimedia.org/r/609438

daniel closed this task as Resolved.Jul 13 2020, 8:06 PM
daniel updated the task description. (Show Details)
daniel moved this task from Backlog to Done on the Platform Team Workboards (Green) board.

Change 609632 abandoned by DannyS712:
[mediawiki/core@master] Mark token methods in query apis as internal

Reason:
since the hooks were removed, users can now be injected

https://gerrit.wikimedia.org/r/609632