#m3api — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #m3api, aggregated by home.social.
-
New m3api-oauth2 release! (m3api-oauth2 is still an m3api extension package to authenticate users using OAuth 2.)
This just declares compatibility with the newly released m3api-rest v0.2.0, nothing special :blobfoxhappy:
https://gitlab.wikimedia.org/repos/m3api/m3api-oauth2/-/releases/v1.0.5
-
New m3api-rest release! (m3api-rest is still an m3api extension package to use the MediaWiki REST API.)
THIS is what this has all been building up to! m3api-rest now supports the following:
• request methods: GET, POST, PUT, DELETE, PATCH
• request body content types: JSON, URLSearchParams, FormData
• response body content types: JSON, (plain) text, HTMLresulting in 17 instead of 4 exported functions, a 325% increase!! :D
https://gitlab.wikimedia.org/repos/m3api/m3api-rest/-/releases/v0.2.0
-
New m3api-oauth2 release! (m3api-oauth2 is an m3api extension package to authenticate users using OAuth 2.)
This likewise updates the library to work with latest m3api, and also introduces a new HTTP-level error handler, to handle the fact that Wikimedia infrastructure now responds differently to requests with expired access tokens, which broke our previous automatic refresh functionality 😔
https://gitlab.wikimedia.org/repos/m3api/m3api-oauth2/-/releases/v1.0.4
-
New m3api-rest release! (m3api-rest is an m3api extension package to use the MediaWiki REST API.)
From an external point of view, this is just a patch version bump to make the library compatible with the latest m3api. (Internally, this of course meant quite a few changes, as the m3api maintainer changed the whole network interface this library was using, that thoughtless prick.) The promised new features will come a bit later :blobfoxinnocentcute:
https://gitlab.wikimedia.org/repos/m3api/m3api-rest/-/releases/v0.1.1
-
New m3api release! (m3api is a JavaScript library to use the MediaWiki Action API.)
This version overhauls the internal network interface, which will unlock many new features in the m3api-rest extension package, and introduces a new internal option that will allow m3api-oauth2 to fix an issue with automatic retrying of requests with expired access tokens. (Stay tuned for new releases of those packages in the coming hours :blobfoxfloof:)
https://gitlab.wikimedia.org/repos/m3api/m3api/-/releases/v1.1.0
-
new #m3api release! (m3api is a JavaScript library to use the MediaWiki action API :3)
just two changes:
• a minor change to the handling of responses with Retry-After headers which should hopefully be useful especially when targeting Wikimedia wikis
• a new declaration that changing the supported Node.js versions is not considered a breaking change (and what to do if you need support for a specific Node.js version)https://gitlab.wikimedia.org/repos/m3api/m3api/-/releases/v1.0.4
-
unfinished thought: it would be quite good to have something like the Toolforge Abandoned Tool policy (https://wikitech.wikimedia.org/wiki/Help:Toolforge/Abandoned_tool_policy) for non-tool Wikimedia code, such as libraries (e.g. #m3api) or applications (e.g. Pattypan?)
this could be a step towards “Off-the-shelf governance models for small FOSS projects” (@pintoch, https://antonin.delpeuch.eu/posts/off-the-shelf-governance-models-for-small-foss-projects/) – if a codebase opts into it (README.md?), there would be an established process for adopting it if the maintainer goes inactive
-
and, after some CI troubles (https://phabricator.wikimedia.org/T414864), m3api-oauth2 v1.0.3 is out, now using the new m3api-rest package (see above) internally! \o/
https://gitlab.wikimedia.org/repos/m3api/m3api-oauth2/-/releases/v1.0.3
-
to kick off the new year, here’s a new m3api extension package! m3api-rest lets you make some requests to the MediaWiki REST API :)
it’s only v0.1.0 and it’s quite limited, so probably you shouldn’t look at it too closely yet ;) more powerful versions should come soonish and then it’ll be more useful, with support for more request methods and request+response content types ^^
https://www.npmjs.com/package/m3api-rest
https://doc.wikimedia.org/m3api/m3api-rest/v0.1.0/ -
I’m planning to create a library that makes it easier to use the MediaWiki REST API from applications which already use m3api to interact with the Action API; input welcome here, as I’m not actually very familiar with the REST API: https://phabricator.wikimedia.org/T411325
-
new m3api-query release! 🎉 https://gitlab.wikimedia.org/repos/m3api/m3api-query/-/releases/v1.1.0
headline features: better continuation control, and documentation on doc.wikimedia.org
-
new m3api release! I moved the source code from GitHub to Wikimedia GitLab 🎉
to celebrate the occasion, here are 1.0.1 releases of all the packages:
m3api: https://gitlab.wikimedia.org/repos/m3api/m3api/-/releases/v1.0.1
m3api-query: https://gitlab.wikimedia.org/repos/m3api/m3api-query/-/releases/v1.0.1
m3api-botpassword: https://gitlab.wikimedia.org/repos/m3api/m3api-botpassword/-/releases/v1.0.1
m3api-oauth2: https://gitlab.wikimedia.org/repos/m3api/m3api-oauth2/-/releases/v1.0.1(m3api is a JavaScript library for using the MediaWiki Action API :blobfoxhappy:)
-
real-life use case for m3api automatically combining requests: WDactle needs both the contents of MediaWiki:Wikibase-SortedProperties (action=query, prop=revisions) and language information (action=query, meta=languageinfo); m3api gets and returns both in a single request \o/
-
new blog post: Introducing m3api https://lucaswerkmeister.de/posts/2025/04/12/introducing-m3api/
-
new package release: m3api v0.9.0, with a new accessToken option to replace authorization (easier to use that way); TypeScript declaration files; and usage recommendations in the README :) https://github.com/lucaswerkmeister/m3api/releases/tag/v0.9.0
-
in other m3api news, the m3api-examples repository now has client- and server-side versions of a simple “guestbook” example (adding your signature to a page on testwiki, via OAuth), demonstrating how m3api can be used in both scenarios (and, in the client-side example, that in-browser cross-origin OAuth is now possible at all!)
-
new package release (as promised on Monday): m3api-oauth2 v0.3.3, with state management improvements https://github.com/lucaswerkmeister/m3api-oauth2/releases/tag/v0.3.3
-
new package release: m3api-oauth2 v0.3.2, with minor improvements (especially relevant for server-side apps/tools) https://github.com/lucaswerkmeister/m3api-oauth2/releases/tag/v0.3.2
-
new #m3api releases!
- m3api v0.8.1: update undici (fixing a security vulnerability that I wouldn’t expect to matter in a MediaWiki context) https://github.com/lucaswerkmeister/m3api/releases/tag/v0.8.1
- m3api-botpassword v0.2.1: handle login errors a bit better https://github.com/lucaswerkmeister/m3api-botpassword/releases/tag/v0.2.1(m3api is a JS library, or set of libraries, for using the #MediaWiki Action API)