PIP package:

0.2.18

* added support for JEPD Bible

0.2.17

* added downloadGCloudModulesInSeparateThread config flag to disable downloading marvel data files from google in a separate thread
* added overrideCompareToUseAllTexts config flag to compare all texts
* fix shortcuts not loading on startup
* fix restarting UBA

0.2.16

* replace textextract package with markitdown

* support custom model names deployed via Azure service

0.2.7-0.2.11

* added support of using FREE Github API key

* removed old AI model from Bible Chat list

0.2.6

* added a running mode `api-client-localhost`

* added command `ubal` to connect web api running on localhost

0.2.5

* use translateLibre for translation

0.2.4

* added support of using X AI Grok model

0.2.1-0.2.3

* added support of xonsh auto-completions

* improved cli options

* fixed vlc loop issue

0.2.0

* fixed fresh installation

0.1.99

* improved display of CHAT::: output

* fixed opening Bible Chat Settings

* fixed Desktop shortcut on Linux

0.1.97-0.1.98

* fixed Linux qt input plugin

* updated README

0.1.90-0.1.96

* fixed to support python 3.12

* tested for docker files

0.1.86-0.1.89

* fixed configuration backup

* A copy of configurations is automatically saved when http-server starts.

* renamed the config backup file to "config.py.bk".  This may be helpful for some users who use ~/UniqueBible as the application folder, though it is not recommended.

0.1.82-0.1.85

* tweaked http-server

* added `chat` command

* added a simple web ui for AI chat

0.1.79-0.1.81

* limit access to AI features via web API to private data users only

* added command `api` to access UBA web api content

0.1.74-0.1.78

* support gogole AI API for AI inference, in addition to opena, grop and mistral

* added AI Commentary; works in both GUI and non-GUI modes

* To display AI Commentary icons:
    In GUI mode, `Bible > Toogle Features > Display Chapter Verse Commentary Icon`
    In non-GUI modes, set both `enableAICommentary` and `displayVerseAICommentaryIcon` to True

* `bible` and `commentary` command keyword `bible:::` now accepts reference formats chapter numbers, like 43.3.16

* added commands:
    PRAY:::
    QUOTE:::
    ENCOURAGE:::
    INTERPRETOT:::
    INTERPRETNT:::
    AIC:::

0.1.65-0.1.73

* added commands `ANSWER:::`, `ANSWERYOUTH:::`, `ANSWERKID:::` to answer bible-related questions with AI models

* added two more AI backends, Groq Cloud API and Mistral AI API

* update Bible Chat plugin to work with new backends

0.1.65

* fixed Google Earth links in bible maps

0.1.60-0.1.64

* version message displayed on console only if newer version is available.

* a few fixes

0.1.58-0.1.59

* added commands `ub`, `ubapi`, `ubhttp`, `ubssh`, `ubtelnet` and `ubterm`.  Read https://github.com/eliranwong/UniqueBible/wiki/UBA-Run-Modes

* added `api-client` mode

0.1.54-0.1.57

* added bible parameter to commands `crossreference` and `tske`.

* a few fixes

0.1.52-0.1.53

* improved web API output

* fixed shortcut issue

0.1.43-0.1.51

* fixed and improved startup

* improved web api

* added command `chapter:::` and `comparechapter:::`

* command `compare:::ALL:::` now compares all favourite bibles instead of all installed bibles

0.1.42

* added command `.resources` to web API to retrieve available resources

* Read web api documentation at https://github.com/eliranwong/UniqueBibleAPI

0.1.38-0.1.41

* improved raw output with API endpoints

* output command suggestions

* added command `.suggestions` to web API to retrieve command suggestions

0.1.37

* support user plugins, stored in ~/UniqueBible/plugins

0.1.36

* improved commentary output for terminal and stream mode

* added API endpoints `/html` and `/json`, in addition to `/plain`

See the differences:

https://bible.gospelchurch.uk/html?cmd=Commentary:::John%202:4-7

https://bible.gospelchurch.uk/json?cmd=Commentary:::John%202:4-7

https://bible.gospelchurch.uk/plain?cmd=Commentary:::John%202:4-7

0.1.35

* refine commentary output via api endpoint

0.1.34

* fixed plain text output api endpoint

0.1.32-0.1.33

* Limit api endpoint `/plain` to access private data, only when `private=xxxxxxx` where xxxxxxx matches config.webPrivateHomePage

0.1.28-0.1.31

* install uniquebible map images via a sparate packages

0.1.16-0.1.27

* multiple fixed for pip package

* separate apps scripts from user content

* support config backup

* added api endpoint `/plain` to http-server

* improved integration with ToolMate AI

0.1.15

* use `groqchat` for bible chat in terminal mode

* fixed a message when uba is closing on Termux

0.1.13-0.1.14

* worked with latest ToolMate AI

0.1.09-0.1.12

* added a 'stream' mode to work with stdin and stdout, e.g.

> uniquebible stream John 3:16-18

> echo 3:16-18 | uniquebible stream John

0.1.03-0.1.08

* integrated with Toolmate AI, read https://github.com/eliranwong/toolmate

0.1.02

* fixed plugin menu

0.1.01

* tested startup with python 3.12

* added missing icons

Old versions:

Changes in 35.31:
* Add webSiteTitle to config
* Add scripts to start/stop http and api server

Changes in 35.30:
* Support Piper TTS on Linux

Changes in 35.29:
* Add concordance to api server

Changes in 35.28:
* Add "Install ALL" to module downloads

Changes in 35.27:
* Populate verse list if missing chapter in api server

Changes in 35.26:
* added fuzzy completer in terminal mode

Changes in 35.25:
* Add display word frequency menu plugin
  - https://github.com/eliranwong/UniqueBible/wiki/Display-Word-Frequency-Menu-Plugin

Changes in 35.24:
* Add shortcut to toggle audio toolbar

Changes in 35.23:
* specify openai package version

Changes in 35.22:
* 'ctrl+q' or 'ctrl+z' to stop bible audio in terminal mode.

Changes in 35.21:
* Added subheadings command to api server

Changes in 35.20:
* fixed search highlights spacing in terminal mode

Changes in 35.19:
* improved wrapping Chinese, Japanese and Korean words in terminal mode

Changes in 35.18:
* fixed bible data

Changes in 35.17:
* removed extra spaces in terminal mode display

Changes in 35.16:
* support Windows users to use "less" & "vlc" command with terminal mode.

Changes in 35.15:
* Added support wrap words in terminal mode pager is enabled.

Changes in 35.14:
* Wrap words in terminal mode.

Changes in 35.13:
* Fixed google-cloud text-to-speech integration.

Changes in 35.12:
* exit w3m without user confirmation

Changes in 35.11:
* added a startup command exception in terminal mode

Changes in 35.10:
* fixed and improved a few features in terminal mode

Changes in 35.09:
* improved bible comparison and parallels

Changes in 35.08:
* added support of using regular expression in bible searches with GPT.
    e.g. GPTSEARCH:::verses that contain 'God' and 'Lord' and regular expression 'Jesus.*?love'

Changes in 35.07:
* added support of using book names in bible searches with GPT.
    e.g. GPTSEARCH:::verses that contain both 'God' and 'faith' in the book of Isaiah

Changes in 35.06:
* upgrade package llama_index when semantic search is used
* semantic search now use the same model, temperature and max tokens configured with Bible Chat

Changes in 35.04, 35.05:
* fixed importing packages

Changes in 35.03:
* fixed chat context inclusion in terminal mode

Changes in 35.02:
Improved plugin "Bible Chat":
* support output stream with function calling enabled

Changes in 35.01:
Improved plugin "Bible Chat":
* Added previous entered commands to auto completion
* Added Bible Passages to context
* Fixed image generation

Changes in 35.00:
Improved plugin "Bible Chat":
* Fixed running text selection as system command
* Fixed running text selection as python script
* Support streaming feature even with function calling enabled
* Added a new plugin "execute python code":
    Non-python users can use natural language to instruct ChatGPT to perform whatever tasks which python is capable to do.
    For examples, users can ask ChatGPT:
        # Tell me the current time.
        # Tell me how many files in the current directory.
        # What is my operating system and version
        # Open web browser
        # Open https://github.com/eliranwong/ChatGPT-GUI in a web browser.
        # Search ChatGPT in a web browser
        # Open the current directory using the default file manager.
        # Launch VLC player.

Changes in 34.99:
Improved plugin "Bible Chat"
* Moved the predefined context selection out of settings to the main window so can quickly change and view the current context
* Added tool tip to context selection to see what it will do
* Added the context selection to the title to see what was run
* Fixed prayer predefined context

Changes in 34.98:
Improved terminal mode
* added options to integrate internet searches into ChatGPT responses: "always", "auto", "none"

Changes in 34.97:
Improved plugin "Bible Chat"
* added options to integrate internet searches: "always", "auto", "none"
* support calling "python" function
* fixed opening url

Changes in 34.96:
* Add a plugin to integrate Google searches into ChatGPT responses.

Changes in 34.95:
Improved plugin "Bible Chat"
* added option to generate chat or not after a function is called
* added ability to run system command
* added ability to execute a python script locally or globally
* added ability to open text in a web browser
* added ability to enable / disable individual ChatGPT plugins

Changes in 34.94:
Improved plugin "Bible Chat"
* added "Export Data"
* added "Count Prompt Tokens"
* added support of ChatGPT function calling

Changes in 34.93:
* fixed Youtube-downloader gui

Changes in 34.92:
* added support of gpt-3.5-turbo-16k to Bible Chat plugin

Changes in 34.91:
* Added lexiconreverse to api server

Changes in 34.90:
* added support of gpt-3.5-turbo-16k

Changes in 34.89:
* updated AGB paragraphs

Changes in 34.88:
* support command entry of bible reference, started with a book number, e.g. 43.3.16

Changes in 34.87:
* Added package microsoft/guidance
* Fixed AGB subheadings
* Fixed Bible Chat type error

Changes in 34.86:
* Added support of exporting bible text into markdown format

Changes in 34.85:
* Integrated Amazing Grace Bible Translation Series data for subheadings and paragraphs
    Read information about Amazing Grace Bible Translation Series at:
    https://github.com/eliranwong/AmazingGraceBibleTranslationSeries
* Improved plugin to generate chapter summary via Chat GPT

Changes in 34.84:
* Fixed loading subheadings for new installation.

Changes in 34.83:
* Improved chapter summary and verse interpretation generated by ChatGPT.

Changes in 34.82:
* Added OpenAI API Key entry dialog to menu "UniqueBible > Other Preferences"
* Added book number and full name to book selection menu
* Fixed opening vlc player

Changes in 34.81:
* Integrated GPTSEARCH::: and SEMANTIC::: searches in gui Master Control Search tab.
* Improved index creation for semantic search.
* Added command keyword description to command entry tooltip as users type a command keyword.

Changes in 34.80:
* Added command keyword GPTSEARCH::: to search bible modules with natural language:
    https://github.com/eliranwong/UniqueBible/wiki/Search-Bible-with-Natural-Language-via-ChatGPT
* Added support of semantic search in non-qt modes.
* Created a wiki page on semantic search:
    https://github.com/eliranwong/UniqueBible/wiki/Semantic-Search

Changes in 34.79:
* Added GPT indexes on NET and KJV bibles for running with semantic search features.

Changes in 34.78:
* Added semantic search on installed bible modules
    - e.g. semantic:::slow to speak
    - e.g. semantic:::quote verses on "God created the earth"
    - e.g. semantic:::write a summary on Exodus 13
    - e.g. semantic:::compare Mark 1 and John 1
    - e.g. semantic:::similar verses to Genesis 1:1 in Hebrews
    - This feature requires OpenAI API Key, configured via file 'config.py' or 'Bible Chat' plugin.

Changes in 34.77:
* Improved http-server
    - mini layout: replace submit button with chapter navigation button

Changes in 34.76:
* http-server audio page

Changes in 34.75:
* automatically scroll to currently opened book when html chapter menu is loaded.

Changes in 34.74:
* Added ability to stop ChatGPT response in the middle of streaming.

Changes in 34.73:
* Added "Book Outline" context to "Bible Chat".

Changes in 34.72:
* Updated Bible Chat contexts for translating Hebrew / Greek verses.

Changes in 34.71:
* Released paragraph division data for Amazing Grace Bible Translation Series
    Read more at: https://github.com/eliranwong/AmazingGraceBibleTranslationSeries

Changes in 34.70:
* Added ASV paragraphs to aid in bible translation process.

Changes in 34.69:
* Added option to auto-scroll ChatGPT responses are they are received.

Changes in 34.68:
* Bible Chat in terminal mode:
    "..." instead of ".options" to launch option menu.

Changes in 34.67:
* Added Bible Chat predefined contexts to system tray
* Added predefined contexts to Bible Chat menu
* Improved terminal mode Bible Chat features:
    - blank entry to change context
    - enter '.options' to launch option menu

Changes in 34.66:
* More integration of "Bible Chat", powered by ChatGPT, for bible studies:
    You can now select text content from the Bible / Study window and click the "Bible Chat" button for various options for bible studies:
        - Word Meaning, Meaning in the Bible, Write a Summary, Write a Sermon, Write a Prayer, 
        - Key Words, Key Themes, Bible Topic, Bible Theology, Bible Place, Bible Person, Bible Promises,
        - Translate Content, Translate Hebrew Verse, Translate Greek Verse, 
        - Introduce a Book, Summarize a Chapter, Interpret OT Verse, Interpret NT Verse
    Users can customise more options / predefined contexts with the use of plugins.
    Remarks: the integrated features require an OpenAI API key.
    Read more at: https://github.com/eliranwong/UniqueBible/wiki/Bible-Chat-with-ChatGPT-API

Changes in 34.65:
* Integrated "Bible Chat", powered by ChatGPT, to:
    - Introduce a bible book
    - Give an overview of a bible chapter
    - Interpret a bible verse
* Access the newly added features via material menu layout book, chapter, verse selection menu

Changes in 34.64:
* Improved message flow in Bible Chat

Changes in 34.63:
* Added input mask for api key in Bible Chat

Changes in 34.62:
* Improved terminal mode ".chat" feature"
    - blank entry for options
    - added options to enter OpenAI API key, switch between ChatGPT models, change maximum tokens

Changes in 34.61:
* Support ChatGPT-4 in "Bible Chat"
    - First, make sure you have access to "gpt-4" or "gpt-4-32k" models
    - In GUI "Bible Chat", select "gpt-4" as API model in "Chat Settings" enter BOTH OpenAI API Key AND Organization ID
    - In terminal mode, set "chatGPTApiModel = 'gpt-4'", enter correct information of "openaiApiKey" AND "openaiApiOrganization" in config.py
* Improved Bible Chat features in terminal mode:
    - support latest online search results in ChatGPT responses
    - added '.options' dialog
    - added option of multi-line user input
    - added option to apply context in either the first input or all inputs
    - auto-completion via config.inputSuggestions

Changes in 34.60:
* Improved plugin "Bible Chat":
    - support latest internet search results in ChatGPT responses
    - improved message handling
    - option to apply context in the first input only or all inputs
    - removed audio on reading new responses

Changes in 34.59:
* improved terminal mode bible chat

Changes in 34.58:
* updated Bible Chat context option title

Changes in 34.57:
* Improved gui mode Bible Chat:
    - support streaming ChatGPT responses when config.chatApiNoOfChoices is set to 1
    - added toggle multiline user-input shortcut, Ctrl+L
    - added toggle regular expression shortcut, Ctrl+E
    - improved user input auto-focus
* Improved terminal mode bible chat:
    - support streaming ChatGPT responses when config.chatApiNoOfChoices is set to 1
    - support predefined customised contexts for bible chat

Changes in 34.56:
* Enhanced automation via Bible Chat plugins.

Changes in 34.55:
* Change displayVerseAudioIcons text to displayChapterVerseAudioIcons

Changes in 34.54:
* Added support of user input auto-completion in "Bible Chat"

Changes in 34.53:
* Support multiple predefined contexts in "Bible Chat"

Changes in 34.52:
* Improved "Bible Chat":
    - now open new chat after database file is changed.

Changes in 34.51:
* Changed audio icon display

Changes in 34.50:
* Improved "Bible Chat"
    - open a new chat after an old chat is deleted
    - added option to open database directory

Changes in 34.49:
* fixed "Bible Chat" file dialog

Changes in 34.48:
* added option to toggle regular expression search in "Bible Chat".

Changes in 34.47:
* updated Windows shortcut directory

Changes in 34.46:
* fixed startup for some Windows users

Changes in 34.45:
* Improved "Bible Chat" search & replace features
    - database search now matches regular expression
    - highlight search result in chat content
    - added ability to replace selected text

Changes in 34.44:
* Added text selection support to menu plugins "Google", "Gmail", "Microsoft Outlook"

Changes in 34.43:
* added Windows and macOS desktop shortcuts

Changes in 34.42:
* added search and search to "Bible Chat" gui

Changes in 34.41:
* Improved "Bible Chat" plugin:
    * support open, create and save as database files
    * load the latest database that was opened when it is launched
    * added option of maxium token.

Changes in 34.40:
* Bible Chat plugin now pick up selected text on the main/study window when it is launched.

Changes in 34.39:
* added "chatGPT" plugin folders:
    - users can write customised python script to process chatGPT response before it is displayed
* added '.new' command under '.chat' feature in terminal mode
* fixed saving chat in terminal mode

Changes in 34.38:
* Added option to toggle verse audio icons.
* Improved Bible Chat plugin:
    - added print ability
    - added multiline user input
    - added auto-focus

Changes in 34.37:
* added ".save" and ".share" command under ".chat" feature in terminal mode.
    This helps users to share or save the chat content.

Changes in 34.36:
* fixed loading OpenAI image on Android

Changes in 34.35:
* added ".image" command in terminal mode to generate image
* change ".biblechat" command to ".chat" command in terminal mode

Changes in 34.34:
* support OpenAI image model to generate images
* added a spinning to .biblechat command in terminal mode

Changes in 34.33:
* fixed openai api key entry in "Bible Chat"

Changes in 34.32:
* fixed font size

Changes in 34.31:
* added font size adjustment in "Bible Chat" plugin.

Changes in 34.30:
* Improved ChatGPT Bible Chat plugin.

Changes in 34.29:
* fixed fresh installation

Changes in 34.28:
* fixed crash after youtube audio or video is downloaded
* added "Restart" option on system tray for non-macOS users
* "Read All Verses" context plugin now supports built-in media player

Changes in 34.27:
* added "Bible Chat" to material menu layout if users has a openai api key.

Changes in 34.26:
* added support of voice-typing in plugin "Bible Chat"
    install portaudio to use this feature:
    - on macOS, run "brew install portaudio"
    - on Debian-based Linux, run "sudo apt install libportaudio2"
* fixed and improved audio language selection in plugin "Bible Chat"
* fixed terminal mode tools menu
* added history session to .biblechat command in terminal mode
* fixed updating pip tool on Windows

Changes in 34.25:
* added plugin menu "Bible Chat"
    - This plugin uses ChatGPT API key
    - Read https://github.com/eliranwong/UniqueBible/wiki/Bible-Chat-with-ChatGPT-API
* changed terminal mode .chatgpt command to .biblechat command.  The .biblechat command now generates conversations about the bible.
* now save audio volume setting of built-in audio player

Changes in 34.24:
* Integrated ChatGPT API into terminal mode:
    1) enter your personal openai api key in config.py "openaiApiKey"
    2) run .chatgpt command in terminal mode

Changes in 34.23:
* added config.useThirdPartyVLCplayerForVideoOnly in Config Flags Window.

Changes in 34.22:
* stop button can now stop vlc player

Changes in 34.21:
* escape double quote in filepath

Changes in 34.20:
* fixed media playback

Changes in 34.19:
* added config.useThirdPartyVLCplayerForVideoOnly

Changes in 34.18:
* added config.useFfmpegToChangeAudioSpeed.
    This improves sound quality on Linux.

Changes in 34.17:
* Improved menu plugin "Terminal Mode".  It now opens the same verse reference, as the desktop version, when it is launched.

Changes in 34.16:
* Added option to scroll bible text with audio playback in material menu layout.

Changes in 34.15:
* improved .readsync running on terminal mode.

Changes in 34.14:
* support stoping .readsync command in desktop version.

Changes in 34.13:
* fixed running .readsync command on Linux

Changes in 34.12:
* simplified installing qtlibrary via multipass
* fixed missing pydub package
* removed text sync with vlc playback

Changes in 34.11:
* added text sync with vlc playback

Changes in 34.09, 34.10:
* added Windows icon

Changes in 34.08:
* added "Copy All" button to "ToDo" plugin.

Changes in 34.07:
* added selected plugins to system tray
* use simple browser for google translate
* fixed speak::: command when config.forceOnlineTts is set to True

Changes in 34.06:
* changed menu plugin "Terminal Mode [konsole]" to "Terminal Mode"
    the plugin now supports macOS, Windows, Linux and Chrome OS

Changes in 34.05:
* added a menu plugin "Terminal" to launch terminal

Changes in 34.03, 34.04:
* added a menu plugin "Terminal Mode [konsole]" for non-Windows users

Changes in 34.02:
* fixed installing PyQtWebEngine

Changes in 34.01:
* allow text synchronisation with audio playback when instant lookup is disabled

Changes in 34.00:
* fixed switching between qt libraries

Changes in 33.99:
* fixed restart after switching from Qt5 to Qt6

Changes in 33.98:
* added menu options to switch between Qt Library
* added config.openLinuxDirectory to specify the command / file manager to open a directory on Linux
* fixed launching UBA with PyQt5
* fixed opening video widget
* fixed an error message when media player is closed on Windows
* tested on Windows with Python 3.11.2 and PySide6
    We recommend Windows users to use PySide6 to get access to all UBA available features.

Changes in 33.97:
* Fixed playing gtts audio for PySide6 users

Changes in 33.96:
* Multiple fixes for Windows users:
    - fixed opening menu plugins that use simple browsers
    - fixed opening youtube browser
    - fixed handling restart
    - fixed playing gtts audio

Changes in 33.94, 33.95:
* Improved Youtube media download process
    Downloading YouTube media now does not block the main thread.

Changes in 33.93:
* Added a button to enable/disable media playlist looping
* Added a confirmation dialog to remind users for saving changes when they close ToDo menu plugin

Changes in 33.92:
* Improved opening video files

Changes in 33.91:
* Added a ToDo menu plugin

Changes in 33.90:
* Fixed launching UBA for PySide2 or PyQt5 users.

Changes in 33.89:
* Improved built-in media player, for examples:
    - added volume slider
    - added a button to turn off / off text synchronisation
    - improved playlist gui
    - added a video widget
    - added two "others" buttons on media launcher to open audio / video files
    - added a mute button
* Added config.useThirdPartyVLCplayer to use third-party vlc instead of built-in qt media player.
    Remarks: Third-party VLC does not support text synchronisation as the built-in player does.
* Removed "python-vlc" from uniquebible.installation as optional package.

Changes in 33.88:
* Added audio playlist gui

Changes in 33.87:
* Added speed adjustment button on toolbar
* Fixed opening video files

Changes in 33.86:
* Improved audio player ui

Changes in 33.85:
* Added support of text synchronisation with bible audio in gui mode.

Changes in 33.84:
* Initial support of Qt MediaPlayer

Changes in 33.83:
* Added codes for built-in audio player controls

Changes in 33.82:
* Fixed pytest

Changes in 33.81:
* Fixed opening youtube downloader browser and plugins that use built-in simple browser in PySide2 / PyQt5
* Tested QMediaPlayer

Changes in 33.80:
* Improved url validation in built-in simple browser
* Perform a google search when a link is failed to be loaded.

Changes in 33.79:
* added a missing icon to patch file

Changes in 33.78:
* Added context plugin "Louw-Nida Lexicon Gloss"
* Added language plugin "ml"

Changes in 33.77:
* Added support of file download in built-in web browsers
* Added instant highlight features in built-in simple web browser
* Added keyboard combo "Ctrl+F" to toggle instant highlight in simple web browser
* Added menu plugin "Google"

Changes in 33.76:
* Improved simple browser UI
* Added context plugins "Google", "YouTube", "YouTube Downloader"

Changes in 33.75:
* hide disabled menu plugins from material menu layout toolbar
* added Office 365 plugins
* fixed chatGPT plugin download

Changes in 33.74:
* Uploaded chatGPT menu plugin

Changes in 33.73:
* Added OpenAI ChatGPT menu plugin
* Support cookies in built-in mini browser

Changes in 33.72:
* Fixed theme when references are opened in new window

Changes in 33.71:
* Fixed main reference button update

Changes in 33.70:
* Fixed use of config.updateMainReferenceOnChangingTabs

Changes in 33.69:
* Fixed selection monitoring features

Changes in 33.68:
* Fixed display of audio indicators

Changes in 33.67:
* Fixed restart handler

Changes in 33.66:
* Added speed adjustment under Master Control > Media Player menu

Changes in 33.65:
* fixed displaying both sync action and single click action into different tabs.

Changes in 33.64:
* Removed underlining in overview and outline content

Changes in 33.63:
* Fixed copy action.

Changes in 33.62:
* Improved menu plugin 'Bible'

Changes in 33.61:
* upgrade gdown before using it.

Changes in 33.60:
* added a few command shortcuts to gui mode:
    e.g. run "KJV" to open KJV version directly.
    e.g. run "3:16" to change to verse 16 in chapter 3 of the same book.
    e.g. run "3:" to change to chapter 3 of the same book.
    e.g. run ":16" to change to verse 16 of the same book and same chapter.

Changes in 33.59:
* fixed use of config.updateDependenciesOnStartup

Changes in 33.58:
* added more sync options

Changes in 33.57:
* fixed missing startup folder

Changes in 33.56:
* Added various options of sync action with changes in main window bible selection.
* Integrated sync action with material menu layout.

Changes in 33.55:
* added outline::: command to display all subheadings of a bible book, e.g. OUTLINE:::Genesis
* integrated book outline feature in material menu layout

Changes in 33.54:
* fixed http-server startup

Changes in 33.53:
* fixed pytests

Changes in 33.52:
* support initial command argument in terminal mode

Changes in 33.51:
* fixed venv directory content when python version is updated
* added shortcut file to Linux desktop

Changes in 33.50:
* Reduced launch time.

Changes in 33.49:
* Added config.displayLoadingTime

Changes in 33.48:
* Show Main/Study Window loading time on status bar

Changes in 33.47:
* show start up time on status bar

Changes in 33.46:
* Simplified config utilities

Changes in 33.45:
* Fixed the issue that floatable instant view is opened outside screen boundaries.

Changes in 33.44:
* Workaround QtWebEngine display issues in Qt6
    It is observed that Qt6 library has a display issue.
    QtWebEngineView widgets inside tabs do not display content properly after html is loaded.
    Workaround is implemented.
* Removed config.fixLoadingContent and config.fixLoadingContentDelayTime

Changes in 33.43:
* fixed shortcut utilities

Changes in 33.42:
* floatable instant view is now enabled when main window instant view is closed and disabled when main window instant view is opened.
* fine tuned extra instant view moving behaviour
* removed config.extraInstantView
* added config.floatableInstantViewWidth and config.floatableInstantViewHeight
* save extra instant view window width and height after it is resized each time

Changes in 33.41:
* added config.extraInstantView; False by default; set to True to enable additional window for instant lookup display.

Changes in 33.40:
* Added menu plugins to system tray sub-menu.

Changes in 33.39:
* Added a menu plugin to open a bible directly on a new window.

Changes in 33.38:
* Fix api-server to retrieve book chapter with question mark in name

Changes in 33.37:
* Added a config flag 'compareOnStudyWindow', configurable via Config Flag Window.
    Turn it on to display bible comparison on Study Window instead on Main Window.

Changes in 33.36:
* Fixed book verse anchors

Changes in 33.35:
* Fixed commentary verse anchors

Changes in 33.34:
* terminal mode now accepts bible version entry

Changes in 33.33:
* Fix issue with jump to anchor

Changes in 33.32:
Tweaks for Linux / Chrome OS / Chrome OS Flex users:
* support fcitx5
    to enable fcitx5, turn on 'fcitx5' via Config Flag Window and restart UBA
    read fcitx5 setup at https://github.com/eliranwong/ChromeOSLinux/blob/main/input_method/fcitx.md
* support QT_QPA_PLATFORM options
    read https://github.com/eliranwong/UniqueBible/wiki/QT_QPA_PLATFORM

Changes in 33.31:
* Added support of libfcitx5platforminputcontextplugin

Changes in 33.30:
* Added book2number to api-server

Changes in 33.29:
* Added discourse to api-server

Changes in 33.28:
* Fix accessing Chinese commentaries in api-server

Changes in 33.27:
* Added searchtool to api-server

Changes in 33.26:
* Added morphology to api-server

Changes in 33.25:
* Added search to api-server

Changes in 33.24:
* Terminal mode built-in text editor:
    - support running go programming script, keyboard shortcut "escape+g"
    - fixed running system command prompt

Changes in 33.23:
* Fixed loading single bible version in terminal mode.

Changes in 33.22:
* Improved bible parallels in terminal mode.

Changes in 33.21:
* Added .toggleparallels command to terminal mode.

Changes in 33.20:
* Added UBA art text to terminal mode startup.
* Added .calculate command to terminal mode.

Changes in 33.19:
* Fixed loading bible comparison.

Changes in 33.18:
* Fixed .quit and .restart in terminal mode.

Changes in 33.17:
* Changed a command description.

Changes in 33.16:
* Fixed clipboard monitoring feature when there is no clipboard text.
* Simplified menu layout.

Changes in 33.15:
* Fixed cancel menu action

Changes in 33.14:
* Allow customisation of external links

Changes in 33.13:
* Fixed external links in customised maps.

Changes in 33.12:
* support opening customised maps on Android

Changes in 33.10, 33.11:
* Improve bible map featuers in terminal mode:
    - map::: command now accepts multiple references
    - cusomisation allows both location and reference entries

Changes in 33.09:
* Allow terminal mode users to both enter and search for commands in single prompt.

Changes in 33.08:
* Added .mp3 and .mp4 commands in terminal mode.

Changes in 33.07:
* Added LOCATIONS::: command keyword
Terminal mode:
* Improved system command prompt
* Added ".customisemaps" command for users to customise bible maps.
* Added ".distance" command to calculate distance between two locations.

Changes in 33.06:
* Fix startup of api-server

Changes in 33.05:
Terminal mode:
* Fixed open and edit book note
* Fixed saving bible note
* Replace all selection menu with radio dialog
* support use of config.doNotStop3rdPartyMediaPlayerOnExit

