<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;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        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:"Times New Roman",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:"Times New Roman",serif;
        font-weight:bold;}
h3
        {mso-style-priority:9;
        mso-style-link:"Otsikko 3 Char";
        margin-top:2.0pt;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:0cm;
        margin-bottom:.0001pt;
        page-break-after:avoid;
        font-size:12.0pt;
        font-family:"Cambria",serif;
        color:#243F60;
        mso-fareast-language:EN-US;
        font-weight:normal;}
h4
        {mso-style-priority:9;
        mso-style-link:"Otsikko 4 Char";
        margin-top:2.0pt;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:0cm;
        margin-bottom:.0001pt;
        page-break-after:avoid;
        font-size:11.0pt;
        font-family:"Cambria",serif;
        color:#365F91;
        mso-fareast-language:EN-US;
        font-weight:normal;
        font-style:italic;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
code
        {mso-style-priority:99;
        font-family:"Courier New";}
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:"Times New Roman",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:"Times New Roman",serif;
        mso-fareast-language:FI;
        font-weight:bold;}
span.Otsikko3Char
        {mso-style-name:"Otsikko 3 Char";
        mso-style-priority:9;
        mso-style-link:"Otsikko 3";
        font-family:"Cambria",serif;
        color:#243F60;}
span.Otsikko4Char
        {mso-style-name:"Otsikko 4 Char";
        mso-style-priority:9;
        mso-style-link:"Otsikko 4";
        font-family:"Cambria",serif;
        color:#365F91;
        font-style:italic;}
.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:143081716;
        mso-list-template-ids:366800382;}
@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:223681162;
        mso-list-template-ids:-773297126;}
@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;}
@list l2
        {mso-list-id:1032536065;
        mso-list-template-ids:1383221444;}
@list l2: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 l2: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 l2: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 l2: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 l2: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 l2: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 l2: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 l2: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 l2: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 l3
        {mso-list-id:1622498471;
        mso-list-template-ids:2044725756;}
@list l3: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 l3: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 l3: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 l3: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 l3: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 l3: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 l3: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 l3: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 l3: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="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hi all,<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">Oskari version 1.49.0 is now available in GitHub, oskari.org download and the Maven repository. Here’s the list of changes: https://github.com/oskariorg/oskari-server/blob/master/ReleaseNotes.md and https://github.com/oskariorg/oskari-frontend/blob/master/ReleaseNotes.md<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 a ton of changes again! The sample application that you get when you start Oskari for the first time now uses EPSG:3857 as the native coordinate system (customizable as before). The sample application is now named
 "example" (previously "sample") to emphasize the fact that you should customize the geoportal setup for production as the example app may change between releases and you usually want to have control over the functionalities included in your instance. The example
 app uses vectortile basemap (with a couple of styles) from a more stable source so the actual map you see works more often than not which might have not been the case before.<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">Note that there are a couple of things you need to do while upgrading if you have customized your instance (https://github.com/oskariorg/oskari-server/blob/master/MigrationGuide.md#1490) as some of the frontend files
 have been bundled in to one on production builds and development is now also done using the same bundled code (using Webpack devserver) instead of loading a ton of files. The old build scripts for the frontend has been replaced by the Webpack-based script
 that was introduced on the previous release. Check the README.md on oskari-frontend for instructions. This is an absolute must. The frontend build is now very different from before and so is the developer experience. We also added ESLint testing for the frontend
 using Travis CI so you can expect any future PRs to be checked against these rules.<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">Also note that the Oskari-frontend repository is now cleaned up from most of the possibly unmaintained and/or app-specific code which have been moved to
<a href="https://github.com/oskariorg/oskari-frontend-contrib">https://github.com/oskariorg/oskari-frontend-contrib</a>. If there’s some paikkatietoikkuna.fi specific bundle that you want to look at they can be found in
<a href="https://github.com/nls-oskari/pti-frontend">https://github.com/nls-oskari/pti-frontend</a>. The pti-frontend uses code from both Oskari-frontend and Oskari-frontend-contrib and adds some app-specific stuff so it’s a decent example how to go about creating
 your own app-specific repository with build scripts etc for your instance. Think of it as Oskari-frontend-extension for Oskari-frontend like the Oskari-server-extension is for Oskari-server. We will be updating the documentation about these changes.<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">Note that there's a change in the database schema that will most probably break your customized/application specific flyway-module WHEN installing to an EMPTY database. Any previously installed instances that are just
 now upgraded should work properly. The reason is that the "startup" column in portti_view_bundle_seq and portti_bundle database tables are no longer used and now have an enforced NULL-constraint. You can work around this by removing the constraint, but it's
 up to you if you want to upgrade the app-specific migrations to NOT reference the startup column OR remove the constraint. Let me know if you have problems with this and we can figure it out together.<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">Also there a new Jetty 9 package available that will replace the current package next week (with 1.50.0 release). You can download it at http://oskari.org/build/server/jetty-9.4.12-oskari.zip. It has the same functionality
 as 1.49.0 but has updated Geotools, Geoserver, CometD, Jetty and probably some other libs as well. For the interested ones you can check the diff on GitHub as both oskari-server and oskari-frontend have a jetty-9 branch.<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">Here’s the release notes for 1.49.0:<o:p></o:p></span></p>
