<p>Well, despite the fact that Geany never had a 1.0, its "interesting" versioning system having gone from 0.22 to 1.23, we do attempt to keep the ABI and API as stable as reasonably possible.</p>
<p>In general the ABI changes as little as we can manage, the ABI number must match exactly between Geany and the plugin, so an ABI change kills all plugins until they are re-compiled.  But sometimes it is absolutely necessary.  Removing a feature or significantly changing the semantics of an existing feature require an ABI change since existing plugins may no longer work with the modified version of Geany.</p>
<p>The API identifying number is increased whenever anything is added to the API so plugins can test if the feature is available.  The API number required by a plugin needs only to be lower than the API Geany provides, so an increase in API number without a change in ABI will not stop plugins that need a lower number from working.</p>
<p>These rules seem to work reasonably well, and are likely to continue into the future.</p>
<p>All of which is a long way of saying that whilst the exact text (referring to 1.0) is wrong, the general sentiment still applies.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/issues/1475#issuecomment-296629551">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ8jQ5TPxbeAn9ehuidzEQOT-ZWd_ks5rzImqgaJpZM4NF9OL">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJwyFVgqBfSbdjEn6JiW441caxW3Oks5rzImqgaJpZM4NF9OL.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/geany/geany/issues/1475#issuecomment-296629551"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany","title":"geany/geany","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"PERSON","message":"@elextr in #1475: Well, despite the fact that Geany never had a 1.0, its \"interesting\" versioning system having gone from 0.22 to 1.23, we do attempt to keep the ABI and API as stable as reasonably possible.  \r\n\r\nIn general the ABI changes as little as we can manage, the ABI number must match exactly between Geany and the plugin, so an ABI change kills all plugins until they are re-compiled.  But sometimes it is absolutely necessary.  Removing a feature or significantly changing the semantics of an existing feature require an ABI change since existing plugins may no longer work with the modified version of Geany.\r\n\r\nThe API identifying number is increased whenever anything is added to the API so plugins can test if the feature is available.  The API number required by a plugin needs only to be lower than the API Geany provides, so an increase in API number without a change in ABI will not stop plugins that need a lower number from working.\r\n\r\nThese rules seem to work reasonably well, and are likely to continue into the future.\r\n\r\nAll of which is a long way of saying that whilst the exact text (referring to 1.0) is wrong, the general sentiment still applies."}],"action":{"name":"View Issue","url":"https://github.com/geany/geany/issues/1475#issuecomment-296629551"}}}</script>