Changes in 33.04:
Terminal mode:
* Integrated searchable prompts and multiple bible selection menu.
* Improved 'open' menu features.
* Integrate ability to open and search the following tools into single commands:
    "promises", 
    "parallels", 
    "names", 
    "characters", 
    "locations", 
    "dictionaries", 
    "encyclopedia", 
    "topics",
    "thirdpartydictionaries",
    "lexicons", 

Changes in 33.03:
* Fixed downloading resources.

Changes in 33.02:
* Added various dialogs to terminal modes.
* Added searchable input and prompt to terminal mode:
    Users can either enter a valid option or search for valid options.
    This is currently applied to text-to-speech feature only, but will be applied to other features in coming updates.
* Added config.ttsDefaultLangauge4
* Fixed fresh installation iconButtonSize issue.
* Fixed aligning theme colors in all prompts.
* Fixed opening bible note in terminal mode.
* Fixed displaying NET bible with Strong's numbers in terminal mode.
* Fixed searching bible with book range specified.
* Changed command keyword SEARCH::: to COUNT::: and SEARCHALL::: to SEARCH:::

Changes in 33.01:
* Fixed displaying abbreviations in terminal mode.

Changes in 33.00:
* Added .wordnet command in terminal mode.

Changes in 32.99:
* updated a terminal plugin

Changes in 32.98:
* Added single verse display before or after chapter display in terminal mode.

Changes in 32.97:
* Added a word features menu to terminal mode.
* Added a few terminal mode commands.

Changes in 32.96:
* Support bold, italic and underline text display on terminal mode.
* Hebrew text in terminal mode are now bold for better reading.

Changes in 32.95:
* Implemented a simple ssh server to run UBA command prompt.

Changes in 32.94:
* Added ssh-server code for testing

Changes in 32.93:
* Align terminal mode prompt and text display color themes.

Changes in 32.92:
* Add more logging to Google drive backup
* Add Portable Python
- https://github.com/eliranwong/UniqueBible/wiki/Portable-Python

Changes in 32.91:
Terminal mode:
* Now support swapping color brightness, by pressing "escape+s"
* Two common set of key bindings are now shared across different prompts.
* prompt-toolkit is now a required denpency to run terminal mode.

Changes in 32.90:
* Fixed opening image on Android.

Changes in 32.89:
Terminal mode:
* fixed UBA startup when previous command was invalid.
* supports use of _htmlimage::: command to open image file.

Changes in 32.88:
* Added a simple cli file manager.

Changes in 32.87:
* Added traditional and simplified Chinese names to bible maps:
    When abbreviations is set to "TC" or "SC", running map::: command, e.g. map:::Act 15:1-18:1, displays Chinese location names on Google maps.
* Terminal mode text editor now have Markdown as default syntax highlighting when a filename is not specified or saved.

Changes in 32.86:
Terminal mode text-editor
* Added code to run text-editor on its own as a standalone app, run:
    > python3 text_editor.py
  to check options, run:
    > python3 text_editor.py -h
* Added extract text from documents of various format with key binding "escape+x"
* Now notify about unsaved changes.

Changes in 32.85:
* Fixed terminal text editor saving changes.

Changes in 32.84:
* Fixed opening terminal text editor help menu, by using "ctrl+t"

Changes in 32.83:
* Terminal text editor now supports running plugins:
    - written in python
    - stored plugins/text_editor/
* Four simple text editor plugins are created for examples:
    extract bible references from text selection.py
    sort lines.py
    change text selection to upper cases.py
    change text selection to lower cases.py

Changes in 32.82:
Terminal mode:
* Added support of running "ls" command in get file path prompt.
* Added syntax highlighting to terminal mode built-in text editor.
* Added ".editor" command to launch built-in text editor.
* Fixed text-editor to open file after users changed directories.

Changes in 32.81:
GUI mode:
* Fixed opening set config flag window
Terminal mode:
* Added built-in text editor, with key bindings:
    --------------------
    # Key bindings:

    # Essential
    ctrl+q quit
    ctrl+t show tips

    # Clipboard
    ctrl+c copy selected text
    ctrl+x cut selected text
    ctrl+v paste clipboard text

    # Editing
    ctrl+z undo
    escape+z redo

    ctrl+i insert TAB text, defined by config.terminalEditorTabText
    ctrl+u delete characters before cursor in the current line
    ctrl+k delete characters after cursor in the current line
    ctrl+h delete one character before cursor or selected text 
    ctrl+d delete one character after cursor

    # Searching
    ctrl+s I-search
    ctrl+r reverse I-search
    ctrl+f find and replace with regular expression

    # Text Selection
    ctrl+a select all
    escape+t translate selected text
    escape+s say selected text
    escape+f quick search UBA resources for selected text
    escape+o quick open UBA resources with selected text

    # File I/O
    ctrl+n new file
    ctrl+o open file
    ctrl+w write file [save]
    escape+w write file as [save as]

    # Scripts & Commands
    ctrl+p run as python script
    escape+p run text editor <u>p</u>lugins
    escape+m open UBA main menu
    escape+d run UBA default command
    escape+r run UBA commands
    escape+c run system concole commands

    # Navigation
    home go to current line starting position
    end go to current line ending position
    ctrl+j go to current line starting position
    ctrl+e go to current line ending position
    escape+j go to document starting position
    escape+e go to document line ending position
    ctrl+g go to a spcific line
    pageup go up number of lines, defined by config.terminalEditorScrollLineCount
    pagedown go down number of lines, defined by config.terminalEditorScrollLineCount
    ctrl+y same as pageup
    ctrl+b same as pagedown

    escape+1 go up 10 lines
    escape+2 go up 20 lines
    escape+3 go up 30 lines
    escape+4 go up 40 lines
    escape+5 go up 50 lines
    escape+6 go up 60 lines
    escape+7 go up 70 lines
    escape+8 go up 80 lines
    escape+9 go up 90 lines
    escape+0 go up 100 lines

    f1 go down 10 lines
    f2 go down 20 lines
    f3 go down 30 lines
    f4 go down 40 lines
    f5 go down 50 lines
    f6 go down 60 lines
    f7 go down 70 lines
    f8 go down 80 lines
    f9 go down 90 lines
    f10 go down 100 lines
    --------------------

Changes in 32.80:
* Improved running key-bindings in terminal mode.
* Added ".clear" command in terminal mode.

Changes in 32.79:
* Added files and directories to system command completer.

Changes in 32.78:
* Added system command completer to system command prompt.

Changes in 32.77:
* Fixed UBA startup in non-terminal mode.
* Added ".system" command under developer tool menu in terminal mode.

Changes in 32.76:
* Added system command prompt, so that users can use system commands without quiting UBA.
    run ".system" in terminal mode.

Changes in 32.75:
* Added .keys in terminal mode to display keyboard shortcuts.

Changes in 32.74:
* Support startup plugins to customise keyboard shortcuts in terminal mode.
* Added a how-to guide about it.

Changes in 32.73:
* Added customisation of keyboard shortcuts / key bindings to terminal mode main command session.
    Users may edit config.py
        terminal_ctrl_a ... terminal_ctrl_y

Changes in 32.72:
* unpack nltk data inside virtual environment directory.
    placing nltk data outside UBA folder causes errors in running UBA with USB stick.

Changes in 32.71:
* Separate disabled modules on different os.

Changes in 32.70:
* Support running a single copy of UBA with portable-python on both intel-cpu or M1-cpu devices.

Changes in 32.69:
* Add api-server
 - Wiki page: https://github.com/eliranwong/UniqueBible/wiki/Running-in-API-server-mode

Changes in 32.68:
* automatically created two bash scripts for run UBA with portable-python

Changes in 32.67:
* Added '.buildportablepython' to startup exception in terminal mode.

Changes in 32.66:
* support building copies of portable-python in terminal mode, by running:
    '.build portable python'
With this feature in place, users can run UBA on macOS and Linux without installing python.
It may be a good idea to place UniqueBibleApp in a portable storage device, e.g. USB stick, and run USB anywhere.

Changes in 32.65:
Changes made in terminal mode:
* Users can now customise "my menu":
    run '.changemymenu' to edit your favourite actions
    run '.my' to display 'my menu'
    remarks:
        'my menu' is displayed only when it is not empty.
        it is also displayed on the top of the main menu when users run '.menu'
        it is recommended that users change the default command to '.my' by running '.changedefaultcommand'
* Support use of "SIDEBYSIDE" command keyword if w3m is installed.
* Added two plugins:
    look up in wordnet
    display word forms
* Improved autocompletion of terminal commands
* Allow space entry in terminal commands, e.g. ".open bible" and ".openbible" are the same.
* Added clipbord monitoring feature.
    use '.toggleclipboardmonitor' command to toggle this feature.
* Added '.download' menu.
* Added '.downloadbibleaudio' to download bible audio.
* Youtube downloads now display status while downloading
* Highlight verse number in commentary content to indicator the verse users want to open.
* Added audio content notification
* Added live filter feature with '.filters' and '.editfilters' commands.
* Added three how-to files:
    download bible audio.md
    filter text content.md
    customise my menu.md

Changes in 32.64:
Terminal mode:
* Moved terminal plugins from "terminal_mode/plugins/" to "plugins/terminal/"
* Fixed open html file with Android Apps
* Fixed closing pie chart and bar chart on macOS
    previously closing pie chart or bar chart freezes the app.
* Added multine input support to ".exec" for developers to run python script when UBA is running.

Changes in 32.63:
Terminal mode:
* added plugins to generate pie chart and bar chart.
* reserved ".q" command to be an alias to ".quit" command.
* reserved ".z" command to be an alias to ".restart" command.

Changes in 32.62:
Terminal mode:
* Added both Google Translate and Watson Translator features
* Added multiline input to prompt for text-to-speech entry
* Added command shortcut default values
* Added ".quit" and ".restart" to main menu
* Added ".stopaudiosync" and "aliases" commands
* Added a startup plugin for command customisation
* Revised how-to files

Changes in 32.61:
* Fixed audio/bibles directory check for new install

Changes in 32.60:
* Added config.terminalUseMarvelDataPrivate

Changes in 32.59:
* Added config.terminal_cancel_action to customise the entry to cancel action in prompts
    default value is '.cancel'
* Added 26 command shortcuts, customisable via:
    config.terminal_dot_a
    config.terminal_dot_b
    config.terminal_dot_c
    ...
    config.terminal_dot_z
    (for example, in order to set up an alias '.l' to command '.latestbible', set config.terminal_dot_l = '.latestbible')
* Added ability to stop long audio from playing resulted from running .readsync, readsync:::, or termux-tts-speak command.
* Added a how-to guides "customise command shortcuts" and "stop audio".
* Added number validator to prompt entries where number entry is expected.

Changes in 32.58:
* Added config.terminalDisplayCommandOnMenu
* Fine-tuned terminal mode.

Changes in 32.57:
* Added config.terminalUseLighterCompleter, an option to use lighter completer, for use on slow devices.

Changes in 32.56:
* Implemented Asynchronous completion for command completion in terminal mode.

Changes in 32.55:
* Added further options in nested completer in come bible-related and commentary-related commands.
* Added .openbiblemodulenote in terminal mode.
* Fixed running _biblenote::: command in terminal mode.
* Fixed terminal plugins 'generate table ...'

Changes in 32.54:
Terminal mode:
* Implemented nested completer for command entry.
* Fixed opening '.open' menu
* Added '.opendata' under '.open' menu
* Added support of more standard UBA commands in terminal mode.
GUI mode (Qt interface):
* Added KJV verse references to command auto-completion.

Changes in 32.53:
Changes in terminal mode:
* Added 15 features under open menu:
    ".original", ".open365readingplan", ".openbibleaudio", ".opentopic", 
    ".openpromises", ".openparallels", ".opennames", ".opencharacters", 
    ".openlocations", ".openmaps", ".opentimelines", ".opendictionary", 
    ".openencyclopedia", ".openlexicon", ".openthirdpartydictionary"
* Added 6 features under toggle menu:
    ".toggleplainbiblechaptersubheadings", ".togglefavouriteverses", ".toggleversenumberdisplay", 
    ".toggleusernoteindicator", ".togglebiblenoteindicator", ".togglebiblelexicalentries"
* Added 15 features under change menu:
    ".changecurrentbible", ".changefavouritebible1", ".changefavouritebible2", 
    ".changefavouritebible3", ".changefavouriteoriginalbible", ".changedefaultcommentary", 
    ".changedefaultlexicon", ".changedefaultdictionary", ".changedefaultthirdpartydictionary", 
    ".changedefaultencyclopedia", ".changedefaultconcordance", ".changedefaultreferencebook", 
    ".changedefaultttslanguage1", ".changedefaultttslanguage2", ".changedefaultttslanguage3"
* Added two terminal mode plugins:
    generate reference table from copied text
    generate reference table from latest content
* Added download helper.
* Added a few other tools.

Changes in 32.52:
* Added 32 quick open options in terminal mode.

Changes in 32.51:
* Added the following config settings to customise prompt indicator and entry colours:
    config.terminalPromptIndicatorColor1
    config.terminalCommandEntryColor1
    config.terminalPromptIndicatorColor2
    config.terminalCommandEntryColor2

Changes in 32.49, 32.50:
Changes were made in terminal mode:
* Re-organised user-interactive menu.
* Added offline how-to guides
* Added plugins
* Added developer menu
* Added .gitstatus, .exec and .execfile commands for developers

Changes in 32.48:
* Added 404 to http-server if file not found

Changes in 32.47:
* added config.terminalDefaultCommand

Changes in 32.46:
* Added config.terminalDisplayBeginnerMessage

Changes in 32.45:
* Added config.terminalEnableTermuxAPIToast

Changes in 32.44:
* Fixed latest selection records in terminal mode.

Changes in 32.43:
* Improved help about installing text editor micro.

Changes in 32.42:
* Improved handling of text editors.
* Improved display of latest information.

Changes in 32.41:
Terminal mode:
* Added 20 quick search options.
* Added ".changebiblesearchmode", ".tts", ".ttscopiedtext", ".quicksearch", ".quicksearchcopiedtext" commands.
* Fixed using macOS built-in tts with ".tts", ".ttscopiedtext" commands.
* Redirect heavy html content to web version.

Changes in 32.40:
* Run bible search with latest search mode when entry is not a valid command.

Changes in 32.39:
* Removed colour codes from copied plain text.

Changes in 32.35-38:
* Added Google text-to-speech support on Android.

Changes in 32.34:
* Added two config flags to terminal mode, 'terminalStartHttpServerOnStartup' and 'terminalStopHttpServerOnExit'
* Initial support of using Android tts engine.

Changes in 32.33:
* Added ability to backup and restore notes in terminal running on Android via the following commands:
    ".backupnotes", ".backupjournals", ".restorenotes", ".restorejournals", ".restorelastnotes", ".restorelastjournals"

Changes in 32.31, 32.32:
changes made in terminal mode.
* Added ".web" command to open UBA web version.
* Added fingerprint authentication before users use ".changeconfig" command on Termux.
* Fixed last command record
* Fixed _website::: command

Changes in 32.29, 32.30:
Changes in terminal mode, when config.terminalEnableTermuxAPI is set to True:
* Support Android share text features
* Support _website::: command

Changes in 32.28:
* Initial support of Termux API in terminal mode.

Changes in 32.27:
* Added ".searchconcordance", ".starthttpserver", ".stophttpserver", ".openreferencebook" interactive features in terminal mode.

Changes in 32.26:
* Added "cmd:::" to terminal mode startup exception.

Changes in 32.24, 32.25:
* Added 6 more items to search menu in terminal mode.
* Added '.textract' command in terminal mode, to extract text from documents.
* Support youtube downloads in terminal mode.
* Optimised diplay of search result in terminal mode.
* Support 2 cli web browsers, w3m and lynx, in terminal mode via '.w3m' and '.lynx' commands.

Changes in 32.23:
* Added 6 items to search menu in terminal mode.

Changes in 32.22:
* Added note and journal commands to terminal mode.  To try, run '.note'.
* Added config.terminalAutoUpdate
* Changed config.enableTerminalPager to config.terminalEnablePager

Changes in 32.20, 32.21:
* support the following commands in terminal mode.
    openjournal::: searchjournal::: editjournal::: 
    openbooknote::: searchbooknote::: editbooknote:::
    openchapternote::: searchchapternote::: editchapternote:::
    openversenote::: searchversenote::: editversenote:::

Changes in 32.19:
* Added highlight to latest verse selection in compare view.
* Added '.searchbible', '.whatis', '.setconfig' commands in terminal mode.
* Added ability to edit 'config.py' with nano, vi or vim via '.nanoconfig', '.viconfig', '.vimconfig' commands in terminal mode.
* Improved "_setconfig:::" command.

Changes in 32.17, 32.18:
* Added ability to edit content with text editors 'nano', 'vi' or 'vim'
    run commands '.nano', '.vi', '.vim'
* Added ability to open new file in text editors 'nano', 'vi' or 'vim'
    run commands '.nanonew', '.vinew', '.vimnew'
* Added '.edit' menu and integrated it into '.menu'

Changes in 32.16:
* Added '.togglebiblecomparison' command to toggle bible comparison view in terminal mode.

Changes in 32.15:
* Support persistence of bible comparison view in terminal mode.
    - use of COMPARE::: command or choose multiple bible versions from .openbible menu enables bible comparison view.
    - use of BIBLE:::, TEXT:::, or STUDY::: commands or choose single bible version from .openbible menu disables bible comparison view.
    - when bible comparison view is enabled, runing a single bible reference, '[chapter_number]:', ':[verse_number]' or one of the following commands opens comparison view
        ".latestbible", ".backward", ".forward", ".l", ".b", ".f"

Changes in 32.14:
Terminal mode:
* Added multiple user-interactive menu.
* Orgnised all terminal mode commands under a single command '.menu'.

Changes in 32.13:
* Fixed import statements

Changes in 32.12:
Terminal mode:
* Added user interaction menu to open bibles, run '.openbible'.
* Relocated command history file

Changes in 32.11:
Terminal mode:
* Added a '.swap' command to open the next favourite bible.
* Added an alias '.s' to run '.swap' command.
* Fixed restart UBA after changing colours

Changes in 32.09, 32.10:
Changes in terminal mode:
* Added config.terminalHeadingTextColor, config.terminalVerseSelectionBackground and config.terminalVerseSelectionForeground to customise text colours.
* Created shortcuts for changing chapter, verse or both for bible reading:
    e.g. run "3:16" to change to verse 16 in chapter 3 of the same book.
    e.g. run "3:" to change to chapter 3 of the same book.
    e.g. run ":16" to change to verse 16 of the same book and same chapter.
* Added READSYNC::: command to sync bible text disply with audio playing.
    Run 'READSYNC:::' for more information.
* Added '.forward' and '.backward' commands to open one bible chapter forward and backward.
* Added '.f' and '.b' commands as aliases to '.forward' and '.backward' commands.
* Added colour customisation user interaction menu.
    Run '.changecolors' to take a look.
    Remarks: colour customisation mainly applies to text highlights.
    For general change in terminal background and text colours, change from individual terminal settings.
    For example, Android Termux users may install Termux:Styling [https://github.com/termux/termux-styling] to choose a theme colour from numerous options, 
        e.g. Try "Google Dark" with Termux:Styling, combined with the following settings.
            terminalHeadingTextColor = 'GREEN'
            terminalVerseNumberColor = 'YELLOW'
            terminalResourceLinkColor = 'YELLOW'
            terminalVerseSelectionBackground = 'MAGENTA'
            terminalVerseSelectionForeground = 'RESET'
            terminalSearchHighlightBackground = 'BLUE'
            terminalSearchHighlightForeground = 'RESET'
            terminalFindHighlightBackground = 'RED'
            terminalFindHighlightForeground = 'RESET'

Changes in 32.08:
* Add colour customisation in terminal mode, currently 6 options:
    config.terminalVerseNumberColor
    config.terminalResourceLinkColor
    config.terminalSearchHighlightBackground
    config.terminalSearchHighlightForeground
    config.terminalFindHighlightBackground
    config.terminalFindHighlightForeground

Changes in 32.07:
* Fixed setup import issues.

Changes in 32.06:
* Added support of using Windows VLC to play bible audio.

Changes in 32.05:
Mulitple changes in terminal mode.
* Improved initial text display
* Organised .dot commands.
* Added .readsync command to sync text display with audio playback.
* Added .show* commands and a few alias commands.
* Fixed ability to stop espeak on Linux.

Changes in 32.04:
* Improved handling of startup display.
* Added ability to stop espeak on Linux.

Changes in 32.03:
* Automatically restart terminal mode after a config value is changed via _setconfig command.
* Improved update prompt in terminal mode.

Changes in 32.02:
* Added update utility to terminal mode.

Changes in 32.00, 32.01:
* Terminal mode command session history is saved in myhistory.
* Added auto-suggestion from history records in terminal mode.
* Added a .history command in terminal mode.
* Added a bottom toolbar in terminal mode.

Changes in 31.99:
* Added diff::: command output in terminal mode.
* Added yue as an alias voice to Cantonese for running espeak.

Changes in 31.97, 31.98:
* Improved command parser to support terminal mode better.
* Fixed DAY:::, DAYAUDIO::: commands.

Changes in 31.96:
* Fixed issue with DOWNLOAD:::GitHubBible.

Changes in 31.95:
* Added .find command to terminal mode.

Changes in 31.94:
* Added .share, .copy, .copyhtml commands to terminal mode.

Changes in 31.93:
Multiple improvements in terminal mode.
* Fixed running readchapter:::, study::: command.
* Added support of text coloring in terminal mode.
* Added muliple dot command. For description, run .dotcommands.
* Support running clipboard text as command, via .paste command.
* Support paging of long text.

Changes in 31.92:
* Terminal mode now supports startup plugins.

Changes in 31.91:
* Support setting vlc playback speed, via config.vlcSpeed, e.g. run the following line to change the playback rate to 2.0:
    _setconfig:::vlcSpeed:::2.0

Changes in 31.90:
* Added command keyword autocompletion in terminal mode.
* Added command keyword _whatis::: to display brief description about a command keyword, e.g. _whatis:::BIBLE

Changes in 31.89:
* Added support of read::: command in terminal mode.
* Support readline in terminal mode.

Changes in 31.87, 31.88:
* Attempt terminal mode if Qt library is not installed.

Changes in 31.86:
* Fixed UBA startup without an argument.

Changes in 31.83, 31.84, 31.85:
* Added terminal mode.
    Users can now run in terminal, python3 uba.py terminal
    Wiki page: https://github.com/eliranwong/UniqueBible/wiki/Terminal-Mode

Changes in 31.82:
* Day:::, DayAudio:::, and DayAudioPlus::: commands can now specify bible versions.

Changes in 31.81:
* Added two command keywords, dayaudio::: and dayaudioplus:::
* Added Reading Plan to http-server side navigation menu.

Changes in 31.80:
* Added a command keyword DAY:::, to display 365 Day Bible Reading Content
* Fixed the issue that multiple verse display was scrolled to the last verse.

Changes in 31.79:
* Added Others section in http-server library menu, to display available data lists.

Changes in 31.78:
* Added a command keyword DATA:::, to display data lists, available in menu plugin Bible Data, into a table.

Changes in 31.77:
* Added interface to open a bible map on http-server display.
* Changed http-server commands:
    '.maps' now opens bible map reference entry page
    '.locations' opens bible locations menu page
* Fixed running map::: command via http-server.
* Fixed loading Exhaustive Library of Bible Locations articles via http-server.
* Fixed http-server restart issue caused by failure in saving config value.

Changes in 31.76:
* Added enableHttpRemoteErrorRedirection config flag

Changes in 31.75:
* Added map::: command to dispaly a google map with pinned locations.
    e.g. MAP:::Acts 15:36-18:22

Changes in 31.74:
* Added _comparison::: command to open bible comparison menu.
    Http-server users can enter either _comparison::: or .comparison in command entry.

Changes in 31.73:
* Support vnc display.
    To use UBA with VNC display, users need to manually add a file named use_vnc in UBA home folder.

Changes in 31.72:
* Support running without sandbox

Changes in 31.71:
* Fixed running UBA when optional package 'textract' is not installed.

Changes in 31.70:
* Added support of using installed system site packages.
    To enable this feature, users need to manually add a file named use_system_site_packages in UBA home folder, BEFORE the first run or BEFORE setting up venv folder.

Changes in 31.69:
* Fixed running UBA without Qt library.

Changes in 31.68:
* Integrated Google Earth links into plugin Bible Locations.
    Google Earth links are labeled as [3D], on information window when a location pin is clicked.

Changes in 31.67:
* Set databaseConvertedOnStartup to True for new installations.

Changes in 31.66:
* Allow colors to be independently customized for layout/themes.

Changes in 31.65:
* Fixed read word in http mode.

Changes in 31.64:
* Removed saved message dialog when worspace does autosaving.

Changes in 31.63:
* Added Windows icon file UniqueBibleApp.ico.

Changes in 31.62:
* Fixed import MyBible RSV with Apocrypha.

Changes in 31.61:
* Fixed startup when config is missing.

Changes in 31.60:
* Added ability to use Github personal access token.
- https://github.com/eliranwong/UniqueBible/wiki/GitHub-Personal-Access-Token

Changes in 31.59:
* Support use of unicode in plugins.

Changes in 31.58:
* Fixed bible reference link hover.

Changes in 31.57:
* Fixed saving html file from popover window.

Changes in 31.56:
* Added limitWorkspaceFilenameLength config flag.

Changes in 31.55:
* Updated the icon for resizing Study Window in material menu.

Changes in 31.54:
* Fixed loading the first module in Bible Parallels and Promises.

Changes in 31.53:
* Fixed displaying book content.

Changes in 31.52:
* Added a Display on Study Window button on note editor.
* Added tab title and tooltip for a Google map to be displayed on Study Window.

Changes in 31.51:
* Fixed Google Drive backup issue.

Changes in 31.50:
* Updated material menu:
    - Relocated buttons
    - Changed and added some icons
    - Group bible tool buttons together
* Added Edit and Others buttons to Master Control Library 2 tab Notes session.

Changes in 31.49:
* Added built-in map browser in menu plugin Bible Locations.
* Added a splitter to menu plugin Bible Locations, so that users can maximise the map view by moving the splitter.
* Fixed loading Google map from Study Window to full screen.
* Enhanced integration of several more newly created menu plugins.

Changes in 31.48:
* Enhanced integration of newly created menu plugins.

Changes in 31.47:
* Enhanced effectiveness of sending html to workspace.

Changes in 31.46:
* Deleted Notes backup/restore plugin.

Changes in 31.45:
* Added Google Drive backup/restore plugin.
- https://github.com/eliranwong/UniqueBible/wiki/Backup-with-Google-Drive

Changes in 31.44:
* Added a menu plugin Bible Commentaries.
* Integrated menu plugin into material menu.

Changes in 31.43:
* Disabled call to activateWindow for Linux Wayland.
* Added databaseConvertedOnStartup config flag.
* Added staticmethod in NoteService.

Changes in 31.42:
* Apply startup plugins to WebEngineViewPopover content.

Changes in 31.41:
* Enhanced image viewer.
    - Added Previous and Next buttons.
    - It now accepts initialScrollIndex.

Changes in 31.40:
* Improved menu plugin Bible Timelines, to make it launch with a timeline related to the currently opened book.

Changes in 31.39:
* Added menu plugin Bible Lexicons.
* Added config.parallels and config.promises.
* Added ability in the following plugins, to load and save related configurations:
    - Bible Topics
    - Bible promises
    - Bible Parallels
    - Bible Lexicons
    - Bible Encyclopedia
    - Bible Dictionaries
    - Third Party Dictionaries
    - Reference Books
* Added Previous Chapter and Next Chapter buttons to menu plugin Reference Books.
* Added support of using built-in image viewer with open::: command.

Changes in 31.38:
* Added refreshWindowsAfterSavingNote config flag.

Changes in 31.37:
* Added Bible Names to Bible Data.

Changes in 31.36:
* Hide close option of content view in some menu plugins.

Changes in 31.35:
* Added new menu plugins:
    - Bible Encyclopedia
    - Bible Dictionaries
    - Third Party Dictionaries
    - Reference Books
* Integrated new plugins into material menu.
* Updated Bible Topics

Changes in 31.34:
* Added menu plugin Bible Topics
* Updated menu plugin Bible Parallels
* Integrated menu plugin Bible Topics into material menu.

Changes in 31.33:
* Trigger download helper to download missing but required database files for certain menu plugins when the plugins are launched.
* Added menu plugins:
    - Bible Parallels
    - Bible promises
* updated menu plugins:
    - Bible Characters
    - Bible Locations
    - Bible Timelines
* Integrated new plugins into material menu.

Changes in 31.32:
* Fixed passing pytest.

Changes in 31.31:
* Added an image viewer for opening image files.
* Added a menu plugin Bible Timelines.
    Wiki: https://github.com/eliranwong/UniqueBible/wiki/Bible-Timelines
* Integrated Bible Timelines into material menu.

Changes in 31.30:
* Added debugging to Google Drives Notes Backup.

Changes in 31.29:
* Added ability to disable installing optional modules.

Changes in 31.28:
* Added Notes view to Master Control Library2 tab.

Changes in 31.27:
Material menu layout:
* Added Bible Tools menu button.
* Changed Bible Data icon.

Changes in 31.26:
Added 3 more datasets to Bible Data:
* Study Notes - The Servant King
* Kings of Judah
* Kings of Israel

Changes in 31.25:
* Added Paul Chronology to Bible Data.

Changes in 31.24:
* Added a menu plugin Bible Data, read:
    https://github.com/eliranwong/UniqueBible/wiki/Bible-Data
* Material menu layout:
    - Added a Bible Data button on the top toolbar.
    - Relocated Journal and Bible Reading Plan button from first top toolbar to second top toolbar.

Changes in 31.23:
* Added a gui for command prompt.

Changes in 31.22:
* Added support for post_parse_bible in PluginEventHandler.

Changes in 31.21:
* Added a menu plugin Bible Characters.
    Read https://github.com/eliranwong/UniqueBible/wiki/Bible-Characters
* Integrated Bible Characters to material menu.
* Relocated Interlinear Data from top toolbar to right toolbar.

Changes in 31.20:
* Uploaded two database files about bible people for potential development.

Changes in 31.19:
* Fixed references to BibleBooks().eng

Changes in 31.18:
* Fixed loading Song_of_Songs and Acts_of_Apostles mp3 files.

Changes in 31.17:
* Fixed downloading BHS5 and OGNT mp3 audio files.

Changes in 31.16:
* Added a graphical interface for users to enter Google API key
    Read https://github.com/eliranwong/UniqueBible/wiki/Google-API-Key

Changes in 31.15:
* Added indexes2.sqlite for initial download.
* Reload tab page when tab is changed only when config.fixLoadingContent is set to True.

Changes in 31.14:
* Added menu plugin Bible Locations, read the following wiki page:
    https://github.com/eliranwong/UniqueBible/wiki/Bible-Locations

Changes in 31.13:
* Fixed addIpToBlackList.

Changes in 31.12:
* Changed whitelist logic, blacklist IP that returns a 404.

Changes in 31.11:
* Added plugin event handler
- https://github.com/eliranwong/UniqueBible/wiki/Plugin-Event-Handler

Changes in 31.10:
* Fixed issue when loading .biblebooks file.

Changes in 31.09:
* Added plugins/language folder.

Changes in 31.08:
* Added sc.biblebooks and tc.biblebooks to plugins/language.

Changes in 31.07:
* Added support for custom Bible abbreviations.
- Download from Resources/Add/GitHub Bible Abbreviations

Changes in 31.06:
* Added some code to harden http-server.

Changes in 31.05:
* Fixed http-server startup issue.

Changes in 31.04:
* Fixed display of Hebrew and Greek word audio links.

Changes in 31.03:
* Added bible passages to tooltip in 365-day bible reading plan.

Changes in 31.02:
* Renamed menu plugin Bible Reading Plan to Journal and Bible Reading Plan.
* Added features to Journal and Bible Reading Plan:
    - added a column to disply a list of journal according to the month shown on calendar.
    - added ability to search journal.
    - added ability to quickly select today by clicking the label showing today's information.
    - added display of Jewish dates.
    - added information about Jewish festivals.
* Added a wiki page about the plugin:
    https://github.com/eliranwong/UniqueBible/wiki/Journal-and-Bible-Reading-Plan

Changes in 31.01:
* Integrated a Calendar into menu plugin Bible Reading Plan.
* Integrated journal features into menu plugin Bible Reading Plan.
* Added support of editing journal with UBA note editor.
* Fixed saving notes.

Changes in 31.00:
* Reload Bible Window and Study Window after bible notes are saved.
* Fixed note saving errors, which were recently introduced after switching to apsw for handling sqlite database files.
    A note to UBA developers - apsw implements autocomit.  Therefore, running cursor.execute(COMMIT) causes errors.

Changes in 30.99:
* Improved highlight of the hovered word in marvel bibles.

Changes in 30.98:
* Added showing instant information when a mouse is hovered on a single string tagged with multiple Strong's numbers.
* Added config.mutualHighlightMultipleStrongNumber:
        # This value controls how UBA handles mutual highlighting of single string tagged with multiple Strong's numbers.
        # This value applies when Strong's number bibles are opened with Lexical entries not being displayed.
        # 0 - String is highlighted when one of the Strong's numbers tagged for the string is triggered.
        # 1 - String is highlighted only when the first Strong's number tagged for the string is triggered.
        # 2 - String is highlighted only when the last Strong's number tagged for the string is triggered.

Changes in 30.97:
* Added support of mutual highlights to Strong's number bible modules.

Changes in 30.96:
* Fixed analytical lexicon links for lookup of Hebrew word.

Changes in 30.95:
* Added config.fixLoadingContentDelayTime for developers to do testing.

Changes in 30.94:
* Fixed startup scrolling issue when config.populateTabsOnStartup is set to True.

Changes in 30.93:
* Removed duplicated display of book range in search statement.

Changes in 30.92:
* Improved speed of searching bible with regular expression.
* Added support of case sensitivity for searching resources other than bibles.
* Added config.enableCaseSensitiveSearch to enable case-sensitive search when it is set to True.
    config.enableCaseSensitiveSearch define case sensitivity for searching of all resources.
* Added option enableCaseSensitiveSearch in Set Config Flags window.
* Added a Case-sensitive checkbox in Master Search tab.
    The checkbox is placed, right next to the search entry field.
    The checkbox offers a quick way to toggle config.enableCaseSensitiveSearch.
* Removed config.regexCaseSensitive, which is now replaced by config.enableCaseSensitiveSearch for a wider purpose.
* Removed individual favourite bible buttons from Master Control search tab.
    Users can use bible collections instead.

Changes in 30.91:
* Switching from sqlite3 to apsw to increase speed.

Changes in 30.90:
* Fixed enabling both config.updateMainReferenceOnChangingTabs and config.openBibleWindowContentOnNextTab.

Changes in 30.88, 30.89:
* Fixed two tool buttons

Changes in 30.87:
* Fixed macro defect
* Fixed sync study window button

Changes in 30.86:
* Fixed switching between main window and workspace on some Linux versions.

Changes in 30.85:
* Support nested if command in macros

Changes in 30.84:
* Optimised the use of config.fixLoadingContent.

Changes in 30.83:
* Added support for macros to use values from clipboard or selected text

Changes in 30.82:
* Add Bible indexing to speed up concordance
- Download the Bible index files from Resources/Add/GitHub Bibles Index

Changes in 30.80, 30.81:
* Notify users about workspace auto-saving via Workspace status bar message.
* Notify users about workspace text editor auto-saving via text editor status bar message.

Changes in 30.79:
* Added ability to add Interlinear data to Workspace.

Changes in 30.78:
* Optimised Workspace auto-saving when changes in sub-window activation were made.
* Fixed path error when saving Workspace.
* Fixed error message came with running readverse::: readlexeme::: and readword::: commands.

Changes in 30.77:
* Automate Workspace auto-saving when window activation is changed.
* Automate Workspace editor auto-saving changes.
* Added a shortcut to parse and open references.  Micron shortcut uses Ctrl+E for that.
* Changed a few Micron shortcuts.

Changes in 30.76:
* Added text command autocompletion to Master Control and mini Control command fields.

Changes in 30.75:
* Add autocompletion to text command input in material layout

Changes in 30.74:
* Added support to open markdown file (*.md) in Workspace.
* Added Open in Reader button on Workspace text editor toolbar.
* Added Open in Editor option on Workspace reader context menu.
* Set cursor focus when editor is added to workspace.

Changes in 30.73:
* Added two buttons on Workspace:
    - Refresh: Reload all windows according to saving order.
    - Create Reference Book from Workspace: Create a UBA reference book. 
        Users can locate or open the created book via Master Control > Library 1 tab.
* Fixed Workspace reader saving content before reloading.
* Revised wiki page:
    https://github.com/eliranwong/UniqueBible/wiki/Workspace

Changes in 30.72:
* Fixed launching Charts and Table

Changes in 30.71:
* Multiple Workspace features are added:
    - search for and highlight word(s) in all sub-windows
    - add text selection for viewing or editing
    - add clipbaord text via system tray
    - open documents in Workspace reader or editor
        supported formats: txt, uba, csv, doc, docx, eml, epub, gif, jpg, jpeg, json, html, htm, mp3, msg, odt, ogg, pdf, png, pptx, ps, rtf, tiff, tif, wav, xlsx, xls
    - insert images into Workspace reader or editor
    - auto saving feature
    - auto loading workspace content when UBA is launched
    - loading workspace from different directories
    - saving workspace into different directories
    - Workspace saving order configurable via Material menu 
        UniqueBible > Other Preferences > Select Workspace Saving Order
    - a button to show Main Window
    - launch Workspace via System Tray
    - ability to change Workspace sub-window titles
        on editor, use toolbar button Change Window Title
        on reader, use right-click context menu Change Window Title
    - Clear All button to remove all Workspace windows
    - a help button to open the wiki page about Workspace
    - Workspace mini text editor interface:
        Change Window Title button
        Save as button
        Swap button, to swap between plain text and html Format
        search field

Changes in 30.70:
* Added ability to add table, charts and popover content to Workspace.

Changes in 30.69:
* Added Display Content in > Note Editor feature on context menu.
* Added Workspace window to which users can add multiple Content
    The added content can be either read-only or editable.
* Added a toggle button on Material menu second top toolbar to toggle the Workspace window.
* Added buttons on both the right and left toolbars [Material menu layout only] to quickly add content to workspace for viewing or editing.
* Removed PDF and Word Document export buttons from the left and right toolbars.
    File export features are accessible through menu or context menu.
* Added a wiki page about the newly added Workspace:
    https://github.com/eliranwong/UniqueBible/wiki/Workspace

Changes in 30.67, 30.68
* Changes shortcuts for opening or saving Note Editor file.
* Enable config.doNotDockNoteEditorByDragging to work even config.dockNoteEditorOnStartup is set to False.

Changes in 30.66
* Improved context plugin Charts and Table with use of stack widget, which makes switching between charts and table easier.
* Make changes in WebEngineViewPopover.py so that context plugin can easily use it.

Changes in 30.65
* Fixed untranslated buttons in master control search

Changes in 30.64:
* Fixed displaying Note Editor when edit note button is clicked twice.
* Added config.doNotDockNoteEditorByDragging, configurable via Set Config Flags window.
    When it is set to True, Note Editor does not dock around main window by dragging.

Changes in 30.63:
* Changed a config option name from dockNoteEditor to dockNoteEditorOnStartupOnStartup
    - Note Editor can be docked around the main window whether config.dockNoteEditorOnStartupOnStartup is set to True or False.
    - The only difference is that Note Editor launches with a docked position when config.dockNoteEditorOnStartupOnStartup is set to True.
    - In contrast, Note Editor launches as a floating window when config.dockNoteEditorOnStartupOnStartup is set to False.

Changes in 30.62:
* Updated tooltips of two buttons about Note Editor.

Changes in 30.61:
* Added config.dockNoteEditor, to enable Note Editor both to dock around the main window and undock from it.
    - It is set to True by default.
    - Configurable via Config Flags Window.
* Note Editor is now dockable:
    - When Note Editor is first opened, it is docked on the right side of the main window.
    - The Note Editor can be undocked from the main window by dragging the Note Editor menu bar out of the main window.
    - The docking position of the Note Editor can also be changed to the left, top, right or bottom of the main window by dragging.
* Changed the toolbar Note Editor button to toggle Note Editor instead of opening new note.
* Added two buttons on second top tool bar on Material menu layout.
    - To extract bible references from text selection and insert into Note Editor.
    - To insert selected text into Note Editor.
* Fixed context plugins Insert References into Note Editor and Insert Text into Note Editor_Ctrl+Shift+J about text insertion when note editor is already opened.

Changes in 30.60:
* Improved context plugin Charts and Table:
    When selected text contains bible references from more than one book, the plugins generates charts and a table to compare occurrence in books.
    When selected text contains references of a single book only, the plugin generates charts and table to compare occurrence in chapters instead.
* Added an icon button on material menu toolbar to provide quick access of Charts and Table feature.
    Clicking this newly added button to generate charts and table based on text in the following priority:
    1) Text selection in the Bible Window
    2) Text selection in the Study Window
    3) Text content in the Study Window
