diff --git a/config/jsdoc/api/conf.json b/config/jsdoc/api/conf.json index f6a4c6cf73..e521f21f7d 100644 --- a/config/jsdoc/api/conf.json +++ b/config/jsdoc/api/conf.json @@ -26,9 +26,6 @@ "markdown": { "parser": "gfm" }, - "stability": { - "levels": ["deprecated","experimental","unstable","stable","frozen","locked"] - }, "templates": { "cleverLinks": true, "monospaceLinks": true, diff --git a/config/jsdoc/api/index.md b/config/jsdoc/api/index.md index 7f785370c4..37e98723c5 100644 --- a/config/jsdoc/api/index.md +++ b/config/jsdoc/api/index.md @@ -44,21 +44,19 @@ Interactions for [vector features](ol.Feature.html) #### API change policy -The OpenLayers.x API consists of -* names of classes, class methods and properties -* names of static functions and constants -* order and types of function arguments -* types of function return values +The OpenLayers API consists of +* names and signatures of constructors +* names and signatures of instance methods and properties +* names and signatures of functions +* names of constants -API elements marked as `experimental` provide stable and functioning code, but may change. -Any changes will be documented in upgrade notes so application code can be changed appropriately -before using the new version of the library. All other API elements will remain compatible throughout the 3.x releases so that no changes to existing application code are necessary when upgrading to a later version. +Within a major release series, the API will not be changed. Any changes to the API will be accompanied by a new major release. -*Note*: The API change policy does not cover CSS class names that are used to theme the +*Note*: The API change policy does not cover CSS class names that are used to style the OpenLayers UI. *Note for Closure Compiler users compiling their application code together with OpenLayers*: -The names of types other than those in the list above (e.g. `ol.Pixel`) are subject to change. It +The names of types other than those in the list above (e.g. `ol.Coordinate`) are subject to change. It is therefore recommended to either use the resolved type as listed in the API docs (e.g. -`Array.` instead of `ol.Pixel`), or pay attention to the upgrade notes, which will list +`Array.` instead of `ol.Coordinate`), or pay attention to the upgrade notes, which will list the changes for those types. diff --git a/config/jsdoc/api/plugins/api.js b/config/jsdoc/api/plugins/api.js index 16a67593fe..c0e795eff2 100644 --- a/config/jsdoc/api/plugins/api.js +++ b/config/jsdoc/api/plugins/api.js @@ -1,10 +1,6 @@ /** * Define an @api tag */ -var conf = env.conf.stability; -var defaultLevels = ["deprecated","experimental","unstable","stable","frozen","locked"]; -var levels = conf.levels || defaultLevels; -var util = require('util'); exports.defineTags = function(dictionary) { dictionary.defineTag('api', { mustHaveValue: false, @@ -12,13 +8,7 @@ exports.defineTags = function(dictionary) { canHaveName: false, onTagged: function(doclet, tag) { includeTypes(doclet); - var level = tag.text || "experimental"; - if (levels.indexOf(level) >= 0) { - doclet.stability = level; - } else { - var errorText = util.format('Invalid stability level (%s) in %s line %s', tag.text, doclet.meta.filename, doclet.meta.lineno); - require('jsdoc/lib/jsdoc/util/error').handle( new Error(errorText) ); - } + doclet.stability = "stable"; } }); }; diff --git a/config/jsdoc/api/readme.md b/config/jsdoc/api/readme.md index d69aa394f5..d4df450558 100644 --- a/config/jsdoc/api/readme.md +++ b/config/jsdoc/api/readme.md @@ -22,7 +22,7 @@ contain Markdown. The second line tells the Closure compiler the type of the argument. -The third line (`@api`) marks the method as part of the api and thus exportable. The stability can be added as value, e.g. `@api stable`. Without such an api annotation, the method will not be documented in the generated API documentation. Symbols without an api annotation will also not be exportable (unless they are explicitly exported with a `goog.exportProperty` call). +The third line (`@api`) marks the method as part of the api and thus exportable. Without such an api annotation, the method will not be documented in the generated API documentation. Symbols without an api annotation will also not be exportable. The `@api` annotation can be used in conjunction with the `@inheritDoc` annotation to export a symbol that is documented on a parent class (where the method may be abstract). In general, `@api` annotations should never be used on abstract methods (only on their implementations). diff --git a/config/jsdoc/api/template/static/scripts/main.js b/config/jsdoc/api/template/static/scripts/main.js index fb9eecba8d..1d904d48ac 100644 --- a/config/jsdoc/api/template/static/scripts/main.js +++ b/config/jsdoc/api/template/static/scripts/main.js @@ -92,30 +92,6 @@ $(function () { textParts[1] + ''; }); - // show/hide unstable items - var links = $('a[href^="ol."]'); - var unstable = $('.unstable'); - var stabilityToggle = $('#stability-toggle'); - stabilityToggle.change(function() { - unstable.toggleClass('hidden', this.checked); - var search = this.checked ? '?stableonly=true' : ''; - links.each(function(i, el) { - this.href = this.pathname + search + this.hash; - }); - if (history.replaceState) { - var url = window.location.pathname + search + window.location.hash; - history.replaceState({}, '', url); - } - return false; - }); - var search = window.location.search; - links.each(function(i, el) { - this.href = this.pathname + search + this.hash; - }); - stabilityToggle.prop('checked', search === '?stableonly=true'); - unstable.toggleClass('hidden', stabilityToggle[0].checked); - - // Highlighting current anchor var anchors = $('.anchor'); diff --git a/config/jsdoc/api/template/tmpl/layout.tmpl b/config/jsdoc/api/template/tmpl/layout.tmpl index 94a7a3b49c..259b25fb66 100644 --- a/config/jsdoc/api/template/tmpl/layout.tmpl +++ b/config/jsdoc/api/template/tmpl/layout.tmpl @@ -23,9 +23,6 @@ var version = obj.packageInfo.version;