<style>
/* Changing the layout to use less space for mobiles */
@media screen and (max-device-width: 480px), screen and (-webkit-min-device-pixel-ratio: 2) {
    #email-body { min-width: 30em !important; }
    #email-page { padding: 8px !important; }
    #email-banner { padding: 8px 8px 0 8px !important; }
    #email-avatar { margin: 1px 8px 8px 0 !important; padding: 0 !important; }
    #email-fields { padding: 0 8px 8px 8px !important; }
    #email-gutter { width: 0 !important; }
}
</style>
<div id="email-body">
<table id="email-wrap" align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#f0f0f0;color:#000000;width:100%;">
    <tr valign="top">
        <td id="email-page" style="padding:16px !important;">
            <table align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#ffffff;border:1px solid #bbbbbb;color:#000000;width:100%;">
                <tr valign="top">
                    <td bgcolor="#003366" style="background-color:#003366;color:#ffffff;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;line-height:1;"><img src="http://jira.qos.ch/s/en_USb9v8he-418945332/850/25/_/jira-logo-scaled.png" alt="" style="vertical-align:top;" /></td>
                </tr><tr valign="top">
    <td id="email-banner" style="padding:32px 32px 0 32px;">
        
                
        
        
            <table align="left" border="0" cellpadding="0" cellspacing="0" width="100%" style="width:100%;">
    <tr valign="top">
        <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;padding:0;">
                                        <img id="email-avatar" src="http://jira.qos.ch/secure/useravatar?avatarId=10122" alt="" height="48" width="48" border="0" align="left" style="padding:0;margin: 0 16px 16px 0;" />
                        <div id="email-action" style="padding: 0 0 8px 0;font-size:12px;line-height:18px;">
                                    <a class="user-hover" rel="timothyjward" id="email_timothyjward" href="http://jira.qos.ch/secure/ViewProfile.jspa?name=timothyjward" style="color:#326ca6;">Tim Ward</a>
     created <img src="http://jira.qos.ch/images/icons/issuetypes/bug.png" height="16" width="16" border="0" align="absmiddle" alt="Bug"> <a style='color:#326ca6;text-decoration:none;' href='http://jira.qos.ch/browse/LOGBACK-1050'>LOGBACK-1050</a>
            </div>
                        <div id="email-summary" style="font-size:16px;line-height:20px;padding:2px 0 16px 0;">
                <a style='color:#326ca6;text-decoration:none;' href='http://jira.qos.ch/browse/LOGBACK-1050'><strong>OSGi metadata in logback bundles is misconfigured</strong></a>
            </div>
                    </td>
    </tr>
</table>
    </td>
</tr>
<tr valign="top">
    <td id="email-fields" style="padding:0 32px 32px 32px;">
        <table border="0" cellpadding="0" cellspacing="0" style="padding:0;text-align:left;width:100%;" width="100%">
            <tr valign="top">
                <td id="email-gutter" style="width:64px;white-space:nowrap;"></td>
                <td>
                    <table border="0" cellpadding="0" cellspacing="0" width="100%">
                        <tr valign="top">
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;">
        <strong style="font-weight:normal;color:#505050;">Issue Type:</strong>
    </td>
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
                <img src="http://jira.qos.ch/images/icons/issuetypes/bug.png" height="16" width="16" border="0" align="absmiddle" alt="Bug">        Bug
    </td>
</tr>                                                <tr valign="top">
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;">
        <strong style="font-weight:normal;color:#505050;">Assignee:</strong>
    </td>
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
                                        <a class="user-hover" rel="logback-dev@qos.ch" id="email_logback-dev@qos.ch" href="http://jira.qos.ch/secure/ViewProfile.jspa?name=logback-dev%40qos.ch" style="color:#326ca6;">Logback dev list</a>
                </td>
</tr>                                                                        <tr valign="top">
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;">
        <strong style="font-weight:normal;color:#505050;">Created:</strong>
    </td>
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
        10/Feb/15 10:36 AM
    </td>
</tr>                        <tr valign="top">
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;">
        <strong style="font-weight:normal;color:#505050;">Description:</strong>
    </td>
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
        <p style='margin-top:0;margin-bottom:10px;'>The logbook bundles (e.g. core and classic) use an OSGi pattern called substitutable importing, i.e. the logback packages are both exported and imported by the bundles. This is a good practice, but it relies on the imports being correctly versioned. Import versions are always declared as a range, and in the absence of a declared upper bound the range extends to infinity.</p>

