<!DOCTYPE html>
<html lang="en">
<!--[if lt IE 7 ]><html class="ie ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]><html class="ie ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!-->
<head>
<meta charset="utf-8">
<title>The Apache OFBiz&reg; Project - Release Notes 17.12.05</title>
<meta name="Description" content="OFBiz is an open source enterprise automation software project licensed under the Apache License. It means you are not alone and can work with many others." />
<meta name="Robots" content="index,follow" />
<!-- Mobile Specific Metas
    ================================================== -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- CSS
    ================================================== -->
<!-- local fonts  -->
<link type="text/css" id="fonts" rel="stylesheet" href="/css/fonts.css">
<!-- Bootstrap  -->
<link type="text/css" rel="stylesheet" href="/bootstrap/css/bootstrap.min.css">
<!-- plugin css  -->
<link rel="stylesheet" type="text/css" href="/js/plugins/pretty-photo/css/prettyPhoto.css" />
<link rel="stylesheet" type="text/css" href="/js/plugins/rs-plugin/css/settings.css" media="screen" />
<link type="text/css" rel="stylesheet" href="/js/plugins/hoverdir/css/style.css">
<!-- icon fonts -->
<link type="text/css" rel="stylesheet" href="/font-icons/custom-icons/css/custom-icons.css">
<link type="text/css" rel="stylesheet" href="/font-icons/custom-icons/css/custom-icons-ie7.css">
<!-- Custom css -->
<link type="text/css" rel="stylesheet" href="/css/layout.css">
<link type="text/css" id="colors" rel="stylesheet" href="/css/colors.css">
<!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<!--[if gte IE 9]><style type="text/css">.iconBig, .active, .hover a , .Shover a { filter: none !important; } </style> <![endif]-->
<script src="js/modernizr-2.6.1.min.js"></script>
<!-- Favicons
    ================================================== -->
<link rel="shortcut icon" href="/images/favicon.ico">
<link rel="apple-touch-icon" href="/images/apple-icon.png">
<link rel="apple-touch-icon" sizes="72x72" href="/images/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="/images/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="144x144" href="/images/apple-icon-144x144.png">
</head>
<body>
<!-- header -->
<header id="mainHeader" class="clearfix">
  <div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
      <div class="container"> <a href="index.html" class="brand"><img src="images/ofbiz_logo.png" alt="Apache OFBiz Logo"/></a>
        <nav id="mainMenu" class="clearfix">
          <ul>
            <li><a href="index.html" class="firstLevel">Home</a></li>
            <li><a href="#" class="firstLevel">Getting Started</a>
              <ul>
                <li><a href="developers.html" class="">Developers</a></li>
                <li><a href="business-users.html" class="last">Business Users</a></li>
              </ul>
            </li>
            <li><a href="#" class="firstLevel">News</a>
              <ul>
                <li><a href="//twitter.com/apacheofbiz" target="external">Twitter</a></li>
                <li><a href="//blogs.apache.org/ofbiz/" target="external" class="last">Blog</a></li>
              </ul>
            </li>
            <li><a href="#" class="firstLevel">Documentation</a>
              <ul>
                <li><a href="//cwiki.apache.org/confluence/display/OFBIZ/Documentation" target="external" class="">User Documentation</a></li>
                <li><a href="//cwiki.apache.org/confluence/display/OFBIZ/Technical+Documentation" target="external" class="">Technical Documentation</a></li>
                <li><a href="//cwiki.apache.org/confluence/display/OFBIZ/Home" target="external" class="">Wiki</a></li>
                <li><a href="#" class="firstLevel">API Reference</a>
                  <ul>
                    <li title="Trunk API">
                      <a href="https://nightlies.apache.org/ofbiz/trunk/javadoc/" target="external">Trunk API</a></li>
                    </li>
                    <li title="Stable release  API">
                      <a href="https://nightlies.apache.org/ofbiz/stable/javadoc/" target="external">Stable Release API</a></li>
                    </li>
                    <li title="Next release API">
                      <a href="https://nightlies.apache.org/ofbiz/next/javadoc/" target="external">Next Release API</a></li>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
            <li><a href="#" class="firstLevel">Community</a>
              <ul>
                <li><a href="getting-involved.html">Getting Involved</a></li>                
                <li><a href="mailing-lists.html">Mailing Lists</a></li>
                <li><a href="source-repositories.html">Source Repository</a></li>
                <li><a href="download.html">Downloads</a></li>
                <li><a href="https://s.apache.org/dsj2p" target="external" >Issue Tracker</a></li>
                <li><a href="faqs.html" class="last">FAQ</a></li>
              </ul>
            </li>
            <li><a href="ofbiz-demos.html" class="firstLevel">Demos</a></li>
		  <li>
		    <a href="//twitter.com/ApacheOfbiz" class="icon-twitter-bird socialIcon tips"
		      target="external" title="follow us on Twitter"><span>twitter</span></a>
		  </li>
		  <li><a href="//www.linkedin.com/company/apache-ofbiz/" target="external"  class="icon-linkedin socialIcon tips"  title="follow us on Linkedin"><span>linkedin</span></a></li>
		  <li><a href="//www.facebook.com/Apache-OFBiz-1478219232210477/?ref=page_internal" target="external" class="icon-facebook socialIcon tips"  title="follow us on Facebook"><span>facebook</span></a></li>
		  <li><a href="//www.youtube.com/user/ofbiz" class="icon-play socialIcon tips" target="external" title="follow us on Youtube"><span>Youtube</span></a></li>
		  <!--<li><a href="#" class="icon-rss socialIcon tips"  title="Our rss feed"><span>rss feed</span></a></li>         
		  <li><a href="#" class="icon-gplus socialIcon tips"  title="follow us on Google +"><span>google +</span></a></li>
		  <li><a href="#" class="icon-instagram socialIcon tips"  title="follow us on Instagram"><span>instagram</span></a></li>
		  <li><a href="#" class="icon-linkedin socialIcon tips"  title="follow us on Linkedin"><span>linkedin</span></a></li>
		  <li><a href="#" class="icon-pinterest-circled socialIcon tips"  title="follow us on Pinterest"><span>Pinterest</span></a></li>-->
          </ul>
        </nav>
      </div>
    </div>
  </div>
