diff --git a/README.md b/README.md
index 5e7cb63499..f842afd3c2 100644
--- a/README.md
+++ b/README.md
@@ -6,18 +6,27 @@ Umbraco CMS
## Umbraco - the simple, flexible and friendly ASP.NET CMS ##
-**More than 155,000 sites trust Umbraco**
-For the first time on the Microsoft platform a free user and developer friendly cms that makes it quick and easy to create websites - or a breeze to build complex web applications. umbraco got award-winning integration capabilities and supports your ASP.NET User and Custom Controls out of the box. It's a developers dream and your users will love it too. Used by more than 110,000 active websites including [http://daviscup.com](http://daviscup.com), [http://heinz.com](http://heinz.com), [http://peugeot.com](http://peugeot.com), [http://www.hersheys.com/](http://www.hersheys.com/) and **The Official ASP.NET and IIS.NET website from Microsoft** ([http://asp.net](http://asp.net) / [http://iis.net](http://iis.net)) you can be sure that the technology is proven, stable and scales.
-[More info at http://umbraco.org](http://umbraco.org)
+**More than 177,000 sites trust Umbraco**
+
+For the first time on the Microsoft platform a free user and developer friendly CMS that makes it quick and easy to create websites - or a breeze to build complex web applications. Umbraco has award-winning integration capabilities and supports your ASP.NET User and Custom Controls out of the box. It's a developers dream and your users will love it too.
+
+Used by more than 177,000 active websites including [http://daviscup.com](http://daviscup.com), [http://heinz.com](http://heinz.com), [http://peugeot.com](http://peugeot.com), [http://www.hersheys.com/](http://www.hersheys.com/) and **The Official ASP.NET and IIS.NET website from Microsoft** ([http://asp.net](http://asp.net) / [http://iis.net](http://iis.net)) you can be sure that the technology is proven, stable and scales.
+
+To view more examples please visit [http://umbraco.com/why-umbraco/#caseStudies](http://umbraco.com/why-umbraco/#caseStudies)
+
+## Downloading ##
+
+The downloadable Umbraco releases live at [http://our.umbraco.org/contribute/releases](http://our.umbraco.org/contribute/releases).
## Forums ##
-We have a forum running on [http://our.umbraco.org](http://our.umbraco.org). The discussions area on CodePlex will be for discussions on developing the core, and not on Umbraco-implementations or extensions in general. For those topics, please use [http://our.umbraco.org](http://our.umbraco.org).
+
+We have a forum running on [http://our.umbraco.org](http://our.umbraco.org). The discussions group on [Google Groups](https://groups.google.com/forum/#!forum/umbraco-dev) is for discussions on developing the core, and not on Umbraco-implementations or extensions in general. For those topics, please use [http://our.umbraco.org](http://our.umbraco.org).
## Contribute to Umbraco ##
If you want to contribute back to Umbraco you should check out our [guide to contributing](http://our.umbraco.org/contribute).
-## Submitting Issues ##
+## Found a bug? ##
Another way you can contribute to Umbraco is by providing issue reports, for information on how to submit an issue report refer to our [online guide for reporting issues](http://our.umbraco.org/contribute/report-an-issue-or-request-a-feature).
diff --git a/src/Umbraco.Core/Services/ContentService.cs b/src/Umbraco.Core/Services/ContentService.cs
index c0661ac272..3c0ff63633 100644
--- a/src/Umbraco.Core/Services/ContentService.cs
+++ b/src/Umbraco.Core/Services/ContentService.cs
@@ -1036,7 +1036,10 @@ namespace Umbraco.Core.Services
var uow = _uowProvider.GetUnitOfWork();
using (var repository = _repositoryFactory.CreateContentRepository(uow))
{
- content.WriterId = userId;
+ // Update the create author and last edit author
+ copy.CreatorId = userId;
+ copy.WriterId = userId;
+
repository.AddOrUpdate(copy);
uow.Commit();
diff --git a/src/Umbraco.Web/umbraco.presentation/macro.cs b/src/Umbraco.Web/umbraco.presentation/macro.cs
index 0aa0fbfc66..49a1c39be1 100644
--- a/src/Umbraco.Web/umbraco.presentation/macro.cs
+++ b/src/Umbraco.Web/umbraco.presentation/macro.cs
@@ -37,6 +37,7 @@ using umbraco.NodeFactory;
using umbraco.presentation.templateControls;
using Content = umbraco.cms.businesslogic.Content;
using Macro = umbraco.cms.businesslogic.macro.Macro;
+using MacroErrorEventArgs = Umbraco.Core.Events.MacroErrorEventArgs;
namespace umbraco
{
diff --git a/src/umbraco.cms/businesslogic/events/EventArgs.cs b/src/umbraco.cms/businesslogic/events/EventArgs.cs
index 09836a8101..1329e9c6b2 100644
--- a/src/umbraco.cms/businesslogic/events/EventArgs.cs
+++ b/src/umbraco.cms/businesslogic/events/EventArgs.cs
@@ -63,5 +63,36 @@ namespace umbraco.cms.businesslogic {
public bool CancelChildren { get; set; }
}
-
+
+ // Provides information on the macro that caused an error
+ public class MacroErrorEventArgs : System.EventArgs
+ {
+ ///
+ /// Name of the faulting macro.
+ ///
+ public string Name { get; set; }
+
+ ///
+ /// Alias of the faulting macro.
+ ///
+ public string Alias { get; set; }
+
+ ///
+ /// Filename of the faulting macro.
+ ///
+ public string File { get; set; }
+
+ ///
+ /// Exception raised.
+ ///
+ public Exception Exception { get; set; }
+
+ ///
+ /// Gets or sets the desired behaviour when a matching macro causes an error. See
+ /// for definitions. By setting this in your event
+ /// you can override the default behaviour defined in UmbracoSettings.config.
+ ///
+ /// Macro error behaviour enum.
+ public MacroErrorBehaviour Behaviour { get; set; }
+ }
}
diff --git a/src/umbraco.cms/businesslogic/member/Member.cs b/src/umbraco.cms/businesslogic/member/Member.cs
index 855d2688e9..d645cd74da 100644
--- a/src/umbraco.cms/businesslogic/member/Member.cs
+++ b/src/umbraco.cms/businesslogic/member/Member.cs
@@ -319,7 +319,7 @@ namespace umbraco.cms.businesslogic.member
/// Member login
/// Member password
/// The member with the credentials - null if none exists
- [Obsolete("Log members in via the standard Forms Authentiaction login")]
+
public static Member GetMemberFromLoginNameAndPassword(string loginName, string password)
{
if (IsMember(loginName))