From 34e34d28db2e44c2bb96ab2d30073e478093845a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Sat, 18 Mar 2023 15:59:23 +0100 Subject: [PATCH] core: bump version to 4.0.0-dev, follow "practical" semantic versioning --- ChangeLog.adoc | 4 ++-- Contributing.adoc | 20 ++++++++++++++++++++ README.adoc | 4 ++++ ReleaseNotes.adoc | 16 ++++++++-------- doc/en/weechat_plugin_api.en.adoc | 10 +++++----- doc/fr/weechat_plugin_api.fr.adoc | 10 +++++----- doc/it/weechat_plugin_api.it.adoc | 10 +++++----- doc/ja/weechat_plugin_api.ja.adoc | 10 +++++----- doc/sr/weechat_plugin_api.sr.adoc | 10 +++++----- src/gui/gui-key.c | 2 +- src/plugins/irc/irc-upgrade.c | 2 +- version.sh | 4 ++-- 12 files changed, 63 insertions(+), 39 deletions(-) diff --git a/ChangeLog.adoc b/ChangeLog.adoc index 39b478058..3ffa806d1 100644 --- a/ChangeLog.adoc +++ b/ChangeLog.adoc @@ -15,8 +15,8 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes] (file _ReleaseNotes.adoc_ in sources). -[[v3.9]] -== Version 3.9 (under dev) +[[v4.0.0]] +== Version 4.0.0 (under dev) New features:: diff --git a/Contributing.adoc b/Contributing.adoc index 7430aa346..f2fe997af 100644 --- a/Contributing.adoc +++ b/Contributing.adoc @@ -87,3 +87,23 @@ Before submitting any pull request, be sure you have read the https://weechat.org/doc/dev/#coding_rules[coding rules] in Developer's guide, which contains info about styles used, naming convention and other useful info. + +== Semantic versioning + +Since version 4.0.0, WeeChat is following a "practical" semantic versioning. + +It is based on https://semver.org/[Semantic Versioning] but in a less strict way: breaking changes in API with low user impact don't bump the major version. + +The version number is on three digits `X.Y.Z`, where: + +* `X` is the major version +* `Y` is the minor version +* `Z` is the patch version. + +Rules to increment the version number: + +* the *major version* number (`X`) is incremented only when intentional breaking changes target feature areas that are actively consumed by users, scripts or C plugin API +* the *minor version* number (`Y`) is incremented for any new release of WeeChat that includes new features and bug fixes, possibly breaking API with low impact on users +* the *patch version* number (`Z`) is reserved for releases that address severe bugs or security issues found after the release. + +For more information, see the https://specs.weechat.org/specs/2023-003-practical-semantic-versioning.html[specification]. diff --git a/README.adoc b/README.adoc index 0fb485fea..f989c8718 100644 --- a/README.adoc +++ b/README.adoc @@ -43,6 +43,10 @@ WeeChat can be installed using your favorite package manager (recommended) or by For detailed instructions, please check the https://weechat.org/doc/user/#install[WeeChat user's guide]. +== Semantic versioning + +WeeChat is following a "practical" semantic versioning, see file link:Contributing.adoc#semantic-versioning[Contributing.adoc]. + == Copyright Copyright (C) 2003-2023 Sébastien Helleu diff --git a/ReleaseNotes.adoc b/ReleaseNotes.adoc index f14502b7a..5eb2e76ec 100644 --- a/ReleaseNotes.adoc +++ b/ReleaseNotes.adoc @@ -17,10 +17,10 @@ https://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog] (file _ChangeLog.adoc_ in sources). -[[v3.9]] -== Version 3.9 (under dev) +[[v4.0.0]] +== Version 4.0.0 (under dev) -[[v3.9_key_bindings_improvements]] +[[v4.0.0_key_bindings_improvements]] === Key bindings improvements The format of key bindings has changed to be more user-friendly, and this is @@ -40,7 +40,7 @@ Overview of new features: See https://specs.weechat.org/specs/2023-002-key-bindings-improvements.html[Key bindings improvements specification] for more information. -[[v3.9_new_key_format]] +[[v4.0.0_new_key_format]] ==== New key format Aliases are now used for keys, like `f1`, `home`, `return`, etc. + @@ -65,7 +65,7 @@ A warning is displayed when a raw key or invalid key is added. + For example `meta-[A` (which should be `up`) or `ctrl-ca` (missing comma, it should be `ctrl-c,a`). -[[v3.9_grab_raw_key]] +[[v4.0.0_grab_raw_key]] ==== Grab raw key and command New key kbd:[Alt+K] (upper case) is added to grab raw key and its command. @@ -83,7 +83,7 @@ they can still be used and bound, but this is not recommended. + They should be used only in case of problem with the new aliases or with your terminal. -[[v3.9_ctrl_keys_lower_case]] +[[v4.0.0_ctrl_keys_lower_case]] ==== Control keys as lower case Keys using the kbd:[Ctrl] key and a letter are now automatically converted to @@ -106,7 +106,7 @@ New key binding (context "default"): ctrl-q => /print test With older releases, upper case was mandatory and lower case letter for control keys were not working at all. -[[v3.9_case_sensitive_identifiers]] +[[v4.0.0_case_sensitive_identifiers]] === Case sensitive identifiers Many identifiers are made case sensitive, including among others: @@ -165,7 +165,7 @@ The default aliases can be converted to lower case with the following commands: /alias rename WW ww ---- -[[v3.9_remove_autotools]] +[[v4.0.0_remove_autotools]] === Remove build with autotools The autotools support for build of WeeChat has been removed. + diff --git a/doc/en/weechat_plugin_api.en.adoc b/doc/en/weechat_plugin_api.en.adoc index feb7f26ac..4a315fbb6 100644 --- a/doc/en/weechat_plugin_api.en.adoc +++ b/doc/en/weechat_plugin_api.en.adoc @@ -2574,7 +2574,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test" ==== string_eval_expression _WeeChat ≥ 0.4.0, updated in 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, 2.0, -2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 3.9._ +2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 4.0.0._ Evaluate an expression and return result as a string. Special variables with format `+${variable}+` are expanded (see table below). @@ -6271,7 +6271,7 @@ Functions for configuration files. ==== config_new -_Updated in 1.5, 3.9._ +_Updated in 1.5, 4.0.0._ Create a new configuration file. @@ -6368,7 +6368,7 @@ config_file = weechat.config_new("test", "my_config_reload_cb", "") ==== config_set_version -_WeeChat ≥ 3.9._ +_WeeChat ≥ 4.0.0._ Set configuration file version and a callback to update config sections/options on-the-fly when the config is read. @@ -14266,7 +14266,7 @@ str = weechat.buffer_string_replace_local_var(my_buffer, "test with $toto") ==== buffer_match_list -_WeeChat ≥ 0.3.5, updated in 3.9._ +_WeeChat ≥ 0.3.5, updated in 4.0.0._ Check if buffer matches a list of buffers. @@ -14286,7 +14286,7 @@ Arguments: ** wildcard `+*+` is allowed in name [NOTE] -Since version 3.9, comparison of buffer names is case sensitive. +Since version 4.0.0, comparison of buffer names is case sensitive. Return value: diff --git a/doc/fr/weechat_plugin_api.fr.adoc b/doc/fr/weechat_plugin_api.fr.adoc index 6cbb2b480..7ee11fac0 100644 --- a/doc/fr/weechat_plugin_api.fr.adoc +++ b/doc/fr/weechat_plugin_api.fr.adoc @@ -2620,7 +2620,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test" ==== string_eval_expression _WeeChat ≥ 0.4.0, mis à jour dans la 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, -2.0, 2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 3.9._ +2.0, 2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 4.0.0._ Évaluer l'expression et retourner le résultat sous forme de chaîne. Les variables spéciales avec le format `+${variable}+` sont étendues (voir le @@ -6368,7 +6368,7 @@ Fonctions pour les fichiers de configuration. ==== config_new -_Mis à jour dans la 1.5, 3.9._ +_Mis à jour dans la 1.5, 4.0.0._ Créer un nouveau fichier de configuration. @@ -6471,7 +6471,7 @@ config_file = weechat.config_new("test", "my_config_reload_cb", "") ==== config_set_version -_WeeChat ≥ 3.9._ +_WeeChat ≥ 4.0.0._ Définir la version du fichier de configuration et une fonction de rappel pour la mise à jour des sections/options à la volée lorsque la configuration est lue. @@ -14585,7 +14585,7 @@ str = weechat.buffer_string_replace_local_var(my_buffer, "test avec $toto") ==== buffer_match_list -_WeeChat ≥ 0.3.5, mis à jour dans la 3.9._ +_WeeChat ≥ 0.3.5, mis à jour dans la 4.0.0._ Vérifier si le tampon correspond à la liste de tampons. @@ -14605,7 +14605,7 @@ Paramètres : ** le caractère joker `+*+` est autorisé dans le nom [NOTE] -Depuis la version 3.9, la comparaison des noms de tampons est sensible à la casse. +Depuis la version 4.0.0, la comparaison des noms de tampons est sensible à la casse. Valeur de retour : diff --git a/doc/it/weechat_plugin_api.it.adoc b/doc/it/weechat_plugin_api.it.adoc index c8747797c..f782509c3 100644 --- a/doc/it/weechat_plugin_api.it.adoc +++ b/doc/it/weechat_plugin_api.it.adoc @@ -2725,7 +2725,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test" ==== string_eval_expression _WeeChat ≥ 0.4.0, updated in 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, 2.0, -2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 3.9._ +2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 4.0.0._ Evaluate an expression and return result as a string. Special variables with format `+${variable}+` are expanded (see table below). @@ -6536,7 +6536,7 @@ Funzioni per i file di configurazione. ==== config_new // TRANSLATION MISSING -_Updated in 1.5, 3.9._ +_Updated in 1.5, 4.0.0._ Crea un nuovo file di configurazione. @@ -6641,7 +6641,7 @@ config_file = weechat.config_new("test", "my_config_reload_cb", "") // TRANSLATION MISSING ==== config_set_version -_WeeChat ≥ 3.9._ +_WeeChat ≥ 4.0.0._ Set configuration file version and a callback to update config sections/options on-the-fly when the config is read. @@ -14934,7 +14934,7 @@ str = weechat.buffer_string_replace_local_var(my_buffer, "test with $toto") ==== buffer_match_list // TRANSLATION MISSING -_WeeChat ≥ 0.3.5, updated in 3.9._ +_WeeChat ≥ 0.3.5, updated in 4.0.0._ Verifica se il buffer corrisponde ad una lista di buffer. @@ -14956,7 +14956,7 @@ Argomenti: // TRANSLATION MISSING [NOTE] -Since version 3.9, comparison of buffer names is case sensitive. +Since version 4.0.0, comparison of buffer names is case sensitive. Valore restituito: diff --git a/doc/ja/weechat_plugin_api.ja.adoc b/doc/ja/weechat_plugin_api.ja.adoc index d66c9a1aa..52182a43c 100644 --- a/doc/ja/weechat_plugin_api.ja.adoc +++ b/doc/ja/weechat_plugin_api.ja.adoc @@ -2646,7 +2646,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test" // TRANSLATION MISSING _WeeChat ≥ 0.4.0, updated in 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, 2.0, -2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 3.9._ +2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6, 3.8, 4.0.0._ 式を評価して文字列として返す。`+${variable}+` という書式で書かれた特殊変数は展開されます (以下の表を参照)。 @@ -6351,7 +6351,7 @@ weechat_hashtable_free (hashtable); ==== config_new -_WeeChat バージョン 1.5, 3.9 で更新。_ +_WeeChat バージョン 1.5, 4.0.0 で更新。_ 新しい設定ファイルを作成。 @@ -6451,7 +6451,7 @@ config_file = weechat.config_new("test", "my_config_reload_cb", "") // TRANSLATION MISSING ==== config_set_version -_WeeChat ≥ 3.9._ +_WeeChat ≥ 4.0.0._ Set configuration file version and a callback to update config sections/options on-the-fly when the config is read. @@ -14421,7 +14421,7 @@ str = weechat.buffer_string_replace_local_var(my_buffer, "test with $toto") ==== buffer_match_list // TRANSLATION MISSING -_WeeChat ≥ 0.3.5, updated in 3.9._ +_WeeChat ≥ 0.3.5, updated in 4.0.0._ バッファがバッファのリストにマッチすることを確認。 @@ -14442,7 +14442,7 @@ int weechat_buffer_match_list (struct t_gui_buffer *buffer, const char *string); // TRANSLATION MISSING [NOTE] -Since version 3.9, comparison of buffer names is case sensitive. +Since version 4.0.0, comparison of buffer names is case sensitive. 戻り値: diff --git a/doc/sr/weechat_plugin_api.sr.adoc b/doc/sr/weechat_plugin_api.sr.adoc index d77c22c69..42d9a4cbd 100644 --- a/doc/sr/weechat_plugin_api.sr.adoc +++ b/doc/sr/weechat_plugin_api.sr.adoc @@ -2486,7 +2486,7 @@ str3 = weechat.string_input_for_buffer("//test") # "/test" ==== string_eval_expression -_WeeChat ≥ 0.4.0, ажурирано у верзијама 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, 2.0, 2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6 и 3.8, 3.9._ +_WeeChat ≥ 0.4.0, ажурирано у верзијама 0.4.2, 0.4.3, 1.0, 1.1, 1.2, 1.3, 1.6, 1.8, 2.0, 2.2, 2.3, 2.7, 2.9, 3.1, 3.2, 3.3, 3.4, 3.6 и 3.8, 4.0.0._ Израчунава израз и враћа вредност као стринг. Специјалне променљиве у формату `+${променљива}+` се развијају (погледајте табелу испод). @@ -6115,7 +6115,7 @@ weechat_hashtable_free (hashtable); ==== config_new -_Ажурирано у верзији 1.5, 3.9._ +_Ажурирано у верзији 1.5, 4.0.0._ Креира нови конфигурациони фајл. @@ -6202,7 +6202,7 @@ config_file = weechat.config_new("test", "my_config_reload_cb", "") // TRANSLATION MISSING ==== config_set_version -_WeeChat ≥ 3.9._ +_WeeChat ≥ 4.0.0._ Set configuration file version and a callback to update config sections/options on-the-fly when the config is read. @@ -13783,7 +13783,7 @@ str = weechat.buffer_string_replace_local_var(my_buffer, "тест са $toto") ==== buffer_match_list -_WeeChat ≥ 0.3.5, ажурирано у верзији 3.9._ +_WeeChat ≥ 0.3.5, ажурирано у верзији 4.0.0._ Проверава да ли се бафер подудара са листом бафера. @@ -13803,7 +13803,7 @@ int weechat_buffer_match_list (struct t_gui_buffer *buffer, const char *string); ** у имену је дозвољен џокер `+*+` [NOTE] -Од верзије 3.9, поређење имена бафера прави разлику у величини слова. +Од верзије 4.0.0, поређење имена бафера прави разлику у величини слова. Повратна вредност: diff --git a/src/gui/gui-key.c b/src/gui/gui-key.c index 6df919523..d8b871a15 100644 --- a/src/gui/gui-key.c +++ b/src/gui/gui-key.c @@ -301,7 +301,7 @@ gui_key_grab_end_timer_cb (const void *pointer, void *data, int remaining_calls) /* * Gets internal code from user key name. * - * Note: this function works with legacy keys (WeeChat < 3.9) and should not + * Note: this function works with legacy keys (WeeChat < 4.0.0) and should not * be used any more. * * Examples: diff --git a/src/plugins/irc/irc-upgrade.c b/src/plugins/irc/irc-upgrade.c index 851f93482..355a085c0 100644 --- a/src/plugins/irc/irc-upgrade.c +++ b/src/plugins/irc/irc-upgrade.c @@ -418,7 +418,7 @@ irc_upgrade_read_cb (const void *pointer, void *data, } /* * "authentication_method" and "sasl_mechanism_used" are - * new in WeeChat 3.9 + * new in WeeChat 4.0.0 */ if (weechat_infolist_search_var (infolist, "authentication_method")) { diff --git a/version.sh b/version.sh index aecfd15bf..39cb5ef04 100755 --- a/version.sh +++ b/version.sh @@ -33,8 +33,8 @@ # WEECHAT_STABLE=3.8 -WEECHAT_DEVEL=3.9 -WEECHAT_DEVEL_FULL=3.9-dev +WEECHAT_DEVEL=4.0.0 +WEECHAT_DEVEL_FULL=4.0.0-dev if [ $# -lt 1 ]; then echo >&2 "Syntax: $0 stable|devel|devel-full|devel-major|devel-minor|devel-patch"