# Change log/2016

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

## v3.7.4.1 (2016-07-25)

### Wiki

- Wiki: Publish 2016-07 English Wikipedia

### PC

minor

- Command-line: Fix automatic deletion of pagelinks file. {detected by anonymous}

trivial

- Gui: Do not show blank page when restoring page with anchor at application startup.

  Example: /home/wiki/Main_Page#Links.

- Options: Immediately update Enabled flag in Options/Scribunto (instead of forcing reboot).

  Resolved by: Invalidate all Scribunto engines across all wikis when disabled.
  Links: Options/Scribunto

- Log: Do not fail with OutOfMemoryError when loading Special:XowaSystemData.

  Resolved by: Only show last 1 MB of log file in browser.

### Android

- DownloadCentral: Add screen to change wiki location for XOWA app.

- DownloadCentral: If unzip fails, restart from verify, not unzip.

### Dev

- Source: Fix thread-safe issues with wikibase and html generation.

## v3.7.3.1 (2017-07-17)

### Wiki

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

### PC

major

- HtmlView: Support redirects.

  Links: https://fr.wikibooks.org/wiki/Portrait https://fr.wikiquote.org/wiki/ https://fr.wikiquote.org/wiki/Paul_%C3%89luard

- HtmlView: Fix Table of contents not working for entries with <br/>.

  Resolved by: Rewrite TOC generator.
  Example: ==a<br/>b==.
  Links: https://fr.wikipedia.org/wiki/Thermokarst https://fr.wikipedia.org/wiki/Conseil_régional_du_Nord-Pas-de-Calais https://fr.wikipedia.org/wiki/Tour_de_ski_2007-2008

- HtmlView: Fix Table of contents not working for entries with duplicate entries.

  Resolved by: Rewrite TOC generator.
  Example: ==a== ==a==.
  Links: https://fr.wikipedia.org/wiki/Itanium https://fr.wikipedia.org/wiki/10000 https://fr.wikipedia.org/wiki/Liste_des_microprocesseurs_Intel https://fr.wikipedia.org/wiki/Technology_and_Entertainment_Software

- HtmlView: Fix Table of contents not working for entries with references.

  Resolved by: Rewrite TOC generator.
  Example: ==a<ref name="b">c==.
  Links: https://fr.wikipedia.org/wiki/Dal

- HtmlView: Support PageBanner.

  Links: https://en.wikivoyage.org/wiki/Paris

minor

- Gui: Add "cancel" button to Edit pages. {detected by WeaverStever}

- Css: Fix "indicators" showing in top-left corner.

  Resolved by: Update failover.css to use recent versions.
  Links: https://en.wikipedia.org/wiki/Earth

- PageHistory: Fix application close failing when page history has dupe.

  Resolved by: Ignore duplicate item in page history.

### Dev

- Source: Make html generation code thread safe.

## v3.7.2.1 (2017-07-10)

### Wiki

- Wiki: Publish Haitian wikis. {requested by NickRance}

### PC

major

- Import: Fix 2016-07 English Wikipedia import failing.

  Resolved by: Search for "PRIMARY KEY" if "UNIQUE KEY" is missing.

- HtmlView: Support Table Of Contents.

- Import: Include mwad (MediaWiki API dump) for creating XML dumps for Wikia and other wikis. {contributed by Mattze96}

  Links: App/Import/mwad

- Install: Require Java 1.7, not Java 1.8. [broken since: v3.3.4.1]

minor

- Wikibase: Fix script error for "Module:Wikidata:500 unknown datavalue type." on many ht.w pages.

  Resolved by: Change "wikibase-entityid" to "wikibase-item".
  Example: Erreur de script: =Module:Wikidata:500 unknown datavalue type..
  Links: https://ht.wikipedia.org/wiki/Srilanka

- Wikibase: Show specieswiki links in "In Other Languages". [broken since: v3.6.4.1]

  Resolved by: Change "specieswiki" abbreviation from ".species" to "species".

- Special: Enable delete on Special:XowaWikiInfo.

  Links: Special:XowaWikiInfo?wiki=simple.wikipedia.org

trivial

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

- Lang: Add new languages: aeb-arab; aeb-latn; dty; gor; lki; olo.

### Server

major

- HTTP Server: Fix images not showing when using "text" databases. [broken since: v3.6.3.4] {detected by ve3lst}

### Android

minor

- HtmlView: Ignore Table of Content markers.

### Dev

- Php_parser: Parse "[" and "]" as array.

  Example: ['a', 'b'] == array('a', 'b').

- Source: Make parser code thread safe.

- Source: Change Scrib_core from static to instance.

- Source: Refactor Xoa_ttl.

- Source: Consolidate Redirect methods on Page.

## v3.7.1.2 (2017-07-03)

- Search: Do not fail when searching for multiple words. [broken since: v3.6.3.1] {detected by William; Ope30}

  Resolved by: Cast double to int to handle HTML dumps from 2016-05 and earlier.

