Coccinelle release 1.0.0c7.
[bpt/coccinelle.git] / changes.txt
index fa143f5..d0eee2b 100644 (file)
   in initialize and finalize rules
 - Support for matching #ifdef, etc.
 - function-typed metavariables
+- virtual typedef, declarer name, iterator name
+- regexps for type metavariables
 
 ** Features:
 - New scripting languages
+- more than one SP on the command line
 
 ** Bugfix:
 - Add more information in documentation, man pages and wiki
+- typedefs from C code should not be used before their point of inference
+  (saved_typedefs in cprogram_of_file)
+
+* 1.0.0
+** Language:
+- Addition of initializer list metavariables.  Thanks to Michael Stefaniuc
+  for noticing the need for them.
+- Allow multiple position variables per token
+- ++ can now be associated with - code
+- Allow /* */ comments as smpl comments, not only as + code
+- Add support for && (label addresses)
+- local idexpression metavariable no longer matches static local x
+- Consider using to be a comment in C++ code.  Patch submitted by Jani Monoses.
+- Command line cocci
+- print_main etc for ocaml Coccilib
+- =~ not ~= is used to indicate a regular expression constraint on an
+  identifier.  And !~ for a nonmatch.
+- allow long double, short int, long int, and long long int in SmPL code.
+- gcc constructors allowed in SmPL.  Thanks to Uwe Kleine-Koenig for
+  pointing out the problem.
+
+** Features:
+- Preserve spacing before // comments when not at the beginning of a line
+- Adjusted parsing of endif to put it after jump code
+- Improve warning message when using -use_cache
+- More helpful initial value for exported variables in python
+- Support - on expression nests
+- Better handling of the case of a matched declaration that should only
+  be replaced by other top level things.
+- Allow a semantic patch beginning and ending with braces to match the
+  complete body of a function if the braces are not removed and if nothing
+  is added before the first brace or after the last one.
+- Add -cache_prefix option, to specify where to put cached files.
+- Allow module_init(foo); to match module_init(foo) (or likewise for any
+  declarer), when no transformation is specified on the semicolon.
+- Add Coccilib.exit() for ocaml code and cocci.exit() for python code,
+  to abort the treatment of the current file.
+- Don't multiply print the same patch for the same file
+- Drop date in diff
+- Don't repeat smpl type warnings
+- -sp_file/-cocci_file are now optional.  If not present an argument that
+  ends in .cocci is assumed to be the name of the file containing the
+  semantic patch.
+- Allow limiting the size of a named cache using -cache_limit
+- Cache name specified with -cache_prefix is extended according to the
+  index (parallelism), if any.
+- Allow multi-character constants in C code and SmPL code.  Thanks to Kamil
+  Pilch for pointing out the problem.
+
+** Bugfix:
+- Corrected parsing of script strings delimited by a single quote.  Thanks
+  to Eugeniy Meshcheryakov for reporting the problem.
+- Improved indentation of added ifdefs.
+- Allow added comments and #ifdefs to precede other added code.  Thanks to
+  Jani Monoses for noticing the problem.
+- Corrected failure to due missing ocamlfind. Thanks to Derek M. Jones for
+  reporting the problem.
+- Allow fake nodes to be - in the allminus case, to drop tokens related to
+  a function definition or forward declaration but before the first code
+  mentioned in the semantic patch.
+- Drop __init etc when deleting a whole function.
+- Cause appropriate newlines to be preserved when multiple matches (trees)
+  contain adjacent modifications derived from the same SmPL code.
+- check_meta takes into account fresh identifier seed information.
+- Types for worth-trying optimization should not be followed by space
+- Improved filtering of result of matching atomic patterns
+- Drop positions before creating function prototype rules
+- Adjust position of { introduced by adding multiple statements in a
+  single-statement position
+- Drop newline after function call ( when all arguments on that line are
+  eliminated
+- Accept removal of a single declaration, replaced by arbitrary,
+  non-declaration code
+- smpl_spacing takes into account newlines, indentation
+- Improved prevention of transformations on toplevel { ... } from causing
+  changes outside function boundaries; also outside ifs, whiles, etc.
+  Changes are still allowed on { ... } present for other reasons.
+- Fix bug in include_match that caused everything to halt when all matches
+  were discarded
+- Don't call Insert_plus on rules that cannot be evaluated due to failed
+  dependencies.
+- Allow variable declaration right after a case in switch.
+- The top of a loop is also after the body of a loop, for ... in loop body
+- Do not anchor Str regexp at the beginning of the string to check
+- Type annotation for C code uses most recent env for typedefs when
+  possible.  Thanks to Andrea Canciani for pointing out the problem.
+- Pretty print pointer types without a trailing space.  Thanks to Michael
+  Stefaniuc for pointing out the problem.
+- Propagate dependencies further in get_constants2
+- Make lexer more dos friendly
 
 * 0.2.5
 ** Language: