Add note about another syntax used screw your self with C3
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Upgrading.pod
index a2d30ba..78a6d6c 100644 (file)
@@ -3,7 +3,7 @@
 Most applications and plugins should run unaltered on Catalyst 5.80.
 
 However as a lot of refactoring work has taken place, several changes
-have been made which could cause incompatibilties, if your application
+have been made which could cause incompatibilities, if your application
 or plugin is using deprecated code, or relying on side-effects then
 there could be incompatibility.
 
@@ -24,9 +24,19 @@ Moose components for Catalyst 5.70 needed to do
     extends qw/Moose::Object Catalyst::Component/;
 
 to be able to use the constructor provided by Moose. In 5.80
-C<Catalyst::Component> already inherits from C<Moose::Object>. Therefor you
+C<Catalyst::Component> already inherits from C<Moose::Object>. Therefore you
 shouldn't directly inherit from C<Moose::Object> yourself, otherwise your
-Class' @ISA will not linearise with C3.
+Class' @ISA will not linearize with C3.
+
+You will also see this issue if you do the following:
+
+    use Moose; 
+    use base 'Catalyst::Controller';
+
+as C< use base > appends to @ISA.
+
+FIXME - Add note about the appropriate magic to detect $Catalyst::VERSION
+and work around it at compile time.
 
 =head2 Anonymous closures installed directly into the symbol table
 
@@ -85,7 +95,7 @@ by calling the mk_accessors class method.
 This is no longer supported - users should make a sub-class of the class who's behavior they would
 like to change, rather than globally polluting the Catalyst objects.
 
-=head2 Confused multiple inheritence with Catalyst::Component::COMPONENT
+=head2 Confused multiple inheritance with Catalyst::Component::COMPONENT
 
 Warning message:
 
@@ -156,7 +166,7 @@ better API should look like.
 In this version of Catalyst, if a component is loaded from disk, but no symbols are defined in that component's namespace
 after it is loaded, this warning will be issued.
 
-This is to pretect against confusing bugs caused by mis-typing package names.
+This is to protect against confusing bugs caused by mis-typing package names.
 
 This will become a fatal error in a future version.