* Improved Interlinear Data and Search English Bible buttons to work with text selection detection.

Changes in 30.59:
* Fixed displaying bible reference pie chart and bar chart on macOS.
    - If PySide6 is used, UBA uses QChart to display pie chart and bar chart.
    - Otherwise, UBA uses HTML to display pie chart and bar chart.
* Fixed downloading Selection Monitoring icon.

Changes in 30.58:
* Added more styles to QToolButton.

Changes in 30.57:
* Improved Text Selection Monitoring.

Changes in 30.55, 30.56:
* Fixed button icons on Windows.
* Adjusted button icon size.

Changes in 30.53, 30.54:
* Added support of changing buttons icon when they are hovered or pressed.

Changes in 30.52:
* Changed default value of config.displayChapterMenuTogetherWithBibleChapter to False.
    It does not afffect current users.

Changes in 30.51:
* Fixed radio button selection on Master Search Tab.
* Added styles to Checkable Buttons, e.g. Text Selection Monitoring button, when they are pressed.
* Save config.liveFilterBookFilter, config.bibleSearchRange, and config.customBooksRangeSearch when UBA quits.
    - They preseves book filter and search range settings for Master Search tab and Live Filter Dialog.

Changes in 30.50:
* Integrated Hitchcock's Bible Names Dictionary into Text Selection Monitorning feature.
    When Text Selection Monitoring is turned on, UBA searches Hitchcock's Bible Names Dictionary first for meaning if the selected text is a bible name.
    If the selected text does not match an entry in Hitchcock's Bible Names Dictionary, UBA then searches English WordNet database for a definition.
    To try this feature, you may open Matthew chapter one, select some names and check their meanings displayed on the bottom window.

Changes in 30.49:
* Added Selection Monitoring, when enabled word definition is diplayed in the bottom window.
* Fixed quit application with system tray.
* Fixed Live Filter book filter include favourite version in multi-verse fetching.
* Relocated book filter row, which is now placed above text filter items.
    - With this change, add, edit buttons are placed right below text filter items.
* Master Control Search Tab:
    - Added tooltip about example of using custom book filter.
    - Relocated book filter row inside bible serach bible.
* Copy feature in Search Bible for English Word Forms now uses | as separator, so that users can use copied items directly in Live Filter dialog.

Changes in 30.47, 30.48:
* Added book filters in Live Filter dialog.
* Changed the abc button tooltip to Search English Bible.
* Renamed a context plugin filename.

Changes in 30.46:
* Added config flat updateDependenciesOnStartup. configurable via Set Config Flags window.
* When config.updateDependenciesOnStartup is set to True, UBA updates all dependency packages on startup.

Changes in 30.45:
* Added context plugin Search Bible for English Word Forms
* The abc button on the scond top toolbar now opens Search Bible for English Word Forms plugin instead of English Dictionaries.
* Users can still use Ctrl+Shift+D keyboard combo to quickly open English Dictionaries.
* Try, for example, higlight believe in John 3:16 and open the plugin.

Changes in 30.44:
* Changed system tray message title from UBA to Unique Bible App.

Changes in 30.43:
* Added links to System Tray wiki and Clipboard Monitoring wiki.
* Added ability to show UBA main window on macOS by clicking the dock icon after the main window is closed.

Changes in 30.42:
* Tweaked clipboard monitoring on macOS.
    Fixed showing system tray message on macOS.
    Show main UBA interface if no bible reference is detected and the UBA dock icon is clicked.
* Created a wiki page https://github.com/eliranwong/UniqueBible/wiki/Monitor-Clipboard-Text-Bible-References

Changes in 30.41:
* Added Clipboard Monitoring feature to automatically detect bible references in clipboard text and open them.
    On Windows, copying a bible reference launches UBA opens the reference directly.
    On macOS, after copying a bible reference, users need to click or activate the UBA dock icon to launch UBA and open the reference.
* Added config.enableClipboardMonitoring to toggle Clipboard Monitoring feature.
    Configurable via System tray menu or Material menu layout menu.

Changes in 30.40:
* Added User Custom Repos
- https://github.com/eliranwong/UniqueBible/wiki/User-Custom-Repos

Changes in 30.39:
* Fixed display favouriteBible bible version in fetching multiple verses.

Changes in 30.38:
* Fixed running which command on Windows.
* Disable system tray on webtop version.

Changes in 30.37:
* Fixed Windows shortcut *.bat file.
* Added support to restart UBA on Windows with use of the created UniqueBibleApp.bat.
* AudioConverter is now installed only when UBA is running on macOS.

Changes in 30.36:
* Changed default menu layout to Material.

Changes in 30.35:
* Toggle fullscreen between fullscreen and maximised window instead of normal window.

Changes in 30.33, 30.34:
* Added config.displayChapterMenuTogetherWithBibleChapter to toggle Display chapter menu above and below bible chapter
* Configurable via material menu layout.

Changes in 30.32:
* Prompt text entry if clipboard text is empty for running system tray features.
* Added Run Clipboard Text-to-speech to system tray.

Changes in 30.31:
* Shows main window before running context plugins on clipboard content.

Changes in 30.30:
* Added support of using context plugins with system tray to run featues on clipboard text.
* System tray Search Other Resources now does not require clipboard content.
* Fixed downloading the icon for Bible Collections on material menu layout top toolbar.
* Changed shortcuts for a few context plugins.

Changes in 30.29:
* Minor update - changed a dialog title.

Changes in 30.28:
* System tray enhancement:
    - Added search section to search for clipboard text in the bible and other resources.
    - Added config.enableSystemTrayOnLinux for Linux uses to enable system tray.
        System tray is enabled by default on Windows and macOS.
        System tray is not enabled by default on Linux, as not all Linux desktops support system tray.
        Linux users can enable UBA system tray manually via Set Config Flags Window.
    - Bring UBA window to the front when main window is called.
* Fixed downloading UBA icons.

Changes in 30.27:
* Fixed startup issues on macOS, caused by command vlc kill.

Changes in 30.26:
* Added system tray for macOS and Windows users.
* Added customisation of application icons, configurable via material menu.
* Added features to read clipboard content with default text-to-speech voice, and open bible references on clipboard.
* Fixed bash script shortcut.
* Fixed webtop version startup issue.

Changes in 30.25:
* Added support of three text-to-speech buttons on second top toolbar.
    For material menu layout users only:
    Users can set up three buttons for three different voices of their own choices, e.g. English, Hebrew & Greek.
    Read https://github.com/eliranwong/UniqueBible/wiki/Text-to-Speech#select-second-and-third-text-to-speech-voices
* Added config.doNotStop3rdPartyMediaPlayerOnExit so users can use third party VLC player to listen to bible audio even UBA is closed.
* Added shortcut support of popover window.
* Added shortcut display to menu plugins where applicable.
* Fixed launching Presentation from popover window.

Changes in 30.24:
* Update instant text-to-speech button tooltip when default text-to-speech voice is changed.

Changes in 30.23:
* Added config.macOSttsSpeed to define speaking rate of macOS built-in text-to-speech feature.
* Added GUI support for chaning macOS built-in text-to-speech speaking rate via Master Control Miscellaneous tab.

Changes in 30.22:
* Fixed reading Greek text with Apple macOS builtin text-to-speech engine.

Changes in 30.21:
* Added ability to export *.aiff and *.mp3 with text-to-speech features on macOS.
    - Remarks: *.mp3 export with macOS tts is only available if users have ffmpeg package installed.
    - Users may use home brew (https://brew.sh) to install ffmpeg by running:
        brew install ffmpeg
    - A wiki page is created about macOS built-in tts feature at: 
        https://github.com/eliranwong/UniqueBible/wiki/Use-Apple-macOS-Built-in-Text-to-speech
* Added support to stop built-in macOS text-to-speech playing.
    If micron shortcut is used, Cmd+Shift+Z applies to stop media playing.
* Fixed instant text-to-speech feature for using offline tts engine.
* Fixed empty bible window issue with non-material menu layout.
* Fixed stop playing audio features.

Changes in 30.20:
* Added direct support of macOS text-to-speech engine.
    We will write a wiki about adding additional voices.
* Fixed checkable combo box display issues on macOS with PySide6.
* Reduced Master Control Width.
* Added tooltips in Master Ccontrol Search Tab drop down menu.
* Changed default value of config.updateMainReferenceOnChangingTabs to False.

Changes in 30.19:
* Changed micron shortcut to stop media player from playing, to avoid conflict with the built-in shortcut combo Ctrl+Shift+Q on macOS.
    Changed from Ctrl+Shift+Q to Ctrl+Shift+Z

Changes in 30.18:
* Added config.updateMainReferenceOnChangingTabs to enable / disable updating main reference buttons when Bible Window tabs are changed.
* Added a wiki page on how to create an application shortcut on macOS:
    https://github.com/eliranwong/UniqueBible/wiki/Create-an-Executable-Shortcut-on-macOS

Changes in 30.17:
* Added ability to stop third-party VLC player from playing before launching another audio featuers on macOS.
* Added support of using third-party VLC player on macOS to play audio with READVERSE::: READWORD::: and READLEXEME::: commands.
* Integrated config.forceUseBuiltinMediaPlayer into various audio featuers.
* Changed note editor text utility icon.
* Master Control Miscellaneous tab now does not display speed adjustment slider when the chosen TTS engine does not support speed adjustment.

Changes in 30.16:
* Changed single version button appearance on material menu layout when control preference is set to mini.
* Added the following config flags to Set Config Flag window:
    forceUseBuiltinMediaPlayer
    usePySide2onWebtop
    usePySide6onMacOS
    fixLoadingContent

Changes in 30.14, 30.15:
* Fixed blank bible selection button when config.refButtonClickAction is set to mini.

Changes in 30.13:
* Added support to use third-party VLC player on macOS to work with GTTS::: and VLC::: commands.
* Added a Speak button on the second top tool bar.
* Added config.forceUseBuiltinMediaPlayer for users to choose builtin media player for player audio even third-party VLC player is installed.
* Removed config.textSelectionColor and use config.widgetBackgroundColorHover and config.widgetForegroundColorHover to display colours for text selection.
* Updated color sample files sample.color and sample2.color.
* Fixed dynamic loading of *.color file.

Changes in 30.12:
Most changes in this release apply to Material menu layout only.
* Enhanced bible selection on both Bible and Study Window.
    - Users can now select bible versions, books, chapters and versions separately on both Bible and Study Window.
    - Drop down menu for both single version and multiple version selection is now replaced by menu buttons.
    - Bible Collection settings were integrated for both single version and multiple version selection.
    - Remarks: Menu button for single version selection for Bible Window is only available for users who set Control Preference to Master.
    - Book, chapter and verse features are note integrated into book, chapter and verse menu buttons, on both Bible and Study Window.
* Reorganised items on the top horizontal tool bar.
* Added Bible Collections, Bible Reading Plan, English Dictionaries, Epub Reader, Clear All button on horizontal toolbar.
* Added Instant Highlight, Remove Instant Highlight, Refresh, Full Screen, and Clear All on both left and right toolbars.
* Removed book, chapter and verse notes buttons from toolbars.
    - Users can use the new reference menu buttons to open or edit notes.
* Relocated Instant Lookup and Bottom Window buttons from right tool bar to the second-top horizontal tool bar.
* Bible Collection dialog now have to be closed before using the main UI.
    - This helps to make sure the main UI have all the latest changes about bible collections when they use it.
* Added new colour styles to:
    - menu separator
    - menu item selection
    - menu button
* Fixed loading issues found on macOS with Apple chip.
    - Content was not visible after a new command is triggered even though its loading was finished.
    - Content was shown only after users manually, e.g. changing tabs, moving the splitter.
    - Workaround approach was implemented to fixed the issue.
* Fixed loading bible modules which has non-standard book numbers.

Changes in 30.11:
* Improved support of macOS:
    - Users can now use VLC player for reading MP3 audio bibles.
    - VLC player is a third-party free software.  Users can install via command, for exmaple, brew install vlc, if homebrew (https://brew.sh) is in place.
    - Fixed loading issues.
* Fixed material menu layout contrast button.

Changes in 30.10:
* Added support of PySide6
* Fallback support of PySide2 and PyQt5
* Support multiple environment and multiple venv directory with a single uba.py file.
    The venv folder will be created and named according to platform and python version.
    For example, at the time of writing, webtop version creates and uses venv_Linux_3.10.4 as its venv directory.
    This feature is helpful for users who use both webtop or desktop versions, without duplicating resources.
    This is also helpful for those who place UBA directory in a USB stick and use it on different devices.
    After upgrade, users may manually delete the old venv directory, to save storage space.
* Added config options:
    usePySide2onWebtop - use PySide2 as Qt Library, even config.qtLibrary is set to a value other than 'pyside2'
    usePySide6onMacOS - use PySide6 as Qt Library, even config.qtLibrary is set to a value other than 'pyside6'
    fixLoadingContent - Fix loading content issues encountered with PySide6.

Changes in 30.09:
* Add tool to split chapter MP3 file into verses
- See https://github.com/eliranwong/UniqueBible/wiki/Split-chapter-MP3-audio-chapter-file-into-verse-files

Changes in 30.08:
* When there is no text selection and a context menu feature is triggered, a text input dialog is opened to prompt users for text entry.
* Fixed removing book / note highlight.
* Fixed reloading current records without opening new tabs.

Changes in 30.06, 30.07:
* Added text dialog for searching selected reference book.
* Fixed loading bible verse reference from Study Window when secondary bible is not enabled on Study Bible.
* Fixed book and note search result colour.

Changes in 30.05:
* Relocated Collections menu item from Other Preferences to Master Control
* Added Library Catalog button on Material menu layout toolbar.
* Added micron shortcuts:
    - Assign Ctrl+Shift+K to launch Bible Collections
    - Assign Ctrl+Shift+O to launch Library Catalog

Changes in 30.04:
* Fix loading PDF from Library Catalog
* Added a video tutorial on Library Catalog at: https://www.youtube.com/watch?v=8m2reoTtgvY

Changes in 30.03:
* Added support of Markdown:
1) Open markdown file and display on Study Window
2) Save Bible Window / Study Window content in a markdown file
    - UBA uses python package markdownify to implement the mardown export.
    - Users can define heading style for the export via menu, UniqueBible > Other Preferences > Select Markdown Export Heading Style
    - Read more about markdownify at https://pypi.org/project/markdownify/
3) Added Convert from Markdown feature in Note Editor

Changes in 30.02:
* Fixed a few colours.

Changes in 30.01:
* Added a wiki link to context menu.

Changes in 30.00:
* Added Save File items in Material menu layout menu.
* Simplified Compare Reference ... features on context menu.
    When these features are triggered, the following bible versions are used for comparison:
    - for Material menu layout users, versions selected in Multiple Bible Version Selection drop down menu are used.
    - for other menu layout users, favourite bibles defined in config.py are used. 

Changes in 29.99:
* Improved Material menu layouts
    - display tick signs to show the currently selected values in preferences and bible toggle menu items, where applicable.
    - changed some preference settings to be selectable directly from menu.
* Re-organised and improved context menu.
* Now display context menu shortcuts on context menu item, where applicable.

Changes in 29.98:
* Improved Material menu layout:
    - improved item description
    - added instant hightlight shortcut
    - add subheading option is displayed only in plain text mode

Changes in 29.97:
* Added an Instant Highlight button, right next to command entry field on material menu layout.
    - With this button, users can toggle instant highlight on both Bible Window and Study Window of text entered in command field.
    - For example, try to enter a in command field, toggle the button and see the changes.

Changes in 29.96:
* Support instant highlight on both Bible Window and Study Window, via context menu.
* If no text is selection, a text dialog will come up to ask for an entry.
* Removed three Find Text ... context plugins.

Changes in 29.95:
* Fixed installing wps-office for webtop users.

Changes in 29.94:
* Display ip address on information dialog.

Changes in 29.93:
* Apply colour customisation on verse number display.

Changes in 29.92:
* Adjusted text colour in sample.color.

Changes in 29.91:
* Adjusted original bibles colour display on dark theme.

Changes in 29.90:
* Changes in configuration settings:
    - Added lightThemeTextColor for users to customise text colour in Light theme.
    - Added darkThemeTextColor for users to customise text colour in Dark theme.
    - Renamed activeVerseColorLight to lightThemeActiveVerseColor
    - Renamed activeVerseColorDark to darkThemeActiveVerseColor
    Remarks: Renaming of the two labels above affects users who previously define activeVerseColorLight or activeVerseColorDark.
                They may need to re-customise the colours.
* Colour customisation dialog now supports customisation of lightThemeTextColor and darkThemeTextColor.
* Colour customisation file now includes theme data.
* Undated the colour customisation sample file sample.color.
* Added a colour customisation sample file sample_eliran.color.

Changes in 29.88, 89:
* Fixed Material Colour dialog - apply colour change immediately without a restart.

Changes in 29.87:
* Added support for Windows users to use GTTS::: command.
* Added Select Default Text-to-speech Voice menu item in Material menu layout.
* Now update context menu about default tts voice automatically.
* Improved handling text-to-speech engine detection.
* Changing text-to-speech voice in Master Control Miscellaneous tab no longer changes Default Text-to-speech Voice.
    - Use menu item to change the Default Text-to-speech Voice.

Changes in 29.86:
* Added Reload Resources button on Master Control.
* Added Open All buttons to Master Control Media tab.
* Added support of Goggle Cloud text-to-speech feature in Master Control Miscellaneous tab, mini Control, Note Editor.
* Added support of changing speed for Goggle Cloud text-to-speech feature.
* Master Control Library tab now shows both abbreviations and full names of commentaries.
* Master Control Miscellaneous tab Stop button now closes media player if one is opened.
* Removed config.gTTSDefaultLanguage.

Changes in 29.85:
* Added tooltips to all ListView in Master Control.
* Added hover styles to ListView.
* Fixed keyboard shortcut to navigate to Media tab when Master Control is opened.
* Improved handling of bible link:
    - When secondary bible on Study Window is not enabled, bible links opened the bible version currently selected on Main Window.

Changes in 29.84:
* Improved Study Window tabs' tooltips.
* Changed a toolbar button to open Master Control media tab, instead of media player.
    - This skips a step for users who want to open a media file.
    - Users can still use menu item or shortcut to open media player directly.
* Fixed opening media file with filename containing '.

Changes in 29.83:
* Added context plugin English Dictionaries with a shortcut Ctrl+Shift+D.
* Added menu items and shortcuts to launch and stop media player.
* Added support of using full vlc with Master Control Media tab.
* Added wordnet third party dictionary.
* Fixed and improved VLC::: command.

Changes in 29.82:
* Removed a built-in shortcut in Micron set.

Changes in 29.81:
* Shorten main window tab title.

Changes in 29.80:
* Improved updating main reference button.
* Fixed the issue that chapter and verse menu are opened in new tabs.

Changes in 29.79:
* Added config.favouriteOriginalBible2 for users to configure secondary favourite Hebrew and Greek bible.
* Added a gui dialog to configure config.favouriteOriginalBible2.
* Added menu items and shortcuts to launch secondary favourite bible directly.

Changes in 29.78:
* Added a configuration item config.favouriteOriginalBible for users to users to specify their most favourite Marvel Bible.
    - Default is 'MIB'.
* Added menu items for users to select and open Favourite Hebrew & Greek Bible
* Added Micron shortcuts Ctrl+7 and Ctrl+8 to open users favourite Hebrew & Greek bible directly.
* Changed the previous Open Marvel Interlinear Bible on Study Window icon.
* The previous Open Marvel Interlinear Bible on Study Window button now opens the bible version, defined in config.favouriteOriginalBible.
* Removed Morphology tab for now, as it does not reflect morphology items UBA use.  We may fix it.
    Meanwhile, sers can search morphology with commands or by double-clicking a word in marvel bibles.
* Display media player tab on Master Control menu only if ("Pythonvlc" in config.enabled) is True.
* Fixed context menu shortcuts to support customised shortcuts.

Changes in 29.77:
* Improved switching between single chapter and comparison view.  
    - BIBLE::: command switches back to single chapter view if text specified in BIBLE::: command is not in the texts in previous comparison view.
