Complete overview and changelog, including in French 39/17439/4
Francois Granade [Sun, 8 Nov 2015 10:50:36 +0000 (11:50 +0100)]
Change-Id: Ic531839d07654f55dfd793fda20387b09f30f114

scilab/CHANGES_6.0.X
scilab/modules/helptools/data/pages/homepage-en_US.html
scilab/modules/helptools/data/pages/homepage-fr_FR.html

index 8677fd3..0337452 100644 (file)
@@ -1,34 +1,65 @@
-        Changes between version 6.0.0-alpha-1 and 6.0.0-alpha-2 of Scilab
-        =================================================================
 
-New Features
-=============
 
-* SSE2, Streaming SIMD Extensions 2 support is now mandatory to run Scilab on
-  Linux i686.
+        Welcome to Scilab 6
+        ===================
 
-* valgrind error detection added to test_run (Linux Only)
+This file details the changes between 6.0.0-alpha-1 and 6.0.0-alpha-2 of Scilab (below); and between version 5.5.2 and 6.0.0-alpha-1 (further down). 
 
-* Introduction of a call stack limit. Default maximum depth is setup to 1000 and
-  can be changed by new function recursionlimit or by preferences interface.
+For a high-level overview of the changes in this release, please consult the "What's new" page of the help, by simply typing "help" in Scilab console.
 
 
-  Modified Functions
-===================
 
-* ieee: the initial mode value is now setted to 2.
+        Changes between version 6.0.0-alpha-1 and 6.0.0-alpha-2
+        =======================================================
 
+New Features
+============
 
-Deprecated Behaviors
+* Scilab now includes a full-featured debugger, with ability to run Scilab scripts or functions step-by-step, to put (conditional) breakpoint, in particular break only when an exception is set. Run "help debug" for more information.
+
+* A new profiler and coverage tool has been added. 
+  It replaces the "profile" function (which is still there but not working, and will be removed in the final release).
+  It produces HTML report for the time spent (profile) on each line. Example of use:
+
+     covStart(isempty) // instruments the "isempty" macro; instrumenting a whole library can be done with: covStart("elementary_functions")
+     for i=1:1e5; isempty(i); end // execute some code - this will be profiled
+     covWrite("html", "TMPDIR/coverage") // write the profiling/coverage report as "report.html" in the folder specified as second parameter
+     covStop(); // stop the profiling 
+
+  A function to merge multiple profiler/coverage is provided too: covMerge([ list_of_files_to_merge], file_to_merge_to). 
+  The API will change before the release; the current API is mostly to get feedback from the community.
+
+* A "lint"-like command, slint, has been added, for code static analysis: it detects unclear, risky or suspicious code.
+  Usage: slint("<sci filename>"). It is not documented yet.
+
+Other feature changes
 =====================
 
-* <-- JVM NOT MANDATORY --> is obsolete, use <-- CLI SHELL MODE --> instead.
+* Valgrind error detection added to test_run (on Linux only)
 
 * Addition or subtraction with an empty matrix now return an empty matrix.
 
-Scilab Bug Fixes
+* SSE2, Streaming SIMD Extensions 2 support is now mandatory to run Scilab on Linux i686.
+
+* A call stack limit has been introduced. Default maximum depth is setup to 1000 and
+  can be changed by new function recursionlimit or by preferences interface.
+
+* The floating point exception mode (ieee) is now set to 2 by default: floating point exceptions now produce "Inf" or "Nan",
+  and do not cause any error. The previous behavior can be recalled by simply calling: ieee(0)
+
+API modification
 ================
 
+* User-defined functions written in C (gateways) must now use the "pvApiCtx" name for their second parameter, for example:
+
+     int sci_Levkov(char *fname, void* pvApiCtx)
+
+ instead of any "unsigned long l". This is now requires for some macros, such as Rhs(), to work. 
+ (Although not strictly an API change, it may require gateway code to be modified).
+
+Bug Fixes
+=========
+
 * Bug #11511 fixed - error() did non accept string matrix (non regression test).
 
 * Bug #12044 fixed - Adding or substracting the empty matrix now return an empty matrix.
@@ -157,19 +188,20 @@ Scilab Bug Fixes
 * Bug #14232 fixed - Typos in Xcos.
 
 
-            Changes between version 5.5.2 and 6.0.0-alpha-1 of Scilab
-            =========================================================
-
 
+            Changes between version 5.5.2 and 6.0.0-alpha-1
+            ===============================================
 