## v3.7.1.1 (2017-07-03)

### Wiki

- Wiki: Publish 2016-06 German Wiktionary, Wikisource, Wikivoyage, Wikiquote, Wikibooks, Wikiversity, and Wikinews.

### PC

major

- HtmlView: Support Gallery.

  Links: https://en.wikipedia.org/wiki/Édouard_Manet https://en.wikipedia.org/wiki/List_of_tallest_buildings_in_the_world https://en.wikipedia.org/wiki/National_Gallery_of_Art

- DownloadCentral: Show error message if error during download; also allow resume.

minor

- UI: Add Ctrl+P as default keyboard shortcut for Print.

- UI: Automatically save zoom level when using Ctrl+Wheel_Up, Ctrl+Wheel_Down. {detected by Ope30}

- UI: Restore font size for tab buttons.

trivial

- Log: Add logging statements for search.

- Hzip: Skip manual <h2> if <span> does not have id.

  Links: https://fr.wikipedia.org/wiki/Portail:Nord-Amérindiens/Image_sélectionnée

- Hzip: Skip manual <h2> if <h2> has atrs.

  Links: https://fr.wikipedia.org/wiki/Wikipédia:LiveRC/ToDo

### Android

major

- Setup: Detect external storage card for certain devices (BLU-STUDIO C 5+5 LTE).

  Resolved by: Try "SECONDARY_STORAGE" environment variable if present.

major

- DownloadCentral: Fix WAKE_LOCK not being acquired / released.

  Resolved by: Always release WAKE_LOCK when task is done; remove WAKE_LOCK from internal hash.

- DownloadCentral: Fix negative progress when restarting after failed task.

  Resolved by: Reset progress at cmd level upon failure.

- Log: Retain only most recent 8 log files.

- General: Do not crash when opening new tab and English Wikipedia is not installed.

  Resolved by: Use 1st installed wiki if English Wikipedia is not available.

- General: Do not crash when reloading page but SD card has been removed.

  Resolved by: Add try / catch to Page__on_load_end.

- General: Do not crash when opening wiki but wiki has been deleted.

  Resolved by: Add try / catch to OfflinePageStrategy.

- General: Do not crash when reloading tab but page does not exist.

trivial

- Redlinks: Fix null ref in logs when opening special pages.

  Resolved by: Set "en" as language for home wiki.

### Dev

- Source: Fix compilation issues with Eclipse Neon.

  Resolved by: Split classes into separate files.

- Source: Refactor gallery classes.

- Source: Make Xop_amp_mgr thread safe.

## v3.6.4.2 (2016-06-27)

### PC

major

- DownloadCentral: Fix Images failing b/c Articles already creates image databases.

  Resolved by: Release fsdb connections after registering new wiki.

- DownloadCentral: Add new wiki to left-hand sidebar of wikis.

- DownloadCentral: Sort work tasks by add-order after reloading page.

minor

- DownloadCentral: Make minor HTML changes to DownloadInfo, including removing ellipsis and adding URL for wiki.

- HTML: Remove ellipsis from Wiki Info.

## v3.6.4.1 (2016-06-25)

### Wiki

- Wiki: Publish 2016-06 English Wiktionary, Wikisource, Wikivoyage, Wikiquote, Wikibooks, Wikiversity, Wikinews and Species Wiki.

  Links: Special:XowaDownloadCentral

### PC

major

- DownloadCentral: Fix Download Central failing for multiple tasks.

  Resolved by: Do not make Http_download_wkr a singleton.

- DownloadCentral: Add screen to show info for each task.

  Links: Special:XowaDownloadCentralInfo?task id=1

- DownloadCentral: Fix Mac OS X and Builder Central for vertical-align text / missing bullet points.

  Resolved by: Specify -webkit-align-items; Specify display:inline-block.

- HTML Databases: Show redlinks for missing pages.

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

- HTML Databases: Show Timelines.

  Resolved by: Add timeline.js if timeline is present.
  Links: https://en.wikipedia.org/wiki/Solar_System

- HTML Databases: Show Gallery horizontally instead of vertically.

  Resolved by: Include "mediawiki.page.gallery.css" if page has gallery.
  Links: https://en.wiktionary.org/wiki/head https://en.wiktionary.org/wiki/A

minor

- Template: Show more flag images.

  Resolved by: Return template_name and template_args if template_name is invalid, not just template_name.
  Example: pass: {{ {{{0}}} | arg_1 | arg_2 }}; fail: {{{{{0}}}}}.
  Links: https://en.wikipedia.org/wiki/Flag_of_Greenland https://en.wikipedia.org/wiki/List_of_flags_by_number_of_colors

- Tag: Show missing content for pages with apostrophes.

  Resolved by: Handle apostrophes inside quotes for attributes.
  Example: key="a'b" x> key="a".
  Links: https://en.wikisource.org/wiki/The_formative_period_in_Colby's_history