* Fixed side by side comparison to work with config.enforceCompareParallel.
* Fixed context menu shortcuts which failed startup for users who use customised shortcuts.

Changes in 29.76:
* Micron shortcuts:
    - Assign Ctrl+1, Ctrl+2, Ctrl+3 to open favourite bibles 1, 2, 3 in main bible window.
    - Assign Ctrl+4, Ctrl+5, Ctrl+6 to open favourite bibles 1, 2, 3 in main bible window.

Changes in 29.75:
* Fixed sample.color.

Changes in 29.74:
* Added STUDYTEXT::: command to open bible text on Study view quickly.
* Integrate config.favouriteBible, config.favouriteBible2 and config.favouriteBible3 in Master Control Bible and Search tabs:
    - Users can now open or favourtie bibles directly.
    - Remarks: Users can define config.favouriteBible, config.favouriteBible2 and config.favouriteBible3 via menu UniqueBible > Other Preferences.
* Added favourite bibles into Material menu layout Bible menu.
* Shorten the commad COMPARESIDEBYSIDE::: to SIDEBYSIDE:::.

Changes in 29.73:
* Removed a print command.

Changes in 29.72:
* Added shortcut support of context menu built-in features.
* Micron shorcuts:
    - Added two shortcuts for context menu:
        Ctrl+Shift+S for searching the bible currently selected in the main bible window.
        Ctrl+Shift+T for launching text-to-speech feature to read with default language.
    - Changed Swap Bibles shortcut to Ctrl+Shift+W

Changes in 29.71:
* Renamed config names activeVerseColourLight and activeVerseColourLight to activeVerseColorLight and activeVerseColorDark.
* Make Colour Customisation Dialog config button labels more readable.
* Added a sample set of colours, defined by a 10-year-old kid.

Changes in 29.70:
* Fixed speaking default English with Google cloud text-to-speech service.

Changes in 29.69:
* Fixed updating main text when a tab is changed in the main bible window.

Changes in 29.68:
* Update main text and reference button when a tab is changed in the main bible window.
* Improved display of PASSAGES::: command content.

Changes in 29.67:
* Fixed updating label colours in Colour Customisation diaolog after selection of new colours.

Changes in 29.65, 29.66:
* Fixed reload current records, when config.openBibleInMainViewOnly is toggled.

Changes in 29.64:
* Fixed opening bible link with bible version selected on the main window when config.openBibleInMainViewOnly is set to True.
* Added a Micron shortcut to show / all all toolbars, as escape key in webtop fullscreen mode exits the fullscreen.

Changes in 29.63:
* Apply colour customisation to standard html hyperlinks.

Changes in 29.62:
* Allow users to configure private page in config.webUBAServer.

Changes in 29.60, 61:
* Added Swap bibles feature and shortcut support to material menu layout.
* Micron shortcuts:
    - Changed the shortcut to open Master Control MorpholoGy tab to Ctrl+Shift+G
    - Added Ctrl+Shift+S to Swap bible versions between Main and Study windows.
* Changed two item translation description.

Changes in 29.58, 59:
* Added a bible toggle feature Insert Favourite Version in Fetching Verses on material menu layout menu.
    - It toggles configuration flag config.addFavouriteToMultiRef and refresh current display.
    - For example, enter John 3:16-18; Deu 6:4 in search command field and press enter,
        or opens a cross-reference result,
        then toggle this feature to see the difference.
    - The bible version being inserted is determined by config.favouriteBible and config.config.favouriteBible2
        If the currently selection bible version is different from the version specified in config.favouriteBible, verses of the config.favouriteBible version are inserted.
        If the currently selection bible version is the same as the version specified in config.favouriteBible, verses of the config.favouriteBible2 version are inserted.
        On material menu layout, users can specify their favorite versions of config.favouriteBible and config.favouriteBible2 via menu:
            UniqueBible > Other Preferences > Select Favourite Bible & Select Favourite Bible 2
* Added shortcut support for toggling Insert Favourite Version in Fetching Verses.
    - Micron uses Ctrl+Shift+I to toggle this feature by default.
* Fixed an issue of verse reference display.

Changes in 29.57:
* Add import, export to Bible collection
* Use .filter extension for Live filter import, export
* Add shortcut to Bible collection in Material layout

Changes in 29.56:
* Add clear and export buttons to Live Filter

Changes in 29.55:
* Added Save as and Load my settings buttons to Material colour customisation dialog.  
    Users can use them to save or load a copy of their customised settings.

Changes in 29.54:
* Fixed updating the colour label of textSelectionColor displayed on Material menu layout colour customisation dialog.

Changes in 29.53:
* Enhanced search result display:
    - add audio buttons to search result.
    - now works better when config.addFavouriteToMultiRef is set to True.
        Previously, there was no secondary version displayed when main text is the same as favourite text.
        Search result now display config.favouriteBible2 if config.favouriteBible is the same os the text being searched.

Changes in 29.52:
* Added config.textSelectionColor for users to specify text selection colour on material menu layout.
* Added textSelectionColor option in colour customisation dialog, available on material menu layout.

Changes in 29.51:
* Fix commentary in miniControl

Changes in 29.50:
* Added 426 built-in colour themes, which support Material menu layout.
* New colour theme options are added to Material / Focus / Aleph / Classic menu layout.
* Colour icons are now displayed next to colour theme name on menu.

Changes in 29.48, 29.49:
* Changed default dark theme colours of material menu layout.

Changes in 29.47:
* Apply colour customisation to hyperlinks when material menu layout is used.
    The hyperlink colours could be overridden by use of UniqueBible/htmlResources/css/custom.css

Changes in 29.46:
* Removed requirement of restart for colour and icon size customisation on material menu layout.

Changes in 29.45:
* Important fix on displaying multiple verse reference.

Changes in 29.44:
* Added a READ::: command:
            # [KEYWORD] READ
            # Feature - Read a single bible passage or multiple bible passages, with support of multiple bible versions.
            # Usage - BIBLE:::[BIBLE_VERSION(S)]:::[BIBLE_REFERENCE(S)]
            # Remarks:
            # 1) The bible version last opened on main view is opened by default if [BIBLE_VERSION]::: is omitted.
            # e.g. READ:::Jn 3:16-18
            # e.g. READ:::KJV:::Jn 3:16-18; Deut 6:4
            # e.g. READ:::KJV_CUV:::Jn 3:16-18; Deut 6:4
* Fixed an issue about saving config in http-server.

Changes in 29.43:
* Fixed duplicated versions selected for comparison view.
* Relocated Reload Resources to Resources menu on Material menu layout.

Changes in 29.41, 42:
* Fixed dynamic loading of menu layout without a restart.

Changes in 29.40:
* Set maximum width to limit the width of a few combo boxes on material menu layout toolbar.

Changes in 29.38, 39:
* Added Live Filter icon button on the Material menu layout top toolbar.
* Added Ctrl+Shift+F shortcut to open Live Filter dialog in micron shortcut set.
* Removed duplicated entry in micron shortcut set.  Changed toggleHideLexicalEntryInBible to Ctrl+Shift+X

Changes in 29.37:
* Changing theme now does not require a restart.
* Improved colour customisation in drop down selection widgets.
* Removed duplicated codes for colour customisation.

Changes in 29.36:
* Upgraded quality of materials icons, used by material menu layout, for scaling to differnt sizes.
* Added support to customise Icon size and other widget size in Material menu layout.  Users can either:
    - manually edit iconButtonSize value when UBA is not running, or
    - use GUI dialog available on material menu layout, UniqueBible > Appearance > Customise Icon Size.
    - This config value specifies the width and height of material icons.
    - All other widgets are scaled relatively to this value too.
    - Ideally, the value is a multiple of 3, within a range from 12 to 48.
* Fixed issues about font size too small in table or list view.  Font size now changes relatively to button icon size value.
* Apply colour and font customisation to more widgets, e.g. QToolTip, QToolButton, QTextEdit, QListView, QSlider
* Added Live Filter to Material menu layout Bible menu.
    - Watch https://www.youtube.com/watch?v=A08KTzWLwDc for demonstration about Live Filter feature.

Changes in 29.35:
* Improved Material menu layout main menu arrangement, e.g.:
    - Preferences are divided into two main sections, Appearance & Other Preferences.
    - Renamed Reference Button Action to Select Control Preference
* Added 20 new themes.

Changes in 29.34:
* Initial support of global changes of widget colours, colour customisation now applies to::
    - QPushButton
    - QComboBox
    - QRadioButton
    - QMenu
    - QTabBar
    - QLineEdit
    - QSplitter
    - QTableView
    - QCheckBox
    - QGroupBox
* Added 20 new themes, which work with Material menu layout only:
            Light MediumVioletRed,
            Light DarkRed,
            Light Indigo,
            Light DarkGreen,
            Light DarkOliveGreen,
            Light Teal,
            Light DarkBlue,
            Light MidnightBlue,
            Light Maroon,
            Light DarkSlateGray,
            Dark Pink,
            Dark LightYellow,
            Dark LightGoldenrodYellow,
            Dark Lavender,
            Dark GreenYellow,
            Dark SpringGreen,
            Dark Aqua,
            Dark LightCyan,
            Dark LightBlue,
            Dark Azure,
* Renamed config attributes:
    from activeVerseNoColourLight, activeVerseNoColourDark, maskBackground, materialIconMaskColor, pushButtonBackgroundColor, pushButtonForegroundColor, pushButtonBackgroundColorHover, pushButtonForegroundColorHover, pushButtonBackgroundColorPressed, pushButtonForegroundColorPressed 
    to activeVerseColorLight, activeVerseColorDark, maskMaterialIconBackground, maskMaterialIconColor, widgetBackgroundColor, widgetForegroundColor, widgetBackgroundColorHover, widgetForegroundColorHover, widgetBackgroundColorPressed, widgetForegroundColorPressed
* Removed QtMaterialTheme options from Material menu layout, as QtMaterialTheme would be in conflict with Colour Customisation with Material menu layout.
* Added a button to open Interlinear Data directly.
* Relocated the open-MIB-on-study-window button.
* Colour customisation dialog now include activeVerseNoColour item.
* Created a new wiki on colour customisation: https://github.com/eliranwong/UniqueBible/wiki/Customise-Interface-Colours
* Changed the Colour Customisation dialog about link to: https://github.com/eliranwong/UniqueBible/wiki/Customise-Interface-Colours
* Improved Interlinear Data plugin:
    - Added a clear button to search entry field
    - Now display currentlly active verse data by default

Changes in 29.32, 33:
* Fixed icon colour of some buttons in material menu layout.

Changes in 29.31:
Improved material menu layout:
* Added a new drop down menu for selection of multiple bible versions to work with the four new buttons.
* Added four new buttons:
    - Single Version button.  Open a bible chapter of the bible version currectly selected.  It is basically the same action as the main reference button action when config.refButtonClickAction is set to direct on other menu layouts.
    - Parallel Versions button.  Open a parallel chapter view of different bible versions selected from the newly added multiple bible version selection drop down menu.
    - Side by Side Comparison button.  Display a verse-by-verse comparison view of different bible versions, with a side by side layout.
    - Row by Row Comparison button.  Display a verse-by-verse comparison view of different bible versions, with a row by row layout.
* Integrated config.enforceCompareParallel into running COMPARESIDEBYSIDE::: command.
* Improved handling of config.enforceCompareParallel:
    - Clicking the newly added Single Version button set config.enforceCompareParallel to False automatically.
    - Clicking the newly added Parallel Versions / Side by Side Comparison / Row by Row Comparison buttons set config.enforceCompareParallel to True automatically.
* Clicking the Contrasts button now directly contrast the currently opened bible version with all other versions of the currently opened verse.
* Main reference button now always open chapter menu even config.refButtonClickAction is set to direct to avoid duplication.
* Relocated book / chapter / Verse note buttons to second menu bar from the top.
* Renamed PARALLELVERSES::: command to COMPARESIDEBYSIDE::: command.
* Added config.compareParallelList to record users selection of bible versions to work with compare / parallel features with material menu layout.
* Changed a few icons on material menu layout.

Changes in 29.30:
* Integrated button colour customisation in Master Control tabs.
* Redirect to config.favouriteBible, if bible version requested is not installed.
* Fixed http-server .play feature on bible version title having non-English title.

Changes in 29.29:
* Fixed QR code window so that it can be opened as a normal window rather than fullscreen.

Changes in 29.28:
* Improved Button Colour Customisation dialog:
    Apply colour changes on Default and About buttons immediately after a setting is changed.

Changes in 29.26, 29.27:
* Fixed updated material menu layout colours after settings are changed.

Changes in 29.25:
* Fixed Button Colour Customisation dialog.

Changes in 29.24:
* Removed from Material menu layout the duplicated item for setting config.
* Added to Material menu layout a graphical user interface dialog for button color customisation.
    Read more about button colour customisation at: 
    https://github.com/eliranwong/UniqueBible/wiki/Button-Colour-Customisation

Changes in 29.23:
* Fixed shared link creation on http-server page with non-mini layout.

Changes in 29.22:
* Fixed creation of shared links on http-server for command containing non-English characters.

Changes in 29.21:
* Improved handling of share link creation on http-server.

Changes in 29.20:
* Increased html button font size.

Changes in 29.19:
* Fixed opening commentary via chapter or verse selection menu on http-server.

Changes in 29.18:
* Removed a Copy button, which is duplicated, on _qr::: command content.

Changes in 29.17:
* Fixed http-server shared links with spaces.

Changes in 29.16:
Multiple improvements on Material menu layout:
    * Added Swap button on material menu layout, to swap bible chapter between Bible Window and Study window.
    * Added Go online and Share button on material menu layout.
    * Added config.webUBAServer to specify a web server to work with the share links created on desktop version.
    * Added More ... button, right next to bible title on bible chapter menu, so that users can change bible versions easily.
    * Added More ... button, right next to commentary title on commentary chapter menu.
    * Added _copy::: and _commentaries::: commands.
    * Fixed opening bible chapters menu for some bible modules having non-standard book numbers.
    * Fixed qrcode::: content copy button action on desktop version.
    * Changed compare all version button icon on material menu layout.
    * Improved handling when study bible reference button is clicked:
        - When Sync Study Window Bible with Bible Window is turned on, bible is opened directly with the same passage with the Bible Window.
        - When Sync Study Window Bible with Bible Window is turned off, chapter and verse selection are displayed first.
        - This logic is currently implemented on material menu layout only.

Changes in 29.15:
* Fixed qrcode::: command
* qrcode::: command content now includes a hyperlink and a copy button.
* Changed http-server qr code button to share button.

Changes in 29.14:
* Fixed downloading material icons.

Changes in 29.13:
* Added dividers to different sessions of http-server search page.

Changes in 29.12:
* Display bible version full name on chapters menu.

Changes in 29.11:
* Modified commentary chapter heading link.

Changes in 29.10:
* Further improvement of Material menu layout to work with Mini Control:
    - Button, instead of dropdown menu, is displayed for bible selection when config.refButtonClickAction is set to mini.
    - Button, instead of dropdown menu, is displayed for commentary selection when config.refButtonClickAction is set to mini.
* Improved commentary selection with Mini Control:
    - If Sync Commentary with Bible Window feature is turned on and a commentary is selected, commentary is opened directly with the same passage with the Bible Window.
    - If Sync Commentary with Bible Window feature is turned off and a commentary is selected, chapter and verse selection for a commentary are displayed first.
    - This same logic is used by Master Control.

Changes in 29.09:
* Mini Control Active Only button now work with materialIconMaskColor, pushButtonBackgroundColor, pushButtonForegroundColor, pushButtonBackgroundColorHover, pushButtonForegroundColorHover, pushButtonBackgroundColorPressed, pushButtonForegroundColorPressed.

Changes in 29.08:
* Integrated config.refButtonClickAction into Material menu layout.

Changes in 29.07:
* Fixed loading chapter audio on http-server.  Error was introduced in a recent update.

Changes in 29.05, 29.06:
* Improved Material menu layout:
    - Added chapter and verse selector for opening a passage on bible window.
    - Added chapter and verse selector for opening a passage on study window.
    - Added commentary drop down selection menu.
    - Sync Commentary with Bible Window button is now placed right next to the new commentary drop down menu.
* Improved commentary selection:
    - If Sync Commentary with Bible Window feature is turned on and a commentary is selected, commentary is opened directly with the same passage with the Bible Window.
    - If Sync Commentary with Bible Window feature is turned off and a commentary is selected, chapter and verse selection for a commentary are displayed first.
* Also improved bible and commentary selection on http-server interface.
* Added found commands, which works on both desktop and http-server versions:
    - _chapters:::
    - _verses:::
    - _commentarychapters:::
    - _commentaryverses:::
* Now changing config.pushButtonBackgroundColor and config.pushButtonForegroundColor also changes button colour on chapter / verse selection menu.
* All previous html buttons now use config.pushButtonBackgroundColor and config.pushButtonForegroundColor for colours.

Changes in 29.04:
* Built-in mini browser now uses material icons when Material menu layout is used.

Changes in 29.03:
* Fixed icon color customisation with Material menu layout.
* Wrote a wiki page on how to change icon colours: 
https://github.com/eliranwong/UniqueBible/wiki/Button-Colour-Customisation

Changes in 29.02:
* Built-in media player now uses material icons when Material menu layout is used.

Changes in 29.01:
* Changed http-server QR scanner page background color to match dark theme.
* Completed Material menu layout note editor ui.
* Material menu layout now replaces Focus menu layout as default menu layout.
Remarks: Material menu layout is designed based on Focus menu layout with several improvements, e.g.:
    - Bible version dropdown button is added
    - Use of icons are more consistent
    - Users can customise button color by modifying config values of materialIconMaskColor, pushButtonBackgroundColor, pushButtonForegroundColor, pushButtonBackgroundColorHover, pushButtonForegroundColorHover, pushButtonBackgroundColorPressed, pushButtonForegroundColorPressed
    - easier to be maintained

Changes in 29.00:
* Fixed loding developer menu on Aleph menu layout.
* Updated Material menu layout:
    - Complete main window ui.
    - Configs for customisation of ui color: materialIconMaskColor, pushButtonBackgroundColor, pushButtonForegroundColor, pushButtonBackgroundColorHover, pushButtonForegroundColorHover, pushButtonBackgroundColorPressed, pushButtonForegroundColorPressed

Changes in 28.99:
* Initial support of Material menu layout.  When finished, it will replace Focus as default menu layout.
* Multiple config values added for customisation of Material menu layout button color.
* Fixed changing instant information button icon on Focus menu layout.

Changes in 28.96, 28.97, 28.98:
Fixed all known display issues of http-server audio player.
    - Fixed WLC font display
    - Fixed single or double quote display issue
    - Fixed last bible verse text in a playlist was partially hidden

Changes in 28.95:
* Fixed loading last visited verse issue on iPhone.
* Http-server content no longer uses cookie on client side.
* Private and public access to http-server now have two separate data to keep records of the last visited bible verse and commentary module.

Changes in 28.94:
* Http-server audio playlist current title is now made clear for reading.

Changes in 28.93:
* Now show bible verse text in http-server audio playlist.

Changes in 28.92:
* Now show actual Hebrew / Greek word in http-server audio playlist.

Changes in 28.91:
* Fixed loading bible note in http-server when private data are loaded.

Changes in 28.90:
* Added a .play command and a button to http-server to play all available bible audio linked with the current content.
* Relocate QR code scanner link in http-server.

Changes in 28.89:
* Added a context plugin Read All Verses to read all available single verse audio linked in the currently opened content.

Changes in 28.88:
* Added a command keyword CHAPTERS:::.
* Added a command .chapters in http-server, to open a menu of all available chapters
* Changed the passage selection button on http-server side bar to a button for displaying chapter menu.

Changes in 28.87:
* Added chapter navigation to http-server media player page.
* Added table of content on bible audio.
* Added .audio command to http-server.

Changes in 28.86:
* Fixed default config.audioBibleIcon on fresh installation.

Changes in 28.85:
* Relocated buttons on http-server index page side panel.
* Added new associations of bible audio modules.

Changes in 28.83, 28.84:
* Fixed display of lexeme title on html media player in http-server.
* http-server index page buttons now use Google material icons.
* http-server index page side panel buttons relocated.

Changes in 28.82:
* Workaround issue of loading OHGB and OHGBi in bible.gospelchurch.uk

Changes in 28.81:
* Added Google material icons fonts
* Added support of offline use of Google material icons fonts

Changes in 28.80:
* Added support of READLEXEME::: and READWORD::: commands in http-server.
* Added support of word-by-word audio to http-server.
* Added .wordaudiolinks command to http-server.
* Fixed plain mode chapter reading showing audio icons in http-server.
* Added config value config.showHebrewGreekWordAudioLinksInMIB.  If it is set to True, MIB will display audio icons even config.config.showHebrewGreekWordAudioLinks is set to False.
* Application of config.showHebrewGreekWordAudioLinks now check if bible text is one of the marvel bibles. 
* UBA now uses Google material icon for audio bible icons by default in http-server.

Changes in 28.79:
* http-server built-in audio player now display playlist by default.

Changes in 28.78:
* Fix font issue in desktop mode

Changes in 28.77:
* Added association of Chinese bible versions for audio features.

Changes in 28.76:
* Fixed a startup issue introduced by a recent update.

Changes in 28.75:
* Updated javascript files for http-server.

Changes in 28.74:
* Added support of Google material icons to http-server display content.

Changes in 28.73:
* Added support to specify the python file to start http-server.
* Added initial support of verse-by-verse audio bible in htttp-server, will test on https://bible.gospelchurch.uk

Changes in 28.72:
* Added support of audio links to instant verse feature.
* Removed duplicated spaces after audio icons for multiple verse display.

Changes in 28.71:
* Fixed missing word audio links in discourse content.

Changes in 28.70:
* Removed duplicated spaces after audio icons.
* Added four more verse-by-verse audio bibles:
    SBLGNT (Greek; fast; verse-by-verse)
    SBLGNT (Greek; slow; verse-by-verse)
    WLC (Hebrew; fast; verse-by-verse)
    WLC (Hebrew; slow; verse-by-verse)

Changes in 28.69:
* Fixed display of audio bible icons on Linux.

Changes in 28.68:
* Fixed missing playing audio in a playlist, as described in issue:
    https://github.com/eliranwong/UniqueBible/issues/976

Changes in 28.67:
* Fine tune word-by-word Hebrew and Greek audio.
* Hide built-in media player interface for reading a single word or lexeme.
* Built-in media player now works with config.hideVlcInterfaceReadingSingleVerse.

Changes in 28.66:
* Added a wiki page on word-by-word Hebrew and Greek audio:
    https://github.com/eliranwong/UniqueBible/wiki/Word-by-word-Hebrew-and-Greek-Audio
* Tips: Use Ctrl + Shift + A with Focus menu layout to toggle audio links in marvel bibles.

Changes in 28.65:
* Added word-by-word Hebrew and Greek audio to bibles, OHGB and OHGBi.
* Added word-by-word Hebrew and Greek audio to OHGBi in morphology search result.
* Fixed reloading current records.

Changes in 28.64:
* Fixed some other missing Greek word audio links.

Changes in 28.63:
* Fixed missing Greek word audio links before punctuation marks.

Changes in 28.62:
* Added config item config.hideVlcInterfaceForSingleVerseReading to hide VlcInterface for single verse reading.  Currently, this works only on webtop version, desktop version on Linux and macOS.
* Added audio links to lexemes on Words feature content.
* Added config item config.showHebrewGreekWordAudioLinks to toggle feature to show or hide audio links for indiviudal Hebrew and Greek words in marvel bibles, MOB, MIB, MPB, MTB & MAB.
* Hide word-by-word Hebrew / Greek audio links on http server content page.
* Prompt users to download word-by-word Hebrew / Greek audio when a word audio link is clicked and its audio file is not installed.

Changes in 28.61:
* Added READWORD::: and READLEXEME::: commands to work with audio of individual Hebrew / Greek words and lexemes.
* Added audio link to _instantWord::: content.  Therefore, instant lookup of a Hebrew / Greek word shows audio links for its word and lexeme.
* Tips: To keep instant lookup information of a particular word, use enable / disable instant lookup feature.  In Focus menu layout, shortcut combo is Ctrl + =.
* Integrated Hebrew word-by-word audio into Word, Words, Translation, Discourse features.
* Added download of MP3 word-by-word audio of the Hebrew bible BHS5.  Storage required: 15.08GB in total.
* Fixed use of MP3 audio bible - BBE (British accent; verse-by-verse).
* On webtop version, use thunar to open directories after YouTube audio / video is downloaded.

Changes in 28.60:
* Support creation of all Hebrew and Greek word audio.

Changes in 28.59:
* Added WLC and WLCx bibles to right-to-left reading list.

Changes in 28.58:
* Added verse-by-verse audio bible - King James Version (American accent)

Changes in 28.57:
* Added verse-by-verse audio bible - American Standard Version (American accent)

Changes in 28.56:
* Use thunar to open directories on webtop version.

Changes in 28.54:
* Uploaded and integrated nine more verse-by-verse MP3 audio bibles.
* Currently available verse-by-verse modules are:
    American Standard Version (American accent)
    Berean Study Bible (American accent)
    Berean Study Bible (British accent)
    Bible in Basic English (British accent)
    Chinese Union Version (Cantonese)
    Chinese Union Version (Mandarin)
    English Revised Version (British accent)
    International Standard Version (American accent)
    International Standard Version (British accent)
    King James Version (British accent)
    Lexham English Bible (American accent)
    Lexham English Bible (British accent)
    New English Translation (American accent)
    New English Translation (British accent)
    Open Hebrew Greek Bible (Hebrew & Greek; fast)
    Open Hebrew Greek Bible (Hebrew & Greek; slow)
    Web English Bible (British accent)

Changes in 28.53:
* Extend the use of the third-party VLC player on macOS and Linux even users do not use webtop version.
* Added a workaround to open audio file with third-party app in case built-in media player does not work.

Changes in 28.52:
* Fixed the issue that audioBibleIcon and audioBibleIcon2 are not clickable on some Linux OSs.

Changes in 28.51:
* Added support of multip uba.py and venv folders, for using the same UBA folder across different OSs.

Changes in 28.50:
* Added support of Amazon Polly for creation of verse-by-verse audio bible.  This feature is created for developers only.

Changes in 28.48, 28.49:
* Replace built-in media player with VLC player on webtop version, to workaround playlist issue of built-in media player.

Changes in 28.47:
* Integrated read verse audio into multiple-verse display features.

Changes in 28.46:
* Fixed Read through the Rest of the Chapter feature, by using READCHAPTER::: command instead of READBIBLE::: command.

Changes in 28.45:
* Changed the default value of config.readTillChapterEnd to True.
* Users can toggle it via Focus / Aleph menu layout.
* For example, in Focus menu layout, Bible > Toggle Features > Read through the Rest of the Chapter.

Changes in 28.44:
* Added Open Hebrew Greek Bible verse-by-verse MP3 audio files for downloads via menu.
* There are two sets of Open Hebrew Greek Bible verse-by-verse MP3 audio files, fast and slow.
* The following Unique Bible App modules are integrated to use these audio files:
    OHGB - Open Hebrew Greek Bible
    OHGBi - Open Hebrew Greek Bible (interlinear)
    MOB - Marvel Original Bible
    MIB - Marvel Interlinear Bible
    MTB - Marvel Trilingual Bible
    MPB - Marvel Parallel Bible
    MAB - Marvel Annotated Bible
* Added some other verse-by-verse MP3 audio bibles, available right now are:
    American Standard Version (American accent)
    Chinese Union Version (Cantonese)
    English Revised Version (British accent)
    King James Version (British accent)
    New English Translation (American accent)
    New English Translation (British accent)
    Open Hebrew Greek Bible (Hebrew & Greek; fast)
    Open Hebrew Greek Bible (Hebrew & Greek; slow)
* Fixed the issue that opening resource folders freezed UBA.

Changes in 28.43:
* Add option Read through the rest of the chapter
* Users can toogle it via Focus / Aleph menu layout.

Changes in 28.42:
* Fix pattern filename match in download Bible

Changes in 28.41:
* Add WLC MP3

Changes in 28.40:
* Changed github links for downloading NET & CUV verse-by-verse audio bibles.
* Added voice selection for text-to-speech features, mainly for developers.
* Added zip folders utility for developers.

Changes in 28.39:
* Fix config issue in FileUtil

Changes in 28.38:
* Added utility to create audio bible on macOS.  Non-macOS developers can use Create Audio Bible plugin instead.
* Added support of verse-by-verse audio bibles on OHGB / OHGBi / MOB / MIB / MTB / MPB / MAB.  Audio files will be uploaded in a couple of days.
* Fixed matching texts for MP3 audio bible.

Changes in 28.37:
* Integrate Google Cloud Text-to-Speech service to context menu to read selected text.

Changes in 28.36:
* Fix paths for audio Bibles
* Remove duplicate icons for Bible reading

Changes in 28.35:
* gTTS feature uses built-in vlc player to play created mp3 file.  This works in non-Linux device too.
* gTTS feature uses official Google cloud text-to-speech service, if credentials_GoogleCloudTextToSpeech.json is placed in UBA root folder.

Changes in 28.34:
* Moved verse-by-verse audio bible files to config.audioFolder.
* Integrated previously chapter-based audio bibles and newly added verse-based audio-bibles.
* Integrated READCHAPTER::: and READVERSE::: commands to work with files in config.audioFolder.
* Added config.audioFolder and config.audioBibleIcon.
* Added menu item to open audio folder.
* Added CUV Cantonese audio bible for download.
* Assign CUV Mandarin audio bible to CUVs instead of CUV.
* Fixed reading audio bible chapter not playing if vlc player is opened before a command is triggered.
* Fixed partyly audio/bibles path which is not cross-platform.

Changes in 28.33:
* Add NET to MP3 download in menu

Changes in 28.32:
* Added GUI for verse-by-verse audio bible features.  For bible versions haveing audio bible in place, a music note button is displayed next to chapter number or verse number.  Users can click the music note button to play audio bible for a whole chapter or a single verse.  Traditional audio bible often read the whole chapter which makes users difficult to find a particular verse.  We make the verse-by-verse audio bible to offer more flexibility and functionality.
* See screenshot at: https://github.com/eliranwong/UniqueBible/issues/927#issuecomment-1064597060
* Refer to Changes in 28.31 below for how to create audio bible for your favourite bible version.
* Currently, we provide NET [English] and CUV [Cantonese] for downloads, read:
    - NET MP3: https://github.com/eliranwong/NewEnglishTranslationMP3
    - CUV MP3: https://github.com/eliranwong/ChineseUnionVersionCantoneseMP3