-This file details the technical changes done in Scilab 6.0.0-alpha-1 release.
 
-For a more complete overview of the changes in this release, please consult the "What's new" page of the help, by simply typing "help" in Scilab console.
+Main new Features
+=================
 
+* New language parser and interpreter. See the help for more details.
 
+* Support for bigger data sets: dynamic memory usage. No need for "stacksize" anymore. See the help for more details.
 
-New Features
-=============
+Other feature additions
+=======================
 
 * scatter/scatter3 plot with different mark colors is now available.
 
@@ -354,8 +386,8 @@ Deprecated Behaviors
 * (a=b) executed like a == b is now deprecated and returns an error.
 
 
-Scilab Bug Fixes
-================
+Bug Fixes
+=========
 
 * Bug #6064 fixed - scatter function did not exist in Scilab.
 
@@ -398,14 +430,17 @@ Scilab Bug Fixes
 
 * Bug #13972 fixed - Wildcard ('*') was not managed in printf expressions.
 
+* Bug #14043 fixed - Gateway C prototype changed from int sci_...(char *fname, unsigned long l)
+                     to sci_...(char *fname, void* pvApiCtx). Variable name has to be 
+                     exactly "pvApyCtx" when macros are used in a gateway. (1)
+
+* Bug #14044 fixed - MALLOC.h is now renamed to sci_malloc.h. (1)
+
+(1) originally not documented in the alpha 1 release.
 
 Known issues
 =============
 
 * Xcos does not work in this version.
 
-* Debugging capabilities are not yet replugged.
-
-* Profiling capabilities are not yet replugged.
-
 * This version will start in English by default.
index 874cc37..c4aa64b 100644 (file)
@@ -33,9 +33,9 @@
     <br/>
 
     <div class="refsection">
-      <h3 class="title">Welcome to Scilab 6.0.0-alpha-1</h3>
+      <h3 class="title">Welcome to Scilab 6.0.0-alpha-2</h3>
       <p class="para">
-        Scilab 6.0.0 is a major new release of Scilab, the open source platform for numerical computation. This 6.0.0-alpha-1 release, is a preview for developers, partners and community evaluation.
+        Scilab 6.0 is a major new release of Scilab, the open source platform for numerical computation. This 6.0.0-alpha-2 release, is a preview for developers, partners and community evaluation.
       </p>
       <p class="para">
         As an alpha, this release is not yet ready for production usage. If you are new to Scilab, or if you are simply a user of Scilab, you should probably continue using the 5.5.2 release, and wait for a beta version before trying the 6 family.
@@ -45,8 +45,7 @@
         However, if you have already developed code on Scilab, or if you are an experienced user, then you should start looking at this release. Please try the work you have done on earlier releases of Scilab with this version: checking for compatibility may save you time later. If you find bugs or incompatibilities, please report them on our <a href="http://bugzilla.scilab.org/" class="ulink">Bug Tracker</a>: this will help get a better product, faster, which ultimately will be benefit you too.
       </p>
 
-      <h2 class="title">What's new in Scilab 6.0.0-alpha-1 ?</h2>
-
+      <h2 class="title">What's new in Scilab 6.0</h2>
       <p class="para">
         This release includes a major rewrite of Scilab's internal core. The changes to the visible aspects of the software are limited.
       </p>
           <li>Native data structures (cell, struct), as well as multidimensional matrices, which yield, in most cases, better performance, both in memory usage, and execution speed. There could be some performance degradation in some cases: please feel free to report them.</li>
         </ul>
       </p>
-      <p class="para">
-        These changes may not amount much to end-users, but they were much needed, much worked-on, improvements to the Scilab platform. These improvements will enable further improvements in the future, in terms of code management, development tools (debugger, analyzer...), as well as improvements to other part of the platform (Xcos...) that would not be possible without this release.
-      </p>
-      <h2 class="title">Specific new features and complete changelog</h2>
-      <p class="para">
-        For a complete list of changes between the 5.5.2 release and this release, please look at the CHANGES_6.0.X file present at the root of the installation of Scilab.
+      <p class="para">These changes enable additional functionalities; some of them were added in the alpha-2 release:
+        <ul>
+          <li>A full-featured debugger, with ability to run Scilab scripts or functions step-by-step, to put (conditional) breakpoint, in particular break only when an exception is set... has been added.  Run &quot;help debug&quot; for more information.</li>
+          <li>A new profiler and coverage tool has been added. It replaces the &quot;profile&quot; function (which is still there but not working, and will be removed in the final release).   It produces HTML report for the time spent (profile) on each line. It is not documented; the names of the functions are not finalized yet, feedback is welcome on the usability. Also, it is known not to work on Xcos, and probably does not work well on complex code.<li>
+          <li>A &quot;lint&quot;-like command, slint, has been added, for code static analysis: it detects unclear, risky or suspicious code. It is not documented yet, however.</li>
+        </ul>
       </p>
       <h2 class="title">Main limitations</h2>
       <p class="para">
         Several important parts of the platform are not functional in this alpha:
         <ul>