- Template: Show links for next / previous letter in a few dozen en.d pages.

  Resolved by: Do not add Template: to transcluded missing pages.
  Example: {{:missing}} -> [[:missing]] x> [[Template:Missing]].
  Links: https://en.wiktionary.org/wiki/a

- Interwiki: Change abbreviation for "species.wikimedia.org" to "species" not ".species".

- Lang: Fix script error on 1 en.d page.

  Resolved by: Add "kok" lang.
  Links: https://en.wiktionary.org/wiki/नेपाळ

trivial

- Setup: Show XOWA img on 32-bit xowa.exe.

  Resolved by: Use 32px ico instead of 512px.

- HTTP Server: Do not add "#" to end of url when clicking on img links.

  Resolved by: Change href='#' to href='javascript:void(0)'.

- Hzip: Use correct case for html title if video title is lower-case.

  Example: [[File:a.ogv]] -> "a.ogv" x> "A.ogv".
  Links: https://de.wiktionary.org/wiki/fappieren

- Hzip: Fix hzip diff message for </p> </div>.

  Resolved by: Do not add </p> if gallery caption has <hr>.
  Links: https://fr.wikiversity.org/wiki/Forfry

- Hzip: Fix hzip diff message for "User talk".

  Resolved by: Use underscore version of href for custom namespace title.
  Example: "User_talk:A" x> "User talk:A".
  Links: https://de.wikibooks.org/wiki/Wikibooks:Benutzersperrung/_InselFahrer

### Server

major

- HTTP Server: Add "Download Central".

  Resolved by: Add support for long-polling.
  Links: http://localhost:8080/home/wiki/Special:XowaDownloadCentral

- HTTP Server: Show svg and other file types.

  Resolved by: Add more mime_types like svg, tif, web, etc.
  Links: http://localhost:8080/home/wiki/Special:XowaDownloadCentral

### Android

major

- DownloadCentral: Fix Download Central failing for multiple tasks.

- DownloadCentral: Add screen to show info for each task.

- HTML Databases: Show redlinks for missing pages.

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

- HTML Databases: Show Timelines.

  Resolved by: Add timeline.js if timeline is present.
  Links: https://en.wikipedia.org/wiki/Solar_System

### Dev

- Source: Change hash classes from Hashtable to HashMap.

## v3.6.3.4 (2016-06-22)

### Server

- HTTP Server: Fix blank pages for wikis downloaded from archive.org (fixed for GUI in 3.6.3.3, but not for HTTP Server). {detected by thombles}

## v3.6.3.3 (2016-06-21)

### PC

major.fix

- HtmlView: Fix blank pages for wikis downloaded from archive.org. {detected by thombles}

  Resolved by: Fallback to wikitext databases if html databases are not present.

- DownloadCentral: Fix Download Central icons for Mac OS X.

dev

- Log: Log Download Central progress to troubleshoot failed completions. {detected by William}

## v3.6.3.2 (2016-06-20)

### PC

major.fix

- DownloadCentral: Fix Download Central not resuming after app is restarted.

## v3.6.3.1 (2016-06-19)

### Wiki

- Wiki: Publish English Wikipedia (2016-06).

  Links: Special:XowaDownloadCentral

- Wiki: Publish Simple Wikipedia (2016-06).

  Links: Special:XowaDownloadCentral

### PC

major.add

- Import: Add Download Central for downloading HTML dumps.

  Links: Special:XowaDownloadCentral App/Import/Download_Central

- HtmlView: Support Android HTML databases.

  Links: Options/HTML_databases

- Search: Change search-ranking algorithm to reduce importance of short pages.

  Example: search -> search for I -> Integrated Authority File should not be in top 10 search results.
  Links: https://en.wikipedia.org/wiki/Special:Search?search=earth&full_text=y&simple_search=y

major.fix

- ImageMap: Show ImageMap in HTML dumps (for 2016-07 English Wikipedia).

  Links: https://en.wikipedia.org/wiki/Kingdom_(biology) https://en.wikipedia.org/wiki/Paris https://en.wikipedia.org/wiki/Mars

- Gallery: Show Gallery with correct image margins (for 2016-07 English Wikipedia).

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

minor.fix

- Scribunto: Fix 'Module:CountryData' script error on several dozen en.w pages.

  Message: `Script error: =Module:CountryData:13 bad argument: string expected, got nil`
  Links: https://en.wikipedia.org/wiki/Flag_of_Greenland https://en.wikipedia.org/wiki/List_of_flags_by_number_of_colors

- Scribunto: Fix 'could not parse redirect' script error on a dozen en.w pages.

  Message: `Script error: =Module:Redirect:66 could not parse redirect on page "SRK"`
  Links: https://en.wikipedia.org/wiki/Shah_Rukh_Khan

- Search: Fix search not working if word is also in non-main namespace.

  Resolved by: Apply min / max only if less than / greater than existing value.
  Links: https://en.wikipedia.org/wiki/Special:Search?search=dokuw&fulltext=y&simple_search=y