</header>
<!-- header -->
<!-- globalWrapper -->
<div id="globalWrapper">
 <!-- page content -->
 <section id="content" class="fullWidth">
    <header class="headerPage">
      <div class="container clearfix">
        <div class="row">
          <h1 class="span8">Release Notes 17.12.05</h1>
      <div class="span4" id="navTrail"> <a href="index.html" class="homeLink">home</a><span>/</span><a href="download.html">Download</a><span>/</span><span class="current">Release Notes 17.12.05</span> </div>
        </div>
      </div>
    </header>
  <section id="content" class="features" >
  <div class="slice clearfix">
      <div class="container">
<div class="row">
  <div>
  <p>Apache OFBiz&reg; 17.12.05, released on January 2021, is the fifth and final release of the 17.12 series, that has been stabilized since December 2017.</p>

    
<h2>        Sub-task
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11840'>OFBIZ-11840</a>] -         Reflected XSS in content component
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11871'>OFBIZ-11871</a>] -         Server-Side Template Injection using Static
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12055'>OFBIZ-12055</a>] -         Prevent possible post-auth RCE from webtools/control/ProgramExport
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12057'>OFBIZ-12057</a>] -         Prevent arbitary file write using webtools/control/EntitySQLProcessor.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12080'>OFBIZ-12080</a>] -         Secure the uploads
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12096'>OFBIZ-12096</a>] -         Post-auth XSS vulnerability at catalog/control/EditProductPromo
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12098'>OFBIZ-12098</a>] -         Make ruleName field in PriceForms.xml#AddPriceRules safe
</li>
</ul>
            
