<commit_before><h1 id="versioning">Versioning</h1>

<h2>Semantic versioning</h2>

<p>Duktape follows <a href="http://semver.org/">Semantic Versioning</a>:</p>
<ul>
<li>Major version changes when API incompatible changes are made.</li>
<li>Minor version changes when backwards-compatible functional changes are made.</li>
<li>Patch version changes when backwards-compatible bug fixes are made.</li>
</ul>

<p>The "public API" to which these rules apply include:</p>
<ul>
<li>The Duktape API calls documented on duktape.org.  API calls implemented
    as macros are part of the public API, but any internal calls the macros
    make are not.  Changing an API call from a function call to a macro (or
    vice versa) is considered a compatible change.</li>
<li>The global environment visible to Ecmascript code, including the <code>Duktape</code>
    object and other Ecmascript extensions, as documented on duktape.org.</li>
</ul>

<p>The following are not part of the "public API":</p>
<ul>
<li>Feature options.  Incompatible feature option changes are not made in patch
    releases, but can be made in minor releases (contrary to semantic versioning
    guarantees). Such changes are noted in release notes, and the goal is to cause<commit_msg>Experimental API calls not part of API guarantee<commit_after><h1 id="versioning">Versioning</h1>

<h2>Semantic versioning</h2>

<p>Duktape follows <a href="http://semver.org/">Semantic Versioning</a>:</p>
<ul>
<li>Major version changes when API incompatible changes are made.</li>
<li>Minor version changes when backwards-compatible functional changes are made.</li>
<li>Patch version changes when backwards-compatible bug fixes are made.</li>
</ul>

<p>The "public API" to which these rules apply include:</p>
<ul>
<li>The Duktape API calls documented on duktape.org, except those tagged
    <code>experimental</code>.  API calls implemented as macros are part of
    the public API, but any internal calls the macros make are not.  Changing
    an API call from a function call to a macro (or vice versa) is considered
    a compatible change.</li>
<li>The global environment visible to Ecmascript code, including the <code>Duktape</code>
    object and other Ecmascript extensions, as documented on duktape.org.</li>
</ul>

<p>The following are not part of the "public API":</p>
<ul>
<li>Duktape API calls tagged <code>experimental</code>.</li>
<li>Feature options.  Incompatible feature option changes are not made in patch
    releases, but can be made in minor releases (contrary to semantic versioning
    guarantees). Such changes are noted in release notes, and the goal is to cause
{'fraction_non_alphanumeric': 0.09518392112248768, 'fraction_numerical': 0.0030337504740235114, 'mean_word_length': 4.6247334754797444, 'pattern_counts': {'":': 2, '<': 69, '<?xml version=': 0, '>': 69, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1856275', 'n_tokens_mistral': 761, 'n_tokens_neox': 757, 'n_words': 337}