Revision history for Org-Parser

0.47    2016-04-01 (PERLANCAR)

        - parse_file(): Add option 'cache' to turn on caching (the old
          'cache_file' is replaced by this option; the 'cache' option selects a
          default cache dir in ~/.cache/perl-org-parser/ to make things more
          transparent and caching easier). Caching can also be enabled (or
          disabled) by setting PERL_ORG_PARSER_CACHE=1 (or 0).


0.46    2016-03-24 (PERLANCAR)

        - walk(): Pass 2nd argument to code: level (currently undocumented).
          Currently this is used by the `stat-org-document` script to get tree
          depth and number of elements at each level.

        - Replace File::Slurp::Tiny with File::Slurper.


0.45    2015-08-18 (PERLANCAR)

	- No functional changes.

	- Switch from Log::Any to Log::Any::IfLOG.


0.44    2015-03-14 (PERLANCAR)

	- Add cmp_priorities() method to Org::Document.

	- Add headlines() method to Org::Element.


0.43    2014-12-01 (PERLANCAR)

	- No functional changes.

	- [Bugfix] Fix logic in headline's get_property(), the previous fix
          didn't really fix the problem [RT#100553].


0.42    2014-11-26 (PERLANCAR)

	- Fix get_property()'s search_parent argument (was not properly
	  implemented) [RT#100553].


0.41    2014-11-18 (PERLANCAR)

        - Add role: Org::Element::InlineRole, which adds the 'as_text' method to
          get "rendered plaintext" representation of element. This is mostly
          identical to what 'as_string' returns, except for links in which case
          'as_text' will return the description or the link instead of the raw
          representation [RT#100396].

        - Fix documentation [RT#100395].

        - Add some known settings [RT#100394].


0.40    2014-07-17 (PERLANCAR)

        - [Bugfix] miscached todo keywords and priorities from previous parse
          due to the use of /o regex modifier [RT#98375].


0.39    2014-07-17 (SHARYANTO)

        [ENHANCEMENTS]

        - Support parsing progress cookie in headline (e.g. '* TODO title [5/10]').

        - Accept ( and { to start markup, like Emacs (but { hasn't worked yet)
          [RT#95947].


        [BUG FIXES]

        - Non-TODO headlines can have priority too, so the 'todo_priority'
          attribute is renamed to 'priority' [RT#95947](2014-07-16). The old
          name is deprecated and will be supported for a while before it is
          removed.

        [DOCUMENTATION]

        - Reduce confusion about array/list/arrayref [RT#97244].


0.38    2014-05-17 (SHARYANTO)

        - Update timestamp parsing to follow newer org-mode ([2014-01-06] is
          allowed as well as [2014-01-06 ]).

        - Replace File::Slurp with File::Slurp::Tiny.


0.37    2013-10-27 (SHARYANTO)

        - Support parsing habit-style repeater (thanks Alex White).


0.36    2013-09-23 (SHARYANTO)

        - No functional changes. Update test due to updated timezone database
          (WIT -> WIB) [CT].


0.35    2013-09-05 (SHARYANTO)

        - Text below a list item, indented at the same level as or less than the
          list item, can now break the list. This is the behavior of newer
          Org-mode (7.x?) and the one that makes more sense. Thanks to Trent
          Fisher for finding out about the issue and providing a test case.

        - List: add items().


0.34    2013-06-28 (SHARYANTO)

        - Add some more known settings from the Orgmode manual's index.


0.33    2013-06-26 (SHARYANTO)

        - No functional changes. Second attempt: add 'use experimental
          "smartmatch"' must be given after 'use Moo'.


0.32    2013-06-25 (SHARYANTO)

        - No functional changes. Add 'use experimental "smartmatch"' for 5.18+.


0.31    2013-05-15 (SHARYANTO)

        [BUG FIXES]

        - ListItem: dumping description list item didn't dump the description
          term and the " ::" string.


0.30    2013-02-06 (SHARYANTO)

        [ENHANCEMENTS]

        - Headline: Add get_drawer() (implemented by Meng Weng Wong).


0.29    2013-01-15 (SHARYANTO)

        [INCOMPATIBLE CHANGES]

        - Move get_property() from Org::Element to Org::Element::Headline and
          change it so it searches children instead of siblings. This is the
          correct behavior, as properties are associated with entries/headlines
          and not any element. Ref:
          http://orgmode.org/manual/Properties-and-Columns.html [RT#82658].
          Thanks Meng Weng Wong.


0.28    2013-01-07 (SHARYANTO) - Happy new year! (my first release in 2013)

        - No functional changes.

        [BUG FIXES]

        - Correct as_string() for link [RT#82334]


0.27    2012-08-07 (SHARYANTO)

        - No functional changes. Increase Perl minimum version requirement from
          5.10.0 to 5.10.1 due to failing reports in 5.10.0 [RT#78795]. Thanks,
          Andreas.


0.26    2012-07-23 (SHARYANTO)

        [ENHANCEMENTS]

        - Org::Parser: Add 'cache_file' option to parse_file(). Caching is done
          by storing the parsed Org::Document object using Storable. The
          storable file will be used as long as the original Org file is not
          modified. It is useful if you often parse a less-often-modified,
          largish Org file.

        - Org::Element: Make walk() able to walk headline's title.

        - Org::Element::Timestamp: Add clear_parse_result() to make timestamp
          object serializable.


0.25    2012-07-21 (SHARYANTO)

        - No functional changes. Add Unicode test files.


0.24    2012-07-17 (SHARYANTO)

        - Add binmode => ':utf8' flag to read_file() [RT#78423].


0.23    2012-04-14 (SHARYANTO)

        - No functional changes. Another increase in parsing speed by avoiding
          doing unnecessary stuffs in first pass and adding m//o flag. A speedup
          of about 1.25x is expected.


0.22    2012-04-13 (SHARYANTO)

        - No functional changes. Faster parsing (reduce overheads from logging
          statements and %+ access). A speedup of about 2x is expected.


0.21    2011-09-23 (SHARYANTO)

        - No functional changes. Remove debug message.


0.20    2011-09-23 (SHARYANTO)

        [ENHANCEMENTS]

        - Allow setting time zone (for timestamps).


0.19    2011-09-22 (SHARYANTO)

        [ENHANCEMENTS]

        - Table: Add as_aoa().

        - Table row: Add as_array().


0.18    2011-08-11 (SHARYANTO)

        [INCOMPATIBLE CHANGES]

        - Rename Org::Element::ShortExample to Org::Element::FixedWidthSection.

        - Allow /^\s*:$/ line as a special case in fixed width section (ref:
          [org-mode feb52f9028e73f0f49390780bb2e61cc9da04303])


0.17    2011-07-27 (SHARYANTO)

        [INCOMPATIBLE CHANGES]

        - Rename Org::Element::Base to Org::Element.

        [ENHANCEMENTS]

        - Allow decimal fraction on timestamp repeater & warning period.

        - Base: add method remove().

        - Headline: add methods {promote,demote}_{node,branch}().


0.16    2011-06-16 (SHARYANTO)

        - Relax timestamp parsing for Chinese/French timestamps.


0.15    2011-06-09 (SHARYANTO)

        [REMOVED]

        - dump-org-structure script moved to App::OrgUtils.

        [ENHANCEMENTS]

        - Base: Add field_name().

        - Headline: Add is_leaf().


0.14    2011-06-06 (SHARYANTO)

        [ENHANCEMENTS]

        - Headline: Add get_active_timestamp().


0.13    2011-06-06 (SHARYANTO)

        - No functional changes for the parser.

        [REMOVED]

        - Spin off 'remind-due-todos' script into App::ListOrgHeadlines.


0.12    2011-05-25 (SHARYANTO)

        [ENHANCEMENTS]

        - Compliance: Parse .+/++ repeater forms and warning period in timestamp
          [thanks Louis B. Moore]

        [BUG FIXES]

        - Fix regex for parsing table [RT#68442, thanks Slaven Rezic]

        [ETC]

        - Use utf8 in dump-org-structure script.


0.11    2011-05-23 (SHARYANTO)

        [ENHANCEMENTS]

        - Compliance: blocks can be indented.

        - Compliance: some settings can be indented.

        - Parse short example (one-line literal example with colon+space prefix
          syntax). See Org::Element::ShortExample.


0.10    2011-04-21 (SHARYANTO)

        [FIXES]

        - Fixes to POD documentation.

        - More specific regex for tag.

        [ETC]

        - Update todo.org (some questions cleared up by Carsten Dominik)


0.09    2011-03-31 (SHARYANTO)

        [FIXES]

        - Fix SYNOPSIS, use a slightly more complex Org document example.


0.08    2011-03-23 (SHARYANTO)

        [FIXES]

        - Update bin/remind-due-todos.


0.07    2011-03-23 (SHARYANTO)

        [ENHANCEMENTS]

        - Org::Element::Base: add find(), walk_parents(), headline()

        - Org::Element::Headline: add get_tags()


        [FIXES]

        - Link description can contain markups.


0.06    2011-03-23 (SHARYANTO)

        [FIXES]

        - Some regex fixes.


0.05    2011-03-23 (SHARYANTO)

        [INCOMPATIBLE CHANGES]

        - Org::Element::TimeRange: datetime1 & datetime2 attributes removed,
          replaced with ts1 & ts2 (timestamp elements).

        [ENHANCEMENTS]

        - Parses event duration and repeater interval in timestamps.


0.04    2011-03-22 (SHARYANTO)

        - This release is a major refactoring from the previous one.

        [INCOMPATIBLE CHANGES]

        - Org::Parser: handler() removed, use Org::Document's walk() instead.

        - Refactoring: some classes removed/merged, some added.

        [ENHANCEMENTS]

        - Dual-pass parsing for more correct behaviour.

        - Parse link, plain list (including ordered/unordered/description list),
          target, radio target, comment, footnote.

        - Add a couple of utility methods in Element::Base: seniority(),
          prev_sibling(), next_sibling(), walk(), get_property().

        [ETC]

        - Project todo list now in distribution's todo.org


0.03    2011-03-18 (SHARYANTO)

        [ENHANCEMENTS]

        - Parse text markups (bold, italic, etc).

        - bin/dump-org-structure outputs nicer format.

        [FIXES]

        - Todo keyword can also be separated from title with \W (not just \s),
          e.g. '* TODO/quit smoking'.


0.02    2011-03-17 (SHARYANTO)

        [INCOMPATIBLE CHANGES]

        - Refactoring: parser now returns Org::Document instance, which contains
          Org::Element instances. handler sub parameter changed.

        [ENHANCEMENTS]

        - Parse tables.

        - Headline titles can now contain inline elements (normal text as well
          as other elements, such as timestamps, etc).

        - Add another example script: dump-org-structure.

        - Recognize blocks: HTML, LATEX, ASCII.

        [FIXES]

        - Setting/block/drawer/property names are case-insensitive.


0.01    2011-03-16 (SHARYANTO)

        - First release.
