close

1 of 10

Closing the Loop:

Follow-ups from Previous Conferences

Daniel Scherzer

2 of 10

Agenda

  • Random conversations / hallway track
  • “Orchestration with Puppet” (Spring 2024, Portland, Oregon)
  • “Considerations when targeting LTS releases” (Fall 2024, Vienna, Austria)
  • “Handling Database Updates” (Spring 2025, Sandusky, Ohio)

3 of 10

Hallway Track: Jira Integration

  • Announcing SummaryToJiraComment
    • Mention a task in your edit summary (or multiple tasks)
    • Via the API, comments are added to your task with links
    • Edit summaries no longer included, so only “leak” is the page title

4 of 10

Hallway Track: Extension Management

  • Announcing WikiExtensions
    • Special:Extensions to check status and updates
    • Limited to extensions from git
    • Local changes detected automatically

5 of 10

Spring 2024: Orchestration with Puppet

  • Still in use
  • Agent-less Ansible: less exposure
  • Loading dependencies with r10k and gem

6 of 10

Fall 2024: Considerations when targeting LTS releases

Customer support - bundled features

  • 1.44: CheckUser (bundled), TemplateStyles (bundled), Interwiki (merged)
  • 1.44+: Multi blocks
  • 1.45: Built in notifications
  • 1.45: Vue content model
  • 1.45: {{#contentmodel:canonical|page}}
  • 1.46: Watchlist labels

7 of 10

Fall 2024: Considerations when targeting LTS releases

Extension support - breaking changes from stable 1.43

To implementable interfaces

To extendable classes

Methods removed

Class constants removed

Classes renamed without aliases

Classes removed

Hooks removed

4

1

1

2

1

1.44

+2

+15

+3

1

1

1.45

+11

+23

+1

+5

+1

1.46 (b752f2b)

5

3

27

28

1

2

6

Total Changes

8 of 10

Fall 2024: Considerations when targeting LTS releases

#[\Deprecated] limitations

  • PHP 8.4: Functions, methods, class constants
  • PHP 8.5: global compile-time constants

<?php

if ( version_compare( PHP_VERSION, '8.5.0', '>=' ) ) {

eval(

"#[\\Deprecated(message: 'use APCOND_FR_NEVERBLOCKED')]\n" .

'const APCOND_FR_NEVERBOCKED = 70822;'

);

} else {

define( 'APCOND_FR_NEVERBOCKED', 70822 );

}

var_dump( defined( 'APCOND_FR_NEVERBOCKED' ) );

var_dump( APCOND_FR_NEVERBOCKED );

9 of 10

Spring 2025: Handling Database Updates

  • Previously: 1.31+
  • Now: 1.9+
  • Grateful to Ladsgroup for db-analyzor-tools
  • Missing auto increment
  • Missing rows for primary key ids

10 of 10

Thank you

Questions?