• The version numbers x.y.z are synchronized such that x and y are identical for the 3 main sub-projects (grew, grew_gui, libcaml-grew). The third component z is linked to bug fixes and may vary across the 3 sub-projects.
• The symbol “⚠️” indicates changes that may break backward compatibility.

More detailled informations in files CHANGES.md for each sub-project: libcaml-grew, grew, grew_gui

# [last release] Version 1.2 on March 26, 2019

• Edge label can be viewed as feature structure “x:y” <=> “1=x, 2=y”
• Add global section in pattern (is_projective, is_cyclic, is_tree, is_forest)
• Add ?get_url parameter to Graph.to_dot (AMR handling in Grew-match)
• Add a notion of pivot node in pattern for Grew-match export
• Add Libgrew.set_track_rules function

# Version 1.1 on November 23, 2018

• More general definition of pattern edges (String are available everywhere)
• Update to new MWE types (with projection information)

# Version 0.48 on June 19, 2018

• remove conll_fields mechanism (names of conll fields 2, 4 and 5 are form, upos, xpos). See here for more information.

# Version 0.47 on March 13, 2018

• Add grewpy executable for Python library
• -safe_commands option

# Version 0.46 on December 14, 2017

• GTK interface is proposed as a separate package and so Grew without GUI is much more easy to install
• Command line arguments were revisited (see Run Grew page)

More detailled informations in files CHANGES.md for each sub-project: libcaml-grew, grew, grew_gui

# Version 0.45 on October 10, 2017

• features structures given in column 10 of CoNLL are kept in the output
• ⚠️ new grs syntax (grs) is required; old syntax can be used with the command line argument -old_grs
• ⚠️ in patterns, implicit node declaration is available only for nodes in edge (see below)

### Implicit nodes in version 0.45

In pattern, you can refer only to nodes which are explicitely declared or declared in a edge declaration. The following patterns used to be valid (with a implicit declaration of node M), but there are not anymore

pattern { N[cat=NOUN]; M < N }
pattern { N[cat=NOUN]; M.cat = VERB }
pattern { N[cat=NOUN]; M -[obj]-> * }


They have to be replaced by, respectively:

pattern { N[cat=NOUN]; M[]; M < N }
pattern { N[cat=NOUN]; M[]; M.cat = VERB }
pattern { N[cat=NOUN]; M[]; M -[obj]-> * }


But it is still possible to write

pattern { N[cat=NOUN]; N -[obj]-> M }


# Version 0.44 on September 05, 2017

• ⚠️ new grs syntax (with package and strategies), see grs.

# Vversion 0.43 on May 23, 2017

## Syntax changes

The syntax changes below make existing Grew code to be deprecated. The old syntax is still accepted but for a limited amount of time, please update your existing GRS system soon.

• ⚠️ the keyword confluent is replaced by the keyword deterministic (it was confusing to use the keyword “confluent” with modules which are not confluent).
• ⚠️ the keyword match is replaced by the keyword pattern.

## Command actions

• ⚠️ the shift command semantics: edges with source and target nodes in the pattern are not concerned by the shifts
• a new syntax is available for the command add_edge (issue #2). See command documentation.

## Removed old stuff

• ⚠️ old syntax for node addition is no longer supported:
add_node PRO: <-[obj.p]- PREP;


must be replaced by the sequence of two commands:

add_node PRO :> PREP;