<div style="mso-element:para-border-div;border:none;border-bottom:solid #EAECEF 1.0pt;padding:0cm 0cm 4.0pt 0cm">
<h2 style="mso-margin-top-alt:18.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;border:none;padding:0cm">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif;color:#24292E">Oskari-frontend<o:p></o:p></span></h2>
</div>
<p style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;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-style: initial;text-decoration-color: initial;word-spacing:0px">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif;color:#24292E">For a full list of changes see: </span><span style="font-family:"Segoe UI",sans-serif;color:#24292E"><a href="https://github.com/oskariorg/oskari-frontend/milestone/14?closed=1"><span lang="EN-US" style="color:#0366D6">https://github.com/oskariorg/oskari-frontend/milestone/14?closed=1</span></a></span><span lang="EN-US" style="font-family:"Segoe UI",sans-serif;color:#24292E"><o:p></o:p></span></p>
<h3 style="mso-margin-top-alt:18.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;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-style: initial;text-decoration-color: initial;word-spacing:0px">
<span lang="EN-US" style="font-size:15.0pt;font-family:"Segoe UI",sans-serif;color:#24292E">Build script<o:p></o:p></span></h3>
<p style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;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-style: initial;text-decoration-color: initial;word-spacing:0px">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif;color:#24292E">The build script has now been completely migrated to Webpack and the old tools-scripts have been removed. Changes for the new script from 1.48.0 is that builds no longer point to a single
 minifierAppsetup.json but a directory hosting apps that can have the json-file OR main.js file as it's a common use case to have at least one app for the geoportal and another for the embedded maps. The parameter for builds changed from "env.appdef=applications/application/guest/minifierAppSetup.json"
 in 1.48.0 to "env.appdef=applications/application" in 1.49.0. When the build is run it also generates a "main.js" file based on the minifierAppsetup.json. You can remove the json-file after running the build for the first time and start using the main.js as
 the main entrypoint for the app.<o:p></o:p></span></p>
<p style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;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-style: initial;text-decoration-color: initial;word-spacing:0px">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif;color:#24292E">Bundles can now be loaded "lazily" meaning "lazy" bundles are not part of oskari.min.js but can be loaded and started as usual when referenced. This can be used to minimize the initial
 JavaScript payload users have to download. Bundles that aren't used by all the users like admin bundles should be included in the app as "lazy".<o:p></o:p></span></p>
<p style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;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-style: initial;text-decoration-color: initial;word-spacing:0px">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif;color:#24292E">The devserver now passes additional http headers to Jetty so forwarded requests like logging in work properly with it.<o:p></o:p></span></p>
<p style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;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-style: initial;text-decoration-color: initial;word-spacing:0px">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif;color:#24292E">The separate css-files that were previously referenced on the HTML (forms.css, portal.css and overwritten.css) have all been included in the oskari.min.css file. Icons.css is still a
 separate file. jQuery is now included in oskari.min.js as well.<o:p></o:p></span></p>
<h4 style="mso-margin-top-alt:18.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;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-style: initial;text-decoration-color: initial;word-spacing:0px">
<span style="font-family:"Segoe UI",sans-serif;color:#24292E">Other build script improvements<o:p></o:p></span></h4>
<ul type="disc">
<li class="MsoNormal" style="color:#24292E;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l3 level1 lfo2;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Build script now provides a way to be used from another repository while referencing code from oskari-frontend/oskari-frontend-contrib repositories enabling application specific repositories like
 nls-oskari/pti-frontend.<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l3 level1 lfo2;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Added a flag for build script to use absolute paths instead of relative<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l3 level1 lfo2;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Added a script to create the sprite image for customized/app-specific icons.<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;mso-margin-bottom-alt:auto;mso-list:l3 level1 lfo2;box-sizing: border-box">
