add nav script
[www.git] / www / psensor / NEWS.html
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
6 <meta name="viewport" content="width=device-width, initial-scale=1.0">
7 <meta name="generator" content="Asciidoctor 1.5.4">
8 <title>Psensor NEWS</title>
9 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
10 <style>
11 /* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
12 /* Remove comment around @import statement below when using as a custom stylesheet */
13 /*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
14 article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
15 audio,canvas,video{display:inline-block}
16 audio:not([controls]){display:none;height:0}
17 [hidden],template{display:none}
18 script{display:none!important}
19 html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
20 body{margin:0}
21 a{background:transparent}
22 a:focus{outline:thin dotted}
23 a:active,a:hover{outline:0}
24 h1{font-size:2em;margin:.67em 0}
25 abbr[title]{border-bottom:1px dotted}
26 b,strong{font-weight:bold}
27 dfn{font-style:italic}
28 hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
29 mark{background:#ff0;color:#000}
30 code,kbd,pre,samp{font-family:monospace;font-size:1em}
31 pre{white-space:pre-wrap}
32 q{quotes:"\201C" "\201D" "\2018" "\2019"}
33 small{font-size:80%}
34 sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
35 sup{top:-.5em}
36 sub{bottom:-.25em}
37 img{border:0}
38 svg:not(:root){overflow:hidden}
39 figure{margin:0}
40 fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
41 legend{border:0;padding:0}
42 button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
43 button,input{line-height:normal}
44 button,select{text-transform:none}
45 button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
46 button[disabled],html input[disabled]{cursor:default}
47 input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
48 input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
49 input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
50 button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
51 textarea{overflow:auto;vertical-align:top}
52 table{border-collapse:collapse;border-spacing:0}
53 *,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
54 html,body{font-size:100%}
55 body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
56 a:hover{cursor:pointer}
57 img,object,embed{max-width:100%;height:auto}
58 object,embed{height:100%}
59 img{-ms-interpolation-mode:bicubic}
60 .left{float:left!important}
61 .right{float:right!important}
62 .text-left{text-align:left!important}
63 .text-right{text-align:right!important}
64 .text-center{text-align:center!important}
65 .text-justify{text-align:justify!important}
66 .hide{display:none}
67 body{-webkit-font-smoothing:antialiased}
68 img,object,svg{display:inline-block;vertical-align:middle}
69 textarea{height:auto;min-height:50px}
70 select{width:100%}
71 .center{margin-left:auto;margin-right:auto}
72 .spread{width:100%}
73 p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
74 .subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
75 div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
76 a{color:#2156a5;text-decoration:underline;line-height:inherit}
77 a:hover,a:focus{color:#1d4b8f}
78 a img{border:none}
79 p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
80 p aside{font-size:.875em;line-height:1.35;font-style:italic}
81 h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
82 h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
83 h1{font-size:2.125em}
84 h2{font-size:1.6875em}
85 h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
86 h4,h5{font-size:1.125em}
87 h6{font-size:1em}
88 hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
89 em,i{font-style:italic;line-height:inherit}
90 strong,b{font-weight:bold;line-height:inherit}
91 small{font-size:60%;line-height:inherit}
92 code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
93 ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
94 ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
95 ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
96 ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
97 ul.square{list-style-type:square}
98 ul.circle{list-style-type:circle}
99 ul.disc{list-style-type:disc}
100 ul.no-bullet{list-style:none}
101 ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
102 dl dt{margin-bottom:.3125em;font-weight:bold}
103 dl dd{margin-bottom:1.25em}
104 abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
105 abbr{text-transform:none}
106 blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
107 blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
108 blockquote cite:before{content:"\2014 \0020"}
109 blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
110 blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
111 @media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
112 h1{font-size:2.75em}
113 h2{font-size:2.3125em}
114 h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
115 h4{font-size:1.4375em}}
116 table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
117 table thead,table tfoot{background:#f7f8f7;font-weight:bold}
118 table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
119 table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
120 table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
121 table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
122 body{tab-size:4}
123 h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
124 h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
125 .clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
126 .clearfix:after,.float-group:after{clear:both}
127 *:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
128 pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
129 .keyseq{color:rgba(51,51,51,.8)}
130 kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
131 .keyseq kbd:first-child{margin-left:0}
132 .keyseq kbd:last-child{margin-right:0}
133 .menuseq,.menu{color:rgba(0,0,0,.8)}
134 b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
135 b.button:before{content:"[";padding:0 3px 0 2px}
136 b.button:after{content:"]";padding:0 2px 0 3px}
137 p a>code:hover{color:rgba(0,0,0,.9)}
138 #header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
139 #header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
140 #header:after,#content:after,#footnotes:after,#footer:after{clear:both}
141 #content{margin-top:1.25em}
142 #content:before{content:none}
143 #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
144 #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
145 #header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
146 #header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
147 #header .details span:first-child{margin-left:-.125em}
148 #header .details span.email a{color:rgba(0,0,0,.85)}
149 #header .details br{display:none}
150 #header .details br+span:before{content:"\00a0\2013\00a0"}
151 #header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
152 #header .details br+span#revremark:before{content:"\00a0|\00a0"}
153 #header #revnumber{text-transform:capitalize}
154 #header #revnumber:after{content:"\00a0"}
155 #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
156 #toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
157 #toc>ul{margin-left:.125em}
158 #toc ul.sectlevel0>li>a{font-style:italic}
159 #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
160 #toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
161 #toc li{line-height:1.3334;margin-top:.3334em}
162 #toc a{text-decoration:none}
163 #toc a:active{text-decoration:underline}
164 #toctitle{color:#7a2518;font-size:1.2em}
165 @media only screen and (min-width:768px){#toctitle{font-size:1.375em}
166 body.toc2{padding-left:15em;padding-right:0}
167 #toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
168 #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
169 #toc.toc2>ul{font-size:.9em;margin-bottom:0}
170 #toc.toc2 ul ul{margin-left:0;padding-left:1em}
171 #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
172 body.toc2.toc-right{padding-left:0;padding-right:15em}
173 body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
174 @media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
175 #toc.toc2{width:20em}
176 #toc.toc2 #toctitle{font-size:1.375em}
177 #toc.toc2>ul{font-size:.95em}
178 #toc.toc2 ul ul{padding-left:1.25em}
179 body.toc2.toc-right{padding-left:0;padding-right:20em}}
180 #content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
181 #content #toc>:first-child{margin-top:0}
182 #content #toc>:last-child{margin-bottom:0}
183 #footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
184 #footer-text{color:rgba(255,255,255,.8);line-height:1.44}
185 .sect1{padding-bottom:.625em}
186 @media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
187 .sect1+.sect1{border-top:1px solid #efefed}
188 #content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
189 #content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
190 #content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
191 #content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
192 #content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
193 .audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
194 .admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
195 table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
196 .paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
197 table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
198 .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
199 .admonitionblock>table td.icon{text-align:center;width:80px}
200 .admonitionblock>table td.icon img{max-width:none}
201 .admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
202 .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
203 .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
204 .exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
205 .exampleblock>.content>:first-child{margin-top:0}
206 .exampleblock>.content>:last-child{margin-bottom:0}
207 .sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
208 .sidebarblock>:first-child{margin-top:0}
209 .sidebarblock>:last-child{margin-bottom:0}
210 .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
211 .exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
212 .literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
213 .sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
214 .literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
215 .literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
216 @media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
217 @media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
218 .literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
219 .listingblock pre.highlightjs{padding:0}
220 .listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
221 .listingblock pre.prettyprint{border-width:0}
222 .listingblock>.content{position:relative}
223 .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
224 .listingblock:hover code[data-lang]:before{display:block}
225 .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
226 .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
227 table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
228 table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
229 table.pyhltable td.code{padding-left:.75em;padding-right:0}
230 pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
231 pre.pygments .lineno{display:inline-block;margin-right:.25em}
232 table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
233 .quoteblock{margin:0 1em 1.25em 1.5em;display:table}
234 .quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
235 .quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
236 .quoteblock blockquote{margin:0;padding:0;border:0}
237 .quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
238 .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
239 .quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
240 .quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
241 .quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
242 .quoteblock .quoteblock blockquote:before{display:none}
243 .verseblock{margin:0 1em 1.25em 1em}
244 .verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
245 .verseblock pre strong{font-weight:400}
246 .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
247 .quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
248 .quoteblock .attribution br,.verseblock .attribution br{display:none}
249 .quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
250 .quoteblock.abstract{margin:0 0 1.25em 0;display:block}
251 .quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
252 .quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
253 table.tableblock{max-width:100%;border-collapse:separate}
254 table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
255 table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
256 table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
257 table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
258 table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
259 table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
260 table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
261 table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
262 table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
263 table.frame-all{border-width:1px}
264 table.frame-sides{border-width:0 1px}
265 table.frame-topbot{border-width:1px 0}
266 th.halign-left,td.halign-left{text-align:left}
267 th.halign-right,td.halign-right{text-align:right}
268 th.halign-center,td.halign-center{text-align:center}
269 th.valign-top,td.valign-top{vertical-align:top}
270 th.valign-bottom,td.valign-bottom{vertical-align:bottom}
271 th.valign-middle,td.valign-middle{vertical-align:middle}
272 table thead th,table tfoot th{font-weight:bold}
273 tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
274 tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
275 p.tableblock>code:only-child{background:none;padding:0}
276 p.tableblock{font-size:1em}
277 td>div.verse{white-space:pre}
278 ol{margin-left:1.75em}
279 ul li ol{margin-left:1.5em}
280 dl dd{margin-left:1.125em}
281 dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
282 ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
283 ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
284 ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
285 ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
286 ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
287 ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
288 ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
289 ul.inline>li>*{display:block}
290 .unstyled dl dt{font-weight:400;font-style:normal}
291 ol.arabic{list-style-type:decimal}
292 ol.decimal{list-style-type:decimal-leading-zero}
293 ol.loweralpha{list-style-type:lower-alpha}
294 ol.upperalpha{list-style-type:upper-alpha}
295 ol.lowerroman{list-style-type:lower-roman}
296 ol.upperroman{list-style-type:upper-roman}
297 ol.lowergreek{list-style-type:lower-greek}
298 .hdlist>table,.colist>table{border:0;background:none}
299 .hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
300 td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
301 td.hdlist1{font-weight:bold;padding-bottom:1.25em}
302 .literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
303 .colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
304 .colist>table tr>td:last-of-type{padding:.25em 0}
305 .thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
306 .imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
307 .imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
308 .imageblock>.title{margin-bottom:0}
309 .imageblock.thumb,.imageblock.th{border-width:6px}
310 .imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
311 .image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
312 .image.left{margin-right:.625em}
313 .image.right{margin-left:.625em}
314 a.image{text-decoration:none;display:inline-block}
315 a.image object{pointer-events:none}
316 sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
317 sup.footnote a,sup.footnoteref a{text-decoration:none}
318 sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
319 #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
320 #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
321 #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
322 #footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
323 #footnotes .footnote:last-of-type{margin-bottom:0}
324 #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
325 .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
326 .gist .file-data>table td.line-data{width:99%}
327 div.unbreakable{page-break-inside:avoid}
328 .big{font-size:larger}
329 .small{font-size:smaller}
330 .underline{text-decoration:underline}
331 .overline{text-decoration:overline}
332 .line-through{text-decoration:line-through}
333 .aqua{color:#00bfbf}
334 .aqua-background{background-color:#00fafa}
335 .black{color:#000}
336 .black-background{background-color:#000}
337 .blue{color:#0000bf}
338 .blue-background{background-color:#0000fa}
339 .fuchsia{color:#bf00bf}
340 .fuchsia-background{background-color:#fa00fa}
341 .gray{color:#606060}
342 .gray-background{background-color:#7d7d7d}
343 .green{color:#006000}
344 .green-background{background-color:#007d00}
345 .lime{color:#00bf00}
346 .lime-background{background-color:#00fa00}
347 .maroon{color:#600000}
348 .maroon-background{background-color:#7d0000}
349 .navy{color:#000060}
350 .navy-background{background-color:#00007d}
351 .olive{color:#606000}
352 .olive-background{background-color:#7d7d00}
353 .purple{color:#600060}
354 .purple-background{background-color:#7d007d}
355 .red{color:#bf0000}
356 .red-background{background-color:#fa0000}
357 .silver{color:#909090}
358 .silver-background{background-color:#bcbcbc}
359 .teal{color:#006060}
360 .teal-background{background-color:#007d7d}
361 .white{color:#bfbfbf}
362 .white-background{background-color:#fafafa}
363 .yellow{color:#bfbf00}
364 .yellow-background{background-color:#fafa00}
365 span.icon>.fa{cursor:default}
366 .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
367 .admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
368 .admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
369 .admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
370 .admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
371 .admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
372 .conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
373 .conum[data-value] *{color:#fff!important}
374 .conum[data-value]+b{display:none}
375 .conum[data-value]:after{content:attr(data-value)}
376 pre .conum[data-value]{position:relative;top:-.125em}
377 b.conum *{color:inherit!important}
378 .conum:not([data-value]):empty{display:none}
379 dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
380 h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
381 p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
382 p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
383 p{margin-bottom:1.25rem}
384 .sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
385 .exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
386 .print-only{display:none!important}
387 @media print{@page{margin:1.25cm .75cm}
388 *{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
389 a{color:inherit!important;text-decoration:underline!important}
390 a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
391 a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
392 abbr[title]:after{content:" (" attr(title) ")"}
393 pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
394 thead{display:table-header-group}
395 svg{max-width:100%}
396 p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
397 h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
398 #toc,.sidebarblock,.exampleblock>.content{background:none!important}
399 #toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
400 .sect1{padding-bottom:0!important}
401 .sect1+.sect1{border:0!important}
402 #header>h1:first-child{margin-top:1.25rem}
403 body.book #header{text-align:center}
404 body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
405 body.book #header .details{border:0!important;display:block;padding:0!important}
406 body.book #header .details span:first-child{margin-left:0!important}
407 body.book #header .details br{display:block}
408 body.book #header .details br+span:before{content:none!important}
409 body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
410 body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
411 .listingblock code[data-lang]:before{display:block}
412 #footer{background:none!important;padding:0 .9375em}
413 #footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
414 .hide-on-print{display:none!important}
415 .print-only{display:block!important}
416 .hide-for-print{display:none!important}
417 .show-for-print{display:inherit!important}}
418 </style>
419 </head>
420 <body class="article">
421 <div id="header">
422 <h1>Psensor NEWS</h1>
423 </div>
424 <div id="content">
425 <div class="sect1">
426 <h2 id="_v1_2_0">v1.2.0</h2>
427 <div class="sectionbody">
428 <div class="ulist">
429 <ul>
430 <li>
431 <p>Added tooltip explaining why a setting is not available.</p>
432 </li>
433 <li>
434 <p>Removed support of old AppIndicator library &lt; 3.0.</p>
435 </li>
436 <li>
437 <p>Fixed memory leaks in appindicator support when sensor preferences
438 are changed.</p>
439 </li>
440 <li>
441 <p>Changes of sensors preferences are applied immediately.</p>
442 </li>
443 <li>
444 <p>Avoid multiple sensor preferences dialog at the same time.</p>
445 </li>
446 <li>
447 <p>Support max/min sensor information from providers.</p>
448 </li>
449 <li>
450 <p>Fixed string not translatable. (Closes: #138076).</p>
451 </li>
452 <li>
453 <p>Added a default high threshold for temperature.</p>
454 </li>
455 <li>
456 <p>Made help2man optional.</p>
457 </li>
458 <li>
459 <p>New dconf settings <code>default-high-threshold-temperature</code>,
460 and <code>default-sensor-alarm-enabled</code>.</p>
461 </li>
462 <li>
463 <p>Fixed memory leaks due to glib GError.</p>
464 </li>
465 </ul>
466 </div>
467 </div>
468 </div>
469 <div class="sect1">
470 <h2 id="_v1_1_5">v1.1.5</h2>
471 <div class="sectionbody">
472 <div class="ulist">
473 <ul>
474 <li>
475 <p>Fixed CPU overuse. (LP: 1582930)</p>
476 </li>
477 </ul>
478 </div>
479 </div>
480 </div>
481 <div class="sect1">
482 <h2 id="_v1_1_4">v1.1.4</h2>
483 <div class="sectionbody">
484 <div class="ulist">
485 <ul>
486 <li>
487 <p>psensor-server: avoid to retrieve files which are not under the
488 webserver directory.</p>
489 </li>
490 <li>
491 <p>Fixed compilation failure due to MHD_create_response_from_buffer
492 which has been deprecated</p>
493 </li>
494 </ul>
495 </div>
496 </div>
497 </div>
498 <div class="sect1">
499 <h2 id="_v1_1_3">v1.1.3</h2>
500 <div class="sectionbody">
501 <div class="ulist">
502 <ul>
503 <li>
504 <p>Fixed compilation issue with gtk+3.14 due to deprecation
505 of GtkStatusIcon. (Closes: #763257).</p>
506 </li>
507 </ul>
508 </div>
509 </div>
510 </div>
511 <div class="sect1">
512 <h2 id="_v1_1_2">v1.1.2</h2>
513 <div class="sectionbody">
514 <div class="ulist">
515 <ul>
516 <li>
517 <p>Fixed missing description in psensor manpage.</p>
518 </li>
519 <li>
520 <p>All mouse buttons can be used to raise color settings in the list of
521 sensors.</p>
522 </li>
523 <li>
524 <p>All mouse buttons can be used to popup menu in the list of sensors.</p>
525 </li>
526 <li>
527 <p>List of sensors UI defined in glade file instead of code.</p>
528 </li>
529 <li>
530 <p>Fixed graph enabled setting not saved when toggle in the list of
531 sensors.</p>
532 </li>
533 <li>
534 <p>Added NVidia GPU graphics, memory, PCIe and video usage.</p>
535 </li>
536 <li>
537 <p>Fixed message when the configuration file is missing.</p>
538 </li>
539 <li>
540 <p>Added NVidia fan support.</p>
541 </li>
542 <li>
543 <p>Added <em>Hide</em> menu item in the contextual menu of the list of
544 sensors.</p>
545 </li>
546 <li>
547 <p>Added free memory support.</p>
548 </li>
549 <li>
550 <p>Added alarm support of sensors expressed as percent.</p>
551 </li>
552 <li>
553 <p>Smoother curves (using Bezier algo).</p>
554 </li>
555 <li>
556 <p>Added translator credits in the about dialog.</p>
557 </li>
558 <li>
559 <p>Added Croatian translation from LP (gogo).</p>
560 </li>
561 <li>
562 <p>Merged all translations from LP.</p>
563 </li>
564 <li>
565 <p>Included the full list of contributors from LP, available throw the
566 about dialog.</p>
567 </li>
568 <li>
569 <p>Support of disk temperature using udisks2.</p>
570 </li>
571 <li>
572 <p>Fixed small UI layout/padding issues.</p>
573 </li>
574 <li>
575 <p>Splitted sensor preferences using a tab panel.</p>
576 </li>
577 <li>
578 <p>New preferences to enable/disable each sensor provider.</p>
579 </li>
580 <li>
581 <p>psensor: removed option <code>--use-libatasmart</code>.</p>
582 </li>
583 <li>
584 <p>Changed default color for the curves (copied from the default
585 colors of the gtk color chooser widget).</p>
586 </li>
587 </ul>
588 </div>
589 </div>
590 </div>
591 <div class="sect1">
592 <h2 id="_v1_1_1">v1.1.1</h2>
593 <div class="sectionbody">
594 <div class="ulist">
595 <ul>
596 <li>
597 <p>Sensor properties stored in <code>$HOME/.psensor/psensor.cfg</code> instead of
598 GConf.</p>
599 </li>
600 <li>
601 <p>psensor settings stored with dconf, removed dependency to gconf2.</p>
602 </li>
603 <li>
604 <p>Fixed check of sensors/error.h.</p>
605 </li>
606 <li>
607 <p>Made asciidoc optional.</p>
608 </li>
609 <li>
610 <p>Hide/show sensors in the main window.</p>
611 </li>
612 <li>
613 <p>Added TODO in the source tarball.</p>
614 </li>
615 <li>
616 <p>Merged Hungarian translation from LP (Richard Somlói).</p>
617 </li>
618 <li>
619 <p>Merged Italian translation from LP (Gabriele).</p>
620 </li>
621 <li>
622 <p>Merged Latvian translation from LP (tuxmaniack).</p>
623 </li>
624 <li>
625 <p>Merged Swedish translation from LP (Josef Andersson).</p>
626 </li>
627 <li>
628 <p>Meged Turkish translation from LP (Ä°brahim Ã‡elik).</p>
629 </li>
630 </ul>
631 </div>
632 </div>
633 </div>
634 <div class="sect1">
635 <h2 id="_v1_0_4">v1.0.4</h2>
636 <div class="sectionbody">
637 <div class="ulist">
638 <ul>
639 <li>
640 <p>Fixed menu separators of the appindicator.</p>
641 </li>
642 </ul>
643 </div>
644 </div>
645 </div>
646 <div class="sect1">
647 <h2 id="_v1_0_3">v1.0.3</h2>
648 <div class="sectionbody">
649 <div class="ulist">
650 <ul>
651 <li>
652 <p>Fixed bug: psensor not autostarted when $HOME/.config/autostart does
653 not exist.</p>
654 </li>
655 <li>
656 <p>Fixed few swedish translations (Josef Andersson).</p>
657 </li>
658 <li>
659 <p>Fixed psensor does not start: Attempt to unlock mutex that was not
660 locked during startup with glib 2.41.2. (LP: #1346299).</p>
661 </li>
662 <li>
663 <p>Fixed FTBFS with clang instead of gcc. (Closes: #753061).</p>
664 </li>
665 <li>
666 <p>Fixed notification script call (wrong allocation of command string).</p>
667 </li>
668 </ul>
669 </div>
670 </div>
671 </div>
672 <div class="sect1">
673 <h2 id="_v1_0_2">v1.0.2</h2>
674 <div class="sectionbody">
675 <div class="ulist">
676 <ul>
677 <li>
678 <p><code>psensor-server</code>:</p>
679 <div class="ulist">
680 <ul>
681 <li>
682 <p>Fixed file descriptor leaks.</p>
683 </li>
684 </ul>
685 </div>
686 </li>
687 </ul>
688 </div>
689 </div>
690 </div>
691 <div class="sect1">
692 <h2 id="_v1_0_1">v1.0.1</h2>
693 <div class="sectionbody">
694 <div class="ulist">
695 <ul>
696 <li>
697 <p>Smaller and more consistent with ubuntu themes appindicator icons.</p>
698 </li>
699 <li>
700 <p>Sensors displayed directly in the top bar (experimental).</p>
701 </li>
702 <li>
703 <p>Improved status icon in hicolor theme to fit well with white
704 background. (LP: #1310323).</p>
705 </li>
706 <li>
707 <p>Psensor not autostarted by default.</p>
708 </li>
709 <li>
710 <p>Added a setting to launch psensor on session startup. (Closes:
711 #728754)</p>
712 </li>
713 <li>
714 <p>Fixed minor GUI bugs (widget alignments, padding, layout policy,
715 etc).</p>
716 </li>
717 <li>
718 <p>Fixed missing translatable strings.</p>
719 </li>
720 <li>
721 <p>Fixed FTBFS due to deprecation of json_object_object_get. (Closes:
722 #746145)</p>
723 </li>
724 <li>
725 <p>Fixed typo (Celcius/Celsius).</p>
726 </li>
727 <li>
728 <p>Merged german translation from LP.</p>
729 </li>
730 <li>
731 <p>Merged turkish translation from LP (Ä°brahim Ã‡elik).</p>
732 </li>
733 <li>
734 <p>Merged chinese translation from LP.</p>
735 </li>
736 <li>
737 <p>Merged hungarian translation from LP.</p>
738 </li>
739 <li>
740 <p>Merged russian translation from LP (Dmitry Serov).</p>
741 </li>
742 <li>
743 <p>Added support of swedish translation (Josef Andersson).</p>
744 </li>
745 <li>
746 <p>Fixed NVIDIA strings.</p>
747 </li>
748 <li>
749 <p>Fixed default sensor color which was always black.</p>
750 </li>
751 <li>
752 <p>Fixed compilation on ppc64. (Closes: #749110)</p>
753 </li>
754 </ul>
755 </div>
756 </div>
757 </div>
758 <div class="sect1">
759 <h2 id="_v0_8_0_6">v0.8.0.6</h2>
760 <div class="sectionbody">
761 <div class="ulist">
762 <ul>
763 <li>
764 <p>Updated jquery and jqplot to last version.</p>
765 </li>
766 <li>
767 <p>Removed excanvas for copyright reason (apache license not compatible
768 with GPLv2 license).</p>
769 </li>
770 <li>
771 <p>Use non-minimized version of .js and .css to avoid lintian errors
772 (source-is-missing).</p>
773 </li>
774 </ul>
775 </div>
776 </div>
777 </div>
778 <div class="sect1">
779 <h2 id="_v0_8_0_5">v0.8.0.5</h2>
780 <div class="sectionbody">
781 <div class="ulist">
782 <ul>
783 <li>
784 <p>Added NEWS.html.</p>
785 </li>
786 <li>
787 <p>Converted NEWS file to asciidoc.</p>
788 </li>
789 <li>
790 <p><code>psensor-server</code>:</p>
791 <div class="ulist">
792 <ul>
793 <li>
794 <p>removed web fonts causing lintian warnings.</p>
795 </li>
796 <li>
797 <p>redesigned web pages.</p>
798 </li>
799 </ul>
800 </div>
801 </li>
802 <li>
803 <p>Merged German translation from LP (Dennis Baudys).</p>
804 </li>
805 <li>
806 <p>Merged Latvian translation from LP (tuxmaniack).</p>
807 </li>
808 <li>
809 <p>Merged Russian translation from LP (Dmitry).</p>
810 </li>
811 <li>
812 <p>Merged Turkish translation from LP (Ä°brahim Ã‡elik).</p>
813 </li>
814 <li>
815 <p>Added Dutch translation from LP (Pjotr12345).</p>
816 </li>
817 <li>
818 <p>Fixed some french translations.</p>
819 </li>
820 <li>
821 <p>AppIndicator icons: removed shadow, added padding. (LP: #1290072).</p>
822 </li>
823 <li>
824 <p>Fixed compilation issue with gtk3.10 and deprecation of
825 GtkActionEntry. Menu is defined in glade file instead of
826 hardcoded. (LP: #1304108).</p>
827 </li>
828 </ul>
829 </div>
830 </div>
831 </div>
832 <div class="sect1">
833 <h2 id="_v0_8_0_4">v0.8.0.4</h2>
834 <div class="sectionbody">
835 <div class="ulist">
836 <ul>
837 <li>
838 <p>Added calling script when an alarm is raised.</p>
839 </li>
840 <li>
841 <p>Reordering of the list of sensors.</p>
842 </li>
843 <li>
844 <p>Added keywords in .desktop file.</p>
845 </li>
846 <li>
847 <p>Added LFS support.</p>
848 </li>
849 <li>
850 <p>Fixed compilation issue for x32 architecture on 64bits systems.</p>
851 </li>
852 <li>
853 <p>Merged German translation from LP (Dennis Baudys).</p>
854 </li>
855 <li>
856 <p>Merged Spanish translation from LP (Javier).</p>
857 </li>
858 <li>
859 <p>Merged French translation from LP (londumas).</p>
860 </li>
861 <li>
862 <p>Merged Brazilian translation from LP (Celio Alves).</p>
863 </li>
864 </ul>
865 </div>
866 </div>
867 </div>
868 <div class="sect1">
869 <h2 id="_v0_8_0_3">v0.8.0.3</h2>
870 <div class="sectionbody">
871 <div class="ulist">
872 <ul>
873 <li>
874 <p>Switched to GtkColorChooserDialog instead of the
875 deprecated widget GtkColorSelectionDialog. (LP: #1184442)</p>
876 </li>
877 <li>
878 <p><code>psensor-server</code>: fixed compilation without gtop2 lib.</p>
879 </li>
880 </ul>
881 </div>
882 </div>
883 </div>
884 <div class="sect1">
885 <h2 id="_v0_8_0_2">v0.8.0.2</h2>
886 <div class="sectionbody">
887 <div class="ulist">
888 <ul>
889 <li>
890 <p>GConf2/GTK/XEXT/X11 lib optional to allow psensor-server
891 compilation without them.</p>
892 </li>
893 <li>
894 <p>Added support of libjson-c.</p>
895 </li>
896 <li>
897 <p>merged German translation from LP (Dennis Baudys).</p>
898 </li>
899 <li>
900 <p>merged Latvian translation from LP (tuxmaniack).</p>
901 </li>
902 </ul>
903 </div>
904 </div>
905 </div>
906 <div class="sect1">
907 <h2 id="_v0_8_0_1">v0.8.0.1</h2>
908 <div class="sectionbody">
909 <div class="ulist">
910 <ul>
911 <li>
912 <p>added AMD GPU usage sensor (Contribution from MestreLion).</p>
913 </li>
914 <li>
915 <p>added support of sensors log interval.</p>
916 </li>
917 <li>
918 <p><code>psensor-server</code>: protocole changes, API version incremented.</p>
919 </li>
920 <li>
921 <p>fixed cpu load when fahrenheit is enabled.</p>
922 </li>
923 <li>
924 <p>list of sensors can be reordered using the sensor preferences
925 dialog.</p>
926 </li>
927 <li>
928 <p>merged Spanish translation from LP (Javier) and Tomeu R. .</p>
929 </li>
930 <li>
931 <p>merged French translation from LP (Hélion du Mas des Bourboux).</p>
932 </li>
933 <li>
934 <p>merged Italian translation from LP (Diego Pierotto).</p>
935 </li>
936 <li>
937 <p>merged Brazillian Portugues translation from LP (MestreLion).</p>
938 </li>
939 <li>
940 <p>fixed the quit menu of the application indicator which was
941 not translatable.</p>
942 </li>
943 </ul>
944 </div>
945 </div>
946 </div>
947 <div class="sect1">
948 <h2 id="_v07_0_5">v07.0.5</h2>
949 <div class="sectionbody">
950 <div class="ulist">
951 <ul>
952 <li>
953 <p>fixed cpu load when fahrenheit is enabled.</p>
954 </li>
955 </ul>
956 </div>
957 </div>
958 </div>
959 <div class="sect1">
960 <h2 id="_v0_7_0_4">v0.7.0.4</h2>
961 <div class="sectionbody">
962 <div class="ulist">
963 <ul>
964 <li>
965 <p>added Spanish translation from LP (Javier and Eduardo Alberto
966 Calvo).</p>
967 </li>
968 <li>
969 <p>merged German translation from LP (Dennis Baudys).</p>
970 </li>
971 <li>
972 <p>merged French translation from LP (Alain-OIivier Breysse).</p>
973 </li>
974 <li>
975 <p>merged Hungarian from translation LP (Bence Lukács).</p>
976 </li>
977 <li>
978 <p>merged Latvian translation from LP (tuxmaniack).</p>
979 </li>
980 <li>
981 <p>merged Portuguese translation from LP (Daniel Serafim).</p>
982 </li>
983 <li>
984 <p>merged Russian translation from LP (Ilya Volchanetskiy).</p>
985 </li>
986 <li>
987 <p>merged Ukrainian translation from LP (Ilya Volchanetskiy).</p>
988 </li>
989 <li>
990 <p>merged Chinese translation from LP (Wang Dianjin).</p>
991 </li>
992 <li>
993 <p>psensor: fixed <em>appindicator enabled</em> option not working correctly
994 for cpu usage. The option was inversed each time it is displayed in
995 the preference dialog.</p>
996 </li>
997 <li>
998 <p>psensor: added an option to enable logging of sensors
999 ($HOME/.psensor/sensors.log).</p>
1000 </li>
1001 <li>
1002 <p><code>psensor-server</code>: added sensors logging (--sensor-log-file).</p>
1003 </li>
1004 <li>
1005 <p>psensor: display the name of chip in sensor preferences.</p>
1006 </li>
1007 <li>
1008 <p>psensor: moved the sensor id into a expendable frame of the sensor
1009 preferences.</p>
1010 </li>
1011 <li>
1012 <p>test target is now running cppcheck if available.</p>
1013 </li>
1014 <li>
1015 <p>fixed cppcheck reported errors (realloc and not freed var).</p>
1016 </li>
1017 <li>
1018 <p>fixed cppcheck (old values not used).</p>
1019 </li>
1020 <li>
1021 <p>added faq (requires asciidoc to build the html version).</p>
1022 </li>
1023 <li>
1024 <p>check target is now running cppcheck if installed.</p>
1025 </li>
1026 <li>
1027 <p>display a message if no graphs are enabled (Closes #689355).</p>
1028 </li>
1029 <li>
1030 <p>psensor: when <em>hide window on startup</em> is set, it will
1031 hide the window only if psensor can register to application
1032 indicator or systray. Waiting 30s before trying to do it
1033 in order to have better chance that systray is running during
1034 session startup.</p>
1035 </li>
1036 <li>
1037 <p>fixed displaying of the fahrenheit temperature in the main
1038 window.</p>
1039 </li>
1040 <li>
1041 <p>fixed compilation error in amd.c (hdll not used).</p>
1042 </li>
1043 </ul>
1044 </div>
1045 </div>
1046 </div>
1047 <div class="sect1">
1048 <h2 id="_v0_7_0_3">v0.7.0.3</h2>
1049 <div class="sectionbody">
1050 <div class="ulist">
1051 <ul>
1052 <li>
1053 <p>psensor: removed gettext_domain in psensor.schemas causing
1054 warnings.</p>
1055 </li>
1056 <li>
1057 <p>merged italian and russian translation from LP.</p>
1058 </li>
1059 </ul>
1060 </div>
1061 </div>
1062 </div>
1063 <div class="sect1">
1064 <h2 id="_v0_7_0_2">v0.7.0.2</h2>
1065 <div class="sectionbody">
1066 <div class="ulist">
1067 <ul>
1068 <li>
1069 <p>psensor: added latvian translation file.</p>
1070 </li>
1071 <li>
1072 <p>psensor: added gconf schema. (LP: #1026807)</p>
1073 </li>
1074 <li>
1075 <p>psensor: hide sensors in the application indicator.</p>
1076 </li>
1077 <li>
1078 <p>psensor: removed hicolor/48x48/psensor_hot.png. (LP: #1029065)</p>
1079 </li>
1080 <li>
1081 <p>merge chinese translation from LP.</p>
1082 </li>
1083 </ul>
1084 </div>
1085 </div>
1086 </div>
1087 <div class="sect1">
1088 <h2 id="_v0_7_0_1">v0.7.0.1</h2>
1089 <div class="sectionbody">
1090 <div class="ulist">
1091 <ul>
1092 <li>
1093 <p>psensor: minimum GTK version is now 3.0, GTK v2.x is no more
1094 supported.</p>
1095 </li>
1096 <li>
1097 <p>psensor: fixed sensor type displayed in sensor preferences
1098 dialog. (Closes LP: #968912)</p>
1099 </li>
1100 <li>
1101 <p>psensor: not calling g_thread_init when compiled with glib &gt;= 2.31.</p>
1102 </li>
1103 <li>
1104 <p>psensor: added basic instruction in the README for compiling psensor
1105 with the ATI/AMD GPU support.</p>
1106 </li>
1107 <li>
1108 <p>psensor: fixed compilation error on 64bits with ATI/AMD GPU support.</p>
1109 </li>
1110 <li>
1111 <p>psensor: added capability to use libatasmart for sata disk monitoring.</p>
1112 </li>
1113 <li>
1114 <p>psensor: added option --use-libatasmart.</p>
1115 </li>
1116 <li>
1117 <p>changed copyright dates to 2012.</p>
1118 </li>
1119 <li>
1120 <p>psensor: fixed systray and application indicator visible at the
1121 same time. (Closes LP: #971098)</p>
1122 </li>
1123 <li>
1124 <p>psensor: fixed wrong background color, get the background color of
1125 the window and not the canvas widget. (Closes LP: #973122)</p>
1126 </li>
1127 <li>
1128 <p>psensor: used the foreground color defined by the theme for the
1129 font of the graph legend.</p>
1130 </li>
1131 <li>
1132 <p>psensor: used tab layout for psensor preferences.</p>
1133 </li>
1134 <li>
1135 <p>psensor: temperature unit choice (celsius/fahrenheit).</p>
1136 </li>
1137 <li>
1138 <p><code>psensor-server</code>: fixed --wdir option.</p>
1139 </li>
1140 <li>
1141 <p><code>psensor-server</code>: added log level to -d option.</p>
1142 </li>
1143 <li>
1144 <p><code>psensor-server</code>: added --log-file option.</p>
1145 </li>
1146 <li>
1147 <p><code>psensor-server</code>: logged measures when log level is 3.</p>
1148 </li>
1149 <li>
1150 <p>psensor: fixed many memory leaks in cfg.c (gconf2 keys).</p>
1151 </li>
1152 <li>
1153 <p>psensor: fixed memory leak (sensor name when specified by the
1154 configuration).</p>
1155 </li>
1156 <li>
1157 <p>psensor: implemented the psensor uniquess, non-primary psensor
1158 instances show the window of the primary psensor instance and
1159 exits.</p>
1160 </li>
1161 <li>
1162 <p>many code quality improvements.</p>
1163 </li>
1164 <li>
1165 <p>psensor: added --new-instance option to allow the creation of
1166 multiple instances of Psensor.</p>
1167 </li>
1168 <li>
1169 <p>psensor: added the degree sign before the temperature symbols
1170 (Closes LP: #1021900).</p>
1171 </li>
1172 <li>
1173 <p>psensor: alarm limit edition using the temperature unit set in the
1174 global pref.</p>
1175 </li>
1176 <li>
1177 <p>psensor: improved notification (added psensor icon and value of the
1178 sensor).</p>
1179 </li>
1180 <li>
1181 <p>full french and hungarian translation.</p>
1182 </li>
1183 <li>
1184 <p>merged some chinese translation provided by LP.</p>
1185 </li>
1186 <li>
1187 <p>added translation files for Brazilian Portuguese, and Italian.</p>
1188 </li>
1189 <li>
1190 <p>partial translations for Russian, Serbian, Ukrainian, Slovenian and
1191 German.</p>
1192 </li>
1193 <li>
1194 <p>psensor: fixed i18n support for the application indicator menu.</p>
1195 </li>
1196 <li>
1197 <p>psensor: fixed i18n support for the application menu.</p>
1198 </li>
1199 <li>
1200 <p>psensor: added low thresold support for alerts.</p>
1201 </li>
1202 <li>
1203 <p>psensor: added fan alert support.</p>
1204 </li>
1205 <li>
1206 <p>psensor: fixed hide window on startup for gnome-shell (Closes:
1207 #676361).</p>
1208 </li>
1209 </ul>
1210 </div>
1211 </div>
1212 </div>
1213 <div class="sect1">
1214 <h2 id="_v0_6_2_19">v0.6.2.19</h2>
1215 <div class="sectionbody">
1216 <div class="ulist">
1217 <ul>
1218 <li>
1219 <p>psensor: fixed size of the icon hicolor/48x48/psensor_hot.png.
1220 (LP: #1029065)</p>
1221 </li>
1222 </ul>
1223 </div>
1224 </div>
1225 </div>
1226 <div class="sect1">
1227 <h2 id="_v0_6_2_18">v0.6.2.18</h2>
1228 <div class="sectionbody">
1229 <div class="ulist">
1230 <ul>
1231 <li>
1232 <p>added degree sign for celsius (Closes LP: #1021900).</p>
1233 </li>
1234 <li>
1235 <p>added russian, brazilian, hungarian, serbian, slovenian,
1236 italian, ukrainian and german translation files.</p>
1237 </li>
1238 <li>
1239 <p>merged translations from LP.</p>
1240 </li>
1241 <li>
1242 <p>psensor: fixed hide window on startup for gnome-shell (Closes:
1243 #676361).</p>
1244 </li>
1245 </ul>
1246 </div>
1247 </div>
1248 </div>
1249 <div class="sect1">
1250 <h2 id="_v0_6_2_17">v0.6.2.17</h2>
1251 <div class="sectionbody">
1252 <div class="ulist">
1253 <ul>
1254 <li>
1255 <p>psensor: fixed sensor type displayed in sensor preferences
1256 dialog. (Closes LP: #968912)</p>
1257 </li>
1258 <li>
1259 <p>psensor: fixed compilation error on 64bits with ATI/AMD GPU support.</p>
1260 </li>
1261 <li>
1262 <p>psensor: not calling g_thread_init when compiled with glib &gt;= 2.31.</p>
1263 </li>
1264 <li>
1265 <p>changed copyright dates to 2012.</p>
1266 </li>
1267 </ul>
1268 </div>
1269 </div>
1270 </div>
1271 <div class="sect1">
1272 <h2 id="_v0_6_2_16">v0.6.2.16</h2>
1273 <div class="sectionbody">
1274 <div class="ulist">
1275 <ul>
1276 <li>
1277 <p>psensor: removed -pedantic and ignores deprecation warnings
1278 to fix compilation against the glib version of Ubuntu Precise.
1279 It fixes Ubuntu bug #905893.</p>
1280 </li>
1281 </ul>
1282 </div>
1283 </div>
1284 </div>
1285 <div class="sect1">
1286 <h2 id="_v0_6_2_15">v0.6.2.15</h2>
1287 <div class="sectionbody">
1288 <div class="ulist">
1289 <ul>
1290 <li>
1291 <p><code>psensor-server</code>: uses glibtop instead of <em>sysinfo</em> which is not
1292 available on kfreebsd. It fixes Debian bug #650533.</p>
1293 </li>
1294 </ul>
1295 </div>
1296 </div>
1297 </div>
1298 <div class="sect1">
1299 <h2 id="_v0_6_2_14">v0.6.2.14</h2>
1300 <div class="sectionbody">
1301 <div class="ulist">
1302 <ul>
1303 <li>
1304 <p>psensor: support of gtk&gt;=2.18</p>
1305 </li>
1306 <li>
1307 <p>psensor: inner space of the graph using the theme background color</p>
1308 </li>
1309 <li>
1310 <p><code>psensor-server</code>: fixed compilation with microhttpd &gt;=0x90200 and
1311 64bits.</p>
1312 </li>
1313 <li>
1314 <p>added some information in the README (mostly about compilation on
1315 CentOS).</p>
1316 </li>
1317 <li>
1318 <p><code>psensor-server</code>: support of symbolic links to webfiles.</p>
1319 </li>
1320 </ul>
1321 </div>
1322 </div>
1323 </div>
1324 <div class="sect1">
1325 <h2 id="_v0_6_2_13">v0.6.2.13</h2>
1326 <div class="sectionbody">
1327 <div class="ulist">
1328 <ul>
1329 <li>
1330 <p>psensor can now be compiled and run with gtk3.</p>
1331 </li>
1332 <li>
1333 <p>psensor: added gtk3 support build detection.</p>
1334 </li>
1335 <li>
1336 <p>psensor: added libappindicator3-01 (gtk3 compliant version)
1337 detection.</p>
1338 </li>
1339 <li>
1340 <p>psensor: use <em>draw</em> signal instead of <em>expose-event</em> when compiled
1341 with gtk3.</p>
1342 </li>
1343 <li>
1344 <p>psensor: fixed typo in french translation file.</p>
1345 </li>
1346 <li>
1347 <p><code>psensor-server</code>: fixed compilation with microhttpd &gt;= 0.9.2 (version
1348 used by Fedora15) which introduced incompatible API changes.</p>
1349 </li>
1350 <li>
1351 <p>psensor: fixed compilation with libnotify 0.5.2 (submitted by Lubos
1352 Stanek).</p>
1353 </li>
1354 <li>
1355 <p>psensor: added missing CPPFLAGS for Gtop (submitted by Lubos Stanek).</p>
1356 </li>
1357 <li>
1358 <p>psensor: fixed compilation with AMD/ATI GPU monitoring support
1359 (submitted by Lubos Stanek).</p>
1360 </li>
1361 <li>
1362 <p>psensor: default log level set to LOG_WARN.</p>
1363 </li>
1364 <li>
1365 <p>few code refactoring and cleanup.</p>
1366 </li>
1367 <li>
1368 <p>psensor: added support of status tray icon for DE not supporting
1369 Ubuntu Application Indicator.</p>
1370 </li>
1371 </ul>
1372 </div>
1373 </div>
1374 </div>
1375 <div class="sect1">
1376 <h2 id="_v0_6_2_12">v0.6.2.12</h2>
1377 <div class="sectionbody">
1378 <div class="ulist">
1379 <ul>
1380 <li>
1381 <p>psensor: added -d option to enable debug log (written to $HOME/.psensor/log).</p>
1382 </li>
1383 <li>
1384 <p>psensor: log sensor values in debug mode.</p>
1385 </li>
1386 <li>
1387 <p>psensor: added option to restore window position and size.</p>
1388 </li>
1389 </ul>
1390 </div>
1391 </div>
1392 </div>
1393 <div class="sect1">
1394 <h2 id="_v0_6_2_11">v0.6.2.11</h2>
1395 <div class="sectionbody">
1396 <div class="ulist">
1397 <ul>
1398 <li>
1399 <p>psensor-server/web interface: use jqplot default css.</p>
1400 </li>
1401 <li>
1402 <p>psensor-server/web interface: added excanvas for ie &lt; 9 support.</p>
1403 </li>
1404 <li>
1405 <p>psensor-server/web interface: automatic update of the monitoring page.</p>
1406 </li>
1407 <li>
1408 <p>psensor-server/web interface: improved styling and navigation.</p>
1409 </li>
1410 <li>
1411 <p>psensor-server/web interface: added graph for cpu usage.</p>
1412 </li>
1413 <li>
1414 <p>psensor-server/web interface: fixed IE8 bug (page title change not
1415 allowed).</p>
1416 </li>
1417 <li>
1418 <p>psensor-server/web interface: dynamic refresh of the graph.</p>
1419 </li>
1420 <li>
1421 <p>psensor: added appindicator monochrome icons from Christoph Buchner
1422 (bilderbuchi).</p>
1423 </li>
1424 <li>
1425 <p>psensor: added log file (~/.psensor/log).</p>
1426 </li>
1427 <li>
1428 <p>psensor: added X-GNOME-Autostart-Delay in .desktop file to
1429 workaround LP: #859724.</p>
1430 </li>
1431 </ul>
1432 </div>
1433 </div>
1434 </div>
1435 <div class="sect1">
1436 <h2 id="_v0_6_2_10">v0.6.2.10</h2>
1437 <div class="sectionbody">
1438 <div class="ulist">
1439 <ul>
1440 <li>
1441 <p><code>psensor-server</code>: added network, cpu load and memory information in
1442 JSON web interface.</p>
1443 </li>
1444 <li>
1445 <p><code>psensor-server</code>: added monitor.html and details.html using jquery
1446 and retrieving monitoring data from the JSON web interface.</p>
1447 </li>
1448 <li>
1449 <p>added experimental support for ATI/AMD gpus and fans.</p>
1450 </li>
1451 <li>
1452 <p>psensor: added support of CPU usage monitoring.</p>
1453 </li>
1454 <li>
1455 <p><code>psensor-server</code>: display graph of sensors (web server).</p>
1456 </li>
1457 <li>
1458 <p>psensor: bug fixed compilation with -Wall.</p>
1459 </li>
1460 <li>
1461 <p>psensor: bug fixed unallocated memory read during termination.</p>
1462 </li>
1463 <li>
1464 <p>psensor: fixed memleak when window not drawable.</p>
1465 </li>
1466 <li>
1467 <p>psensor: release GConfClient when quitting.</p>
1468 </li>
1469 </ul>
1470 </div>
1471 </div>
1472 </div>
1473 <div class="sect1">
1474 <h2 id="_v0_6_2_9">v0.6.2.9</h2>
1475 <div class="sectionbody">
1476 <div class="ulist">
1477 <ul>
1478 <li>
1479 <p>psensor: fixed UI freeze on Ubuntu Lucid when <em>sensor preferences</em>.
1480 is selected with application indicator.</p>
1481 </li>
1482 <li>
1483 <p>added missing src/description.txt file into source archive.</p>
1484 </li>
1485 <li>
1486 <p>psensor: appindicator displays unit of sensor values.</p>
1487 </li>
1488 <li>
1489 <p>psensor: added preference for hiding main window on startup.</p>
1490 </li>
1491 <li>
1492 <p>psensor: added <em>about</em> dialog.</p>
1493 </li>
1494 <li>
1495 <p>psensor: merged Chinese Simplified translation from royclarck</p>
1496 </li>
1497 <li>
1498 <p>psensor: autostarted by default</p>
1499 </li>
1500 <li>
1501 <p>nvidia: code cleanup</p>
1502 </li>
1503 <li>
1504 <p>nvidia: fixed init, error var not initialized</p>
1505 </li>
1506 <li>
1507 <p>nvidia: fixed nvidia_psensor_list_add, incorrect memory free</p>
1508 </li>
1509 <li>
1510 <p>psensor: when appindicator is not supported by wm:</p>
1511 <div class="ulist">
1512 <ul>
1513 <li>
1514 <p>psensor quit on window close</p>
1515 </li>
1516 <li>
1517 <p>show psensor even if hide on startup is enabled</p>
1518 </li>
1519 </ul>
1520 </div>
1521 </li>
1522 </ul>
1523 </div>
1524 </div>
1525 </div>
1526 <div class="sect1">
1527 <h2 id="_v0_6_2_8">v0.6.2.8</h2>
1528 <div class="sectionbody">
1529 <div class="ulist">
1530 <ul>
1531 <li>
1532 <p>psensor: escaped - in manpage.</p>
1533 </li>
1534 <li>
1535 <p><code>psensor-server</code>: escaped - in manpage.</p>
1536 </li>
1537 <li>
1538 <p>psensor: added support of libnotify 0.7.</p>
1539 </li>
1540 <li>
1541 <p>psensor: added turkish support.</p>
1542 </li>
1543 <li>
1544 <p>psensor: fixed multi-languages support used by glade.</p>
1545 </li>
1546 <li>
1547 <p>switched from <a href="mailto:wpitchoune@gmail.com">wpitchoune@gmail.com</a> to <a href="mailto:jeanfi@gmail.com">jeanfi@gmail.com</a> (my usual
1548 email).</p>
1549 </li>
1550 <li>
1551 <p>merged french translation from v0.6.1.8.</p>
1552 </li>
1553 <li>
1554 <p>added missing french translation.</p>
1555 </li>
1556 <li>
1557 <p>added different sizes of psensor.png .</p>
1558 </li>
1559 <li>
1560 <p>psensor: added menu.</p>
1561 </li>
1562 <li>
1563 <p>psensor: added enable/disable unity launcher counter.</p>
1564 </li>
1565 <li>
1566 <p>psensor: unity launcher counter displays the higher temperature.</p>
1567 </li>
1568 <li>
1569 <p>avoid fetching hddtemp daemon when no hdd in the sensors list.</p>
1570 </li>
1571 <li>
1572 <p>psensor: closing the window hides psensor instead of quitting when
1573 application indicator support is enabled.</p>
1574 </li>
1575 <li>
1576 <p>psensor: dialog window for editing all sensors preferences.</p>
1577 </li>
1578 <li>
1579 <p>psensor: added support of GTK3.0 (GTK2.0 still supported).</p>
1580 </li>
1581 <li>
1582 <p>psensor: fixed crash when glade files cannot be read.</p>
1583 </li>
1584 <li>
1585 <p>psensor: display sensors information in the application indicator.</p>
1586 </li>
1587 </ul>
1588 </div>
1589 </div>
1590 </div>
1591 <div class="sect1">
1592 <h2 id="_v0_6_2_7">v0.6.2.7</h2>
1593 <div class="sectionbody">
1594 <div class="ulist">
1595 <ul>
1596 <li>
1597 <p>psensor: src/glade/psensor-pref.glade, added button separator.</p>
1598 </li>
1599 <li>
1600 <p>psensor: src/glade/sensor-edit.glade, fixed horiz/vert padding.</p>
1601 </li>
1602 <li>
1603 <p>psensor: src/lib/measure.c, initialize time.</p>
1604 </li>
1605 <li>
1606 <p>psensor: fixed freeze when click on preferences appindicator with
1607 natty.</p>
1608 </li>
1609 </ul>
1610 </div>
1611 </div>
1612 </div>
1613 <div class="sect1">
1614 <h2 id="_v0_6_2_6">v0.6.2.6</h2>
1615 <div class="sectionbody">
1616 <div class="ulist">
1617 <ul>
1618 <li>
1619 <p>psensor: fixed min temp/fan of the graph</p>
1620 </li>
1621 <li>
1622 <p>psensor: very minor optimization (graph.c)</p>
1623 </li>
1624 </ul>
1625 </div>
1626 </div>
1627 </div>
1628 <div class="sect1">
1629 <h2 id="_v0_6_2_5">v0.6.2.5</h2>
1630 <div class="sectionbody">
1631 <div class="ulist">
1632 <ul>
1633 <li>
1634 <p>psensor: dialog box for editing psensor preferences is using Glade</p>
1635 </li>
1636 <li>
1637 <p>psensor: dialog box for editing sensor preferences is using Glade</p>
1638 </li>
1639 <li>
1640 <p>psensor: added support of negative temperatures (lm-sensors)</p>
1641 </li>
1642 </ul>
1643 </div>
1644 </div>
1645 </div>
1646 <div class="sect1">
1647 <h2 id="_v0_6_2_4">v0.6.2.4</h2>
1648 <div class="sectionbody">
1649 <div class="ulist">
1650 <ul>
1651 <li>
1652 <p>psensor, graph: fixed padding bugs</p>
1653 </li>
1654 <li>
1655 <p>psensor, graph: drawing code refactored</p>
1656 </li>
1657 <li>
1658 <p>psensor: the value of the first detected sensor is displayed in the
1659 unity launcher entry of psensor (requires unity &gt;=3.4.2).</p>
1660 </li>
1661 </ul>
1662 </div>
1663 </div>
1664 </div>
1665 <div class="sect1">
1666 <h2 id="_v0_6_2_3">v0.6.2.3</h2>
1667 <div class="sectionbody">
1668 <div class="ulist">
1669 <ul>
1670 <li>
1671 <p><code>psensor-server</code>: new global variable <em>psensor_version</em> for lua template</p>
1672 </li>
1673 <li>
1674 <p><code>psensor-server</code>: /index.html replaced by /index.lua</p>
1675 </li>
1676 <li>
1677 <p>avoid useless lib linkage by using --as-needed</p>
1678 </li>
1679 </ul>
1680 </div>
1681 </div>
1682 </div>
1683 <div class="sect1">
1684 <h2 id="_v0_6_2_2">v0.6.2.2</h2>
1685 <div class="sectionbody">
1686 <div class="ulist">
1687 <ul>
1688 <li>
1689 <p><code>psensor-server</code>: web server support binary files</p>
1690 </li>
1691 <li>
1692 <p><code>psensor-server</code>: added favicon.ico</p>
1693 </li>
1694 <li>
1695 <p><code>psensor-server</code>: moved index.lua to monitor.lua</p>
1696 </li>
1697 <li>
1698 <p><code>psensor-server</code>: added index.html (welcome page)</p>
1699 </li>
1700 </ul>
1701 </div>
1702 </div>
1703 </div>
1704 <div class="sect1">
1705 <h2 id="_v0_6_2_1">v0.6.2.1</h2>
1706 <div class="sectionbody">
1707 <div class="ulist">
1708 <ul>
1709 <li>
1710 <p>added uptime/memory information (psensor-server web)</p>
1711 </li>
1712 <li>
1713 <p>added debug mode for psensor-server (--debug)</p>
1714 </li>
1715 <li>
1716 <p>when used in debug mode, psensor-server can be stopped remotely
1717 using <a href="http://hostname:port/api/1.0/server/stop" class="bare">http://hostname:port/api/1.0/server/stop</a></p>
1718 </li>
1719 <li>
1720 <p>fixed memory leak (label of lmsensor)</p>
1721 </li>
1722 <li>
1723 <p>some code cleanup/refactoring</p>
1724 </li>
1725 </ul>
1726 </div>
1727 </div>
1728 </div>
1729 <div class="sect1">
1730 <h2 id="_v0_6_1_10">v0.6.1.10</h2>
1731 <div class="sectionbody">
1732 <div class="ulist">
1733 <ul>
1734 <li>
1735 <p>psensor: support of appindicator &lt; 0.2.9</p>
1736 </li>
1737 <li>
1738 <p>psensor: closing the window hides psensor instead of quitting when
1739 application indicator support is enabled.</p>
1740 </li>
1741 </ul>
1742 </div>
1743 </div>
1744 </div>
1745 <div class="sect1">
1746 <h2 id="_v0_6_1_9">v0.6.1.9</h2>
1747 <div class="sectionbody">
1748 <div class="ulist">
1749 <ul>
1750 <li>
1751 <p>avoid fetching hddtemp daemon when no hdd in the sensors list</p>
1752 </li>
1753 </ul>
1754 </div>
1755 </div>
1756 </div>
1757 <div class="sect1">
1758 <h2 id="_v0_6_1_8">v0.6.1.8</h2>
1759 <div class="sectionbody">
1760 <div class="ulist">
1761 <ul>
1762 <li>
1763 <p>psensor: added turkish language</p>
1764 </li>
1765 <li>
1766 <p>psensor: fixed freeze when click on preferences appindicator with
1767 natty.</p>
1768 </li>
1769 <li>
1770 <p>fixed typo (${X11_LIBS}) in configure.ac</p>
1771 </li>
1772 <li>
1773 <p>psensor: full french language support</p>
1774 </li>
1775 </ul>
1776 </div>
1777 </div>
1778 </div>
1779 <div class="sect1">
1780 <h2 id="_v0_6_1_7">v0.6.1.7</h2>
1781 <div class="sectionbody">
1782 <div class="ulist">
1783 <ul>
1784 <li>
1785 <p>psensor: add support of libnotify 0.7</p>
1786 </li>
1787 </ul>
1788 </div>
1789 </div>
1790 </div>
1791 <div class="sect1">
1792 <h2 id="_v0_6_1_6">v0.6.1.6</h2>
1793 <div class="sectionbody">
1794 <div class="ulist">
1795 <ul>
1796 <li>
1797 <p>psensor: escaped - in manpage</p>
1798 </li>
1799 <li>
1800 <p><code>psensor-server</code>: escaped - in manpage</p>
1801 </li>
1802 </ul>
1803 </div>
1804 </div>
1805 </div>
1806 <div class="sect1">
1807 <h2 id="_v0_6_1_5">v0.6.1.5</h2>
1808 <div class="sectionbody">
1809 <div class="ulist">
1810 <ul>
1811 <li>
1812 <p>added multi-language for hdd.c/nvidia.c/lmsensor.c</p>
1813 </li>
1814 <li>
1815 <p>some code cleanup/refactoring</p>
1816 </li>
1817 </ul>
1818 </div>
1819 </div>
1820 </div>
1821 <div class="sect1">
1822 <h2 id="_v0_6_1_4">v0.6.1.4</h2>
1823 <div class="sectionbody">
1824 <div class="ulist">
1825 <ul>
1826 <li>
1827 <p>fixed manpage formatting in <em>REPORTING BUGS</em> section</p>
1828 </li>
1829 <li>
1830 <p>improved manpages</p>
1831 </li>
1832 <li>
1833 <p>removed few useless translations (fr/zh_CN)</p>
1834 </li>
1835 <li>
1836 <p>improved error messages for remote sensors + multilanguages support</p>
1837 </li>
1838 </ul>
1839 </div>
1840 </div>
1841 </div>
1842 <div class="sect1">
1843 <h2 id="_v0_6_1_3">v0.6.1.3</h2>
1844 <div class="sectionbody">
1845 <div class="ulist">
1846 <ul>
1847 <li>
1848 <p>fixed compilation error of psensor when libcurl is present but not
1849 libjson0</p>
1850 </li>
1851 <li>
1852 <p>suppress pointer to Textinfo manual (psensor/psensor-server).</p>
1853 </li>
1854 <li>
1855 <p>added --name to help2man call (psensor/psensor-server manpages).</p>
1856 </li>
1857 <li>
1858 <p>added more information in the psensor/psensor-server manpages.</p>
1859 </li>
1860 <li>
1861 <p>added warning about psensor-server and security in README.</p>
1862 </li>
1863 </ul>
1864 </div>
1865 </div>
1866 </div>
1867 <div class="sect1">
1868 <h2 id="_v0_6_1_1">v0.6.1.1</h2>
1869 <div class="sectionbody">
1870 <div class="ulist">
1871 <ul>
1872 <li>
1873 <p>application icon is loaded using GtkIconTheme</p>
1874 </li>
1875 <li>
1876 <p>appindicator icon is now the psensor one</p>
1877 </li>
1878 <li>
1879 <p>added appindicator icon for status <em>attention</em></p>
1880 </li>
1881 </ul>
1882 </div>
1883 </div>
1884 </div>
1885 <div class="sect1">
1886 <h2 id="_v0_6_1">v0.6.1</h2>
1887 <div class="sectionbody">
1888 <div class="ulist">
1889 <ul>
1890 <li>
1891 <p>added style.css for psensor-server</p>
1892 </li>
1893 <li>
1894 <p>use some styling in index.lua</p>
1895 </li>
1896 <li>
1897 <p>fixed typo in README</p>
1898 </li>
1899 <li>
1900 <p>fixed psensor-server short option -p</p>
1901 </li>
1902 <li>
1903 <p>multi-language support for psensor-server</p>
1904 </li>
1905 <li>
1906 <p>added some translation for French language0</p>
1907 </li>
1908 <li>
1909 <p>fixed psensor-server bug: first sensor was not displayed</p>
1910 </li>
1911 </ul>
1912 </div>
1913 </div>
1914 </div>
1915 <div class="sect1">
1916 <h2 id="_v0_6_0_14">v0.6.0.14</h2>
1917 <div class="sectionbody">
1918 <div class="ulist">
1919 <ul>
1920 <li>
1921 <p>psensor (gtk client):</p>
1922 <div class="ulist">
1923 <ul>
1924 <li>
1925 <p>added global preference: graph update interval</p>
1926 </li>
1927 <li>
1928 <p>added global preference: graph monitoring duration</p>
1929 </li>
1930 <li>
1931 <p>added global preference: sensor update interval</p>
1932 </li>
1933 <li>
1934 <p>standard gnu command line interface for psensor</p>
1935 </li>
1936 <li>
1937 <p>new psensor options: --help, --version, --url</p>
1938 </li>
1939 <li>
1940 <p>added generation and installation of the psensor man</p>
1941 </li>
1942 <li>
1943 <p>added remote monitoring it requires a new optionnal dependencies
1944 (libjson0 and libcurl)</p>
1945 </li>
1946 <li>
1947 <p>added internationnalization support for the UI</p>
1948 </li>
1949 <li>
1950 <p>added Simplified Chinese Language (from DaBao &lt;<a href="mailto:linux.dabao@gmail.com">linux.dabao@gmail.com</a>&gt;)</p>
1951 </li>
1952 </ul>
1953 </div>
1954 </li>
1955 <li>
1956 <p><code>psensor-server</code>:</p>
1957 <div class="ulist">
1958 <ul>
1959 <li>
1960 <p>psensor-server is now a minimal webserver based on microhttpd.
1961 Lua5.1 is used to generate HTML pages to display temperatures and
1962 gtop2 information</p>
1963 </li>
1964 <li>
1965 <p>temperature information can be retrieved using a webservice based
1966 on json</p>
1967 </li>
1968 <li>
1969 <p>added cpu information (requires optional libgtop-2.0)</p>
1970 </li>
1971 <li>
1972 <p>psensor-server</p>
1973 </li>
1974 <li>
1975 <p>psensor-server options: --port, --help, --version</p>
1976 </li>
1977 <li>
1978 <p>added generation and installation of the psensor-server man</p>
1979 </li>
1980 </ul>
1981 </div>
1982 </li>
1983 <li>
1984 <p>common news for psensor and psensor-server:</p>
1985 <div class="ulist">
1986 <ul>
1987 <li>
1988 <p>moved to autoconf/automake</p>
1989 </li>
1990 <li>
1991 <p>gnu standard: use NEWS instead of CHANGES file</p>
1992 </li>
1993 <li>
1994 <p>moved LICENSE to COPYING</p>
1995 </li>
1996 </ul>
1997 </div>
1998 </li>
1999 </ul>
2000 </div>
2001 </div>
2002 </div>
2003 <div class="sect1">
2004 <h2 id="_v0_5_1">v0.5.1</h2>
2005 <div class="sectionbody">
2006 <div class="ulist">
2007 <ul>
2008 <li>
2009 <p>Makefile: avoid debug compilation by default</p>
2010 </li>
2011 <li>
2012 <p>Makefile: fixed duplicate server.o in OBJS_SERVER</p>
2013 </li>
2014 <li>
2015 <p>moved LICENSE to copyright</p>
2016 </li>
2017 <li>
2018 <p>moved CHANGES to NEWS</p>
2019 </li>
2020 <li>
2021 <p>Fixed creation of directories for the target <em>install</em></p>
2022 </li>
2023 </ul>
2024 </div>
2025 </div>
2026 </div>
2027 <div class="sect1">
2028 <h2 id="_v0_5_0">v0.5.0</h2>
2029 <div class="sectionbody">
2030 <div class="ulist">
2031 <ul>
2032 <li>
2033 <p>Added double buffering of the graph to avoid flickering</p>
2034 </li>
2035 <li>
2036 <p>Fixed README error gconf package name</p>
2037 </li>
2038 <li>
2039 <p>Refactoring makefile</p>
2040 </li>
2041 <li>
2042 <p>Added desktop notification support</p>
2043 </li>
2044 <li>
2045 <p>Added application indicator support</p>
2046 </li>
2047 <li>
2048 <p>Fixed MT issue (UI freeze, refresh_thread)</p>
2049 </li>
2050 <li>
2051 <p>Added global preferences editor (right click on the graph)</p>
2052 </li>
2053 <li>
2054 <p>Added sensor preferences editor (right click on the sensor table)</p>
2055 </li>
2056 <li>
2057 <p>Displayed name of each sensor can be changed</p>
2058 </li>
2059 <li>
2060 <p>Position of the sensor table can be changed</p>
2061 </li>
2062 <li>
2063 <p>Window decoration can be hidden</p>
2064 </li>
2065 <li>
2066 <p>Added <em>keep window below</em> setting</p>
2067 </li>
2068 </ul>
2069 </div>
2070 </div>
2071 </div>
2072 <div class="sect1">
2073 <h2 id="_v0_4_5">v0.4.5</h2>
2074 <div class="sectionbody">
2075 <div class="ulist">
2076 <ul>
2077 <li>
2078 <p>Makefile: fixed duplicate server.o in OBJS_SERVER</p>
2079 </li>
2080 </ul>
2081 </div>
2082 </div>
2083 </div>
2084 <div class="sect1">
2085 <h2 id="_v0_4_4">v0.4.4</h2>
2086 <div class="sectionbody">
2087 <div class="paragraph">
2088 <p>Added README.debian</p>
2089 </div>
2090 </div>
2091 </div>
2092 <div class="sect1">
2093 <h2 id="_v0_4_3">v0.4.3</h2>
2094 <div class="sectionbody">
2095 <div class="ulist">
2096 <ul>
2097 <li>
2098 <p>Fixed foreground graph color first time psensor is started</p>
2099 </li>
2100 <li>
2101 <p>Added support of gtk 2.12 (used by Debian 5.0.6 Lenny) by redefining</p>
2102 </li>
2103 <li>
2104 <p>gtk_dialog_get_content_area which exist since 2.14</p>
2105 </li>
2106 </ul>
2107 </div>
2108 </div>
2109 </div>
2110 <div class="sect1">
2111 <h2 id="_v0_4_2">v0.4.2</h2>
2112 <div class="sectionbody">
2113 <div class="ulist">
2114 <ul>
2115 <li>
2116 <p>Fixed potential MT issue (refresh_thread)</p>
2117 </li>
2118 <li>
2119 <p>Added double buffering of the graph to avoid flickering</p>
2120 </li>
2121 <li>
2122 <p>Fixed minor graph code bugs</p>
2123 </li>
2124 </ul>
2125 </div>
2126 </div>
2127 </div>
2128 <div class="sect1">
2129 <h2 id="_v0_4_1">v0.4.1</h2>
2130 <div class="sectionbody">
2131 <div class="ulist">
2132 <ul>
2133 <li>
2134 <p>Fixed README error gconf package name</p>
2135 </li>
2136 <li>
2137 <p>Refactoring makefile</p>
2138 </li>
2139 </ul>
2140 </div>
2141 </div>
2142 </div>
2143 <div class="sect1">
2144 <h2 id="_v0_4_0">v0.4.0</h2>
2145 <div class="sectionbody">
2146 <div class="ulist">
2147 <ul>
2148 <li>
2149 <p>Added FAN support</p>
2150 </li>
2151 <li>
2152 <p>Added HDD support (using hddtemp daemon)</p>
2153 </li>
2154 <li>
2155 <p>Added popup menu for changing graph bg/fg colors and opacity</p>
2156 </li>
2157 <li>
2158 <p>Graph background can be transparent, opacity can be changed</p>
2159 </li>
2160 <li>
2161 <p>Fixed BR3: sensors with the same name but different chips share the same color configuration</p>
2162 </li>
2163 <li>
2164 <p>Fixed BR4: wrong OBJS variable and gconf when calling pkg-config in Makefile.distrib for compiling with NVidia support
2165 Changed website URL</p>
2166 </li>
2167 <li>
2168 <p>Fixed BR5: Psensor crashes during startup with "You forgot to call g_type_init()"</p>
2169 </li>
2170 </ul>
2171 </div>
2172 </div>
2173 </div>
2174 <div class="sect1">
2175 <h2 id="_v0_3_3">v0.3.3</h2>
2176 <div class="sectionbody">
2177 <div class="ulist">
2178 <ul>
2179 <li>
2180 <p>Fixed potential MT issue  (refresh_thread)</p>
2181 </li>
2182 <li>
2183 <p>Improved Makefile</p>
2184 </li>
2185 </ul>
2186 </div>
2187 </div>
2188 </div>
2189 <div class="sect1">
2190 <h2 id="_v0_3_2">v0.3.2</h2>
2191 <div class="sectionbody">
2192 <div class="ulist">
2193 <ul>
2194 <li>
2195 <p>Fixed BR4: wrong OBJS variable and gconf when calling pkg-config in Makefile.distrib for compiling with NVidia support</p>
2196 </li>
2197 <li>
2198 <p>Changed website URL</p>
2199 </li>
2200 <li>
2201 <p>Fixed BR5: Psensor crashes during startup with "You forgot to call g_type_init()"</p>
2202 </li>
2203 </ul>
2204 </div>
2205 </div>
2206 </div>
2207 <div class="sect1">
2208 <h2 id="_v0_3_1">v0.3.1</h2>
2209 <div class="sectionbody">
2210 <div class="paragraph">
2211 <p>Fixed BR3: sensors with the same name but different chips share the same color configuration</p>
2212 </div>
2213 </div>
2214 </div>
2215 <div class="sect1">
2216 <h2 id="_v0_3_0">v0.3.0</h2>
2217 <div class="sectionbody">
2218 <div class="ulist">
2219 <ul>
2220 <li>
2221 <p>Sensor graph colors can be changed: click on the colored sensor cell in the information table)</p>
2222 </li>
2223 <li>
2224 <p>Background color of the graph can be changed: click on the graph</p>
2225 </li>
2226 <li>
2227 <p>Configuration is stored using GConf</p>
2228 </li>
2229 <li>
2230 <p>Fixed not initialized memory bug (min/max) in nvidia support</p>
2231 </li>
2232 </ul>
2233 </div>
2234 </div>
2235 </div>
2236 <div class="sect1">
2237 <h2 id="_v0_2_7">v0.2.7</h2>
2238 <div class="sectionbody">
2239 <div class="ulist">
2240 <ul>
2241 <li>
2242 <p>Updated the website URL</p>
2243 </li>
2244 <li>
2245 <p>Added contact information in the README</p>
2246 </li>
2247 <li>
2248 <p>Backported Makefile improvement from trunk</p>
2249 </li>
2250 <li>
2251 <p>Removed pwiki styling of the README</p>
2252 </li>
2253 <li>
2254 <p>Backport: Fixed not initialized memory bug (min/max) in nvidia support</p>
2255 </li>
2256 </ul>
2257 </div>
2258 </div>
2259 </div>
2260 <div class="sect1">
2261 <h2 id="_v0_2_6">v0.2.6</h2>
2262 <div class="sectionbody">
2263 <div class="ulist">
2264 <ul>
2265 <li>
2266 <p>Changed default graph colors and background</p>
2267 </li>
2268 <li>
2269 <p>Added vertical padding for the graph canvas</p>
2270 </li>
2271 <li>
2272 <p>Disabled row selection of the sensor table</p>
2273 </li>
2274 <li>
2275 <p>Fixed BR2: nvidia gpu is always using black color</p>
2276 </li>
2277 </ul>
2278 </div>
2279 </div>
2280 </div>
2281 <div class="sect1">
2282 <h2 id="_v0_2_5">v0.2.5</h2>
2283 <div class="sectionbody">
2284 <div class="paragraph">
2285 <p>Added a basic server to retrieve remotely temperatures</p>
2286 </div>
2287 </div>
2288 </div>
2289 <div class="sect1">
2290 <h2 id="_v0_2_4">v0.2.4</h2>
2291 <div class="sectionbody">
2292 <div class="ulist">
2293 <ul>
2294 <li>
2295 <p>Added application icon</p>
2296 </li>
2297 <li>
2298 <p>Added .desktop file</p>
2299 </li>
2300 </ul>
2301 </div>
2302 </div>
2303 </div>
2304 <div class="sect1">
2305 <h2 id="_v0_2_3">v0.2.3</h2>
2306 <div class="sectionbody">
2307 <div class="ulist">
2308 <ul>
2309 <li>
2310 <p>Added max and min temperature information for each sensor</p>
2311 </li>
2312 <li>
2313 <p>Fixed a missing #include in nvidia.c</p>
2314 </li>
2315 <li>
2316 <p>Small UI improvements (scrollbar for the right panel + slider)</p>
2317 </li>
2318 </ul>
2319 </div>
2320 </div>
2321 </div>
2322 <div class="sect1">
2323 <h2 id="_v0_2_2">v0.2.2</h2>
2324 <div class="sectionbody">
2325 <div class="ulist">
2326 <ul>
2327 <li>
2328 <p>Fixed compilation warning when NVidia support is disabled</p>
2329 </li>
2330 <li>
2331 <p>Fixed BR1: crash when no temperature sensor is available</p>
2332 </li>
2333 </ul>
2334 </div>
2335 <div class="paragraph">
2336 <p>v0.2.1</p>
2337 </div>
2338 <div class="listingblock">
2339 <div class="content">
2340 <pre>Compilation dependance to Nvidia lib is optional
2341
2342 v0.2.0
2343 ------
2344
2345 Added support of NVidia GPUs
2346
2347 v0.1.1
2348 ------
2349
2350 Improved right panel (list of sensors) + ability to disable each sensor graph
2351
2352 v0.1.0
2353 ------
2354
2355 Initial release</pre>
2356 </div>
2357 </div>
2358 </div>
2359 </div>
2360 </div>
2361 <div id="footer">
2362 <div id="footer-text">
2363 Last updated 2016-06-10 11:21:52 CEST
2364 </div>
2365 </div>
2366 </body>
2367 </html>