<h2>        Bug
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-7249'>OFBIZ-7249</a>] -         Error on removing scrum members
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-8302'>OFBIZ-8302</a>] -         Sorting of lists generates undesired results
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-9687'>OFBIZ-9687</a>] -         Bug in order manager main page when using Arab language
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-9901'>OFBIZ-9901</a>] -         Unable to create event in SFA component
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-10302'>OFBIZ-10302</a>] -         Display/functionality  improvement in findParty of OOTB regarding classification group
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-10532'>OFBIZ-10532</a>] -         Default value flags not working for configurable and variant products at the time of order entry
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-10536'>OFBIZ-10536</a>] -         Giant Widget with variant explosion: a &quot;Select Unit of Measure&quot; dropdown box appears with no reason.
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-10669'>OFBIZ-10669</a>] -         Getting Insecure connection error while navigating from product link
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-10834'>OFBIZ-10834</a>] -         Uploading image to data resource
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11168'>OFBIZ-11168</a>] -         Issue in creating promotion action
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11582'>OFBIZ-11582</a>] -         Required fields for party content upload are not checked
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11734'>OFBIZ-11734</a>] -         View Image button on order view page fails to render the image
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11735'>OFBIZ-11735</a>] -         Product link on Order confirmation page is not responding
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11788'>OFBIZ-11788</a>] -         Edit button(s) are shown for shipments received or shipped
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11838'>OFBIZ-11838</a>] -         One page checkout is broken because of ordermgr::getAssociatedStateList
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11881'>OFBIZ-11881</a>] -         Wrong image name in css
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11906'>OFBIZ-11906</a>] -         product summary looks bad in the promotion products list
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11910'>OFBIZ-11910</a>] -         product summary cards don&#39;t have uniform height
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11920'>OFBIZ-11920</a>] -         Distorted Final Checkout Review page when Credit card is selected as Payment option
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11971'>OFBIZ-11971</a>] -         Incorrect data for InvoiceItemTypeMap and ReturnItemTypeMap
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11972'>OFBIZ-11972</a>] -         wrong quote marks
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11976'>OFBIZ-11976</a>] -         svg files not removed on clean
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11977'>OFBIZ-11977</a>] -         multiflex css is linking to wrong location
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11978'>OFBIZ-11978</a>] -         &quot;cart&quot; should be &quot;card&quot;
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11984'>OFBIZ-11984</a>] -         MessagingException in sendShipmentScheduledNotification service
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11993'>OFBIZ-11993</a>] -         display/selection of unit of measure is broken/plugins
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12014'>OFBIZ-12014</a>] -         Error while decoding url parameters with percent character
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12019'>OFBIZ-12019</a>] -         variant product selection trashes image
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12023'>OFBIZ-12023</a>] -         Label issue on List Companies page
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12026'>OFBIZ-12026</a>] -         Hyperlink title under form widget doesn&#39;t support character encoding for special characters
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12039'>OFBIZ-12039</a>] -         Flexible reports use an old noNamespaceSchemaLocation
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12044'>OFBIZ-12044</a>] -         Issue: Displaying company and product information at product backlog, subcomponent of Scrum Application
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12045'>OFBIZ-12045</a>] -         Single product tile is displayed on one row in product search
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12050'>OFBIZ-12050</a>] -         NotSerializableException using uploadPartyContentFile service
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12066'>OFBIZ-12066</a>] -         init-gradle-wrapper.sh fails to install wrapper files using wget
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12078'>OFBIZ-12078</a>] -         Remove hardcoded product category on CategoryWorker.getCatalogTopCategory
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12082'>OFBIZ-12082</a>] -         Unique form names for promo actions
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12087'>OFBIZ-12087</a>] -         Lucene TopScoreDocCollector::create wrong call the 2 in Search.groovy scripts
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12100'>OFBIZ-12100</a>] -         Gradle build of 17.12.04 crashes on Centos 8
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12101'>OFBIZ-12101</a>] -         partymgr fails to upload image
</li>
</ul>
                
<h2>        Improvement
</h2>
<ul>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-9254'>OFBIZ-9254</a>] -         Inconsistent String Comparisons
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-9978'>OFBIZ-9978</a>] -         Upgrade jQuery 1.11.0 to jQuery 3.2.1
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11882'>OFBIZ-11882</a>] -         Rename a few map files
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11891'>OFBIZ-11891</a>] -         Hard coded label in ProductUomDropDownOnly
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11892'>OFBIZ-11892</a>] -         Add missing jGrowl map file
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-11950'>OFBIZ-11950</a>] -         Add a title to Javadoc overview
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12029'>OFBIZ-12029</a>] -         Handle special characters like single quote in Freemarker template (prevent encoding)
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12067'>OFBIZ-12067</a>] -         Update IND Geo data as per 2020-11-24  notification
</li>
<li>[<a href='https://issues.apache.org/jira/browse/OFBIZ-12085'>OFBIZ-12085</a>] -          Gradle logging hygiene
</li>
</ul>   

  </div>
