diff --git a/KenticoAdmin/CMS/App_Data/Install/Hotfix.txt b/KenticoAdmin/CMS/App_Data/Install/Hotfix.txt
index 4b6f9c3..eb13855 100644
--- a/KenticoAdmin/CMS/App_Data/Install/Hotfix.txt
+++ b/KenticoAdmin/CMS/App_Data/Install/Hotfix.txt
@@ -1 +1 @@
-64
\ No newline at end of file
+79
\ No newline at end of file
diff --git a/KenticoAdmin/CMS/App_Data/Install/SQL.zip b/KenticoAdmin/CMS/App_Data/Install/SQL.zip
index 1c4a399..7cd343c 100644
Binary files a/KenticoAdmin/CMS/App_Data/Install/SQL.zip and b/KenticoAdmin/CMS/App_Data/Install/SQL.zip differ
diff --git a/MVC/MVC.Libraries/MVC.Libraries.csproj b/MVC/MVC.Libraries/MVC.Libraries.csproj
index c37eb63..342d941 100644
--- a/MVC/MVC.Libraries/MVC.Libraries.csproj
+++ b/MVC/MVC.Libraries/MVC.Libraries.csproj
@@ -8,7 +8,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/MVC/MVC/FrontEndDev/react/sampleapp/app.js b/MVC/MVC/FrontEndDev/react/sampleapp/app.js
new file mode 100644
index 0000000..1b211ec
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/react/sampleapp/app.js
@@ -0,0 +1,18 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.ReactMethods = void 0;
+var ReactDOM = require("react-dom");
+var React = require("react");
+var HelloWorld_1 = require("./components/HelloWorld");
+var ReactMethods = /** @class */ (function () {
+ function ReactMethods() {
+ }
+ ReactMethods.SampleApp = function (containerID) {
+ ReactDOM.render(React.createElement(HelloWorld_1.HelloWorld, { CustomMessage: "Testing etc" }), document.getElementById(containerID));
+ };
+ return ReactMethods;
+}());
+exports.ReactMethods = ReactMethods;
+// Can access your methods with window.ReactMethods.SampleApp("MyContainer")
+window.ReactMethods = ReactMethods;
+//# sourceMappingURL=app.js.map
\ No newline at end of file
diff --git a/MVC/MVC/FrontEndDev/react/sampleapp/app.js.map b/MVC/MVC/FrontEndDev/react/sampleapp/app.js.map
new file mode 100644
index 0000000..e63ebc8
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/react/sampleapp/app.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"app.js","sourceRoot":"","sources":["app.tsx"],"names":[],"mappings":";;;AAAA,oCAAsC;AACtC,6BAA+B;AAC/B,sDAAkD;AASlD;IAAA;IAMA,CAAC;IALU,sBAAS,GAAhB,UAAiB,WAAoB;QACjC,QAAQ,CAAC,MAAM,CACX,oBAAC,uBAAU,IAAC,aAAa,EAAC,aAAa,GAAG,EACxC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;IAChD,CAAC;IACL,mBAAC;AAAD,CAAC,AAND,IAMC;AANY,oCAAY;AAQzB,4EAA4E;AAC5E,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC"}
\ No newline at end of file
diff --git a/MVC/MVC/FrontEndDev/react/sampleapp/components/HelloWorld.js b/MVC/MVC/FrontEndDev/react/sampleapp/components/HelloWorld.js
new file mode 100644
index 0000000..3e880ce
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/react/sampleapp/components/HelloWorld.js
@@ -0,0 +1,47 @@
+"use strict";
+var __extends = (this && this.__extends) || (function () {
+ var extendStatics = function (d, b) {
+ extendStatics = Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
+ return extendStatics(d, b);
+ };
+ return function (d, b) {
+ extendStatics(d, b);
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+})();
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.HelloWorld = void 0;
+var React = require("react");
+var HelloWorld = /** @class */ (function (_super) {
+ __extends(HelloWorld, _super);
+ function HelloWorld(props) {
+ var _this = _super.call(this, props) || this;
+ _this.DisplayMessageClick = function () {
+ _this.setState({
+ DisplayedMessage: true
+ });
+ };
+ _this.state = {
+ DisplayedMessage: false
+ };
+ return _this;
+ }
+ HelloWorld.prototype.componentDidMount = function () {
+ };
+ HelloWorld.prototype.componentDidUpdate = function () {
+ };
+ HelloWorld.prototype.render = function () {
+ return React.createElement("div", null,
+ "Hello world!",
+ this.state.DisplayedMessage &&
+ React.createElement("p", null, this.props.CustomMessage),
+ !this.state.DisplayedMessage &&
+ React.createElement("button", { type: "button", onClick: this.DisplayMessageClick }, "Show Message"));
+ };
+ return HelloWorld;
+}(React.Component));
+exports.HelloWorld = HelloWorld;
+//# sourceMappingURL=HelloWorld.js.map
\ No newline at end of file
diff --git a/MVC/MVC/FrontEndDev/react/sampleapp/components/HelloWorld.js.map b/MVC/MVC/FrontEndDev/react/sampleapp/components/HelloWorld.js.map
new file mode 100644
index 0000000..d3da4fc
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/react/sampleapp/components/HelloWorld.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"HelloWorld.js","sourceRoot":"","sources":["HelloWorld.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6BAA+B;AAG/B;IAAgC,8BAAmD;IAC/E,oBAAY,KAAK;QAAjB,YACI,kBAAM,KAAK,CAAC,SAKf;QAiBD,yBAAmB,GAAG;YAClB,KAAI,CAAC,QAAQ,CAAC;gBACV,gBAAgB,EAAE,IAAI;aACzB,CAAC,CAAC;QACP,CAAC,CAAA;QAxBG,KAAI,CAAC,KAAK,GAAG;YACT,gBAAgB,EAAE,KAAK;SAC1B,CAAA;;IACL,CAAC;IACD,sCAAiB,GAAjB;IACA,CAAC;IACD,uCAAkB,GAAlB;IACA,CAAC;IACD,2BAAM,GAAN;QACI,OAAO;;YAEF,IAAI,CAAC,KAAK,CAAC,gBAAgB;gBACxB,+BAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAK;YAEpC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB;gBACzB,gCAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,mBAAuB,CAE5E,CAAA;IACd,CAAC;IAOL,iBAAC;AAAD,CAAC,AA7BD,CAAgC,KAAK,CAAC,SAAS,GA6B9C;AA7BY,gCAAU"}
\ No newline at end of file
diff --git a/MVC/MVC/FrontEndDev/react/sampleapp/interfaces/IHelloWorldProps.js b/MVC/MVC/FrontEndDev/react/sampleapp/interfaces/IHelloWorldProps.js
new file mode 100644
index 0000000..8fc891f
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/react/sampleapp/interfaces/IHelloWorldProps.js
@@ -0,0 +1,2 @@
+"use strict";
+//# sourceMappingURL=IHelloWorldProps.js.map
\ No newline at end of file
diff --git a/MVC/MVC/FrontEndDev/react/sampleapp/interfaces/IHelloWorldProps.js.map b/MVC/MVC/FrontEndDev/react/sampleapp/interfaces/IHelloWorldProps.js.map
new file mode 100644
index 0000000..e1628b0
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/react/sampleapp/interfaces/IHelloWorldProps.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"IHelloWorldProps.js","sourceRoot":"","sources":["IHelloWorldProps.ts"],"names":[],"mappings":""}
\ No newline at end of file
diff --git a/MVC/MVC/FrontEndDev/react/sampleapp/interfaces/IHelloWorldState.js b/MVC/MVC/FrontEndDev/react/sampleapp/interfaces/IHelloWorldState.js
new file mode 100644
index 0000000..07ec611
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/react/sampleapp/interfaces/IHelloWorldState.js
@@ -0,0 +1,2 @@
+"use strict";
+//# sourceMappingURL=IHelloWorldState.js.map
\ No newline at end of file
diff --git a/MVC/MVC/FrontEndDev/react/sampleapp/interfaces/IHelloWorldState.js.map b/MVC/MVC/FrontEndDev/react/sampleapp/interfaces/IHelloWorldState.js.map
new file mode 100644
index 0000000..c7dc1d1
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/react/sampleapp/interfaces/IHelloWorldState.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"IHelloWorldState.js","sourceRoot":"","sources":["IHelloWorldState.ts"],"names":[],"mappings":""}
\ No newline at end of file
diff --git a/MVC/MVC/FrontEndDev/typescript/Custom/custom.js b/MVC/MVC/FrontEndDev/typescript/Custom/custom.js
new file mode 100644
index 0000000..79a003a
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/typescript/Custom/custom.js
@@ -0,0 +1,13 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.testCustom = void 0;
+/* Content here */
+function testCustom() {
+ var testing = { message: "Hello World" };
+ return testing;
+}
+exports.testCustom = testCustom;
+document.addEventListener("ready", function () {
+ var test = testCustom();
+});
+//# sourceMappingURL=custom.js.map
\ No newline at end of file
diff --git a/MVC/MVC/FrontEndDev/typescript/Custom/custom.js.map b/MVC/MVC/FrontEndDev/typescript/Custom/custom.js.map
new file mode 100644
index 0000000..ab6651f
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/typescript/Custom/custom.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"custom.js","sourceRoot":"","sources":["custom.ts"],"names":[],"mappings":";;;AAAA,kBAAkB;AAClB,SAAgB,UAAU;IACtB,IAAI,OAAO,GAAS,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAC/C,OAAO,OAAO,CAAC;AACnB,CAAC;AAHD,gCAGC;AAMD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE;IAC/B,IAAI,IAAI,GAAG,UAAU,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC"}
\ No newline at end of file
diff --git a/MVC/MVC/FrontEndDev/typescript/Global/AjaxHelper.js b/MVC/MVC/FrontEndDev/typescript/Global/AjaxHelper.js
new file mode 100644
index 0000000..26c62fe
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/typescript/Global/AjaxHelper.js
@@ -0,0 +1,95 @@
+"use strict";
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __generator = (this && this.__generator) || function (thisArg, body) {
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+ function verb(n) { return function (v) { return step([n, v]); }; }
+ function step(op) {
+ if (f) throw new TypeError("Generator is already executing.");
+ while (_) try {
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+ if (y = 0, t) op = [op[0] & 2, t.value];
+ switch (op[0]) {
+ case 0: case 1: t = op; break;
+ case 4: _.label++; return { value: op[1], done: false };
+ case 5: _.label++; y = op[1]; op = [0]; continue;
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
+ default:
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+ if (t[2]) _.ops.pop();
+ _.trys.pop(); continue;
+ }
+ op = body.call(thisArg, _);
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+ }
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.AjaxHelper = void 0;
+var AjaxHelper = /** @class */ (function () {
+ function AjaxHelper() {
+ }
+ AjaxHelper.prototype.postRequest = function (Url, Data) {
+ return __awaiter(this, void 0, void 0, function () {
+ var response;
+ return __generator(this, function (_a) {
+ switch (_a.label) {
+ case 0: return [4 /*yield*/, fetch(Url, {
+ method: "POST",
+ mode: 'cors',
+ cache: "no-cache",
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ body: (Data ? JSON.stringify(Data) : "")
+ })];
+ case 1:
+ response = _a.sent();
+ return [4 /*yield*/, response.json()];
+ case 2: return [2 /*return*/, _a.sent()];
+ }
+ });
+ });
+ };
+ AjaxHelper.prototype.getRequest = function (Url, Data) {
+ return __awaiter(this, void 0, void 0, function () {
+ var urlWithParams, params, key, response;
+ return __generator(this, function (_a) {
+ switch (_a.label) {
+ case 0:
+ urlWithParams = Url;
+ if (Data) {
+ params = new Array();
+ for (key in Data) {
+ params.push(encodeURI(key) + "=" + encodeURI(Data[key].toString()));
+ }
+ urlWithParams += "?" + params.join("&");
+ }
+ return [4 /*yield*/, fetch(urlWithParams, {
+ method: "GET",
+ mode: 'cors',
+ cache: "no-cache"
+ })];
+ case 1:
+ response = _a.sent();
+ return [4 /*yield*/, response.json()];
+ case 2: return [2 /*return*/, _a.sent()];
+ }
+ });
+ });
+ };
+ return AjaxHelper;
+}());
+exports.AjaxHelper = AjaxHelper;
+//# sourceMappingURL=AjaxHelper.js.map
\ No newline at end of file
diff --git a/MVC/MVC/FrontEndDev/typescript/Global/AjaxHelper.js.map b/MVC/MVC/FrontEndDev/typescript/Global/AjaxHelper.js.map
new file mode 100644
index 0000000..b3a9690
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/typescript/Global/AjaxHelper.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"AjaxHelper.js","sourceRoot":"","sources":["AjaxHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;IAEI;IAEA,CAAC;IAEK,gCAAW,GAAjB,UAAqB,GAAW,EAAE,IAAU;;;;;4BACvB,qBAAM,KAAK,CAAC,GAAG,EAAE;4BAC9B,MAAM,EAAE,MAAM;4BACd,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,UAAU;4BACjB,OAAO,EAAE;gCACL,cAAc,EAAE,kBAAkB;6BACrC;4BACD,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC3C,CAAC,EAAA;;wBARI,QAAQ,GAAG,SAQf;wBACK,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;4BAA5B,sBAAO,SAAqB,EAAC;;;;KAChC;IAEK,+BAAU,GAAhB,UAAoB,GAAW,EAAE,IAAkD;;;;;;wBAC3E,aAAa,GAAG,GAAG,CAAC;wBACxB,IAAI,IAAI,EAAE;4BACF,MAAM,GAAG,IAAI,KAAK,EAAU,CAAC;4BACjC,KAAQ,GAAG,IAAI,IAAI,EAAE;gCACjB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAC,GAAG,GAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;6BAClE;4BACD,aAAa,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBAC3C;wBACgB,qBAAM,KAAK,CAAC,aAAa,EAAE;gCACxC,MAAM,EAAE,KAAK;gCACb,IAAI,EAAE,MAAM;gCACZ,KAAK,EAAE,UAAU;6BACpB,CAAC,EAAA;;wBAJI,QAAQ,GAAG,SAIf;wBACK,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;4BAA5B,sBAAO,SAAqB,EAAC;;;;KAChC;IACL,iBAAC;AAAD,CAAC,AAnCD,IAmCC;AAnCY,gCAAU"}
\ No newline at end of file
diff --git a/MVC/MVC/FrontEndDev/typescript/Header/header.js b/MVC/MVC/FrontEndDev/typescript/Header/header.js
new file mode 100644
index 0000000..f747ac8
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/typescript/Header/header.js
@@ -0,0 +1,13 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.testHeader = void 0;
+/* Content here */
+function testHeader() {
+ var testing = { message: "Hello World2", test2: 12 };
+ return testing;
+}
+exports.testHeader = testHeader;
+document.addEventListener("ready", function () {
+ var test = testHeader();
+});
+//# sourceMappingURL=header.js.map
\ No newline at end of file
diff --git a/MVC/MVC/FrontEndDev/typescript/Header/header.js.map b/MVC/MVC/FrontEndDev/typescript/Header/header.js.map
new file mode 100644
index 0000000..a645665
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/typescript/Header/header.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"header.js","sourceRoot":"","sources":["header.ts"],"names":[],"mappings":";;;AAAA,kBAAkB;AAClB,SAAgB,UAAU;IACtB,IAAI,OAAO,GAAS,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC3D,OAAO,OAAO,CAAC;AACnB,CAAC;AAHD,gCAGC;AAOD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE;IAC/B,IAAI,IAAI,GAAG,UAAU,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC"}
\ No newline at end of file
diff --git a/MVC/MVC/FrontEndDev/typescript/Helper/Helpers/SiteMethods.js b/MVC/MVC/FrontEndDev/typescript/Helper/Helpers/SiteMethods.js
new file mode 100644
index 0000000..e65e8f8
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/typescript/Helper/Helpers/SiteMethods.js
@@ -0,0 +1,16 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.SiteMethods = void 0;
+var SiteMethods = /** @class */ (function () {
+ function SiteMethods() {
+ }
+ SiteMethods.hello = function () {
+ return "Hello";
+ };
+ SiteMethods.world = function () {
+ return "World";
+ };
+ return SiteMethods;
+}());
+exports.SiteMethods = SiteMethods;
+//# sourceMappingURL=SiteMethods.js.map
\ No newline at end of file
diff --git a/MVC/MVC/FrontEndDev/typescript/Helper/Helpers/SiteMethods.js.map b/MVC/MVC/FrontEndDev/typescript/Helper/Helpers/SiteMethods.js.map
new file mode 100644
index 0000000..b28a2d6
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/typescript/Helper/Helpers/SiteMethods.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"SiteMethods.js","sourceRoot":"","sources":["SiteMethods.ts"],"names":[],"mappings":";;;AAAA;IAAA;IAQA,CAAC;IAPU,iBAAK,GAAZ;QACI,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,iBAAK,GAAZ;QACI,OAAO,OAAO,CAAC;IACnB,CAAC;IACL,kBAAC;AAAD,CAAC,AARD,IAQC;AARY,kCAAW"}
\ No newline at end of file
diff --git a/MVC/MVC/FrontEndDev/typescript/Helper/index.js b/MVC/MVC/FrontEndDev/typescript/Helper/index.js
new file mode 100644
index 0000000..46f34fe
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/typescript/Helper/index.js
@@ -0,0 +1,6 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var SiteMethods_1 = require("./Helpers/SiteMethods");
+// Can access your methods with window.SiteMethods.theMethodName()
+window.SiteMethods = SiteMethods_1.SiteMethods;
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/MVC/MVC/FrontEndDev/typescript/Helper/index.js.map b/MVC/MVC/FrontEndDev/typescript/Helper/index.js.map
new file mode 100644
index 0000000..7eb03fb
--- /dev/null
+++ b/MVC/MVC/FrontEndDev/typescript/Helper/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;AAAA,qDAAmD;AASnD,kEAAkE;AAClE,MAAM,CAAC,WAAW,GAAG,yBAAW,CAAC"}
\ No newline at end of file
diff --git a/MVC/MVC/MVC.csproj b/MVC/MVC/MVC.csproj
index 5b30386..3409d4c 100644
--- a/MVC/MVC/MVC.csproj
+++ b/MVC/MVC/MVC.csproj
@@ -7,7 +7,7 @@
net6.0
Generic
MVC
- 1.3.0
+ 1.4.0
Node.js + Gulp + Webpack refactoring
@@ -27,7 +27,7 @@
-
+
@@ -40,7 +40,7 @@
-
+
diff --git a/README.md b/README.md
index 0bb91eb..f3b959c 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,11 @@ Our Kentico 13 Baseline for MVC .Net Core 6.0 Site, the perfect starting point f
# Bug Fixes / Features Added
Bug fixes are mentioned here by date and MVC Version # (see MVC/MVC/MVC.csproj version #). The commit history shows all changes.
+
+**Version 1.4.0 (August 19, 2022)** [link 1.4.0](#)
+* Hotfixed to 79 (Refresh 6+)
+* Hotfix and upgrade various nuget packages
+
**Version 1.3.0 (April 8, 2022)** [link 1.3.0](https://github.com/HBSTech/Kentico13CoreBaseline/pull/12)
* Hotfixed to 64 (Refresh 5) for easier first time installation.
* Replaced Bundler & Minifier with Node.js (package.json) + Gulp (gulpfile.js) + WebPack (various webpack.configs)
diff --git a/XperienceModels/XperienceModels.csproj b/XperienceModels/XperienceModels.csproj
index 2d2fbd9..0a80de5 100644
--- a/XperienceModels/XperienceModels.csproj
+++ b/XperienceModels/XperienceModels.csproj
@@ -6,7 +6,7 @@
-
+