* Fixed issue that VLC::: command does not play file if built-in VLC player does not close after the 1st run of VLC::: command.

Changes in 28.31:
* Added READCHAPTER::: READVERSE::: commands, to prepare gui integration of verse by verse audio bible next update.
* Uploading a menu plugin Create Audio Bible to create MP3 files on every single verse of a bible version.  This plugin is created for developers only.  Developers may need to modify the script according to their needs.
* Uploading audio bible New English Translation and Chinese Union Version [Cantonese] to prepare verse by verse audio bible integration next update.
    - NET MP3: https://github.com/eliranwong/NewEnglishTranslationMP3
    - CUV MP3: https://github.com/eliranwong/ChineseUnionVersionCantoneseMP3

Changes in 28.30:
* Added developer helper tool for website to book conversion

Changes in 28.29:
* Uploaded a new context plugin at: https://github.com/eliranwong/UniqueBible_Plugins_Context/blob/main/Text-to-Cantonese.py.zip
Important Notes:
This plugin uses Google Cloud Text to Speech service.
Read more at: https://cloud.google.com/text-to-speech

To work with this plugin, you need to:
1) Create a credential key and download it.  Read for details at https://cloud.google.com/text-to-speech/docs/before-you-begin
2) Rename the credential key file to credentials_GoogleCloudTextToSpeech.json
3) Place the credential key file credentials_GoogleCloudTextToSpeech.json in UniqueBibleApp folder.

Remarks: Google Cloud Text-to-Speech is priced based on the number of characters sent to the service to be synthesized into audio each month. 
The first 1 million characters for WaveNet voices are free each month.  1 million characters each month should be free enough for general use.


Changes in 28.28:
* Fixed installing wps office on webtop version.

Changes in 28.27:
* Updated gtts language list.

Changes in 28.26:
* Fixed installing pycharm from developer menu on apple chip machine.  For webtop version only.

Changes in 28.25:
* webtop version: added VS Code & Sqlite Browser to developer menu.
* Webtop version: install yay for users using old docker images.

Changes in 28.24:
* Added Chrome to Focus menu layout Apps menu on webtop version.

Changes in 28.23:
* Setup yay on webtop version. It works only with the latest docker images.

Changes in 28.22:
* Added support to install-on-demand and open third-party apps on webtop version via plugins.

Changes in 28.21:
* Install pycharm on demand and open it on webtop version.
* Added developer option pycharm to Focus and Aleph menu layouts.

Changes in 28.20:
* Remove message nohup: appending output to 'nohup.out' when open third-party apps via webtop version.

Changes in 28.19:
* Webtop version now use PySide2 library by default.

Changes in 28.18:
* Added Add Language Files & Update Language Files to developer menu, available only if config.developer is set to True

Changes in 28.17:
* Added items to config flag windows.
* Added some translations.

Changes in 28.16:
* Added four bible text toggle features:
    1. Display Verse References
    2. Display User Note indicators
    3. Display Bible Note indicators
    4. Display Lexical Entries
* Added new toggle features to Focus and Aleph menu layouts.
* Added config values related to new toggle features.
* Added shortcuts for new toggle features.
* Added items to language files.
* Fixed display user note indicator issue on webtop version.
* Fixed error message, ERROR:command_buffer_proxy_impl.cc(141)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer., on webtop version.

Changes in 28.15:
* Integrated restart UBA feature into Config Flags Window on supported os.

Changes in 28.14:
* Fixed restart UBA feature on webtop version.
* Now closing UBA do not close those apps opened through UBA Apps menu on webtop version.

Changes in 28.13:
* Added context menu feature 'save selected text into mp3 file'.

Changes in 28.12:
* Fixed webtop version text-to-speech context menu.

Changes in 28.11:
* Added config.gTTSDefaultLanguage

Changes in 28.10:
* Set config.fcitx = True in webtop version.
* Added config.commandTextIfNoSelection, to run context menu features on text entered in the command field if no text is selected.
* Removed [ or ] for reading with Google text-to-speech features.

Changes in 28.09:
* Remove duplicate lines from patches.txt

Changes in 28.08:
* Reload all changes since 27.00

Changes in 28.07:
* Set git pull to update UBA by default for webtop version.
* Fixed test errors.
* Fixed patches.txt

Changes in 28.06:
* Added a button on Aleph, Classic and Focus menu layouts, to toggle fullscreen.
* Webtop version ONLY: Integrated desktop applications into UBA menu.
* Uploaded three images on webtop versions uploaded for different OS users.
* A wiki page on webtop version is written at https://github.com/eliranwong/UniqueBible/wiki/Webtop-Version---RECOMMENDED!

Changes in 28.05:
* Fixed 2001 Bible importer

Changes in 28.02, 28.03, 28.04:
* Fixed google drive file download issues, which blocks UBA from uniquebible.startup on fresh installation.
* Configure config.gTTS to True for docker version.

Changes in version 27.09, 28.00, 28.01:
* Removed uba.py fullscreen, which could be achieved by setting config.startFullScreen to True.
* Added uba.py docker for running on docker image.
* Added venv option system_site_packages=True for docker version.

Changes in version 27.07, 27.08:
* Add ability to start UBA in fullscreen mode, by running python3 uba.py fullscreen
* Add config.startFullScreen

Changes in version 27.04, 27.05, 27.06:
* Tweaks for building docker image.

Change in version 27.03:
* Do not show disabled text-to-speech message, if config.gTTS is set to True.

Changes in version 27.02:
* Fixed YouTube downloader mini browser buttons.
* Now url is checked before passing to yt-dlp to list available formats.

Changes in version 27.01:
* Added config.maximumIconButtonWidth
* Fixed loading qt material theme with pyqt5.
* Fixed the issues that icon button are too wide with use of config.maximumIconButtonWidth.
* Fixed loading toolbar on Classic menu layout.

Changes in version 27.00:
* Fixed Main Window resize issues.

Changes in version 26.59:
* Fixed opening mini Control.
* Integrated use of Google text-to-speech feature into Master Control, Mini Control and Note Editor, when there is no offline tts engine.

Changes in version 26.58:
* Now update mp3 file list on media player list.
* Now update mp4 file list on media player list.

Changes in version 26.57:
* Fixed opening Live Filter.
* Fixed opening Library Catalog.

Changes in version 26.56:
* Fixed opening menu plugin Presentation.
* Fixed a display message function.

Changes in version 26.55:
* Added Google text-to-speech feature to context menu if config.gTTS is set to True on non-Windows OS.
* config.gTTS is now configurable via Config flag window.
* Automate installation of gTTS python package.
* Fixed running Google text-to-speech feature on Hebrew text.

Changes in version 26.54:
Added config.gTTS and GTTS::: command to run Google text-to-speech feature.
        # Google text-to-speech feature
        # gTTS and sox are required to run this feature.
        # To install, e.g., on Arach Linux:
        # 'pip3 install gTTS'
        # 'sudo pacman -S sox'
Will add this feature to context menu next update.

Changes in version 26.53:
* Fixed context menu and plugin features with pyqt5.
* Updated config.qtLibrary when either PySide2 or PyQt5 is not found and alternative is installed.

Changes in version 26.52:
* Fixed extra spaces in plain chapter mode.
* Fixed opening note editor.

Changes in version 26.51:
* Tested on Arch Linux webtop running on Apple M1 laptop.
* Fixed a line to support running on Arch Linux webtop.
Reference on webtops: https://docs.linuxserver.io/images/docker-webtop

Change in version 26.50:
* Fixed _menu::: command on web version.

Change in version 26.49:
* Fixed opening non-public pdf on web version.

Change in version 26.48:
* Fixed opening non-public reference books with web version.

Change in version 26.47:
* Fixed web version private commentary and library items.

Change in version 26.46:
* Fix advanced search
* Update master control after adding a new Bible collection

Change in version 26.45:
* Fix access to GitHub

Change in version 26.44:
* Don’t open new tab in mini-control when enter verse
* Add hint to mini-control for lexicons

Change in version 26.43:
* Clear history when clearing tabs
* Add create lexicon from notes
- https://github.com/eliranwong/UniqueBible/wiki/Create-Lexicon-from-Notes-files

Change in version 26.42:
* Add language tags to theWord Bible import
* Add create commentary from notes
- https://github.com/eliranwong/UniqueBible/wiki/Create-Commentary-from-Notes-files

Change in version 26.41:
* Add reverse lexicon

Change in version 26.40:
* Save Bible in populateTabsOnStartup history

Change in version 26.39:
* Modify populateTabsOnStartup to restore tabs based on displayed values rather than history values

Change in version 26.38:
* Fix long Bible verse searches in Chinese

Change in version 26.37:
* Fix multiple verses in web view

Change in version 26.36:
* Add 'Ancient Greek for Everyone' PDF

Change in version 26.35:
* Add support to read a single Bible verse

Change in version 26.34:
* Fix window not maximized on startup in Windows

Change in version 26.33:
* Show Bible in either main window or study window for “Harmonies and Parallels” with “Open Bible reference in Bible window” button

Change in version 26.32:
* Add HHBD (Hindi) Bible and MP3 files

Change in version 26.31:
* Update search result count for live filter

Change in version 26.30:
* Replace youtube-dl with yt-dlp
- https://github.com/eliranwong/UniqueBible/wiki/Download-Youtube-audio-video

Change in version 26.29:
* Add ability to limit search by books
- https://github.com/eliranwong/UniqueBible/wiki/Searching-Bible

Change in version 26.28:
* Only display books that are in that Bible in web menu

Change in version 26.27:
* Add search all lexicons and dictionary option

Change in version 26.26:
* Add Github startup plugin download support

Change in version 26.25:
* Set style of Bible version button in toolbar in Focus layout
* Move Reference button config in Focus layout
* Remove A copy of configurations is saved in file config.py message

Change in version 26.24:
* Only display advanced options in Focus and Aleph menus in dev mode
* Fix location of export to Word icon in Focus sidebar
* Add MIB button to Focus right side bar

Major changes in version 26.23:
* Fix changing Bible for presentation in master control
* Fix starter menu layout not starting when toolBarIconFullSize is true
* Fix Bible list in starter menu after downloading a Bible

Major change in version 26.22:
* Add collection to Bible search
* Fix html menu in starter layout

Major change in version 26.21:
* Move hymn lyrics to Github
* Harden http server

Major change in version 26.20:
* Fix repeating sections when building a book

Major change in version 26.19:
* Fix popup window not being able to display data greater than 1MB

Major change in version 26.18:
* Fix search all books not searching subfolders

Major change in version 26.17:
* Add PARALLELVERSES command

Major changes in version 26.16:
* Fix devotional download on new install
* Fix building book from notes containing images and links

Major changes in version 26.15:
* Add create devotional from notes
* Add import devx files (experimental)

Major change in version 26.14:
* Add generate save settings macro

Major change in version 26.13:
* Add devotionals

Major change in version 26.12:
* Add support for Github plugins menu repo

Major changes in version 26.11:
* Add ability to create a book from PDF files
* Fix download from Github

Major changes in version 26.10:
* Add jump to anchor for books
* Generate book link before verse parsing
* Fix opening book with only one chapter in master control

Major changes in version 26.09:
* Custom cross reference module support
- https://github.com/eliranwong/UniqueBible/wiki/Custom-cross-reference-module

Major changes in version 26.08:
* Change media player shortcut to Ctrl+Shift+V for brachys and micron
* Fix not able to open pdf file in book
* Set refButtonClickAction default to master

Major changes in version 26.07:
* Change showLibraryCatalogDialog shortcut to Ctrl+Shift+Y in micron
* Show all files in pdf subdirectories in open pdf files

Major changes in version 26.06:
* Fix sub directories navigation in master control for Windows
* Open Library Catalog window in center
* Add Greek/Hebrew selection to Morphology Search

Major changes in version 26.05:
* Show exact match for lexicon search first
* Fix search book if it’s in a subfolder

Major change in version 26.04:
* Add Remote/GitHub support to Library Catalog

Major change in version 26.03:
* Add Library Catalog
- https://github.com/eliranwong/UniqueBible/wiki/Library-Catalog

Major changes in version 26.02:
* Show different Bible version on hover
* Fix font issue in Hebrew morphology search
* Count files in subdirectories in Info dialog

Major changes in version 26.01:
* Add Commentary book intro to HTML menu and miniControl
* Add Hebrew support for morphology search

Major changes in version 26.00:
* Fix app startup issue
* Show commentary book intro with name of book only
- Example: `COMMENTARY:::JE-TNK:::Matthew`

Major changes in version 25.99:
* Add Morphology Search tab in Master Control
* Fix VLC player not playing file from master control

Major changes in version 25.98:
* Convert references to links importing refi books
* Filter by active commentaries in miniControl and Master Control

Major change in version 25.97:
* Add TR Bible and MP3 files

Major changes in version 25.96:
* Fix opening DUETC Bible when useLiteVerseParsing is false
* Add Master Control tabs to Classic menu
* Move files in plugins/context to https://github.com/eliranwong/UniqueBible_Plugins_Context
- For more info see: https://github.com/eliranwong/UniqueBible/issues/708

Major changes in version 25.95:
* Fix Bible font in instant window if also showing favorite Bible
* Add shortcut for Master Control media player

Major changes in version 25.94:
* Use Bible font in instant window
* Only check shortname for commentaries

Major changes in version 25.93:
* Fix links in Dakes commentary
* Make it easier to search dictionary in miniControl

Major changes in version 25.92:
* Add more support for Deuterocanonical books
* Added DEUT.bible for download from Github

Major changes in version 25.91:
* Add showMiniKeyboardInMiniControl flag

Major changes in version 25.90:
* Show all books in a translation (including Apocrypha) in miniControl
* Add Bible info on hover in miniControl
* Fix import theWord interlinear Bible and RTL
* Only have one popup window

Major changes in version 25.89:
* Fix links for books generated from notes
* Only change size of popup when it gets created

Major changes in version 25.88:
* Support parsing theWord OT files with morphology
* Don't parse images in HTML books
* Create popover.html file with forceGenerateHtml is true
* Fix crash when book file is missing

Major changes in version 25.87:
* Fix show all and favorite books in master control
* Add remove favorite book button in master control

Major changes in version 25.86:
* Always parse links in book conversion
* Strip tags when doing verse comparision
* Don't parse embedded images
* Always use passed in command when title changes

Major changes in version 25.85:
* Create Github repo of context plugins
* Add case sensitive mode for live filter
* Import theWord OT files
* Add bible collections shortcut

Major changes in version 25.84:
* Enhanced display of favourite bibles with multiple verses.

Major changes in version 25.83:
* Add ability to navigate directories in master control for books
* Add Github commentary description

Major change in version 25.82:
* Add Save HTML
* Add disableOpenPopupWindowOnStartup config flag

Major change in version 25.81:
* Support mp3 files from faithcomesbyhearing.com

Major changes in version 25.80:
* Add parseTextConvertHTMLToBook config flag
* Fix starting http-server on Amazon Fire tablet

Major change in version 25.79:
* Add SEARCHLEXICON command

Major changes in version 25.78:
* Add Live Filtering
- https://github.com/eliranwong/UniqueBible/wiki/Live-Filtering
* Fix Windows shortcut if space in path
* Add disableLoadLastOpenFilesOnStartup config flag to turn on/off loading files automatically on startup

Major changes in version 25.77:
* Import theWord ONT Bibles
* Fix reading Bibles without a default folder
* Allow Bible mp3 folders to have the book name in it
* Remove VLC debugging
* Open by default Bible tab in minicontrol for Aleph menu
* Add defaultMP3BibleFolder config

Major changes in version 25.76:
* Import theWord NT Bibles
* Fix display of Strongs if at end of line
* Add VLC debug

Major change in version 25.75:
* Add Copy with reference in context menu

Major changes in version 25.74:
* Add ability to read multiple chapters
- READBIBLE:::Matt. 1-28
- READBIBLE:::KJV:::Matthew 1, Mark 1, Luke 1, John 1
- READBIBLE:::KJV:::Matt. 1-5
- READBIBLE:::KJV:::1 Cor. 13, Rev. 1:::soft-music
* Add more info to InfoDialog

Major changes in version 25.73:
* Add support to import bblx Bibles in RTF format
* Fix read Bible icon showing when missing data files
* Fix running cmd twice

Minor change in version 25.72:
* Add sync Study Bible view for single click action

Minor change in version 25.71:
* Fix missing gui/MediaLauncher.py

Major change in version 25.70:
* CMD only requires config.enableCmd to be True in http-server mode

Major change in version 25.69:
* Support multiple Bible mp3 renditions

Major change in version 25.68:
* Add Download Bible mp3 files from GitHub

Major change in version 25.67:
* Add READBIBLE to play Bible mp3 file
* https://github.com/eliranwong/UniqueBible/wiki/MP3-MP4-files,-VLC,-and-reading-Bibles
* Always use master control for comparison/parellel/difference icon

Major change in version 25.66:
* Added media player
* Added config.favouriteBiblePrivate, config.favouriteBiblePrivate2, and config.favouriteBiblePrivate3 for private web access.

Major change in version 25.65:
* Fixed note to book conversion.

Major changes in version 25.64:
* Custom song book support, Bible collection

Major change in version 25.63:
* Merged pull request https://github.com/eliranwong/UniqueBible/pull/585

Major change in version 25.62:
* Added a context plugin Search LN.

Major changes in version 25.61:
* Fixed import MySword bible module.
* Fixed get last verse link on web version side navigation.

Major change in version 25.59, 25.60:
* Fixed missing bible or commentary version.

Major change in version 25.58:
* Added night theme.

Major change in version 25.57:
* Open PDF finder automatically and search for all books and PDFs.

Major changes in version 25.56:
* Added QR code scanner page on web version.
* Added QR code scanner buttons to web version layouts.
Remarks: This feature could be useful, for example, in a bible study group.  
        The lead open a passage and generate a QR code.  
        Everyone else in the same group use the scanner to scan the code to open the same passage.

Major changes in version 25.55:
* Added search all pdf ability
* Fixed installation on macOS, Linux and Android.

Major changes in version 25.53, 25.54:
* Added support of opening web version with last-opened verse.  Each user has their own record of the last-opened verse stored in browser cookie.
* Removed config.webPublicVersion.
* Fixed getBibleChapter on web version.

Major changes in version 25.52:
* Fixed web version .bible command for concurrent users opening different bible versions.
* Check if browser cookie is enabled when a web version page is loaded.

Major changes in version 25.51:
* Fixed custom fonts for parallel and comparison.
* Fixed changing bible version for concurrent users in web mode.

Major changes in version 25.46, 25.47, 25.48, 25.49, 25.50:
* Fixed .bible command for concurrent bible browsing in web mode.
* Fixed .bible command entered directly via command input field.
* Fixed verse feature commands in web mode.
* Fixed chapter feature commands in web mode.
* Fixed book feature commands in web mode.

Major change in version 25.45:
* Improved .setWebUBAIcon content displayed on web version.

Major change in version 25.44:
* Added custom font support for compare and parallel bible reading.

Major changes in version 25.42, 25.43:
Changes about web version:
* Added selection of UBA icon colour.
* Added support of organisation / church's icon and link.
* Added config.webUBAIcon, config.webOrganisationIcon and config.webOrganisationLink
* Added .setWebUBAIcon command to select UBA icon.
* Added .latest command.
* Added a help button.
* Fixed the issue that _setconfig::: did not work even login as an administrator.

Major change in version 25.40, 25.41:
* Fixed admin login on web version.

Major changes in version 25.39:
* Added admin login to web version.  Default password: UBA123.  Public server should change password.
* Added .login and .login commands to web version.  To login, run .login:::UBA123.  Run .logout to log out.
* Added admin commands.
* Removed config.httpServerStopCommand.

Major changes in version 25.38:
* Fixed a typo on .setVerseNoDoubleClickAction on web version.
* Fixed command input on iOS.
* Added translations to Library and Search pages headings.
* Added links to user manual.

Major changes in version 25.37:
* Changes about web version:
- Fixed duplicated bible on dropdown selection.
- Added a button to launch UBA command in a new window.
- Added clear button to commput input.
- Added side navigation button to full layout.
- Added tooltips to buttons.

Major change in version 25.36:
* Added search icons to two items on web version side navigation menu.

Major changes in version 25.35:
* Fixed database migration on http-server.
* Fixed concordance features on devices running web version without running desktop version.

Major changes in version 25.34:
* Improved web version side navigation:
- Added previous and next chapter buttons.
- Added dividers to separate items into sections.

Major change in version 25.33:
* Fixed web version bible version selection update when swap between public and private marvelData.

Major changes in version 25.32:
* Improved web version:
- Added bible version selection on mini layout side navigation menu.
- Rearranged items on mini layout side navigation menu.
- Now able to close side navigation bar by clicking main content or command input.
- Set maximum QR code image size so that it scales down on small screen.

Major changes in version 25.31:
* Added verse feature selection on web version side navigation mini layout menu.

Major changes in version 25.30:
* Added config.webPublicVersion
* Set John 3:16 as initial command if config.webPublicVersion is set to True.

Major change in version 25.29:
* Exempt private data access on web version from adding to history records.

Major changes in version 25.28:
* Added support of access to private data on web version.
* Added options config.marvelDataPublic, config.marvelDataPrivate and config.webPrivateHomePage for developers to access private data.
    e.g. with the following settings, developers can access data in directory 'myPrivateData' via http://ip_address/private.html
    config.marvelDataPublic = 'marvelData'
    config.marvelDataPrivate = 'myPrivateData'
    config.webPrivateHomePage = 'private'

Major change in version 25.27:
* Fixed live google map links on web version.

Major changes in version 25.26:
* Changed icon colour for web version.
* Changed a few Chinese translations.

Major change in version 25.25:
* Changed the colour of http-server bible navigation menu so that it looks consistent with the theme being used.

Major change in version 25.24:
* Fixed macros

Major change in version 25.23:
* Fixed an issue that cannot launch http-server.

Major change in version 25.22:
* Display command upon opening a web version page.

Major change in version 25.21:
* Added epub viewer to web version.

Major changes in version 25.19, 25.20:
* Fixed strange bible version names displayed before chapter numbers.
* Changes are made about http-server:
    - Changed bible navigation menu background colour.
    - Rearranged side navigation bar items.
Special thanks to Oliver Tsang for setting up server to host bible.GospelChurch.uk and MarvelBible.com
Remarks: http-server can also installed locally for offline use, e.g. desktop or Android phone.

Major changes in version 25.18:
* Better support of Chinese interface on http-server.
* Added traditional and simplified chinese bible menu to http-server.

Major changes in version 25.17:
* Added focusCommandInput
* Fixed download file with single quote

Major change in version 25.16:
* Added initial support of Chinese interface to http-server.

Major change in version 25.15:
* minor revision.

Major change in version 25.14:
* Added pdf support to http-server

Major changes in version 25.13:
* Fixed hyperlinks on web version.
* Added Bible Navigation Menu with book / chapter / verse selection to web version layout.
* Changed default config.webUI to mini, as more features are directly accessible via mini layout.

Major changes in version 25.12:
* Apply changes in this PR: https://github.com/eliranwong/UniqueBible/pull/524/files

Major changes in version 25.11:
* Maximise the height of http-server page content.
* Fixed http-server page fullscreen issue on iOS.

Major changes in version 25.08, 25.09, 25.10:
* Fixed chromecast on old TV.
* Maximise the width of http-server mini layout command input.

Major change in version 25.07:
* Changed button icon on http-server mini layout.

Major change in version 25.06:
* Fixed button sizes on iOS.

Major changes in version 25.05:
* Added a QR code button to http-server default layout.
* Added a QR code link to http-server mini layout.

Major changes in version 25.04:
* Added a bible link to verse comparison heading.
* Http-server page now loads _setconfig::: link automatically.
* Http-server layout now updates favourite bible buttons after a change of setfavouritebible, setfavouritebible2 or setfavouritebible3.
* Added command shortcuts to http-server:
            .setfavouritebible2
            .setfavouritebible3
            .setversenosingleclickaction
            .setversenodoubleclickaction

Major change in version 25.03:
* Corrected a subheading in http-server download page.

Major change in version 25.02:
* Changed http-server mini layout side navigation bar light theme colour.

Major change in version 25.01:
* Added config.httpServerStopCommand

Major change in version 24.99:
* Fixed http-server favicon.

Major changes in version 24.98:
* Added .topics command to http-server.
* Added items to http-server mini layout side navigation bar.

Major changes in version 24.97:
Improvement about http-server:
* Fixed loading _biblenote command.
* Add customised favourite bible buttons on default layout.  Users can customise by editing config.favouriteBible, config.favouriteBible2, and config.favouriteBible3.
* Added side navigation bar to mini layout.

Major change in version 24.96:
* Fixed commentary menu on http-server.

Major change in version 24.95:
* Added Collections Dataset to http-server download page.  Without downloading collections data, _promise and _harmony commands do not work.
* Changed two buttons http-server default layout.

Major change in version 24.94:
* Http-server reloads download page after an item is downloaded.

Major change in version 24.93:
* Fixed a readline issue with http-server.

Major change in version 24.92:
* Added config option 'webCollapseFooterHeight' for running http-server.

Major change in version 24.91:
* Added support of multiple users for http-server.

Major changes in version 24.90:
* Fixed scolling to selected verse when comparison feature is loaded on http-server page.
* Fixed a load loadBible javascript function for http-server.
* Added '_setconfig:::' command keyword for developers to set configurations, e.g. _setconfig:::favouriteBible:::'BSB'
* Added '.setFavouriteBible' and 'setstandardabbreviation' as shortcut commands to http-server.

Major changes in version 24.89:
* Added .presentationMode command to http-server, to toggle presenatation mode.
* Added .globalViewer command to http-server, to toggle global viewer for presentation mode.

Major changes in version 24.88:
Improved http-server:
* Added support connecting via a global server.
* Added a current verse button.
* Improved layout for mobile view.

Major changes in version 24.87:
* Fixed bible menu on http-server.
* Fixed loading startup plugins on http-server.

Major changes in version 24.85, 24.86:
* Added several more built-in shortcut commands.
* Added support of user customised command shortcuts to http-server.
https://github.com/eliranwong/UniqueBible/wiki/UBA-Startup-Plugins#configcustomcommandshortcuts

Major changes in version 24.84:
* Added the following command shortcuts to http-server.
    .biblemenu - Open bible menu.
    .commentarymenu - Open Commentary menu.
    .timelinemenu - Open Timeline menu.
    .names - Open bible names content page.
    .characters - Open bible characters content page.
    .maps - Open bible maps content page.
    .parallels - Open bible parallels content page.
    .promises - Open bible promises content page.
Users can find links to these commands from http-server help page.
This helps quick access to common resources when UBA is running on Android / iOS / mobile platforms.

Major changes in version 24.83:
* Restored http-server page diaplying bible chapter numbers. 
* Fixed http-server displaying commentary menu page.
* Improved http-server help page.

Major changes in version 24.82:
* Fixed qrcode on Android.
* Fixed launching http-server with the latest history record.
* Excluded download::: or qrcode::: command from being recorded in history.

Major change in version 24.81:
* Added .increasefontsize and .decreasefontsize to http-server.

Major changes in version 24.80:
* Fixed startup plugin 'addHoverFeatureToBibleLinks'.
* Fixed loading bible map library with http-server.

Major change in version 24.79:
* Fixed loading high-quality timeline and map images with http-server.

Major change in version 24.77:
* Added .menu command to http-server.

Major changes in version 24.76:
* A bundle of bible feature shortcuts created for http-server.  Read more via http-server help page.
* Create a '.myqrcode' command to display a QR code for other users connecting to the same UBA http-server.

Major changes in version 24.75:
* Added display of cmd::: output and error.
* Fixed qr code plugin.

Major change in version 24.74:
* Ported startup plugins to http-server.

Major changes in version 24.73:
* Added qrcode startup plugin.
* Added .theme command to http-server.
* Added 'webFullAccess' option to config.py.
    When 'webFullAccess' or 'developer' is set to True, users can have full access to the http-server features, including shutdown or restart.

Major change in version 24.72:
* Added web presentation mode to http-server.
    When config.webPresentationMode is set to True, only the primary user, the first one who connect, have full control and ability to share content to other users.

Major changes in version 24.70, 24.71:
* Fixed history record.
* Revised web menu layout.

Major changes in version 24.69:
* Revised web layout.
* Added .layout command to swap available web interface layouts.

Major change in version 24.68:
* Fixed font size of close / restart server message on mobile phone.

Major changes in version 24.67:
* Added a .import command added to http-server for importing resources.
* A wiki page about http-server is created at: https://github.com/eliranwong/UniqueBible/wiki/Cross-platform-Web-Version

Major change in version 24.66:
* Fixed book button.

Major change in version 24.65:
* Added a .search command to display search options on http-server page. 

Major change in version 24.64:
* Added a .library command to http-server for quick access of bible commentaries and reference books.

Major change in version 24.63:
* Fixed third party dictionary lookup.

Major change in version 24.62:
* Added restart function to desktop app.

Major changes in version 24.61:
Improved http-server:
* Improved .restart command.
* Added .update command, to update and re-start http-server.  This works only if config.developer is set to True.

Major change in version 24.59:
* Added a .restart command to http-server.

Major changes in version 24.58:
Improved http-server
* Added github resources to download page.
* Ported _history::: and _historyrecord commands.

Major changes in version 24.56, 57:
Improved http-server:
* Fixed single-click verse action.
* Fixed double-click verse action.
* Fixed history records.
* Fixed classic html menu.
Added command keyword _vndc:::
* UBA now distinguish _vndc::: from _menu:::

Major changes in version 24.55:
Improved http-server:
* Improved documentation about config.py
* Fixed display content with browser back button.
* Fixed font size of index page.
* Ported the classic html menu page to http-server page.
* Improved handling of change of UBA commands.
* Added a feature menu button.
* Added config.httpServerPort and config.telnetServerPort.
* Added thrid-party resources wiki page link to download page.

Major change in version 24.54:
* Fixed download page.

Major change in version 24.53:
* Added a command keyword IMPORT:::

Major changes in version 24.52:
Multiple enhancement about http-server:
* Added javascript and css versions to ensure the latest ones are used on client side.
* Added links on help page to display commands in command input.
* Added a config page showing current config value.
* Improved mini webUI: added a help button, enlarge iframe.

Major change in version 24.51:
* Improved display of download page.

Major change in version 24.50:
* Enable .stop command only when config.developer is set to True.

Major change in version 24.49:
* Added a download page for http-server, accessible by running .donload command.

Major change in version 24.48:
* Added support of downloading marvel datasets with download:::marveldata:::[resource].

