summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
Diffstat (limited to 'web')
-rw-r--r--web/input/news/release-3-0-0-rc2.md43
-rw-r--r--web/macros.py13
2 files changed, 54 insertions, 2 deletions
diff --git a/web/input/news/release-3-0-0-rc2.md b/web/input/news/release-3-0-0-rc2.md
new file mode 100644
index 0000000..79746bd
--- /dev/null
+++ b/web/input/news/release-3-0-0-rc2.md
@@ -0,0 +1,43 @@
1title: Version 3.0.0-rc2 Released
2author: Lorenz Kästle
3date: 2026-01-02
4---
5
6The Monitoring Plugins Development Team announces version 3.0.0-rc2 of
7the Monitoring Plugins!
8
9This is the second release candidate for version 3.0.0.
10
11It contains mostly fixes to the 3.0.0-rc1 version and is also not a full release,
12but serves as a basis for test until we are mostly sure not to break production
13setups.
14
15### Changes
16* check_nt was removed
17 check_nt is no long useful in current setups and hasn't been for some time.
18 Therefore it was removed without a replacement.
19* check_ntp was removed
20 check_ntp was marked as deprecated for a long time due to systematic problems.
21 It should not be in use anywhere and gets now removed to reduce code size and
22 avoid misleading users.
23 The replacements are check_ntp_time and check_ntp_peer
24* Bugfix for check_ntp_time
25 An errournous change in check_ntp_time made it fail in almost all use cases.
26 This has been fixed
27* Properly separate perfdata from different subchecks
28 A missing separator caused errors in perfdata strings (from C plugins) where
29 two different data points where not properly separated and showed up as a single
30 invalid data point
31* check_curl: append the query string from parsed uri
32 When using the old style follow method (`-f follow`) with check_curl the query string was not
33 appended to the new target after redirect. This was fixed. (Thanks Ahmet Oeztuerk)
34* Fixing different problems on OpenBSD
35 A few different things did prevent proper compilation and usage on OpenBSD, partly due
36 to different naming conventions there. These are hopefully fixed now. Thanks to Alvar Penning
37 and Stuart Henderson.
38* Gnulib update to stable-202507
39
40
41[download]: /download.html
42
43<!--% # vim:set filetype=markdown textwidth=78 joinspaces expandtab: # %-->
diff --git a/web/macros.py b/web/macros.py
index 3eb1046..eab21bc 100644
--- a/web/macros.py
+++ b/web/macros.py
@@ -3,7 +3,7 @@ import math
3import os.path 3import os.path
4import time 4import time
5 5
6plugins_release = '3.0.0-rc1' 6plugins_release = '3.0.0-rc2'
7mib_release = '1.0.1' 7mib_release = '1.0.1'
8release_notes = 'news/release-%s.html' % plugins_release.replace('.', '-') 8release_notes = 'news/release-%s.html' % plugins_release.replace('.', '-')
9site_url = 'https://www.monitoring-plugins.org/' 9site_url = 'https://www.monitoring-plugins.org/'
@@ -52,6 +52,7 @@ _RSS_ITEM = """
52 </item> 52 </item>
53""" 53"""
54 54
55
55def hook_postconvert_rss(): 56def hook_postconvert_rss():
56 items = [] 57 items = []
57 posts = [p for p in pages if 'date' in p] 58 posts = [p for p in pages if 'date' in p]
@@ -75,6 +76,7 @@ def hook_postconvert_rss():
75# News 76# News
76# 77#
77 78
79
78def hook_preconvert_news(): 80def hook_preconvert_news():
79 posts_per_page = 10 81 posts_per_page = 10
80 posts = [p for p in pages if 'date' in p] 82 posts = [p for p in pages if 'date' in p]
@@ -97,6 +99,7 @@ def hook_preconvert_news():
97 parent='News') 99 parent='News')
98 pages.append(p) 100 pages.append(p)
99 101
102
100def make_news_page(posts, current_index): 103def make_news_page(posts, current_index):
101 marker = '<end-of-teaser>' 104 marker = '<end-of-teaser>'
102 if current_index == 0: 105 if current_index == 0:
@@ -121,6 +124,7 @@ def make_news_page(posts, current_index):
121 p['parent'] = title 124 p['parent'] = title
122 return '\n'.join(teaser) + '\n\n' 125 return '\n'.join(teaser) + '\n\n'
123 126
127
124def make_news_footer(n_news_pages, current_index): 128def make_news_footer(n_news_pages, current_index):
125 if n_news_pages == 1: 129 if n_news_pages == 1:
126 return '' 130 return ''
@@ -142,6 +146,7 @@ def make_news_footer(n_news_pages, current_index):
142 footer.append('[Last](news/%d.html)' % n_news_pages) 146 footer.append('[Last](news/%d.html)' % n_news_pages)
143 return '&emsp;'.join(footer) + '\n{: #news-footer }\n' 147 return '&emsp;'.join(footer) + '\n{: #news-footer }\n'
144 148
149
145def next_news_chunk(posts, posts_per_page): 150def next_news_chunk(posts, posts_per_page):
146 index = 0 151 index = 0
147 while len(posts[index:]) > 0: 152 while len(posts[index:]) > 0:
@@ -152,6 +157,7 @@ def next_news_chunk(posts, posts_per_page):
152# Menu and Breadcrumb Navigation 157# Menu and Breadcrumb Navigation
153# 158#
154 159
160
155def menu(): 161def menu():
156 menu_pages = [p for p in pages if 'menu' in p] 162 menu_pages = [p for p in pages if 'menu' in p]
157 menu_pages.sort(key=lambda p: int(p['menu'])) 163 menu_pages.sort(key=lambda p: int(p['menu']))
@@ -161,9 +167,10 @@ def menu():
161 else: 167 else:
162 print('<span><a href="%s">%s</a></span>' % (p.url, hx(p.title))) 168 print('<span><a href="%s">%s</a></span>' % (p.url, hx(p.title)))
163 169
170
164def breadcrumb(): 171def breadcrumb():
165 stable = '<span id="release">Stable release: <a href="%s">%s</a></span>' \ 172 stable = '<span id="release">Stable release: <a href="%s">%s</a></span>' \
166 % (release_notes, plugins_release) 173 % (release_notes, plugins_release)
167 parents = {p.title: (p.url, p.get('parent')) for p in pages} 174 parents = {p.title: (p.url, p.get('parent')) for p in pages}
168 title = page.title 175 title = page.title
169 crumbs = hx(title) 176 crumbs = hx(title)
@@ -179,11 +186,13 @@ def breadcrumb():
179# Miscellaneous 186# Miscellaneous
180# 187#
181 188
189
182def list_kids(): 190def list_kids():
183 kids = [(p.url, p.title) for p in pages if p.get('parent') == page.title] 191 kids = [(p.url, p.title) for p in pages if p.get('parent') == page.title]
184 for kid in sorted(kids): 192 for kid in sorted(kids):
185 print('* [%s](%s)' % (kid[1], kid[0])) 193 print('* [%s](%s)' % (kid[1], kid[0]))
186 194
195
187def copyright_years(since=None): 196def copyright_years(since=None):
188 this_year = time.gmtime().tm_year 197 this_year = time.gmtime().tm_year
189 if since is not None and int(since) != this_year: 198 if since is not None and int(since) != this_year: