Skip to content

chore(main): release 2.0.0 - #613

Closed
github-actions[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main
Closed

chore(main): release 2.0.0#613
github-actions[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

2.0.0 (2026-08-31)

⚠ BREAKING CHANGES

  • put the pictures pages carry where the rest of the output goes (#592)
  • stop the build on three things it used to publish around (#590)
  • put everything the build generates in one directory (#584)
  • WikvenVersionPage is now WikvenAboutPage, and its default page name is "About" rather than "Version".
  • group the composite actions under actions/ (#359)
  • require MediaWiki 1.46, dropping 1.45 support (#236)

Features

  • action: default to a pinned image version and cache it between runs (#188) (f7fcb40)
  • actions: offer a guiding pull request comment on translation findings (#520) (1ab0175)
  • add a "View source" tab linking to the repo source (0178405)
  • add a "View source" tab linking to the repo source (#119) (24e4d16)
  • add a {{WIKVENVERSION}} variable (#604) (a702b9f)
  • add a footer skin switcher (8105249)
  • add a footer skin switcher (#114) (1867ea6)
  • add a mark command to number translation units (#216) (0fcde73)
  • add a serve subcommand for local preview (#155) (8d97799)
  • add translate scaffold to generate translation skeletons (#223) (48ce2ab)
  • bake ULS webfonts into the static export (opt-in) (#286) (074a103)
  • bake with the standalone binary in CI, and fix the three things that found (#481) (8cf3bc3)
  • base the image on mediawiki:1.46-fpm-alpine (#332) (f3fdcee)
  • build: list the site's extensions and skins, with their licenses (#523) (42d75d2)
  • build: name wikven in the User-Agent of every request it makes (#542) (7d6d1ce)
  • bundle the native search closure so SifterSearch search works offline (50aeb25), closes #97
  • bundle the native search closure so SifterSearch search works offline (#98) (cf6b910), closes #97
  • derive page files from content model, dropping the .css.wikitext suffix (3dbb0d5)
  • derive page files from content model, dropping the .css.wikitext suffix (#62) (ef645c4)
  • derive the footer project link label from the repo host (5110a9f)
  • derive the footer project link label from the repo host (#118) (e14c059)
  • docs: give the landing page symbols, an output it can show, and some warmth (#524) (3b07995)
  • docs: give the note template a teal icon (#341) (05a7ea2)
  • docs: keep the rendered page behind the tree instead of trading places (#530) (83fc9ee)
  • docs: put a copy button on the code blocks (#377) (3beee91)
  • docs: stop the sidebar linking to the page you are reading (#499) (1bf9e2b)
  • docs: turn the diagram's output pane over on scroll where the browser can (#526) (6c7bcc8)
  • fold the version page into an About page (#426) (af61267)
  • gate translation checks on broken source pages, not on stale translations (#385) (aacfbfc)
  • generate a Special:Version-style page linked from the footer (dd1530f)
  • generate a Special:Version-style page linked from the footer (#117) (d2dfa8a)
  • give Minerva a main menu the export can serve (#366) (fc59117)
  • give the standalone binary the translate commands (#507) (25ba28e)
  • i18n: translate the footer, skin switcher and version page strings (#123) (9849b36)
  • index each language separately, and assert it stays that way (#447) (b4b01cc)
  • keep non-main skin pages out of search indexes (1758279)
  • keep non-main skin pages out of search indexes (#113) (0d8d94e)
  • keep Vector's appearance menu, which works statically (#387) (ce30fea)
  • let a site choose the skin it is read in (#589) (5f96e9e)
  • let a skin author turn off the chrome wikven imposes (#551) (ea78cab)
  • let a stamp mean someone read the translation (#572) (12d3292)
  • load .wikven.yaml through MediaWiki's settings system and validate it (a0b52b0), closes #69
  • load .wikven.yaml through MediaWiki's settings system and validate it (#77) (0952b3b)
  • localize translated-page chrome and route Special:Translate links to the edit host (#229) (3afa7c4)
  • make page titles translatable, and translate them into Korean (#256) (acdd975)
  • make the Translating page translatable (#248) (6122151)
  • name a setting that belongs to no one (#578) (3df5b0e)
  • name the setting core cannot accept (#574) (56f2d80)
  • offer the Citizen skin (search hidden) (aeadce0)
  • offer the Citizen skin (search hidden) (#115) (b83717b)
  • pin and verify fetched extensions/skins (abda807), closes #66
  • pin and verify fetched extensions/skins (#74) (8ccd5e7)
  • point non-main skin pages' canonical at the main copy (bb4a179)
  • point non-main skin pages' canonical at the main copy (#116) (5bf1d6a)
  • publish images on releases and nightlies, not on every commit to main (#488) (18fa018)
  • publish the image to quay.io as well, with no token to keep (#485) (f387e5e)
  • put everything the build generates in one directory (#584) (d8b8f43)
  • put the generated templates under one name, and keep the old ones (#559) (2cd766a)
  • put the pictures pages carry where the rest of the output goes (#592) (78fdf9f)
  • put the skin switcher in the toolbox and drop the footer select (#351) (2f2551e)
  • render each enabled skin into its own output directory (08533c1)
  • render each enabled skin into its own output directory (#111) (b0adc94)
  • require MediaWiki 1.46, dropping 1.45 support (#236) (993e62c)
  • resolve Special:MyLanguage/ links in the static export (#225) (f4904ea)
  • say what every built site redistributes, on a page the footer links (#560) (3fe4eb6)
  • say what wikven does about Lua, and stop guessing at it (#473) (ea10b7d)
  • select the build skin via WIKVEN_BUILD_SKIN (f35babf)
  • select the build skin via WIKVEN_BUILD_SKIN (#110) (126a021)
  • serve logos from a shared upload instead of inlining them per page (#56) (ad4017a)
  • serve the search results at Search and exclude it from indexing (514335a)
  • serve the search results at Search and exclude it from indexing (#104) (85d35e2)
  • settle the actions' inputs before 1.0.0 freezes them (#583) (2bee0c1)
  • settle what a page is called in the output (#605) (a2860f7)
  • ship a composite action and dogfood it in the docs deploy (#150) (19392b7)
  • ship SifterSearch as a built-in, on-by-default search extension (#195) (7b19be8)
  • stop the build on three things it used to publish around (#590) (9c0a0b3)
  • support Citizen in wikven instead of per-site workarounds (#369) (bced0dd)
  • translate page content into other languages (#214) (28ff2b2)
  • use the core viewsource message for the View source tab (8e36fef)
  • use the core viewsource message for the View source tab (#120) (24230c0)

Bugfixes

  • abort the build when a page fails to import (#146) (cf0a007)
  • action: use a locally-built image instead of always pulling (#194) (8046aa4)
  • answer symlinks where a source tree is read, not where a path is bounded (#591) (d3be13e)
  • build the image when a Translate dev dependency has an advisory (#277) (00838b9)
  • build the search index once, at the end (#283) (09a5324)
  • build: put wikven in front of the User-Agent core builds for Commons (#543) (4c774a3)
  • bump bundled SifterSearch to v0.6.0 (stop the double search box) (#200) (cd38aa7)
  • bundle the modules core loads by looking at the rendered page (#484) (c96c107)
  • check-translations: keep the comment to what the change touches (#541) (8288229)
  • clear the output directory before each build (7f02f8b), closes #64
  • clear the output directory before each build (#72) (b4cf416)
  • clear the title cache once the translation units exist (#466) (562ea9e)
  • create directories with wfMkdirParents (#289) (5157174)
  • date each page at the commit that changed it, not at the bake (#424) (4cd31f4), closes #406
  • declare the build's directory settings in extension.json (#262) (65432b5)
  • decode JS-bundle URL escapes with json_decode in AssetLocalizer (#297) (ccbf702)
  • docs: cross the output pane's two states gradually instead of at a line (#540) (85fb9c9)
  • docs: cut the hero's light at the screen, and turn the pane over mid-screen (#531) (ea482af)
  • docs: keep sidebar links in the reader's language (#382) (f2b27f4)
  • docs: keep the hero's light inside the hero (#525) (aaeef7a)
  • docs: keep the logo in the reader's language (#391) (749f507)
  • docs: let the hero's light run off the frame so it reads as ground (#529) (3d40660)
  • docs: let the hero's light run past the text column again (#539) (2fbee0e)
  • docs: let the output pane settle back on the page as the diagram leaves (#544) (9d0785a)
  • docs: light the hero from its corners, and drop the clip #531 needed (#536) (186421c)
  • docs: make the brand teal and the note box legible in dark mode (#489) (a03a76c)
  • docs: make the hero's light read as ground rather than as two spheres (#528) (e31f7a5)
  • docs: paint the landing page's marks on its translations, and its buttons anywhere (#498) (1ff3a50)
  • docs: stop the diagram clipping its own file names on a narrow screen (#527) (74c35fb)
  • docs: translate the Minerva section of Skins into Korean (#415) (2ac133a)
  • don't treat a documented <translate> example as a translation source (#239) (cdcc388)
  • drain translation jobs by hand again, reverting #311 (#326) (4170fd7)
  • drop dead footer/search affordances from the static export (#160) (c08a5d2)
  • drop the .git the bundled extension clones leave in the image (#330) (d19dbf4)
  • drop the category footer's dead Special:Categories link (#173) (2df6bf8)
  • drop the discussion tab in every skin, Minerva included (#493) (cd0fccd)
  • dump ResourceLoader modules without load.php's HTTP response (#259) (3a39aac)
  • end a source translation unit where its <translate> block ends (#379) (50aebd8)
  • export subpage titles as real subdirectories (#213) (1db8e0d)
  • fail on un-localized images and hand output back to the host user (#161) (1bb8c86)
  • fail the build when a stylesheet never reaches the disk (#565) (6ad1b41)
  • fail the build when the webfonts a site asked for cannot be copied (#566) (6fbd87a)
  • fail when a composer package lands where nothing loads it (#581) (263fee5)
  • fetch a third-party extension again when its pin moves (#546) (44938c2)
  • fetch the bundled extensions as tarballs, not clones (#331) (9f60efa)
  • freeze page_touched so wiki-page modules hash the same every bake (#271) (853c06f)
  • give a fetch that reaches the network more than one go (#469) (ba9fb1d)
  • give Citizen's "View source" tab an icon (#440) (f0b4e02)
  • give Citizen's search shortcuts the search the export has (#397) (27eeebf)
  • give every source image its own File: page (#603) (623b866)
  • give the per-skin build its own environment and working directory (#298) (cfb0243)
  • give the skin list its own section instead of renaming the toolbox (#363) (aa13b7b)
  • grant the release binary job the provenance permissions it needs (#177) (be9f283)
  • hide dead skin chrome left by the static export in Timeless and Citizen (#196) (1b4c9e1)
  • hide edit/history/source links on generated pages (#130) (fb6df1e)
  • hide the category footer on the static export (602f30f)
  • hide the category footer on the static export (#121) (939c435)
  • hide the empty tools box each skin draws around the toolbox (#346) (5afb909)
  • index a translated page once, not once per title it has (#458) (e934e00)
  • keep $wgCacheEpoch out of module versions (#270) (7795bf9)
  • keep a search inside the skin copy the reader is in (#434) (32e7f6d)
  • keep a skin pass out of the other skins' pages (#430) (e84cd11)
  • keep the build's chrome off a licenses page the site wrote (#568) (e45596e)
  • keep the paths the build derives out of a site's hands (#573) (e21b16b)
  • keep the site's own styles linked from a style directory (#563) (5dfea21)
  • leave a page of its own where a translation would go (#597) (09934b7)
  • link the search toggle to the results page, not to Special:Search (#421) (3b3b2d5)
  • list directories with FilesystemIterator, not glob (#294) (f8188fa)
  • make edit/history links correct for all valid titles (950c0b2), closes #67
  • make storeImages downloads status-aware and stream to disk (#307) (b75afc3)
  • make the exported HTML the same in every bake (#282) (caf6661)
  • make the first listed skin the default skin (192f140)
  • make the first listed skin the default skin (#109) (19e3fae)
  • make the main page configurable and fail if it was not imported (d39fa5a), closes #65
  • make the main page configurable and fail if it was not imported (#71) (4399b8f)
  • make verbatimRanges() comment-aware (#312) (59117f7)
  • match <translate> with its attributes, as Translate does (#292) (243bbb0)
  • move Vector's skin list into the appearance menu (#423) (68917e0), closes #405
  • name the project namespace Wikven instead of clashing with MediaWiki (5dadb34)
  • name the project namespace Wikven instead of clashing with MediaWiki (#105) (4695978)
  • never read a translation file as a base page (#390) (6adb270)
  • obtain GadgetRepo from the service, not the removed singleton() (288c733)
  • point prevnext navigation at the reader's-language pages (#245) (a3c8411)
  • probe openssl's own compiled-in CA bundle location first (#309) (c82d5b1)
  • propagate the child's exit code from wikven build and serve (#302) (5c75797)
  • read a source page the way Translate segments it (#388) (ff95548)
  • read a subpage as a translation only where it says it is one (#580) (e967fb5)
  • read units the way Translate does (#358) (4642fc8)
  • read Vector feature classes through classList (#301) (9dfebd1)
  • rebase the printfooter link on a page exported into a subdirectory (#422) (5e5b905)
  • refuse an extension or skin name that points outside the image (#570) (35c0678)
  • refuse an image or asset path that climbs out of its directory (#588) (8fe34a1)
  • refuse images the source tree only points at (#596) (38669f5)
  • render every translated page after all pages are marked (#243) (0d987d3)
  • reparent the local URLs a page carries in its JavaScript config (#445) (beba746)
  • replace fetchExtensions' curl subprocess with core's HTTP client (#308) (9be62ec)
  • replace hand-rolled balanced-div matcher with RemexHtml (#314) (3173c2d)
  • report a vetoed File:/MediaWiki: import as a failure (#291) (8140261)
  • require real tag context before rewriting a relative reference (#313) (0f04ab6)
  • require UniversalLanguageSelector explicitly and disable its webfonts (#218) (1b3e1b7)
  • resolve $wgWikvenLogos through Title/RepoGroup, not by hand (#315) (6f4de14)
  • resolve phan findings and target MediaWiki 1.45 (be87a48)
  • resolve translate mark/stamp file paths against the source directory (#220) (0aa95ea)
  • retry and cache the build's Wikimedia Commons lookups (#257) (2ac2cce)
  • run the job queue in a fixed order (#281) (6aa694e)
  • say what language the licenses page's copies are in (#562) (4242977)
  • send a Special:MyLanguage link to the file it means (#611) (1aad459)
  • set the maintenance user without StubGlobalUser (8128dc5), closes #93
  • settle the search bundle's language order between bakes (#451) (e7fc96c)
  • show the search box when SifterSearch provides static search (d27083b)
  • show the search box when SifterSearch provides static search (#99) (a9cd689)
  • small build-script and config papercuts (171c80d), closes #70
  • small build-script and config papercuts (#76) (1302e23)
  • split translation units only on adjacent newlines, as Translate does (#295) (0feeebf)
  • stop a new unit inheriting a deleted one's translations (#564) (5fdd228)
  • stop suppressing real categories; drop Version NOINDEX (844064b)
  • stop suppressing real categories; drop Version NOINDEX (#122) (a3686bf)
  • stop the build when an image of yours did not import (#569) (c78b572)
  • stop the RLPAGEMODULES rewrite from editing article prose (#296) (9ef6b8a)
  • stop three things going quiet (#599) (9103f0c)
  • stop ULS reaching for input methods the export cannot serve (#402) (af60e0e)
  • strip the clocks ImageMagick writes into exported thumbnails (#276) (a1bb8d0)
  • switch skins correctly from a translated page (#258) (6f85fe6)
  • take the DISPLAYTITLE spellings from the magic word registry (#293) (7c88a7a)
  • take the translations comment down rather than turn it into an all-clear (#595) (6b88a10)
  • tf: skip the vulnerability-alerts import when the resource is absent (#265) (b5d3ba3)
  • translate a page whose file name is not spelled like its title (#567) (6ec596a)
  • turn the parser cache off so a bake reads its own finished state (#335) (91036c3)
  • use CSSMin's data: URI encoder in AssetLocalizer (#310) (6fe63d5)
  • validate .wikven.yaml value shapes and flag warnings clearly (#163) (021f819)
  • wrap a word too long for the screen instead of scrolling the page (#545) (818a0e9)

Performance

  • freeze page_touched once, in the orchestrator (#431) (a2d878b)
  • render the skins beside each other (#437) (33bbbfb)
  • stop rendering the history pages the export throws away (#432) (39fe30c)

Refactoring

  • group the composite actions under actions/ (#359) (01f0f3d)

This PR was generated with Release Please. See documentation.

@lens0021 lens0021 closed this Aug 31, 2026
@lens0021
lens0021 deleted the release-please--branches--main branch August 31, 2026 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment