Basic release notes support (#2282).
[dcpomatic.git] / src / lib / release_notes.cc
1 /*
2     Copyright (C) 2022 Carl Hetherington <cth@carlh.net>
3
4     This file is part of DCP-o-matic.
5
6     DCP-o-matic is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation; either version 2 of the License, or
9     (at your option) any later version.
10
11     DCP-o-matic is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with DCP-o-matic.  If not, see <http://www.gnu.org/licenses/>.
18
19 */
20
21
22 #include "config.h"
23 #include "release_notes.h"
24 #include "version.h"
25
26 #include "i18n.h"
27
28
29 using std::string;
30 using boost::optional;
31
32
33 optional<string>
34 find_release_notes()
35 {
36         auto last = Config::instance()->last_release_notes_version();
37         auto current = string(dcpomatic_version);
38         if (last && *last == current) {
39                 return {};
40         }
41
42         Config::instance()->set_last_release_notes_version(current);
43
44         const string header = String::compose("<h1>DCP-o-matic %1 release notes</h1>", current);
45
46         if (current == "2.16.18") {
47                 return header +
48                         _("In this version there are changes to the way that subtitles are positioned.  "
49                           "Positioning should now be more correct, with respect to the standards, but you "
50                           "should check any subtitles in your project to make sure that they are placed "
51                           "where you want them.");
52         }
53
54         return {};
55 }