- Special: Allow case insensitive titles for Special pages.

  Links: https://en.wikipedia.org/wiki/Special:sEARch?search=Earth

- Special: Allow multiple-word aliases for Special pages.

  Links: https://de.wikipedia.org/wiki/Spezial:Zufällige_Seite

minor.change

- Database: Change small wikis to produce core and text databases.

  Example: simple.wikipedia.org-text.xowa -> simple.wikipedia.org-core.xowa; simple.wikipedia.org-text.xowa .

trivial.fix

- Database: Ignore tables / indexes with unparseable sql.

### Android

major.add

- Import: Add Download Central for downloading HTML dumps.

- Special: Add page to show wiki info and delete.

- Special: Add page for logging.

- Special: Redesign Special pages to have unified look.

minor.change

- Android: Hide "View in browser", "Last updated", and "CC license" for Special pages.

- Android: Change page title from Android TextView to HTML div.

- General: Flattened XOWA icon.

### Server

major.add

- HtmlView: Support Android HTML databases.

  Links: Options/HTML_databases

major.fix

- Search: Fix broken full-search page. {detected by thombles}

  Links: http://localhost:8080/en.wikipedia.org/wiki/Special:Search?search=Earth&fulltext=y&simple_search=y

### Doc

- Doc: Add more information on portable JRE / Pale Moon. {assisted by anonymous}

  Links: App/Setup/Installation App/Setup/Flash_card App/Xtn/Browser/XOWA_viewer

- Doc: Clarify decompress dump file vs read from compressed. {requested by anonymous}

  Links: Dashboard/Import/Offline

- Doc: Add more info to Privacy Policy for "Read External Storage", "Wake Lock", and "Logs".

  Links: Help/Privacy/Android

### Dev

- Source: Reorganize gfui package.

## v3.5.1.1 (2016-05-01)

### Windows / Linux / Mac OS X

minor.fix

- Scribunto: Fix categorytree script error on many en.d pages. Message: `Script error: @C:/xowa/bin/any/xowa/xtns/Scribunto/engines/Luaj/MWServer.lua:59 vm error: gplx.Err: callParserFunction: function was not found: function=#categorytree`

  Resolved by: Implement basic functionality for {{#categorytree}}.
  Links: https://en.wiktionary.org/wiki/a-

- Scribunto: Fix 'parameter "2" is required' script error on several dozen English Wikipedia category pages. Message: `Script error: =Module:parameters:175 The parameter "2" is required.`

  Resolved by: Add entries for null value arguments. Example: [2:'b'] -> [1:null,2:'b'].
  Links: https://en.wiktionary.org/wiki/Category:Nouns_by_language

- Scribunto: Fix cast failed error on several dozen en.d pages. Message: `Script error: @/C/xowa/bin/any/xowa/xtns/Scribunto/engines/Luaj/MWServer.lua:59 vm error: gplx.Err: cast failed: type=java.lang.String`

  Resolved by: Always convert replace-arg to string when gsub uses callback function.
  Links: https://en.wiktionary.org/wiki/seven https://en.wiktionary.org/wiki/four https://en.wiktionary.org/wiki/eight

- Scribunto: Fix format link script error on a few dozen en.d pages. Message: `Script error: =Module:template 'Link':367 attempt to call nil`

  Resolved by: Return correct data structure for interwikiMap.
  Links: https://en.wiktionary.org/wiki/Wiktionary:Public_domain_sources https://en.wiktionary.org/wiki/Wiktionary:Quotations/Templates

- Scribunto: Fix class cast error on a few dozen en.d pages. Message: `Script error: @C:/xowa/bin/any/xowa/xtns/Scribunto/engines/Luaj/MWServer.lua:59 vm error: java.lang.ClassCastException: org.luaj.vm2.LuaNil cannot be cast to org.luaj.vm2.LuaTable`

  Resolved by: Handle UCS chars at end of array.
  Links: https://en.wiktionary.org/wiki/one

- Scribunto: Fix 'number required' script error. Message: `Script error: =Module:Roman:119 attempt to call nil`

  Resolved by: Allow int to be passed to pf.expr.
  Links: https://en.wikipedia.org/wiki/531_BC

- Url: Fix wrong-casing when navigating from home wiki to English Wiktionary.

  Resolved by: Use case-sensitivity of url wiki not current wiki.
  Links: https://en.wiktionary.org/wiki/one

doc

- Doc: Correct broken links to missing /Overview pages. {detected by Miles}

  Links: Dashboard/Wiki_maintenance

## v3.4.4.1 (2016-04-24)

### Windows / Linux / Mac OS X

package

- Package: Release German wikis (2016-04).

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

minor.fix

- Luaj: Fix multiple error log messages for Module:Sort in de.w pages. Message: `Skriptfehler: =Module:Sort:93 'for' initial value must be a number`

  Resolved by: Do not assign character classes to bytes > 128. Example: {{#invoke:AdressenSort|convert|1=, ß}} -> , ß x �.
  Links: https://de.wikipedia.org/wiki/Liste_der_Kulturdenkmäler_in_Kaiserslautern

- Hzip: Serialize media_play link.

trivial.fix

- Scribunto: Fix ClassCast script error on 3 de.w pages. Message: `Skriptfehler: @C:/xowa/bin/any/xowa/xtns/Scribunto/engines/Luaj/MWServer.lua:59 vm error: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String`

  Resolved by: Allow ints to be passed as title. Example: {{#invoke:Pinging|massmessage|#{{PAGEID}}|@=|:=}} .
  Links: https://de.wikipedia.org/wiki/Wikipedia:Lua/Modul/Pinging/Test/recipients https://de.wikipedia.org/wiki/Wikipedia:Checkuser/Berechtigte https://de.wikipedia.org/wiki/Wikipedia:Importwünsche/Importeure

- Scribunto: Fix ClassCast script error on 1 de.v page. Message: `Skriptfehler: @C:/xowa/bin/any/xowa/xtns/Scribunto/engines/Luaj/MWServer.lua:59 vm error: gplx.Err: val is not in switch/if: val=java.lang.Double – Breite:`

  Resolved by: Handle double for replace arg in ustring.gsub.
  Links: https://de.wikivoyage.org/wiki/Wikivoyage:Wikidata/Test_Modul:Wikidata2

- ParserFunctions: Fix IndexOutOfBounds log error on 1 fr.w page.

  Resolved by: Allow empty string for Raw argument in PAGESFORCATEGORY. Example: 0.
  Links: https://fr.wikipedia.org/wiki/Projet:Venezuela

- DynamicPageList: Fix IndexOutOfBounds log error on 1 de.n page.

  Resolved by: Handle multiple bad keys on one line. Example: \nbad1=a bad2=b\n.
  Links: https://de.wikinews.org/wiki/Portal:Brandenburg

- Hzip: Store title attribute for Wikivoyage sleep, eat, drink, etc. on 20+ de.v pages.

  Links: https://de.wikivoyage.org/wiki/Cairns

- Hzip: Serialize email node for Wikivoyage email on 10+ de.v pages.

  Links: https://de.wikivoyage.org/wiki/Bansin

### Android

major.fix

- Android: Do not crash if file-user.xowa is not available.

trivial.fix

- Android: Use correct css for Special:XowaWikis.

  Resolved by: Convert byte[] to string for call to xowa__html__add__head.

## v3.4.3.1 (2016-04-17)

### Windows / Linux / Mac OS X

major.fix

- Parser: Fix Random pages not showing in Portal. [broken since: v3.3.4.1]

  Resolved by: Serialize long for Luaj.
  Links: https://en.wikipedia.org/wiki/Portal:Earth_sciences

- Html: Fix "Other wikis" not showing in home wiki. [broken since: v3.4.2.1]

  Resolved by: Add empty h3 after div logo.

- Html: Fix {{#DISPLAYTITLE}} not showing. [broken since: v3.1.5.1]

  Resolved by: Pass display_title info to new page_banner manager.
  Links: http://en.wikipedia.org/wiki/gzip Diagnostics/ParserFunctions/DisplayTitle

- Parser: Fix broken script error "table expected, got nil" on a few dozen de.w pages. Message: `Skriptfehler: @C:/xowa/bin/any/xowa/xtns/Scribunto/engines/LuaCommon/lualib/mwInit.lua:18 bad argument: table expected, got nil`

  Resolved by: Change server name to "//de.wikipedia.org" not "https://de.wikipedia.org".
  Links: https://de.wikipedia.org/wiki/Giro_d’Italia_1996

minor.fix

- ParserFunctions: Change {{CANONICALURL}} from http to https. Example: https://home/wiki/Earth -> https://en.wikipedia.org/wiki/Earth x> http://en.wikipedia.org/wiki/Earth.

- Parser: Fix broken tabs in <tabber> tag.

  Resolved by: Split only on first =, not on all of them.

- Parser: Add parser for <TabView>. {requested by anonymous}

  Links: Diagnostics/Xtns/Wikia/All

- Config: Do not keep downloading from Wikimedia Api if wiki was imported in offline mode.

  Resolved by: Ignore fallback entries in site_cfg.

doc

- Doc: Change domain to http://xowa.org. {assisted by anonymous4}

  Links: http://xowa.org

- Doc: Export all home wiki pages to http://xowa.org.

  Links: http://xowa.org/home/wiki/Help/Contents.html

### Android

major.add

- App: Release XOWA Android to Play Store. {assisted by anonymous4}

  Links: https://play.google.com/store/apps/details?id=org.xowa

- App: Support Android KitKat devices. {assisted by anonymous4}

  Resolved by: Add multidex support.

- UI: Add icons for different resolutions.

- UI: Remove non-XOWA settings from settings screens.

- UI: Remove "Event logging", "Auto-log crash reports" and other settings.

## v3.4.2.1 (2016-04-10)

### Windows / Linux / Mac OS X

major.fix

- Search: Reduce build time for search databases. {detected by William}

major.package

- Package: Upload consolidated images for English Wikipedia.

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

minor.add

- CSS: Update home CSS files to latest version from English Wikipedia. {detected by William}

- Parser: Add parser for RandomSelection tag. {requested by anonymous} Example: <choose><option>A</option><option>B</option></choose>.

  Links: Diagnostics/Xtns/Wikia/All

- Parser: Add parser for Tabber tag. {requested by anonymous} Example: <tabber>tab1=A|-|tab2=B</tabber>.

  Links: Diagnostics/Xtns/Wikia/All

### Android

major.add

- UI: Add "Import New Wikis" page. {assisted by anonymous4}

- UI: Add "Wikis" list page.

minor.fix

- UI: Do not crash when pressing Random in home wiki. {detected by anonymous4}

- UI: Do not crash when pressing XOWA after History.

- UI: Remove "Nearby" pages.

- UI: Remove "Log in to Wikipedia".

## v3.4.1.1 (2016-04-04)

### Windows / Linux / Mac OS X

major.fix

- Import: Fix offline import for large wikis. {detected by MacSquirrel-Jedi}

  Links: Dashboard/Import/Offline

- Database: Open old .sqlite3 wikis. {detected by William}

  Resolved by: Parse SQL comments in SQL master.

- Import: Allow upgrade of search for old .sqlite3 wikis. {detected by William}

major.add

- Files: Add page to delete old unused images.

  Links: Dashboard/Files/Deletion

package

- Package: Release French Wikipedia 2016-03.

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

## v3.3.4.1 (2016-03-27)

### Windows / Linux / Mac OS X

major.add

- Search: Add autocomplete to url bar.

  Links: App/Search/Address_bar

- Search: Improve performance of searches.

- Search: Assign numeric score to pages using PageRank.

  Links: Options/Search

- Search: Handle titles with punctuation like "GNU/Linux", "o'clock", "Faster-than-light", "History of U.S.A. Science", "20,000_Leagues_Under_the_Sea" etc..

- Search: Improve boolean searches.

  Links: App/Search

- Doc: Add search capabilities to the home wiki.

  Resolved by: Upgrade home wiki to new search system.

minor.fix

- Scribunto: Fix script error on English Wikipedia category pages. Message: `Script error: =Module:progress box:59 attempt to index ? (a number value)`

  Resolved by: Support "*" for Scribunto "pagesInCategory".
  Links: https://en.wikipedia.org/wiki/Category:Articles_lacking_sources_from_February_2009

- Wikibase: Add hyperlinks to taxonomy navbar for about a few hundred en.w pages.

  Resolved by: Support "from" atribute in "{{#property}}". Example: {{#property:p1|from=p2}}.
  Links: https://en.wikipedia.org/wiki/Golden_eagle

- UI: Allow keybindings for all punctuation symbols.

  Resolved by: Assign keycodes based on SWT const values.

minor.add

- Database: Minor performance improvements.

  Resolved by: Upgrade sqlite-jdbc to 3.8.2.

- Setup: Always list correct version number in windows.exe files. {detected by anonymous}

- Extension.NewWindowLink: Handle {{#NewWindowLink}} for wikia wikis. {requested by anonymous}

trivial.add

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

- Wiki: Change site_stats from int to long.

### Android

major.fix

- Search: Improve performance and accuracy of searches.

  Resolved by: Remove unnecessary level of threading.

- Javascript: Fix table collapse / expand buttons not working.

  Resolved by: Change javascript to call tableFull.setAttribute("style", 'display:none !important');.

- Search: Allow search for apostrophe words. {detected by anonymous4}

  Resolved by: Search using prepared statements, not dynamic SQL. Example: search for "o'clock".

- Search: Allow search for "and", "or".

  Resolved by: Change boolean AND operator to be "+" and OR operator to be ",".

## v3.2.1.1 (2016-01-31)

### Windows / Linux / Mac OS X

major.fix

- Search: Fix search not working. [broken since: v3.1.1.1]

  Resolved by: Assign correct word ids to search word.
  Links: https://en.wikipedia.org/wiki/Special:Search?search=Earth&fulltext=y

- Html: Fix English Wiktionary sections defaulting to collapsed but showing "hide". [broken since: v3.1.5.1]

  Resolved by: Change mediawiki.gadget.navframe.js to explicitly set style.display.
  Links: https://en.wiktionary.org/wiki/green

major.add

- Build: Build application package for Raspberry Pi. {contributed by yonisolo}

package

- Package: Release English Wikipedia (2016-01).

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

- Package: Release English Wikis (2016-01).

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

doc

- Doc: Modify "Change log" entries to be more user-oriented.

## v3.1.5.1 (2016-01-31)

### Windows / Linux / Mac OS X

major

- Luaj: Fix frontier pattern not working. Resolves error messages for every url reference on en.w pages. EX: `Check |archiveurl= value (help)`. See: https://en.wikipedia.org/wiki/A https://en.wikipedia.org/wiki/Earth
- Luaj: Handle backslash-escaped UTF8 sequences. Resolves error messages for many references on en.w pages. EX: `Specials character in |encyclopedia= at position 11 (help)`. See: https://en.wikipedia.org/wiki/A https://en.wikipedia.org/wiki/Earth
- Core: Parse decimals using US locale, not user locale. Resolves extremely wide pie charts on many de.w pages. {detected by markusmaresch} See: https://de.wikipedia.org/wiki/Hausmannstätten
- Xtn.Pgbnr: Add {{PAGEBANNER}} extension. Resolves pagebanner not showing up on top of wikivoyage pages. See: https://en.wikivoyage.org/wiki/Stonehenge https://en.wikivoyage.org/wiki/Paris https://en.wikivoyage.org/wiki/Munich https://en.wikivoyage.org/wiki/Cumbernauld Diagnostics/Xtns/Wikivoyage/All

minor

- Css: Remove from core.css #content a:link {color: #0645ad;}. Resolves wikivoyage banner links showing in blue instead of white. See: https://en.wikipedia.org/wiki/Stonehenge
- Html: Add 'class="visible"' to content-sub node and 'client-js' to html node. Resolves extra gap at bottom of content-sub on wikivoyage pages. See: https://en.wikivoyage.org/wiki/Stonehenge

trivial

- Xtn.Mapsources: Parse key-value pairs from nested template calls. Resolves potential incorrect values for {{#dd2dms}} .
- Import.Dansguardian: Fix page-redirection-deletion for en.wikipedia.org.

### Android

major

- Css: Show navbox and other tables.
- Css: Always center table.
- File: Replace img.src ? with %3F. Resolves images with question marks not showing. See: https://en.wikipedia.org/wiki/Cleopatra https://en.wikipedia.org/wiki/Cave_paintings
- Xtn.Hiero: Show hieroglyphics (available in 2016-01 English Wikipedia release). Resolves hieroglyphics not appearing. See: https://en.wikipedia.org/wiki/Cleopatra
- Css: Force table content to be transparent color in night mode.
- Log: Deactivate logging to external SD card (again). {detected by anonymous}

## v3.1.4.2 (2016-01-28)

### Windows / Linux / Mac OS X

major

- Scribunto: Add built-in function: {{PROTECTIONEXPIRY}}. Resolves script error on many en.w pages. EX: `Script error: @/xowa/bin/any/xowa/xtns/Scribunto/engines/Luaj/MWServer.lua:59 vm error: gplx.Err: callParserFunction: function was not found: function=PROTECTIONEXPIRY`. See: https://en.wikipedia.org/wiki/Alaska https://en.wikipedia.org/wiki/Earth
- Xtn.FlaggedRevs: Add scribunto function: getStabilitySettings. Resolves script error on many en.w pages. EX: `Script error: =Module:Effective protection level:16 attempt to index ? (a nil value)`. See: https://en.wikipedia.org/wiki/A https://en.wikipedia.org/wiki/Animal_Farm https://en.wikipedia.org/wiki/Agriculture

trivial

- Log: Do not log warnings when building category version1. Resolves numerous non-meaningful error messages in the log file.

## v3.1.4.1 (2016-01-24)

### Windows / Linux / Mac OS X

major

- Luaj: Return position as int not string when using "()" regex (resolves script error on several dozen en.d / ru.d pages ("attempt to compare string with number expected, got string")). See: https://en.wiktionary.org/wiki/к https://en.wiktionary.org/wiki/кагебешник https://ru.wiktionary.org/wiki/плавлавка
- Scribunto: Handle nested gsub calls when using callback functions (resolves script error on a few dozen en.d pages ("Unrecognized 3ms suffix pattern.")). See: https://en.wiktionary.org/wiki/כלב
- Luaj: Handle multi-byte chars in lua variables (resolves script error on a few dozen en.d pages ("attempt to concatenate nil and string")). See: https://en.wiktionary.org/wiki/どう https://en.wiktionary.org/wiki/를
- Hzip: Handle jtidy moving <span class='headline'> outside of <h#> tag in rare combination of <center>, <span>, <div> (resolves a few dozen pages in en.s not showing). See: https://en.wikisource.org/wiki/On_the_Vital_Principle/Whole_text https://en.wikisource.org/wiki/Avenarius_and_the_Standpoint_of_Pure_Experience/1

minor

- Scribunto: Handle multi-byte characters for lua bracketed regular expressions (resolves nothing known). See: https://en.wiktionary.org/wiki/どう https://en.wiktionary.org/wiki/를
- Luaj: Use HOUR_OF_DAY for os.time, not HOUR (resolves hour off by 12 for os.time calls). See: Diagnostics/Scribunto/Luaj
- Xtns.Dpl: Write href using full_db not page_txt; EX:Category:A B -> Category:A_B x> A B. See: https://en.wikiquote.org/wiki/Wikiquote:Speedy_deletions
- Xtns.Dpl: Encode quotes in href title (resolves broken links if page title has quotes). See: https://en.wikibooks.org/wiki/Wikibooks:Alphabetical_classification/All_Books
- Dumps.HTML: Add support for non-english File namespace (resolves many log messages when generating html dumps for non-english wikis).

trivial

- Hzip: Write file-title with correct case-sensitivity for wikis with a case-sensitive [[File:]] namespace.
- Html: Never change title bytes when passed to Xof_file_wkr_.Ttl_standardize(title) (nothing known in pc; affects hzip check for image links). See: https://en.wiktionary.org/wiki/freedom_of_speech

doc

- Home: Redefine categories for Change log.

### Android

major

- Search: Do additional searches to return some results sooner.
- Image: Load images directly in html if page has already been viewed.
- Url: Convert plus to space (affects pages not loading if canonical_url has plus for space). See: https://en.wikipedia.org/wiki/List_of_Fire_Emblem:Shadow_Dragon_characters
- App: Add "send email" to crash reporting.

## v3.1.3.1 (2016-01-17)

### Windows / Linux / Mac OS X

add

- Command-line: Expand instructions for generating HTML dumps. See: Dev/Command-line/Dumps

significant

- Import: Delete broken page redirects when importing wiki in dansguardian.
- Html: Show info.png and play.png from css, not HTML. See: https://en.wikipedia.org/wiki/Piano

minor

- Gallery: Ignore items with invalid file titles; EX:<gallery>File:#A.png</gallery>.
- Url: Output "" instead of "file:///" if src is unknown.

trivial

- Parser.Lnki: Title-case page if link argument has xwiki alias to same wiki; EX:[[File:A.png|link=en:Help:a]] -> "Help:A" x> "Help:a". See: https://en.wikipedia.org/wiki/Wikipedia:Teahouse/Guest_book/Archive_5

### Android

fix

- Setup: Do not write log to SD card {detected by anonymous}.

add

- Special: Implement random.

change

- Html: Show video thumbs. See: https://en.wikipedia.org/wiki/Lepidoptera
- Html: Show images from imageMap (available in next English Wikipedia release). See: https://en.wikipedia.org/wiki/Australia
- Html: Show images from fake-thumb divs. See: https://en.wikipedia.org/wiki/List_of_counties_in_New_York
- Css: Change background-color to black for infobox / wikitable in night-mode {detected by anonymous} {detected by anonymous}. See: https://en.wikipedia.org/wiki/Earth

significant

- Html: Center gallery images.

minor

- Html: Change background color to transparent for Portal divs. See: https://en.wikipedia.org/wiki/Australia

## v3.1.1.1 (2016-01-03)

fix

- Search: Generate correct counts for search words (affects search results sometimes being off). [broken since:v2.4.4]
- Url: Fix IPA audio links (affects IPA audio links would not download pronunciations when clicked); EX:[[File:A.png|link=file:///C:/A.png]] x> href='/wiki/file:///C:/A.png'. See: https://en.wikipedia.org/wiki/Beethoven [broken since:v2.8.1]

change

- ParserFunctions: Handle <refs> inside {{#tag}} (affects incorrectly placed ref on 1 en.w page); EX:{{#tag:ref|<ref>a</ref>b}}. See: https://en.wikipedia.org/wiki/UK https://en.wikisource.org/wiki/The_Canterville_Ghost
- ParserFunctions: Add {{REVISIONSIZE}} (affects script error on 2 ru.w pages); EX:{{REVISIONSIZE}}. See: https://ru.wikipedia.org/wiki/Юршор https://ru.wikipedia.org/wiki/Красноярск

significant

- Url: Process first # as anchor, not last (affects script error on 1 en.w page); EX:A#B#C -> "B#C" x> "C" . See: https://en.wikipedia.org/wiki/Grand_Central_Terminal
- Html: Remove magnify.png from HTML (use CSS). See: https://en.wikipedia.org/wiki/Beethoven

minor

- Parser.Lnki: Handle link arguments to anchors within current page (affects links not working for images if they link to section within current page); EX:[[File:A.png|link=#B]]. See: https://en.wikipedia.org/wiki/History_of_Nauru

trivial

- Html: Remove underlines from "Redirected from" messages. See: https://en.wikipedia.org/wiki/Summer_Solstice
- Html: Escape quotes in alt for gallery file_names (affects incorrect alts for gallery itm); EX:<gallery>File:A"b.png</gallery>. See: https://en.wikipedia.org/wiki/Alexandria,_Romania
- Html: Escape quotes in title for links on Category page (affects incorrect titles for category page links). See: https://simple.wikipedia.org/wiki/Category:Solo_organ_piece
- Html: Do not output alt in caption if alt only has whitespace (affects useless <hr> when alt is just blank space); EX:[[File:A.png|thumb|alt= ]]. See: https://en.wikipedia.org/wiki/Bird

### 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