-          <li>Xcos is not functional yet; the editor is not working yet at in this alpha 1 (it will in the final release, for sure). The simulator has been ported but is still not usable,</li>
-          <li>The debugging and profiling capabilities present in the 5.5.2 version are not ported to 6; most likely it will be replaced by completly new features,</li>
-          <li>ATOMS is functional, but since none of ATOMS modules currently on <a href="http://atoms.scilab.org/">http://atoms.scilab.org/</a> have been ported, it is not of much use.</li>
+          <li>Xcos is only minimally functional. The schema editor is working for creating, editing and saving schemas, although some features are not working ("region to superblock"; complex linking using spits; editing blocks that use Scilab) but they should report clean errors. The simulator is still not usable, so simulations cannot work. This is mostly to get feedback on loading existing schemas; please report issues you get.
+</li>
+          <li>Extending Scilab with ATOMS modules is working, but only very few ATOMS modules currently on <a href="http://atoms.scilab.org/">http://atoms.scilab.org/</a> have been ported to Scilab 6, so it has only limited use.</li>
         </ul>
       </p>
+      <h2 class="title">Complete changelog</h2>
+      <p class="para">
+      For a more complete list of changes between the 5.5.2 release and the 6.0.0 alpha-1 and alpha-2 releases, please see the CHANGES_6.0.X file at the root of the installation.
+      </p>
     </div>
 
     <hr/>
index 96f2d92..e7dec48 100644 (file)
@@ -33,9 +33,9 @@
     <br/>
 
     <div class="refsection">
-      <h3 class="title">Bienvenue dans Scilab 6.0.0-alpha-1</h3>
+      <h3 class="title">Bienvenue dans Scilab 6.0.0-alpha-2</h3>
       <p class="para">
-        Scilab 6.0.0 est une nouvelle version majeure de Scilab, la plateforme open source de calcul numérique. Cette version 6.0.0-alpha-1 est un aperçu pour les développeurs, les partenaires et la communauté à des fins de tests.
+        Scilab 6.0 est une nouvelle version majeure de Scilab, la plateforme open source de calcul numérique. Cette version 6.0.0-alpha-2 est un aperçu pour les développeurs, les partenaires et la communauté à des fins de tests.
       </p>
       <p class="para">
         Comme toute alpha, cette version n’est encore pas prête pour être utilisée en production. Si vous débutez sur Scilab, ou si vous êtes un simple utilisateur, vous devriez continuer à utiliser la version 5.5.2, et attendre une version bêta avant d'essayer la famille 6.
@@ -45,8 +45,7 @@
         Toutefois, si vous avez déjà développé du code sur Scilab, ou si vous êtes un utilisateur avancé, vous pourriez être intéressé par cette version. Pourquoi ne pas essayer vos développements effectués sur des versions antérieures de Scilab dans cette version : vérifier la compatibilité peut vous économiser du temps par la suite. Si vous trouvez des bugs ou des incompatibilités, merci de les signaler sur notre <a href="http://bugzilla.scilab.org/" class="ulink">gestionnaire de bugs</a> : cela vous aidera à avoir un meilleur produit, plus rapide, dont vous serez également bénéficiaire.
       </p>
 
-      <h2 class="title">Les nouveautés de Scilab 6.0.0-alpha-1</h2>
-
+      <h2 class="title">Les nouveautés de Scilab 6.0</h2>
       <p class="para">
         Cette version inclut une réécriture majeure du noyau interne de Scilab. Les modifications apportées aux aspects visibles du logiciel sont limitées.
       </p>
