Repository: python-semantic-release/python-semantic-release (language: python)

Issue:
Update Gitmojis according to official node module and make utf-8 symbols available
According to the "official" [node module](https://github.com/carloscuesta/gitmoji/blob/master/packages/gitmojis/src/gitmojis.json) the Gitmojis have changed. This PR updates the default emojis for patch and minor versions.

In addition, it allows the usage of utf-8 symbols. So one can either use `:sparkles` or `✨` in their commit messages.


Discussion / hints:

Fix patch:
diff --git a/docs/configuration.rst b/docs/configuration.rst
index 5f4cb555b..d92182533 100644
--- a/docs/configuration.rst
+++ b/docs/configuration.rst
@@ -211,7 +211,7 @@ The following parsers are built in to Python Semantic Release:
 Comma-separated list of emojis used by :py:func:`semantic_release.history.emoji_parser` to
 create major releases.
 
-Default: `:boom:`
+Default: `💥,:boom:`
 
 .. _config-minor_emoji:
 
@@ -221,7 +221,7 @@ Default: `:boom:`
 Comma-separated list of emojis used by :py:func:`semantic_release.history.emoji_parser` to
 create minor releases.
 
-Default: `:sparkles:, :children_crossing:, :lipstick:, :iphone:, :egg:, :chart_with_upwards_trend:`
+Default: `✨,:sparkles:`
 
 .. _config-patch_emoji:
 
@@ -231,7 +231,7 @@ Default: `:sparkles:, :children_crossing:, :lipstick:, :iphone:, :egg:, :chart_w
 Comma-separated list of emojis used by :py:func:`semantic_release.history.emoji_parser` to
 create patch releases.
 
-Default: `:ambulance:, :lock:, :bug:, :zap:, :goal_net:, :alien:, :wheelchair:, :speech_balloon:, :mag:, :apple:, :penguin:, :checkered_flag:, :robot:, :green_apple:`
+Default: `⚡️,🐛,🚑️,💄,🔒️,⬇️,⬆️,📌,📈,➕,➖,🔧,🌐,✏️,⏪️,📦️,👽️,🍱,♿️,💬,🗃️ ,🚸,📱,🥚,⚗️,🔍️,🏷️ ,🚩,🥅,💫,🗑️ ,🛂,🩹,👔,:zap:,:bug:,:ambulance:,:lipstick:,:lock:,:arrow_down:,:arrow_up:,:pushpin:,:chart_with_upwards_trend:,:heavy_plus_sign:,:heavy_minus_sign:,:wrench:,:globe_with_meridians:,:pencil2:,:rewind:,:package:,:alien:,:bento:,:wheelchair:,:speech_balloon:,:card_file_box:,:children_crossing:,:iphone:,:egg:,:alembic:,:mag:,:label:,:triangular_flag_on_post:,:goal_net:,:dizzy:,:wastebasket:,:passport_control:,:adhesive_bandage:,:necktie:`
 
 .. _config-use_textual_changelog_sections:
 
diff --git a/semantic_release/defaults.cfg b/semantic_release/defaults.cfg
index 3c88d9bc6..e2ae6642b 100644
--- a/semantic_release/defaults.cfg
+++ b/semantic_release/defaults.cfg
@@ -10,7 +10,7 @@ changelog_components=semantic_release.changelog.changelog_headers
 changelog_file=CHANGELOG.md
 changelog_placeholder=<!--next-version-placeholder-->
 changelog_scope=true
-changelog_sections=feature,fix,breaking,documentation,performance,:boom:,:sparkles:,:children_crossing:,:lipstick:,:iphone:,:egg:,:chart_with_upwards_trend:,:ambulance:,:lock:,:bug:,:zap:,:goal_net:,:alien:,:wheelchair:,:speech_balloon:,:mag:,:apple:,:penguin:,:checkered_flag:,:robot:,:green_apple:,Other
+changelog_sections=feature,fix,breaking,documentation,performance,:boom:,:sparkles:,:zap:,:bug:,:ambulance:,:lipstick:,:lock:,:arrow_down:,:arrow_up:,:pushpin:,:chart_with_upwards_trend:,:heavy_plus_sign:,:heavy_minus_sign:,:wrench:,:globe_with_meridians:,:pencil2:,:rewind:,:package:,:alien:,:bento:,:wheelchair:,:speech_balloon:,:card_file_box:,:children_crossing:,:iphone:,:egg:,:alembic:,:mag:,:label:,:triangular_flag_on_post:,:goal_net:,:dizzy:,:wastebasket:,:passport_control:,:adhesive_bandage:,:necktie:,Other
 use_textual_changelog_sections=false
 check_build_status=false
 include_additional_files=
@@ -18,7 +18,7 @@ commit_message=Automatically generated by python-semantic-release
 commit_parser=semantic_release.history.angular_parser
 commit_subject={version}
 dist_path=dist
-fix_tag=:nut_and_bolt:
+fix_tag=:wrench:
 github_token_var=GH_TOKEN
 gitlab_token_var=GL_TOKEN
 gitea_token_var=GITEA_TOKEN
diff --git a/setup.py b/setup.py
index bf09da0fe..9b8334799 100644
--- a/setup.py
+++ b/setup.py
@@ -62,7 +62,7 @@ def _read_long_description():
             "responses==0.13.3",
             "mock==1.3.0",
         ],
-        "docs": ["Sphinx==1.3.6", "Jinja2==3.0.3"],
+        "docs": ["Sphinx==1.8.6", "Jinja2==3.0.3"],
         "dev": ["tox", "isort", "black"],
         "mypy": ["mypy", "types-requests"],
     },


Test patch:
diff --git a/tests/parsers/test_tag.py b/tests/parsers/test_tag.py
index fc2bc8c70..ae0ef595e 100644
--- a/tests/parsers/test_tag.py
+++ b/tests/parsers/test_tag.py
@@ -24,7 +24,7 @@ def test_parser_return_minor_bump_level():
 
 
 def test_parser_return_patch_bump_level():
-    assert tag_parser(":nut_and_bolt: Fix regex in angular parser")[0] == 1
+    assert tag_parser(":wrench: Fix regex in angular parser")[0] == 1
 
 
 def test_parser_return_type_breaking_from_commit_message():
@@ -37,7 +37,7 @@ def test_parser_return_type_feature_from_commit_message():
 
 
 def test_parser_return_type_fix_from_commit_message():
-    assert tag_parser(":nut_and_bolt: ...")[1] == "fix"
+    assert tag_parser(":wrench: ...")[1] == "fix"
 
 
 def test_parser_return_subject_from_commit_message():
@@ -45,10 +45,10 @@ def test_parser_return_subject_from_commit_message():
 
 
 def test_parser_return_text_from_commit_message():
-    commit = ":nut_and_bolt: Fix regex in an parser\n\n{}".format(text)
+    commit = ":wrench: Fix regex in an parser\n\n{}".format(text)
     assert tag_parser(commit)[3][1] == text
 
 
 def test_parser_return_footer_from_commit_message():
-    commit = ":nut_and_bolt: Fix env \n\n{t[text]}\n\n{t[footer]}".format(t=globals())
+    commit = ":wrench: Fix env \n\n{t[text]}\n\n{t[footer]}".format(t=globals())
     assert tag_parser(commit)[3][2] == footer
diff --git a/tests/test_settings.py b/tests/test_settings.py
index 4ef43b885..16389b3fe 100644
--- a/tests/test_settings.py
+++ b/tests/test_settings.py
@@ -33,7 +33,7 @@ def test_defaults(self, mock_getcwd):
         config = _config()
         mock_getcwd.assert_called_once_with()
         self.assertEqual(config.get("minor_tag"), ":sparkles:")
-        self.assertEqual(config.get("fix_tag"), ":nut_and_bolt:")
+        self.assertEqual(config.get("fix_tag"), ":wrench:")
         self.assertFalse(config.get("patch_without_tag"))
         self.assertTrue(config.get("major_on_zero"))
         self.assertFalse(config.get("check_build_status"))