diff --git a/python/core/auto_generated/qgsbookmarkmanager.sip.in b/python/core/auto_generated/qgsbookmarkmanager.sip.in
index 488b658032b..07f5d40cbb9 100644
--- a/python/core/auto_generated/qgsbookmarkmanager.sip.in
+++ b/python/core/auto_generated/qgsbookmarkmanager.sip.in
@@ -97,6 +97,8 @@ Sets the bookmark's spatial ``extent``.
Returns the bookmark's map rotation.
.. seealso:: :py:func:`setRotation`
+
+.. versionadded:: 3.32
%End
void setRotation( double rotation );
@@ -104,6 +106,8 @@ Returns the bookmark's map rotation.
Sets the bookmark's spatial map ``rotation``.
.. seealso:: :py:func:`rotation`
+
+.. versionadded:: 3.32
%End
static QgsBookmark fromXml( const QDomElement &element, const QDomDocument &doc );
diff --git a/src/core/qgsbookmarkmanager.h b/src/core/qgsbookmarkmanager.h
index ba449859d20..5b547645d8b 100644
--- a/src/core/qgsbookmarkmanager.h
+++ b/src/core/qgsbookmarkmanager.h
@@ -100,12 +100,16 @@ class CORE_EXPORT QgsBookmark
/**
* Returns the bookmark's map rotation.
* \see setRotation()
+ *
+ * \since QGIS 3.32
*/
double rotation() const;
/**
* Sets the bookmark's spatial map \a rotation.
* \see rotation()
+ *
+ * \since QGIS 3.32
*/
void setRotation( double rotation );
diff --git a/src/core/qgsbookmarkmodel.cpp b/src/core/qgsbookmarkmodel.cpp
index fa396901937..b1a2f04a99e 100644
--- a/src/core/qgsbookmarkmodel.cpp
+++ b/src/core/qgsbookmarkmodel.cpp
@@ -276,7 +276,7 @@ QVariant QgsBookmarkManagerModel::headerData( int section, Qt::Orientation orien
case ColumnYMax:
return tr( "yMax" );
case ColumnRotation:
- return tr( "rotation" );
+ return tr( "Rotation" );
case ColumnCrs:
return tr( "CRS" );
case ColumnStore:
diff --git a/src/ui/qgsbookmarkeditordialog.ui b/src/ui/qgsbookmarkeditordialog.ui
index 2f22f3de8ef..72eed82df47 100644
--- a/src/ui/qgsbookmarkeditordialog.ui
+++ b/src/ui/qgsbookmarkeditordialog.ui
@@ -82,7 +82,7 @@
-
-
+
°
@@ -95,6 +95,9 @@
360.000000000000000
+
+ 0.000000000000000
+
@@ -137,6 +140,11 @@
1
+
+ QgsDoubleSpinBox
+ QDoubleSpinBox
+
+
mName