[OLINGO-442] Cleanup bevore release II and beta-name removal
diff --git a/.gitignore b/.gitignore
index 7ff281f..02c5d17 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,7 +8,7 @@
 localgrunt.config
 
 # testing copies
-../demo/scripts/odatajs-4.0.0-beta-01*
+../demo/scripts/odatajs-4.0.0-*
 
 # build artefacts
 #build/
diff --git a/Gruntfile.js b/Gruntfile.js
index 6bf2290..faff8d0 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -36,8 +36,8 @@
 
     "toBrowser" : {
       "release" : {
-          options: { index : "src/index-browser.js" },
-          src: ["src/lib/**/*.js", '!**/*-node.*'], 
+          options: { index : "index-browser.js" },
+          src: ["lib/**/*.js", '!**/*-node.*'],
           dest: "_build/lib/<%= artifactname %>.js"
       }
     },
@@ -55,7 +55,7 @@
     },
     "jsdoc" : {
       "src" : {
-          src: ["src/**/*.js"], 
+          src: ["index.js","lib/**/*.js"],
           options: { destination: "_build/doc-src", verbose : true, debug : true, pedantic : true }
       }
     },
@@ -135,7 +135,7 @@
   ]);
 
   
-  grunt.registerTask('release_sign','Sign the files which are released (run "grunt release" before"',[
+  grunt.registerTask('release-sign','Sign the files which are released (run "grunt release" before"',[
     'sign:release','sign:asc','sign:asc-verify'
   ]);
 
diff --git a/README.md b/README.md
index 83d0f68..62ee639 100644
--- a/README.md
+++ b/README.md
@@ -19,13 +19,13 @@
 ## Olingo OData Client for JavaScript
 The Olingo OData Client for JavaScript (odatajs) is a library written in JavaScript that enables browser based frontend applications to easily use the OData protocol for communication with application servers.
 
-This library "odatajs-4.0.0-beta-01.min.js" supports only the OData V4 protocol.
+This library "odatajs-4.0.0.min.js" supports only the OData V4 protocol.
 
 For using the OData protocols V1-V3 please refer to the [datajs library](http://datajs.codeplex.com/)
 
 The odatajs library can be included in any html page with the script tag (for example)
 ```
-<script type="text/javascript" src="./sources/odatajs-4.0.0-beta-01.min.js"></script>
+<script type="text/javascript" src="./sources/odatajs-4.0.0.min.js"></script>
 ```
 and its features can be used through the `odatajs` namespace (or `window.odatajs`). The odatajs library can be used together with the datajs library which uses the `window.OData` namespace.
 
diff --git a/grunt-config/custom-tasks/sign.js b/grunt-config/custom-tasks/sign.js
index 7f6319c..3db3f73 100644
--- a/grunt-config/custom-tasks/sign.js
+++ b/grunt-config/custom-tasks/sign.js
@@ -59,7 +59,7 @@
                 pipeTo = workItem.src+'.md5';
 
                 grunt.log.writeln(chalk.yellow('Signing ('+workItem.type+') ' + fileName + " ..."));
-                //openssl dgst -md5 odatajs.4.0.0-beta01.nupkg
+                //openssl dgst -md5 odatajs.4.0.0.nupkg
                 taskOptions = { 
                     cmd : 'openssl', 
                     args: ['dgst','-md5',fileName],
@@ -70,7 +70,7 @@
 
                 grunt.log.writeln(chalk.yellow('Signing ('+workItem.type+') ' + fileName + " ..."));
 
-                //gpg --print-md SHA512 odatajs-4.0.0-beta-01-RC02-doc.zip
+                //gpg --print-md SHA512 odatajs-4.0.0-doc.zip
                 taskOptions = { 
                     cmd : 'gpg', 
                     args: ['--print-md','SHA512',fileName],
@@ -81,7 +81,7 @@
 
                 grunt.log.writeln(chalk.yellow('Signing ('+workItem.type+') ' + fileName + " ..."));
                 
-                //gpg --armor --detach-sign odatajs-4.0.0-beta-01-RC02-sources.zip
+                //gpg --armor --detach-sign odatajs-4.0.0-sources.zip
                 taskOptions = { 
                     cmd : 'gpg', 
                     args: ['--armor','--detach-sign',fileName],
@@ -93,7 +93,7 @@
 
                 grunt.log.writeln(chalk.yellow('Verify ('+workItem.type+') ' +fileName+ '.asc' + " ..."));
                 
-                //gpg --verify --detach-sign odatajs-4.0.0-beta-01-RC02-sources.zip.asc 
+                //gpg --verify --detach-sign odatajs-4.0.0-sources.zip.asc
                 taskOptions = { 
                     cmd : 'gpg', 
                     args: ['--verify', fileName+'.asc'],
diff --git a/grunt-config/nugetpack.nuspec b/grunt-config/nugetpack.nuspec
index 120cd7d..a0c7861 100644
--- a/grunt-config/nugetpack.nuspec
+++ b/grunt-config/nugetpack.nuspec
@@ -4,7 +4,7 @@
     <title>Olingo OData Client for JavaScript</title>
     <id>odatajs</id>
     <tags>restful api open protocol odata client javascript</tags>
-    <version>4.0.0-beta01</version>
+    <version>4.0.0</version>
     <authors>Apache Olingo (Challen He, Kobler-Morris Sven)</authors>
     <owners>Apache Olingo</owners>
     <licenseUrl>http://www.apache.org/licenses/LICENSE-2.0</licenseUrl>
diff --git a/grunt-config/rat-config.js b/grunt-config/rat-config.js
index 23871ae..2ee5b77 100644
--- a/grunt-config/rat-config.js
+++ b/grunt-config/rat-config.js
@@ -1,4 +1,3 @@
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -17,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 module.exports = function(grunt) {
   
   
@@ -31,7 +31,7 @@
         ] },
       files: [
         /*{ src: ['./../_dist/<%= artifactname %>/doc'], options:{ tag:"dist-doc"}},generated*/
-        { src: ['./src'], options:{ tag:"src"}},
+        { src: ['./lib'], options:{ tag:"lib"}},
         { src: ['./tests'], options:{ tag:"tests"}},
         { src: ['./demo'], options:{ tag:"demo"}},
         { src: ['./grunt-config'], options:{ tag:"grunt-config" }},
@@ -48,7 +48,7 @@
           "JSLib.sln","package.json", "mocha.opts","info.txt"
         ] },
       files: [
-        { src: ['./src'], options:{ tag:"src"}},
+        { src: ['./lib'], options:{ tag:"lib"}},
         { src: ['./tests'], options:{ tag:"tests"}},
         { src: ['./demo'], options:{ tag:"demo"}},
         { src: ['./grunt-config'], options:{ tag:"grunt-config" }},
diff --git a/grunt-config/release-config.js b/grunt-config/release-config.js
index 6865bb1..3df970e 100644
--- a/grunt-config/release-config.js
+++ b/grunt-config/release-config.js
@@ -48,7 +48,7 @@
   grunt.config.merge( { 
     'jsdoc' : { // generate documentation
       "release-doc-src" : {
-        src: ['src/**/*.js'], 
+        src: ['**/*.js'],
         options: {
           destination: './_dist/<%= artifactname %>/doc',
           verbose : false 
@@ -71,7 +71,7 @@
       },
       "release-nuget": {
           files: [
-              { expand: true, cwd: '_build', src: ['odatajs.4.0.0-beta01.nupkg'], dest: './_dist/<%= artifactname %>', filter: 'isFile' },
+              { expand: true, cwd: '_build', src: ['odatajs.4.0.0.nupkg'], dest: './_dist/<%= artifactname %>', filter: 'isFile' },
           ]
       },
       "release-doc" : {
diff --git a/grunt-config/sign-config.js b/grunt-config/sign-config.js
index a0ff676..6c827e3 100644
--- a/grunt-config/sign-config.js
+++ b/grunt-config/sign-config.js
@@ -28,7 +28,7 @@
         cwd : './_dist/<%= artifactname %>/',
         src : [ 
           '<%= artifactname %>-lib.zip',
-          'odatajs.4.0.0-beta01.nupkg',
+          'odatajs.4.0.0.nupkg',
           '<%= artifactname %>-doc.zip',
           '<%= artifactname %>-sources.zip'
         ]
@@ -39,7 +39,7 @@
         cwd : './_dist/<%= artifactname %>/',
         src : [ 
           '<%= artifactname %>-lib.zip',
-          'odatajs.4.0.0-beta01.nupkg',
+          'odatajs.4.0.0.nupkg',
           '<%= artifactname %>-doc.zip',
           '<%= artifactname %>-sources.zip'
         ]
@@ -50,7 +50,7 @@
         cwd : './_dist/<%= artifactname %>/',
         src : [ 
           '<%= artifactname %>-lib.zip',
-          'odatajs.4.0.0-beta01.nupkg',
+          'odatajs.4.0.0.nupkg',
           '<%= artifactname %>-doc.zip',
           '<%= artifactname %>-sources.zip'
         ]
diff --git a/src/index-browser.js b/index-browser.js
similarity index 100%
rename from src/index-browser.js
rename to index-browser.js
diff --git a/src/index-node.js b/index.js
similarity index 100%
rename from src/index-node.js
rename to index.js
diff --git a/src/lib/cache.js b/lib/cache.js
similarity index 100%
rename from src/lib/cache.js
rename to lib/cache.js
diff --git a/src/lib/cache/source.js b/lib/cache/source.js
similarity index 100%
rename from src/lib/cache/source.js
rename to lib/cache/source.js
diff --git a/src/lib/deferred.js b/lib/deferred.js
similarity index 100%
rename from src/lib/deferred.js
rename to lib/deferred.js
diff --git a/src/lib/odata.js b/lib/odata.js
similarity index 100%
rename from src/lib/odata.js
rename to lib/odata.js
diff --git a/src/lib/odata/batch.js b/lib/odata/batch.js
similarity index 100%
rename from src/lib/odata/batch.js
rename to lib/odata/batch.js
diff --git a/src/lib/odata/handler.js b/lib/odata/handler.js
similarity index 100%
rename from src/lib/odata/handler.js
rename to lib/odata/handler.js
diff --git a/src/lib/odata/json.js b/lib/odata/json.js
similarity index 100%
rename from src/lib/odata/json.js
rename to lib/odata/json.js
diff --git a/src/lib/odata/metadata.js b/lib/odata/metadata.js
similarity index 100%
rename from src/lib/odata/metadata.js
rename to lib/odata/metadata.js
diff --git a/src/lib/odata/net-browser.js b/lib/odata/net-browser.js
similarity index 100%
rename from src/lib/odata/net-browser.js
rename to lib/odata/net-browser.js
diff --git a/src/lib/odata/net.js b/lib/odata/net.js
similarity index 100%
rename from src/lib/odata/net.js
rename to lib/odata/net.js
diff --git a/src/lib/odata/odatautils.js b/lib/odata/odatautils.js
similarity index 100%
rename from src/lib/odata/odatautils.js
rename to lib/odata/odatautils.js
diff --git a/src/lib/store.js b/lib/store.js
similarity index 100%
rename from src/lib/store.js
rename to lib/store.js
diff --git a/src/lib/store/dom.js b/lib/store/dom.js
similarity index 100%
rename from src/lib/store/dom.js
rename to lib/store/dom.js
diff --git a/src/lib/store/indexeddb.js b/lib/store/indexeddb.js
similarity index 100%
rename from src/lib/store/indexeddb.js
rename to lib/store/indexeddb.js
diff --git a/src/lib/store/memory.js b/lib/store/memory.js
similarity index 100%
rename from src/lib/store/memory.js
rename to lib/store/memory.js
diff --git a/src/lib/utils.js b/lib/utils.js
similarity index 100%
rename from src/lib/utils.js
rename to lib/utils.js
diff --git a/src/lib/xml.js b/lib/xml.js
similarity index 100%
rename from src/lib/xml.js
rename to lib/xml.js
diff --git a/package.json b/package.json
index e48ba0a..044cb81 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
   "name": "odatajs",
   "version": "4.0.0",
-  "postfix": "beta-01",
+  "postfix": "",
   "releaseCandidate": "",
   "title": "Olingo OData Client for JavaScript",
   "description": "the Olingo OData Client for JavaScript library is a new cross-browser JavaScript library that enables data-centric web applications by leveraging modern protocols such as JSON and OData and HTML5-enabled browser features. It's designed to be small, fast and easy to use.",
diff --git a/src/index.js b/src/index.js
deleted file mode 100644
index 28bf066..0000000
--- a/src/index.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * 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.
- */
-
-var odatajs = {};
-
-odatajs.version = {
-    major: 4,
-    minor: 0,
-    build: 0
-};
-
-// core stuff, alway needed
-odatajs.deferred = require('./lib/deferred.js');
-odatajs.utils = require('./lib/utils.js');
-
-// only neede for xml metadata
-odatajs.xml = require('./lib/ext/xml.js');
-
-// only need in browser case
-odatajs.oData = require('./lib/odata.js');
-odatajs.store = require('./lib/store.js');
-odatajs.cache = require('./lib/cache.js');
-
-if (typeof window !== 'undefined') {
-    //expose to browsers window object
-    window.odatajs = odatajs;
-} else {
-    //expose in commonjs style
-    odatajs.node = "node";
-    module.exports = odatajs;
-}
diff --git a/test/test-demo-scenario.js b/test/test-demo-scenario.js
index 71e37ff..a4650ac 100644
--- a/test/test-demo-scenario.js
+++ b/test/test-demo-scenario.js
@@ -18,7 +18,7 @@
  */
 'use strict';
 
-var odatajs = require('./../src/index-node.js');
+var odatajs = require('./../index.js');
 var chai = require('chai');
 var assert = chai.assert;
 
diff --git a/test/test-odata-json.js b/test/test-odata-json.js
index 32c243d..fd02881 100644
--- a/test/test-odata-json.js
+++ b/test/test-odata-json.js
@@ -18,7 +18,7 @@
  */
 'use strict';
 
-var odatajs = require('./../src/index-node.js');
+var odatajs = require('./../index.js');
 var chai = require('chai');
 var assert = chai.assert;
 
diff --git a/test/test-utils.js b/test/test-utils.js
index f377029..720542b 100644
--- a/test/test-utils.js
+++ b/test/test-utils.js
@@ -18,7 +18,7 @@
  */
 'use strict';
 
-var odatajs = require('./../src/index-node.js');
+var odatajs = require('./../index.js');
 var chai = require('chai');
 var assert = chai.assert;
 
diff --git a/tests/node-test-setup.js b/tests/node-test-setup.js
index 838bb36..ebc82ea 100644
--- a/tests/node-test-setup.js
+++ b/tests/node-test-setup.js
@@ -24,7 +24,7 @@
 
 //lib
 datajs = require('././lib/datajs.js');
-OData = require('./../src/lib/odata.js');
+OData = require('././odata.js');