<commit_before>RFC 0186: Drop sapi feature alltogether
========================================================================
$Id$

@authors: friebe, kiesel
@created: Wed Jul 15 20:46:22     2009
@status: draft
@target: 5.8.0
@category: <core>

Scope of Change
---------------
The "sapi" feature will be dropped from the XP framework completely.

Rationale
---------
The sapi feature was initially introduced to offer a way to extend the
XP framework's core code, provided by "lang.base.php", in a manner similar
to that file, eg. without having to encapsulate that code in a class.

Now, we think code should always be loaded as a class, which bring several
features like having an associated classloader.

Functionality
-------------
Functionality provided by one of the XP framework's sapi files will be
migrated to be provided by regular classes, preferrably backwards compatible.

Currently available sapis
~~~~~~~~~~~~~~~~~~~~~~~~~
* cgi
  The cgi sapi will be migrated so its functionality is provided by the
  scriptlet API, if required.

* cli
  The cli sapi will be provided by the `xp` and `xpcli` executors.
  
* class
  The class sapi has been deprecated by the `xpcli` executor and will be
  dropped.

* synchronized
  This sapi will be dropped, as there is no program reported to use it.

* strict
  Functionality of the "strict" sapi has been incorporated in standard
  XP unittest, by checking for an "unclean error stack". This sapi will
  therefore be dropped.

Security considerations
-----------------------
n/a

Speed impact
------------
n/a

Dependencies
------------
- Targets XP 5.8.0

Related documents
-----------------
<commit_msg>- Change target to 5.9.0 # Deprecation in 5.8.0, removal in 5.9.0<commit_after>RFC 0186: Drop sapi feature alltogether
========================================================================
$Id$

@authors: friebe, kiesel
@created: Wed Jul 15 20:46:22     2009
@status: draft
@target: 5.9.0
@category: <core>

Scope of Change
---------------
The "sapi" feature will be dropped from the XP framework completely.

Rationale
---------
The sapi feature was initially introduced to offer a way to extend the
XP framework's core code, provided by "lang.base.php", in a manner similar
to that file, eg. without having to encapsulate that code in a class.

Now, we think code should always be loaded as a class, which bring several
features like having an associated classloader.

Functionality
-------------
Functionality provided by one of the XP framework's sapi files will be
migrated to be provided by regular classes, preferrably backwards compatible.

Currently available sapis
~~~~~~~~~~~~~~~~~~~~~~~~~
* cgi
  The cgi sapi will be migrated so its functionality is provided by the
  scriptlet API, if required.

* cli
  The cli sapi will be provided by the `xp` and `xpcli` executors.
  
* class
  The class sapi has been deprecated by the `xpcli` executor and will be
  dropped.

* synchronized
  This sapi will be dropped, as there is no program reported to use it.

* strict
  Functionality of the "strict" sapi has been incorporated in standard
  XP unittest, by checking for an "unclean error stack". This sapi will
  therefore be dropped.

Security considerations
-----------------------
n/a

Speed impact
------------
n/a

Dependencies
------------
- Deprecation in XP 5.8.0, removal in 5.9.0

Related documents
-----------------

{'fraction_non_alphanumeric': 0.16181229773462782, 'fraction_numerical': 0.016475433951162105, 'mean_word_length': 3.1923551171393343, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, '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': '3049850', 'n_tokens_mistral': 965, 'n_tokens_neox': 899, 'n_words': 452}