</div>
</div>
</div>
</section>
</section><!-- footer -->
<footer class="footer1">
  <div class="container" id="footer">
    <div class="row">
      <div class="span6 timelineWidget">
        <h2>Latest tweets</h2>
        <!--
        <div class="divider"><span></span></div>
        <ul class="socialNetwork nav">
          <li>
            <a href="//twitter.com/ApacheOfbiz" class="icon-twitter-bird socialIcon tips"
              target="external" title="follow us on Twitter"><span>twitter</span></a>
          </li>
          <li><a href="//www.youtube.com/user/ofbiz" class="icon-play socialIcon tips"  title="follow us on Youtube"><span>Youtube</span></a></li>
          <li><a href="//www.facebook.com/Apache-OFBiz-1478219232210477/?ref=page_internal" class="icon-facebook socialIcon tips"  title="follow us on Facebook"><span>facebook</span></a></li>
          <li><a href="#" class="icon-rss socialIcon tips"  title="Our rss feed"><span>rss feed</span></a></li>
          <li><a href="#" class="icon-gplus socialIcon tips"  title="follow us on Google +"><span>google +</span></a></li>
          <li><a href="#" class="icon-instagram socialIcon tips"  title="follow us on Instagram"><span>instagram</span></a></li>
          <li><a href="#" class="icon-linkedin socialIcon tips"  title="follow us on Linkedin"><span>linkedin</span></a></li>
          <li><a href="#" class="icon-pinterest-circled socialIcon tips"  title="follow us on Pinterest"><span>Pinterest</span></a></li>
        </ul>
        -->
        <div id="twitterFrame"> <a class="twitter-timeline" href="//twitter.com/ApacheOfbiz?height=250" data-widget-id="588661945194192896"  data-tweet-limit="2" data-theme="dark" data-chrome="nofooter noheader transparent" >Tweets by @ApacheOfbiz</a>
          <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
        </div>
      </div>
      <div class="span3 contactWidget">
        <h2>Contact Community</h2>
        <div class="divider"><span></span></div>
        <ul>
          <li><a href="mailing-lists.html">Mailing Lists</a></li>
          <li><a href="source-repositories.html">Source Repository (Git)</a></li>
          <li><a href="https://s.apache.org/dsj2p" target="external">Issue Tracker (Jira)</a></li>
          <li><a href="//www.youtube.com/user/ofbiz" target="external">OFBiz Youtube Channel</a></li>
          <li><a href="//vimeo.com/channels/apacheofbiz" target="external">OFBiz Vimeo Channel</a></li>
          <li>
            <a href="//s.apache.org/ofbiz-slack-channel" target="external">OFBiz Chat</a><br/>
            <span class="footer-note">
              Note: To chat with users and developers of Apache OFBiz.
              <br>Please create a Slack account using <a href="//s.apache.org/slack-invite" target="external">this invite link</a> and
              <a href="//s.apache.org/ofbiz-slack-channel" target="external">join the <b>#ofbiz channel</b>.</a>
              Please do <b>not</b> ask OFBiz questions in the #general channel.
            </span>
          </li>
        </ul>
      </div>
      <div class="span3 sociallWidget">
        <h2>ASF Information</h2>
        <div class="divider"><span></span></div>
        <ul>
          <li><a href="https://www.apache.org/foundation/" target="external">Apache Software Foundation</a></li>
          <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html" target="external">Privacy Policy</a></li>
          <li><a href="https://www.apache.org/events/current-event" target="external">Events</a></li>
          <li><a href="https://www.apache.org/foundation/sponsorship.html" target="external">Sponsorship</a>
          		and <a href="https://www.apache.org/foundation/contributing.html" target="external">Donations</a>
          </li>
          <li><a href="https://www.apache.org/foundation/thanks.html" target="external">Thanks</a></li>
          <li><a href="https://ofbiz.apache.org/security.html">Security</a></li>
          <li><a href="https://www.apache.org/licenses/" target="external">License</a></li>
        </ul>
      </div>
    </div>
  </div>
</footer>
<footer class="footer2" id="footerRights">
  <div class="container">
    <div class="row">
      <div class="span12">
        <p>
          Copyright © 2023 The Apache Software Foundation.
          <a href="https://www.apache.org/licenses/" target="external">Licensed under the  Apache License, Version 2.0</a>.<br/>
          Apache OFBiz, OFBiz, the project logo and the Apache feather logo are trademarks of <a href="https://www.apache.org/" target="external">The Apache Software Foundation.</a>
        </p>
      </div>
    </div>
  </div>
</footer>
<!-- footer -->
</div>
<!-- globalWrapper -->
<script type="text/javascript" src="js/plugins/respond/respond.min.js"></script>
<script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="js/jquery-migrate-1.0.0.min.js"></script>
<script type="text/javascript" src="js/plugins/jquery-browser-plugin/jquery.browser.min.js"></script>
<!-- third party plugins  -->
<script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap-carousel.js"></script>
<script type="text/javascript" src="js/plugins/easing/jquery.easing.1.3.js"></script>
<script type="text/javascript" src="js/plugins/pretty-photo/js/jquery.prettyPhoto.js"></script>
<script type="text/javascript" src="js/plugins/hoverdir/jquery.hoverdir.js"></script>
<!-- jQuery KenBurn Slider  -->
<script type="text/javascript" src="js/plugins/rs-plugin/js/jquery.themepunch.plugins.min.js"></script>
<script type="text/javascript" src="js/plugins/rs-plugin/js/jquery.themepunch.revolution.min.js"></script>
<!-- Custom  -->
<script type="text/javascript" src="js/custom.js"></script>
<!-- Matomo -->
<script type="text/javascript">
  var _paq = window._paq = window._paq || [];
  /* tracker methods like "setCustomDimension" should be called before
"trackPageView" */
  /* We explicitly disable cookie tracking to avoid privacy issues */
  _paq.push(['disableCookies']);
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="https://analytics.apache.org/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '21']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Matomo Code -->
</body>
</html>
