Merge branch 'master' into 5.0.x
diff --git a/.appveyor.yml b/.appveyor.yml
index a7b2426..6a3c939 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -12,12 +12,16 @@
   - Visual Studio 2017
 
 environment:
-  nodejs_version: "4"
   matrix:
-    - PLATFORM: windows-10-store
-      JUST_BUILD: --justBuild
+    - nodejs_version: "10"
+    - nodejs_version: "12"
+
+platform:
+  - x86
+  - x64
+
 install:
-  - npm cache clean -f
+  - ps: Install-Product node $env:nodejs_version
   - node --version
   - npm install -g cordova-paramedic@https://github.com/apache/cordova-paramedic.git
   - npm install -g cordova
@@ -25,4 +29,4 @@
 build: off
 
 test_script:
-  - cordova-paramedic --config pr\%PLATFORM% --plugin . %JUST_BUILD%
+  - cordova-paramedic --config pr\windows-10-store --plugin . --justBuild
diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000..29a6c7c
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+# 
+#   http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+notifications:
+  commits:              commits@cordova.apache.org
+  issues:               issues@cordova.apache.org
+  pullrequests_status:  issues@cordova.apache.org
+  pullrequests_comment: issues@cordova.apache.org
diff --git a/.npmignore b/.npmignore
new file mode 100644
index 0000000..45e3c38
--- /dev/null
+++ b/.npmignore
@@ -0,0 +1,3 @@
+.*
+appveyor.yml
+tests
diff --git a/.travis.yml b/.travis.yml
index 86f0a70..55f2351 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,3 +1,7 @@
+# This Travis configuration file is built after a Cordova Paramedic
+# specific template with minimal modifications and adaptations:
+# https://github.com/apache/cordova-paramedic/blob/master/.travis.yml
+
 sudo: false
 
 addons:
@@ -8,18 +12,18 @@
 env:
   global:
     - SAUCE_USERNAME=snay
-    - TRAVIS_NODE_VERSION=6
+    - TRAVIS_NODE_VERSION=12
     - ANDROID_API_LEVEL=28
     - ANDROID_BUILD_TOOLS_VERSION=28.0.3
 
 language: node_js
-node_js: 6
+node_js: 12
 
 # yaml anchor/alias: https://medium.com/@tommyvn/travis-yml-dry-with-anchors-8b6a3ac1b027
 
 _ios: &_ios
   os: osx
-  osx_image: xcode10.2
+  osx_image: xcode10.3
 
 _android: &_android
   language: android
@@ -31,12 +35,16 @@
       - build-tools-$ANDROID_BUILD_TOOLS_VERSION
       - android-$ANDROID_API_LEVEL
     licenses:
-      - 'android-sdk-preview-license-.+'
-      - 'android-sdk-license-.+'
-      - 'google-gdk-license-.+'
+      - "android-sdk-preview-license-.+"
+      - "android-sdk-license-.+"
+      - "google-gdk-license-.+"
 
 matrix:
   include:
+    # additional `npm test` in directory
+    - env: ADDITIONAL_TESTS_DIR=./tests/ios
+      <<: *_ios
+
     # one local test, without saucelabs
     - env: PLATFORM=local/browser
       <<: *_ios
@@ -56,8 +64,6 @@
     - env: PLATFORM=ios-12.2
       <<: *_ios
 
-    - env: PLATFORM=android-4.4
-      <<: *_android
     - env: PLATFORM=android-5.1
       <<: *_android
     - env: PLATFORM=android-6.0
@@ -70,16 +76,18 @@
       <<: *_android
     - env: PLATFORM=android-8.1
       <<: *_android
+    - env: PLATFORM=android-9.0
+      <<: *_android
 
 before_install:
   # manually install Node for `language: android`
-  - if [[ "$PLATFORM" =~ android ]]; then nvm install $TRAVIS_NODE_VERSION; fi 
+  - if [[ "$PLATFORM" =~ android ]]; then nvm install $TRAVIS_NODE_VERSION; fi
   - node --version
   - if [[ "$PLATFORM" =~ android ]]; then gradle --version; fi
   - if [[ "$PLATFORM" =~ ios ]]; then npm install -g ios-deploy; fi
   - npm install -g cordova
   # install paramedic if not running on paramedic repo
