diff --git a/composer.json b/composer.json
index fbf737eadd..a556994083 100644
--- a/composer.json
+++ b/composer.json
@@ -16,7 +16,6 @@
         "grid",
         "crud"
     ],
-    "version": "dev-develop",
     "authors": [
         {
             "name": "Romans Malinovskis",
@@ -53,10 +52,6 @@
     ],
     "homepage": "https://github.com/atk4/ui",
     "require": {
-        "php": ">=7.4 <8.2",
-        "atk4/data": "dev-develop"
-    },
-    "require-release": {
         "php": ">=7.4 <8.2",
         "atk4/data": "~3.1.0"
     },
diff --git a/public/.gitignore b/public/.gitignore
index 0b928c32cf..9f7cfc121e 100644
--- a/public/.gitignore
+++ b/public/.gitignore
@@ -6,3 +6,4 @@
 !/atkjs-ui.min.js
 !/vendors.min.js
 !/atk-vue-*.min.js
+!/agileui.css.map
diff --git a/public/agileui.css b/public/agileui.css
index 443cdd14f4..13e0cad10c 100644
--- a/public/agileui.css
+++ b/public/agileui.css
@@ -1,290 +1 @@
-/*-------------------
-      Site Colors
---------------------*/
-/*---  Colors  ---*/
-/*---  Light Colors  ---*/
-/*---   Neutrals  ---*/
-/******* ADMIN TOP MENU *******/
-.ui.inverted.fixed.atk-admin-top-menu {
-  border: 1px solid rgba(255, 255, 255, 0.1);
-  z-index: 201;
-}
-/******* ADMIN SIDENAV MENU *******/
-.atk-maestro-sidenav > .ui.grid {
-  width: 260px;
-}
-.atk-sidenav-content {
-  overflow-x: hidden;
-  overflow-y: auto;
-}
-/* A selected item in admin menu */
-.ui.sidebar.atk-sidenav .menu > .item.active {
-  background: none;
-}
-/******* MAESTRO SIDENAV MENU *******/
-.atk-maestro-sidenav {
-  cursor: pointer;
-  color: white;
-}
-.atk-maestro-sidenav > .ui.grid > .atk-maestro-menu-items {
-  display: none;
-}
-.atk-maestro-sidenav > .ui.grid > .atk-maestro-menu-items.atk-visible {
-  display: flex;
-}
-/* Item without a group in menu */
-.ui.inverted.menu a.atk-maestro-sidenav.item {
-  padding-left: 34px;
-}
-.ui.inverted.menu a.atk-maestro-sidenav.item i {
-  margin-right: 2px;
-}
-.ui.inverted.menu a.atk-maestro-sidenav.item.active {
-  background-color: #2185D0;
-}
-.atk-maestro-sidenav .atk-submenu-toggle div {
-  height: 100%;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  justify-content: center;
-}
-.atk-maestro-sidenav:not(active) .atk-submenu-toggle:hover {
-  background-color: rgba(255, 255, 255, 0.15);
-}
-.atk-maestro-sidenav .ui.grid .row {
-  padding: 0px;
-}
-.atk-maestro-sidenav .ui.grid .column {
-  padding-top: 8px;
-  padding-bottom: 8px;
-}
-.atk-maestro-sidenav .ui.grid .atk-maestro-menu-title header {
-  margin-left: -10px;
-}
-.atk-maestro-sidenav .ui.grid .atk-maestro-menu-items .menu {
-  margin-left: 10px;
-}
-.atk-maestro-sidenav.active .atk-maestro-menu-title {
-  background-color: #2185D0;
-}
-header.ui.fixed.horizontal.menu {
-  min-height: 48px;
-}
-.ui.visible.left.sidebar ~ header.atk-topMenu.ui.menu.fixed {
-  width: calc(100% -  260px );
-}
-.ui.visible.left.sidebar ~ .atk-mainContainer,
-.ui.visible.left.sidebar ~ footer.atk-footer {
-  padding-left: 260px;
-}
-.atk-dialog-content {
-  min-height: 100px;
-}
-.atk-hide-loading-content.loading:before {
-  background: rgba(255, 255, 255, 0.98) !important;
-}
-.atk-layout {
-  display: flex;
-  min-height: 100vh;
-  flex-direction: column;
-}
-.atk-topMenuGhost.ui.menu {
-  display: none;
-  margin: 0;
-  pointer-events: none;
-  visibility: hidden;
-}
-header.atk-topMenu.ui.fixed.menu ~ .atk-topMenuGhost {
-  display: block;
-}
-header.atk-topMenu.ui.menu .item > .label {
-  margin-left: 0;
-}
-.atk-mainContainer {
-  flex: 1;
-}
-.atk-mainContainer .atk-mainContainerWrapper {
-  padding: 3em;
-}
-.atk-mainContainer.atk-admin-layout {
-  margin-top: 48px;
-}
-footer.atk-footer .ui.divider,
-footer.atk-footer .ui.segment {
-  margin: 0;
-}
-.ui.left.sidebar {
-  z-index: 200;
-}
-.atk-right-panel {
-  -webkit-transition: box-shadow 0.2s, right 0.2s;
-  -moz-transition: box-shadow 0.2s, right 0.2s;
-  -ms-transition: box-shadow 0.2s, right 0.2s;
-  -o-transition: box-shadow 0.2s, right 0.2s;
-  transition: box-shadow 0.2s, right 0.2s;
-  bottom: 0;
-  background-color: #F9FAFB;
-  box-shadow: 0 0 0 rgba(27, 28, 29, 0);
-  height: 99%;
-  right: -100%;
-  overflow-y: auto;
-  position: fixed;
-  width: 40%;
-  z-index: 301;
-}
-.atk-right-panel.atk-visible {
-  box-shadow: 0px 0 5px rgba(27, 28, 29, 0.2);
-  right: 0%;
-}
-.atk-panel-close {
-  color: #1B1C1D;
-}
-i.atk-panel-warning {
-  color: #F9FAFB;
-}
-i.atk-panel-warning.atk-visible {
-  color: #F2711C;
-}
-.ui.left.sidebar.atk-sidenav {
-  top: 48px;
-}
-.atk-sidenav-content {
-  height: calc(100% -  98px );
-}
-.ui.left.sidebar.atk-sidenav {
-  width: 260px;
-}
-.atk-table-dropdown {
-  margin-top: -8px;
-  float: left;
-}
-.atk-table-dropdown i {
-  opacity: 0.3;
-  vertical-align: bottom;
-}
-.atk-table-dropdown i.table-filter-on:after {
-  content: '\f150';
-  color: dodgerblue;
-}
-.atk-table-dropdown i.table-filter-off:after {
-  content: '\f150';
-}
-.atk-table-dropdown .dropdown .menu {
-  margin: 1em -10px 0 !important;
-}
-.atk-table-column-header {
-  white-space: pre-wrap;
-}
-.atk-table-column-header:after {
-  font-style: normal;
-  font-weight: normal;
-  text-decoration: inherit;
-  content: '';
-  height: 1em;
-  width: auto;
-  opacity: 0.8;
-  margin: 0em 0em 0em 0.5em;
-  font-family: 'Icons';
-  float: right;
-}
-.atk-table-column-header.ascending:after {
-  content: '\f0d8';
-}
-.atk-table-column-header.descending:after {
-  content: '\f0d7';
-}
-.ui.sortable.table thead th:not(.sortable) {
-  cursor: default;
-}
-.ui.input .ui.popup.calendar {
-  padding: 0px;
-}
-.ui.step,
-.ui.steps .step {
-  user-select: none;
-}
-.atk-overflow-auto {
-  overflow: auto;
-  border: 1px solid rgba(34, 36, 38, 0.15);
-  margin-bottom: 1em;
-}
-.atk-overflow-auto > .ui.table {
-  margin-top: 0em;
-}
-.atk-cell-expanded {
-  min-width: 320px;
-  max-width: 640px;
-  white-space: normal;
-}
-.atk-overlay.pushable {
-  height: 100%;
-  left: 0;
-  opacity: 0;
-  pointer-events: none;
-  position: fixed;
-  top: 48px;
-  width: 100%;
-  z-index: 101;
-}
-.atk-overlay.pushable .pusher:after {
-  height: 100%;
-  opacity: 1;
-  width: 100%;
-}
-@media (max-width: 991px) {
-  .ui.left.sidebar ~ header.atk-topMenu.ui.menu.fixed {
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-    width: 100% !important;
-  }
-  .ui.visible.left.sidebar ~ .atk-mainContainer,
-  .ui.visible.left.sidebar ~ footer.atk-footer {
-    padding-left: 0;
-  }
-  .ui.left.sidebar {
-    opacity: 0;
-    pointer-events: none;
-    -webkit-transform: translate3d(0, 0, 0);
-    transform: translate3d(0, 0, 0);
-    visibility: visible;
-  }
-  body.atk-sidenav-visible:after {
-    left: 0;
-    position: fixed;
-    top: 0;
-  }
-  body.atk-sidenav-visible .ui.left.sidebar {
-    opacity: 1;
-    pointer-events: auto;
-  }
-  body.atk-sidenav-visible .ui.left.sidebar .atk-leftMenuClose {
-    display: block;
-  }
-}
-@media (max-width: 991px) {
-  body.atk-sidenav-visible .atk-overlay.pushable {
-    opacity: 1;
-  }
-}
-@media (min-width: 768px) and (max-width: 991px) {
-  .atk-right-panel {
-    width: 65%;
-  }
-}
-@media (max-width: 767px) {
-  .atk-right-panel {
-    width: 95%;
-  }
-}
-@media print {
-  .ui.visible.left.sidebar ~ .atk-mainContainer,
-  .ui.visible.left.sidebar ~ footer.atk-footer {
-    padding-left: 0;
-  }
-  .ui.left.sidebar,
-  .atk-topMenu,
-  .atk-topMenuGhost {
-    display: none !important;
-  }
-}
+.atk-table-dropdown i.table-filter-off:after,.atk-table-dropdown i.table-filter-on:after{content:'\f150'}.ui.inverted.fixed.atk-admin-top-menu{border:1px solid rgba(255,255,255,.1);z-index:201}.atk-maestro-sidenav>.ui.grid{width:260px}.ui.sidebar.atk-sidenav .menu>.item.active{background:0 0}.atk-maestro-sidenav{cursor:pointer;color:#fff}.atk-maestro-sidenav>.ui.grid>.atk-maestro-menu-items{display:none}.atk-maestro-sidenav>.ui.grid>.atk-maestro-menu-items.atk-visible{display:flex}.ui.inverted.menu a.atk-maestro-sidenav.item{padding-left:34px}.atk-maestro-sidenav .ui.grid .row,.ui.input .ui.popup.calendar{padding:0}.ui.inverted.menu a.atk-maestro-sidenav.item i{margin-right:2px}.ui.inverted.menu a.atk-maestro-sidenav.item.active{background-color:#2185D0}.atk-maestro-sidenav .atk-submenu-toggle div{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.atk-maestro-sidenav:not(active) .atk-submenu-toggle:hover{background-color:rgba(255,255,255,.15)}.atk-maestro-sidenav .ui.grid .column{padding-top:8px;padding-bottom:8px}.atk-maestro-sidenav .ui.grid .atk-maestro-menu-title header{margin-left:-10px}.atk-maestro-sidenav .ui.grid .atk-maestro-menu-items .menu{margin-left:10px}.atk-maestro-sidenav.active .atk-maestro-menu-title{background-color:#2185D0}header.ui.fixed.horizontal.menu{min-height:48px}.ui.visible.left.sidebar~header.atk-topMenu.ui.menu.fixed{width:calc(100% - 260px)}.ui.visible.left.sidebar~.atk-mainContainer,.ui.visible.left.sidebar~footer.atk-footer{padding-left:260px}.atk-dialog-content{min-height:100px}.atk-hide-loading-content.loading:before{background:rgba(255,255,255,.98)!important}.atk-layout{display:flex;min-height:100vh;flex-direction:column}.atk-topMenuGhost.ui.menu{display:none;margin:0;pointer-events:none;visibility:hidden}header.atk-topMenu.ui.fixed.menu~.atk-topMenuGhost{display:block}header.atk-topMenu.ui.menu .item>.label{margin-left:0}.atk-mainContainer{flex:1}.atk-mainContainer .atk-mainContainerWrapper{padding:3em}.atk-mainContainer.atk-admin-layout{margin-top:48px}footer.atk-footer .ui.divider,footer.atk-footer .ui.segment{margin:0}.ui.left.sidebar{z-index:200}.atk-right-panel{-webkit-transition:box-shadow .2s,right .2s;-moz-transition:box-shadow .2s,right .2s;-ms-transition:box-shadow .2s,right .2s;-o-transition:box-shadow .2s,right .2s;transition:box-shadow .2s,right .2s;bottom:0;background-color:#F9FAFB;box-shadow:0 0 0 rgba(27,28,29,0);height:99%;right:-100%;overflow-y:auto;position:fixed;width:40%;z-index:301}.atk-right-panel.atk-visible{box-shadow:0 0 5px rgba(27,28,29,.2);right:0}.atk-panel-close{color:#1B1C1D}i.atk-panel-warning{color:#F9FAFB}i.atk-panel-warning.atk-visible{color:#F2711C}.ui.left.sidebar.atk-sidenav{top:48px;width:260px}.atk-sidenav-content{overflow-x:hidden;overflow-y:auto;height:calc(100% - 98px)}.atk-table-dropdown{margin-top:-8px;float:left}.atk-table-dropdown i{opacity:.3;vertical-align:bottom}.atk-table-dropdown i.table-filter-on:after{color:#1e90ff}.atk-table-dropdown .dropdown .menu{margin:1em -10px 0!important}.atk-table-column-header{white-space:pre-wrap}.atk-table-column-header:after{font-style:normal;font-weight:400;text-decoration:inherit;content:'';height:1em;width:auto;opacity:.8;margin:0 0 0 .5em;font-family:Icons;float:right}.atk-table-column-header.ascending:after{content:'\f0d8'}.atk-table-column-header.descending:after{content:'\f0d7'}.ui.sortable.table thead th:not(.sortable){cursor:default}.ui.step,.ui.steps .step{user-select:none}.atk-overflow-auto{overflow:auto;border:1px solid rgba(34,36,38,.15);margin-bottom:1em}.atk-overflow-auto>.ui.table{margin-top:0}.atk-cell-expanded{min-width:320px;max-width:640px;white-space:normal}.atk-overlay.pushable{height:100%;left:0;opacity:0;pointer-events:none;position:fixed;top:48px;width:100%;z-index:101}.atk-overlay.pushable .pusher:after{height:100%;opacity:1;width:100%}@media (max-width:991px){.ui.left.sidebar~header.atk-topMenu.ui.menu.fixed{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);width:100%!important}.ui.visible.left.sidebar~.atk-mainContainer,.ui.visible.left.sidebar~footer.atk-footer{padding-left:0}.ui.left.sidebar{opacity:0;pointer-events:none;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:visible}body.atk-sidenav-visible:after{left:0;position:fixed;top:0}body.atk-sidenav-visible .ui.left.sidebar{opacity:1;pointer-events:auto}body.atk-sidenav-visible .ui.left.sidebar .atk-leftMenuClose{display:block}body.atk-sidenav-visible .atk-overlay.pushable{opacity:1}}@media (min-width:768px) and (max-width:991px){.atk-right-panel{width:65%}}@media (max-width:767px){.atk-right-panel{width:95%}}@media print{.ui.visible.left.sidebar~.atk-mainContainer,.ui.visible.left.sidebar~footer.atk-footer{padding-left:0}.atk-topMenu,.atk-topMenuGhost,.ui.left.sidebar{display:none!important}}/*# sourceMappingURL=agileui.css.map */
\ No newline at end of file
diff --git a/public/agileui.css.map b/public/agileui.css.map
new file mode 100644
index 0000000000..d7eaffd5a7
--- /dev/null
+++ b/public/agileui.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["agileui.less"],"names":[],"mappings":"AA0QK,6CANA,4CAOC,QAAA,QA7MY,sCAChB,OAAA,IAAA,MAAA,qBACA,QAAA,IAKwB,8BACxB,MAAA,MAUa,2CACX,eAMJ,qBACE,OAAA,QACA,MAAA,KAG8B,sDAC9B,QAAA,KACC,kEACC,QAAA,KAKmC,6CACrC,aAAA,KAyBE,mCAyLe,6BAxLb,QAAA,EAzBJ,+CACE,aAAA,IAED,oDACC,iBAAA,QAMA,6CACE,OAAA,KACA,QAAA,KACA,eAAA,OACA,YAAA,OACA,gBAAA,OAIiB,2DACjB,iBAAA,sBAOF,sCACE,YAAA,IACA,eAAA,IAEsB,6DACtB,YAAA,MAEsB,4DACtB,YAAA,KAKsB,oDAC1B,iBAAA,QAIwB,gCACxB,WAAA,KAGmD,0DACnD,MAAA,mBAEuB,4CACQ,2CAC/B,aAAA,MAGF,oBACE,WAAA,MAG+B,yCAC3B,WAAA,gCAGN,YACE,QAAA,KACA,WAAA,MACA,eAAA,OAEkB,0BAClB,QAAA,KACA,OAAA,EACA,eAAA,KACA,WAAA,OAE+B,mDAC/B,QAAA,MAE+B,wCAC/B,YAAA,EAGF,mBACE,KAAA,EACA,6CACE,QAAA,IAED,oCACC,WAAA,KAIC,8BAAa,8BACd,OAAA,EAOI,iBACN,QAAA,IAGF,iBACE,mBAAA,WAAA,IAAA,MAAA,IACA,gBAAA,WAAA,IAAA,MAAA,IACA,eAAA,WAAA,IAAA,MAAA,IACA,cAAA,WAAA,IAAA,MAAA,IACA,WAAA,WAAA,IAAA,MAAA,IACA,OAAA,EACA,iBAAA,QACA,WAAA,EAAA,EAAA,EAAA,iBACA,OAAA,IACA,MAAA,MACA,WAAA,KACA,SAAA,MACA,MAAA,IACA,QAAA,IACC,6BACC,WAAA,EAAA,EAAA,IAAA,kBACA,MAAA,EAIJ,iBACE,MAAA,QAGD,oBACC,MAAA,QACC,gCACC,MAAA,QAIY,6BACd,IAAA,KAQA,MAAA,MALF,qBAzKE,WAAA,OACA,WAAA,KAyKA,OAAA,kBAQF,oBACE,WAAA,KACA,MAAA,KACA,sBACE,QAAA,GACA,eAAA,OAGC,4CAEC,MAAA,QASF,oCACE,OAAA,IAAA,MAAA,YAKN,yBACI,YAAA,SACC,+BAEC,WAAA,OACA,YAAA,IACA,gBAAA,QACA,QAAA,GACA,OAAA,IACA,MAAA,KACA,QAAA,GACA,OAAA,EAAA,EAAA,EAAA,KACA,YAAA,MACA,MAAA,MAIH,yCACC,QAAA,QAKD,0CACC,QAAA,QAI2B,2CAC3B,OAAA,QAWD,SAAiB,gBAChB,YAAA,KAGJ,mBACE,SAAA,KACA,OAAA,IAAA,MAAA,mBACA,cAAA,IACK,6BACH,WAAA,EAIJ,mBACE,UAAA,MACA,UAAA,MACA,YAAA,OAEU,sBACV,OAAA,KACA,KAAA,EACA,QAAA,EACA,eAAA,KACA,SAAA,MACA,IAAA,KACA,MAAA,KACA,QAAA,IAEG,oCACC,OAAA,KACA,QAAA,EACA,MAAA,KAwCkC,yBA/BO,kDAC3C,kBAAmB,mBACnB,UAAW,mBACX,MAAA,eAEuB,4CACQ,2CAC/B,aAAA,EAEM,iBACN,QAAA,EACA,eAAA,KACA,kBAAmB,mBACnB,UAAW,mBACX,WAAA,QAGC,+BACC,KAAA,EACA,SAAA,MACA,IAAA,EAEM,0CACN,QAAA,EACA,eAAA,KACA,6DACE,QAAA,MAM+B,+CACnC,QAAA,GAIoE,+CACtE,iBACE,MAAA,KAGqC,yBACvC,iBACE,MAAA,KAMJ,aAC2B,4CACQ,2CAC/B,aAAA,EAEgB,aAAc,kBAAxB,iBACN,QAAA"}
\ No newline at end of file
diff --git a/src/App.php b/src/App.php
index cd83690b35..d812599e64 100644
--- a/src/App.php
+++ b/src/App.php
@@ -43,7 +43,7 @@ class App
 
     /** @var array|false Location where to load JS/CSS files */
     public $cdn = [
-        'atk' => 'https://raw.githack.com/atk4/ui/develop/public',
+        'atk' => 'https://raw.githack.com/atk4/ui/3.1.0/public',
         'jquery' => 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1',
         'serialize-object' => 'https://cdnjs.cloudflare.com/ajax/libs/jquery-serialize-object/2.5.0',
         'semantic-ui' => 'https://cdnjs.cloudflare.com/ajax/libs/fomantic-ui/2.8.8',
@@ -54,7 +54,7 @@ class App
     protected $executorFactory;
 
     /** @var string Version of Agile UI */
-    public $version = '3.1-dev';
+    public $version = '3.1.0';
 
     /** @var string Name of application */
     public $title = 'Agile UI - Untitled Application';