From 7bf6610904c5011f63d4d096847ae9948d30b7c6 Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Mon, 28 Oct 2019 12:23:07 +0100
Subject: update to 4.0.0-rc.2

---
 PHPINFO           |    7 +-
 REFLECTION        | 1182 ++++++++++++++++++++++++++++++-----------------------
 php-phalcon4.spec |   12 +-
 3 files changed, 692 insertions(+), 509 deletions(-)

diff --git a/PHPINFO b/PHPINFO
index 10c9a99..0320dfc 100644
--- a/PHPINFO
+++ b/PHPINFO
@@ -5,9 +5,9 @@ phalcon
 Web framework delivered as a C-extension for PHP
 phalcon => enabled
 Author => Phalcon Team and contributors
-Version => 4.0.0-rc.1
-Build Date => Sep 23 2019 14:31:47
-Powered by Zephir => Version 0.12.4-b386980
+Version => 4.0.0-rc.2
+Build Date => Oct 28 2019 10:45:33
+Powered by Zephir => Version 0.12.10-fedc314
 
 Directive => Local Value => Master Value
 phalcon.db.escape_identifiers => On => On
@@ -27,3 +27,4 @@ phalcon.orm.late_state_binding => Off => Off
 phalcon.orm.not_null_validations => On => On
 phalcon.orm.update_snapshot_on_save => On => On
 phalcon.orm.virtual_foreign_keys => On => On
+phalcon.warning.enable => On => On
diff --git a/REFLECTION b/REFLECTION
index 130b1dc..88ad90b 100644
--- a/REFLECTION
+++ b/REFLECTION
@@ -1,4 +1,4 @@
-Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
+Extension [ <persistent> extension #200 phalcon version 4.0.0-rc.2 ] {
 
   - Dependencies {
     Dependency [ pdo (Required) ]
@@ -61,9 +61,12 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
     Entry [ phalcon.orm.virtual_foreign_keys <ALL> ]
       Current = '1'
     }
+    Entry [ phalcon.warning.enable <ALL> ]
+      Current = '1'
+    }
   }
 
-  - Classes [467] {
+  - Classes [471] {
     Interface [ <internal:phalcon> interface Phalcon\Di\InjectionAwareInterface ] {
 
       - Constants [0] {
@@ -96,38 +99,6 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Interface [ <internal:phalcon> interface Phalcon\Events\EventsAwareInterface ] {
-
-      - Constants [0] {
-      }
-
-      - Static properties [0] {
-      }
-
-      - Static methods [0] {
-      }
-
-      - Properties [0] {
-      }
-
-      - Methods [2] {
-        Method [ <internal:phalcon> abstract public method getEventsManager ] {
-
-          - Parameters [0] {
-          }
-          - Return [ Phalcon\Events\ManagerInterface or NULL ]
-        }
-
-        Method [ <internal:phalcon> abstract public method setEventsManager ] {
-
-          - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
-          }
-          - Return [ void ]
-        }
-      }
-    }
-
     Interface [ <internal:phalcon> interface Phalcon\Validation\ValidatorInterface ] {
 
       - Constants [0] {
@@ -201,6 +172,38 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
+    Interface [ <internal:phalcon> interface Phalcon\Events\EventsAwareInterface ] {
+
+      - Constants [0] {
+      }
+
+      - Static properties [0] {
+      }
+
+      - Static methods [0] {
+      }
+
+      - Properties [0] {
+      }
+
+      - Methods [2] {
+        Method [ <internal:phalcon> abstract public method getEventsManager ] {
+
+          - Parameters [0] {
+          }
+          - Return [ Phalcon\Events\ManagerInterface or NULL ]
+        }
+
+        Method [ <internal:phalcon> abstract public method setEventsManager ] {
+
+          - Parameters [1] {
+            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
+          }
+          - Return [ void ]
+        }
+      }
+    }
+
     Interface [ <internal:phalcon> interface Phalcon\Storage\Adapter\AdapterInterface ] {
 
       - Constants [0] {
@@ -928,7 +931,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Mvc\Model\MetaData\StrategyInterface ]
+          - Return [ Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface ]
         }
 
         Method [ <internal:phalcon> abstract public method hasAttribute ] {
@@ -1027,7 +1030,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Method [ <internal:phalcon> abstract public method setStrategy ] {
 
           - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Mvc\Model\MetaData\StrategyInterface $strategy ]
+            Parameter #0 [ <required> Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface $strategy ]
           }
         }
 
@@ -1468,7 +1471,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Pdo ]
+          - Return [ PDO ]
         }
 
         Method [ <internal:phalcon> abstract public method getNestedTransactionSavepointName ] {
@@ -2123,6 +2126,10 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         }
 
         Method [ <internal:phalcon> abstract public method getRoleCallback ] {
+
+          - Parameters [0] {
+          }
+          - Return [ Closure ]
         }
 
         Method [ <internal:phalcon> abstract public method isAlwaysResolvingRole ] {
@@ -2159,7 +2166,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Method [ <internal:phalcon> abstract public method setRoleCallback ] {
 
           - Parameters [1] {
-            Parameter #0 [ <required> $callback ]
+            Parameter #0 [ <required> Closure $callback ]
           }
           - Return [ Phalcon\Firewall\Adapter\AdapterInterface ]
         }
@@ -2452,7 +2459,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $translateKey ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
@@ -2461,7 +2468,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $translateKey ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
@@ -2991,7 +2998,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #0 [ <required> string $partialPath ]
             Parameter #1 [ <optional> $params ]
           }
-          - Return [ string ]
+          - Return [ void ]
         }
 
         Method [ <internal:phalcon> abstract public method render ] {
@@ -3335,7 +3342,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Interface [ <internal:phalcon> interface Phalcon\Mvc\Model\MetaData\StrategyInterface ] {
+    Interface [ <internal:phalcon> interface Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface ] {
 
       - Constants [0] {
       }
@@ -4010,6 +4017,125 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
+    Interface [ <internal:phalcon> interface Phalcon\Cli\Router\RouteInterface ] {
+
+      - Constants [0] {
+      }
+
+      - Static properties [0] {
+      }
+
+      - Static methods [3] {
+        Method [ <internal:phalcon> abstract static public method delimiter ] {
+
+          - Parameters [1] {
+            Parameter #0 [ <optional> string or NULL $delimiter ]
+          }
+        }
+
+        Method [ <internal:phalcon> abstract static public method getDelimiter ] {
+
+          - Parameters [0] {
+          }
+          - Return [ string ]
+        }
+
+        Method [ <internal:phalcon> abstract static public method reset ] {
+
+          - Parameters [0] {
+          }
+          - Return [ void ]
+        }
+      }
+
+      - Properties [0] {
+      }
+
+      - Methods [11] {
+        Method [ <internal:phalcon> abstract public method compilePattern ] {
+
+          - Parameters [1] {
+            Parameter #0 [ <required> string $pattern ]
+          }
+          - Return [ string ]
+        }
+
+        Method [ <internal:phalcon> abstract public method getCompiledPattern ] {
+
+          - Parameters [0] {
+          }
+          - Return [ string ]
+        }
+
+        Method [ <internal:phalcon> abstract public method getDescription ] {
+
+          - Parameters [0] {
+          }
+          - Return [ string ]
+        }
+
+        Method [ <internal:phalcon> abstract public method getName ] {
+
+          - Parameters [0] {
+          }
+          - Return [ string ]
+        }
+
+        Method [ <internal:phalcon> abstract public method getPaths ] {
+
+          - Parameters [0] {
+          }
+          - Return [ array ]
+        }
+
+        Method [ <internal:phalcon> abstract public method getPattern ] {
+
+          - Parameters [0] {
+          }
+          - Return [ string ]
+        }
+
+        Method [ <internal:phalcon> abstract public method getReversedPaths ] {
+
+          - Parameters [0] {
+          }
+          - Return [ array ]
+        }
+
+        Method [ <internal:phalcon> abstract public method getRouteId ] {
+
+          - Parameters [0] {
+          }
+          - Return [ string ]
+        }
+
+        Method [ <internal:phalcon> abstract public method reConfigure ] {
+
+          - Parameters [2] {
+            Parameter #0 [ <required> string $pattern ]
+            Parameter #1 [ <optional> $paths ]
+          }
+          - Return [ void ]
+        }
+
+        Method [ <internal:phalcon> abstract public method setDescription ] {
+
+          - Parameters [1] {
+            Parameter #0 [ <required> string $description ]
+          }
+          - Return [ Phalcon\Cli\Router\RouteInterface ]
+        }
+
+        Method [ <internal:phalcon> abstract public method setName ] {
+
+          - Parameters [1] {
+            Parameter #0 [ <required> string $name ]
+          }
+          - Return [ Phalcon\Cli\Router\RouteInterface ]
+        }
+      }
+    }
+
     Interface [ <internal:phalcon> interface Phalcon\Cli\TaskInterface ] {
 
       - Constants [0] {
@@ -4796,10 +4922,11 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
         Method [ <internal:phalcon> abstract public method fire ] {
 
-          - Parameters [3] {
+          - Parameters [4] {
             Parameter #0 [ <required> string $eventType ]
             Parameter #1 [ <required> $source ]
             Parameter #2 [ <optional> $data ]
+            Parameter #3 [ <optional> boolean $cancelable ]
           }
         }
 
@@ -9327,125 +9454,6 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Interface [ <internal:phalcon> interface Phalcon\Cli\Router\RouteInterface ] {
-
-      - Constants [0] {
-      }
-
-      - Static properties [0] {
-      }
-
-      - Static methods [3] {
-        Method [ <internal:phalcon> abstract static public method delimiter ] {
-
-          - Parameters [1] {
-            Parameter #0 [ <optional> string or NULL $delimiter ]
-          }
-        }
-
-        Method [ <internal:phalcon> abstract static public method getDelimiter ] {
-
-          - Parameters [0] {
-          }
-          - Return [ string ]
-        }
-
-        Method [ <internal:phalcon> abstract static public method reset ] {
-
-          - Parameters [0] {
-          }
-          - Return [ void ]
-        }
-      }
-
-      - Properties [0] {
-      }
-
-      - Methods [11] {
-        Method [ <internal:phalcon> abstract public method compilePattern ] {
-
-          - Parameters [1] {
-            Parameter #0 [ <required> string $pattern ]
-          }
-          - Return [ string ]
-        }
-
-        Method [ <internal:phalcon> abstract public method getCompiledPattern ] {
-
-          - Parameters [0] {
-          }
-          - Return [ string ]
-        }
-
-        Method [ <internal:phalcon> abstract public method getDescription ] {
-
-          - Parameters [0] {
-          }
-          - Return [ string ]
-        }
-
-        Method [ <internal:phalcon> abstract public method getName ] {
-
-          - Parameters [0] {
-          }
-          - Return [ string ]
-        }
-
-        Method [ <internal:phalcon> abstract public method getPaths ] {
-
-          - Parameters [0] {
-          }
-          - Return [ array ]
-        }
-
-        Method [ <internal:phalcon> abstract public method getPattern ] {
-
-          - Parameters [0] {
-          }
-          - Return [ string ]
-        }
-
-        Method [ <internal:phalcon> abstract public method getReversedPaths ] {
-
-          - Parameters [0] {
-          }
-          - Return [ array ]
-        }
-
-        Method [ <internal:phalcon> abstract public method getRouteId ] {
-
-          - Parameters [0] {
-          }
-          - Return [ string ]
-        }
-
-        Method [ <internal:phalcon> abstract public method reConfigure ] {
-
-          - Parameters [2] {
-            Parameter #0 [ <required> string $pattern ]
-            Parameter #1 [ <optional> $paths ]
-          }
-          - Return [ void ]
-        }
-
-        Method [ <internal:phalcon> abstract public method setDescription ] {
-
-          - Parameters [1] {
-            Parameter #0 [ <required> string $description ]
-          }
-          - Return [ Phalcon\Cli\Router\RouteInterface ]
-        }
-
-        Method [ <internal:phalcon> abstract public method setName ] {
-
-          - Parameters [1] {
-            Parameter #0 [ <required> string $name ]
-          }
-          - Return [ Phalcon\Cli\Router\RouteInterface ]
-        }
-      }
-    }
-
     Interface [ <internal:phalcon> interface Phalcon\Di\ServiceProviderInterface ] {
 
       - Constants [0] {
@@ -9785,7 +9793,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> abstract class Phalcon\Di\Injectable implements Phalcon\Di\InjectionAwareInterface, Phalcon\Events\EventsAwareInterface ] {
+    Class [ <internal:phalcon> abstract class Phalcon\Di\Injectable implements Phalcon\Di\InjectionAwareInterface ] {
 
       - Constants [0] {
       }
@@ -9796,12 +9804,11 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       - Static methods [0] {
       }
 
-      - Properties [2] {
+      - Properties [1] {
         Property [ <default> protected $container ]
-        Property [ <default> protected $eventsManager ]
       }
 
-      - Methods [5] {
+      - Methods [4] {
         Method [ <internal:phalcon> public method __get ] {
 
           - Parameters [1] {
@@ -9809,18 +9816,19 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
         }
 
-        Method [ <internal:phalcon, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
+        Method [ <internal:phalcon> public method __isset ] {
 
-          - Parameters [0] {
+          - Parameters [1] {
+            Parameter #0 [ <required> string $name ]
           }
-          - Return [ Phalcon\Di\DiInterface ]
+          - Return [ boolean ]
         }
 
-        Method [ <internal:phalcon, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
+        Method [ <internal:phalcon, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Events\ManagerInterface or NULL ]
+          - Return [ Phalcon\Di\DiInterface ]
         }
 
         Method [ <internal:phalcon, prototype Phalcon\Di\InjectionAwareInterface> public method setDI ] {
@@ -9830,14 +9838,6 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
           - Return [ void ]
         }
-
-        Method [ <internal:phalcon, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
-
-          - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
-          }
-          - Return [ void ]
-        }
       }
     }
 
@@ -10305,9 +10305,10 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
         Method [ <internal:phalcon> public method get ] {
 
-          - Parameters [2] {
+          - Parameters [3] {
             Parameter #0 [ <required> string $element ]
             Parameter #1 [ <optional> $defaultValue ]
+            Parameter #2 [ <optional> string or NULL $cast ]
           }
         }
 
@@ -11021,9 +11022,10 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
         Method [ <internal:phalcon, inherits Phalcon\Collection> public method get ] {
 
-          - Parameters [2] {
+          - Parameters [3] {
             Parameter #0 [ <required> string $element ]
             Parameter #1 [ <optional> $defaultValue ]
+            Parameter #2 [ <optional> string or NULL $cast ]
           }
         }
 
@@ -11290,7 +11292,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Mvc\Model\MetaData\StrategyInterface ]
+          - Return [ Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface ]
         }
 
         Method [ <internal:phalcon, prototype Phalcon\Mvc\Model\MetaDataInterface> public method hasAttribute ] {
@@ -11394,7 +11396,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Method [ <internal:phalcon, prototype Phalcon\Mvc\Model\MetaDataInterface> public method setStrategy ] {
 
           - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Mvc\Model\MetaData\StrategyInterface $strategy ]
+            Parameter #0 [ <required> Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface $strategy ]
           }
           - Return [ void ]
         }
@@ -12026,7 +12028,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Pdo ]
+          - Return [ PDO ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Db\Adapter\AdapterInterface> abstract public method isUnderTransaction ] {
@@ -12461,7 +12463,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Pdo ]
+          - Return [ PDO ]
         }
 
         Method [ <internal:phalcon> public method getTransactionLevel ] {
@@ -13699,7 +13701,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Method [ <internal:phalcon, prototype Phalcon\Firewall\Adapter\AdapterInterface> public method setRoleCallback ] {
 
           - Parameters [1] {
-            Parameter #0 [ <required> $callback ]
+            Parameter #0 [ <required> Closure $callback ]
           }
           - Return [ Phalcon\Firewall\Adapter\AdapterInterface ]
         }
@@ -13778,10 +13780,9 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       - Static methods [0] {
       }
 
-      - Properties [3] {
+      - Properties [2] {
         Property [ <default> protected $handle ]
         Property [ <default> protected $stream ]
-        Property [ <default> protected $warning ]
       }
 
       - Methods [22] {
@@ -14164,7 +14165,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Parameters [1] {
             Parameter #0 [ <required> integer $page ]
           }
-          - Return [ Phalcon\Paginator\Adapter\Adapter ]
+          - Return [ Phalcon\Paginator\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon, prototype Phalcon\Paginator\Adapter\AdapterInterface> public method setLimit ] {
@@ -14172,7 +14173,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Parameters [1] {
             Parameter #0 [ <required> integer $limitRows ]
           }
-          - Return [ Phalcon\Paginator\Adapter\Adapter ]
+          - Return [ Phalcon\Paginator\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon> public method setRepository ] {
@@ -14180,7 +14181,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Parameters [1] {
             Parameter #0 [ <required> Phalcon\Paginator\RepositoryInterface $repository ]
           }
-          - Return [ Phalcon\Paginator\Adapter\Adapter ]
+          - Return [ Phalcon\Paginator\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon> protected method getRepository ] {
@@ -14229,7 +14230,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $translateKey ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
@@ -14270,7 +14271,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $translateKey ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
@@ -14279,7 +14280,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $translation ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
@@ -14296,14 +14297,14 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $translateKey ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
       }
     }
 
-    Class [ <internal:phalcon> abstract class Phalcon\Application\AbstractApplication extends Phalcon\Di\Injectable implements Phalcon\Events\EventsAwareInterface, Phalcon\Di\InjectionAwareInterface ] {
+    Class [ <internal:phalcon> abstract class Phalcon\Application\AbstractApplication extends Phalcon\Di\Injectable implements Phalcon\Di\InjectionAwareInterface, Phalcon\Events\EventsAwareInterface ] {
 
       - Constants [0] {
       }
@@ -14336,7 +14337,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ string ]
         }
 
-        Method [ <internal:phalcon, overwrites Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
+        Method [ <internal:phalcon, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
 
           - Parameters [0] {
           }
@@ -14357,9 +14358,6 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ array ]
         }
 
-        Method [ <internal:phalcon> abstract public method handle ] {
-        }
-
         Method [ <internal:phalcon> public method registerModules ] {
 
           - Parameters [2] {
@@ -14377,7 +14375,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ Phalcon\Application\AbstractApplication ]
         }
 
-        Method [ <internal:phalcon, overwrites Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
+        Method [ <internal:phalcon, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
 
           - Parameters [1] {
             Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
@@ -14392,6 +14390,14 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
         }
 
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __isset ] {
+
+          - Parameters [1] {
+            Parameter #0 [ <required> string $name ]
+          }
+          - Return [ boolean ]
+        }
+
         Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
 
           - Parameters [0] {
@@ -15260,7 +15266,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #0 [ <required> Phalcon\Mvc\Model\BinderInterface $modelBinder ]
             Parameter #1 [ <optional> $cache ]
           }
-          - Return [ Phalcon\Dispatcher\Dispatcher ]
+          - Return [ Phalcon\Dispatcher\DispatcherInterface ]
         }
 
         Method [ <internal:phalcon, prototype Phalcon\Dispatcher\DispatcherInterface> public method setModuleName ] {
@@ -16350,7 +16356,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> abstract class Phalcon\Mvc\View\Engine\AbstractEngine extends Phalcon\Di\Injectable implements Phalcon\Events\EventsAwareInterface, Phalcon\Di\InjectionAwareInterface, Phalcon\Mvc\View\Engine\EngineInterface ] {
+    Class [ <internal:phalcon> abstract class Phalcon\Mvc\View\Engine\AbstractEngine extends Phalcon\Di\Injectable implements Phalcon\Di\InjectionAwareInterface, Phalcon\Mvc\View\Engine\EngineInterface ] {
 
       - Constants [0] {
       }
@@ -16361,13 +16367,12 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       - Static methods [0] {
       }
 
-      - Properties [3] {
+      - Properties [2] {
         Property [ <default> protected $container ]
-        Property [ <default> protected $eventsManager ]
         Property [ <default> protected $view ]
       }
 
-      - Methods [10] {
+      - Methods [9] {
         Method [ <internal:phalcon, ctor> public method __construct ] {
 
           - Parameters [2] {
@@ -16396,7 +16401,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #0 [ <required> string $partialPath ]
             Parameter #1 [ <optional> $params ]
           }
-          - Return [ string ]
+          - Return [ void ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __get ] {
@@ -16406,18 +16411,19 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __isset ] {
 
-          - Parameters [0] {
+          - Parameters [1] {
+            Parameter #0 [ <required> string $name ]
           }
-          - Return [ Phalcon\Di\DiInterface ]
+          - Return [ boolean ]
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Events\ManagerInterface or NULL ]
+          - Return [ Phalcon\Di\DiInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method setDI ] {
@@ -16428,14 +16434,6 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ void ]
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
-
-          - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
-          }
-          - Return [ void ]
-        }
-
         Method [ <internal:phalcon, inherits Phalcon\Mvc\View\Engine\EngineInterface> abstract public method render ] {
 
           - Parameters [3] {
@@ -18446,18 +18444,19 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       - Static methods [0] {
       }
 
-      - Properties [8] {
+      - Properties [9] {
         Property [ <default> protected $adapter ]
         Property [ <default> protected $defaultSerializer ]
         Property [ <default> protected $lifetime ]
         Property [ <default> protected $prefix ]
         Property [ <default> protected $serializer ]
         Property [ <default> protected $serializerFactory ]
-        Property [ <default> protected $cacheDir ]
+        Property [ <default> protected $storageDir ]
         Property [ <default> protected $options ]
+        Property [ <default> private $warning ]
       }
 
-      - Methods [22] {
+      - Methods [23] {
         Method [ <internal:phalcon, overwrites Phalcon\Storage\Adapter\AbstractAdapter, ctor> public method __construct ] {
 
           - Parameters [2] {
@@ -18557,6 +18556,14 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ Iterator ]
         }
 
+        Method [ <internal:phalcon> private method getPayload ] {
+
+          - Parameters [1] {
+            Parameter #0 [ <required> string $filepath ]
+          }
+          - Return [ array ]
+        }
+
         Method [ <internal:phalcon> private method isExpired ] {
 
           - Parameters [1] {
@@ -21399,7 +21406,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #0 [ <required> string $name ]
             Parameter #1 [ <optional> array $options ]
           }
-          - Return [ Phalcon\Cache\Adapter\AbstractAdapter ]
+          - Return [ Phalcon\Cache\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon, overwrites Phalcon\Factory\AbstractFactory, prototype Phalcon\Factory\AbstractFactory> protected method getAdapters ] {
@@ -22086,7 +22093,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Property [ <default> protected $prefix ]
         Property [ <default> protected $serializer ]
         Property [ <default> protected $serializerFactory ]
-        Property [ <default> protected $cacheDir ]
+        Property [ <default> protected $storageDir ]
         Property [ <default> protected $options ]
       }
 
@@ -22263,7 +22270,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #0 [ <required> string $name ]
             Parameter #1 [ <optional> array $options ]
           }
-          - Return [ Phalcon\Cache\CacheInterface ]
+          - Return [ Psr\SimpleCache\CacheInterface ]
         }
       }
     }
@@ -22396,7 +22403,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> class Phalcon\Cli\Console extends Phalcon\Application\AbstractApplication implements Phalcon\Di\InjectionAwareInterface, Phalcon\Events\EventsAwareInterface ] {
+    Class [ <internal:phalcon> class Phalcon\Cli\Console extends Phalcon\Application\AbstractApplication implements Phalcon\Events\EventsAwareInterface, Phalcon\Di\InjectionAwareInterface ] {
 
       - Constants [0] {
       }
@@ -22416,8 +22423,8 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Property [ <default> protected $options ]
       }
 
-      - Methods [13] {
-        Method [ <internal:phalcon, overwrites Phalcon\Application\AbstractApplication, prototype Phalcon\Application\AbstractApplication> public method handle ] {
+      - Methods [14] {
+        Method [ <internal:phalcon> public method handle ] {
 
           - Parameters [1] {
             Parameter #0 [ <optional> array or NULL $arguments ]
@@ -22501,6 +22508,14 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
         }
 
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __isset ] {
+
+          - Parameters [1] {
+            Parameter #0 [ <required> string $name ]
+          }
+          - Return [ boolean ]
+        }
+
         Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
 
           - Parameters [0] {
@@ -22930,7 +22945,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #0 [ <required> Phalcon\Mvc\Model\BinderInterface $modelBinder ]
             Parameter #1 [ <optional> $cache ]
           }
-          - Return [ Phalcon\Dispatcher\Dispatcher ]
+          - Return [ Phalcon\Dispatcher\DispatcherInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Dispatcher\AbstractDispatcher, prototype Phalcon\Dispatcher\DispatcherInterface> public method setModuleName ] {
@@ -23102,7 +23117,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #0 [ <required> string $pattern ]
             Parameter #1 [ <optional> $paths ]
           }
-          - Return [ Phalcon\Cli\RouteInterface ]
+          - Return [ Phalcon\Cli\Router\RouteInterface ]
         }
 
         Method [ <internal:phalcon> public method getActionName ] {
@@ -23116,7 +23131,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Cli\RouteInterface ]
+          - Return [ Phalcon\Cli\Router\RouteInterface ]
         }
 
         Method [ <internal:phalcon> public method getMatches ] {
@@ -23293,7 +23308,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> class Phalcon\Cli\Router\Route ] {
+    Class [ <internal:phalcon> class Phalcon\Cli\Router\Route implements Phalcon\Cli\Router\RouteInterface ] {
 
       - Constants [1] {
         Constant [ public string DEFAULT_DELIMITER ] {   }
@@ -23305,7 +23320,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
 
       - Static methods [3] {
-        Method [ <internal:phalcon> static public method delimiter ] {
+        Method [ <internal:phalcon, prototype Phalcon\Cli\Router\RouteInterface> static public method delimiter ] {
 
           - Parameters [1] {
             Parameter #0 [ <optional> string or NULL $delimiter ]
@@ -23313,14 +23328,14 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ void ]
         }
 
-        Method [ <internal:phalcon> static public method getDelimiter ] {
+        Method [ <internal:phalcon, prototype Phalcon\Cli\Router\RouteInterface> static public method getDelimiter ] {
 
           - Parameters [0] {
           }
           - Return [ string ]
         }
 
-        Method [ <internal:phalcon> static public method reset ] {
+        Method [ <internal:phalcon, prototype Phalcon\Cli\Router\RouteInterface> static public method reset ] {
 
           - Parameters [0] {
           }
@@ -23357,7 +23372,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ Phalcon\Cli\Router\RouteInterface ]
         }
 
-        Method [ <internal:phalcon> public method compilePattern ] {
+        Method [ <internal:phalcon, prototype Phalcon\Cli\Router\RouteInterface> public method compilePattern ] {
 
           - Parameters [1] {
             Parameter #0 [ <required> string $pattern ]
@@ -23384,7 +23399,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Method [ <internal:phalcon> public method getBeforeMatch ] {
         }
 
-        Method [ <internal:phalcon> public method getCompiledPattern ] {
+        Method [ <internal:phalcon, prototype Phalcon\Cli\Router\RouteInterface> public method getCompiledPattern ] {
 
           - Parameters [0] {
           }
@@ -23398,49 +23413,49 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ array ]
         }
 
-        Method [ <internal:phalcon> public method getDescription ] {
+        Method [ <internal:phalcon, prototype Phalcon\Cli\Router\RouteInterface> public method getDescription ] {
 
           - Parameters [0] {
           }
           - Return [ string ]
         }
 
-        Method [ <internal:phalcon> public method getName ] {
+        Method [ <internal:phalcon, prototype Phalcon\Cli\Router\RouteInterface> public method getName ] {
 
           - Parameters [0] {
           }
           - Return [ string ]
         }
 
-        Method [ <internal:phalcon> public method getPaths ] {
+        Method [ <internal:phalcon, prototype Phalcon\Cli\Router\RouteInterface> public method getPaths ] {
 
           - Parameters [0] {
           }
           - Return [ array ]
         }
 
-        Method [ <internal:phalcon> public method getPattern ] {
+        Method [ <internal:phalcon, prototype Phalcon\Cli\Router\RouteInterface> public method getPattern ] {
 
           - Parameters [0] {
           }
           - Return [ string ]
         }
 
-        Method [ <internal:phalcon> public method getReversedPaths ] {
+        Method [ <internal:phalcon, prototype Phalcon\Cli\Router\RouteInterface> public method getReversedPaths ] {
 
           - Parameters [0] {
           }
           - Return [ array ]
         }
 
-        Method [ <internal:phalcon> public method getRouteId ] {
+        Method [ <internal:phalcon, prototype Phalcon\Cli\Router\RouteInterface> public method getRouteId ] {
 
           - Parameters [0] {
           }
           - Return [ string ]
         }
 
-        Method [ <internal:phalcon> public method reConfigure ] {
+        Method [ <internal:phalcon, prototype Phalcon\Cli\Router\RouteInterface> public method reConfigure ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $pattern ]
@@ -23449,7 +23464,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ void ]
         }
 
-        Method [ <internal:phalcon> public method setDescription ] {
+        Method [ <internal:phalcon, prototype Phalcon\Cli\Router\RouteInterface> public method setDescription ] {
 
           - Parameters [1] {
             Parameter #0 [ <required> string $description ]
@@ -23457,7 +23472,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ Phalcon\Cli\Router\RouteInterface ]
         }
 
-        Method [ <internal:phalcon> public method setName ] {
+        Method [ <internal:phalcon, prototype Phalcon\Cli\Router\RouteInterface> public method setName ] {
 
           - Parameters [1] {
             Parameter #0 [ <required> string $name ]
@@ -23467,7 +23482,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> class Phalcon\Cli\Task extends Phalcon\Di\Injectable implements Phalcon\Events\EventsAwareInterface, Phalcon\Di\InjectionAwareInterface, Phalcon\Cli\TaskInterface ] {
+    Class [ <internal:phalcon> class Phalcon\Cli\Task extends Phalcon\Di\Injectable implements Phalcon\Di\InjectionAwareInterface, Phalcon\Cli\TaskInterface, Phalcon\Events\EventsAwareInterface ] {
 
       - Constants [0] {
       }
@@ -23483,10 +23498,25 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Property [ <default> protected $eventsManager ]
       }
 
-      - Methods [6] {
+      - Methods [7] {
         Method [ <internal:phalcon, ctor> final public method __construct ] {
         }
 
+        Method [ <internal:phalcon, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
+
+          - Parameters [0] {
+          }
+          - Return [ Phalcon\Events\ManagerInterface or NULL ]
+        }
+
+        Method [ <internal:phalcon, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
+
+          - Parameters [1] {
+            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
+          }
+          - Return [ void ]
+        }
+
         Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __get ] {
 
           - Parameters [1] {
@@ -23494,18 +23524,19 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __isset ] {
 
-          - Parameters [0] {
+          - Parameters [1] {
+            Parameter #0 [ <required> string $name ]
           }
-          - Return [ Phalcon\Di\DiInterface ]
+          - Return [ boolean ]
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Events\ManagerInterface or NULL ]
+          - Return [ Phalcon\Di\DiInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method setDI ] {
@@ -23515,14 +23546,6 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
           - Return [ void ]
         }
-
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
-
-          - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
-          }
-          - Return [ void ]
-        }
       }
     }
 
@@ -23681,9 +23704,10 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
         Method [ <internal:phalcon, inherits Phalcon\Collection> public method get ] {
 
-          - Parameters [2] {
+          - Parameters [3] {
             Parameter #0 [ <required> string $element ]
             Parameter #1 [ <optional> $defaultValue ]
+            Parameter #2 [ <optional> string or NULL $cast ]
           }
         }
 
@@ -23923,9 +23947,10 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
         Method [ <internal:phalcon, inherits Phalcon\Collection> public method get ] {
 
-          - Parameters [2] {
+          - Parameters [3] {
             Parameter #0 [ <required> string $element ]
             Parameter #1 [ <optional> $defaultValue ]
+            Parameter #2 [ <optional> string or NULL $cast ]
           }
         }
 
@@ -24182,9 +24207,10 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
         Method [ <internal:phalcon, inherits Phalcon\Collection> public method get ] {
 
-          - Parameters [2] {
+          - Parameters [3] {
             Parameter #0 [ <required> string $element ]
             Parameter #1 [ <optional> $defaultValue ]
+            Parameter #2 [ <optional> string or NULL $cast ]
           }
         }
 
@@ -24424,9 +24450,10 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
         Method [ <internal:phalcon, inherits Phalcon\Collection> public method get ] {
 
-          - Parameters [2] {
+          - Parameters [3] {
             Parameter #0 [ <required> string $element ]
             Parameter #1 [ <optional> $defaultValue ]
+            Parameter #2 [ <optional> string or NULL $cast ]
           }
         }
 
@@ -24666,9 +24693,10 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
         Method [ <internal:phalcon, inherits Phalcon\Collection> public method get ] {
 
-          - Parameters [2] {
+          - Parameters [3] {
             Parameter #0 [ <required> string $element ]
             Parameter #1 [ <optional> $defaultValue ]
+            Parameter #2 [ <optional> string or NULL $cast ]
           }
         }
 
@@ -24909,9 +24937,10 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
         Method [ <internal:phalcon, inherits Phalcon\Collection> public method get ] {
 
-          - Parameters [2] {
+          - Parameters [3] {
             Parameter #0 [ <required> string $element ]
             Parameter #1 [ <optional> $defaultValue ]
+            Parameter #2 [ <optional> string or NULL $cast ]
           }
         }
 
@@ -25774,7 +25803,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Pdo ]
+          - Return [ PDO ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Db\Adapter\Pdo\AbstractPdo> public method getTransactionLevel ] {
@@ -26467,7 +26496,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Pdo ]
+          - Return [ PDO ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Db\Adapter\Pdo\AbstractPdo> public method getTransactionLevel ] {
@@ -27118,7 +27147,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Pdo ]
+          - Return [ PDO ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Db\Adapter\Pdo\AbstractPdo> public method getTransactionLevel ] {
@@ -31887,7 +31916,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Filter\LocatorInterface ]
+          - Return [ Phalcon\Filter\FilterInterface ]
         }
 
         Method [ <internal:phalcon> protected method getAdapters ] {
@@ -32516,7 +32545,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Firewall\Adapter\Dispatcher ]
+          - Return [ Phalcon\Mvc\DispatcherInterface ]
         }
 
         Method [ <internal:phalcon> public method isMultiModuleConfiguration ] {
@@ -32620,7 +32649,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Method [ <internal:phalcon, inherits Phalcon\Firewall\Adapter\AbstractAdapter, prototype Phalcon\Firewall\Adapter\AdapterInterface> public method setRoleCallback ] {
 
           - Parameters [1] {
-            Parameter #0 [ <required> $callback ]
+            Parameter #0 [ <required> Closure $callback ]
           }
           - Return [ Phalcon\Firewall\Adapter\AdapterInterface ]
         }
@@ -32726,7 +32755,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Firewall\Adapter\Dispatcher ]
+          - Return [ Phalcon\Mvc\DispatcherInterface ]
         }
 
         Method [ <internal:phalcon> protected method checkControllerAnnotationAccess ] {
@@ -32836,7 +32865,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Method [ <internal:phalcon, inherits Phalcon\Firewall\Adapter\AbstractAdapter, prototype Phalcon\Firewall\Adapter\AdapterInterface> public method setRoleCallback ] {
 
           - Parameters [1] {
-            Parameter #0 [ <required> $callback ]
+            Parameter #0 [ <required> Closure $callback ]
           }
           - Return [ Phalcon\Firewall\Adapter\AdapterInterface ]
         }
@@ -33117,7 +33146,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Method [ <internal:phalcon, inherits Phalcon\Firewall\Adapter\AbstractAdapter, prototype Phalcon\Firewall\Adapter\AdapterInterface> public method setRoleCallback ] {
 
           - Parameters [1] {
-            Parameter #0 [ <required> $callback ]
+            Parameter #0 [ <required> Closure $callback ]
           }
           - Return [ Phalcon\Firewall\Adapter\AdapterInterface ]
         }
@@ -35894,7 +35923,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Parameters [1] {
             Parameter #0 [ <required> $option ]
           }
-          - Return [ Phalcon\Forms\Element\Element ]
+          - Return [ Phalcon\Forms\Element\ElementInterface ]
         }
 
         Method [ <internal:phalcon> public method getOptions ] {
@@ -35913,7 +35942,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Parameters [1] {
             Parameter #0 [ <required> $options ]
           }
-          - Return [ Phalcon\Forms\Element\Element ]
+          - Return [ Phalcon\Forms\Element\ElementInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Forms\Element\AbstractElement> public method __toString ] {
@@ -37016,7 +37045,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> <iterateable> class Phalcon\Forms\Form extends Phalcon\Di\Injectable implements Phalcon\Events\EventsAwareInterface, Phalcon\Di\InjectionAwareInterface, Countable, Iterator, Traversable, Phalcon\Html\Attributes\AttributesInterface ] {
+    Class [ <internal:phalcon> <iterateable> class Phalcon\Forms\Form extends Phalcon\Di\Injectable implements Phalcon\Di\InjectionAwareInterface, Countable, Iterator, Traversable, Phalcon\Html\Attributes\AttributesInterface ] {
 
       - Constants [0] {
       }
@@ -37027,9 +37056,8 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       - Static methods [0] {
       }
 
-      - Properties [11] {
+      - Properties [10] {
         Property [ <default> protected $container ]
-        Property [ <default> protected $eventsManager ]
         Property [ <default> protected $attributes ]
         Property [ <default> protected $data ]
         Property [ <default> protected $elements ]
@@ -37041,7 +37069,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Property [ <default> protected $validation ]
       }
 
-      - Methods [39] {
+      - Methods [38] {
         Method [ <internal:phalcon> public method setValidation ] {
 
           - Parameters [1] {
@@ -37113,6 +37141,13 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ string ]
         }
 
+        Method [ <internal:phalcon, prototype Phalcon\Html\Attributes\AttributesInterface> public method getAttributes ] {
+
+          - Parameters [0] {
+          }
+          - Return [ Phalcon\Html\Attributes ]
+        }
+
         Method [ <internal:phalcon> public method getElements ] {
 
           - Parameters [0] {
@@ -37252,6 +37287,14 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ Phalcon\Forms\Form ]
         }
 
+        Method [ <internal:phalcon, prototype Phalcon\Html\Attributes\AttributesInterface> public method setAttributes ] {
+
+          - Parameters [1] {
+            Parameter #0 [ <required> Phalcon\Html\Attributes $attributes ]
+          }
+          - Return [ Phalcon\Html\Attributes\AttributesInterface ]
+        }
+
         Method [ <internal:phalcon> public method setUserOption ] {
 
           - Parameters [2] {
@@ -37276,26 +37319,19 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ boolean ]
         }
 
-        Method [ <internal:phalcon, prototype Phalcon\Html\Attributes\AttributesInterface> public method getAttributes ] {
-
-          - Parameters [0] {
-          }
-          - Return [ Phalcon\Html\Attributes ]
-        }
-
-        Method [ <internal:phalcon, prototype Phalcon\Html\Attributes\AttributesInterface> public method setAttributes ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __get ] {
 
           - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Html\Attributes $attributes ]
+            Parameter #0 [ <required> string $propertyName ]
           }
-          - Return [ Phalcon\Html\Attributes\AttributesInterface ]
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __get ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __isset ] {
 
           - Parameters [1] {
-            Parameter #0 [ <required> string $propertyName ]
+            Parameter #0 [ <required> string $name ]
           }
+          - Return [ boolean ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
@@ -37305,13 +37341,6 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ Phalcon\Di\DiInterface ]
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
-
-          - Parameters [0] {
-          }
-          - Return [ Phalcon\Events\ManagerInterface or NULL ]
-        }
-
         Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method setDI ] {
 
           - Parameters [1] {
@@ -37319,14 +37348,6 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
           - Return [ void ]
         }
-
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
-
-          - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
-          }
-          - Return [ void ]
-        }
       }
     }
 
@@ -37377,7 +37398,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #0 [ <required> string $name ]
             Parameter #1 [ <required> Phalcon\Forms\Form $form ]
           }
-          - Return [ Phalcon\Forms\FormManager ]
+          - Return [ Phalcon\Forms\Manager ]
         }
       }
     }
@@ -37428,10 +37449,11 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
         Method [ <internal:phalcon> final static public method get ] {
 
-          - Parameters [3] {
+          - Parameters [4] {
             Parameter #0 [ <required> array $collection ]
             Parameter #1 [ <required> $index ]
             Parameter #2 [ <optional> $defaultValue ]
+            Parameter #3 [ <optional> string or NULL $cast ]
           }
         }
 
@@ -38015,9 +38037,10 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
         Method [ <internal:phalcon, inherits Phalcon\Collection> public method get ] {
 
-          - Parameters [2] {
+          - Parameters [3] {
             Parameter #0 [ <required> string $element ]
             Parameter #1 [ <optional> $defaultValue ]
+            Parameter #2 [ <optional> string or NULL $cast ]
           }
         }
 
@@ -40554,7 +40577,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       - Properties [0] {
       }
 
-      - Methods [16] {
+      - Methods [17] {
         Method [ <internal:phalcon, prototype Psr\Http\Message\ServerRequestFactoryInterface> public method createServerRequest ] {
 
           - Parameters [3] {
@@ -40664,6 +40687,14 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ Phalcon\Collection ]
         }
 
+        Method [ <internal:phalcon> private method parseProtocol ] {
+
+          - Parameters [1] {
+            Parameter #0 [ <required> Phalcon\Collection $server ]
+          }
+          - Return [ string ]
+        }
+
         Method [ <internal:phalcon> private method parseServer ] {
 
           - Parameters [1] {
@@ -40744,10 +40775,9 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       - Static methods [0] {
       }
 
-      - Properties [5] {
+      - Properties [4] {
         Property [ <default> protected $handle ]
         Property [ <default> protected $stream ]
-        Property [ <default> protected $warning ]
         Property [ <default> private $data ]
         Property [ <default> private $eof ]
       }
@@ -40887,10 +40917,9 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       - Static methods [0] {
       }
 
-      - Properties [3] {
+      - Properties [2] {
         Property [ <default> protected $handle ]
         Property [ <default> protected $stream ]
-        Property [ <default> protected $warning ]
       }
 
       - Methods [18] {
@@ -41031,10 +41060,9 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       - Static methods [0] {
       }
 
-      - Properties [3] {
+      - Properties [2] {
         Property [ <default> protected $handle ]
         Property [ <default> protected $stream ]
-        Property [ <default> protected $warning ]
       }
 
       - Methods [18] {
@@ -44057,13 +44085,21 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       - Static methods [0] {
       }
 
-      - Properties [3] {
+      - Properties [4] {
         Property [ <default> protected $adapters ]
+        Property [ <default> protected $logLevel ]
         Property [ <default> protected $name ]
         Property [ <default> protected $excluded ]
       }
 
-      - Methods [20] {
+      - Methods [22] {
+        Method [ <internal:phalcon> public method getLogLevel ] {
+
+          - Parameters [0] {
+          }
+          - Return [ integer ]
+        }
+
         Method [ <internal:phalcon, ctor> public method __construct ] {
 
           - Parameters [2] {
@@ -44200,6 +44236,14 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ Phalcon\Logger ]
         }
 
+        Method [ <internal:phalcon> public method setLogLevel ] {
+
+          - Parameters [1] {
+            Parameter #0 [ <required> integer $level ]
+          }
+          - Return [ Phalcon\Logger ]
+        }
+
         Method [ <internal:phalcon, prototype Psr\Log\LoggerInterface> public method warning ] {
 
           - Parameters [2] {
@@ -44267,7 +44311,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #1 [ <required> string $fileName ]
             Parameter #2 [ <optional> array $options ]
           }
-          - Return [ Phalcon\Logger\AdapterInterface ]
+          - Return [ Phalcon\Logger\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon, overwrites Phalcon\Factory\AbstractFactory, prototype Phalcon\Factory\AbstractFactory> protected method getAdapters ] {
@@ -45247,7 +45291,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> class Phalcon\Mvc\Application extends Phalcon\Application\AbstractApplication implements Phalcon\Di\InjectionAwareInterface, Phalcon\Events\EventsAwareInterface ] {
+    Class [ <internal:phalcon> class Phalcon\Mvc\Application extends Phalcon\Application\AbstractApplication implements Phalcon\Events\EventsAwareInterface, Phalcon\Di\InjectionAwareInterface ] {
 
       - Constants [0] {
       }
@@ -45268,8 +45312,8 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Property [ <default> protected $sendHeaders ]
       }
 
-      - Methods [15] {
-        Method [ <internal:phalcon, overwrites Phalcon\Application\AbstractApplication, prototype Phalcon\Application\AbstractApplication> public method handle ] {
+      - Methods [16] {
+        Method [ <internal:phalcon> public method handle ] {
 
           - Parameters [1] {
             Parameter #0 [ <required> string $uri ]
@@ -45367,6 +45411,14 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
         }
 
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __isset ] {
+
+          - Parameters [1] {
+            Parameter #0 [ <required> string $name ]
+          }
+          - Return [ boolean ]
+        }
+
         Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
 
           - Parameters [0] {
@@ -45448,7 +45500,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> abstract class Phalcon\Mvc\Controller extends Phalcon\Di\Injectable implements Phalcon\Events\EventsAwareInterface, Phalcon\Di\InjectionAwareInterface, Phalcon\Mvc\ControllerInterface ] {
+    Class [ <internal:phalcon> abstract class Phalcon\Mvc\Controller extends Phalcon\Di\Injectable implements Phalcon\Di\InjectionAwareInterface, Phalcon\Mvc\ControllerInterface ] {
 
       - Constants [0] {
       }
@@ -45459,12 +45511,11 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       - Static methods [0] {
       }
 
-      - Properties [2] {
+      - Properties [1] {
         Property [ <default> protected $container ]
-        Property [ <default> protected $eventsManager ]
       }
 
-      - Methods [6] {
+      - Methods [5] {
         Method [ <internal:phalcon, ctor> final public method __construct ] {
         }
 
@@ -45475,18 +45526,19 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __isset ] {
 
-          - Parameters [0] {
+          - Parameters [1] {
+            Parameter #0 [ <required> string $name ]
           }
-          - Return [ Phalcon\Di\DiInterface ]
+          - Return [ boolean ]
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Events\ManagerInterface or NULL ]
+          - Return [ Phalcon\Di\DiInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method setDI ] {
@@ -45496,14 +45548,6 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
           - Return [ void ]
         }
-
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
-
-          - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
-          }
-          - Return [ void ]
-        }
       }
     }
 
@@ -45551,7 +45595,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Method [ <internal:phalcon, overwrites Phalcon\Dispatcher\AbstractDispatcher, prototype Phalcon\Dispatcher\DispatcherInterface> public method forward ] {
 
           - Parameters [1] {
-            Parameter #0 [ <required> $forward ]
+            Parameter #0 [ <required> array $forward ]
           }
           - Return [ void ]
         }
@@ -45840,7 +45884,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #0 [ <required> Phalcon\Mvc\Model\BinderInterface $modelBinder ]
             Parameter #1 [ <optional> $cache ]
           }
-          - Return [ Phalcon\Dispatcher\Dispatcher ]
+          - Return [ Phalcon\Dispatcher\DispatcherInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Dispatcher\AbstractDispatcher, prototype Phalcon\Dispatcher\DispatcherInterface> public method setModuleName ] {
@@ -45971,7 +46015,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> class Phalcon\Mvc\Micro extends Phalcon\Di\Injectable implements Phalcon\Events\EventsAwareInterface, Phalcon\Di\InjectionAwareInterface, ArrayAccess ] {
+    Class [ <internal:phalcon> class Phalcon\Mvc\Micro extends Phalcon\Di\Injectable implements Phalcon\Di\InjectionAwareInterface, ArrayAccess, Phalcon\Events\EventsAwareInterface ] {
 
       - Constants [0] {
       }
@@ -45983,13 +46027,13 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
 
       - Properties [15] {
-        Property [ <default> protected $eventsManager ]
         Property [ <default> protected $activeHandler ]
         Property [ <default> protected $afterBindingHandlers ]
         Property [ <default> protected $afterHandlers ]
         Property [ <default> protected $beforeHandlers ]
         Property [ <default> protected $container ]
         Property [ <default> protected $errorHandler ]
+        Property [ <default> protected $eventsManager ]
         Property [ <default> protected $finishHandlers ]
         Property [ <default> protected $handlers ]
         Property [ <default> protected $modelBinder ]
@@ -46000,7 +46044,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Property [ <default> protected $stopped ]
       }
 
-      - Methods [40] {
+      - Methods [41] {
         Method [ <internal:phalcon, ctor> public method __construct ] {
 
           - Parameters [1] {
@@ -46076,6 +46120,21 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ array ]
         }
 
+        Method [ <internal:phalcon, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
+
+          - Parameters [0] {
+          }
+          - Return [ Phalcon\Events\ManagerInterface or NULL ]
+        }
+
+        Method [ <internal:phalcon, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
+
+          - Parameters [1] {
+            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
+          }
+          - Return [ void ]
+        }
+
         Method [ <internal:phalcon> public method getHandlers ] {
 
           - Parameters [0] {
@@ -46283,26 +46342,19 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __isset ] {
 
-          - Parameters [0] {
+          - Parameters [1] {
+            Parameter #0 [ <required> string $name ]
           }
-          - Return [ Phalcon\Di\DiInterface ]
+          - Return [ boolean ]
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Events\ManagerInterface or NULL ]
-        }
-
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
-
-          - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
-          }
-          - Return [ void ]
+          - Return [ Phalcon\Di\DiInterface ]
         }
       }
     }
@@ -47214,7 +47266,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Parameters [3] {
             Parameter #0 [ <required> string $modelName ]
             Parameter #1 [ <required> string $method ]
-            Parameter #2 [ <required> $arguments ]
+            Parameter #2 [ <required> array $arguments ]
           }
         }
 
@@ -48697,7 +48749,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Mvc\Model\MetaData\StrategyInterface ]
+          - Return [ Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Mvc\Model\MetaData, prototype Phalcon\Mvc\Model\MetaDataInterface> public method hasAttribute ] {
@@ -48801,7 +48853,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Method [ <internal:phalcon, inherits Phalcon\Mvc\Model\MetaData, prototype Phalcon\Mvc\Model\MetaDataInterface> public method setStrategy ] {
 
           - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Mvc\Model\MetaData\StrategyInterface $strategy ]
+            Parameter #0 [ <required> Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface $strategy ]
           }
           - Return [ void ]
         }
@@ -49011,7 +49063,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Mvc\Model\MetaData\StrategyInterface ]
+          - Return [ Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Mvc\Model\MetaData, prototype Phalcon\Mvc\Model\MetaDataInterface> public method hasAttribute ] {
@@ -49108,7 +49160,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Method [ <internal:phalcon, inherits Phalcon\Mvc\Model\MetaData, prototype Phalcon\Mvc\Model\MetaDataInterface> public method setStrategy ] {
 
           - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Mvc\Model\MetaData\StrategyInterface $strategy ]
+            Parameter #0 [ <required> Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface $strategy ]
           }
           - Return [ void ]
         }
@@ -49327,7 +49379,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Mvc\Model\MetaData\StrategyInterface ]
+          - Return [ Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Mvc\Model\MetaData, prototype Phalcon\Mvc\Model\MetaDataInterface> public method hasAttribute ] {
@@ -49423,7 +49475,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Method [ <internal:phalcon, inherits Phalcon\Mvc\Model\MetaData, prototype Phalcon\Mvc\Model\MetaDataInterface> public method setStrategy ] {
 
           - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Mvc\Model\MetaData\StrategyInterface $strategy ]
+            Parameter #0 [ <required> Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface $strategy ]
           }
           - Return [ void ]
         }
@@ -49624,7 +49676,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Mvc\Model\MetaData\StrategyInterface ]
+          - Return [ Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Mvc\Model\MetaData, prototype Phalcon\Mvc\Model\MetaDataInterface> public method hasAttribute ] {
@@ -49721,7 +49773,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Method [ <internal:phalcon, inherits Phalcon\Mvc\Model\MetaData, prototype Phalcon\Mvc\Model\MetaDataInterface> public method setStrategy ] {
 
           - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Mvc\Model\MetaData\StrategyInterface $strategy ]
+            Parameter #0 [ <required> Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface $strategy ]
           }
           - Return [ void ]
         }
@@ -49757,7 +49809,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> class Phalcon\Mvc\Model\MetaData\Strategy\Annotations implements Phalcon\Mvc\Model\MetaData\StrategyInterface ] {
+    Class [ <internal:phalcon> class Phalcon\Mvc\Model\MetaData\Strategy\Annotations implements Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface ] {
 
       - Constants [0] {
       }
@@ -49772,7 +49824,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
 
       - Methods [2] {
-        Method [ <internal:phalcon, prototype Phalcon\Mvc\Model\MetaData\StrategyInterface> final public method getColumnMaps ] {
+        Method [ <internal:phalcon, prototype Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface> final public method getColumnMaps ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> Phalcon\Mvc\ModelInterface $model ]
@@ -49781,7 +49833,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ array ]
         }
 
-        Method [ <internal:phalcon, prototype Phalcon\Mvc\Model\MetaData\StrategyInterface> final public method getMetaData ] {
+        Method [ <internal:phalcon, prototype Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface> final public method getMetaData ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> Phalcon\Mvc\ModelInterface $model ]
@@ -49792,7 +49844,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> class Phalcon\Mvc\Model\MetaData\Strategy\Introspection implements Phalcon\Mvc\Model\MetaData\StrategyInterface ] {
+    Class [ <internal:phalcon> class Phalcon\Mvc\Model\MetaData\Strategy\Introspection implements Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface ] {
 
       - Constants [0] {
       }
@@ -49807,7 +49859,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
 
       - Methods [2] {
-        Method [ <internal:phalcon, prototype Phalcon\Mvc\Model\MetaData\StrategyInterface> final public method getColumnMaps ] {
+        Method [ <internal:phalcon, prototype Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface> final public method getColumnMaps ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> Phalcon\Mvc\ModelInterface $model ]
@@ -49816,7 +49868,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ array ]
         }
 
-        Method [ <internal:phalcon, prototype Phalcon\Mvc\Model\MetaData\StrategyInterface> final public method getMetaData ] {
+        Method [ <internal:phalcon, prototype Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface> final public method getMetaData ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> Phalcon\Mvc\ModelInterface $model ]
@@ -50019,7 +50071,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Mvc\Model\MetaData\StrategyInterface ]
+          - Return [ Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Mvc\Model\MetaData, prototype Phalcon\Mvc\Model\MetaDataInterface> public method hasAttribute ] {
@@ -50115,7 +50167,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Method [ <internal:phalcon, inherits Phalcon\Mvc\Model\MetaData, prototype Phalcon\Mvc\Model\MetaDataInterface> public method setStrategy ] {
 
           - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Mvc\Model\MetaData\StrategyInterface $strategy ]
+            Parameter #0 [ <required> Phalcon\Mvc\Model\MetaData\Strategy\StrategyInterface $strategy ]
           }
           - Return [ void ]
         }
@@ -50404,7 +50456,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Cache\Adapter\AdapterInterface ]
+          - Return [ Phalcon\Db\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon> final protected method _executeSelect ] {
@@ -50575,7 +50627,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #2 [ <optional> array $bindParams ]
             Parameter #3 [ <optional> array $bindTypes ]
           }
-          - Return [ Phalcon\Cache\Adapter\AdapterInterface ]
+          - Return [ Phalcon\Db\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon> protected method getWriteConnection ] {
@@ -50586,7 +50638,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #2 [ <optional> array $bindParams ]
             Parameter #3 [ <optional> array $bindTypes ]
           }
-          - Return [ Phalcon\Cache\Adapter\AdapterInterface ]
+          - Return [ Phalcon\Db\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon> public method setTransaction ] {
@@ -51083,7 +51135,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Parameters [1] {
             Parameter #0 [ <required> string $phql ]
           }
-          - Return [ string ]
+          - Return [ array ]
         }
       }
 
@@ -51557,7 +51609,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Mvc\Model\Resultset\ModelInterface or NULL ]
+          - Return [ Phalcon\Mvc\ModelInterface or NULL ]
         }
 
         Method [ <internal:phalcon, overwrites Phalcon\Mvc\Model\ResultsetInterface, prototype Phalcon\Mvc\Model\ResultsetInterface> public method toArray ] {
@@ -53207,7 +53259,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> class Phalcon\Mvc\View extends Phalcon\Di\Injectable implements Phalcon\Events\EventsAwareInterface, Phalcon\Di\InjectionAwareInterface, Phalcon\Mvc\ViewInterface, Phalcon\Mvc\ViewBaseInterface ] {
+    Class [ <internal:phalcon> class Phalcon\Mvc\View extends Phalcon\Di\Injectable implements Phalcon\Di\InjectionAwareInterface, Phalcon\Mvc\ViewInterface, Phalcon\Mvc\ViewBaseInterface, Phalcon\Events\EventsAwareInterface ] {
 
       - Constants [6] {
         Constant [ public integer LEVEL_ACTION_VIEW ] { 1 }
@@ -53226,7 +53278,6 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
       - Properties [24] {
         Property [ <default> protected $container ]
-        Property [ <default> protected $eventsManager ]
         Property [ <default> protected $actionName ]
         Property [ <default> protected $activeRenderPaths ]
         Property [ <default> protected $basePath ]
@@ -53236,6 +53287,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Property [ <default> protected $disabled ]
         Property [ <default> protected $disabledLevels ]
         Property [ <default> protected $engines ]
+        Property [ <default> protected $eventsManager ]
         Property [ <default> protected $layout ]
         Property [ <default> protected $layoutsDir ]
         Property [ <default> protected $mainView ]
@@ -53275,7 +53327,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
         }
 
-        Method [ <internal:phalcon> public method __isset ] {
+        Method [ <internal:phalcon, overwrites Phalcon\Di\Injectable, prototype Phalcon\Di\Injectable> public method __isset ] {
 
           - Parameters [1] {
             Parameter #0 [ <required> string $key ]
@@ -53373,6 +53425,13 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ string ]
         }
 
+        Method [ <internal:phalcon, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
+
+          - Parameters [0] {
+          }
+          - Return [ Phalcon\Events\ManagerInterface or NULL ]
+        }
+
         Method [ <internal:phalcon, prototype Phalcon\Mvc\ViewInterface> public method getLayout ] {
 
           - Parameters [0] {
@@ -53508,6 +53567,14 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ Phalcon\Mvc\View ]
         }
 
+        Method [ <internal:phalcon, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
+
+          - Parameters [1] {
+            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
+          }
+          - Return [ void ]
+        }
+
         Method [ <internal:phalcon, prototype Phalcon\Mvc\ViewInterface> public method setLayout ] {
 
           - Parameters [1] {
@@ -53658,13 +53725,6 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ Phalcon\Di\DiInterface ]
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
-
-          - Parameters [0] {
-          }
-          - Return [ Phalcon\Events\ManagerInterface or NULL ]
-        }
-
         Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method setDI ] {
 
           - Parameters [1] {
@@ -53672,18 +53732,10 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
           - Return [ void ]
         }
-
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
-
-          - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
-          }
-          - Return [ void ]
-        }
       }
     }
 
-    Class [ <internal:phalcon> class Phalcon\Mvc\View\Engine\Php extends Phalcon\Mvc\View\Engine\AbstractEngine implements Phalcon\Mvc\View\Engine\EngineInterface, Phalcon\Di\InjectionAwareInterface, Phalcon\Events\EventsAwareInterface ] {
+    Class [ <internal:phalcon> class Phalcon\Mvc\View\Engine\Php extends Phalcon\Mvc\View\Engine\AbstractEngine implements Phalcon\Mvc\View\Engine\EngineInterface, Phalcon\Di\InjectionAwareInterface ] {
 
       - Constants [0] {
       }
@@ -53694,13 +53746,12 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       - Static methods [0] {
       }
 
-      - Properties [3] {
+      - Properties [2] {
         Property [ <default> protected $container ]
-        Property [ <default> protected $eventsManager ]
         Property [ <default> protected $view ]
       }
 
-      - Methods [10] {
+      - Methods [9] {
         Method [ <internal:phalcon, overwrites Phalcon\Mvc\View\Engine\EngineInterface, prototype Phalcon\Mvc\View\Engine\EngineInterface> public method render ] {
 
           - Parameters [3] {
@@ -53738,7 +53789,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #0 [ <required> string $partialPath ]
             Parameter #1 [ <optional> $params ]
           }
-          - Return [ string ]
+          - Return [ void ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __get ] {
@@ -53748,18 +53799,19 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __isset ] {
 
-          - Parameters [0] {
+          - Parameters [1] {
+            Parameter #0 [ <required> string $name ]
           }
-          - Return [ Phalcon\Di\DiInterface ]
+          - Return [ boolean ]
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Events\ManagerInterface or NULL ]
+          - Return [ Phalcon\Di\DiInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method setDI ] {
@@ -53769,14 +53821,6 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
           - Return [ void ]
         }
-
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
-
-          - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
-          }
-          - Return [ void ]
-        }
       }
     }
 
@@ -53793,14 +53837,14 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
       - Properties [6] {
         Property [ <default> protected $container ]
-        Property [ <default> protected $eventsManager ]
         Property [ <default> protected $view ]
         Property [ <default> protected $compiler ]
+        Property [ <default> protected $eventsManager ]
         Property [ <default> protected $macros ]
         Property [ <default> protected $options ]
       }
 
-      - Methods [19] {
+      - Methods [20] {
         Method [ <internal:phalcon> public method callMacro ] {
 
           - Parameters [2] {
@@ -53826,6 +53870,13 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ Phalcon\Mvc\View\Engine\Volt\Compiler ]
         }
 
+        Method [ <internal:phalcon, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
+
+          - Parameters [0] {
+          }
+          - Return [ Phalcon\Events\ManagerInterface or NULL ]
+        }
+
         Method [ <internal:phalcon> public method getOptions ] {
 
           - Parameters [0] {
@@ -53859,6 +53910,14 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
         }
 
+        Method [ <internal:phalcon, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
+
+          - Parameters [1] {
+            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
+          }
+          - Return [ void ]
+        }
+
         Method [ <internal:phalcon> public method setOptions ] {
 
           - Parameters [1] {
@@ -53911,7 +53970,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #0 [ <required> string $partialPath ]
             Parameter #1 [ <optional> $params ]
           }
-          - Return [ string ]
+          - Return [ void ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __get ] {
@@ -53921,18 +53980,19 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __isset ] {
 
-          - Parameters [0] {
+          - Parameters [1] {
+            Parameter #0 [ <required> string $name ]
           }
-          - Return [ Phalcon\Di\DiInterface ]
+          - Return [ boolean ]
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Events\ManagerInterface or NULL ]
+          - Return [ Phalcon\Di\DiInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method setDI ] {
@@ -53942,14 +54002,6 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
           - Return [ void ]
         }
-
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
-
-          - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
-          }
-          - Return [ void ]
-        }
       }
     }
 
@@ -54432,7 +54484,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> class Phalcon\Mvc\View\Simple extends Phalcon\Di\Injectable implements Phalcon\Events\EventsAwareInterface, Phalcon\Di\InjectionAwareInterface, Phalcon\Mvc\ViewBaseInterface ] {
+    Class [ <internal:phalcon> class Phalcon\Mvc\View\Simple extends Phalcon\Di\Injectable implements Phalcon\Di\InjectionAwareInterface, Phalcon\Mvc\ViewBaseInterface, Phalcon\Events\EventsAwareInterface ] {
 
       - Constants [0] {
       }
@@ -54445,10 +54497,10 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
       - Properties [10] {
         Property [ <default> protected $container ]
-        Property [ <default> protected $eventsManager ]
         Property [ <default> protected $activeRenderPath ]
         Property [ <default> protected $content ]
         Property [ <default> protected $engines ]
+        Property [ <default> protected $eventsManager ]
         Property [ <default> protected $options ]
         Property [ <default> protected $partialsDir ]
         Property [ <default> protected $registeredEngines ]
@@ -54456,7 +54508,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Property [ <default> protected $viewParams ]
       }
 
-      - Methods [23] {
+      - Methods [24] {
         Method [ <internal:phalcon> public method getRegisteredEngines ] {
 
           - Parameters [0] {
@@ -54500,6 +54552,13 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ string ]
         }
 
+        Method [ <internal:phalcon, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
+
+          - Parameters [0] {
+          }
+          - Return [ Phalcon\Events\ManagerInterface or NULL ]
+        }
+
         Method [ <internal:phalcon, prototype Phalcon\Mvc\ViewBaseInterface> public method getParamsToView ] {
 
           - Parameters [0] {
@@ -54553,6 +54612,14 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ Phalcon\Mvc\View\Simple ]
         }
 
+        Method [ <internal:phalcon, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
+
+          - Parameters [1] {
+            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
+          }
+          - Return [ void ]
+        }
+
         Method [ <internal:phalcon, prototype Phalcon\Mvc\ViewBaseInterface> public method setParamToView ] {
 
           - Parameters [2] {
@@ -54602,18 +54669,19 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __isset ] {
 
-          - Parameters [0] {
+          - Parameters [1] {
+            Parameter #0 [ <required> string $name ]
           }
-          - Return [ Phalcon\Di\DiInterface ]
+          - Return [ boolean ]
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Events\ManagerInterface or NULL ]
+          - Return [ Phalcon\Di\DiInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method setDI ] {
@@ -54623,14 +54691,6 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
           - Return [ void ]
         }
-
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
-
-          - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
-          }
-          - Return [ void ]
-        }
       }
     }
 
@@ -54679,7 +54739,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Parameters [1] {
             Parameter #0 [ <required> integer $page ]
           }
-          - Return [ Phalcon\Paginator\Adapter\Adapter ]
+          - Return [ Phalcon\Paginator\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Paginator\Adapter\AbstractAdapter, prototype Phalcon\Paginator\Adapter\AdapterInterface> public method setLimit ] {
@@ -54687,7 +54747,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Parameters [1] {
             Parameter #0 [ <required> integer $limitRows ]
           }
-          - Return [ Phalcon\Paginator\Adapter\Adapter ]
+          - Return [ Phalcon\Paginator\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Paginator\Adapter\AbstractAdapter> public method setRepository ] {
@@ -54695,7 +54755,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Parameters [1] {
             Parameter #0 [ <required> Phalcon\Paginator\RepositoryInterface $repository ]
           }
-          - Return [ Phalcon\Paginator\Adapter\Adapter ]
+          - Return [ Phalcon\Paginator\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Paginator\Adapter\AbstractAdapter> protected method getRepository ] {
@@ -54753,7 +54813,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Parameters [1] {
             Parameter #0 [ <required> integer $page ]
           }
-          - Return [ Phalcon\Paginator\Adapter\Adapter ]
+          - Return [ Phalcon\Paginator\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Paginator\Adapter\AbstractAdapter, prototype Phalcon\Paginator\Adapter\AdapterInterface> public method setLimit ] {
@@ -54761,7 +54821,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Parameters [1] {
             Parameter #0 [ <required> integer $limitRows ]
           }
-          - Return [ Phalcon\Paginator\Adapter\Adapter ]
+          - Return [ Phalcon\Paginator\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Paginator\Adapter\AbstractAdapter> public method setRepository ] {
@@ -54769,7 +54829,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Parameters [1] {
             Parameter #0 [ <required> Phalcon\Paginator\RepositoryInterface $repository ]
           }
-          - Return [ Phalcon\Paginator\Adapter\Adapter ]
+          - Return [ Phalcon\Paginator\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Paginator\Adapter\AbstractAdapter> protected method getRepository ] {
@@ -54851,7 +54911,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Parameters [1] {
             Parameter #0 [ <required> integer $page ]
           }
-          - Return [ Phalcon\Paginator\Adapter\Adapter ]
+          - Return [ Phalcon\Paginator\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Paginator\Adapter\AbstractAdapter, prototype Phalcon\Paginator\Adapter\AdapterInterface> public method setLimit ] {
@@ -54859,7 +54919,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Parameters [1] {
             Parameter #0 [ <required> integer $limitRows ]
           }
-          - Return [ Phalcon\Paginator\Adapter\Adapter ]
+          - Return [ Phalcon\Paginator\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Paginator\Adapter\AbstractAdapter> public method setRepository ] {
@@ -54867,7 +54927,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Parameters [1] {
             Parameter #0 [ <required> Phalcon\Paginator\RepositoryInterface $repository ]
           }
-          - Return [ Phalcon\Paginator\Adapter\Adapter ]
+          - Return [ Phalcon\Paginator\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Paginator\Adapter\AbstractAdapter> protected method getRepository ] {
@@ -54973,6 +55033,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Parameters [1] {
             Parameter #0 [ <required> $config ]
           }
+          - Return [ Phalcon\Paginator\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon> public method newInstance ] {
@@ -54981,7 +55042,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #0 [ <required> string $name ]
             Parameter #1 [ <optional> array $options ]
           }
-          - Return [ Phalcon\Paginator\Adapter\AbstractAdapter ]
+          - Return [ Phalcon\Paginator\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon, overwrites Phalcon\Factory\AbstractFactory, prototype Phalcon\Factory\AbstractFactory> protected method getAdapters ] {
@@ -55017,7 +55078,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> class Phalcon\Paginator\Repository implements Phalcon\Paginator\RepositoryInterface ] {
+    Class [ <internal:phalcon> class Phalcon\Paginator\Repository implements Phalcon\Paginator\RepositoryInterface, JsonSerializable ] {
 
       - Constants [8] {
         Constant [ public string PROPERTY_CURRENT_PAGE ] { current }
@@ -55041,7 +55102,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Property [ <default> protected $properties ]
       }
 
-      - Methods [14] {
+      - Methods [15] {
         Method [ <internal:phalcon> public method __get ] {
 
           - Parameters [1] {
@@ -55108,6 +55169,13 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           - Return [ integer ]
         }
 
+        Method [ <internal:phalcon, prototype JsonSerializable> public method jsonSerialize ] {
+
+          - Parameters [0] {
+          }
+          - Return [ array ]
+        }
+
         Method [ <internal:phalcon, prototype Phalcon\Paginator\RepositoryInterface> public method setAliases ] {
 
           - Parameters [1] {
@@ -55215,9 +55283,10 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
         Method [ <internal:phalcon, overwrites Phalcon\Collection, prototype Phalcon\Collection> final public method get ] {
 
-          - Parameters [2] {
+          - Parameters [3] {
             Parameter #0 [ <required> string $element ]
             Parameter #1 [ <optional> $defaultValue ]
+            Parameter #2 [ <optional> string or NULL $cast ]
           }
         }
 
@@ -56062,9 +56131,10 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
         Method [ <internal:phalcon, inherits Phalcon\Collection> public method get ] {
 
-          - Parameters [2] {
+          - Parameters [3] {
             Parameter #0 [ <required> string $element ]
             Parameter #1 [ <optional> $defaultValue ]
+            Parameter #2 [ <optional> string or NULL $cast ]
           }
         }
 
@@ -56476,7 +56546,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #0 [ <required> string $name ]
             Parameter #1 [ <optional> array $options ]
           }
-          - Return [ Phalcon\Storage\Adapter\AbstractAdapter ]
+          - Return [ Phalcon\Storage\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon, overwrites Phalcon\Factory\AbstractFactory, prototype Phalcon\Factory\AbstractFactory> protected method getAdapters ] {
@@ -57794,7 +57864,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $index ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
@@ -57814,7 +57884,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $translateKey ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
@@ -57855,7 +57925,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $translateKey ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
@@ -57864,7 +57934,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $translation ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
@@ -57938,7 +58008,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #0 [ <required> string $msgid1 ]
             Parameter #1 [ <required> string $msgid2 ]
             Parameter #2 [ <required> integer $count ]
-            Parameter #3 [ <optional> $placeholders ]
+            Parameter #3 [ <optional> array $placeholders ]
             Parameter #4 [ <optional> string or NULL $domain ]
           }
           - Return [ string ]
@@ -57948,7 +58018,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $index ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
@@ -58011,7 +58081,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $translateKey ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
@@ -58052,7 +58122,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $translateKey ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
@@ -58061,7 +58131,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $translation ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
@@ -58115,7 +58185,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $index ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
@@ -58124,7 +58194,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $translateKey ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
@@ -58165,7 +58235,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $translateKey ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
@@ -58174,7 +58244,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
 
           - Parameters [2] {
             Parameter #0 [ <required> string $translation ]
-            Parameter #1 [ <optional> $placeholders ]
+            Parameter #1 [ <optional> array $placeholders ]
           }
           - Return [ string ]
         }
@@ -58401,7 +58471,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
             Parameter #0 [ <required> string $name ]
             Parameter #1 [ <optional> array $options ]
           }
-          - Return [ Phalcon\Translate\AbstractAdapter ]
+          - Return [ Phalcon\Translate\Adapter\AdapterInterface ]
         }
 
         Method [ <internal:phalcon, overwrites Phalcon\Factory\AbstractFactory, prototype Phalcon\Factory\AbstractFactory> protected method getAdapters ] {
@@ -58617,7 +58687,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> class Phalcon\Validation extends Phalcon\Di\Injectable implements Phalcon\Events\EventsAwareInterface, Phalcon\Di\InjectionAwareInterface, Phalcon\Validation\ValidationInterface ] {
+    Class [ <internal:phalcon> class Phalcon\Validation extends Phalcon\Di\Injectable implements Phalcon\Di\InjectionAwareInterface, Phalcon\Validation\ValidationInterface ] {
 
       - Constants [0] {
       }
@@ -58628,9 +58698,8 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       - Static methods [0] {
       }
 
-      - Properties [10] {
+      - Properties [9] {
         Property [ <default> protected $container ]
-        Property [ <default> protected $eventsManager ]
         Property [ <default> protected $combinedFieldsValidators ]
         Property [ <default> protected $data ]
         Property [ <default> protected $entity ]
@@ -58641,7 +58710,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
         Property [ <default> protected $values ]
       }
 
-      - Methods [24] {
+      - Methods [23] {
         Method [ <internal:phalcon> public method getData ] {
         }
 
@@ -58796,18 +58865,19 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable> public method __isset ] {
 
-          - Parameters [0] {
+          - Parameters [1] {
+            Parameter #0 [ <required> string $name ]
           }
-          - Return [ Phalcon\Di\DiInterface ]
+          - Return [ boolean ]
         }
 
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method getEventsManager ] {
+        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method getDI ] {
 
           - Parameters [0] {
           }
-          - Return [ Phalcon\Events\ManagerInterface or NULL ]
+          - Return [ Phalcon\Di\DiInterface ]
         }
 
         Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Di\InjectionAwareInterface> public method setDI ] {
@@ -58817,14 +58887,6 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
           }
           - Return [ void ]
         }
-
-        Method [ <internal:phalcon, inherits Phalcon\Di\Injectable, prototype Phalcon\Events\EventsAwareInterface> public method setEventsManager ] {
-
-          - Parameters [1] {
-            Parameter #0 [ <required> Phalcon\Events\ManagerInterface $eventsManager ]
-          }
-          - Return [ void ]
-        }
       }
     }
 
@@ -63192,8 +63254,12 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       - Methods [1] {
         Method [ <internal:phalcon> final public method __invoke ] {
 
-          - Parameters [1] {
-            Parameter #0 [ <required> $error ]
+          - Parameters [5] {
+            Parameter #0 [ <required> $number ]
+            Parameter #1 [ <required> $message ]
+            Parameter #2 [ <required> $file ]
+            Parameter #3 [ <required> $line ]
+            Parameter #4 [ <required> $context ]
           }
         }
       }
@@ -63213,6 +63279,34 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       - Properties [0] {
       }
 
+      - Methods [1] {
+        Method [ <internal:phalcon> final public method __invoke ] {
+
+          - Parameters [5] {
+            Parameter #0 [ <required> $number ]
+            Parameter #1 [ <required> $message ]
+            Parameter #2 [ <required> $file ]
+            Parameter #3 [ <required> $line ]
+            Parameter #4 [ <required> $context ]
+          }
+        }
+      }
+    }
+
+    Class [ <internal:phalcon> final class phalcon\2__closure ] {
+
+      - Constants [0] {
+      }
+
+      - Static properties [0] {
+      }
+
+      - Static methods [0] {
+      }
+
+      - Properties [0] {
+      }
+
       - Methods [1] {
         Method [ <internal:phalcon> final public method __invoke ] {
 
@@ -63223,7 +63317,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> final class phalcon\2__closure ] {
+    Class [ <internal:phalcon> final class phalcon\3__closure ] {
 
       - Constants [0] {
       }
@@ -63247,7 +63341,91 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> final class phalcon\3__closure ] {
+    Class [ <internal:phalcon> final class phalcon\4__closure ] {
+
+      - Constants [0] {
+      }
+
+      - Static properties [0] {
+      }
+
+      - Static methods [0] {
+      }
+
+      - Properties [0] {
+      }
+
+      - Methods [1] {
+        Method [ <internal:phalcon> final public method __invoke ] {
+
+          - Parameters [5] {
+            Parameter #0 [ <required> $number ]
+            Parameter #1 [ <required> $message ]
+            Parameter #2 [ <required> $file ]
+            Parameter #3 [ <required> $line ]
+            Parameter #4 [ <required> $context ]
+          }
+        }
+      }
+    }
+
+    Class [ <internal:phalcon> final class phalcon\5__closure ] {
+
+      - Constants [0] {
+      }
+
+      - Static properties [0] {
+      }
+
+      - Static methods [0] {
+      }
+
+      - Properties [0] {
+      }
+
+      - Methods [1] {
+        Method [ <internal:phalcon> final public method __invoke ] {
+
+          - Parameters [5] {
+            Parameter #0 [ <required> $number ]
+            Parameter #1 [ <required> $message ]
+            Parameter #2 [ <required> $file ]
+            Parameter #3 [ <required> $line ]
+            Parameter #4 [ <required> $context ]
+          }
+        }
+      }
+    }
+
+    Class [ <internal:phalcon> final class phalcon\6__closure ] {
+
+      - Constants [0] {
+      }
+
+      - Static properties [0] {
+      }
+
+      - Static methods [0] {
+      }
+
+      - Properties [0] {
+      }
+
+      - Methods [1] {
+        Method [ <internal:phalcon> final public method __invoke ] {
+
+          - Parameters [5] {
+            Parameter #0 [ <required> $number ]
+            Parameter #1 [ <required> $message ]
+            Parameter #2 [ <required> $file ]
+            Parameter #3 [ <required> $line ]
+            Parameter #4 [ <required> $context ]
+          }
+        }
+      }
+    }
+
+    Class [ <internal:phalcon> final class phalcon\7__closure ] {
 
       - Constants [0] {
       }
@@ -63271,7 +63449,7 @@ Extension [ <persistent> extension #195 phalcon version 4.0.0-rc.1 ] {
       }
     }
 
-    Class [ <internal:phalcon> final class phalcon\4__closure ] {
+    Class [ <internal:phalcon> final class phalcon\8__closure ] {
 
       - Constants [0] {
       }
diff --git a/php-phalcon4.spec b/php-phalcon4.spec
index 099fd17..c7c953e 100644
--- a/php-phalcon4.spec
+++ b/php-phalcon4.spec
@@ -17,7 +17,7 @@
 %global pkg_name   %{name}
 %endif
 
-%global gh_commit    a48b31967a1ce27c10cbed61bee42e0c90addc86
+%global gh_commit    95484a06ff9f1f4624b83761aba4d9222026788f
 %global gh_short     %(c=%{gh_commit}; echo ${c:0:7})
 %global gh_owner     phalcon
 %global gh_project   cphalcon
@@ -25,11 +25,11 @@
 %global with_tests   0%{?_with_tests:1}
 %global ext_name     phalcon
 # See ext/php_phalcon.h
-#global zephir_ver   0.12.4
+#global zephir_ver   0.12.10
 # after 40-json.ini, 20-pdo.ini, 40-psr.ini
 %global ini_name  50-%{ext_name}.ini
 %global upstream_ver 4.0.0
-%global upstream_pre rc.1
+%global upstream_pre rc.2
 
 Name:           %{?sub_prefix}php-phalcon4
 Version:        %{upstream_ver}%{?upstream_pre:~%{upstream_pre}}
@@ -84,8 +84,8 @@ Obsoletes:     %{?scl_prefix}php-phalcon3 < 4
 # Only one version can be installed
 Conflicts:     %{?scl_prefix}php-phalcon  < 4
 Conflicts:     %{?scl_prefix}php-phalcon2 < 4
-%endif
 Conflicts:     %{?scl_prefix}php-phalcon3 < 4
+%endif
 
 # Don't provides php-composer(phalcon/cphalcon), not registered on packagist
 
@@ -138,6 +138,7 @@ extension=%{ext_name}.so
 ;phalcon.orm.not_null_validations = On
 ;phalcon.orm.update_snapshot_on_save = On
 ;phalcon.orm.virtual_foreign_keys = On
+;phalcon.warning.enable = On
 EOF
 
 : Check Zephir version
@@ -250,6 +251,9 @@ REPORT_EXIT_STATUS=1 \
 
 
 %changelog
+* Mon Oct 28 2019 Remi Collet <remi@remirepo.net> - 4.0.0~rc.2-1
+- update to 4.0.0-rc.2
+
 * Mon Sep 23 2019 Remi Collet <remi@remirepo.net> - 4.0.0~rc.1-1
 - update to 4.0.0-rc.1
 - rename to php-phalcon4
-- 
cgit