<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"Segoe UI";
panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
h1
{mso-style-priority:9;
mso-style-link:"Otsikko 1 Char";
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:24.0pt;
font-family:"Calibri",sans-serif;
font-weight:bold;}
h2
{mso-style-priority:9;
mso-style-link:"Otsikko 2 Char";
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:18.0pt;
font-family:"Calibri",sans-serif;
font-weight:bold;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
span.Shkpostityyli17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.Otsikko1Char
{mso-style-name:"Otsikko 1 Char";
mso-style-priority:9;
mso-style-link:"Otsikko 1";
font-family:"Calibri",sans-serif;
mso-fareast-language:FI;
font-weight:bold;}
span.Otsikko2Char
{mso-style-name:"Otsikko 2 Char";
mso-style-priority:9;
mso-style-link:"Otsikko 2";
font-family:"Calibri",sans-serif;
mso-fareast-language:FI;
font-weight:bold;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 2.0cm 70.85pt 2.0cm;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:1022322047;
mso-list-template-ids:-278859378;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:72.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:"Courier New";
mso-bidi-font-family:"Times New Roman";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:108.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:144.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:180.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:216.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:252.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:288.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:324.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1
{mso-list-id:1094934879;
mso-list-template-ids:-1406270512;}
@list l1:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l1:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:72.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:"Courier New";
mso-bidi-font-family:"Times New Roman";}
@list l1:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:108.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level4
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:144.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level5
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:180.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:216.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level7
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:252.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level8
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:288.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:324.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="FI" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Good news everyone,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">We released Oskari 2.4.0 today and it is now available on GitHub (<a href="https://github.com/oskariorg">https://github.com/oskariorg</a>) and Oskari.org Maven repository. The sample application package has been updated
on the download link in Oskari.org (<a href="https://oskari.org/download">https://oskari.org/download</a>) and
</span><a href="http://download.osgeo.org/oskari/"><span lang="EN-US">http://download.osgeo.org/oskari/</span></a><span lang="EN-US">. As always you can take a peek at the latest at
<a href="https://demo.oskari.org/">https://demo.oskari.org/</a>.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">There’s not a whole lot of code changes compared to 2.3 version but we cleaned up some of the deprecated bundles according to plan so we can be a bit more agile optimizing code for the current implementations. We got
a nice performance boost for layer listing on this release on both frontend and server side and we are planning on making it even better on future releases.
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<h1 style="margin-bottom:12.0pt;background:white"><span lang="EN-US" style="font-size:22.0pt;font-family:"Segoe UI",sans-serif;color:#24292E">Release Notes<o:p></o:p></span></h1>
<h2 style="mso-margin-top-alt:18.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;background:white;box-sizing: border-box;border-bottom:var(--color-border-secondary);font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px">
<span lang="EN-US" style="font-size:16.5pt;font-family:"Segoe UI",sans-serif;color:#24292E">oskari-frontend<o:p></o:p></span></h2>
<p style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;background:white;box-sizing: border-box;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px">
<span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif;color:#24292E">For a full list of changes see: </span><span style="font-size:12.0pt;font-family:"Segoe UI",sans-serif;color:#24292E"><a href="https://github.com/oskariorg/oskari-frontend/milestone/31?closed=1"><span lang="EN-US">https://github.com/oskariorg/oskari-frontend/milestone/31?closed=1</span></a></span><span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif;color:#24292E"><o:p></o:p></span></p>
<ul type="disc">
<li class="MsoNormal" style="color:#24292E;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo1;background:white;box-sizing: border-box">
<span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">Refactored feature data handling to clean up some solutions that were necessary for the old (1.x) WFS-backend but could be improved with the current one<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo1;background:white;box-sizing: border-box">
<span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">Improved performance on layer list UI<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo1;background:white;box-sizing: border-box">
<span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">Groups without layers are now shown in layer listing if they have subgroups that have layers<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo1;background:white;box-sizing: border-box">
<span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">Link function now provides a bit cleaner URLs<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo1;background:white;box-sizing: border-box">
<span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">Removed deprecated bundles so we can make better solutions for layer handling without worrying backwards compatibility with older UI implementations.
</span><span style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">Details: <a href="https://github.com/oskariorg/oskari-docs/issues/245">https://github.com/oskariorg/oskari-docs/issues/245</a><o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo1;background:white;box-sizing: border-box">
<span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">Improved WMS-layer legends handling for admin UI<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo1;background:white;box-sizing: border-box">
<span style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">Other smaller fixes<o:p></o:p></span></li></ul>
<h2 style="mso-margin-top-alt:18.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;background:white">
<span style="font-size:16.5pt;font-family:"Segoe UI",sans-serif;color:#24292E">oskari-server<o:p></o:p></span></h2>
<p style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;background:white;box-sizing: border-box;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align:start;widows: 2;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;word-spacing:0px">
<span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif;color:#24292E">For a full list of changes see: </span><span style="font-size:12.0pt;font-family:"Segoe UI",sans-serif;color:#24292E"><a href="https://github.com/oskariorg/oskari-server/milestone/30?closed=1"><span lang="EN-US">https://github.com/oskariorg/oskari-server/milestone/30?closed=1</span></a></span><span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif;color:#24292E"><o:p></o:p></span></p>
<ul type="disc">
<li class="MsoNormal" style="color:#24292E;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo2;background:white;box-sizing: border-box">
<span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">Cache layer listing results to improve performance as most users get the same result<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo2;background:white;box-sizing: border-box">
<span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">Remove unused parts from layer listing response to improve performance<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo2;background:white;box-sizing: border-box">
<span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">Added dataprovider identifiers for layers in listing response<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo2;background:white;box-sizing: border-box">
<span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">Reduce unnecessary logging to remove clutter from logs<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo2;background:white;box-sizing: border-box">
<span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">Improve MIF/MID parsing for imports<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo2;background:white;box-sizing: border-box">
<span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">Add region filter to queries for PXWeb API<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo2;background:white;box-sizing: border-box">
<span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">Add support for HDEL and HINCRBY commands on Redis integration<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo2;background:white;box-sizing: border-box">
<span style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">Upgrade libraries:<o:p></o:p></span>
<ul type="circle">
<li class="MsoNormal" style="color:#24292E;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo2;background:white;box-sizing: border-box">
<span style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">GeoTools 24.2 -> 25.1<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l0 level2 lfo2;background:white;box-sizing: border-box">
<span style="font-size:12.0pt;font-family:"Segoe UI",sans-serif">JTS 1.17.1 -> 1.18.1<o:p></o:p></span></li></ul>
</li></ul>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Happy updating,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> Sami<o:p></o:p></span></p>
</div>
</body>
</html>