1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
|
ancestor: null
releases:
0.1.0:
changes:
minor_changes:
- facts - now also collecting data about BGP and OSPF (https://github.com/ansible-collections/community.network/pull/101).
- facts - set configuration export on to verbose, for full configuration export
(https://github.com/ansible-collections/community.network/pull/104).
release_summary: 'The ``community.routeros`` continues the work on the Ansible
RouterOS modules from their state in ``community.network`` 1.2.0. The changes
listed here are thus relative to the modules ``community.network.routeros_*``.
'
fragments:
- 0.1.0.yml
- 101_update_facts.yml
- 104_facts_export_verbose.yml
release_date: '2020-10-26'
0.1.1:
changes:
bugfixes:
- api - fix crash when the ``ssl`` parameter is used (https://github.com/ansible-collections/community.routeros/pull/3).
release_summary: Small improvements and bugfixes over the initial release.
fragments:
- 0.1.1.yml
- 3-api-ssl.yml
release_date: '2020-10-31'
1.0.0:
changes:
bugfixes:
- routeros terminal plugin - allow slashes in hostnames for terminal detection.
Without this, slashes in hostnames will result in connection timeouts (https://github.com/ansible-collections/community.network/pull/138).
release_summary: 'This is the first production (non-prerelease) release of ``community.routeros``.
'
fragments:
- 1.0.0.yml
- community.network-138-routeros-allow-slash.yml
release_date: '2020-11-17'
1.0.1:
changes:
bugfixes:
- api - remove ``id to .id`` as default requirement which conflicts with RouterOS
``id`` configuration parameter (https://github.com/ansible-collections/community.routeros/pull/15).
release_summary: Maintenance release with a bugfix for ``api``.
fragments:
- 1.0.1.yml
- 13-remove-id-restriction-for-api.yaml
release_date: '2020-12-11'
1.1.0:
changes:
minor_changes:
- command - added support for a dash (``-``) in username (https://github.com/ansible-collections/community.routeros/pull/18).
- facts - added support for a dash (``-``) in username (https://github.com/ansible-collections/community.routeros/pull/18).
release_summary: This release allow dashes in usernames for SSH-based modules.
fragments:
- 1.1.0.yml
- 18-support-dashes-in-username.yml
release_date: '2021-01-04'
1.2.0:
changes:
bugfixes:
- api - when using TLS/SSL, remove explicit cipher configuration to insecure
values, which also makes it impossible to connect to newer RouterOS versions
(https://github.com/ansible-collections/community.routeros/pull/34).
minor_changes:
- Avoid internal ansible-core module_utils in favor of equivalent public API
available since at least Ansible 2.9 (https://github.com/ansible-collections/community.routeros/pull/38).
- api - add options ``validate_certs`` (default value ``true``), ``validate_cert_hostname``
(default value ``false``), and ``ca_path`` to control certificate validation
(https://github.com/ansible-collections/community.routeros/pull/37).
- api - rename option ``ssl`` to ``tls``, and keep the old name as an alias
(https://github.com/ansible-collections/community.routeros/pull/37).
- fact - add fact ``ansible_net_config_nonverbose`` to get idempotent config
(no date, no verbose) (https://github.com/ansible-collections/community.routeros/pull/23).
release_summary: Bugfix and feature release.
fragments:
- 1.2.0.yml
- 23-idempotent_config.yml
- 34-api-ciphers.yml
- 37-api-validate-cert-options.yml
- ansible-core-_text.yml
release_date: '2021-06-29'
2.0.0:
changes:
minor_changes:
- command - the ``commands`` and ``wait_for`` options now convert the list elements
to strings (https://github.com/ansible-collections/community.routeros/pull/55).
- facts - the ``gather_subset`` option now converts the list elements to strings
(https://github.com/ansible-collections/community.routeros/pull/55).
release_summary: A new major release with breaking changes in the behavior of
``community.routeros.api`` and ``community.routeros.command``.
fragments:
- 2.0.0.yml
- 55-linting.yml
release_date: '2021-10-31'
2.0.0-a1:
changes:
breaking_changes:
- 'api - due to a programming error, the module never failed on errors. This
has now been fixed. If you are relying on the module not failing in case of
idempotent commands (resulting in errors like ``failure: already have such
address``), you need to adjust your roles/playbooks. We suggest to use ``failed_when``
to accept failure in specific circumstances, for example ``failed_when: "''failure:
already have '' in result.msg[0]"`` (https://github.com/ansible-collections/community.routeros/pull/39).'
release_summary: First prerelease for a new major release with a breaking change
in the behavior of ``community.routeros.api``.
fragments:
- 2.0.0-a1.yml
- 39-api-fail.yml
release_date: '2021-07-31'
2.0.0-a2:
changes:
breaking_changes:
- api - splitting commands no longer uses a naive split by whitespace, but a
more RouterOS CLI compatible splitting algorithm (https://github.com/ansible-collections/community.routeros/pull/45).
- command - the module now always indicates that a change happens. If this is
not correct, please use ``changed_when`` to determine the correct changed
status for a task (https://github.com/ansible-collections/community.routeros/pull/50).
bugfixes:
- api - improve splitting of ``WHERE`` queries (https://github.com/ansible-collections/community.routeros/pull/47).
- api - when converting result lists to dictionaries, no longer removes second
``=`` and text following that if present (https://github.com/ansible-collections/community.routeros/pull/47).
- routeros cliconf plugin - adjust function signature that was modified in Ansible
after creation of this plugin (https://github.com/ansible-collections/community.routeros/pull/43).
minor_changes:
- api - make validation of ``WHERE`` for ``query`` more strict (https://github.com/ansible-collections/community.routeros/pull/53).
release_summary: Second prerelease for a new major release with breaking changes
in the behavior of ``community.routeros.api`` and ``community.routeros.command``.
fragments:
- 2.0.0-a2.yml
- 43-sanity.yml
- 45-api-split.yml
- 47-api-split.yml
- 50-command-changed.yml
- 53-api-where.yml
- 53-quoting-filters.yml
plugins:
filter:
- description: Join a list of arguments to a command
name: join
namespace: null
- description: Convert a list of arguments to a list of dictionary
name: list_to_dict
namespace: null
- description: Quote an argument
name: quote_argument
namespace: null
- description: Quote an argument value
name: quote_argument_value
namespace: null
- description: Split a command into arguments
name: split
namespace: null
release_date: '2021-10-14'
2.1.0:
changes:
bugfixes:
- query - fix query function check for ``.id`` vs. ``id`` arguments to not conflict
with routeros arguments like ``identity`` (https://github.com/ansible-collections/community.routeros/pull/68,
https://github.com/ansible-collections/community.routeros/issues/67).
- quoting and unquoting filter plugins, api module - handle the escape sequence
``\_`` correctly as escaping a space and not an underscore (https://github.com/ansible-collections/community.routeros/pull/89).
minor_changes:
- Added a ``community.routeros.api`` module defaults group. Use with ``group/community.routeros.api``
to provide options for all API-based modules (https://github.com/ansible-collections/community.routeros/pull/89).
- Prepare collection for inclusion in an Execution Environment by declaring
its dependencies (https://github.com/ansible-collections/community.routeros/pull/83).
- api - add new option ``extended query`` more complex queries against RouterOS
API (https://github.com/ansible-collections/community.routeros/pull/63).
- api - update ``query`` to accept symbolic parameters (https://github.com/ansible-collections/community.routeros/pull/63).
- api* modules - allow to set an encoding other than the default ASCII for communicating
with the API (https://github.com/ansible-collections/community.routeros/pull/95).
release_summary: Feature and bugfix release with new modules.
fragments:
- 2.1.0.yml
- 63-add-extended_query.yml
- 68-fix-query-id-check.yml
- 83-ee.yml
- 89-quoting.yml
- 90-api-action-group.yml
- 95-api-encoding.yml
modules:
- description: Collect facts from remote devices running MikroTik RouterOS using
the API
name: api_facts
namespace: ''
- description: Find and modify information using the API
name: api_find_and_modify
namespace: ''
release_date: '2022-05-25'
2.2.0:
changes:
bugfixes:
- Include ``LICENSES/BSD-2-Clause.txt`` file for the ``routeros`` module utils
(https://github.com/ansible-collections/community.routeros/pull/101).
minor_changes:
- All software licenses are now in the ``LICENSES/`` directory of the collection
root. Moreover, ``SPDX-License-Identifier:`` is used to declare the applicable
license for every file that is not automatically generated (https://github.com/ansible-collections/community.routeros/pull/101).
release_summary: New feature release.
fragments:
- 101-licenses.yml
- 2.2.0.yml
modules:
- description: Retrieve information from API
name: api_info
namespace: ''
- description: Modify data at paths with API
name: api_modify
namespace: ''
release_date: '2022-07-31'
2.2.1:
changes:
bugfixes:
- api_modify, api_info - make API path ``ip dhcp-server lease`` support ``server=all``
(https://github.com/ansible-collections/community.routeros/issues/104, https://github.com/ansible-collections/community.routeros/pull/107).
- api_modify, api_info - make API path ``ip dhcp-server network`` support missing
options ``boot-file-name``, ``dhcp-option-set``, ``dns-none``, ``domain``,
and ``next-server`` (https://github.com/ansible-collections/community.routeros/issues/104,
https://github.com/ansible-collections/community.routeros/pull/106).
release_summary: Bugfix release.
fragments:
- 106-api-path-ip-dhcp-network.yml
- 107-api-path-ip-dhcp-lease.yml
- 2.2.1.yml
release_date: '2022-08-20'
2.3.0:
changes:
bugfixes:
- api_modify, api_info - make API path ``ip dhcp-server`` support ``script``,
and ``ip firewall nat`` support ``in-interface`` and ``in-interface-list``
(https://github.com/ansible-collections/community.routeros/pull/110).
minor_changes:
- The collection repository conforms to the `REUSE specification <https://reuse.software/spec/>`__
except for the changelog fragments (https://github.com/ansible-collections/community.routeros/pull/108).
- api* modules - added ``timeout`` parameter (https://github.com/ansible-collections/community.routeros/pull/109).
- api_modify, api_info - support API path ``ip firewall mangle`` (https://github.com/ansible-collections/community.routeros/pull/110).
release_summary: Feature and bugfix release.
fragments:
- 109-add-timeout-parameter-to-api.yml
- 110-api.yml
- 2.3.0.yml
- licenses.yml
release_date: '2022-09-11'
2.3.1:
changes:
known_issues:
- The ``community.routeros.command`` module claims to support check mode. Since
it cannot judge whether the commands executed modify state or not, this behavior
is incorrect. Since this potentially breaks existing playbooks, we will not
change this behavior until community.routeros 3.0.0.
release_summary: Maintenance release with improved documentation.
fragments:
- 2.3.1.yml
- command-check_mode.yml
release_date: '2022-11-06'
2.4.0:
changes:
bugfixes:
- api_modify - ``ip route`` entry can be defined without the need of ``gateway``
field, which is correct for unreachable/blackhole type of routes (https://github.com/ansible-collections/community.routeros/pull/131).
- api_modify - ``queue interface`` path works now (https://github.com/ansible-collections/community.routeros/pull/131).
- api_modify, api_info - removed wrong field ``dynamic`` from API path ``ipv6
firewall address-list`` (https://github.com/ansible-collections/community.routeros/pull/133).
- api_modify, api_info - the default of the field ``ingress-filtering`` in ``interface
bridge port`` is now ``true``, which is the default in ROS (https://github.com/ansible-collections/community.routeros/pull/125).
- command, facts - commands do not timeout in safe mode anymore (https://github.com/ansible-collections/community.routeros/pull/134).
known_issues:
- api_modify - when limits for entries in ``queue tree`` are defined as human
readable - for example ``25M`` -, the configuration will be correctly set
in ROS, but the module will indicate the item is changed on every run even
when there was no change done. This is caused by the ROS API which returns
the number in bytes - for example ``25000000`` (which is inconsistent with
the CLI behavior). In order to mitigate that, the limits have to be defined
in bytes (those will still appear as human readable in the ROS CLI) (https://github.com/ansible-collections/community.routeros/pull/131).
- api_modify, api_info - ``routing ospf area``, ``routing ospf area range``,
``routing ospf instance``, ``routing ospf interface-template`` paths are not
fully implemeted for ROS6 due to the significat changes between ROS6 and ROS7
(https://github.com/ansible-collections/community.routeros/pull/131).
minor_changes:
- api* modules - Add new option ``force_no_cert`` to connect with ADH ciphers
(https://github.com/ansible-collections/community.routeros/pull/124).
- api_info - new parameter ``include_builtin`` which allows to include "builtin"
entries that are automatically generated by ROS and cannot be modified by
the user (https://github.com/ansible-collections/community.routeros/pull/130).
- api_modify, api_info - support API paths - ``interface bonding``, ``interface
bridge mlag``, ``ipv6 firewall mangle``, ``ipv6 nd``, ``system scheduler``,
``system script``, ``system ups`` (https://github.com/ansible-collections/community.routeros/pull/133).
- api_modify, api_info - support API paths ``caps-man access-list``, ``caps-man
configuration``, ``caps-man datapath``, ``caps-man manager``, ``caps-man provisioning``,
``caps-man security`` (https://github.com/ansible-collections/community.routeros/pull/126).
- api_modify, api_info - support API paths ``interface list`` and ``interface
list member`` (https://github.com/ansible-collections/community.routeros/pull/120).
- api_modify, api_info - support API paths ``interface pppoe-client``, ``interface
vlan``, ``interface bridge``, ``interface bridge vlan`` (https://github.com/ansible-collections/community.routeros/pull/125).
- api_modify, api_info - support API paths ``ip ipsec identity``, ``ip ipsec
peer``, ``ip ipsec policy``, ``ip ipsec profile``, ``ip ipsec proposal`` (https://github.com/ansible-collections/community.routeros/pull/129).
- api_modify, api_info - support API paths ``ip route`` and ``ip route vrf``
(https://github.com/ansible-collections/community.routeros/pull/123).
- api_modify, api_info - support API paths ``ipv6 address``, ``ipv6 dhcp-server``,
``ipv6 dhcp-server option``, ``ipv6 route``, ``queue tree``, ``routing ospf
area``, ``routing ospf area range``, ``routing ospf instance``, ``routing
ospf interface-template``, ``routing pimsm instance``, ``routing pimsm interface-template``
(https://github.com/ansible-collections/community.routeros/pull/131).
- api_modify, api_info - support API paths ``system logging``, ``system logging
action`` (https://github.com/ansible-collections/community.routeros/pull/127).
- api_modify, api_info - support field ``hw-offload`` for path ``ip firewall
filter`` (https://github.com/ansible-collections/community.routeros/pull/121).
- api_modify, api_info - support fields ``address-list``, ``address-list-timeout``,
``connection-bytes``, ``connection-limit``, ``connection-mark``, ``connection-rate``,
``connection-type``, ``content``, ``disabled``, ``dscp``, ``dst-address-list``,
``dst-address-type``, ``dst-limit``, ``fragment``, ``hotspot``, ``icmp-options``,
``in-bridge-port``, ``in-bridge-port-list``, ``ingress-priority``, ``ipsec-policy``,
``ipv4-options``, ``jump-target``, ``layer7-protocol``, ``limit``, ``log``,
``log-prefix``, ``nth``, ``out-bridge-port``, ``out-bridge-port-list``, ``packet-mark``,
``packet-size``, ``per-connection-classifier``, ``port``, ``priority``, ``psd``,
``random``, ``realm``, ``routing-mark``, ``same-not-by-dst``, ``src-address``,
``src-address-list``, ``src-address-type``, ``src-mac-address``, ``src-port``,
``tcp-mss``, ``time``, ``tls-host``, ``ttl`` in ``ip firewall nat`` path (https://github.com/ansible-collections/community.routeros/pull/133).
- api_modify, api_info - support fields ``combo-mode``, ``comment``, ``fec-mode``,
``mdix-enable``, ``poe-out``, ``poe-priority``, ``poe-voltage``, ``power-cycle-interval``,
``power-cycle-ping-address``, ``power-cycle-ping-enabled``, ``power-cycle-ping-timeout``
for path ``interface ethernet`` (https://github.com/ansible-collections/community.routeros/pull/121).
- api_modify, api_info - support fields ``jump-target``, ``reject-with`` in
``ip firewall filter`` API path, field ``comment`` in ``ip firwall address-list``
API path, field ``jump-target`` in ``ip firewall mangle`` API path, field
``comment`` in ``ipv6 firewall address-list`` API path, fields ``jump-target``,
``reject-with`` in ``ipv6 firewall filter`` API path (https://github.com/ansible-collections/community.routeros/pull/133).
- api_modify, api_info - support for API fields that can be disabled and have
default value at the same time, support API paths ``interface gre``, ``interface
eoip`` (https://github.com/ansible-collections/community.routeros/pull/128).
- api_modify, api_info - support for fields ``blackhole``, ``pref-src``, ``routing-table``,
``suppress-hw-offload``, ``type``, ``vrf-interface`` in ``ip route`` path
(https://github.com/ansible-collections/community.routeros/pull/131).
- api_modify, api_info - support paths ``system ntp client servers`` and ``system
ntp server`` available in ROS7, as well as new fields ``servers``, ``mode``,
and ``vrf`` for ``system ntp client`` (https://github.com/ansible-collections/community.routeros/pull/122).
release_summary: Feature release improving the ``api*`` modules.
fragments:
- 120-api.yml
- 121-api.yml
- 122-api.yml
- 123-api.yml
- 124-api.yml
- 125-api.yml
- 126-api-capsman.yml
- 127-logging.yml
- 128-api.yml
- 129-api-ipsec.yml
- 130-api-modify-builtin.yml
- 131-api.yml
- 133-api.yml
- 134-command-safemode.yml
- 2.4.0.yml
release_date: '2022-11-18'
2.5.0:
changes:
bugfixes:
- api_modify - ``address-pool`` field of entries in API path ``ip dhcp-server``
is not required anymore (https://github.com/ansible-collections/community.routeros/pull/137).
minor_changes:
- api_info, api_modify - support API paths ``interface ethernet poe``, ``interface
gre6``, ``interface vrrp`` and also support all previously missing fields
of entries in ``ip dhcp-server`` (https://github.com/ansible-collections/community.routeros/pull/137).
release_summary: Feature and bugfix release.
fragments:
- 137-api.yml
- 2.5.0.yml
release_date: '2022-12-04'
2.6.0:
changes:
bugfixes:
- api_modify - do not use ``name`` as a unique key in ``ip dns static`` (https://github.com/ansible-collections/community.routeros/issues/141).
- api_modify, api_info - do not crash if router contains ``regexp`` DNS entries
in ``ip dns static`` (https://github.com/ansible-collections/community.routeros/issues/141).
minor_changes:
- api_modify, api_info - add field ``regexp`` to ``ip dns static`` (https://github.com/ansible-collections/community.routeros/issues/141).
- api_modify, api_info - support API paths ``interface wireguard``, ``interface
wireguard peers`` (https://github.com/ansible-collections/community.routeros/pull/143).
release_summary: Regular bugfix and feature release.
fragments:
- 142-dns-regexp.yml
- 143-add-wireguard.yml
- 2.6.0.yml
release_date: '2023-01-01'
2.7.0:
changes:
bugfixes:
- api_modify, api_info - defaults corrected for fields in ``interface wireguard
peers`` API path (https://github.com/ansible-collections/community.routeros/pull/144).
minor_changes:
- api_modify, api_info - support API paths ``ip arp``, ``ip firewall raw``,
``ipv6 firewall raw`` (https://github.com/ansible-collections/community.routeros/pull/144).
release_summary: Bugfix and feature release.
fragments:
- 144-paths.yml
- 2.7.0.yml
release_date: '2023-01-14'
2.8.0:
changes:
bugfixes:
- api_info, api_modify - fix default and remove behavior for ``dhcp-options``
in path ``ip dhcp-client`` (https://github.com/ansible-collections/community.routeros/issues/148,
https://github.com/ansible-collections/community.routeros/pull/154).
- api_modify - fix handling of disabled keys on creation (https://github.com/ansible-collections/community.routeros/pull/154).
- various plugins and modules - remove unnecessary imports (https://github.com/ansible-collections/community.routeros/pull/149).
minor_changes:
- api_modify - adapt data for API paths ``ip dhcp-server network`` (https://github.com/ansible-collections/community.routeros/pull/156).
- api_modify - add support for API path ``snmp community`` (https://github.com/ansible-collections/community.routeros/pull/159).
- api_modify - add support for ``trap-interfaces`` in API path ``snmp`` (https://github.com/ansible-collections/community.routeros/pull/159).
- api_modify - add support to disable IPv6 in API paths ``ipv6 settings`` (https://github.com/ansible-collections/community.routeros/pull/158).
- api_modify - support API paths ``ip firewall layer7-protocol`` (https://github.com/ansible-collections/community.routeros/pull/153).
- command - workaround for extra characters in stdout in RouterOS versions between
6.49 and 7.1.5 (https://github.com/ansible-collections/community.routeros/issues/62,
https://github.com/ansible-collections/community.routeros/pull/161).
release_summary: Bugfix and feature release.
fragments:
- 153-ip_firewall_layer7-protocol.yml
- 154-ip-dhcp-client-dhcp-options.yml
- 156-ip_dhcp-server_network.yml
- 158-ipv6_settings-disable.yml
- 159-snmp_community.yml
- 161-workaround-prompt-with-space.yml
- 2.8.0.yml
- remove-unneeded-imports.yml
release_date: '2023-03-23'
2.8.1:
changes:
bugfixes:
- facts - do not crash in CLI output preprocessing in unexpected situations
during line unwrapping (https://github.com/ansible-collections/community.routeros/issues/170,
https://github.com/ansible-collections/community.routeros/pull/177).
release_summary: Bugfix release.
fragments:
- 177-facts-parsing.yml
- 2.8.1.yml
release_date: '2023-06-14'
2.8.2:
changes:
bugfixes:
- api_modify, api_info - add missing parameter ``tls`` for the ``tool e-mail``
path (https://github.com/ansible-collections/community.routeros/issues/179,
https://github.com/ansible-collections/community.routeros/pull/180).
release_summary: Bugfix release.
fragments:
- 180-fix-tls-in-tool-email.yml
- 2.8.2.yml
release_date: '2023-06-19'
|