diff --git a/src/applications/project/controller/PhabricatorProjectProfileController.php b/src/applications/project/controller/PhabricatorProjectProfileController.php --- a/src/applications/project/controller/PhabricatorProjectProfileController.php +++ b/src/applications/project/controller/PhabricatorProjectProfileController.php @@ -205,7 +205,7 @@ array( PhabricatorProjectStatus::STATUS_ACTIVE, )) - ->setOrder('newest') + ->setOrderVector(array('milestoneNumber', 'id')) ->execute(); if (!$milestones) { return null; diff --git a/src/applications/project/controller/PhabricatorProjectSubprojectsController.php b/src/applications/project/controller/PhabricatorProjectSubprojectsController.php --- a/src/applications/project/controller/PhabricatorProjectSubprojectsController.php +++ b/src/applications/project/controller/PhabricatorProjectSubprojectsController.php @@ -43,7 +43,7 @@ ->withParentProjectPHIDs(array($project->getPHID())) ->needImages(true) ->withIsMilestone(true) - ->setOrder('newest') + ->setOrderVector(array('milestoneNumber', 'id')) ->execute(); } else { $milestones = array(); diff --git a/src/applications/project/query/PhabricatorProjectQuery.php b/src/applications/project/query/PhabricatorProjectQuery.php --- a/src/applications/project/query/PhabricatorProjectQuery.php +++ b/src/applications/project/query/PhabricatorProjectQuery.php @@ -170,6 +170,11 @@ 'type' => 'string', 'unique' => true, ), + 'milestoneNumber' => array( + 'table' => $this->getPrimaryTableAlias(), + 'column' => 'milestoneNumber', + 'type' => 'int', + ), ); }