<p style='margin-top:0;margin-bottom:10px;'>For example the logback classic bundle at version 0.9.27 has:</p>

<p style='margin-top:0;margin-bottom:10px;'>Export-Package: ch.qos.logback.classic;version=0.9.27<br/>
Import-Package: ch.qos.logback.classic;version=0.9.27</p>


<p style='margin-top:0;margin-bottom:10px;'>The logback classic bundle at version 1.1.2 has:</p>

<p style='margin-top:0;margin-bottom:10px;'>Export-Package: ch.qos.logback.classic;version=1.1.2<br/>
Import-Package: ch.qos.logback.classic;version=1.1.2</p>


<p style='margin-top:0;margin-bottom:10px;'>This means that the ch.qos.logback.classic package in the 0.9.27 bundle can be substitutably replaced with the one from the 1.1.2 bundle, which causes significant problems (the two releases aren't compatible).</p>

<p style='margin-top:0;margin-bottom:10px;'>To do this properly logback packages must be imported at an appropriate version range, where X.Y.Z is imported at "[X.Y,X+1)" or "[X.Y,X.Y+1)" e.g.:</p>

<p style='margin-top:0;margin-bottom:10px;'>Export-Package: ch.qos.logback.classic;version=1.1.2<br/>
Import-Package: ch.qos.logback.classic;version="[1.1,1.2)"</p>

<p style='margin-top:0;margin-bottom:10px;'>Note that this model only works if packages are semantically versioned (see <a href="http://semver.org/spec/v2.0.0.html" class="external-link">http://semver.org/spec/v2.0.0.html</a> or <a href="http://www.osgi.org/wiki/uploads/Links/SemanticVersioning.pdf" class="external-link">http://www.osgi.org/wiki/uploads/Links/SemanticVersioning.pdf</a> for details)</p>

<p style='margin-top:0;margin-bottom:10px;'>In particular, package versions should be independent of the release version, and only change if the underlying code has changed. If the package has changed then its version increment is related to whether the change is "breaking", and who it breaks. If the change is breaking for clients (i.e. you're deleting or changing a method, or adding a method to a client-implemented interface) then you need to increment the major version (X in the example above). If you're making a change which adds a feature or impacts version compatibility within logback, but otherwise does not affect clients, then this is a minor increment (Y in the example above). Bug fixes, performance fixes and tidy up is a micro bump (Z in the example above).</p>

    </td>
</tr>
                                                                                                <tr valign="top">
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;">
        <strong style="font-weight:normal;color:#505050;">Project:</strong>
    </td>
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
        <a style="color:#326ca6;" href="http://jira.qos.ch/browse/LOGBACK">logback</a>
    </td>
</tr>                                                <tr valign="top">
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;">
        <strong style="font-weight:normal;color:#505050;">Priority:</strong>
    </td>
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
                        <img src="http://jira.qos.ch/images/icons/priorities/major.png" height="16" width="16" border="0" align="absmiddle" alt="Major">                Major
    </td>
</tr>
                        <tr valign="top">
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 10px 10px 0;white-space:nowrap;">
        <strong style="font-weight:normal;color:#505050;">Reporter:</strong>
    </td>
    <td style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 10px 0;width:100%;">
                                        <a class="user-hover" rel="timothyjward" id="email_timothyjward" href="http://jira.qos.ch/secure/ViewProfile.jspa?name=timothyjward" style="color:#326ca6;">Tim Ward</a>
                </td>
</tr>                                                                    </table>
                </td>
            </tr>
        </table>
    </td>
</tr>













            </table>
        </td><!-- End #email-page -->
    </tr>
    <tr valign="top">
        <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:10px;line-height:14px;padding: 0 16px 16px 16px;text-align:center;">
            This message is automatically generated by JIRA.<br />
            If you think it was sent incorrectly, please contact your JIRA administrators<br />
            For more information on JIRA, see: <a style='color:#326ca6;' href='http://www.atlassian.com/software/jira'>http://www.atlassian.com/software/jira</a>
        </td>
    </tr>
</table><!-- End #email-wrap -->
</div><!-- End #email-body -->