# Change log

From XOWA: the free, open-source, offline wiki application

## Categories

### High-level categories

Change log items are divided into the following high-level categories:

- Wiki: New Wikis to be downloaded from archive.org
- PC: Changes related to the XOWA application on Windows, Linux, and Mac OS X personal computers.
- Android: Changes related to the XOWA Android app on Android OS phones, tablets, and related devices
- Server: Changes related to the XOWA HTTP Server on Windows, Linux, Mac OS X, and Raspberry PI machines
- Doc: Documentation changes in home wiki and http://xowa.org
- Dev: Code-related changes.

Note that PC changes will probably also affect Andriod and Server. All three apps share the same code-base.

### Sub-categories

For PC, Android, and Server, change log items are further divided into the following sub-categories:

- major: Major change, fix or addition. Probably noticeable.
- minor: Minor change, fix or addition. Possibly noticeable.
- trivial: Trivial change, fix or addition. Probably unnoticeable.

The most important category to review is major. The other categories may be skipped due to lower importance (if they were more important, they would be bumped up to major).

## v3.10.3.2 (2016-10-17)

### PC

- DownloadCentral: Show 2016-10 entries for English / German Wikipedia in Download Central. {detected by Ope30}

  Resolved by: Include latest download central database.
  Links: Wiki_setup/English_wikis Wiki_setup/German_wikis

## v3.10.3.1 (2016-10-16)

### Wiki

- Package: Publish 2016-10 English Wikipedia.

  Links: Wiki_setup/English_wikis

- Package: Publish 2016-10 German Wikipedia.

  Links: Wiki_setup/German_wikis

### PC

major

- Category: Improve performance for Category pages on non-SSD drives. {detected by Ope30}

  Resolved by: Denormalize sortkey from cat_sort table to cat_link table and add explicit index for it.
  Links: https://en.wikipedia.org/wiki/Category:Earth https://en.wikipedia.org/wiki/Category:2001_albums https://en.wikipedia.org/wiki/Category:Unprintworthy_redirects

- Category: Add UCA support for category sorting. {detected by Ope30}

- Category: Support "uca-default", "uca-*", "uppercase" collations in different wikis.

  Example: bin/any/xowa/cfg/wiki.

- Category: Load catpage wikitext from precompiled HTML and merge with catpage link data.

  Links: https://simple.wikipedia.org/wiki/Category:Living_people

