diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/compiler/compiler-history/eiffelstudio-6-compiler-history/major-changes-between-ise-eiffel-67-and-ise-eiffel-68.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/compiler/compiler-history/eiffelstudio-6-compiler-history/major-changes-between-ise-eiffel-67-and-ise-eiffel-68.wiki
index 0541e4a4..ba7ce5ee 100644
--- a/documentation/current/eiffelstudio/eiffelstudio-reference/compiler/compiler-history/eiffelstudio-6-compiler-history/major-changes-between-ise-eiffel-67-and-ise-eiffel-68.wiki
+++ b/documentation/current/eiffelstudio/eiffelstudio-reference/compiler/compiler-history/eiffelstudio-6-compiler-history/major-changes-between-ise-eiffel-67-and-ise-eiffel-68.wiki
@@ -11,14 +11,18 @@
* Extended types supported by EiffelStore, especially STRING_32 for Unicode string types.
* Improved memory management in EiffelStore, ODBC implementation.
* Set file name of current class to the Save File As dialog.
+* Made ECF parser more tolerant by converting errors into warnings when the current namespace is unknown.
+* Improved error reporting by including attachment status indicator in type information so that one can easily see the difference between attached and detachable types when they come from the classes with different default attachment settings.
==Changes==
+* Made feature {ITERATION_CURSOR}.start optional when processing an iteration form of a loop.
==Bug fixes==
* Various bug fixies in EiffelStore.
* Fixed the bug in the Info tool when deleting an EIS entry, selecting No did not actually cancel the deletion.
* Fixed bug#17374: Feature call on void target in {EB_CLASS_INFO_ANALYZER}.stone_in_click_ast in EiffelStudio
* Fixed bug#17299: Locale preference lost the second time opening ES.
+* Fixed a crash when there is an error inside a check instruction.
===Language issues===
diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/compiler/syntax-level-variant-settings-version.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/compiler/syntax-level-variant-settings-version.wiki
index 0182eecc..d4ca8720 100644
--- a/documentation/current/eiffelstudio/eiffelstudio-reference/compiler/syntax-level-variant-settings-version.wiki
+++ b/documentation/current/eiffelstudio/eiffelstudio-reference/compiler/syntax-level-variant-settings-version.wiki
@@ -35,7 +35,7 @@ The options are distinguished by how the compiler handles the processing of cert
|-
! Obsolete !! Transitional !! Standard !! Provisional
|-
-! rowspan="9" style="valign: center; text-align: center;" | [[Release notes for EiffelStudio 6.7 | 6.7]], [[Release notes for EiffelStudio 6.6 | 6.6]]
+! rowspan="9" style="valign: center; text-align: center;" | [[Release notes for EiffelStudio 6.8 | 6.8]], [[Release notes for EiffelStudio 6.7 | 6.7]], [[Release notes for EiffelStudio 6.6 | 6.6]]
| style="color: gray;" | across
| style="color: gray;" | across
| style="color: gray;" | across
diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/eiffelstudio-release-notes/eiffelstudio-6-release-notes/release-notes-eiffelstudio-68.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/eiffelstudio-release-notes/eiffelstudio-6-release-notes/release-notes-eiffelstudio-68.wiki
index 87864077..164539b9 100644
--- a/documentation/current/eiffelstudio/eiffelstudio-reference/eiffelstudio-release-notes/eiffelstudio-6-release-notes/release-notes-eiffelstudio-68.wiki
+++ b/documentation/current/eiffelstudio/eiffelstudio-reference/eiffelstudio-release-notes/eiffelstudio-6-release-notes/release-notes-eiffelstudio-68.wiki
@@ -1,15 +1,19 @@
[[Property:title|Release notes for EiffelStudio 6.8]]
[[Property:link_title|6.8]]
[[Property:weight|-15]]
-[[Property:uuid|de57f53e-16e7-79d8-cf68-e35e4be88ea8]]
+[[Property:uuid|5b3df521-34a8-27a2-4261-830973a62673]]
==Graphical environment==
===What's new===
===Improvements===
+* Improved dialog that adds a new class to the system: changed button label to be more explicit about its action, removed detachable status when it is not used, removed unnecessary frame boxes, simplified code that opens the dialog.
+* Avoided class counter increment in automatically generated class name if class addition is cancelled.
===Changes===
===Bug fixes===
+* Corrected output of the iteration form of a loop in clickable views.
+* Fixed feature call on void target when reopening a project with diagram tool that contains cluster legend.
==Compiler==
* Click [[Major changes between ISE Eiffel 6.7 and ISE Eiffel 6.8|here]] for the compiler release notes.
@@ -23,6 +27,8 @@
==Libraries==
===EiffelBase===
+* Minimized interface of ITERATION_CURSOR to simplify crafting cursors for iteration form of a loop on non-container classes, for example, on externally-driven input like files, sockets, etc.
+
===EiffelVision2===
* [[Revisions and Bug Fixes|Click here for EiffelVision2 release notes.]]
diff --git a/documentation/current/solutions/concurrent-computing/concurrent-eiffel-scoop/scoop-examples/observer-pattern.wiki b/documentation/current/solutions/concurrent-computing/concurrent-eiffel-scoop/scoop-examples/observer-pattern.wiki
index 186f31ed..3b8bb6db 100644
--- a/documentation/current/solutions/concurrent-computing/concurrent-eiffel-scoop/scoop-examples/observer-pattern.wiki
+++ b/documentation/current/solutions/concurrent-computing/concurrent-eiffel-scoop/scoop-examples/observer-pattern.wiki
@@ -5,26 +5,27 @@
=Description=
-The Observer pattern example should be considered to some degree a work in progress. During the development of SCOOP for EiffelStudio, Eiffel Software engineers began to think in terms of the impact that SCOOP might have on our own software. One area that emerged was the parsing of Eiffel software text during compilation. You know that Eiffel systems are composed of modules called classes. In a non-concurrent compilation process, the classes are parsed one after another. However, there is no reason why parsing cannot take place on multiple SCOOP processors.
+The Observer pattern example should be considered a work in progress. During the development of SCOOP for EiffelStudio, Eiffel Software engineers began to think in terms of the impact that SCOOP might have on our own software. One area that emerged was the parsing of Eiffel software text during compilation. You know that Eiffel systems are composed of modules called classes. In a non-concurrent compilation process, the classes are parsed one after another. However, there is no reason why parsing could not take place on multiple, concurrently executing SCOOP processors.
You may remember seeing as you compile an Eiffel system, the different degrees of compilation counting down. Degree 5 is a phase of compilation that deals with parsing classes and creating an abstract syntax tree. The Observer pattern example tries to imagine concurrent Degree 5 parsing in the presence of SCOOP.
-You should understand that the example doesn't really parse code. Rather, it just tries to show what such a concurrent parser could look like, and the parsing step just involves a short wait to simulate the time that parsing would take.
+
+{{note|You should understand that the example doesn't really parse any Eiffel code or, for that matter, involve any real code files. Rather, it just tries to show what the structure of such a concurrent parser might look like, and the parsing step just involves a short wait to simulate the time that parsing would take.}}
=Highlights=
-The name of this example is Observer pattern, but it's not a classic example of the [http://en.wikipedia.org/wiki/Observer_pattern Observer design pattern] as commonly known. But it does have elements of the observer pattern that we will see.
+The name of this example is Observer pattern, but it's not a classic example of the [http://en.wikipedia.org/wiki/Observer_pattern Observer design pattern] as commonly known. But it does have elements of the observer pattern, as you will see below.
-The important classes here are DEGREE_5, EIFFEL_PARSER_POOL, and EIFFEL_PARSER. DEGREE_5 represents Eiffel compilation degree five, parsing of classes. In the example, DEGREE_5 uses an instance of EIFFEL_PARSER_POOL to manage a pool of instances of EIFFEL_PARSER which actually do the parsing. The EIFFEL_PARSERs are declared separate so that they can work concurrently, parsing different files (of course, remember that in this example the parsing is just simulated).
+The important classes here are DEGREE_5, EIFFEL_PARSER_POOL, and EIFFEL_PARSER. DEGREE_5 represents Eiffel compilation degree five, parsing of classes. In the example, DEGREE_5 uses an instance of EIFFEL_PARSER_POOL to manage a pool of instances of EIFFEL_PARSER which actually do the (simulated) parsing. The EIFFEL_PARSERs are declared separate so that they can work concurrently, parsing different files.
When DEGREE_5 creates the EIFFEL_PARSER_POOL, it provides a maximum number of parsers to be held in the pool and a function agent which the pool can use to create a new parser instance. Then when DEGREE_5 asks the pool to parse a file, it provides references to the file itself and two procedure agents: one for pre-parse processing and one for post-parse processing.
-The pre-parse processing gives the EIFFEL_PARSER_POOL an agent that can be used to set up a parser before asking it to parse a file.
+The pre-parse processing agent is associated with a routine that is used to set up a parser before asking it to parse a file.
When an EIFFEL_PARSER finishes with a file, it calls the agent for post-parse processing. In this way, it notifies the instance of DEGREE_5 that it is done with that file.
-So, it is here that elements of the observer pattern are evident, just in a slightly non-typical way. In more typical observer pattern examples, there is one observed object and a set of one or more observers. But here, there is one observer, the instance of DEGREE_5, and many observable objects, the parsers. Also, instead of making calls directly to the observer, the observed objects apply the agents that have been provided by the observer.
+So, it is here that elements of the observer pattern become evident, just in a slightly non-typical way. In more typical observer pattern examples, there is one observed object and a set of one or more observers. But here, there is one observer, the instance of DEGREE_5, and many observable objects, the parsers. When parsers complete their work, they notify their observer (the DEGREE_5), that they are done by executing the routine associated with the post-parse agent. So there's another difference, too. Instead of making calls directly to the observer, the observed objects apply the agents that have been provided by the observer.