@@ -56,7 +55,7 @@
           <li>Le langage est beaucoup plus cohérent et prévisible,</li>
           <li>La grammaire est plus stricte, mais plus cohérente,</li>
           <li>La gestion des erreurs a été améliorée (mais peut encore être limitée dans l'alpha : merci d’avance de nous signaler les problèmes que vous pourriez rencontrer),</li>
-          <li>Le langage est légèrement plus comptabile avec le langage Matlab (par exemple dans le cas d’instructions de contrôle telles que les déclarations switch/case).</li>
+          <li>Le langage est légèrement plus compabible avec le langage Matlab (par exemple dans le cas d’instructions de contrôle telles que les déclarations switch/case).</li>
         </ul>
       </p>
       <p class="para">
           <li>Les structures de données natives (cell, struct), ainsi que les matrices multidimensionnelles ont, dans la plupart des cas, de meilleures performances, tant en utilisation de la mémoire, qu’en rapidité d'exécution. Si dans certains cas, vous observez une baisse de performances, nous vous remercions de nous le signaler.</li>
         </ul>
       </p>
-      <p class="para">
-        Ces changements peuvent ne pas impacter certains utilisateurs finaux, mais ils étaient grandement nécessaires, ont été travaillés très sérieusement pour apporter des améliorations majeures à la plateforme Scilab. Ces améliorations conduiront à de nouvelles améliorations futures, en termes de gestion de code, d’outils de développement (débogueur, analyseur ...), ainsi que des améliorations de Xcos, qui ne seraient pas possibles sans cette version.
-      </p>
-      <h2 class="title">Nouvelles fonctionnalités spécifiques et changelog complet</h2>
-      <p class="para">
-        Pour une liste complète des changements entre la version 5.5.2 et cette version, veuillez consulter le fichier CHANGES_6.0.X présent à la racine de l'installation de Scilab.
+      <p class="para">Plusieurs fonctionnalités additionnelles ont été ajoutées grâce aux changements faits dans le coeurs. Certaines de ces fonctionnalités sont présentes dans la version alpha-2:
+        <ul>
+          <li>Un debugger entièrement fonctionnel a été ajouté, qui permet l’exécution pas-à-pas de scripts Scilab, l'insertion de points d’arrêt (conditionnels ou non)… La commande "help debug" permet d'accéder à une aide complète.</li>
+          <li>Un outil de mesure de couverture, et de profilage a été ajouté. Il remplace l’ancienne fonction “profile” (qui est encore présente, mais pas fonctionnelle, et qui sera retirée dans la version finale). Cet outil produit un rapport HTML  sur le mesure du temps passé dans chaque ligne de script (profile). Elle n’est pas documentée, et les fonctions pour l’appeler pourront changer encore avant la version finale.</li>
+          <li>Un outil d’analyse statique, slint, est présent: il détecte le code peu clair, risqué, ou suspect. Il n’est pas documenté encore.</li>
+        </ul>
       </p>
       <h2 class="title">Principales limitations</h2>
       <p class="para">
-        Plusieurs éléments importants de la plateforme ne sont pas fonctionnels dans cette alpha :
         <ul>
-          <li>Xcos ne fonctionne pas encore; l'éditeur ne fonctionne pas encore dans cette version alpha 1 (il le sera dans la version finale, bien sûr). Le simulateur a été porté, mais n’est pas encore utilisable,</li>
-          <li>TLes fonctionnalités de débogage et de profiling disponibles dans la version 5.5.2 ne sont pas portées dans la 6; Très probablement, elles seront remplacées par de toutes nouvelles fonctionnalités,</li>
-          <li>ATOMS est fonctionnel, mais comme aucun des modules ATOMS actuellement disponibles sur <a href="http://atoms.scilab.org/">http://atoms.scilab.org/</a> n’a été porté, il n’est pas d'une grande utilité.</li>
+          <li>La limitation de l'alpha-2 est maintenant que Xcos n'est que très partiellement fonctionnel : l'éditeur fonctionne, et peut charger et sauver des documents, mais certaines fonctionnalités sont encore manquantes ("superblocks", édition de blocks contenant du code Scilab, liens complexes). Surtout, la simulation ne fonctionne pas encore.</li>
+          <li>L'installation et l'usage de modules supplémentaires (ATOMS) est fonctionnelle, mais peu de modules disponibles sur <a href="http://atoms.scilab.org/">http://atoms.scilab.org/</a> ont été portés, donc cette fonctionnalités est d'un usage limité.</li>
         </ul>
+
+      </p>
+      <h2 class="title">Changelog complet</h2>
+      <p class="para">
+        Pour une liste complète des changements entre la version 5.5.2 et cette version, veuillez consulter le fichier CHANGES_6.0.X présent à la racine de l'installation de Scilab.
       </p>
     </div>