-*-org-*-
* version 0.4 [2018-04-07 Sat]

** Changes in dwgrep

- Fix file name shown when -H is passed and no files are given on the command
  line. Before, it was <no-file> somewhere and empty string elsewhere. Now it's
  <no-file> everywhere.

- Support passing arguments to scripts from the command line. Two new command
  line flags are available: -a for passing in simple strings, and --a, whose
  argument is parsed as Zwerg expression, and TOS of the yielded stack is passed
  to the script. The arguments are pushed to input stack of the query
  expression, which can bind them using lexical scope, or use arbitrarily.
  - Fixes #13: Support passing arguments to scripts from command line

  For example:
  $ ./dwgrep/dwgrep foo --a DW_AT_language \
        -e '(|At| entry attribute (label == At))'
  language	C99

- Position reported at Dwarf values passed in from command line used to be
  always 0. Now it's the file's position on command line:

	$ dwgrep /bin/true /bin/false -he '[|Dw| Dw name, Dw pos]'
	["/bin/true", 0]
	["/bin/false", 1]

** Changes in libzwerg

- Fix a bug introduced in 0.3 where a captured expression wasn't reset properly,
  due to which after the first list was produced, the following lists were all
  empty.

** Changes in Dwarf support

- Support DW_DEFAULTED_* suite of constants. Use them to decode DW_AT_defaulted.

- Support decoding of DWARF 5 attributes DW_AT_string_length_bit_size,
  DW_AT_string_length_byte_size, DW_AT_rank, DW_AT_alignment,
  DW_AT_str_offsets_base, DW_AT_addr_base, DW_AT_rnglists_base, and
  DW_AT_loclists_base.

- Unhandled attributes in the DW_AT_lo_user .. DW_AT_hi_user area are now
  decoded implicitly as unsigned.

- Integral attributes with encoding DW_ATE_boolean are now decoded as booleans,
  not as plain unsigned numbers.

- Attributes with block forms whose length is 1, 2, 4 or 8 bytes, are decoded as
  if they were integrals. Encoding of the attribute determines how exactly will
  the integral be decoded.

** Changes in Zwerg language

- Allow bindings named the same way as a built-in word. This is important for
  forward-compatibility: adding built-in words doesn't break existing queries
  that use that name for a binding.
  - Fixes #29: Allow naming variables like builtins

* version 0.3 [2017-12-09 Sat]

** Backward-incompatible Changes

  - Change parsing of integer literals. Integer literals are now seqences of
    alphanumeric characters that start with a decimal digit (e.g. 123, 0xff),
    whereas before, they were seqences of characters indicated by the number
    prefix (e.g. 0x indicated [0-9a-f] as appropriate character set).

    Thus apparent typos such as "0b123" are not parsed as "0b1" followed by "23"
    anymore, but as "0b123", which is flagged as error. Likewise strings such as
    "123drop", which were previously valid, are not anymore.

** Other Changes

  - dwgrep can now dump location lists.

  - Small changes to the C API and a lot of documentation. The API in still
    unstable and preliminary.

  - Fix building on GCC 4.8 and 7.0.
    - Fixes #28: Include <functional> header for std::function

  - Rework how variable binding works. There should be no user-visible changes
    for programs that were not relying on undocumented behavior.
    - Fixes #25: Frame cloning too expensive

  - Error messages are now printed to stderr, not stdout.

  - Fix --help to include full first sentence of option description, and not
    stop at the first period.


* version 0.2 [2015-02-28 Sat]

  - ELF symbol tables are supported.  New word `symbol` applicable to
    DWARF value yields ELF symbols.  Words `label`, `value`,
    `address`, `name`, `size` `binding`, `visibility` operate on ELF
    symbols.

  - C API is considerably more complete, and now used exclusively by
    the "dwgrep" command-line driver to communicate with libzwerg.  It
    is however still not considered stable and is undocumented.

  - The word `length` is now applicable to location lists.

  - Bug fixes (issues #5, #6, #7, #8, #14, #15, #16, #17, #22, #26).


* version 0.1 [2014-12-10 Sun]

  - Initial release.
