CHANGELOG.md in gisele-0.2.0 vs CHANGELOG.md in gisele-0.3.0

- old
+ new

@@ -1,56 +1,85 @@ +# 0.3.0 / 2012-02-20 + +* Major enhancements + + * The ugly "refinement ... end" construction has been removed. See info in the breaking + changes section below. + * The grammar now allows a task definition to contain the definition of sub tasks. The + idiomatic place is after fluent and trackvar definitions and before the refinement. + +* Minor enhancements + + * The --graph option now outputs one graph for each task_def in the unit. Previously only + the graph of the last task definition was printed. + +* Bugfixes + + * Missing edges for absent else clauses are now added to the graph generated by + the --graph option (ToGraph). + +* Breaking changes + + * The syntax and AST of a task definition has changed. The "refinement ... end" construct + has been removed and replaced by an explicit process statement. Accordingly, the nodes + task_refinement and task_signature have been removed as well. The AST signature of a task + definition is now as follows: + + [:task_def, "TaskName", (fluent_def, trackvar_def, task_def)*, explicit_statement] + # 0.2.0 / 2012-02-17 -## Enhancements +* Enhancements -* A --graph option has been added to the main `gisele` shell command. It outputs a graph in - the graphviz/dot format representing a process as a box-and-arrow workflow. + * A --graph option has been added to the main `gisele` shell command. It outputs a graph + in the graphviz/dot format representing a process as a box-and-arrow workflow. -## Breaking changes +* Breaking changes -* Boolean literals (true, false) are now explicitly represented in boolean expressions, - under a :bool_lit AST node. -* All statements and clauses relying on boolean conditions (if_st, while_st, elsif_clause, - when_clause) have now an explicit :bool_expr node as first child. Previously, a subnode - of the boolean grammar was used. + * Boolean literals (true, false) are now explicitly represented in boolean expressions, + under a :bool_lit AST node. + * All statements and clauses relying on boolean conditions (if_st, while_st, elsif_clause, + when_clause) have now an explicit :bool_expr node as first child. Previously, a subnode + of the boolean grammar was used. # 0.1.0 / 2012-02-17 -## Enhancements +* Enhancements -* The main `gisele` command now accepts a --no-sugar option that removes syntactic - sugar. This option is limited to the rewriting of `if` statements as guarded `case` - commands for now. Additional rewriting could be added in the future. -* All AST nodes (obtained via `Gisele.ast` or similar) now include the module - `Gisele::Language::AST::Node` which contains a few utilities. + * The main `gisele` command now accepts a --no-sugar option that removes syntactic + sugar. This option is limited to the rewriting of `if` statements as guarded `case` + commands for now. Additional rewriting could be added in the future. + * All AST nodes (obtained via `Gisele.ast` or similar) now include the module + `Gisele::Language::AST::Node` which contains a few utilities. -## Breaking changes +* Breaking changes -* The language package has been reorganized and is now considered as belonging to - the private API. Further changes there will therefore not b considered as Breaking - changes in the future (expect the structure of the AST, of course). - The `Gisele.parse` and `Gisele.ast` methods belong to the public API and are therefore - the way to (parse / get an AST) from a process file / source. + * The language package has been reorganized and is now considered as belonging to + the private API. Further changes there will therefore not b considered as Breaking + changes in the future (expect the structure of the AST, of course). + The `Gisele.parse` and `Gisele.ast` methods belong to the public API and are therefore + the way to (parse / get an AST) from a process file / source. -* The top AST element of a process file is always a :unit. The latter may contain - one ore more task definitions. Import/include nodes will probably be added later - and authorized at the beginning of the file. + * The top AST element of a process file is always a :unit. The latter may contain + one ore more task definitions. Import/include nodes will probably be added later + and authorized at the beginning of the file. -* The following syntax nodes have been renamed: - :varref -> :var_ref - :or -> :bool_or - :and -> :bool_and - :not -> :bool_not - :if -> :if_st - :else -> :else_clause - :elsif -> :elsif_clause - :while -> :while_st - :seq -> :seq_st - :par -> :par_st - :task_call -> :task_call_st - :task -> :task_def - :signature -> :task_signature - :refinement -> :task_refinement + * The following syntax nodes have been renamed: + + :varref -> :var_ref + :or -> :bool_or + :and -> :bool_and + :not -> :bool_not + :if -> :if_st + :else -> :else_clause + :elsif -> :elsif_clause + :while -> :while_st + :seq -> :seq_st + :par -> :par_st + :task_call -> :task_call_st + :task -> :task_def + :signature -> :task_signature + :refinement -> :task_refinement # 0.0.1 / 2012-02-16 * Enhancements