<code><span lang="EN-US" style="font-size:10.0pt;font-family:Consolas">babel-polyfill</span></code><span lang="EN-US" style="font-family:"Segoe UI",sans-serif"> has been added to the build for IE support<o:p></o:p></span></li></ul>
<h3 style="mso-margin-top-alt:18.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;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-style: initial;text-decoration-color: initial;word-spacing:0px">
<span lang="EN-US" style="font-size:15.0pt;font-family:"Segoe UI",sans-serif;color:#24292E">Code quality<o:p></o:p></span></h3>
<p style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;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-style: initial;text-decoration-color: initial;word-spacing:0px">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif;color:#24292E">The code base has been formatted with ESLint configured settings. Any pull requests made in GitHub are now automatically checked against these rules using Travis CI. You can also check
 the settings by running "npm run test".<o:p></o:p></span></p>
<p style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;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-style: initial;text-decoration-color: initial;word-spacing:0px">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif;color:#24292E">Most of the calls to deprecated functions inside the oskari-frontend code have been updated to use the new versions of the functions so the developer console should only have warning
 for customized apps using deprecated functions. Note that the deprecated functions will be removed in a future version and you should update your apps to match the changes (see the browsers developer console for details). If you see no warnings it's all good
 for your app.<o:p></o:p></span></p>
<h3 style="mso-margin-top-alt:18.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;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-style: initial;text-decoration-color: initial;word-spacing:0px">
<span lang="EN-US" style="font-size:15.0pt;font-family:"Segoe UI",sans-serif;color:#24292E">Cleanup<o:p></o:p></span></h3>
<p style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;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-style: initial;text-decoration-color: initial;word-spacing:0px">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif;color:#24292E">Much of the app-specific functionalities and unmaintained code have been moved to a new repository: oskari-frontend-contrib. These can still be used with any oskari-applications, but
 they are not "officially" supported. Now everything in the oskari-frontend repository should work with new versions.<o:p></o:p></span></p>
<p style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;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-style: initial;text-decoration-color: initial;word-spacing:0px">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif;color:#24292E">Also removed CSS-files that had corresponding SCSS files so it's clear which one to edit.<o:p></o:p></span></p>
<h3 style="mso-margin-top-alt:18.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;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-style: initial;text-decoration-color: initial;word-spacing:0px">
<span style="font-size:15.0pt;font-family:"Segoe UI",sans-serif;color:#24292E">Thematic maps improvements<o:p></o:p></span></h3>
<ul type="disc">
<li class="MsoNormal" style="color:#24292E;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo3;box-sizing: border-box">
<span style="font-family:"Segoe UI",sans-serif">Improvements for diagram flyout</span><span style="font-size:12.0pt;font-family:"Segoe UI",sans-serif"><o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo3;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Selected indicators are now listed on the indicator selection flyout and selections can be removed from that listing without the need to go the data table flyout<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo3;box-sizing: border-box">
<span style="font-family:"Segoe UI",sans-serif">Performance improvements<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo3;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Flickering reduced on statistical timeseries/indicator switching<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo3;box-sizing: border-box">
<span style="font-family:"Segoe UI",sans-serif">Color animation added for timeseries<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo3;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Other improvements and error handling added<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo3;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">The select component has been changed for indicator selection flyout<o:p></o:p></span></li><li class="MsoNormal" style="color:#24292E;margin-top:3.0pt;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo3;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Map region borders are now shown even on point visualization<o:p></o:p></span></li></ul>
<h3 style="mso-margin-top-alt:18.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;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-style: initial;text-decoration-color: initial;word-spacing:0px">
<span style="font-size:15.0pt;font-family:"Segoe UI",sans-serif;color:#24292E">Other changes<o:p></o:p></span></h3>
<ul type="disc">
<li class="MsoNormal" style="color:#24292E;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo4;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Initial support for MVT vector tiles (the new example app now uses OpenMapTiles as basemap)</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Segoe UI",sans-serif"><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 lfo4;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Vector tile layers can be styled using the Oskari style definition OR Mapbox styles<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 lfo4;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Openlayers updated to 5.2.0 (as npm dependency so using it has changed to ES6 imports instead of using the global "ol" object)<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 lfo4;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Some of the code like the mapmodule implementation has started migrating towards ES6-modules.<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 lfo4;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">User geolocation can no longer move the map outside the map extent<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 lfo4;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Color selection for myplaces etc user generated styles now have a new color picker component<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 lfo4;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">The info icon placement has been modified in printout and publisher to match the UI guide<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 lfo4;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">MapLayerService.registerLayerModel() now supports functions/constructors as modelbuilders in addition to name to pass to Oskari.clazz.create()<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 lfo4;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">CSS-styles have been streamlined and references to missing resources have been removed.<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 lfo4;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Publisher theme selection and the theme on map are now in sync. Previously you mnight have gotten the geoportal style on preview, but end up with the default style embedded map. This happened if the
 geoportal had customized style/didn't have the default style<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 lfo4;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Content-editor and Download-basket bundles have been updated to work with current Oskari libraries (OpenLayers 5)<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 lfo4;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Fixed a bug in printout where zoom-levels on the map got mixed up after visiting the printout functionality<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 lfo4;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Admin layerselector now has a field for layer "options" which content is layer type specific (vectortilelayer styles are added using options)<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 lfo4;box-sizing: border-box">
<span style="font-family:"Segoe UI",sans-serif">Metadata presentation fixes and error handling<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 lfo4;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Fix for customized styles when user draws on the map<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 lfo4;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Link tool now allows user to select if guided tour should be skipped on link and if center marker should be shown<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 lfo4;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Toolbars tool selection color now works better on themes with light background<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 lfo4;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Fixed </span><span style="font-family:"Segoe UI",sans-serif"><a href="https://github.com/oskariorg/oskari-docs/issues/79"><span lang="EN-US" style="color:#0366D6">https://github.com/oskariorg/oskari-docs/issues/79</span></a></span><span lang="EN-US" style="font-family:"Segoe UI",sans-serif"><o:p></o:p></span></li></ul>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div style="mso-element:para-border-div;border:none;border-bottom:solid #EAECEF 1.0pt;padding:0cm 0cm 4.0pt 0cm">
<h2 style="mso-margin-top-alt:18.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;border:none;padding:0cm">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif;color:#24292E">Oskari-server<o:p></o:p></span></h2>
</div>
<p style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:12.0pt;margin-left:0cm;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-style: initial;text-decoration-color: initial;word-spacing:0px">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif;color:#24292E">For a full list of changes see: </span><span style="font-family:"Segoe UI",sans-serif;color:#24292E"><a href="https://github.com/oskariorg/oskari-server/milestone/13?closed=1"><span lang="EN-US" style="color:#0366D6">https://github.com/oskariorg/oskari-server/milestone/13?closed=1</span></a></span><span lang="EN-US" style="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;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">JSP-files modified to match the new frontend build.
</span><span style="font-family:"Segoe UI",sans-serif">See migrationguide for details.<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;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">search-service-nls removed from oskari-server as it's adapters for NLS Finland specific search channels.
</span><span style="font-family:"Segoe UI",sans-serif">See migrationguide for details.<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;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Added initial support for vectortile based 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;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">URLencoding added for some outgoing requests to improve parameters handling<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;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Improved SearchChannel.isValidSearchTerm() error handling so single erratic search channel doesn't prevent search results from showing.<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;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Applications now halt on startup if migrations are not successfully completed. You can use the old functionality (force startup after bad migration) by having db.ignoreMigrationFailures=true on oskari-ext.properties.<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;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Statistical regionsets that are hosted as resource-files can now have numeric IDs and are read as UTF-8 to support wider range of characters<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;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">The server now filters out statistical indicators without names so the UI doesn't list empty/undefined indicators.<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;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Error handling improved for CSW metadata parsing<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;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Customized labels fixed for myplaces when a new/empty database is populated<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;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Fix an issue with XML-parsing when Xalan library is in the classpath (For example SAML has Xalan)<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;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Fix for layer group matching on database populator/layers now get proper groups<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;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Removed "startup" info for bundles from database. All required bundles now have to be included in the frontend build.<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;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">oskari-server now has a new "example" app that replaces the previous "sample" app to make it clearer it's an example that can be used to demo the software, but will change in releases so you shouldn't
 use it as your own geoportal if you wish to have control over content and/or functionalities included in it.<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;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">There's a new URL parameter for skipping the guided tour: showIntro=false<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;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">Print-functionality now supports ArcGIS REST raster 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;box-sizing: border-box">
<span lang="EN-US" style="font-family:"Segoe UI",sans-serif">PropertyUtil.getNecessary() now throws NoSuchElementException instead of plain RuntimeException so misconfigurations are easier to separate from actual errors.<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;box-sizing: border-box">
<span style="font-family:"Segoe UI",sans-serif">Library updates<o:p></o:p></span></li></ul>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Thanks and happy updating :)<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">            Sami<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"><o:p> </o:p></span></p>
</div>
</body>
</html>