Major change in version 24.47:
* Added config.webUI to specify web ui.  Currently available option:  (default) or mini.

Major change in version 24.46:
* Added a Toggle fullscreen button to http-server page. 

Major changes in version 24.45:
Several enhancement about http-server:
* Added buttons to navigate bible
* Added ability to open content by clicking links.
    e.g. do a bible search by running searchNT:::love, then click a verse link to open that passage.

Major change in version 24.44:
* Added scrolling feature to bible display with http-server.

Major change in version 24.42, 43:
* Added css and javascript support to http-server display.

Major changes in version 24.39, 24.40, 24.41:
* Changed help and stop commands in http-server to .help and .stop, so users can search bible for word like help.
* Fixed http-server charset issue.
* Fixed http-server mobile view issue.

Major changes in version 24.38:
* Added initial support of running UBA as a http-server.
    Known issues to be fixed:
        - non-English characters are not readable.
        - html content is not properly displayed, e.g. run text:::MIB
* Added support to run http-server with command python3 uba.py http-server.
* Added loading Qt library when UBA is run as a http-server.
* Changed http-server port from 80 to 8080, as 80 is blocked by default on some devices, like Android, Chromebook, etc.

Major change in version 24.37:
* Improved display of content via telnet-server.

Major changes in version 24.36:
* Improved display of content via telnet-server.
* Replaced SHOWSEARCH command with SEARCHALL command.
* Added commands to search specific portion / book of the bible:
    SEARCHTNK::: search Tanakh only
    SEARCHOT::: search OT only
    SEARCHNT::: search NT only
    GEN::: search Genesis only
    EXOD::: search Exod only
    ...
    REV::: search revelation only

Major changes in version 24.35:
* Added support of sending download::: command to telnet-server.
* Added a config flag enableCmd, to enable CMD::: command keyword.  It is set to False by default for security reason.

Major changes in version 24.34:
* Added support of running telnet-server without installing PySide2 or PyQt5.
* Added support of running telnet-server on Android with Termux (WITHOUT root)
    Read https://github.com/eliranwong/UniqueBible/wiki/Running-telnet-server-on-Android

Major change in version 24.33:
* Fixed telnet-server.

Major changes in version 24.32:
* Added config.qtLibrary in config.py, allowing users to specify a Qt library for GUI.  Two valid options are pyside2 and pyqt5. 
* Limit filename length displayed on book and external file buttons.

Major change in version 24.31:
* Fixed resizing parallel window and bottom window with keyboard shortcuts.

Major change in version 24.30:
* Fixed opening mini Control when PyQt5 is used.

Major changes in version 24.29:
* Added support to open ePub Viewer in New Window / Full Screen.
* Added support to swap display of ePub viewer between Study Window / New Window / Full Screen.

Major change in version 24.27, 24.28:
* Installed Bibi epub viewer for Windows users.  Previously installed ePub viewer does not work on Windows.
  Bibi epub viewer is loaded only on Windows platform.

Major changes in version 24.26:
* Now bring popover window to the front when new content is loaded and the window was placed behind the main window.
* Renamed config flag bookOnNewWindow to openBookInNewWindow.
* Renamed config flag pdfViewerOnNewWindow to openPdfViewerInNewWindow.
* Added ability to swap display of pdf viewer between new window and study window without modifying config.openPdfViewInNewWindow.
* Added option Full screen to context menu section Open Content in.
* Added parsing options to context menu when PDF viewer is opened in a new window.
* Partailly added fullscreen support to YouTube Browser for enabling fullscreen video. (will complete in upcoming update)

Major change in version 24.25:
* Added a config flag openPdfViewerInNewWindow to open PDF viewer on a new window.

Major changes in version 24.24:
* Fixed compatability issues with PyQt5
* Fixed Focus menu layout to work with PyQt5
* Renamed config flag useFastVerseParsing to useLiteVerseParsing
* Added 3 config flags about verse parsing:
    config.parseEnglishBooksOnly
    config.searchBibleIfCommandNotFound
    config.regexSearchBibleIfCommandNotFound

Major change in version 24.23:
* Fixed the issue that Strong's numbers were mistaken as bookless references in parsing bible verse references.

Major change in version 24.22:
* Corrected a text in Find Text plugin dialog.

Major change in version 24.21:
* Fixed the issue that Study Window page was not being reloaded upon request.

Major changes in version 24.20:
* Deleted 2 menu plugins:
    'plugins/menu/Find Text Bible Window.py'
    'plugins/menu/Find Text Study Window.py'
* Added 3 context plugins:
(These context plugins search for user selected text in the currently opened page(s).
If text is not selected, a input dialog is opened for users to enter text manually.)
    'plugins/context/Find Text_Ctrl+Alt+F.py'
    'plugins/context/Find Text Bible Window.py'
    'plugins/context/Find Text Study Window.py'
Remarks: Using key combination Ctrl+Alt+F to search for text in both Bible page and Study Window pages.

Major changes in version 24.18, 19:
* Added 2 menu plugins to find text on Bible Window and Study Window.

Major change in version 24.17:
* Fixed opening content on New Window.

Major change in version 24.16:
* Fixed copying html codes.

Major changes in version 24.15:
* Renamed 1 context plugins to change its keyboard shortcut:
    plugins/menu/Google Drive Notes Backup_Ctrl+Shift+K.py
* Added 2 context plugins with keyboard shortcuts to context menu features:
    plugins/context/Ctrl+Alt+B Open Verses in New Window_Ctrl+Alt+B.py
    plugins/context/Ctrl+Shift+B Open Verses in Bible Window_Ctrl+Shift+B.py

Major change in version 24.14:
* Added dark theme support to pdf reader.

Major change in version 24.13:
* Fixed updating changes of active verse number colour without restart.

Major changes in version 24.12:
* Added a startup plugin highlightActiveVerse to highlight actively chosen verses.
    Remarks: Users can enable or disable individual plugins via plugin menu.
* Added colour selection dialog to customise colours to work with highlightActiveVerse plugin.

Major change in version 24.11:
* Added a menu plugin Extract Text to use python package textract to extract texts from various types of files.

Major change in version 24.10:
* Added DOWNLOAD command to be able to download marvelData files from Google and Github repos.

Major change in version 24.09:
* Added a menu plugin PowerPoint Text to extract text from PowerPoint Files (*.pptx) and display on UBA.

Major changes in version 24.08:
* Improved display of differences in version comparison.
* Improved display of search result exported Word Document.

Major change in version 24.07:
* Improved display of single verse version comparison of with use of table.

Major changes in version 24.06:
* Renamed 1 context plugin:
    'plugins/context/Insert Text into Note Editor_Ctrl+Shift+I.py'
* Added 5 new context plugins:
    'plugins/context/Insert Text into Existing Word Document.py'
    'plugins/context/Insert Text into NEW Word Dcoument.py'
    'plugins/context/Insert References into Existing Word Document.py'
    'plugins/context/Insert References into Note Editor.py'
    'plugins/context/Insert References into NEW Word Dcoument.py'

Major changes in version 24.05:
* Added support to export Bible / Study Tab to Word Document (*.docx).
* Added icon buttons on Focus menu layout to export content to Word Document.

Major change in version 24.03, 24.04:
* Added a config flag 'parseBooklessReferences', giving users an option to parse bookless references in selected text.
    This option is especially using for parsing references in non-tagged text, like pdf or word document.

Major change in version 24.02:
* Fixed bblx import issue

Major change in version 24.0, 24.01:
* Added a file dialog to specify custom database directory.

Major changes in version 23.99:
* Fixed using shared marvelData directory in some features.

Major changes in version 23.98:
* Relocated several toolbar icon buttons on Focus menu layout.
* Added a message 'No PDF is currently opened!' when there is no pdf activvely opened and users click the 'Save PDF current page' button.

Major changes in version 23.97:
* Added command keyword _savepdfcurrentpage:::
* Added a toolbar icon button to save history of currently opened pdf page number.

Major change in version 23.96:
* Added a config flag config.updateWithGitPull, to update UBA with command git pull.
    This option is set to False by default.
    It works only if users use git clone to install UBA.
    Read more about use of git at: https://github.com/eliranwong/UniqueBible/wiki/Using-Git

Major changes in version 23.95:
* Fixed updating toolbar 'external file button' when a pdf or docx file is opened.
* Added a config variable 'pdfTextPath' to keep a record of the last opened pdf file path.
* Added a command keyword ANYPDF::: to open pdf file anywhere locally where users have read permission.
* Added a context plugin Save PDF Page History.
    User can select a page number and select 'Save PDF Page History' from right-click context menu 'plugins', to add a history record for opening pdf file with a specific page number.
    This plugin works on currently opened / the latest opened pdf, recorded in config.pdfTextPath.
    If no number is selected, a gui dialog will show up to allow users to specify a page number to be recroded in history.
    If the specified page number is larger than the pdf file total page number, page 1 is opened by default.

Major change in version 23.94:
* Added a config flag 'parseBookChapterWithoutSpace'.
    This option enables UBA parser to parser references without space between book name and chapter number.

Major change in version 23.93:
* Fixed opening master control Search tab via context menu.

Major changes in version 23.92:
* Optimised the speed of parsing a single reference. e.g. Rm / Rm 5 / Rm 5:8.
* Fixed parsing references with books having only one chapter.
* Added Open in Study Window to single-click / doublick-click verse action.
* Added a config flag convertChapterVerseDotSeparator.
    This is an option to convert the dot sign, which separates chapter number and verse number in some bible references, to colon sign so that UBA parser can parse those referencces.
    If this option is enabled, UBA parser can parse references like 1Th 3.16-18, Rm 5.8.
* Added Open in Book in right-click context menu.
    This option is especially useful when reading pdf / word document / epub / notes when there are bible verse references without book names
    It is common that references contain only a chapter number and verse number when book name is implied somewhere in the context.
    Users can now select text containing only chapter and verse number, e.g. 3:16 and select a book from context menu Open in Book, e.g. John.
    If a book is selected from context menu Open in Book without selected text, the first chapter of the selected book will be opened.

Major change in version 23.91:
* Fixed tagging multiple Strong's numbers in simple reading mode.

Major changes in version 23.90:
* Added config.help to hold documentation about file config.py.
* Added a gui dialog to display documentation about file config.py.  It is accessible via menu > Information > config.py.

Major changes in version 23.88, 89:
* Added a icon button on Focus menu layout to open Word Document file dialog.
* Added 1 new plugin and renamed 4 plugins:
  'plugins/menu/Word Document NEW_Ctrl+Shift+N.py'
  'plugins/menu/Word Document OPEN_Ctrl+Shift+O.py'
  'plugins/menu/Word Document EDIT_Ctrl+Shift+E.py'
  'plugins/context/Insert into Note Editor_Ctrl+Shift+I.py'
  'plugins/context/Run as Command_Ctrl+Alt+C.py'

Major change in version 23.87:
* Added an example of simple bible link in demo Word Document 'marvelData/docx/demo.docx'.

Major changes in version 23.86:
* Fixed custom UBA command hyperlink containing bible verse references.
* Added support of custom UBA command hyperlink for loading Word Document (*.docx) content.
* Added an example of custom UBA command hyperlink in demo Word Document 'marvelData/docx/demo.docx'.

Major changes in version 23.85:
* Fixed loading notes with embedded images.
* Set notes directory as default directory when open / save dialog is opened in Note Editor.

Major changes in version 23.84:
* Renamed context plugin Charts to Charts and Table
* On top of previously available charts, context plugin Charts and Table now displays an additional table of bible verse references sorted by books.

Major changes in version 23.83:
* Improved loading speed loading large-size Word Document when config flag parseWordDocument is enabled.
* Improved loading speed loading Word Document when document contains images.
* Changed default value of config flag parseWordDocument to True.
* Added a demo Word Document marvelData/docx/demo.docx.

Major changes in version 23.82:
* UI tweaks, revised Info and Update dialogs.
* Improved performance of parsing large-size text, by spliting huge text into chunks for parsing.
* Added a config value noOfLinesPerChunkForParsing:
        # Large-size text is divided into chunks before parsing, in order to improve performance.  
        # This option specify maximum number of lines included into each chunk.  
        # Too many or too little can affect performance.  
        # Choose a value suitable for your device.  
        # Generally, device with higher memory capacity can handle more numbers of line in each chunk.
* Added a dialog to change value of noOfLinesPerChunkForParsing.  The dialog is accessible via Focus, Aleph & Classic menu layout.

Major change in version 23.80, 81:
* Adjust programmatically the height of bar chart generated by context plugin Charts.

Major changes in version 23.79:
* Set initial window size of charts generated by context plugin Charts
* Added total number of verses to chart display.

Major changes in version 23.78:
* Set globals options for running plugin scripts.  This would make writing a plugin more flexible.
* Added a new context plugin Charts.  It generates a pie chart and a bar chart based on bible references in selected text or whole page content.
* A wiki page is created about this new plugin https://github.com/eliranwong/UniqueBible/wiki/Charts

Major changes in version 23.77:
* PDF file paths are now added to Files history records when they are loaded with keyword command PDF:::.
* Word Document file paths are now added to Files history records when they are open with open docx file dialog, e.g. plugin Word Document.

Major change in version 23.76:
* Plugin ePub Viewer does not run on Windows.  It is now prevented from loading, which causes crashes on Windows.

Major changes in version 23.75:
* Added support of loading Word Document with dark theme.
* Added a config flag parseWordDocument, to parse Word Document content on loading.
Remarks: It takes longer to load a Word document if this option is enabled.
         Without enabling this option, users can still open bible references by selecting text and use Open with feature on right-click context menu.

Major changes in version 23.74:
* Added a menu plugin Word Document EDIT.
* Removed two unused packages.

Major change in version 23.73:
* Fixed patch file.

Major changes in version 23.72:
* Added a menu plugin to open an ePub viewer on Study Window.
* Added command keyword DOCX::: to open imported word document on Study Window, e.g. DOCX:::test.docx, where test.docx is placed in marvelData/docx.
* Added support of loading images and text styles in Microsoft word documents (*.docx).
* Added support of loading pdf files in customised marvelData path.
* Added Word Document section in Master Control > Libaray 2 for quick access of imported Word documents.
* Added a menu plugin Word Document.

Major changes in version 23.71:
* Focus menu layout Open File now open notes directory as default.
* Added PdfDialog to open pdf files located inside / outside marvelData/pdf, accessible with pdf icon, right next to YouTube icon.
* Added a menu plugin PDF Document to open the PdfDialog mentioned above.
* Added Import button and Others button to Master Control > Library 2 > PDF.

Major changes in version 23.70:
* Added ability to load pdf files located outside marvelData/pdf, without import.
* Added ability to import local pdf files into folder marvelData/pdf.

Major change in version 23.69:
* Fixed openPdfFileDialog.

Major change in version 23.68:
* Fixed loading pdf files on Windows.

Major changes in version 23.67:
* Added ability to load pdf files
* Users can add pdf files to folder marvelData/pdf or download some sample pdf files from github.
* Added a new tab Library 2 to master control

Major change in version 23.66:
* Added hymns to presentation plugin.

Major change in version 23.65:
* Added a dropdown menu in plugin Presentation for users to select bible version for display.

Major change in version 23.64:
* Added support of downloading commentary, book / maps modules from @darrelwright github repos via UBA menu.

Major change in version 23.63:
* Added support of downloading bible modules from @osteng github repo via UBA menu.

Major change in version 23.62:
* Corrected the file location of plugin Run as Command.

Major change in version 23.61:
* Added a workaround to several context menu features to work with fast verse parsing.

Major changes in version 23.60:
* Added two menu plugins, to use keyboard shortcuts to switch to the next tab in Bible / Study Window without using mouse:
  - plugins/menu/Next Bible Window Tab_Ctrl+Shift+T.py
  - plugins/menu/Next Study Window Tab_Ctrl+Alt+T.py
* Users can hide these plugins using Enable Individual Plugins window.
* Users can also change the keyboard combintion by renaming these two files.

Major change in version 23.59:
* File locations of two plugins were misplaced and now corrected.

Major change in version 23.58:
* Remind users to restart after changing espeak flag in ConfigFlagsWindow.

Major change in version 23.57:
* Fixed loading content with COMPARE::: keyword command, which had an issue on verse reference range.

Major changes in version 23.56:
* Renamed two plugins Google Drive Notes Backup / Restore
* Added two new features on context menu Compare Verses with and Parallel Verses with
    Users can select a verse reference or multiple verse references and compare / parallel the currently opened version with a choosen bible version from the context menu.
    Remarks: Stardard parsing is recommended for these features for users can quickly select a block of text and trigger these features.
    Read about standard parsing more at https://github.com/eliranwong/UniqueBible/wiki/Verse-parsing#remarks

Major changes in version 23.55:
* Added two config values in config.py, with which users can adjust the icon size when Qt-material theme is enabled.
    1 is original full size; the smaller the values the smaller the icon sizes.
    toolbarIconSizeFactor [default: 0.75], sidebarIconSizeFactor [default: 0.6]

Major changes in version 23.54:
* Added a file dialog to Interlinear Data plugins.  Users can now specify filepath of the exported spreadsheet.
* Fixed exporting spreadsheet on Windows.

Major change in version 23.53:
* Fixed patch file.

Major change in version 23.52:
* Added Enable Individual Plugins Window for users to enable / disable individual plugins.
* The window is accessible via menu > plugins or context menu > plugins.

Major changes in version 23.51:
* Fixed spreadsheet export with plugin Interlinear Data
* Added 'xlsxwriter' and 'csv' as alternatives to 'openpyxl' for exporting data into spreadsheet.
  - 'xlsxwriter' is used if 'openpyxl' is not installed.
  - *.csv file is exported instead of *.xlsx file if neither 'xlsxwriter' or 'openpyxl' is installed.

Major changes in version 23.50:
* Added a menu plugin and a context plugin, to view and export interlinear data:
  - plugins/context/Interlinear Data.py)
  - plugins/menu/Interlinear Data.py)
* When plugin Interlinear Data is used as context plugin, data of the first bible verse reference in the selected text are displayed.
* A wiki page is created about this plugin: https://github.com/eliranwong/UniqueBible/wiki/Export-Interlinear-Data

Major changes in version 23.49:
* Added two menu plugins:
  - plugins/menu/Clear Main Tabs.py
  - plugins/menu/Clear Study Tabs.py

Major changes in version 23.48:
* Now distinguish full screen feature from maximised window feature triggered through menu.
* Now toggle full screen through menu.  i.e. when main window is in full screen, it will become normal size or vice versa.
* Now toggle maximised window through menu.  i.e. when main window is in maximised size, it will become normal size or vice versa.

Major changes in version 23.47:
* Added a close button to Config Flags Window.

Major changes in version 23.46:
* Added bible data converter.
* Fixed main window resize issue on Linux.

Major changes in version 23.45:
Revised Set Config Flags Window:
* Added a column to show description on individual items.
* Added a button to restored all config flags default values.

Major changes in version 23.44:
* Now support XML files for multiple import.
* Added search field to plugin Bible Reading Plan.

Major change in version 23.43:
* Fixed missing translations in the following plugins:
    - plugins/menu/圣经阅读计划.py <- Simplified Chinese
    - plugins/menu/聖經閱讀計劃.py <- Traditional Chinese

Major changes in version 23.42:
* Added two Chinese versions of plugin Bible Reading Plan
    Non-Chinese users can safely remove them from folder plugins/menu/
    - plugins/menu/圣经阅读计划.py <- Simplified Chinese
    - plugins/menu/聖經閱讀計劃.py <- Traditional Chinese

Major change in version 23.41:
* Fixed initial scrolling of plugin Bible Reading Plan.

Major change in version 23.40:
* Added Beblia XML import.

Major change in version 23.39:
* Added a menu plugin Bible Reading Plan.
    A wiki page is written about this plugin https://github.com/eliranwong/UniqueBible/wiki/Bible-Reading-Plan

Major change in version 23.38:
* Added support of importing OSIS format bible modules.
    OSIS format bibles can be found at, for example, https://github.com/gratis-bible/bible

Major change in version 23.37:
* Fixed running command from clipboard.

Major change in version 23.36:
* Added a simple context plugin for quickly searching for selected text in the currently opened bible, with keyboard shortcut.
    The file is plugins/context/Search Currently Opened Bible_Ctrl+Shift+F.py
    User cutomisation:
    * You can change the keyboard shortcut combination by changing Ctrl+Shift+F in the filename.
    * You can edit the search command in the file with a text editor, to specify searching which bible version or versions.

Major change in version 23.35:
* Important fix about displaying bible search results.

Major changes in version 23.34:
* Fixed MIB display.

Major changes in version 23.33:
* Added a command keyword _lexicaldata::: to display lexical data on bottom window, e.g. _lexicaldata:::G1234
* Added a startup plugin to do two things:
    1) add mouse over action to existing links displaying lexical data on bottom window:
        e.g. <ref onclick=lex('H1234')>
    2) tag Strong's number / in plain text
        e.g. H1234

Major changes in version 23.32:
* Added Hebrew lexeme transliteration.
* Added concordance data for display.
* Updated a bash script shortcut, launching UBA with gnome-terminal, enabling UBA cli feature.

Major changes in version 23.31:
* corrected lexical data path for update
* improved matching lexical data for certain Strong's numbers.

Major change in version 23.30:
* Updated lexical data.

Major change in version 23.29:
* Improved instant verse display.  A reference link to open OHGBi is added.

Major change in version 23.28:
* Place back a function that had been deleted by mistake in an earlier update.

Major changes in version 23.27:
* Optimised display of OHGBi verses in OHGB concordance and morphology search result.
* Added config.maximumOHGBiVersesDisplayedInSearchResult
    When search result exceeds this number, a OHGBi link is shown instead of full text.
* Added Select Maximum Number of OHGBi Verses dialog to Focus / Aleph / Classic menu layout.
* Fixed Focus menu layout about missing 'enableInstantButton'.

Major change in version 23.26:
* Minor touch on right-click context menu.

Major changes in version 23.25:
* Added a startup plugin to fix colours displayed in dark theme.
* Added config flag enableMenuUnderline

Major change in version 23.24:
* Added config variables activeVerseNoColourLight and activeVerseNoColourDark to customise active verse number colour.

Major changes in version 23.23:
* Renamed Lookup submenu on right-click context menu to Bible Resources.

Major changes in version 23.22:
* Support change of Bible Window bible version when Open with feature is triggered from Study Window without selecting a bible verse reference and config.openBibleInMainViewOnly is set to True.
* Improved morphology search result display by including OHGBi verse text as immediate context.
* Added a config flag addOHGBiToMorphologySearch.  When it is set to True, OHGBi verses are included with morphology search result to provide immediate context.
* Added addOHGBiToMorphologySearch and openBibleInMainViewOnly to Display Config Options Window.
* Added option ALL to Open with submenu on right-click context menu, to compare all bible versions of selected reference.
* Added multiple submenus to right-click context menu, allowing users to quickly search an installed resource:
    Fvaourite references books, Topics, Dictionaries, Encyclopedia, Lexicons, Thirty-party dictionaries
* Added a link to lexicon in condorance content.
* Added a link to concordance in lexicon content.
* Added two javascript functions for lookup lexical entry in concordance.
* Set OHGBi as default concordance module on Hebrew / Greek word lookup result.
* Set OHGBi as default concordance module if module is not specified when command keyword CONCORDANCE::: is used.
* Minor adjustment about interlinear translation display colour in dark theme.

Major changes in version 23.21:
* Added support of searching Hebrew lexeme codes in OHGB concordance.
* Added support of searching Hebrew lexeme codes in Strong's number lexicons.
* Added submenu Open with to right-click context menu for opening selected verse references with selected bible version.
    # This feature works well with standard verse parsing.  To use this feature with fast verse-parser, you need to select verse reference without mixed text.
    # If no reference is selected this feature opens the current reference with the selected bible version.
* Added submenu Bible Book to right-click context menu for quick search of a bible book.
* Added submenu Bible Version to right-click context menu for quick search of a bible version.
* Changed command keyword STRONGBIBLE::: to CONCORDANCE:::.
* Searching for a Strong's number with command keyword SEARCH::: activates concordance feature.
    i.e. SEARCH:::KJVx:::H7225 is effectively equal to CONCORDANCE:::KJVx:::H7225.
* UBA now re-directs searching for a Strong's number or Hebrew lexeme code in MOB, MIB, MTB, MAB, MPB, OHGB, OHGBi to OHGB concordance feature.
    i.e. SEARCH:::MOB:::H7225 or SEARCH:::MAB:::H7225 is effectively equal to CONCORDANCE:::OHGBi:::H7225.
* Fixed OHGB concordance Hebrew text direction, now reading from right to left.
* No bible verse reference is found! message is displayed when users use Display Verses feature without selecting a reference.

Major changes in version 23.20:
* Improved display of Strong's number concordance content.
* Fixed verse reference links in Strong's number concordance.
* Added support to search multiple anad all versions with command keyword STRONGBIBLE:::
* Added OHGBi and ALL to Strong's number bibles list on right-click context menu.

Major changes in version 23.19:
* Fixed importing e-Sword bible modules
* Fixed importing MyBible bible modules
* Added right-click context menu to search for a Strong number in Strong's number bibles.
            # Support bibles with Strong's numbers and Strong in 'Details' table set to 1.
            # Select Allow search for Strong's number when importing 3rd-party bibles to support this feature.  By doing this imported bible will appear on the right-click context menu.
* Added a command keyword to search for a Strong's number in a Strong's nubmer bible
            # [KEYWORD] STRONGBIBLE
            # Feature - Search a Strong's number bible
            # Usage - STRONGBIBLE:::[BIBLE_VERSION]:::[STRONG_NUMBER]
            # e.g. STRONGBIBLE:::KJVx:::G1234

Major change in version 23.18:
* Added data for display with plugin Strong Number Concordance AV1769.

Major changes in version 23.17:
* Added a context plugin Strong Number Concordance AV1769 for lookup of Strong's numbers.
* Fixed an issue about opening popover window.

Major changes in version 23.16:
* Added a startup plugin plugins/startup/fixNonHtmlColour.py to fix non-html colour codes in some 3rd-party resources.
* Added a context plugin plugins/context/Strong Number to CSV.py to generate CSV spreadsheet by selecting a Strong's number and selecting the plugin from right-click context menu.
    A wiki page is created about the use of this plugin: https://github.com/eliranwong/UniqueBible/wiki/Strong-Number-to-CSV
    Special thanks to Tim Morton, who shared his work on Strongs2csv at: https://github.com/tsmorton60/Strongs2csv

Major change in version 23.15:
* Fixed compare all version feature regarding text direction.

Major change in version 23.14:
* Instant highlight feature is now case-insensitive.

Major change in version 23.13:
* Added support of custom bible chapter sub-headings for individual languages.

Major change in version 23.12:
* Fixed Sync Study Window Bible display when verse number single-click action is configured.

Major changes in version 23.11:
* Fixed misplacement of history records when both Keep Compare / Parallel View and Sync Study Window Bible are enabled. 
* Now text::: command can disable Keep Compare / Parallel View if previously enabled.

Major change in version 23.10:
* Fixed forcing bible window to stay in Compare / Parallel view.

Major change in version 23.09:
* Added a context plugin 'Insert into Note Editor', which can be activated with keyboard shortcut 'Ctrl+Shift+N'.
    This inserts selected text into opened note editor. 
    If note editor is not currently opened, a new note will be opened with selected text placed into it.

Major change in version 23.08:
* Added config option 'miniBrowserHome'.  Its value is https://www.youtube.com/ by default.
    A church or an organisation may change to its home page by editing its value.

Major change in version 23.07:
* Fixed the issue that music was keep playing after YouTube Downloader window is closed.

Major change in version 23.06:
* Added a context plugin 'MS Outlook'.  This plugin works properly only if you sign in your microsoft outlook account on your default web browser.
    This plugins:
    - opens 'Compose New Email window' with web browser.
    - places selected text into the body of the email if text is selected.

Major change in version 23.05:
* Improved url format for online quries.
* Minor touch on right-click context menu.

Major change in version 23.04:
* Added 'Google Translate' to right-click context menu, which can easily translate selected text into 120+ languages.

Major change in version 23.03:
* Added a context plugin 'Gmail'.  This plugin works properly only if you sign in your gmail account on your default web browser.
    This plugins:
    - opens 'Compose New Email window' with web browser.
    - places selected text into the body of the email if text is selected.

Major change in version 23.02:
* Fixed a bug introduced in version 23.01 about opening YouTube Downloader.

Major changes in version 23.01:
* Added two context plugins YouTube and YouTube Downloader for searching selected text in YouTube.

Major changes in version 23.0:
* Revised right-click context menu of built-in YouTube browser
* Replace 'YouTube Downloader' section with 'Utilities' section in Master Control Miscellaneous tab.

Major change in version 22.99:
* Set YouTubeDownloadOptions window as a modal dialog.

Major changes in version 22.98:
* Added a button to built-in YouTube browser to show all downloadable formats.
* Users can now select a format to download from a popup window.

Major change in version 22.97:
* Fixed checking if 'ffmpeg' is installed.

Major change in version 22.96:
* Redesigned 'Set Config Flags' window.

Major change in version 22.95:
* Check if ffmpeg is installed to work with downloading YouTube content.

Major change in version 22.94:
* Automatically download / upgrade to the latest version of youtube-dl, for downloading YouTube content.

Major change in version 22.93:
* Fixed youtube-dl gui for macOS and Windows.

Major change in version 22.92:
* Fixed shortcut creation for macOS users.

Major change in version 22.91:
* Fixed searching reference books and notes with Master Control Search tab.

Major changes in version 22.90:
* Added two more context plugins:
1) Webster
# This plugin does three things:
# 1) Lemmatise selected English word
# 2) Read lemmatised word with text-to-speech engine
# 3) Lookup lemmatised word in third-party dictionary webster
# User can change or add more dictionaries in the tuple on line 29
2) Search ALL English forms
# This plugin search currently opened bible for all forms of selected English word.

Major changes in version 22.89:
* Fixed an issue that keyboard shortcuts are not enabled after switching menu layouts without restart.

Major changes in version 22.88:
* Now allow downloading modules in background without blocking the main window.

Major changes in version 22.87:
* Fixed an issues some UBA commands were ignored after a website is opened.

Major changes in version 22.86:
* Renamed menu plugin Configure Presentation to Presentation so that it is visible on menu on mac platform.
* Revised documentation on screen command.

Major changes in version 22.85:
* Added a gui menu plugin Configure Presentation.
* Added option to hide blank verses when bible versions are compared.

Major changes in version 22.84:
* Filter out duplication of shortcuts when menu is built.
* It is implemented on all menu layouts, which use MenuItems.py to build menu.
* Currently, only 'Focus menu layout' has full support of this feature.