- Scribunto: Fix script error "index is out of bounds" on many en.w geography pages.

  Message: `Script error: @C:/xowa/bin/any/xowa/xtns/Scribunto/engines/Luaj/MWServer.lua:59 vm error: gplx.Err: index is out of bounds: idx=0 len=0`
  Resolved by: Handle parser functions with 0 arguments, like {{#coordinates}}.
  Links: https://en.wikipedia.org/wiki/New_York_City https://en.wikipedia.org/wiki/Paris

- Scribunto: Show flags as correct small size not extremely large size.

  Resolved by: Evaluate optional args of missing templates.
  Example: "size={{{size|}}}" -> "size=" x> "size={{{size|}}}".
  Links: https://en.wikipedia.org/wiki/Europe https://en.wikipedia.org/wiki/Template:Country_data_Guernsey

- Scripting: Add scripting support through standalone js / lua files. {requested by anonymous}

  Links: App/Xtn/Scripting

minor

- Category: Show categories in User / Talk namespace as MISSING.

  Links: https://en.wikipedia.org/wiki/Category:2001_albums?pageuntil=WALK%2BON%2BTHE%2BWIRED%2BSIDE,%2BA#mw-pages

- Category: Fix Category bookmarks not working if bookmarking something past first page.

  Resolved by: Write anchor after query args, not before.
  Example: Category:2001_albums&pagefrom=Beautiful+View#mw-pages x> Category:2001_albums#mw-pages?pagefrom=Beautiful%2BView.
  Links: https://en.wikipedia.org/wiki/Category:2001_albums?pagefrom=Beautiful%2BView#mw-pages

- Category: Fix "Next 200" not working on category pages when "Next 200" link refers to page with "#". {detected by Ope30}

  Resolved by: Do not automatically url-decode query arguments.
  Links: https://de.wikipedia.org/wiki/Kategorie:Begriffsklärung

- Category: Fix rare skipping of one page when pressing "Next 200".

  Resolved by: Do not automatically url-decode query arguments.
  Example: Category:2001_albums&pagefrom=Nightclubbing+%28Blank+and+Jones+album%29%0ANightclubbing+%28Blank+%26+Jones+album%29#mw-pages.
  Links: https://en.wikipedia.org/w/index.php?title=Category:2001_albums&pagefrom=Loving%20Every%20Minute%20(album)#mw-pages

- Category: Sort headings numerically under 0-9.

  Links: https://en.wikipedia.org/wiki/Category:2001_albums

- Category: Hide "hidden categories" group for wikitext databases (already hidden for HTML databases).

- Search: Fix "Next" / "Previous" not working on full text search.

  Links: https://en.wikipedia.org/wiki/Special:Search/earth?fulltext=y&xowa_page_index=0

- Options: Fix Shortcuts not saving. {detected by Ope30}

  Links: Options/Shortcuts

- Scribunto: Fix hidden script error on a few dozen en.w observatory pages.

  Resolved by: If unit is a wikidata url, show label for that wikidata article, not the wikidata url.
  Example: "305±2 meter" x> "305±2 http://www.wikidata.org/entity/Q11573".
  Links: https://en.wikipedia.org/wiki/Arecibo_Observatory

- Setup: Add setup instruction pages to list URLs for specific wikis.

  Links: Wiki_setup/Listing

- File: Add deletion database for 2016-09 English Wikipedia.

  Links: Dashboard/Files/Deletion https://archive.org/download/Xowa_enwiki_latest/en.wikipedia.org-file-deletion-2016.09.xowa

- Html_dump: If option is set to use wikitext, but no wikitext is available, and html is available, just use html.

trivial

- Setup: Add icu4j library.

  Example: bin/any/java/icu4j/icu4j-4_8.jar.

- Setup: Add xz library (not officially supported).

  Example: bin/any/java/xz/xz-1.5.jar .

- Luaj: Cast string, int, long, double and bool args in method reflection.

- Luaj: Handle varargs in method reflection.

- Make.Images: Add builder command to create customized deletion_db for dansguardian wikis.

dev

- Dev: Refactor Io_stream_rdr.

- Dev: Refactor Gfo_url_parser.

## Android

minor

- Launch: Ignore application directory which are no longer accessible (removed SD card).

## v3.9.4.2 (2016-09-26)

### PC

- Category: Fix categories not showing for pages with more than one word in the page title. {detected by Ope30}

  Links: https://en.wikipedia.org/wiki/Leonardo_DiCaprio https://en.wikipedia.org/wiki/Solar_System

## v3.9.4.1 (2016-09-25)

### Wiki

- Wiki: Publish 2016-09 French Wikipedia HTML and images.

  Links: https://archive.org/details/Xowa_frwiki_latest

- Wiki: Publish 2016-09 English Wikipedia HTML and images.

  Links: https://archive.org/details/Xowa_enwiki_latest

- Wiki: Publish 2016-09 German Wikipedia HTML and images.

  Links: https://archive.org/details/Xowa_dewiki_latest

### PC

major

- Category: Fix category not showing more than 200 items in a category. [broken since: 3.9.2.1]

  Links: https://en.wikipedia.org/wiki/Category:Native_American_leaders https://en.wikipedia.org/wiki/Category:Cities_in_Florida https://en.wikipedia.org/wiki/Category:Poisonous_plants

- Category: Fix dynamic page list not working for DynamicPageList. [broken since: 3.9.2.1]

  Links: https://en.wikibooks.org/wiki/Subject:XML https://en.wikibooks.org/wiki/Subject:Religion

- Category: Fix category not working for www.wikidata.org. [broken since: 3.9.2.1] {detected by Rüdiger Gleim; Ope30}

  Links: https://www.wikidata.org/wiki/Category:Help

minor

- Category: Disable Previous / Next 200 if at start / end of category range.

  Links: https://de.wikibooks.org/wiki/Category:Mann

- Page_sync: Show math images after sync.

  Links: https://en.wikipedia.org/wiki/Earth https://en.wikipedia.org/wiki/Pythagorean_theorem

- Page_sync: Show video images after sync.

  Links: https://en.wikipedia.org/wiki/Lepidoptera

- Page_sync: Show pdf images after sync.

  Links: https://en.wikipedia.org/wiki/Apollo_11

- DownloadCentral: Do not retry endlessly if wrong size downloaded.

- Scribunto: Fix NullPointerReference script error in geobox coord on 4 en.w pages.

  Message: `Script error: @C:/xowa/bin/any/xowa/xtns/Scribunto/engines/Luaj/MWServer.lua:59 vm error: java.lang.NullPointerException`
  Resolved by: Handle gaps in Scribunto argument keys.
  Links: https://en.wikipedia.org/wiki/Shalkar_District https://en.wikipedia.org/wiki/Alta_Italia https://en.wikipedia.org/wiki/Maran,_Syria https://en.wikipedia.org/wiki/Château_de_Boisgibault

- Luaj: Fix script error at head of page for many fr.w pages.

  Message: `Erreur : le thème « littérature française » du modèle Template:Ébauche n’est pas défini.`
  Resolved by: Fix regex pattern for matching end of string.
  Links: https://fr.wikipedia.org/wiki/Rimbaud_le_fils Diagnostics/Scribunto/Luaj

- UI: Show pages in MediaWiki namespace.

  Links: https://en.wikipedia.org/wiki/MediaWiki:Edittools https://en.wikipedia.org/wiki/MediaWiki:Spam-whitelist

- Parser: Fix several dozen MediaWiki pages failing to load.

  Resolved by: Handle standalone dollar signs and backslashes.
  Example: "$ "; "\ ".
  Links: https://en.wikipedia.org/wiki/MediaWiki:Edittools https://en.wikipedia.org/wiki/MediaWiki:Spam-whitelist

- Html_dump: Generate html dump databases by namespace.

  Example: en.wikipedia.org-html.002.xowa -> en.wikipedia.org-html-ns.000-db.002.xowa.

- Html_dump: Add images to specific-ns database not main-ns database.

  Example: Portal:Earth -> en.wikipedia.org-file-ns.100-db.001.xowa x> en.wikipedia.org-file-ns.000-db.065.xowa.

- Options: Do not save options if file is marked read-only. {suggested by malakov1}

  Example: C:\xowa\user\anonymous\app\data\cfg\xowa_user_cfg.gfs.

- Raspberry Pi: Run XOWA GUI on Raspberry Pi. {requested by nstents}

  Resolved by: Switch default SWT browser from Mozilla to WebKit.
  Example: bin\arm\xowa\cfg\xowa_cfg_os_default.gfs.

- Raspberry Pi: Use official sqlite-jdbc jar.

### Android

minor

- DownloadCentral: Do not retry endlessly if wrong size downloaded.

### Dev

- Dev: Refactor Xoctg_catpage_url_parser.

## v3.9.2.1 (2016-09-11)

### PC

major

- Category: Fix Category pages showing wrong categories. [broken since: v3.8.5.1]

  Resolved by: Reset page_id object.
  Links: https://en.wikipedia.org/wiki/Category:Earth

- Html_dump: Show categories for 2016-09 dumps. {requested by Ope30}

  Resolved by: Rewrite category system.

- Html_dump: Add left-hand sidebar for 2016-09 dumps. {detected by Ope30}

  Resolved by: Dump MediaWiki namespace (8).

- Page_sync: Add basic option to synchronize pages. {requested by Mde186}

  Links: App/Xtn/Page_sync Options/Page_sync

- DownloadCentral: Retry for one minute if connection is dropped. {detected by markusmaresch}

- Scribunto: Show Protection banner boxes for pages.

  Resolved by: Fix title.cascadingProtections to return back empty array instead of false.
  Links: https://en.wikipedia.org/wiki/Jerk

minor

- DownloadCentral: Fix Download Central "hanging" on Mac OS X. {detected by markusmaresch}

  Resolved by: Set timeout explicitly to 5 seconds.

- Lang: Fix "Portál [[:Šablona:GRAMMAR]]" in sidebar of cs.q.

  Resolved by: Use noop grammar for cs lang.
  Links: https://cs.wikiquote.org

- Cite: Fix stack overflow error on 1 cs.w page.

  Links: https://cs.wikisource.org/wiki/Page:Hejčl,_Jan_-_Pentateuch.pdf/128

- Parser: Ignore stack overflow when parsing badly formatted pages.

  Links: https://cs.wikisource.org/wiki/Page:Hejčl,_Jan_-_Pentateuch.pdf/128

- DownloadCentral: Fix torrent links for non-Wikipedia wikis. {detected by malakov1}

  Example: -> Xowa_enwiki_latest_archive.torrent x> Xowa_enwiktionary_latest_archive.torrent.
  Links: Special:XowaDownloadCentralInfo?task id=6

- Database: Fix slow performance when SQLite files are read-only. {detected by Ope30}

  Resolved by: Open database connection in "read-only" mode if marked readonly.
  Example: properties.setProperty("open_mode", "1").

- Luaj: Fix random "invalid utf8 byte" errors.

  Resolved by: Do not use temporary static variable for decoding UTF-8 strings.

- Scribunto: Do not show "Wikipedia pages with incorrect protection templates" for protected-pages.

  Resolved by: Change titleLib.GetProtectionLevels to return semi-protected instead of null.
  Links: https://en.wikipedia.org/wiki/Earth

trivial

- File_dump: Fix multi-threaded parser issues in orig link.

  Resolved by: Extend lock scope over entirety of database lookup.

- Wikibase: Fix multi-threaded parser issues in Wbase property.

  Resolved by: Extend lock scope over entirety of Wbase doc parser.

- Wikibase: Remove many log entries when opening qid from 2016-08-28 wikidata.

  Resolved by: Ignore "id" under entity.value node.

- Wikibase: Add "tcywiki" to list of known wikis.

- Parser.Template: Suppress multiple "template is blank" messages in log for de.d.

  Resolved by: Ignore templates with blank arguments.
  Example: {{K|Politik}} -> {{{{{spr|}}}|nolink=ja}} -> {{|nolink=ja}}.
  Links: https://de.wiktionary.org/wiki/país

- Category: Remove old category builder commands.

- Builder: Remove old copy, search commands for text databases.

## Doc

- Doc: Add new dependency for imagelinks dump in command-line build. {detected by Rüdiger Gleim}

  Links: Dev/Command-line/Dumps

- Doc: Add new page explaining difference between Wikitext and HTML databases.

  Links: App/Databases/Overview

## Dev

- Scribunto: Add traceback for errors.

- Wikibase: Add Wbase_enum_hash to reuse various enum methods.

- HTML: Refactor sidebar classes.

- Category: Refactor Category Pagebox classes.

## v3.8.5.1 (2016-08-22)

### Wiki

- Wiki: Publish 2016-08 English Wikipedia HTML and images.

- Wiki: Publish 2016-08 German Wikipedia HTML and images.

### PC

major

- Html_dump: Show "about this info" button for image maps.

  Links: https://en.wikipedia.org/wiki/Philippines

- Html_dump: Show "packed galleries" with proper spacing.

  Links: https://en.wikipedia.org/wiki/Mexico https://en.wikipedia.org/wiki/Austria https://en.wikipedia.org/wiki/National_Gallery_of_Art

- Html_dump: Show video thumbnails when underlying video is actually an .ogg file.

  Example: [[File:A.ogg|thumb|123px]].
  Links: https://en.wikipedia.org/wiki/Lepidoptera

- Lst: Support lsth to transclude sections on other pages.

  Example: {{#lsth:page_1|header_1}}.
  Links: https://pl.wikivoyage.org/wiki/Wielka_Brytania https://en.wikipedia.org/wiki/10s_BC https://en.wikipedia.org/wiki/Germany_national_football_team

minor

- DownloadCentral: Add md5 and size. {suggested by malakov1}

  Links: Special:XowaDownloadCentralInfo?task id=96

- DownloadCentral: Add verbose log. {detected by markusmaresch}

  Example: xowa.api.addon.bldr.central.log_verbose = 'y';.
  Links: Options/Config_script

- Table_of_contents: Tidy malformed HTML in headers.

  Links: https://en.wikipedia.org/wiki/List_of_U-boats_never_deployed

- Wikibase: Fix script error "Module:Cycling race:1756 attempt to index ?" on a dozen fr.w pages.

  Message: `Script error: =Module:Cycling race:1756 attempt to index ? (a nil value)`
  Resolved by: Add redirect support for wikibase pages.
  Links: https://fr.wikipedia.org/wiki/Tour_du_Táchira_2016

- Parser.Xml: Fix broken infobox images inside a few dozen en.w pages.

  Resolved by: Do not pop table stack if <tr> prematurely inside lnki.
  Example: [[A|t_0<tr><td>t_1</td></tr>]].
  Links: https://en.wikipedia.org/wiki/Aargau

trivial

- Options: Add options for database layout and html / file databases.

  Links: Options/Import

- Parser.Lnki: Fix non-working link on 1 en.w page.

  Resolved by: Get wiki's Main_Page for colon-only links.
  Example: [[File:A.png|link=w:]].
  Links: https://en.wikipedia.org/wiki/Wikipedia:Main_Page_alternative_(CSS_Update)

- Html: Write target title for redirected images.

  Example: [[File:A.png]] is redirected to B.png; -> 'href="B.png"' x> 'href="A.png"'.
  Links: https://en.wikipedia.org/wiki/Switzerland

- Html_dump: Do not output class="thumbimage" for image maps.

  Links: https://en.wikipedia.org/wiki/Philippines

- Wikibase: Do not warn if {{#property}} uses id arg.

  Example: {{#property:P277|id=Q1322933}}.
  Links: https://en.wikipedia.org/wiki/Symfony

### Dev

- Dev: Refactor lst parser functions.

## v3.8.3.1 (2016-08-14)

### Android

- Android: Fix random "Unable to start activity ComponentInfo" when starting XOWA.

## v3.8.2.1 (2016-08-07)

### Wiki

- Wiki: Publish 2016-07 Polish Wikipedia, Wiktionary, Wikisource, Wikivoyage, Wikiquote, Wikibooks, Wikiversity, and Wikinews.

### PC

major

- Setup: Fix random "SSL peer shut down incorrectly".

  Resolved by: Make "your.org" primary backup url.
  Links: https://lists.wikimedia.org/pipermail/xmldatadumps-l/2016-August/001325.html

- Scribunto: Fix script error for "Module:Effective protection expiry" "malformed expiry timestamp" on many en.w pages. {detected by William}

  Resolved by: Change "infinite" to "infinity" for {{PROTECTIONEXPIRY}}.
  Links: https://en.wikipedia.org/wiki/Earth

- Parser: Fix broken infobox tables on many pl.w pages. {detected by anonymous}

  Resolved by: Ignore % in xml tag names.
  Example: <ref% name=abc>def</ref><references/>.
  Links: https://pl.wikipedia.org/wiki/Scynk_nadrzewny

- Scribunto: Fix missing location maps for many pl.w pages.

  Resolved by: Return top-level JSON arrays as numbered nodes.
  Links: https://pl.wikipedia.org/wiki/Albania https://pl.wikipedia.org/wiki/Alabama https://pl.wikipedia.org/wiki/Oklahoma_City

- Scribunto: Fix missing "push buttons" for location maps on many pl.w pages.

  Resolved by: Return decimal values as double.

- Scribunto: Fix missing location maps for many pl.w pages wherein location map info is not available.

  Resolved by: Specify width / height as non-null in GetFileInfo.
  Links: https://pl.wikipedia.org/wiki/Andrespol

minor

- Html: Fix "could not find" when clicking on wikis in left-sidebar. [broken since: v3.7.4.1] {detected by anonymous}

  Resolved by: Use Main_Page of target wiki, not current wiki.

trivial

- Messages: Fix "<Please-translate>" showing as "<please-translate>" on 1 s.w page.

  Resolved by: For missing messages, always use current key, not key of cached item.
  Links: https://simple.wikipedia.org/wiki/Wikipedia:Simple_talk/Archive_116

### Dev

- Html_dump: Pre-load all imagelinks to identify .ogg as audio or video.

  Links: https://en.wikipedia.org/wiki/Lepidoptera

## v3.8.1.1 (2016-08-01)

### Wiki

- Wiki: Publish 2016-07 Arabic Wiktionary, Wikisource, Wikiquote, Wikibooks, Wikiversity, and Wikinews.

### PC

major

- Redirect: Fix redirect link showing "Redirected from [destination-page]" instead of "Redirected from [source-page]". [broken since: v3.7.1.1]

  Links: Blog https://en.wikipedia.org/wiki/UK https://en.wikipedia.org/wiki/Special:Random

minor

- Redirect: Fix redirect link showing "Redirected from [destination-page]" instead of "Redirected from [source-page]". [broken since: v3.7.1.1]

  Links: Blog

- Wikibase: Fix a few dozen script errors for ClassCast on fr.w pages.

  Resolved by: Support "renderSnaks".
  Example: Erreur de script: @C:/xowa/bin/any/xowa/xtns/Scribunto/engines/Luaj/MWServer.lua:59 vm error: java.lang.ClassCastException: [Lgplx.Keyval; cannot be cast to java.lang.String.
  Links: https://fr.wikipedia.org/wiki/Acte_de_Médiation

- Wikibase: Fix one script error for ClassCast on en.v pages.

  Resolved by: Support "renderSnak".
  Links: https://en.wikivoyage.org/wiki/Wikivoyage:Travellers'_pub

### Android

- DownloadCentral: Fix random failure when restarting XOWA while downloading wikis. {detected by anonymous}

  Resolved by: Assert application is not null when setting callback.

### Dev

- Source: Refactor wikibase enums.

- Html_dump: Add html_dump comparision.

## Archives

- 2016 Change Log
- 2015 Change Log
- 2014 Change Log
- 2013 Change Log

### XOWA

- Main page
- Screenshots
- Video
- Download XOWA
- Download wikis

### Getting started

- Requirements
- Installation
- Simple Wikipedia
- English Wikipedia
- Other Wikipedias

### Android

- Setup
- Video

### Help

- About
- Contents
- Media
- Feedback

### Blog

- Current

### Links

- Wikimedia dumps
- XOWA @ archive.org
- English Wikipedia

### Donate

- archive.org
- Wikipedia