Skip to content

Commit f366933

Browse files
committed
REL: 3.4.0 Release
this commit contains the entries in changelog and NEWS update the linux package documentation adds upgrade scripts for removed/renamed bots and sets the version number
1 parent f781c2c commit f366933

File tree

7 files changed

+94
-35
lines changed

7 files changed

+94
-35
lines changed

CHANGELOG.md

+22-15
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
# CHANGELOG
77

88

9-
3.3.2 (unreleased)
10-
------------------
9+
3.4.0 Feature release (2025-03-07)
10+
----------------------------------
1111

1212
### Configuration
1313

@@ -16,10 +16,6 @@
1616
- Python 3.8 or newer is required (PR#2541 by Sebastian Wagner).
1717
- `intelmq.lib.utils.list_all_bots`/`intelmqctl check`: Fix check for bot executable in $PATH by using the bot name instead of the import path (fixes #2559, PR#2564 by Sebastian Wagner).
1818

19-
### Development
20-
21-
### Data Format
22-
2319
### Bots
2420
#### Collectors
2521
- `intelmq.bots.collectors.shadowserver.collector_reports_api.py`:
@@ -30,8 +26,6 @@
3026
- Log the downloaded size in bytes to ease troubleshooting (PR#2554 by Sebastian Wagner).
3127
- Fix import for Timeout exception preventing another exception (fixes #2555, PR#2556 by Sebastian Wagner).
3228
- Remove `intelmq.bots.collectors.twitter` as it uses an unmaintained library and does not work any more (fixes #2346, #2441, PR#2568 by Sebastian Wagner).
33-
- Renamed `intelmq.bots.parser.twitter` to `intelmq.bots.parser.ioc_extractor` (PR#2568 by Sebastian Wagner).
34-
- Added `intelmq.bots.parser.twitter` as a stub to load the IoC Extractor parser.
3529

3630
#### Parsers
3731
- `intelmq.bots.parsers.shadowserver._config`:
@@ -40,18 +34,20 @@
4034
- Fix to avoid schema download if not configured #2530.
4135
- `intelmq.bots.parsers.misp.parser`: Replace deprecated datetime function `utcfromtimestamp` for Ubuntu 24.04 compatibility (PR#2577 by Sebastian Wagner, fixes #2576, #2571).
4236
- `intelmq.bots.parsers.cleanmx.parser`: Replace deprecated datetime function `utcfromtimestamp` for Ubuntu 24.04 compatibility (PR#2577 by Sebastian Wagner, fixes #2576, #2571).
37+
- Renamed `intelmq.bots.parsers.twitter` to `intelmq.bots.parser.ioc_extractor` (PR#2568 by Sebastian Wagner).
38+
- Added `intelmq.bots.parsers.twitter` as a stub to load the IoC Extractor parser.
4339

4440
#### Experts
4541
- `intelmq.bots.experts.securitytxt`:
46-
- Added new bot (PR#2538 by Frank Westers and Sebastian Wagner)
47-
- `intelmq.bots.experts.misp`: Use `PyMISP` class instead of deprecated `ExpandedPyMISP` (PR#2532 by Radek Vyhnal)
42+
- Added new bot (PR#2538 by Frank Westers and Sebastian Wagner).
43+
- `intelmq.bots.experts.misp`: Use `PyMISP` class instead of deprecated `ExpandedPyMISP` (PR#2532 by Radek Vyhnal).
4844
- `intelmq.bots.experts.fake.expert`: New expert to fake data (PR#2567 by Sebastian Wagner).
4945

5046
#### Outputs
5147
- `intelmq.bots.outputs.cif3.output`:
5248
- The requirement can only be installed on Python version < 3.12.
5349
- Add a check on the Python version and exit if incompatible.
54-
- Add a deprecation warning (PR#2544 by Sebastian Wagner)
50+
- Add a deprecation warning (PR#2544 by Sebastian Wagner).
5551
- `intelmq.bots.outputs.sql.output`:
5652
- Treat an empty string `fields` parameter as unset parameter, fixing a crash in default configuration (PR#2548 by Sebastian Wagner, fixes #2548).
5753

@@ -61,6 +57,7 @@
6157
- Remove empty page tutorials/intelmq-manager (PR#2562 by Sebastian Wagner).
6258

6359
### Packaging
60+
- Packages for Ubuntu 24.04 (by Sebastian Wagner, fixes #2571).
6461

6562
### Tests
6663
- Install build dependencies for `pymssql` on Python 3.8 as there are no wheels available for this Python version (PR#2542 by Sebastian Wagner).
@@ -70,11 +67,21 @@
7067
- Full pytest workflow: Version-independent install of postgres client, for Ubuntu 24.04 (default on GitHub now) test environment compatibility (PR#2557 by Sebastian Wagner).
7168
- Debian package build workflow: Use artifact upload v4 instead of v3 (PR#2565 by Sebastian Wagner).
7269

73-
### Tools
74-
75-
### Contrib
76-
7770
### Known issues
71+
This is short list of the most important known issues. The full list can be retrieved from [GitHub](https://github.com/certtools/intelmq/labels/bug?page=2&q=is%3Aopen+label%3Abug).
72+
- intelmqctl: interactive run ignores custom log level (#2563).
73+
- `intelmq.parsers.html_table` may not process invalid URLs in patched Python version due to changes in `urllib` (#2382).
74+
- Breaking changes in 'rt' 3.0 library (#2367).
75+
- Type error with SQL output bot's `prepare_values` returning list instead of tuple (#2255).
76+
- `intelmq_psql_initdb` does not work for SQLite (#2202).
77+
- intelmqsetup: should install a default state file (#2175).
78+
- Misp Expert - Crash if misp event already exist (#2170).
79+
- Spamhaus CERT parser uses wrong field (#2165).
80+
- Custom headers ignored in HTTPCollectorBot (#2150).
81+
- intelmqctl log: parsing syslog does not work (#2097).
82+
- Bash completion scripts depend on old JSON-based configuration files (#2094).
83+
- Bots started with IntelMQ-API/Manager stop when the webserver is restarted (#952).
84+
- Corrupt dump files when interrupted during writing (#870).
7885

7986

8087
3.3.1 (2024-09-03)

NEWS.md

+9-12
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!-- comment
2-
SPDX-FileCopyrightText: 2015-2024 Sebastian Wagner
2+
SPDX-FileCopyrightText: 2015-2025 Sebastian Wagner
33
SPDX-License-Identifier: AGPL-3.0-or-later
44
-->
55

@@ -10,26 +10,23 @@ This file lists all changes which have an affect on the administration of IntelM
1010
Please refer to the change log for a full list of changes.
1111

1212

13-
3.3.2 Bugfix release (unreleased)
14-
---------------------------------
13+
3.4.0 Feature release (2025-03-07)
14+
----------------------------------
1515

1616
### Requirements
1717
Python 3.8 or newer is required.
1818

1919
## Bots
20-
#### CIF 3 API
20+
#### CIF 3 API Output deprecation
2121
The CIF 3 API Output bot is not compatible with Python version greater or equal to 3.12 and will be removed in the future due to lack of maintenance.
2222
See https://lists.cert.at/pipermail/intelmq-users/2024-December/000474.html for more information.
2323

24-
### Tools
25-
26-
### Data Format
27-
28-
### Configuration
24+
#### Twitter Collector removal
25+
As the bot does not work anymore and uses an unmaintained library, it is removed from IntelMQ.
2926

30-
### Libraries
31-
32-
### Postgres databases
27+
#### Twitter Parser renaming
28+
The Twitter parser is renamed to *IoC Extractor Parser* (`intelmq.bots.parsers.ioc_extractor`).
29+
The previous module name is left as a stub to load the IoC Extractor parser for backwards-compatibility.
3330

3431

3532
3.3.1 Bugfix release (2024-09-03)

debian/changelog

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
intelmq (3.3.2~alpha1-1) UNRELEASED; urgency=medium
1+
intelmq (3.4.0-1) stable; urgency=medium
22

3-
* Prepare 3.3.2 release
3+
* 3.4.0 Bugfix release
44

5-
-- Sebastian Wagner <[email protected]> Mon, 16 Sep 2024 17:53:59 +0200
5+
-- Sebastian Wagner <[email protected]> Wed, 05 Mar 2025 21:33:14 +0100
66

77
intelmq (3.3.1-1) stable; urgency=medium
88

docs/admin/installation/linux-packages.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!-- comment
2-
SPDX-FileCopyrightText: 2015-2024 Sebastian Wagner, Filip Pokorný
2+
SPDX-FileCopyrightText: 2015-2025 Sebastian Wagner, Filip Pokorný
33
SPDX-License-Identifier: AGPL-3.0-or-later
44
-->
55

@@ -20,6 +20,7 @@ Native packages are currently provided for the following Linux distributions:
2020
- **openSUSE Tumbleweed**
2121
- **Ubuntu 20.04** (focal fossa)
2222
- **Ubuntu 22.04** (jammy jellyfish)
23+
- **Ubuntu 24.04** (jammy jellyfish)
2324

2425
### Debian 11 and 12
2526

@@ -47,7 +48,7 @@ zypper refresh
4748
zypper install intelmq intelmq-api intelmq-manager
4849
```
4950

50-
### Ubuntu 20.04 and 22.04
51+
### Ubuntu 20.04, 22.04 and 24.04
5152

5253
For Ubuntu you must enable the Universe repository which provides community-maintained free and open-source software.
5354

intelmq/lib/upgrades.py

+23-1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
'v320_update_turris_greylist_url',
4242
'v322_url_replacement',
4343
'v322_removed_feeds_and_bots',
44+
'v340_deprecations'
4445
]
4546

4647

@@ -952,6 +953,27 @@ def v322_removed_feeds_and_bots(configuration, harmonization, dry_run, **kwargs)
952953
return '\n'.join(messages) if messages else None, configuration, harmonization
953954

954955

956+
def v340_deprecations(configuration, harmonization, dry_run, **kwargs):
957+
"""
958+
Rename twitter parser, warn on Twitter collector
959+
"""
960+
changed = None
961+
found_twitter_collector = []
962+
message = None
963+
for bot_id, bot in configuration.items():
964+
if bot_id == 'global':
965+
continue
966+
if bot["module"] == "intelmq.bots.parsers.twitter.parser":
967+
configuration[bot_id]["module"] = "intelmq.bots.parsers.ioc_extractor.parser"
968+
changed = True
969+
elif bot["module"] == "intelmq.bots.collectors.twitter.collector":
970+
found_twitter_collector.append(bot_id)
971+
972+
if found_twitter_collector:
973+
message = f"Found discontinued Twitter collector bot: {', '.join(found_twitter_collector)}"
974+
return message or changed, configuration, harmonization
975+
976+
955977
UPGRADES = OrderedDict([
956978
((1, 0, 0, 'dev7'), (v100_dev7_modify_syntax,)),
957979
((1, 1, 0), (v110_shadowserver_feednames, v110_deprecations)),
@@ -981,7 +1003,7 @@ def v322_removed_feeds_and_bots(configuration, harmonization, dry_run, **kwargs)
9811003
((3, 2, 2), (v322_url_replacement, v322_removed_feeds_and_bots)),
9821004
((3, 3, 0), ()),
9831005
((3, 3, 1), ()),
984-
((3, 3, 2), ()),
1006+
((3, 4, 0), (v340_deprecations, )),
9851007
])
9861008

9871009
ALWAYS = (harmonization,)

intelmq/tests/lib/test_upgrades.py

+32
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,26 @@
598598
Found discontinued feeds collected by bots: sucuri-collector
599599
Remove the affected bots from the configuration."""
600600

601+
V340_TWITTER_PARSER_IN = {
602+
"global": {},
603+
"twitter-parser": {
604+
"module": "intelmq.bots.parsers.twitter.parser",
605+
},
606+
}
607+
V340_TWITTER_PARSER_OUT = {
608+
"global": {},
609+
"twitter-parser": {
610+
"module": "intelmq.bots.parsers.ioc_extractor.parser"
611+
},
612+
}
613+
V340_TWITTER_COLLECTOR_IN = {
614+
"global": {},
615+
"twitter-collector": {
616+
"module": "intelmq.bots.collectors.twitter.collector",
617+
},
618+
}
619+
620+
601621

602622
def generate_function(function):
603623
def test_function(self):
@@ -824,6 +844,18 @@ def test_v322_removed_feeds_and_bots(self):
824844
result = upgrades.v322_removed_feeds_and_bots(V322_DISCONTINUED_BOTS_AND_FEEDS_IN, {}, False)
825845
self.assertEqual(V322_DISCONTINUED_BOTS_AND_FEEDS_OUT, result[0])
826846

847+
def test_v340_twitter_parser(self):
848+
""" Test v340_deprecations with a Twitter parser """
849+
result = upgrades.v340_deprecations(V340_TWITTER_PARSER_IN, {}, False)
850+
self.assertTrue(result[0])
851+
self.assertEqual(V340_TWITTER_PARSER_OUT, result[1])
852+
853+
def test_v340_twitter_collector(self):
854+
""" Test v340_deprecations with a Twitter collector """
855+
result = upgrades.v340_deprecations(V340_TWITTER_COLLECTOR_IN, {}, False)
856+
self.assertIn('twitter-collector', result[0])
857+
self.assertEqual(V340_TWITTER_COLLECTOR_IN, result[1])
858+
827859

828860
for name in upgrades.__all__:
829861
setattr(TestUpgradeLib, 'test_function_%s' % name,

intelmq/version.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# SPDX-FileCopyrightText: 2016-2024 Sebastian Wagner
1+
# SPDX-FileCopyrightText: 2016-2025 Sebastian Wagner
22
#
33
# SPDX-License-Identifier: AGPL-3.0-or-later
44

5-
__version_info__ = (3, 3, 2, 'alpha1')
5+
__version_info__ = (3, 4, 0)
66
__version__ = '.'.join(map(str, __version_info__))

0 commit comments

Comments
 (0)