Major changes in version 22.83:
* Reorganised right-click context menu.
* Added sub-menus to right-click context menu.
* Move several context menu items to context plugins, where users can remove them if they don't use, e.g. Chinese pinyin.
* Added a config flag 'restrictControlPanelWidth'.  When it is set to True, config.masterControlWidth is applied to restrict the width of Master Control panel.
* Added two context menu item to popover window to toggle fullscreen or close it.

Major changes in version 22.82:
* Added support of keyboard shortcuts to run menu / context plugins.
* Added a submenu of text-to-speech languages on right-click context menu.
* Added shortcuts to two menu plugins:
    Notes from Google Drive: Ctrl+Shift+R
    Notes to Google Drive: Ctrl+Shift+B
* Added shortcuts to two context plugins:
    Go to Presentation: Ctrl+Shift+P
    Go to Presentation TEXT ONLY: Ctrl+Alt+P
* Deleted duplicated plugins.

Major changes in version 22.81:
* Added IF command to macros, Romanian language, Hymn lyrics

Major change in version 22.80:
* Sorts plugins alphabetically.

Major change in version 22.79:
* Added a context plugin Go to Presentation TEXT ONLY

Major change in version 22.78:
* Set default config.windowStyle to Fusion

Major change in version 22.77:
* Fixed SCREEN::: command after merging the last PR.

Major change in version 22.76:
* Added config.presentationHorizontalPosition
* Revised documentation on SCREEN::: command

Major change in version 22.75:
* Added goto and config to macros

Major change in version 22.74:
* Strip white spaces of selected text for context menu actions.

Major changes in version 22.73:
* Added config.presentationScreenNo - default screen number if users does not specify one; -1 by default; 0 = 1st screen, 1 = 2nd screen, 3 = 3rd screen, etc.
* Revised documentation on command keyword SCREEN:::
* Added a context plugin Go to Presentation.
    This displays bible verse(s) in presentation mode if the selected text contains bible reference(s).
    If the selected text does not contain a bible reference, selected text is displayed in presentation mode.

Major change in version 22.72:
* Fixed an issue multiple references overlaps on presentation mode.

Major changes in version 22.71:
* Renamed a config variable from presentationVerticalTopPosition to presentationVerticalPosition

Major changes in version 22.70:
* Fixed an issue config values presentationColorOnDarkTheme and presentationColorOnLightTheme were ignored.

Major changes in version 22.69:
* Loading a new SCREEN::: command now does not close currently opened window.
* SCREEN::: command now supports multiple screen, e.g. SCREEN:::1:::John 3:16.  Read documentation for more information.
* Assign different text colors for presentation with SCREEN::: command used with dark and light themes.
* Added four configurable values on presenting references.  These values are applied when SCREEN::: command is used.
* These values are configuration by editing config.py:
    presentationFontSize - font size of bible text; 3.0 by default
    presentationMargin - left and right margins of displayed text; 50 by default
    presentationColorOnLightTheme - text color applied when light theme is used; 'magenta' by default 
    presentationColorOnDarkTheme - text color applied when dark theme is used; 'black' by default
    presentationVerticalPosition - the position where text is displayed vertically; 50 by default placing the text in the centre
* TODO: a gui window to change these values when UBA is running.

Major changes in version 22.68:
* Added two startup plugins to add initial support of presentation mode.
* Two command keywords are added through startup plugins, SCREEN::: and PRESENT:::.
    SCREEN::: presents verse reference in fullscreen with a new window, PRESENT::: mainly works with macros.
    Use in-app reference on UBA commands to read more about documentation on these two command keywords.

Major change in version 22.67:
* Added a startup plugin on command keyword alias.

Major change in version 22.66:
* Added a container of functions to be run after history records are loaded: config.actionsRightAfterLoadingHistoryRecords = []
    Read https://github.com/eliranwong/UniqueBible/wiki/UBA-Startup-Plugins

Major change in version 22.65:
* Fixed an issue that new command was ignored.
* Fixe use of config flag useWebbrowser

Major change in version 22.64:
* Added in-app reference on UBA commands:
    A window showing UBA commands is accessible through menu under Information or About section.
    On cli, users can enter .help to view documentation on UBA commands.

Major change in version 22.63:
* Fixed an issue that telnet-server was not able to be stopped with Ctrl+C.

Major change in version 22.62:
* Improved verse reference display.

Major change in version 22.61:
* Enhanced remote cli feature used with telnet-server.

Major change in version 22.60:
* Fixed missing enableParagraphButton in start menu layout.

Major change in version 22.59:
* Optimised cli feature.

Major change in version 22.58:
* Open website on a new tab in UBA if config.openStudyWindowContentOnNextTab is True and config.useWebbrowser is False

Major change in version 22.57:
* Fixed href hyperlinks in user-created modules.

Major change in version 22.56:
* Added Command Line Interface to menu, visible only when cli feature is enabled.
* Added command keywords _cp and _mastercontrol

Major change in version 22.55:
* Fixed an issue launching UBA without cli feature.
* Read about Command Line Interface at https://github.com/eliranwong/UniqueBible/wiki/Command-Line-Interface

Major change in version 22.54:
* Fixed an update issue

Major changes in version 22.52, 53:
* Fixed running Command Line Interface on Windows and macOS

Major changes in version 22.51:
* Fixed updating issues with starter menu layout.

Major changes in version 22.50:
* Fixed the issue that starter menu layout cannot start with qt-material theme.
* Added bible version full names as tooltips to starter menu layout dropdown menu.

Major changes in version 22.49:
* Added support of uba.py gui to launch straight with gui, but also have cli enabled.
    The difference between uba.py and uba.py gui is that the later have an extra option to switch to cli by selecting Command Line Interface from context menu.

Major changes in version 22.48:
* Added layout plugin
* Added starter menu layout
* Added ability to switch between cli and gui at any time.
    To start uba with uba.py cli, users can select Command Line Interface from right-click context menu to switch to cli.

Major changes in version 22.47:
* Added local cli feature.
* Now run uba.py cli to run UBA with command line interface.
* Now run uba.py telnet-server to run UBA as a telnet server.

Major changes in version 22.46:
* Added translation on program interface in Malayalam.

Major changes in version 22.45:
* Added Chinese, French, Spanish hymn lyrics.
* UBA now runs startup plugins before running initial commands.
* Added two startup plugins to enhance hovering feature of bible links, addHoverFeatureToBibleLinks.py and transformSingleVerseLinkToRange.py.
Remarks: To use plugins, make sure you have enablePlugins checked on Set Config Flags window.

Major changes in version 22.44:
* reorganised plugins folders
* added two more types of plugins, startup plugins and shutdown plugins
* added access points for plugins to process bible window and study window content before they are displayed
    They are config.bibleWindowContentTransformers and config.studyWindowContentTransformers

Major changes in version 22.43:
* Added RefButtonSingleClickAction selection
* Fixed typos in language files
* Added install module utility

Major changes in version 22.42:
* Fixed a missing button in note editor.
* Fixed the issue that toolbar was unable to be made visible.

Major changes in version 22.41:
* Fixed an issue switching from Aleph menu layout to Focus menu layout.

Major changes in version 22.40:
* Fixed LXX cannot be displayed on simple mode.

Major changes in version 22.39:
* Added config.contextSource.  This could be helpful to tell a context plugin from where it is called from.

Major changes in version 22.38:
* Fixed running UBA Context Plugins from right-click context menu
* Added two sample context plugins, Speak Hebrew and Speak Greek

Major changes in version 22.37:
* Now open setup instructions on Watson translator and google drive for users.

Major changes in version 22.34, 35, 36:
* Now restoring notes from Google Drive automatically refreshs current content.
* A wiki page is written about Notes Backup / Restore with Google drive
    https://github.com/eliranwong/UniqueBible/wiki/Notes-Backup-with-Google-Drive

Major changes in version 22.31, 32, 33:
* Improved Backup Notes to Google Drive, automatically updated an existing files without duplication.
* Improved feedback message displayed to users with using Google Drive Notes backup / restore.
* Fixed checking credential file location.
* Fixed saving file cloud id.

Major changes in version 22.29, 30:
* Fixed loading plugins from menu.
* To use plugins, you need to check enablePlugins via Set Config Flags window.
* Added a couple of plugins: Backup Notes to GDrive and Restore Notes to G-Drive.  (Remarks: G-Drive denotes Google Drive).
  To use these new plugins, you need to download 'credentials.json' from https://developers.google.com/drive/api/v3/quickstart/python and place it in UniqueBible root directory.

Major change in version 22.28:
* Added options to specify the width and height of mini Control window
* Revised Aleph menu layout

Major change in version 22.27:
* Added config.masterControlWidth to specify the width of Master Control panel.

Major changes in version 22.26:
* Added UBA Plugins
    Read more at: https://github.com/eliranwong/UniqueBible/wiki/UBA-Plugins
* Added UBA Context Plugins
    Read more at: https://github.com/eliranwong/UniqueBible/wiki/UBA-Context-Plugins
* Added support of passing a python script to uba.py on startup
    Read more at: https://github.com/eliranwong/UniqueBible/wiki/Pass-Argument-to-uba.py

Major change in version 22.25:
* Now assign UBA's main window to config.mainWindow
    This opens up a lot of possiblity for users for use customised python script on startup.
    This featuer may also allow python programmers to develop plugins for use with UBA.
    Read https://github.com/eliranwong/UniqueBible/wiki/Custom-Python-Script for more information.

Major change in version 22.24:
* Add overwriteBookFontFamily to config

Major changes in version 22.23:
* Added config options, popoverWindowWidth & popoverWindowHeight, to set popover window height and width.
* Fixed width of Master Control window.
* Setting populateTabsOnStartup to True no longer changes openBibleWindowContentOnNextTab and openStudyWindowContentOnNextTab on startup.
* Added support of custom python script on startup.  custom.py is created on startup if it doen't exist.

Major changes in version 22.22:
* Added tooltips to Master Control tabs

Major changes in version 22.21:
* Added a column to Set Config Flags window.

Major changes in version 22.19, 20:
* Added a config flat populateTabsOnStartup, configurable via Set Config Flags window.  It is set to False by default.
* Added ability to start up UBA with all tabs populated with latest history records by setting config.populateTabsOnStartup to True
    Remarks: Turning on this feature takes longer time to start up UBA, especially if you have a lots of tabs.
* Note Editor is now brought to foreground when user cancel closing it if changes are not saved.

Major changes in version 22.18:
* Revised traditional Chinese interface
* Revised simplified Chinese interface

Major changes in version 22.17:
* Added Hymm Lyrics; downloadable via Resources menu.
* Renamed Open on New Window to New Window
* Relocated New Window on right-click context menu.
* Updated language files

Major changes in version 22.16:
* Added Open on New Window on right-click context menu.
* Updated language files.

Major change in version 22.15:
* Fixed fcitx input plugin for PyQt5 users on Linux platform.

Major change in version 22.13, 14:
* Fixed signal syntax

Major change in version 22.12:
* Added support of text-to-speech feature to PyQt5 users.

Major change in version 22.11:
* Added support of using PyQt5 as an alternative to PySide2
* Module 'PyQt5' is installed automatically ONLY if PySide2 is not supported on user's device.
* It is a big issue.  Welcome report of issues if any

Major change in version 22.10:
* Added support of arguments to uba.py, can now run,
    For example:
        uba.py John 3:16 Rm 5:8
    or if you set uba as an alias:
        uba John 3:16 Rm 5:8
    Remarks: do not use comma as part of argument.

Major change in version 22.09:
* Added support converting commands during book creation.

Major change in version 22.08:
* Added Select Tooltip Translation in developer menu.

Major changes in version 22.07:
* Added Macro support commands, Createed Book Module From Hymn Lyrics File
* Now automatically save option of language file as config.workingTranslation when user select a language from dropdown menu displayed with Edit language file.

Major changes in version 22.06:
* Fixed automatic setup
* Fixed Edit Gui Language File Dialog

Major changes in version 22.05:
* Fixed old pip tool unable to install package for users.
* Fixed button width on macOS for Focus menu layout.

Major changes in version 22.04:
* Added filtering of tooltips in Edit Gui Language File Dialog
* Added config.workingTranslation
* Added a method to open working translation directly on Focus menu layout

Major changes in version 22.03:
* added tooltips to Edit Gui Language File Dialog
* added config flags: referenceTranslation

Major changes in version 22.02:
* Fixed Modify Database Dialog
* Fixed retrieving full name of bible modules
* Added displaying bible full names as tooltip in bible version dropdown menu on Master Control and Focus menu
* Show English translation in EditGuiLanguageFileDialog popup

Major changes in version 22.01:
* Master Control Library tab now display commentary full names and abbreviations as tooltips

Major changes in version 22.0:
* Added Malayalam, built-in font, EditGuiLanguageFileDialog

Major change in version 21.99:
* Added tweaks for Chrome OS users
* Added fcitx support for Linux users.

Major change in version 21.98:
* Added commentary CBSC to automatic setup for fresh installation.

Major change in version 21.97:
* Fixed an issue that new users were not able to use Smart Index feature and some other features due to missing files.

Major change in version 21.96:
* Now automate downloading initial content for fresh installation

Major changes in version 21.95:
* Tested installation automation on Windows, macOS and Linux
* Now automate creation of application shortcuts
* Added support for builtin fonts for Bible display
* Moved Individual Bibles font settings under UniqueBible > UBA Preferences > Fonts on Focus menu layout

Major changes in version 21.94:
* Fixed font issue
* Revised Aleph menu layout

Major change in version 21.93:
* Fixed setup automation on Windows

Major change in version 21.92:
* Added automation to create virtual environment for users.  Tested on Linux.  Pending test on macOS and Windows.
* Changed config.removeHighlightOnExit default value to True for new users.

Major change in version 21.91:
* Fixed LanguageUtil.py

Major change in version 21.88, 21.89, 21.90:
* Added support to automate installation
* Running python3 main.py now automatically install missing modules for users.

Major change in version 21.87:
* Added font styling for individual bibles

Major change in version 21.86:
* Fixed pytest
* Adding support of installing missing modules 

Major change in version 21.85:
* Fixed installating modules

Major change in version 21.84:
* Fixing translation feature

Major change in version 21.83:
* Adding support of installing missing modules 

Major change in version 21.82:
* Added initial support of installing optional modules for new users.

Major change in version 21.81:
* Install required modules for new users.

Major change in version 21.80:
* Reorganised files and codes to prepare for next update.
* No practical change in this version.

Major changes in version 21.79:
* Added config.miniControlInitialTab, options 0-4, to specify the initial tab to be displayed when miniControl is opened.
* Added options to Focus menu layout, to open individual tabs of mini Control window
* Added built-in keyboard shortcuts to switch between tabs on miniControl when miniControl is opened.
    - Ctrl+B - Bible
    - Ctrl+T - Translations
    - Ctrl+C - Commentaries
    - Ctrl+L - lexicons
    - Ctrl+D - Dictionaries
* Added New Note to right-click context menu, to open a new note and insert selected text into it.
* Fixed the issue that note editor was not bring to foreground after user being warned of unsaved changes.

Major change in version 21.78:
* Now changing text-to-speech language on Master Control Miscellaneous tab changes default text-to-speech language.
    Therefore, users can allow quickly change the default text-to-speech language by calling Miscellaneous tab with keyboard shortcut Ctrl+M.
* Read more at: https://github.com/eliranwong/UniqueBible/wiki/Text-to-Speech

Major change in version 21.77:
* Added a config flag useLangDetectOnTts, It is set to False by default, because the feature is not always reliable.
    - Turning it on will use python module langdetect to detect language on selected text when user uses Speak feature from right-click context menu.
    - Turning it off will use Default Text-to-Speech language specified by user.
    - Default text-to-speech language is configurable via Focus menu layout: UniqueBible > Language Settings > Text-to-Speech Language

Major change in version 21.76:
* Fixed the issue that bible format switch didn't work on Aleph and Classic menu layouts

Major changes in version 21.75:
* Added download utility
* Added app information / latest changes dialog to Focus and Classic menu layouts
* Added Watson Translator Credential Window
* Now automatically print selected text from Main Window or Study Window when to search field when Master Control Search tab is opened.
    - If both Main Window and Study Window have text selected, Main Window selected text will be printed.

Major changes in version 21.74:
* Revised Aleph menu layout
* Revised Focus menu layout
* Added app information / latest changes dialog, accessible from Aleph menu layout

Major changes in version 21.73:
* Revised Focus menu layout
* Reorganised Language Setttings, now quicker choosing default text-to-speech language

Major changes in version 21.72:
Revised right-click context menu:
- Added Search Panel to context menu so that users can select word(s) and launch Master Control Search panel with selected word(s) placed in search field.
- Hide Translation option from right-click context menu if user does not select language for translation.

Major changes in version 21.71:
* Revised Aleph menu layout
* Revised App Update Dialog
* Fixed commands were blocked to execute from note hyperlinks.

Major change in version 21.70:
* Now convert text string formatted as ***[uba_command@display_text] into hyperlink automatically.  This feature works on all content displayed on Study Window.
* Check our sample file note_command_hyperlink_example.uba if you are interested.

Major changes in version 21.69:
* Master Control panel now reloads resources after downloading a module with download helper or importing a module through our menu.
* Fixed verse number single-click action to open classic menu
* Fixed the issue that COMPARE::: was misplaced in study window history records with verse number single-click or double-click action
* Fixed some of verse number single-click actions were not displayed on screen.
* Added an option to specify maximum number of history records, from 5 to 100, with a gui dialog.
    This dialog is now accessible via Focus menu layout > UBA Preferences > General > Select Maxium Number of History Records.

Major change in version 21.68:
* Now automatically reload Master Control panel after a module is downloaded with download helper.

Major change in version 21.67:
* Fixed Focus menu layout enable study window bible button
* Removed extra window when focus menu layout is used.

Major change in version 21.66:
* Now add verse number single-click and double-click actions to history.
* Now open Master Control panel Bible tab by default when a bible chapter heading is clicked.
* Added a config flag preferHtmlMenu to opt for opening classic html menu when a bible chapter heading is clicked.
* Added verse number single-click and double-click options to classic menu layout.

Major change in version 21.65:
* Fixed an issue introduced from version 21.55 that cause Note Editor not able to be opened.

Major change in version 21.64:
* Dynamic changing program interface now applies to Master Control panel.
* Add Reload Resources under Master Control section on Focus menu layout.
    - This is useful for reloading resources displayed on Master Control panel without restarting the app.

Major change in version 21.63:
* Fixed downloading module issue.

Major changes in version 21.62:
* Fixed check for internet connectivity.

Major changes in version 21.61:
* Added update control
* Added subprocess to install missing module for current users, using pip3 command.

Major changes in version 21.60:
* Fixed opening websites with ONLINE::: keyword.
* Added two new config flats, 'useWebbrowser' and 'removeHighlightOnExit'.
* Added recording ONLINE::: commands to history.

Major changes in version 21.59:
* Added Instant Highlight feature that highlight word(s) on Main Window
* Added itmes to right-click context menu:
    - Instant Highlight (Main Window ONLY)
    - Remove Instant Highlight (Main Window ONLY)
    - Search Book Note
    - Search Chapter Note
    - Search Verse Note
    - Remove Note Highlight
    - Remove Book Highlight

Major change in version 21.58:
* Add All Books button on control panel Search tab, for users to search all book modules.
* Fixed debug report feature.

Major change in version 21.57:
* Added tooltips to Config Flags Window's items.
* Fixed LanguageUtil tranlation code on Traditional Chinese 

Major change in version 21.56:
* renamed a config flag 'openBibleNoteAfterEditing' to 'openBibleNoteAfterEditorClosed'

Major changes in version 21.55:
* added filter on shortcut display window
* added 'Text Utility' toolbars on Note Editor, with which users can play text-to-speech or translate selected text.
* added open note commands to history so that reloading works
* added icon buttons to Note Editor
* added updateLanguageStringToAllFiles method for developers to update existing language files
* added message to users if text-to-speech is not enabled on their device
* added open bible notes commands to history records so reloading records can update their content
* fixed missing comma in some language files
* updated language files
* removed unused codes
* removed duplicated keys in language files

Major change in version 21.54:
* Added tool to add string to language files

Major change in version 21.53:
* Added gui to search selected morphology in combination with selected translation
* Renamed an existing command keyword from INTERLINEAR::: to DISTINCTINTERLINEAR:::, e.g. DISTINCTINTERLINEAR:::G746
* Added a command keyword DISTINCTTRANSLATION:::, e.g. DISTINCTTRANSLATION:::G746

Major change in version 21.52:
* Fixed focus menu layout.  Users can now switch interface language by selecting language directly from menu, without an extra step to open a dialog window for language selection.

Major changes in version 21.51:
* Revised Focus menu layout, can now select interface language without opening a dialog.
* Fixed translation language selection dialog.
Translation language is different from interface language.
# Translation language is used when user translate a selected word with right-click menu or use TRANSLATE::: command
# For example, a user can use English menu but he can translate a word into Chinese.

Major changes in version 21.50:
* revised languge codes from zh_CN to zh_HANS, from zh_TW to zh_HANT
* added config option 'myIBMWatsonVersion' to allow users to specify the IBM Watson version they use.

Major changes in version 21.49:
* This version has a new and useful feature.
  @osteng added dynamic selection of program interface languages.  Thank you, Oliver.
UBA now has these built-in languages:
German Deutsch
English (UK)
English (US)
Spanish Español
French Français
Hindi हिन्दी
Italian Italiano
Japanese 日本語
Korean 한국어
Russian Русский язык
Chinese (Simplified) 中文
Chinese (Traditional) 古文

Major changes in version 21.48:
* fixed on a startup issue

Major changes in version 21.47:
* Now playing text-to-speech on Miscellaneous tab won't auto close Master Control panel
* Removed package googletrans from requirement and related codes
* Translation feature now use IBM Watson translation service, integrated into TRANSLATE::: command and right-click context menu
* Fixed auto-copy to clipboard after a translation is done.
* Fixed Focus menu layout version dropdown menu not updating
* To use translation interface in UBA, users need to register an IBM Cloud account.
* IBM Cloud Lite account is FREE! With this, users can translate 1,000,000 characters per month at no cost
To enable IBM-Watson Language Trans:
1) Register an IBM CLoud account (there are several types, the Lite one is FREE)
   You can find a registration link at https://www.ibm.com/cloud/watson-language-translator/pricing
2) After registration, go to login page https://cloud.ibm.com/login to login into your IBM cloud account.
3) Go to Menu > Resource list > Service > Language 
   We have two screenshots in this wiki page: https://github.com/eliranwong/UniqueBible/wiki/IBM-Watson-Language-Translator
4) Copy the API key and URL
5) You are about to edit UBA file config.py, so make sure you are not running UBA while editing this file.
   Close UBA first if it is running.
6) Use a simple text editor to open config.py
7) Paste your apikey to INSIDE the pair of quotation marks of myIBMWatsonApikey = ''
8) Paste your URL to INSIDE the pair of quotation marks of myIBMWatsonUrl = ''
9) Save the file config.py
10) Start UBA
11) To test, run a command on main window command field, TRANSLATE:::en-zh:::testing
12) Or, select a word from a bible chapter, right click and select Translate into my language
13) Config flag, 'autoCopyTranslateResult' is turned on for you by default.  Therefore after a translation is done, you can paste the result whereever you like.

Major change in version 21.46:
* Fixed debug report

Major change in version 21.45:
* Fixed text-to-speech slider for adjusting speed
* Fixed issue on bringing forward Master Control panel when it is placed behind the main window.
* Added sending debug report feature.
* Generated missing translation for Chinese interface.

Major change in version 21.44:
* Fixed TRANSLATE::: command
* Now use IBM Watson translation service instead of google translate
* This feature works ONLY if user install python package 'ibm-watson' and enter valid credentials in file config.py.
* IBM Watson is a translation service.  It is free to use for translating 1 million characters per month.
* Read details on IBM Watson service at: https://www.ibm.com/cloud/watson-language-translator/pricing
* We will integrate this feature with right-click menu SEARCHBOOKNOTE
* We will write a wiki page on it soon.

Major change in version 21.43:
* added a slider to Master Control Miscellenous tab to adjust text-to-speech speed
* fixed unit test

Major changes in version 21.42:
* fixed opening website from Master Control panel when 'preferControlPanelForCommandLineEntry' is enabled.
* open language selection dialog when users choose to change program interface translation.

Major changes in version 21.41:
* fixed startup issues with Chinese user interface
* startup with Chinese interface is okay for now; wordings are still needed to be updated.

Major changes in version 21.40:
* now able to use online::: command with Master Control panel
* fixed updating command entry from Master Control panel to main Window
* fixed issue opening Set Config flags window.

Major change in version 21.39:
* added support of loading website directly on Study Window
* To use this feature, enter a valid and full url in Main Window command field with prefix online:::
* e.g. online:::https://google.co.uk
* Remarks: you need to state the protocol, online:::https://google.co.uk works, but online:::google.co.uk does not.

Major change in version 21.38:
* added custom javascript feature for developers or module creators, read the following link for more information:
* https://github.com/eliranwong/UniqueBible/wiki/custom_javascript

Major changes in version 21.37:
* added a mini web browser
* integrated youtube downloader into mini web browser
* buttons added for simple browsing
* buttons added for downloading youtube audio and video from mini browser

Major changes in version 21.36:
* added support for searching bible with regular expression, accessible with Master Control 'Search' tab
* added a command keyword 'REGEXSEARCH' for search with regular expression, e.g. REGEXSEARCH:::KJV:::God.*?heaven
* added a config flag 'regexCaseSensitive' is for searching case-sensitive word(s) with regular expression

Major change in version 21.35:
* minor; removed two unused lines.

Major change in version 21.34:
* fixed missing shortcut file

Major changes in version 21.33:
Substantial update: a total of 32 files changes:
* now support dynamic change of menu layout without restart
* now support dynamic change of keyboard shortcut set without restart
* added ability to edit cutom shortcuts with double-clicking on display shortcut window
* added a new tab 'Miscellenous' to 'Master Control' panel
* added highlights feature to Master Control
* added YouTube downloader buttons to Master Control
* added text-to-speech feature to Master Control
* fixed keyboard shortcuts to switch between tabs of Master Control
* refresh history records when Master Control tab is opened
* set the search field in focus when Master Control Search tab is opened
* renamed 'Remote Control' to 'mini Control'
* increase the number of verse highlight collections from two to twelve
* added quick access to verse highlight feature via Master Control
* added ability to customise verse highlight collection name and colours
* added ability to customise verse number single-click action (via Focus menu layout)
* added ability to customise verse number double-click action (via Focus menu layout)
* added ability to customise default text-to-speech voice (via Focus menu layout)
* improved start-up speed
* fixed known startup issues
* revised shortcut set 'micron'

Major changes in version 21.32:
* Multiple fixes of custom shortcuts
* Added a new shortcut set 'micron'
for developer:
* Gui on editing highlight collection is available for testing.  Interface only; not fully working yet.  This feature is scheduled to be released next upgrade.

Major change in version 21.31:
* fixed an issue on enableLogging
* added a link to discussions

Major change in version 21.30:
* add ability to customise kyeboard shortcuts

Major changes in version 21.29:
Multiple improvement on Master Control Panel:
* Added search highlight interface to Control Panel Search tab
* Added support to rename highlight collections by editing config.py manually.  We will add a gui interface for doing that.
* Added clear note search result checkbox to Control Panel Search tab
* Added clear book search result checkbox to Control Panel Search tab
* Added three buttons to control panel 'Library' tab 'Book' section: Show ALL, Favourites ONLY, Add Favourite
* Integrated 'closeControlPanelAfterRunningCommand' with Master Control Panel
* Fixed Control Panel didn't not response to shorcut when it is placed behind the main window.

Major changes in version 21.28:
* Improved Focus menu layout:
    - added a dropdown menu on toolbar for quick change of bible versions on main window without opening control panel
    - added to menu Enable Qt-material theme when built-in theme is in use
    - added to menu Switch to built-in theme when qt-material theme theme is use
    - added selection dialogs of built-in themes and qt-material themes
    - added a menu item for downloading books
* Improved Master Control Panel:
    - added an EDIT button on history tab for opening note editor
    - now automatically update bible reference on Bible tab when it is opened

Major change in version 21.27:
* Added functions to prompt new users to download book or commentary when one of them is accessed.

Major changes in version 21.26:
* Substantial changes in this upgrade.  A total of 36 files changed
* New exciting featuers, e.g. Remote CLI, 
* User interface is substantial changed with a newly designed Control Panel
* A new menu layout name Focus is created.
    This menu is designed to focus on bible study and have quick access to study tools.
    This menu layout is fully integrated with latest features introduced in recent versions, such as new Control Panel, qt-material themes
* Important fixes on download issues for new installation.
* Fixed displaynig html content in dark theme
* Fixed button width on Focus and classic menu layout, and party Aleph menu layout when qt-material is applied.
* Added next and previous chapter buttons to navigate reference book content, available on Aleph and Focus Menu Layout
* Added some bibles and lexicons to be downloaded on fresh installation.

Major changes in version 21.25:
* Added options to choose application window style, read more at:
    https://github.com/eliranwong/UniqueBible/wiki/Window-Style
* Added support of using qt-material colour themes, read more at:
    https://github.com/eliranwong/UniqueBible/wiki/Themes

Major change in version 21.24:
* Fixed updating download history.

Major change in version 21.23:
* Notify current users to install module 'pygithub' if they enalble 'enableGist' on 'Select more ...' dialog.

Major changes in version 21.22:
* Fixed issue https://github.com/eliranwong/UniqueBible/issues/103
* Fixed issue https://github.com/eliranwong/UniqueBible/issues/106
* Ability to share Bibles notes across computers is added in last version.
    To enable it, current users need to install a new module, by running:
    > pip3 install pygithub
    After installing pygithub, you need to enable enableGist via Select More ... settings dialog.

Major changes in version 21.21:
* Added ability to share Bibles notes across computers.  Thanks to Oliver Tseng for this helpful feature.
    For more details, please read:
    https://github.com/eliranwong/UniqueBible/wiki/Gist-synching
    https://github.com/eliranwong/UniqueBible/issues/90
* Fixed duplicate calls to mainTextCommandChanged
* Removed buffer window; fixed Chrome OS Linux issues.  Installation guide rewritten for chromebook users at:
    https://github.com/eliranwong/ChromeOSLinux/blob/main/bible/UniqueBibleApp.md
* New interface added for developers to test, only visible if config.developer set to True.

