2021-03-03 23:31:58 +00:00
# News, changes and migration by RouterOS Scripts
2021-01-01 20:33:52 +00:00
# Copyright (c) 2019-2021 Christian Hesse <mail@eworm.de>
2020-06-19 20:17:42 +00:00
# https://git.eworm.de/cgit/routeros-scripts/about/COPYING.md
2019-04-01 09:12:34 +00:00
2020-03-23 11:21:38 +00:00
# Changes for global-config to be added to notification on script updates
2019-04-01 09:12:34 +00:00
:global GlobalConfigChanges {
2020-03-26 13:22:10 +00:00
1="Moved variables from 'global-config' to 'global-functions' for independence";
2="Variable names became CamelCase to work around scripting issues";
3="Variable for certificate renew passphrase became an array to support multiple passphrases";
4="Added option to ignore global-config changes";
5="Split off new script 'cloud-backup' from 'email-backup'";
6="Introduced script 'upload-backup' with new configuration parameters";
7="Introduced script 'check-health' with new configuration parameters";
8="Added donation hint and option to silence it";
9="Introduced configuration overlay 'global-config-overlay'";
10="Made health threshold for voltage configurable";
11="Introduced function '\$ScriptInstallUpdate' to install new and update existing scripts";
12="Removed '\$ScriptUpdatesConfigChangesIgnore', comment '\$GlobalConfigVersion' in 'global-config-overlay' to disable change notifications";
13="Configuration for script 'bridge-port-to-default' changed with new syntax in comment";
14="Dropped script 'script-updates', use '\$ScriptInstallUpdate' exclusively!";
2020-03-27 20:57:12 +00:00
15="New documentation is online! https://git.eworm.de/cgit/routeros-scripts/about/#available-scripts";
2020-03-27 21:19:33 +00:00
16="Happy with RouterOS Scripts and have a GitHub and/or GitLab account? Please star!";
2020-07-14 14:16:46 +00:00
17="Introduced script 'early-errors'";
2020-07-14 14:17:33 +00:00
18=("Added a simple IP calculation function, try: \$IPCalc " . [ / ip address get ([ find ]->0) address ]);
2020-07-14 14:18:23 +00:00
19="Commenting scripts with 'ignore', 'base-url=...' and 'url-suffix=...' is honored on update";
2020-07-14 14:24:29 +00:00
20="Added support for hooks to 'netwatch-notify'";
2020-07-14 14:25:46 +00:00
21="Added support for installing patch updates automatically by 'check-routeros-update'";
2020-07-14 14:32:17 +00:00
22="Dropped '\$ScriptUpdatesIgnore' from global configuration, auto-migrating to ignore flag in comment"
2020-07-15 10:22:55 +00:00
23="Added 'log-forward' with configurable filter, which replaces 'early-errors'";
2020-07-17 06:07:12 +00:00
24="Made symbols in notifications configurable.";
2020-08-07 20:15:30 +00:00
25="Added support for DHCP server name in DNS FQDN via '\$ServerNameInZone'";
2020-09-25 20:17:26 +00:00
26="Made check count threshold in 'netwatch-notify' configurable.";
2020-09-25 20:19:16 +00:00
27="Added queue for Telegram notifications to resend later on error.";
2020-09-25 20:20:34 +00:00
28="Made 'dhcp-to-dns' act on all bound leases, not just dynamic ones.";
2020-09-25 20:21:59 +00:00
29="Added filter on log message text for 'log-forward'.";
2020-09-28 18:26:29 +00:00
30="Implemented simple rate limit for 'log-forward' to prevent flooding.";
2020-10-12 21:58:20 +00:00
31="Switched Telegram notifications to fixed-width font, with opt-out.";
2020-10-16 06:24:19 +00:00
32="Merged mode (& reset) button scripts in single new script 'mode-button'.";
2020-10-16 20:51:51 +00:00
33="Added configurable deviation on health temperature recovery threshold against notification flooding.";
2020-10-23 12:13:40 +00:00
34="Introduced script 'ospf-to-leds' to visualize OSPF instance state via LEDs.";
2020-10-23 19:33:38 +00:00
35="Implemented visual feedback for 'mode-button' with configurable LED.";
2020-11-01 20:48:03 +00:00
36="Added support for installing updates automatically if seen in neighbor list.";
2020-11-17 14:03:01 +00:00
37="Implemented simple dependency model in 'netwatch-notify'.";
2020-12-17 21:47:12 +00:00
38="Imported new Let's Encrypt intermediate certificate 'R3'.";
2020-12-18 14:31:03 +00:00
39="Added support for interface specific address list entries in 'ipv6-update'.";
2020-12-18 15:02:31 +00:00
40="Made the certificate renewal time configurable.";
2020-12-18 16:50:37 +00:00
41="Implemented migration mechanism for script updates.";
2021-01-22 09:08:15 +00:00
42="Made severity in terminal output colorful, with opt-out.";
2021-02-16 14:20:01 +00:00
43="Added queue for e-mail notifications to resend later on error.";
2021-02-18 13:52:47 +00:00
44="Dropped script 'global-wait', all scripts wait on their own now.";
2021-02-22 09:34:09 +00:00
45="We have a Telegram Group! Come along and say hello: https://t.me/routeros_scripts";
2021-02-23 09:02:12 +00:00
46="Added configurable random delay in backup scripts to stretch execution and prevent resource congestion.";
2021-02-23 12:51:51 +00:00
47="Removed obsolete intermediate certificate 'Let's Encrypt Authority X3' from store.";
2021-04-28 13:33:37 +00:00
48="Added support for overriding e-mail and Telegram settings for every script.";
2021-04-29 14:26:31 +00:00
49="Dropped '\$EmailBackupTo' & '\$EmailBackupCc' from configuration, use settings override if required.";
2021-05-06 10:55:05 +00:00
50="Added support for dynamic address update in 'netwatch-notify'.";
2021-05-17 14:32:07 +00:00
51="Added 'ipsec-to-dns' to add DNS records for IPSec peers from mode-config.";
2020-12-20 23:02:49 +00:00
52="Updated Let's Encrypt trust chain to use root certificate 'ISRG Root X1'. Do not re-import the old chain!";
2021-05-28 15:30:37 +00:00
53="Added support to send notifications via Matrix.";
2021-06-02 20:53:43 +00:00
54="Support for Telegram notifications moved to a module. It is installed automatically if required.";
2021-06-09 12:32:52 +00:00
55="Added reverse logic in 'log-forward', so messages can be included even if filtered before.";
2021-06-23 08:05:41 +00:00
56="Added tags in all backup, lease and ppp-on-up scripts. These are used by 'packages-update', 'lease-script' and 'ppp-on-up' to find the scripts.";
2021-06-23 13:11:40 +00:00
57="Celebrating the 1.000th commit - Hooray!";
2021-06-22 13:58:03 +00:00
58="Added a cleanup script for 'hotspot-to-wpa' to purge old access list entries.";
2021-06-28 16:00:25 +00:00
59="Updating CAP with 'check-routeros-update' is now possible with opt-in.";
2021-07-09 09:27:26 +00:00
60="Implemented a pre-down hook in 'netwatch-notify' that fires at two thirds of failed checks.";
2021-07-09 09:57:19 +00:00
61="Finally removed old scripts.";
2021-07-09 20:05:45 +00:00
62="Added '\$ScriptRunOnce' to run a script from URL once without installation, intended to aid configuration management and the like.";
2021-09-20 13:24:52 +00:00
63="Moved optional functions '\$IPCalc' and '\$ScriptRunOnce' to modules.";
2021-09-20 11:19:34 +00:00
64="Implemented '\$InspectVar' in module to inspect variables.";
2021-11-11 13:44:26 +00:00
65="Added module to manage VLANs on bridge ports.";
2021-11-12 13:10:13 +00:00
66="Moved script 'bridge-port-to-default' to new module.";
2021-11-15 19:22:56 +00:00
67="Moved modules to directory with shorter name.";
2021-11-15 21:17:43 +00:00
68="Reintroduced 'global-wait' for functions in scheduler.";
2021-11-13 20:29:33 +00:00
69="Support hard lower limit for voltage in 'check-health'.";
2021-12-07 10:04:50 +00:00
70="MikroTik started pushing RouterOS v7. Changes are required if you run it, see https://git.eworm.de/cgit/routeros-scripts/about/#changes-for-routeros-v7";
2021-12-13 10:36:03 +00:00
71="MikroTik is pushing RouterOS v7 even more, in parallel branches. If you want to keep RouterOS v6 for some time see https://git.eworm.de/cgit/routeros-scripts/about/#changes-for-routeros-v6";
2020-12-18 16:50:37 +00:00
};
# Migration steps to be applied on script updates
:global GlobalConfigMigration {
41=":global SendNotification; \$SendNotification (\"Migration mechanism\") (\"Congratulations!\nSuccessfully tested the new migration mechanism.\");";
2021-02-23 12:51:51 +00:00
47="/ certificate remove [ find where fingerprint=\"731d3d9cfaa061487a1d71445a42f67df0afca2a6c2d2f98ff7b3ce112b1f568\" or fingerprint=\"25847d668eb4f04fdd40b12b6b0740c567da7d024308eb6c2c96fe41d9de218d\" ];";
2020-12-20 23:02:49 +00:00
52=":global CertificateDownload; :if ([ :len [ / certificate find where fingerprint=\"67add1166b020ae61b8f5fc96813c04c2aa589960796865572a3c7e737613dfd\" or fingerprint=\"96bcec06264976f37460779acf28c5a7cfe8a3c0aae11a8ffcee05c0bddf08c6\" ] ] < 2) do={ \$CertificateDownload \"R3\"; }; / certificate remove [ find where fingerprint=\"0687260331a72403d909f105e69bcf0d32e1bd2493ffc6d9206d11bcd6770739\" ];";
2021-11-15 19:22:56 +00:00
54=":global ScriptInstallUpdate; :global TelegramTokenId; :global TelegramChatId; :if ([ :len \$TelegramTokenId ] > 0 && [ :len \$TelegramChatId ] > 0) do={ \$ScriptInstallUpdate mod/notification-telegram; }";
2021-11-15 21:17:43 +00:00
61="/ system script remove [ find where name~\"^(early-errors|mode-button-(event|scheduler)|script-updates)\\\$\" source~\"^#!rsc by RouterOS\\n\" ];";
2021-11-15 19:22:56 +00:00
66=":global ScriptInstallUpdate; :if ([ :len [ / system script find where name=\"bridge-port-to-default\" ] ] > 0) do={ / system script remove [ find where name~\"^bridge-port-to(-default|ggle)\\\$\" ]; \$ScriptInstallUpdate mod/bridge-port-to; }";
67=":global ScriptInstallUpdate; :global CharacterReplace; :foreach Script in=[ / system script find where name~\"^global-functions.d/\" ] do={ / system script set name=[ \$CharacterReplace [ / system script get \$Script name ] \"global-functions.d/\" \"mod/\" ] \$Script; }; \$ScriptInstallUpdate;";
2019-04-01 09:12:34 +00:00
};