-  - if ! [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then npm install -g github:apache/cordova-paramedic; fi 
+  - if ! [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then npm install -g github:apache/cordova-paramedic; fi
 
 install:
   - npm install
@@ -89,7 +97,7 @@
     if [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then 
       # when used in the cordova-paramedic repo
       TEST_COMMAND="npm run eslint"
-      PARAMEDIC_PLUGIN_TO_TEST=""./spec/testable-plugin/""
+      PARAMEDIC_PLUGIN_TO_TEST="./spec/testable-plugin/"
       PARAMEDIC_COMMAND="node main.js"
     else 
       # when used in any other (plugin) repo
@@ -98,7 +106,19 @@
       PARAMEDIC_COMMAND="cordova-paramedic"
     fi
   - PARAMEDIC_BUILDNAME=travis-$TRAVIS_REPO_SLUG-$TRAVIS_JOB_NUMBER
-  
+  - |
+    echo "Variables now are set to:"
+    echo "TEST_COMMAND=$TEST_COMMAND"
+    echo "ADDITIONAL_TESTS=$ADDITIONAL_TESTS"
+    echo "PARAMEDIC_COMMAND=$PARAMEDIC_COMMAND"
+    echo "PLATFORM=$PLATFORM"
+    echo "PARAMEDIC_PLUGIN_TO_TEST=$PARAMEDIC_PLUGIN_TO_TEST"
+    echo "PARAMEDIC_BUILDNAME=$PARAMEDIC_BUILDNAME"
 script:
   - $TEST_COMMAND
-  - $PARAMEDIC_COMMAND --config ./pr/$PLATFORM --plugin $PARAMEDIC_PLUGIN_TO_TEST --buildName $PARAMEDIC_BUILDNAME
+  - |
+    if [[ "$ADDITIONAL_TESTS_DIR" != "" ]]; then
+      cd $ADDITIONAL_TESTS_DIR && npm install && npm test;
+    else 
+      $PARAMEDIC_COMMAND --config ./pr/$PLATFORM --plugin $PARAMEDIC_PLUGIN_TO_TEST --buildName $PARAMEDIC_BUILDNAME; 
+    fi
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 4c8e6a5..21a93d7 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -25,13 +25,13 @@
 
 There are multiple ways to contribute: report bugs, improve the docs, and
 contribute code.
-
-For instructions on this, start with the 
+  
+For instructions on this, start with the
 [contribution overview](http://cordova.apache.org/contribute/).
 
 The details are explained there, but the important items are:
- - Sign and submit an Apache ICLA (Contributor License Agreement).
- - Have a Jira issue open that corresponds to your contribution.
+ - Check for Github issues that corresponds to your contribution and link or create them if necessary.
  - Run the tests so your patch doesn't break existing functionality.
 
 We look forward to your contributions!
+
diff --git a/README.md b/README.md
index d377a76..dd5a20c 100644
--- a/README.md
+++ b/README.md
@@ -91,17 +91,19 @@
 ```xml
 <platform name="android">
     <!-- you can use any density that exists in the Android project -->
-    <splash src="res/screen/android/splash-land-hdpi.png" density="land-hdpi"/>
-    <splash src="res/screen/android/splash-land-ldpi.png" density="land-ldpi"/>
-    <splash src="res/screen/android/splash-land-mdpi.png" density="land-mdpi"/>
-    <splash src="res/screen/android/splash-land-xhdpi.png" density="land-xhdpi"/>
-    <splash src="res/screen/android/splash-land-xxhdpi.png" density="land-xxhdpi"/>
+    <splash src="res/screen/android/splash-land-hdpi.png" density="land-hdpi" />
+    <splash src="res/screen/android/splash-land-ldpi.png" density="land-ldpi" />
+    <splash src="res/screen/android/splash-land-mdpi.png" density="land-mdpi" />
+    <splash src="res/screen/android/splash-land-xhdpi.png" density="land-xhdpi" />
+    <splash src="res/screen/android/splash-land-xxhdpi.png" density="land-xxhdpi" />
+    <splash src="res/screen/android/splash-land-xxxhdpi.png" density="land-xxxhdpi" />
 
-    <splash src="res/screen/android/splash-port-hdpi.png" density="port-hdpi"/>
-    <splash src="res/screen/android/splash-port-ldpi.png" density="port-ldpi"/>
-    <splash src="res/screen/android/splash-port-mdpi.png" density="port-mdpi"/>
-    <splash src="res/screen/android/splash-port-xhdpi.png" density="port-xhdpi"/>
-    <splash src="res/screen/android/splash-port-xxhdpi.png" density="port-xxhdpi"/>
+    <splash src="res/screen/android/splash-port-hdpi.png" density="port-hdpi" />
+    <splash src="res/screen/android/splash-port-ldpi.png" density="port-ldpi" />
+    <splash src="res/screen/android/splash-port-mdpi.png" density="port-mdpi" />
+    <splash src="res/screen/android/splash-port-xhdpi.png" density="port-xhdpi" />
+    <splash src="res/screen/android/splash-port-xxhdpi.png" density="port-xxhdpi" />
+    <splash src="res/screen/android/splash-port-xxxhdpi.png" density="port-xxxhdpi" /> 
 </platform>
 
 <platform name="ios">
@@ -159,6 +161,8 @@
 
 The preferred method of providing launch images is to use a launch storyboard. For native app developers, the ideal launch storyboard is an unpopulated version of the app's user interface at launch. For non-native app developers who don't wish to learn Interface Builder, however, this plugin simulates the legacy launch image method as much as is feasible.
 
+**Note:** Since iOS 11, for iPhone X devices and greater (with notch screen), you should switch to the new storyboard splash screens, taking into account to add `viewport-fit=cover` to the viewport meta tag in your `index.html` file to display the app correctly like so: `<meta name="viewport" content="user-scalable=no, initial-scale=1, width=device-width, viewport-fit=cover">` and make some modification to your app style by adding: `padding: env(safe-area-inset-top)` to your `index.css` file to avoid the unsafe areas behind notches in the screen.
+
 #### Legacy launch images
 
 If you choose to use legacy launch images, you will use the following syntax in `config.xml`:
diff --git a/RELEASENOTES.md b/RELEASENOTES.md
index 73b2a1e..b674963 100644
--- a/RELEASENOTES.md
+++ b/RELEASENOTES.md
@@ -20,6 +20,18 @@
 -->
 # Release Notes
 
+### 5.0.4 (Jun 03, 2020)
+* [GH-261](https://github.com/apache/cordova-plugin-splashscreen/pull/261) chore: add `cordova-ios` requirement <6.0.0
+* chore(asf): update git notification settings
+* update CONTRIBUTING.md
+* [GH-251](https://github.com/apache/cordova-plugin-splashscreen/pull/251) chore(npm): adds ignore list
+* [GH-252](https://github.com/apache/cordova-plugin-splashscreen/pull/252) ci: updates Node.js versions
+* [GH-236](https://github.com/apache/cordova-plugin-splashscreen/pull/236) update homepage to github `README` page
+* [GH-239](https://github.com/apache/cordova-plugin-splashscreen/pull/239) update `README`.md by adding missing info
+* ci(travis): Upgrade node from 6 to 8
+* ci(travis): Remove **Android 4.4**, Add **Android** 9.0
+* [GH-212](https://github.com/apache/cordova-plugin-splashscreen/pull/212) ci(travis): Add ADDITIONAL_TESTS_DIR=./tests/ios
+
 ### 5.0.3 (May 09, 2019)
 * Update CI configuration and README ([#210](https://github.com/apache/cordova-plugin-splashscreen/pull/210), [#208](https://github.com/apache/cordova-plugin-splashscreen/pull/208), [#198](https://github.com/apache/cordova-plugin-splashscreen/pull/198), [#194](https://github.com/apache/cordova-plugin-splashscreen/pull/194))
 * Add or update GitHub pull request and issue template
diff --git a/package.json b/package.json
index 5488588..d0cb0f5 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "cordova-plugin-splashscreen",
-  "version": "5.0.3",
+  "version": "5.0.5-dev",
   "description": "Cordova Splashscreen Plugin",
   "types": "./types/index.d.ts",
   "cordova": {
@@ -36,6 +36,9 @@
         "cordova-android": ">=3.6.0",
         "cordova-windows": ">=4.4.0"
       },
+      "<6.0.0": {
+        "cordova-ios": "<6.0.0"
+      },
       "6.0.0": {
         "cordova": ">100"
       }
@@ -47,5 +50,5 @@
   "devDependencies": {
     "jshint": "^2.6.0"
   },
-  "homepage": "https://cordova.apache.org/"
+  "homepage": "https://github.com/apache/cordova-plugin-splashscreen#readme"
 }
diff --git a/plugin.xml b/plugin.xml
index 3c3b5b4..ca4c291 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -20,7 +20,7 @@
 
 <plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
            id="cordova-plugin-splashscreen"
-      version="5.0.3">
+      version="5.0.5-dev">
     <name>Splashscreen</name>
     <description>Cordova Splashscreen Plugin</description>
     <license>Apache 2.0</license>
@@ -30,6 +30,7 @@
 
     <engines>
         <engine name="cordova-android" version=">=3.6.0" /><!-- Requires CordovaPlugin.preferences -->
+        <engine name="cordova-ios" version="<6.0.0" />
         <engine name="cordova-windows" version=">=4.4.0" />
     </engines>
 
diff --git a/tests/package.json b/tests/package.json
index 4561731..567a5ae 100644
--- a/tests/package.json
+++ b/tests/package.json
@@ -1,6 +1,6 @@
 {
   "name": "cordova-plugin-splashscreen-tests",
-  "version": "5.0.3",
+  "version": "5.0.5-dev",
   "description": "",
   "cordova": {
     "id": "cordova-plugin-splashscreen-tests",
diff --git a/tests/plugin.xml b/tests/plugin.xml
index 71628dd..bb19593 100644
--- a/tests/plugin.xml
+++ b/tests/plugin.xml
@@ -20,7 +20,7 @@
 
 <plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
     id="cordova-plugin-splashscreen-tests"
-    version="5.0.3">
+    version="5.0.5-dev">
     <name>Cordova Splashscreen Plugin Tests</name>
     <license>Apache 2.0</license>