Major changes in version 21.20:
- Added Bible Book notes on top of Chapter Notes & Verse Notes
    * Read more about notes at: https://github.com/eliranwong/UniqueBible/wiki/Notes
- New commands added for open / edit / search notes, e.g.:
    * OPENBOOKNOTE:::John
    * OPENCHAPTERNOTE:::John 3
    * OPENVERSENOTE:::John 3:16
    * EDITBOOKNOTE:::John
    * EDITCHAPTERNOTE:::John 3
    * EDITVERSENOTE:::John 3:16
    * SEARCHBOOKNOTE:::faith
    * SEARCHCHAPTERNOTE:::faith
    * SEARCHVERSENOTE:::faith
    * Read more about notes at: https://github.com/eliranwong/UniqueBible/wiki/Notes
- Added a developer column in classcial menu layout for testing new features
    * Developer column is visible only developer option in config.py is set to true.
- New Bible Explorer Window added to developer menu

Major changes in version 21.19:
- separated download process from the main thread, so users can continue reading during downloading files, 
        e.g. YouTube video / music / bible modules / resources

Major changes in version 21.18:
- Fixed pdf file opened twice after export each time.
- Fixed book chapter with title containing ' not opened.

Major change in version 21.17:
- A tweak on Hebrew text-to-speech feature.

Major change in version 21.16:
Addreseed an issue: espeak itself does not support Hebrew language
- Added a workaround on Hebrew text-to-speech feature for users who select espeak as text-to-speech engine.

Major change in version 21.15:
- Fix an issue to make sure text-to-speech audio is turned off upon closing.

Major change in version 21.14:
- Fixed Select more ... dialog item order.

Major change in version 21.13:
- Fixed stop audio button for qt text-to-speech engine.

Major changes in version 21.12:
- Added text-to-speech feature to control panel.  Users can now:
    * set default text-to-speech language through control panel
    * play audio of entered text in control panel command field.
    * select lanuage for text-to-speech feature triggered from control panel.
    * stop text-to-speech audio at any time with the Stop button.

Major change in version 21.11:
- Fixed saving tts settings on exit.

Major change in version 21.10:
- Added a column to Select More ... dialog

Major changes in version 21.09:
- Enhance text-to-speech feature:
    Added support of languages, as many as supported by the tts engine selected by users.
        * Remarks: espeak users need to install additional data for espeak to read Chinese or Russian texts.
        * For espeak setup, you may read https://github.com/eliranwong/ChromeOSLinux/blob/main/multimedia/espeak.md
    Added config.ttsDefaultLanguage for users to specify the default language for text-to-speech feature
        * If language is not specified with entered command, e.g. SPEAK:::testing, ttsDefaultLanguage is used by default.
        * ttsDefaultLanguage is set to en by default, users can edit file config.py to change its value.
        * References for supported language codes can be found at: https://github.com/eliranwong/UniqueBible/blob/master/TtsLanguages.py
            If you use espeak, supported languages are the key codes of variable isoLang2epeakLang in the file above.
            If you use built-in qt tts engine, supported languages are the key codes in variable isoLang2qlocaleLang in the file above.
- Added four more configuration flags:
    You can configure the following new flags through Select More ... dialog or by editing file config.py
        * ttsEnglishAlwaysUS
            always speak US English when detected/specified language is en or en-gb
        * ttsEnglishAlwaysUK
            always speak UK English when detected/specified language is en or en-gb
        * ttsChineseAlwaysMandarin
            always speak Mandarin when detected/specified language is zh-cn or zh-tw
        * ttsChineseAlwaysCantonese
            always speak Cantonese when detected/specified language is zh-cn or zh-tw
A note to Windows users, in order for built-in qt tts engine to read text of a particular language, you have to install Windows language package via Windows settings / control panel.

Major changes in version 21.08:
- Added initial support of espeak to run text-to-speech feature.
    * To set up espeak on Linux, you may read https://github.com/eliranwong/ChromeOSLinux/blob/main/multimedia/espeak.md
    * Further support will be added in next upgrade.
- Added configuration flag, espeak, for linux users to use espeak as text-to-speech engine instead of qt text-to-speech engine.  This is accessible via menu > Select More ....
- Fixed Zefania import

Major changes in version 21.07:
- Now create an empty file custom.css instead of downloading it during upgrading or new installation.

Major changes in version 21.06:
- Added support of custom css.  Users can now customise fonts, text styles, etc.
- A wiki page created for custom css feature: https://github.com/eliranwong/UniqueBible/wiki/custom_css
- Added a configuration flag: closeControlPanelAfterRunningCommand
- now automatically detects if UniqueBible.app is installed on a chromebook, option preferMiniControlForCommandLineEntry will be automatically configured.

Major changes in version 21.05:
- Fixed issues #80 and #82
- Enabled github pipeline build and fix warnings

Major changes in version 21.04:
- Fixed issue when selecting Bible that has no commentary entry #78
- Improved classic menu layout: new items added; previous items reorganised.

Major changes in version 21.03:
- Remote Control is renamed to Control Panel
- Configuration option preferMiniControlForCommandLineEntry introduced in version 20.8 is renamed to preferControlPanelForCommandLineEntry.
- Options to enforce comparison / parallel: True / False
* When it is enabled after comparison / parallel feature is loaded once, subsequence entries of bible references will be treated as launching comparison / parallel even COMPARE::: or PARALLEL::: keywords is not used.
* Please note that change in bible version for chapter reading is ignored when this option is enabled.
* This feature is accessible via a left toolbar button, newly created under the Comparison / Parallel Reading / Difference button.

Major changes in version 21.02:
- Added command prefix to remote control when tab is changed, so as to save time for typing
- Added ability to run command or parse references directly from clipboard.  Users can now copy text or type command in 3rd party softwares and run in UBA.

Major change in version 21.01:
- Fixed h1 is not defined error message

Major changes in version 21.0:
Added an app icon image
Added two desktop shortcuts for Chrome users:
    shortcut_uba_chromeOS.desktop
    shortcut_uba_chromeOS_fcitx.desktop
Chrome OS users can launch Unique Bible App through Chrome OS launcher.
IMPORTANT! Before you can use this file, you need to edit these files and change yourUserName to your user name.
For details, you may read our instructions on installing UBA on Chrome OS at:
https://github.com/eliranwong/ChromeOSLinux/blob/main/bible/UniqueBibleApp.md

Major changes in version 20.9:
Fixed Codes:
    Conflicts between im method settings for Linux users fixed.
Added files:
    Two shortcut files to run UBA on Chrome OS:
    - shortcut_uba_chromeOS.sh
    - shortcut_uba_chromeOS_fcitx.sh
Added features:
    Startup macro
    Save current command as macro
    Save highlights as macro
    Print Remote Control command in command bar

Major changes in version 20.8:
Fixed 1 issue:
    Fixed set main window command line field to focus when it is hidden.
Added 3 configuration flags:
    config.fcitx
    [only application on Linux platform, it forces the app to use fcitx as input method.  It works only if fcitx is properly installed.  Since ibus is another available option, Linux users can only choose one of them.]
    config.addBreakAfterTheFirstToolBar
    config.addBreakBeforeTheLastToolBar
    [The last two above may be useful when user opt for preferMiniControlForCommandLineEntry, introduced since version 20.5.  From version 20.8, main window command line field is hidden at launch if users enable preferMiniControlForCommandLineEntry.  The two flags above can help users to arrange toolbar in order to save spaces.]

Major change in version 20.7:
Added missing macros folder when users update.

Latest changes in version 20.6: 
Merged @otseng new PR:
    Added Macros shortcut
    Fixed duplicate listing of Bibles

Latest changes in version 20.5:
Added a configuration option: preferMiniControlForCommandLineEntry
It is an enhancement in general and a workaround address to a Chrome OS address.
You may read more about this feature at:
https://github.com/eliranwong/UniqueBible/wiki/preferMiniControlForCommandLineEntry

Latest changes in version 20.4:
Fixes 2 issues found:
    https://github.com/eliranwong/UniqueBible/issues/68
    https://github.com/eliranwong/UniqueBible/issues/69
Unique Bible App desktop version can now use fcitx in Chrome OS's Linux (Crostini), read:
    https://github.com/eliranwong/ChromeOSLinux/blob/main/bible/UniqueBibleApp.md
    https://github.com/eliranwong/ChromeOSLinux/blob/main/input_method/fcitx.md

Latest changes in version 20.3:
- Added macros
- Fixed startup if config.py missing

Latest changes in version 20.2:
- Fixed highlighting for reading bible chapter in formatted style.
- Added next/previous verse/chapter buttons to Aleph menu.

Latest changes in version 20.1:
@otseng added a config option, useLiteVerseParsing, to allow users to choose a faster parser.  Thank you, Oliver!
By default, verse parsing will use standard parsing. Fast parsing option can be enabled in config flags.

Latest changes in version 20.0:
Speed up verse parsing (by @otseng)

Latest changes in version 19.9:
Added study tab names for bibles, commentaries, lexicons, search (by @otseng)

Latest changes in version 19.8:
Added highlight search by @otseng:
        # Usage - SEARCHHIGHLIGHT:::[COLOR]:::[BIBLE_REFERENCE]
        # To search entire Bible for all highlight
        # e.g. SEARCHHIGHLIGHT:::all
        # To search entire Bible for yellow highlight
        # e.g. SEARCHHIGHLIGHT:::yellow:::all
        # e.g. SEARCHHIGHLIGHT:::yellow
        # To search New Testament for blue highlight
        # e.g. SEARCHHIGHLIGHT:::blue:::nt
        # To search Old Testament for blue highlight
        # e.g. SEARCHHIGHLIGHT:::blue:::ot
        # To search Matthew for blue highlight
        # e.g. SEARCHHIGHLIGHT:::blue:::Matthew
        # To search James for underline highlight
        # e.g. SEARCHHIGHLIGHT:::underline:::James

Latest changes in version 19.7:
Merged Oliver new work on layout:
- Add Aleph menu layout
- Fix commentary issue in dark mode
- Fix highlighting issue for Chinese Bibles

Latest changes in version 19.5:
Merged Oliver's new work on verse highlighting:
- Verse highlighting released for testing. Enable it by checking enableVerseHighlighting and restarting app
- Toggle the markers on and off in Layout / Toggle Highlight Markers
- Highlight markers show up only in verse view to the left of the verses
- There are currently 3 markers (yellow, blue, and underline)
- There are some problems with viewing certain Bibles in formatted chapter view
- This needs speed improvements. Not sure why it has lag responding to commands.

Latest change in version 19.4:
Latest changes in version 19.4:
Merged Oliver's new PR.  Thanks to Oliver.
- Add number buttons to remote control
- Add dictionaries to remote control

Latest changes in version 19.3:
Oliver added tabs to Remote Control.  Thank you.

Latest changes in version 19.2:
Merged new additions contributed by Oliver Tseng.  Thanks to Oliver for making the app better and better.
- Add importXMLBible (Zefania Bibles)
- Catch global uncaught exceptions
- Import bblx Bible
- Always recreate MiniControl to show newly installed modules
- Add bottom, right half screen size
- Add screen size shortcuts
- Add small size to instant
- Bring remote control to foreground
- Don't show main.html in command bar
- Add fix database to menu
- Copy lexicon to clipboard

Latest changes in version 19.1:
- Merged Oliver Tseng's lastest work:
Populate Details table when importing a 3rd party Bible

Latest changes in version 19.0:
- Merged Oliver Tseng's latest additions
* Search in remote by lowercase Bible book name
* Add commentaries to remote
* Add lexicons to remote
* Add Bibles to remote

Latest changes in version 18.9:
- Merged several enhancement done by Oliver Tseng, e.g.:
 * DB migration, dark mode theme fixes
 * Default Strong's lexicon
 * Fix red letter issue, allow external links, copy HTML
Thank you, Oliver.

Latest changes in version 18.8:
- Use of plugin langdetect is now made optional to avoid startup errors.
- Merged several fixes contributed by Oliver Tseng.  Thanks to Oliver.

Latest changes in version 18.7:
- Merged Oliver Tseng's work on text-to-speech feature.  For details, please read: https://github.com/eliranwong/UniqueBible/pull/28
- This new feature need to install a plugin by running: pip install langdetect
- Thanks to Oliver!

Latest changes in version 18.6:
- Fixed broken fonts issue after relocating css since version 18.3.

Latest changes in version 18.5:
- Oliver Tseng added an option to disable check for module update on startup.  Thanks for contribution, Oliver.

Latest changes in version 18.4:
- Fixed font size issued introduced in version 18.3.

Latest changes in version 18.3:
- Merged Oliver Tseng' s contribution on theme development.  Thanks to Oliver.  Appreciate your good work.

Latest changes in version 18.2:
- Merged tojoRs' new feature: Movable handles between mainView, studyView and instantView.  Thanks to tojoRs.  Appreciate your contribution.

Latest changes in version 18.1:
- Merged tojoRs' fix on updating config.py about module installation.  Thanks to tojoRs.  Appreciate your contribution.

Latest changes in version 18.0:
* Added an config.py option, bibleNotes, that users may switch between note files on bible chapters and verses.
Remarks:
- The note database file by default is named as note.sqlite, located in folder marvelData.
- If users want to have multiple copies of note database in different names.  They have to be located inside the folder specified in option marvelData in file config.py.
- Entry specified in option bibleNotes must be a file path, relative to the marvelData folder.

Latest changes in version 17.9:
* Increase the maximum number of tabs allowed from 15 to 20.  This limitation applies only to use gui dialog box to set the number of tabs.  Advanced users may adjust the number directly in config.py.

Latest changes in version 17.8:
* Turned on openStudyWindowContentOnNextTab by default for new users.
* Now display content of bible promises, harmonies and parallels on Study Window instead of BIble Window.
* Now display of result of running command with keyword PASSAGES::: on Study Window instead of BIble Window.

Latest changes in version 17.7:
* Fine-tuned features openBibleWindowContentOnNextTab and openStudyWindowContentOnNextTab, with several more exceptions added.
* Added options open on Study Window and open on Bible Window to open a selected bible version on chosen window, when Open Bible References on Study Window is enabled.

Latest changes in version 17.6:
* Fixed a download issue in version 17.5.

Latest changes in version 17.5:
* Added one more exception to the features openBibleWindowContentOnNextTab and openStudyWindowContentOnNextTab.  When a verse number is clicked on a bible chapter, update is displayed on the same tab.

Latest changes in version 17.4:
* Added some exceptions to the features openBibleWindowContentOnNextTab and openStudyWindowContentOnNextTab.

Latest changes in version 17.3:
* Added two more configuration options to config.py and Select more ... dialog:
    - overwriteNoteFont, which overwrite font of notes displayed on Study Window
    - overwriteNoteFontSize, which overwrite font size of notes displayed on Study Window.
    - These options have no effect on the font settings of Note Editor.

Latest changes in version 17.2:
* Improved efficiency of displaying content.

Latest changes in version 17.1:
* Fixed broken features.

Latest changes in version 17.0:
* Fixed previous failure to open content when number of tabs is more than five.
* Added two new options:
    - openBibleWindowContentOnNextTab, which open Bible Window's content on the tab next to the current one when it is enabled.
    - openStudyWindowContentOnNextTab, which open Study Window's content on the tab next to the current one when it is enabled.
    - These two options are configurable from menu Select more ...

Latest changes in version 16.9:
* Increased the default height of Bottom Window.
* Added one more option to resize Bottom Window.

Latest changes in version 16.8:
* Fixed potential failure to start up when an old module is removed.

Latest changes in version 16.7:
* Improved converter to import MyBible bible modules.

Latest changes in version 16.6:
* Fixed a startup issue in 16.5.

Latest changes in version 16.5:
* Added messages to console for monitoring coversion of multiple 3rd-party modules.

Latest changes in version 16.4:
* Fixed an issue about importing MyBible bible modules' sub-headings, which blocked the import process.

Latest changes in version 16.3:
* Improved import of interlinear bibles.  Fixed an issue about overflowing translations appearred in some parts of imported interlinear bibles.  Old modules need to be re-imported to apply the fix.

Latest changes in version 16.2:
* Improved import of interlinear bibles, original words without corresponding translation are now properly aligned after import.

Latest changes in version 16.1:
* Improved import of MyBible interlinear bibles.
* Added support of conversion of a reverse-interlinear bible.
* With regards to interlinear bibles, the app supports conversion of formats:
    - e.g. Βίβλος<S>976</S><m>N-NSF</m> <n>The book</n>
    - e.g. The book <n>Βίβλος</n><S>976</S><m>N-NSF</m>

Latest changes in version 16.0:
* Moved Wiki Pages to menu section Information
* Added a command keyword SEARCHREFERENCE.  For example, entering command SEARCHREFERENCE:::KJV:::love shows verse references of verses containing the word love.
* SEARCHREFERENCE feature is also accessible by selecting SEARCHREFERENCE on search bible menu or by clicking the link *** on search result page.

Latest changes in version 15.9:
* Fixed errors on hovering over bible references.
* Added an import option to import Interlinear Bible.  Currently, only MyBible modules formatted as interlinear bibles are supported.
* Added an option to synchronise verse references between bibles on Bible Window and Study Window.  When this feature is enabled, clicking a verse number on either Bible Window or Study Window synchronises bibles on both windows.
* Added an option on right-click context menu to copy all bible references within selected text to clipboard.  

Latest changes in version 15.8:
* Open new chapter / verse note on Note Editor with default font and font-size.

Latest changes in version 15.7:
* Improved handing of default font and font-size on note editor.

Latest changes in version 15.6:
* Fixed loading book commentary.
* Improved highlighting results of searching bible notes.

Latest changes in version 15.5:
* Corrected Bottom Window's content when a verse number is hovered on a bible chapter in simple style format.

Latest changes in version 15.4:
* Added an option to show note indicators on bible chapters.  This feature can be enabled / disabled through menu item Select more ....  If this feature is enabled, a writing hand icons appear next to verse numbers or chapter heading if notes are available.
* Items on dialog Select more ... are now arranged on two columns.

Latest changes in version 15.3:
* Added an option to sync commentary with Main Window's verse reference.
* Revised wordings under menu section Note Files

Latest changes in version 15.2:
* Improved built-in Note Editor:
    - now all new notes use the app's default font and font size.
    - improved updating of changes in formatting
    - added a function and a button to export embedded embedded images to a folder.
    - added a function and a button to set font of selected text.
    - added a function and a button to set colour of selected text.
    - added a function and a button to set background colour of selected text.
    - rearranged buttons

Latest changes in version 15.1:
* Note editor can now Embed an Image within a note.  Embed an Image is different from Link to an External Image File that the image is stored within a note.  Remarks: Embedding an image within a note increases file size of the note.

Latest changes in version 15.0:
* Improved converter to export images from modules with names containing spaces.

Latest changes in version 14.9:
* Fixed an issue on opening image file with external application.

Latest changes in version 14.8:
* Improved hovering over bible reference links.  The app now supports display of multiple verses together with favourite version on Bottom Window.

Latest changes in version 14.7:
* Book creation from html files now supports files with extension *.xhtml
******* Tips on converting epub files into UniqueBible.app: *******
Step 1. Unzip a epub file:
            - with gui apps, you can add an extension .zip at the end of a epub filename.  You can then use gui apps to extract all files inside a epub file.
            - on Linux / macOS, you can simply use unzip command to unzip an epub file.
Step 2. Locate the folder containing html files (*.htm, *.html, *.xhtml), e.g. \OEBPS\Text.
Step 3. Open UniqueBible.app and select from menu Books > Create a Reference Book from HTML Files.
Step 4. Select the folder containing html files.  Bible links are automatically parsed in the book creation process.

Latest changes in version 14.6:
* The apps now checks availability of books in favourite book list on startup.
* Added a book module Maps_ABS.book
* Removed some modules from google drive download.  The removed modules will be made available for download in a github repository.

Latest changes in version 14.5:
* Fixed missing files in version 14.4.

Latest changes in version 14.4:
* Added a Refresh button on second toolbar.

Latest changes in version 14.3:
* Fixed automatically scrolling to the first instance of book search result when a chapter is opened.
* Corrected two chapter titles in Maps_ASB.
* 71 more bible locations added to Maps_NET's Index to enhance search of bible places.
* Added support of importing multiple MySword book modules placed in a single folder.
* Renamed a book module from Boyce.book to Boyce_Abstract_of_Systematic_Theology.book.
* Now include the last open reference book for searching my favourite books.

Latest changes in version 14.2:
* Fixed an issue that images cannot be opened with external application when book is loaded on a new window.

Latest changes in version 14.1:
* Removed duplication of program interface translation.

Latest changes in version 14.0:
* Fixed encoding issue on saving customised program interface translation in myTranslation.py.
* Corrected checking availability of program interface translation.
* Removed French and Korean translations from translations.py.
* All text files are now read / written with encoding utf-8 specified, to avoid potential encoding issues when the app is running on Windows.

Latest changes in version 13.9:
* Fixed loading translated program interface on Windows.  For description on translation feature, you may read https://github.com/eliranwong/UniqueBible/wiki/Translate-program-interface
* Moved customised translation of program interface from config.py to myTranslation.py.
* Added three icons on note editor for formatting selected text into headers:
    - Header 1
    - Header 2
    - Header 3
* Added two options in a file config.py and a gui dialog box opened via menu Select More ...:
    - overwriteBookFont
    - overwriteBookFontSize
* Added a menu item Books > Clear Search Result Highlights.
* Added French translation of program interface [translated with Google Translate] to translations.py.

Latest changes in version 13.8:
* Added ability to create reference book modules from the following file types:
    - image files (*.png, *.jpg, *.jpeg, *.bmp, *.gif)
    - html files (*.htm, *.html)
    - UniqueBible.app Note Files (*.uba)
* Book creation features are accessible via menu under section Books.
* To create a reference book module from file types mentioned above:
    1. create a folder.
    2. name the folder as you want to name the book module you are about to create.
    3. place files of supported file types in this folder.  [Remarks: Individual filenames are used for chapter titles.]
    4. select from menu Books > Create a Reference Book from ... Files.
    5. select the folder created in step (1) above.

Latest changes in version 13.7:
* Added ability to export and open embedded images, when book modules are displayed on new window.
* Added a menu item to open a wiki page on downloading third-party modules. 
* Removed used of OpenCC.  Conversion between Chinese characters can be handled with built-in support of Google Translate instead.

Latest changes in version 13.6:
* Added a config.py option: showGoogleTranslateEnglishOptions.
    - The app now hides option of google translate into English by default, to avoid potential duplication for English users.
    - This option can be changed through a gui dialog Select more ...
* Improved display of results of searching books.
    - The apps now automatically scroll to the first instance of book search result when a chapter is opened.

Latest changes in version 13.5:
* Fixed hovering over bible links created with import of third-party modules

Latest changes in version 13.4:
* Fixed import of bible links
* Improved import of e-Sword, MySword, MyBible modules
* Improved speed of import, particularly commentary modules

Latest changes in version 13.3:
* Improved efficiency of importing MySword commentary modules

Latest changes in version 13.2:
* Improved efficiency of importing e-Sword commentary modules

Latest changes in version 13.1:
* Support a single click to open image files of images displayed on Study Window
* Added two config.py options:
    - exportEmbeddedImages [Default: False]
    - clickToOpenImage [Default: False]
    (For description on these options, please read our wiki page: https://github.com/eliranwong/UniqueBible/wiki/Config-file-reference)

Latest changes in version 13.0:
* Fixed menu items, which are not displayed on macOS.  In previous versions, menu items beginning with English words Configure are not displayed.  This issue is now fixed by changing Configure to Select

Latest changes in version 12.9:
* Main window's title now display version number
* Version number will no longer be written to config.py
* Added a link to marvelbible slack channel

Latest changes in version 12.8:
* fixed a download issue in version 12.7
* ignore third-module embedded font-size style in third-party book modules so to use the font-size defined in the app.

Latest changes in version 12.7:
* Added two books to book dataset for download:
    - Kitto_John_Illustrated_History_of_the_Bible.book
    - Tidwell_The_Bible_Period_by_Period.book

Latest changes in version 12.6:
* Improved import of book modules

Latest changes in version 12.5:
* Improved module converter to add support of Strong's numbers links in MySword non-bible modules.

Latest changes in version 12.4:
* Added a menu item to open folder marvelData
* Fixed the issue about the same map being repeatedly opened

Latest changes in version 12.3:
* An important fix on failed startup issue when the app is launched offline.  The error was introduced since version 10.6.
* Added support to import MySword book modules with table data containing binary images

Latest changes in version 12.2:
* One more option added to Configure More ...:
    - parserStandarisation

Latest changes in version 12.1:
* Two more options added to Configure More ...:
    - openBookInNewWindow
    - alwaysDisplayStaticMaps

Latest changes in version 12.0:
* The app now reads UniqueBibleAppVersion.txt for checking current version on startup.
* Added a function to import MySword book modules
* Added a dialog Configure More ...
* Added a dialog Configure Number of Tabs
* Added a dialog Third Party Dictionaries

Latest changes in version 11.9:
* changed the update method to minimise the time for updating the application.

Latest changes in version 11.8:
* Upgraded database file from exlb2.data to exlb3.data
* Enhanced Exhaustive Library of Bible Locations, with 3 sets of offline google maps of different coverage, and quality.  All together, there is a total of 3441 offline google maps on bible locations.
* Fixed the missing menu item Download More Reference Books in version 11.7.
* Now clear config.bookSearchString and config.noteSearchString when the application is closed.

Latest changes in version 11.7:
* Added a link to Darrel Wright's repository UniqueBible_Books: https://github.com/darrelwright/UniqueBible_Books
* Added a wiki page on how to download more books: https://github.com/eliranwong/UniqueBible/wiki/Download-more-books
* Use google translate to translate a few interface items to Korean.

Latest changes in version 11.6:
* upgrade data file exlb.data to exlb2.data
    - added links Click HERE for a Live Google Map to 1147 articles
    - support display google static maps
* added 1147 static google maps of bible locations
* now display static google maps of bible locations when google api key is not entered or internet connection is not available.

Latest changes in version 11.5:
* fixed display of two buttons, Search Reference Book and Download YouTube Audio / Video

Latest changes in version 11.4:
* added options musicFolder and videoFolder in config.py to allow users to specfy the paths of music and video folders for storing YouTube files.
* added two buttons on second-top toolbar, Search Reference Book and Download YouTube Audio / Video

Latest changes in version 11.3:
* Fixed downloading YouTube video in mp4 format on Windows

Latest changes in version 11.2:
* added Copy Opened Link to right-click context menu of built-in YouTube browser.
* prevent download actions on YouTube's home page and search results.  Download action is expected to work after a video or play list is opened.

Latest changes in version 11.1:
* Enhanced built-in YouTube browser
* Added instructions for setup and use of built-in YouTube browser for downloading video / audio files:
    https://github.com/eliranwong/UniqueBible/wiki/Download-Youtube-audio-video
* Added a new section Multimedia to user menu
* Added items for interface translation
* Added Donate to us to menu items.
This app is made out of labour of love.  Please consider a donation to support our development.

Latest changes in version 11.0:
Enhanced Downloading YouTube Audio in mp3 format / Video in mp4 format
- Load youtube.com directly in a new window, so that users can search a video.
- After navigating to a desired video, right-click on area outside the video,
- Select Downalod Video in mp4 Format or Download Audio in mp3 Format

Latest changes in version 10.9:
* Added support of using youtube-dl on Windows, macOS & Linux
* This feature downloads a video file from a youtube link user provides, convert it into a mp3 file and saved in folder music inside UniqueBible folder.
* Users need to install youtube-dl and ffmpeg before they can run this feature.
* Read: http://ytdl-org.github.io/youtube-dl/download.html for details on downloading youtube-dl
* Below are the methods we tested to download youtube-dl and ffmpeg:
    [on Linux]
    - Run in terminal:
    > sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
    > sudo chmod a+rx /usr/local/bin/youtube-dl
    > sudo apt install ffmpeg
    [on Windows]
    - Install chocolatey first. read https://chocolatey.org/install
    - open Windows PowerShell (Admin), and run:
    > choco install youtube-dl
    > choco install ffmpeg
    [on macOS]
    - Install homebrew first. read https://brew.sh/
    - Run in terminal:
    > brew install youtube-dl
    > brew install ffmpeg
* To use keyword in UniqueBible.app mp3:::[a_youtube_link], enter in command line field, e.g.
    > mp3:::https://www.youtube.com/watch?v=CDdvReNKKuk
* To use a graphical dialog box to run this feature in UniqueBible.app,
    - Select from menu Resources > YouTube -> mp3
    - Enter a link, e.g. https://www.youtube.com/watch?v=CDdvReNKKuk
    - Select OK

Latest changes in version 10.8:
* fixed program inteface translation on Windows
* fixed an error of program inteface translation on Linux, introduced in version 10.7

Latest changes in version 10.7:
* fixed an error introuced in version 10.6 on opening pdf file on non-Linux platforms
* added 3 interface translations for Windows users: Traditional Chinese, Simplified Chinese, Korean
* Windows users can send us email to request a copy of your language if it is not yet available.
* macOS or Linux users can use Translate Program Interface into my Language to translate interface into 106 languages.

Latest changes in version 10.6:
* fixed:
    - edit button displayed on chapter / verse notes
    - display of smart indexes for multiple verses
    - note editor was opened twice with the same command
* changed:
    - now check latest version from a github file instead of a file from biblebento.com
* updated several database files:
    - collections3.sqlite
    - indexes2.sqlite
* added two new books to books.zip for download:
    - Tidwell_The_Bible_Book_by_Book.book
    - Timelines.book
* added 25 high-quality image files:
    - bible timelines
* new GUI features:
    - book introduction
    - timelines for individual books
    - button to look for selected bible book names in the last opened dictionary
    - button to look for selected bible book names in the last opened encyclopedia
    - chapter overview, including subheadings, harmonies & parallels, bible promises
    - list of all bible characters & locations on individual chapters
    - button to open chapter summary
    - button to open the last opened commentary on chapter
    - added option to display chapter / verse notes on Study Window each time a chapter / verse not is saved
* new command keywords:
    (you may find brief description below, more details will be given on https://github.com/eliranwong/UniqueBible/wiki/Command-line)
    - overview::: chapter overview
    - summary::: chapter summary
    - chapterindex::: list all bible characters and locations of a chapter 
    - _open::: open a file / directory inside folder marvelData
    - mp3::: [experimental] integrate youtube-dl in UB to download a mp3 audio file from Youtube.com
* new config options:
   (more details will be given on https://github.com/eliranwong/UniqueBible/wiki/Config-file-reference)
    - openBibleNoteAfterSave
    - openLinux
    - openWindows
    - openMacos
    - openLinuxPdf

