Enhancement for the clocktable.
[org-mode.git] / ORGWEBPAGE / Changes.org
blobe45569655caaf0dbfbf1f2d1963f6d568dc59835
1 #   -*- mode: org; org-export-publishing-directory: "tmp"; fill-column: 65 -*-
3 #+TITLE: Org-mode list of User-visible changes
4 #+AUTHOR:  Carsten Dominik
5 #+EMAIL:  carsten at orgmode dot org
6 #+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} *:t TeX:t LaTeX:nil
8 * Version 6.00
10 ** Details
12 *** Improvements to clocktable
14     - The clocktable is now much more flexible and user friendly
15       when trying to specify the time block that should be
16       considered when constructing the table.
18       The =:block= parameter to the table can now look like any
19       of these:
20       
21       | :block       | meaning               |
22       |--------------+-----------------------|
23       | 2008         | The entire year 2008  |
24       | 2008-04      | The month April 2008  |
25       | 2008-04-02   | The day April 2, 2008 |
26       | 2008-W14     | ISO-Week 14 in 2008   |
27       | today        | Today                 |
28       | today-5      | The day five days ago |
29       | thisweek     | The current week      |
30       | thisweek-2   | Two weeks ago         |
31       | thismonth    | The current month     |
32       | thismonth-12 | Same month, last year |
33       | lastmonth    | Same as thismonth-1   |
36       What is more, you can now use the =S-left= and =S-right=
37       keys while the cursor is on the =#+BEGIN: clocktable= line
38       and the the time block around.  If the current block is
39       =today=, =S-left= with switch to yesterday.  If the current
40       block is =2008-W14=, =S-right= will switch to the following
41       week.
43     - When the clocktable is collecting from several files, the
44       total time for each file will now also be listed.  This was
45       a request from Bernt Hansen.
47 *** Selective tag inheritance
49     Inheritance of tags can now be limited to a subset of all
50     tags, using the variable =org-use-tag-inheritance=.  This
51     variable may now be a regular expression or a list to select
52     the inherited tags.  Thanks to Michael Ekstrand for this
53     excellent proposal.
55     The regexp option is also implemented for
56     =org-use-property-inheritance=, so that you can now select
57     properties for inheritance my name.
59 *** Changes to property API
61     The INHERIT flag to the function =org-entry-get= can be set
62     to the symbol =selective=.  If this is the case, then the
63     value of the property will be retrieved using inheritance if
64     and only if the setting in =org-use-property-inheritance=
65     selects the property for inheritance.
67 *** Support for ISO week dates (ISO 6801)
69     Dates in the agenda now show the ISO week an day
70     specification, in the form =W08 2=, meaning Tuesday of
71     week 2.
73     The keys =d=, =w=, =m=, and =y= in the agenda view now accept
74     prefix arguments.  Remember that in the agenda, you can
75     directly type a prefix argument by typing a number, no need
76     to press =C-u= first.  The prefix argument may be used to
77     jump directly to a specific day of the year, ISO week, month,
78     or year, respectively.  For example, =32 d= jumps to February
79     1st, =9 w= to ISO week number 9.  When setting day, week, or
80     month view, a year may be encoded in the prefix argument as
81     well.  For example, =200712 w= will jump to week 12 in the
82     year 2007.  If such a year specification has only one or two
83     digits, it will be mapped to the interval 1938-2037.
85     When entering a date at the date prompt, you may now also
86     specify an ISO week.  For example
88     : w4              Monday of week 4
89     : fri w4          Friday of week 4
90     : w4-5            Same as above
91     : 2012 w4 fri     Friday of week 4 in 2012.
92     : 2012-W04-5      Same as above
94     So far I have not implemented the effect of
95     `org-read-date-prefer-future' on this functionality, because
96     it seemed too magic for me.  I'd appreciate comments on this
97     issue:  Should `org-read-date-prefer-future' also push dates
98     into the next year if the week you are entering has already
99     passed in the current year?  For consistency I guess this
100     should be the case, but I cannot quite wrap my head around
101     it.
103     I hope but am not entirely convinced that this will behave
104     sanely also during the first/last week of a year.  Please
105     test extensively and report back.
107     This was a request by Thomas Baumann.
109 *** Loading modules
111     Org-mode has now a system for loading modules by simply
112     configuring an option that lists all the modules you want to
113     use.  Customize the variable `org-modules'.  That variable
114     lists modules that are part of the Org-mode core (and in this
115     way part of Emacs), as well as contributed packages that will
116     only be available when you have installed them properly (most
117     likely by downloading the distribution and adding
118     CONTRIB/lisp to your load path.
120 *** Improvements in Search View
121     
122     - Calling search view with a C-u prefix will make it match
123       only in TODO entries.
125     - The single quote is no longer considered a word character
126       during search, so that searching for the word "Nasim" will
127       also match in "Nasim's".
129 *** Misc
131    - When an entry already has a scheduling or deadline time
132      stamp, calling `C-c C-s' or `C-c C-d', respectively, will
133      now use that old date as the default, and you can can use
134      the "++4d" syntax to invoke shifts relative to that default
135      date.  Simply pressing RET at the prompt will keep the
136      default date, not switch to today.
138      This was an omission in the earlier implementation, spotted
139      by Wanrong Lin.  Thanks!
141    - File names in remember templates can be relative, they will
142      be interpreted relative to =org-directory=.
144 * Version 5.23
146 ** Overview
148    - New keyword search agenda view
150    - Many new extensions available in the CONTRIB directory
152    - New remember template option: pre-selection contexts
154    - Modifying list/headline status of a line
156    - Granularity while editing time stamps
158    - New repeaters mechanisms
160    - New parameters for dynamic blocks ad the clock table
162    - Limiting iCalendar export to fewer entries
164    - =M-RET= splits lines again
166    - New hooks
168 ** Incompatible changes
170    - The variable `org-time-stamp-rounding-minutes' is now a list
171      of two values - if you have configured this variable before,
172      please do it again.
174 ** Details
176 *** New keyword search agenda view
178     `C-c a s' now invokes a special agenda view that can be used
179     to search notes by keyword and regular expressions.  In
180     particular, it does not require a single regular expression
181     or string to search for, but it can search for a number
182     keywords or regexps that can occur in arbitrary sequence in
183     the entry.  The search knows the boundaries of an entry, can
184     use simple Boolean logic and is reasonably fast.  For
185     example, the search string
187     : +computer +wifi -ethernet -{8\.11[bg]}
189     will search for note entries that contain the keywords
190     =computer= and =wifi=, but not the keyword =ethernet=, and
191     which are also not matched by the regular expression
192     "8\.11[bg]", meaning to exclude both 8.11b and 8.11g.  If the
193     first character of the search string is an asterisk, the
194     search will only look at headlines - otherwise it will look
195     at the headine and the text below it, up to the next
196     (possibly sub-) heading.
198     The command searches all agenda files, and in addition the
199     files listed in =org-agenda-text-search-extra-files=.
200     
201     I find it very useful to define a custom command to do such
202     a search only in a limited number of files (my notes files),
203     like this:
205     : ("N" "Search notes" search ""
206     :   ((org-agenda-files '("~/org/notes.org" "~/org/computer.org"))
207     :    (org-agenda-text-search-extra-files nil)))
209 *** Many new extensions available in the CONTRIB directory
211     - Phil Jackson's /org-irc.el/ is now part of the Org-mode
212       core, which means it will become part of Emacs soon.
214     - The new development model already starts to pay off, a
215       number of interesting extensions are now part of the
216       distribution.  Check the file CONTRIB/README for a list.
218     - There is a new variable `org-default-extensions'.
219       Configuring this variable makes it *very* easy to load
220       these default extensions - eventually this will be expanded
221       to cover contributed extensions as well.
223 *** New remember template option: pre-selection contexts
225     - Remember template definitions now allow six elements.  The
226       last element defines the contexts in which the template
227       should be offered.  It can be a list of major modes, a
228       function, =t= or =nil=.  If it is a list of major-mode, the
229       template will be available only when =org-remember= is
230       called from a buffer in one of these modes.  If it is a
231       function, the template will be offered only if the function
232       returns `t' when called in the current buffer.  A value of
233       =t= or =nil= for this element means select this template in
234       any context.
236       One possible application for this would be to have several
237       templates all using the same selection letter, and choosing
238       the right one based on context.  For example, think of
239       tasks describing a bug in a source code file.  With the
240       following configuration we make sure that the bug reports
241       are filed into the appropriate sections of the target file.
242       
243 : (setq org-remember-templates
244 :  '(("Elisp" ?b "* %a\n\n%i%?" "~/bugs.org" "Elisp bugs" (emacs-lisp-mode))
245 :    ("C Bugs" ?b "* %a\n\n%i%?" "~/bugs.org" "C bugs" (cc-mode))))
246      
247       See (info "(org)Remember templates") for details.
249 *** Modifying list/headline status of a line
251     - `C-c -' has now more functions:
252       + In a table, add a hline as before
253       + In an item list, cycle bullet type as before
254       + In a normal line, turn it into an item
255       + In a headline, turn it into an item
256       + If there is an active region, turn each line into an item.
257         But if the first region line is already an item, remove
258         item markers from all lines.
260       Based on proposals by Bastien.
262     - `C-c *' has now more functions
263       + in a table, recompute, as before
264       + in a normal line, convert it to a sub heading.
265       + at an item, convert it into a subheading
266       + if there is an active region, convert all lines in the
267         region to headlines.  However, if the first lie already is
268         a heading, remove the stars from all lines int he region.
270       Based on proposals by Bastien.
272 *** Changes related to time stamps
274     - The value variable =org-time-stamp-rounding-minutes= is now
275       a list of two values.  The first applies when creating a new
276       time stamp.  The second applies when modifying a timestamp
277       with S-up/down.  The default for this new task is 5 minutes,
278       but 15 may also be a very good value for many people.  If
279       S-up/down is used on a time stamp where the minute part is
280       not compatible with this granularity it will be made so.
281       You can bypass this by using a prefix argument to exactly
282       specify the number of minutes to shift.
284       This was a proposal by Adam Spiers.
286     - New repeaters that shift a date relative to today, or that
287       make sure that the next date is in the future.  For example:
289       :** TODO Call Father
290       :   DEADLINE: <2008-02-10 Sun ++1w>
291       :   Marking this DONE will shift the date by at least one week,
292       :   but also by as many weeks as it takes to get this date into
293       :   the future.  However, it stays on a Sunday, even if you called
294       :   and marked it done on Saturday.
295       :** TODO Check the batteries in the smoke detectors
296       :   DEADLINE: <2005-11-01 Tue .+1m>
297       :   Marking this DONE will shift the date to one month after
298       :   today.
300       Proposed by Wanrong Lin and Rainer Stengle.
302 *** New parameters for dynamic blocks ad the clock table
304     - There is a new =:link= parameter for the clocktable.  When
305       set, the headlines listed in the table will be links to the
306       original headlines.
308     - There is a new =:content= parameter that is passed to the
309       writer function of the dynamic block.  Use this parameter
310       to pass the previous content of the block to the writer
311       function, in case you want to make the outcome dependent on
312       the previous content.
314 *** Limiting iCalendar export to fewer entries
316     - New way to limit iCalendar export to the entries captured in
317       an agenda view.  This is done by "writing" the agenda view
318       using `C-x C-w' to a file with extension .ics.
320       This was a request by Kyle Sexton.
322 *** Misc
324    - Due to a popular revolt shortly after the 5.22 release,
325      =M-RET= can again be used to split a line so that the rest
326      of the line becomes the new heading.  However, if you do
327      this in a heading containing tags, the tags will stay in the
328      old line.
330      Customize the variable =org-M-RET-may-split-line= if you
331      don't want this command to split a line in the middle.  The
332      same variable also influences line splitting in items and in
333      tables.
335    - There are three new hooks:
337      =org-follow-link-hook=: runs after following a link
338      =org-publish-before-export-hook=: runs before export
339      =org-publish-after-export-hook=: runs after export
340      
341 * Version 5.22
343 ** Incompatible changes
345    - The variable `org-log-done' is now less complex.
346    - The in-buffer settings for logging have changed.  Some
347      options no longer exists, some new ones have been added.
349 ** Details
351 *** Changes to logging progress
353     There is now more control over which state changes are being
354     logged in what way.  Please read carefully the corresponding
355     sections in the manual.  Basically: 
357     - The variable `org-log-done' has been simplified, it no
358       longer influences logging state changes and clocking out.
359     - There is a new variable for triggering note-taking when
360       clocking out an item: `org-log-note-clock-out'.
361     - Logging of state changes now has to be configured on a
362       pre-keyword basis, either in `org-todo-keywords' or in the
363       #+TODO in-buffer setting.
364     - These per-keyword settings allow more control.  For example
366       : WAIT(w@)    Record a note when entering this state.
367       : WAIT(w!)    Record a timestamp when entering this state.
368       : WAIT(w@/!)  Recore a note when entering and timestamp
369       :             when leaving this state.  This is great for
370       :             getting a record when switching *back* from
371       :              WAIT to TODO.
372       : WAIT(/!)    Record a timestamp when leaving this state.
373       :             Here we not even define a fast access
374       :             character, but just the logging stuff.
376     This was triggered by requests from Wanrong Lin and Bernt Hansen.
378 *** Other
380    - M-RET no longer brakes a line in the middle, it will make a
381      new line after the current or (if cursor is at the beginning
382      of the line) before the current line.
384    - RET, when executed in a headline after the main text and
385      before the tags will leave the tags in the current line and
386      create a new line below the current one.
388 * Version 5.21
390   Bug fixes, in particular the long-hunted bug about wrong window
391   positions after pressing SPACE in the agenda.  Hopefully this
392   is really fixed.
394 * Version 5.20
396 ** Overview
398 *** Remember/Refile/Goto
400     - The use of prefix arguments for the commands `org-remember'
401       and `org-refile' has been normalized.
403     - The clock can now safely be used in a remember buffer.
404       
405     - The variable `org-remember-use-refile-when-interactive'
406       introduced only in 5.19 is already obsolete.  Please use
407       `org-remember-interactive-interface' instead.
409     - It is no longer necessary to update the refiling targets.
411     - Automatic isearch in `org-goto'.
413     - Outline-path-completion as alternative org-goto interface.
415 *** Misc
417     - Checkboxes now work hierarchically.
419     - `C-k' can now behave specially in headlines.
421     - Repeater for tasks in plain timestamps.
423     - All clock intervals of an item show in agenda/timeline.
424       
425     - New parameter =:step= for clocktable, to get daily reports.
427     - Never loose a repeaded scheduled item from the agenda.
429     - Archiving a subtree now stores the outline path in a property.
431     - Links to messages in Apple Mail.
433     - Bug fixes.
435 ** Incompatible Changes
436    
437    - The variable `org-remember-use-refile-when-interactive'
438      introduced only in 5.19 is already obsolete.  Please use
439      `org-remember-interactive-interface' instead.
441 ** Details
443 *** Remember/Refile/Goto
445     - The use of prefix arguments for the commands `org-remember'
446       and `org-refile' has been normalized:
448       + when called without prefix argument, the command does its
449         normal job, starting a remember note or refiling a tree.
451       + when called with a single C-u prefix, these commands can be
452         used to select a target location and to jump there.  In
453         the case of `org-remember', you will be prompted for a
454         template and then Emacs jumps to the default target
455         location or this template.  In the case of `org-refile',
456         you select a location from the refile target list and jump
457         there.
459       + when called with two prefixes (`C-u C-u'), the command
460         jumps to the location last used for storing a note or a
461         moved tree.
463     - When the clock is running inside an remember buffer, storing
464       the remember buffer with `C-c C-c' will automatically clock
465       out.  This was inspired by a request by Rainer Stengle. 
466       
467     - The variable `org-remember-use-refile-when-interactive'
468       introduced only in 5.19 is already obsolete.  Please use
469       `org-remember-interactive-interface' instead.  This new
470       variable does select the interface that is used to select
471       the target for a remember note in an interactive way.
472       Possible values are:
474       + `outline': Use an outline of the document to select a
475         location.  
476       + `outline-path-completion': Use completion of an outline
477         path to select a location.
478       + `refile': Offer the `org-refile-targets' as possible
479         targets.
481     - It is no longer necessary to update the refiling targets -
482       they are always current.
484     - In `org-goto', typing characters now automatically starts
485       isearch from the beginning of the buffer.  The isearch is
486       special also because it only matches in headline.  This
487       goes some way toward saving org-goto from being removed
488       from Org-mode.  Thanks to Piotr Zielinski for the code, and
489       sorry that it took me so long to put it in.  If you prefer
490       to use single letters n,p,f,b,u,q for navigation as before,
491       configure the variable `org-goto-auto-isearch'.
493     - Outline-path-completion is now available as an alternative
494       interface in the command `org-goto'.  Please select the
495       default interface you'd like to use with the new variable
496       `org-goto-interface'.  You can then select the alternative
497       interface with a prefix argument to `C-c C-j' (org-goto).  I
498       am considering to make outline-path-completion the default
499       interface.  Comments?
502 *** Misc
504     - Checkboxes now work hierarchically.  When a plain-list item
505       with a checkbox has children with checkboxes, the status of
506       the item's checkbox is calculated from the children, each
507       time a checkbox is toggled with C-c C-c.  Thanks to Miguel
508       A. Figueroa-Villanueva for a patch to this effect.
510     - There is a new variable `org-special-ctrl-k'.  When set,
511       `C-k' will behave specially in headlines:
513       + When the cursor is at the beginning of a headline, kill
514         the entire line and possible the folded subtree below the
515         line.
516       + When in the middle of the headline text, kill the
517         headline up to the tags.
518       + When after the headline text, kill the tags.
520       This is following a proposal by Piotr Zielinski.
522     - You can now also have a plain (as opposed to deadline or
523       scheduled) repeater timestamp in a task.  Switching the task
524       to DONE will now also shift a plain time stamp.  This was a
525       request by Austin Frank.
527     - If an entry is clocked multiple times, it will now show up
528       several times in the agenda and timeline buffers, when
529       log-mode is on.  This was a proposal by Jurgen Defurne.
530       
531     - The clock table accepts a new parameter =:step=.  This
532       parameter can be `day' or `week' and will result in separate
533       tables for each day or week in the requested time interval.
534       This was triggered by a proposal by Sacha Chua in her [[http://sachachua.com/wp/2007/12/30/clocking-time-with-emacs-org/][blog]].
536     - A time-stamp with a repeater now no longer refers to the
537       date *closest* to the current day.  Instead, it means either
538       today or the most recent match.  This change makes sure that
539       overdue scheduled or deadline items never disappear from the
540       agenda.  With the previous convention, an overdue scheduled
541       item would disappear.  For example, a weekly item scheduled
542       for Sunday would appear as overdue until Wednesday, and the
543       suddenly disappear until next Sunday.  Now the item will
544       show up as "Sched 7x" on Saturday.  From Sunday on it will
545       be in the list as "Scheduled", i.e. old sins will be
546       forgiven.  This follows a request by Warong, Dennis and
547       Bernt.
549     - Archiving a subtree now creates an additional property,
550       =ARCHIVE_OLPATH=.  This property contains the "path" in the
551       outline tree to the archived entry, as it was in the
552       original file.  For example, archiving =Fix the door= in the
553       following hierarchy
554       
555       : * Tasks
556       : ** HOME
557       : *** Garage
558       : **** Fix the door
559       
560       will file is with the following property
561       
562       : :ARCHIVE_PATH: Task/HOME/Garage
563       
564       Note that you can configure (i.e. limit) the information
565       that gets stored upon archiving with the variable
566       `org-archive-save-context-info'.
568     - New file `org-mac-message.el' by John Wiegley to create
569       links for messages in Apple Mail, and to follow these
570       links.
572     - Bug fixes.
574 * Version 5.19
576 ** Overview
578    - Column view can list the clocked times of a subtree.
580    - Storing remember notes can use the `org-refile' interface.
582    - Storing remember notes no longer produced empty lines.
584    - Moving subtrees now folds all siblings of the subtree.
586    - New variable `org-agenda-todo-keyword-format'.
588    - Hack to allow brackets in link descriptions.
590    - Clocking into an entry can enforce a specific TODO state.
592    - EXPORT_FILE_NAME may be an absolute file name with "~".
594    - Bug fixes, lots of them.
596 ** Details
598    - A new special column definition lists the sum of all CLOCK
599      entries in a subtree.  For example
601      : #+COLUMNS: %20ITEM %10Time_Estimate{:} %CLOCKSUM
603      will allow you to compare estimated times (as given in the
604      Time_Estimate property) with the clocked times.  This was a
605      request by Bernt Hansen.
607    - Storing remember notes can now use the `org-refile'
608      interface instead of the `org-goto' interface (see the
609      variable `org-remember-use-refile-when-interactive').
610      Nothing will change if the note is stored immediately after
611      pressing `C-c C-c' in the =*Remember*= buffer.  But if you
612      have chosen (e.g. by pressing `C-u C-c C-c') to
613      interactively select the filing location (file and
614      headline), the refile interface will be used instead.  I am
615      excited about this change, because the `org-goto' interface
616      is basically a failure, at least for this application.  Note
617      that in any case the refile interface has to be configured
618      first by customizing `org-refile-targets'.
620    - Notes inserted with remember now remove any whitespace
621      before and after the note before being pasted, so that there
622      will be no empty lines inserted together with the note.  We
623      could invent special syntax in remember templates to allow
624      creating empty lines before a note - is there anyone who'd
625      want this?
627    - Moving subtrees now folds all siblings of the subtree.  This
628      is the only reasonably simple way I could find to avoid the
629      reported inconsistencies in the folding state of the outline
630      tree after moving entries.  There are reasons to like this
631      new behavior, because it easily visualizes where the tree is
632      located after the move.  Still, not everyone might be happy
633      with this.  Massive complaining would be needed to make me
634      fix this.
636    - New variable `org-agenda-todo-keyword-format' to specify the
637      width of the TODO keyword field in the agenda display.  Use
638      it to get things to line up better.  This was a proposal by
639      Rainer Stengele.
641    - If a link description inserted with `C-c C-l' contains
642      brackets, the brackets will now be converted into curly
643      braces.  This looks similar enough.  Supporting brackets in
644      link descriptions is, for technical reasons too long to
645      explain here, complex.
647    - The new option `org-clock-in-switch-to-state' can be set to
648      a TODO state that will be enforced when the clock is started
649      on an entry.  This follows an idea by Sacha Chua.
651    - The EXPORT_FILE_NAME property may now also be an absolute
652      file name, and it may contain abbreviations like "~" for the
653      users home directory.  This was requested by Adam Spiers.
655    - Bug fixes, lots of them.
657 * Version 5.18
659   Minor fixes.
661 * Version 5.17
663 ** Details
665 *** Whitespace
667     - When cutting, pasting, or moving subtrees and items, the
668       empty lines *before* the subtree/item now belong to the
669       part and will be moved with it.  There is one exception to
670       this rule: If the first child is moved down (or,
671       equivalently, the second is moved up), the amount of empty
672       lines *above* the first child to be moved along with it is
673       limited by the number of empty lines *below* it.  This
674       sounds complicated, but it allows to have extra empty space
675       before the first child and still have good behavior of the
676       subtree motion commands.
678     - Plain lists items work the same.
680     I believe we have finally nailed this one.  Thanks to Daniel
681     Pittman for bring this up again and to Eric Schulte for
682     pointing out that it is the empty lines *before* an entry
683     that really count.
685     This change was non-trivial, please give it a good test and
686     let me know about any problems.
688 *** Remember
690     - The new command `org-remember-goto-last-stored' will jump
691       to the location of the remember note stored most recently.
692       If you have `org-remember' on a key like `C-c r', then you
693       can go to the location with a double prefix arg: `C-u C-u
694       C-c r'.  This was a proposal by Rainer Stengele.
696     - Template items that are being prompted for can now specify
697       a default value and a completion table.  Furthermore,
698       previous inputs at a specific prompt are captured in a
699       history variable.  For example:
701       : %^{Author|Roald Dahl|Thomas Mann|Larry Niven}
703       will prompt for an author name.  Pressing RET without
704       typing anything will select "Roald Dahl".  Completion will
705       give you any of the three names.  And a history will be
706       kept, so you can use the arrow keys to get to previous
707       input.  The history is tied to the prompt.  By using the
708       same prompt in different templates, you can build a history
709       across templates.  The ideas for this came from proposals
710       by Bastien and Adam.
712     - When a remember template contains the string `%!', the note
713       will be stored immediately after all template parts have
714       been filled in, so you don't even have to press `C-c
715       C-c'. The was a proposal by Adam Spiers.
717 *** Refile
719     - `org-refile-targets' has a new parameter to specify a
720       maximum level for target selection.  Thanks to Wanrong Lin
721       for this proposal.
723     - When the new option `org-refile-use-outline-path' is set,
724       refile targets will be presented like a file path to the
725       completion interface: "level 1/level 2/level 3".  This
726       may be the fastest interface yet to get to a certain
727       outline entry.  Do we need to use this interface in other
728       places?  Thanks to Jose Ruiz for this proposal.
730 * Version 5.16
732 ** Details
734 *** Restriction lock on agenda scope
736     You can now permanently lock the agenda construction to a
737     certain scope, like a file or a subtree.  So instead of
738     pressing "<" for each command in the agenda dispatcher, you
739     only once select a restriction scope.  All subsequent agenda
740     commands will than respect this restriction.  For example,
741     you can use this at work, to limit agendas to your work file
742     or tree, and at home to limit to the home file or tree.  Or
743     you can use it during the day in order to focus in on certain
744     projects.
746     You select a scope with the command `C-c C-x <', which
747     restricts to the current subtree.  When called with a `C-u'
748     prefix, the restriction is to the current file.  You can also
749     make restrictions from the speedbar frame, see below.
751     When making a new restriction and an agenda window is
752     currently visible, it will immediately be updated to reflect
753     the new scope.  TO if you like you can display an agenda view
754     and then watch it change in various scopes.
756     To get rid of the restriction, use the command "C-c C-x >".
757     Or press ">" in the agenda dispatcher.  Also, and use of "<"
758     in the dispatcher will disable the restriction lock and
759     select a new restriction.
761     Thanks to Rick Moynihan for triggering this development. 
763 *** Imenu and Speedbar support
765     - Org-mode now supports Imenu.  For example, with the setting
767       : (add-hook 'org-mode-hook 
768       :    (lambda () 'imenu-add-to-menubar "Imenu"))
770       a menu will be created in each Org-mode buffer that
771       provides access to all level 1 and level 2 headings.  The
772       depth of the menu can be set with the variable
773       `org-imenu-depth'.
775     - org-mode now supports Speedbar.  This means that you can
776       drill into the first and second level headlines of an
777       Org-mode file right from the speedbar frame.
779     - You can set a restriction lock for the Org-mode agenda to a
780       file or a subtree directly from the speedbar frame.  Just
781       press "<" with the cursor on an Org-mode file or subtree to
782       set the lock and immediately update the agenda if it is
783       visible.  Use ">" to get rid of the lock again.
785 * Version 5.15
787 ** Details
789    - There are new special properties TIMESTAMP and TIMESTAMP_IA.
790      These can be used to access the first keyword-less active
791      and inactive timestamp in an entry, respectively.
793    - New variable `org-clock-heading-function'.  It can be set to
794      a function that creates the string shown in the mode line
795      when a clock is running.  Thanks to Tom Weissmann for this
796      idea.
798    - Bug fixes.
800 * Version 5.14
802 ** Overview
804    + Remember and related stuff
805      - New command `org-refile' to quickly move a note.
806      - Easy way to jump to the target location of remember template.
807      - New %-escapes in remember templates: %c %(...) and %[...]
808      - `org-remember-insinuate' simplifies remember setup
810    + Emphasis and Font-lock stuff
811      - Stacked emphasis is no longer allowed.
812      - You may finally emphasize a single character like ~*a*~.
813      - Font-lock now can hide the emphasis markers
814      - Text in the "=" emphasis is exported verbatim
815      - There is a new emphasis marker "~" for verbatim text
816      - Constructs treated specially by the exporters can be highlighted
818    + Properties and Column view
819      - More control over which properties use inheritance
820      - CATEGORY="work" can now be used in a tags/property search
821      - the {+} summary type can specify a printf-style output format
822      - New currency summary type {$}
824    + The date/time prompt
825      - While entering data, watch live the current interpretation.
826      - The date prompt now prefers to select the future
827      - Easier modification of time in an existing time stamp.
829    + Export
830      - You can now export some special strings in HTML, like "..."
831      - #+EMAIL: may contain several email addresses
833    + Agenda
834      - In the agenda, a few keys have changed: `g', `G', and `e'.
836    + Miscellaneous
837      - Class-dependent sectioning structures in LaTeX export.
838      - Radio-lists modeled after the radio tables.
839      - The default for `org-ellipsis' is back to nil
840      - Support for pabbrev-mode
841      - New variable `org-show-entry-below'.
843 ** Incompatible changes
845    - If you have customized the variable `org-emphasis-alist' or
846      org-export-emphasis-alist', you need to do it again by first
847      canceling your customization and then adding it again.
849    - I know that some people have defined their own private helper
850      functions to select a specific remember template, without being
851      prompted, like this:
853      : (defun my-remember-template-n ()
854      :    (interactive)
855      :    (org-remember ?n))
857      You need to modify this.  The character selecting the template
858      must now be the /second/ argument to `org-remember':
860      : (defun my-remember-template-n ()
861      :    (interactive)
862      :    (org-remember nil ?n))
864    - `C-c C-w' now refiles an entry.  To get a sparse tree of
865      deadlines, use `C-c / d' instead.
867 ** Details
869 *** Remember and related stuff
871     - New command `org-refile' to quickly move a note to a
872       different place.  It is bound to `C-c C-w'.  The foremost
873       application might be to put a note or task captured with
874       `remember' into the proper list or project.  The command
875       offers a list of possible refiling targets for completion.
876       These are headings under which the entry will be inserted
877       as a subitem.  By default, this will offer all top-level
878       headings in the current buffer, but you can configure the
879       variable `org-refile-targets' to get more complex
880       definitions.  For example:
882       : (setq org-refile-targets '((nil . (:level . 2))))
884       selects all level 2 headlines in the current buffer as
885       targets.  And
887       : (setq org-refile-targets
888       :      '((org-agenda-files . (:tag . "refile"))))
890       searches all agenda files and selects headlines that are
891       explicitly marked with the tag :refile: .  Note that the
892       list of targets is built upon first use only, to rebuilt
893       it, call the command `C-c C-w' with a double prefix
894       argument.
896       This is based on an idea and example implementation by Max
897       Mikhanosha.  Many thanks Max.
899     - You can now use a C-u prefix on `org-remember' to jump to
900       the location where a specific templates stores its notes.
901       For example, if you have `org-remember' bound to `C-c r',
902       then `C-u C-c r n' will get you to the file and headline
903       given in the template associated with the letter "n".
905       This was proposed by someone, but I have lost track who.
906       Sorry, and thanks anyway.
908     - New %-escapes in remember templates:
910       : %c     insert the current clipboard, like C-y would do
911       : %(..)  evaluate Lisp expression and insert the result
912       : %[..]  include file
914       Thanks to Adam Spiers and Tim O'Callaghan.
916     - New function `org-remember-insinuate' that makes is easier
917       to set Org-mode specific values for remember variables.
918       Thanks to Michael Olson for this proposal.  It is
919       equivalent to:
921       : (require 'remember)
922       : (setq remember-annotation-functions '(org-remember-annotation))
923       : (setq remember-handler-functions '(org-remember-handler))
924       : (add-hook 'remember-mode-hook 'org-remember-apply-template))
926       You might still want to set `org-default-notes-file' to
927       provide a default for templates without a file, and
928       `org-directory' to show where to find other org files.
930 *** Emphasis and Font-lock stuff
932     - Stacked emphasis like ~*/bold italic/*~ is no longer allowed.
934     - You may finally emphasize a single character like ~*a*~.
936     - Font-lock now can hide the emphasis markers, just like Muse
937       does.  Configure the variable `org-hide-emphasis-markers'
938       if you want this.  Showing the characters continues to be
939       the default in Org-mode.
941     - Text in the "=" emphasis is now exported verbatim, i.e. no
942       further parsing and interpretation of this text takes place.  So
943       you can write ~=quoted *xxx* a_x = b=~.  This and the following
944       point implement a request by Daniel Clemente.
946     - There is a new emphasis marker "~" which marks text to be
947       exported verbatim, without special formatting.  Inside an
948       org-mode file, this text is highlighted with the org-verbatim
949       face.  I am not happy with the face yet (currently is is like
950       org-code, but underlined), please suggest a better one.
952     - Whether an emphasis environment is verbatim or not is now an
953       extra flag in the variable `org-emphasis-alist'.  If you have
954       configured this variable, do it again by first canceling your
955       customization to revert to the default, and then adding it
956       again.
958     - New variable `org-highlight-latex-fragments-and-specials'.
959       When turned on, Org-mode will highlight all strings that
960       are treated in a special way by the exporters.  This is
961       great for export-oriented writing, but maybe a bit noisy
962       for note taking, so this feature is off by default.
964 *** Properties and Column view
966     - `org-use-property-inheritance' may now also be a list of
967       property names that should be treated with inheritance
968       during searches.
970     - CATEGORY="work" can now be used in a tags/property search,
971       even if the category is not specified as a property in the
972       entry, but rather is inherited or derived from #+CATEGORY.
973       Thanks to Adam, Tim, and Bastien for an interesting
974       discussion around this issue.
976     - Summary type improvements in column view.
977       * The {+} summary type can specify a printf-style output
978         format for computed values like this: {+;%5.2f}
979         This was triggered by a report by Levin.
980       * New currency summary type {$}, which so far is just a
981         shorthand for {+;%.2f}.  Do we need to have a currency
982         symbol in front of each value.  Scott Jaderholm asked for
983         this, but I am not sure if this is already what he meant.
985 *** The date/time prompt
987     There have been several small but *very* useful additions to
988     the date prompt.
990     - While entering data at the date prompt, the current
991       interpretation of your input is shown next to your input in
992       the minibuffer.  I find this great to understand how the
993       input works.  If you find the extra stuff in the minibuffer
994       annoying, turn it off with `org-read-date-display-live'.
996     - The date prompt now prefers to select the future.  If you
997       enter a date without a month, and the day number is before
998       today (for example, on the 16th of the month you enter
999       "9"), Org-mode will assume next month.  Similarly, if you
1000       enter a month and no year, next year will be assumed if the
1001       entered month is before the current, for example if you
1002       enter "May" in September.  Thanks to John Rakestraw for
1003       this great suggestion.  If you find it confusing, turn it
1004       off with `org-read-date-prefer-future'.
1006     - When modifying an existing date using `C-c .' at the stamp,
1007       the time or time range in the stamp are now offered as
1008       default input at the prompt.  This goes a long way to
1009       simplifying the modification of an existing date.  Thanks
1010       to Adam Spiers for this proposal.
1012 *** Export (all implemented by Bastien...)
1014     - You can now export special strings in HTML.  Here is the
1015       list of newly performed conversions:
1017       | Org | Description                        | HTML     |
1018       |-----+------------------------------------+----------|
1019       | ~\\-~ | double backslash followed by minus | &shy;    |
1020       | ~--~  | two dashes (minuses)               | &ndash;  |
1021       | ~---~ | three dashes (minuses)             | &mdash;  |
1022       | ~...~ | three dots                         | &hellip; |
1024       You can turn this globally on or off with
1025       `org-export-with-special-strings' or locally with "-:t" or
1026       "-:nil" in the #+OPTIONS line.  Thanks to Adam Spiers for
1027       starting the discussion, and thanks to Daniel Clemente and
1028       William Henney for relevant inputs.
1030     - Comma-separated emails in #+EMAIL: are correctly exported.
1031       Thanks to Raman for pointing out this omission.
1033 *** Agenda
1035     - In the agenda, a few keys have changed
1036       : g  does now the same a "r", refresh current display,
1037       :    because "g" is the Emacs standard for "refresh"
1038       : G  toggle the time grid, used to be "g"
1039       : e  Execute another agenda command, pretty much the same as
1040       :    `C-c a', but shorter and keep the same agenda window.
1042 *** Miscellaneous (much of it from Bastien)
1044     - You can now select the sectioning structure of your LaTeX
1045       export by setting it either globally
1046       (`org-export-latex-default-class') or locally in each Org
1047       file (with #+LaTeX_CLASS: myclass).  You can also customize
1048       the list of available classes and their sectioning
1049       structures through the new `org-export-latex-classes'
1050       option.  Thanks to Daniel for discussions and suggestion on
1051       this issue.
1053     - You can send and receive radio lists in HTML,
1054       LaTeX or TeXInfo, just as you send and receive radio
1055       tables.  Check the documentation for details and examples.
1057     - The default for `org-ellipsis' is back to nil, some people
1058       seem to have had problems with the face as a default.
1060     - Support for pabbrev-mode, needs pabbrev version 1.1.  Thanks
1061       to Phillip Lord for adapting his package to make this
1062       possible.
1064     - New variable `org-show-entry-below' to force context-showing
1065       commands to expose the body of a headline that is being
1066       shown.  Thanks to Harald Weis for pointing out this omission.
1069 * Version 5.13i
1071 ** Details
1073    - On the date/time prompt, you can now also answer with
1074      something like +2tue to pick the second tuesday from today.
1075      This was a proposal by Sacha Chua.
1077    - When interpopating into Lisp formulas in the spreadsheet,
1078      the values of constants and properties are no longer
1079      enclosed into parenthesis.  When interpolating for calc,
1080      this still happens in order to allow expressions in
1081      constants.  This problem was reported by Eddward DeVilla.
1083    - When a directory is listed in `org-agenda-files', all files
1084      with extension matched by the new variable
1085      `org-agenda-file-regexp' in that directory will be agenda
1086      files.
1088    - Bug fixes.
1090 * Version 5.13
1092 ** Overview
1094    - Bug fixes and improvements in column view
1095      + All known bugs fixed.
1096      + A Column view can be captured into a dynamic block.
1097      + The ITEM column is formatted core compactly.
1098      + Also ITEM can be edited with `e'
1100    - The agenda dispatcher
1101      + `<' cycles through restriction states.
1102      + Multi-character access codes to commands (= sub-keymaps).
1104    - Sorting improvements
1105      + User-defined sorting keys.
1106      + Sorting by properties.
1107      + Sorting of plain lists.
1109    - HTML <div> structure
1111    - Other stuff
1112      + New variables, several of them.
1113      + Drawers can be set on a per-file basis.
1114      + Better control over priority fontification in agenda.
1115      + M-up and M-down now move the current line up and down.
1116      + Abort remember template selection with C-g.
1118 ** Details
1120 *** Bug fixes and improvements in column view
1122     - All the bugs described by Scott Jaderholm have been fixed
1123       (at least I hope so...).
1125     - You can now capture a column view into a dynamic block, for
1126       exporting or printing it.  The column view can be
1128       + global, i.e. for the entire file
1129       + local, i.e. for the subtree where the dynamic block is
1130       + from an entry with a specific :ID: property.
1132       You can identify the entry whose column view you want to
1133       capture by assigning an :ID: property, and use that property
1134       in the dynamic block definition.  For example:
1136       : * Planning
1137       :   :PROPERTIES:
1138       :     :ID: planning-overview
1139       :   :END:
1140       :
1141       : [...]
1142       :
1143       : * The column view
1144       : #+BEGIN: columnview :hlines 1 :id "planning-overview"
1145       :
1146       : #+END:
1148       Use `C-c C-x r' to insert such a dynamic block, and you will
1149       be prompted for the ID.
1151     - When the current column format displays TODO keyword,
1152       priority or tags, these parts are stripped from the content
1153       of the ITEM column, making for more compact and readable
1154       entries.  When any of these "properties" are not listed in
1155       the current column format, they are instead retained in the
1156       ITEM column.
1158     - You can now also edit the ITEM column with `e'.
1160 *** The agenda dispatcher
1162     - Instead of pressing `1' to restrict an agenda command to
1163       the current buffer, or `0' to restrict it to the current
1164       subtree or region, you can now also press `<' once or
1165       twice, respectively.  This frees up `1' and `0' for user
1166       commands, a request by Bastien.  In fact, "<" cycles
1167       through different restriction states.  "1" and "0" are
1168       still available for backward compatibility, until you bind
1169       them to custom commands.
1171     - The access code to custom agenda commands can now contain
1172       several characters, effectively allowing to bundle several
1173       similar commands into a sub-keymap.  This follows an
1174       excellent proposal by Adam Spiers.  For example:
1176       : (setq org-agenda-custom-commands
1177       :   '(("h" . "HOME + Name tag searches") ; describe prefix "h"
1178       :     ("hl" tags "+HOME+Lisa")
1179       :     ("hp" tags "+HOME+Peter")
1180       :     ("hk" tags "+HOME+Kim")))
1182     - The user function option in org-agenda-custom-commands may
1183       now also be a lambda expression, following a request by
1184       Adam Spiers.
1186 *** Sorting improvements
1188     We are using a new routine for sorting entries, courtesy of
1189     John Wiegley.  Many thanks to John.
1191     - You can define your own function to extract a sorting key
1192       and in this way sort entries by anything you like.
1194     - Entries can now be sorted according to the value of a
1195       property.
1197     - Plain lists can be sorted.
1199 *** HTML <div> structure
1201     There is now a <div>-based structure in exported HTML.
1203     - The table of context is wrapped into a div with a class
1204       "table-of-contents".
1206     - The outline structure is embedded in <div> elements with
1207       classes "outline-1", "outline-2" etc.
1209     - The postamble, containing the author information and the
1210       date is wrapped into a div with class "postamble".
1212     I am not sure if the class names are the best choice, let me
1213     know if there are more "canonical" choices.
1215     Thanks to Mike Newman and Cezar for input, and in particular
1216     to Mike for his clearly formulated specification.
1218 *** Other stuff
1220     - New variable `org-agenda-window-frame-fractions' to
1221       customize the size limits of the agenda window in the case
1222       that you display the agenda window by reorganizing the
1223       frame.
1225     - Drawers can be set on a per-file basis using
1227       : #+DRAWERS: HIDDEN STATE PROPERTIES
1229       This will define the drawers :HIDDEN: and :STATE:.
1230       The :PROPERTY: drawer should always be part of this list, or
1231       your properties will not be folded away.
1232       Thanks to Richard G. Riley for this proposal.
1234     - `org-agenda-fontify-priorities' may now also be an
1235       association list of priorities and faces, to specify the
1236       faces of priorities in the agenda individually.
1238     - The variable `org-export-with-property-drawer' no longer
1239       exists, please use `org-export-with-drawers' instead.  Also,
1240       the corresponding switch in the #+OPTIONS line has changed
1241       from "p" to "d".  Thanks to Bastien for pointing out that we
1242       needed to handle not only the property drawer.
1244     - M-up and M-down now move the current line up and down (if
1245       not at a headline, item or table).  Among other things you
1246       can use this to re-order properties in the drawer.  This was
1247       a proposal by Bastien.
1249     - New variable `org-agenda-todo-ignore-with-date', based on a
1250       request by Wanrong Lin.
1252     - Aborting remember template selection with C-g now kills the
1253       remember buffer and restores the old window configuration.
1254       This was a request by Nuutti Kotivuori.
1256 * Version 5.12
1258 ** Overview
1260    - Remember templates can now have name.
1261    - `C-c C-k' will abort taking a note (remember of log)
1262    - `C-c C-x C-w' and `C-c C-x M-w' now accept a prefix arg.
1263    - Lines in the agenda can be fontified according to priority.
1264    - New variable `org-scheduled-past-days'.
1265    - New variables `org-agenda-deadline-leaders' and
1266      `org-agenda-scheduled-leaders'.
1267    - New sparse tree function `org-sparse-tree'.
1268    - The variable `org-ellipsis' now defaults to `org-link'.
1269    - The #+OPTIONS line has a new option "tags".
1270    - New variable `org-use-property-inheritance'.
1272 ** Incompatible Changes
1274    - `C-c /' now calls `org-sparse-tree'.
1276 ** Details
1278    - Remember templates can now have a template name as the first
1279      element.  The name will be listed along with the selection
1280      character when prompting for a template.  It is best to have
1281      the name start with the selection character, for example if
1282      you use ("Note" "n"), you will be prompted like "[n]ote".
1283      Thanks to Matiyam for this proposal.
1285    - `C-c C-k' will abort taking a note.  You can use this in remember
1286      buffers and when taking a logging note (e.g. for a state
1287      change).  Thanks to Bastien.
1289    - `C-c C-x C-w' and `C-c C-x M-w' now accept a prefix arg to
1290      cut N sequential subtrees.  This was a proposal by John.
1292    - Lines in the agenda are now bold if they have priority A and
1293      italic if they have priority C.  You can turn this off using
1294      the variable `org-agenda-fontify-priorities'.  Thanks to
1295      John Wiegley for the idea and code.
1297    - New variable `org-scheduled-past-days' to set the number a
1298      scheduled item will be listed after its date has passed.
1299      Default is 10000, i.e. indefinitely.
1301    - New variables `org-agenda-deadline-leaders' and
1302      `org-agenda-scheduled-leaders' to adjust the leading text o
1303      scheduled items and deadline in the agenda.  Thanks to John
1304      Wiegley for a patch.
1306    - New sparse tree function `org-sparse-tree'.  This is now the
1307      default binding for `C-c /'.  It requires one additional
1308      keypress to select a command, but in return is provides a
1309      single interface to all the different sparse tree commands,
1310      with full completion support.
1312    - The variable `org-ellipsis' now defaults to the face
1313      `org-link' because the visibility of the dots is really bad
1314      and I have found this change very useful indeed.
1316    - The #+OPTIONS line has a new option "tags" which can be used
1317      to set `org-export-with-tags'.  Thanks to Wanrong Lin for
1318      this proposal.
1320    - New variable `org-use-property-inheritance'.  Configure it
1321      to `t' if you want that searching for entries with certain
1322      properties always should assume inheritance.  This is not
1323      well tested yet, please check it out.
1325    - Bug fixes
1327 * Version 5.11
1329 ** Overview
1331    - SUMMARY, DESCRIPTION, LOCATION properties for iCalendar
1332    - Command to jump to the running clock
1333    - Clock entries can now have their own drawer
1334    - `C-c C-x C-r' only updates a clocktable at point
1335    - New way to assign a remember template to a single key
1336    - `C-n' and `C-p' are back to their default binding
1337    - `C-x C-s' in agenda buffer saves all org-mode buffers
1338    - Schedule/deadline leaves note in agenda buffer
1339    - Prefix argument for `C-c C-d/s' will remove date
1340    - New variable to make block aranda more compact
1341    - Better tag alignment in agenda
1343 ** Incompatible changes
1345    - If you have customized `org-drawers', you need to add
1346      "CLOCK" to the list of drawers.
1348    - The variable `org-agenda-align-tags-to-column' has been
1349      renamed to `org-agenda-tags-column'.  The old name is still
1350      an alias, in Emacs 22 and in XEmacs, but not in Emacs 21.
1352    - The default value for both `org-tags-column' and
1353      `org-agenda-tags-column' is now -80.
1355    - The variable
1356      `org-insert-labeled-timestamps-before-properties-drawer'
1357      is now obsolete.
1359 ** Details
1361    - The LOGGING property allows to modify the settings for
1362      progress logging for a single entry.  For example:
1364      : :PROPERTIES:
1365      :   :LOGGING: nologging nologrepeat
1366      : :END:
1368      turns off all progress logging for the current entry and its
1369      children.
1371    - The properties SUMMARY, DESCRIPTION and LOCATION have
1372      special meaning during iCalendar export, when they translate
1373      to the corresponding VEVENT and VTODO fields.  If not given,
1374      Org-ode continues to use cleaned-up version of the headline
1375      and body as the summary and the description, respectively.
1377    - New function to go to the entry with the currently running
1378      clock.  Bound to `C-c C-x C-j', in agenda also to "J".  If
1379      you use this often, you might even want to assign a global
1380      key.  Thanks to Bernt and Bastien.
1382    - Clock entries can now have their own drawer, the :CLOCK:
1383      drawer.  Check out the variable `org-clock-into-drawer' for
1384      configuration of this feature.  The default is to create a
1385      drawer when the second clocking line gets added to an entry.
1386      Note that "CLOCK" has been added to the default value of
1387      `org-drawers', but if you have configured that variable, you
1388      must go back and add "CLOCK" yourself to get this drawer
1389      folded away.  Thanks to Tom Weissman for pointing out that
1390      too many clock entries are visually annoying.
1392    - `C-c C-x C-r' no longer tries to find the first clocktable
1393      in a buffer and then updates it.  Instead, it will update
1394      the clocktable at point if there is one (same as C-c C-c
1395      will do if the cursor is in the "#+BEGIN" line of the
1396      table).  If there is none at point, a new one will be
1397      inserted.  This change was necessary because the new :scope
1398      parameter allows to have several clocktables in a buffer.
1399      Thanks to Bastien for pointing this out.
1400      To update all dynamic blocks in a file, use `C-u C-c C-x C-u'.
1402    - The function `org-remember' can now be called with a
1403      template selection key as argument.  This helps to make key
1404      bindings that go directly to a specific template without
1405      being prompted for a template, like this:
1407      : (global-set-key [f5] (lambda () (interactive) (org-remember "j")))
1409      Thanks to Richard G Riley for bringing this up.
1411    - `C-n' and `C-p' are back to their default binding
1412      (next/previous line) in the agenda buffer.  Enough people,
1413      including recently Denis Bueno, have complained about this,
1414      and I agree it is not good to break habits like that.
1416    - `C-x C-s' in an agenda buffer now saves all org-mode buffers
1417      (also `s' does this).
1419    - Setting schedule or deadline dates from the agenda now
1420      produces a note in the agenda, similarly to what happens
1421      with S-left/right.
1423    - Using a prefix argument for `C-c C-d' or `C-c C-s' will
1424      remove the deadline or scheduling date from an item.  Thanks
1425      to Wanrong Lin for this proposal.
1427    - New variable `org-agenda-compact-blocks'.  When set, the
1428      space between blocks in a block agenda is reduced as much as
1429      possible, to show more items on a single screen.
1431    - The variable `org-agenda-tags-column' (renamed from
1432      `org-agenda-align-tags-to-column') can now also be negative,
1433      to mean alignment to the left.  The new default is -80, just
1434      like it is now for `org-tags-column'.
1436    - Bug fixes
1438 * Version 5.10
1440 ** Overview
1442    - Category and the archive location can be properties.
1443    - The clocktable has a new =:scope= parameter.
1444    - CSV support when importing a table.
1445    - Better defaults when modifying a time stamp.
1446    - New way to specify the duration of an appointment.
1447    - More aggressive version of orgstruct-mode improved wrapping.
1448    - Modifications to priority cycling.
1449    - Modifications to computations in column view.
1450    - New command `org-occur-in-agenda-files'.
1451    - Bug fixes.
1453 ** Details
1455    - Both the category and the archive location in a (sub)tree of
1456      the buffer can now be specified using a property, for
1457      example:
1459      : * Tree with special properties
1460      :   :PROPERTIES:
1461      :     :CATEGORY: Examples
1462      :     :ARCHIVE:  /some/special/file::
1463      :   :END:
1465      This is a much cleaner way of dealing with multiple
1466      categories and archives in a single file.  The preferred use
1467      of the =#+CATEGORY= and =#+ARCHIVE= lines is now to set a
1468      *single* default for the file which is then locally
1469      overruled by properties.  This was a proposal from Bastien
1470      if I remember correctly.  Multiple =#+= lines still work
1471      and I don't plan to remove this support soon, but I
1472      encourage you to stop using them.
1474    - The clocktable has a new =:scope= parameter that determines
1475      the range in the file from which clock entries should be
1476      taken.  This can be anything from the local subtree to the
1477      entire buffer to even the full list of agenda files.  Legal
1478      values are:
1480      | value   | scope                                           |
1481      |---------+-------------------------------------------------|
1482      | nil     | the current buffer or narrowed region           |
1483      | file    | the full current buffer                         |
1484      | subtree | the subtree where the clocktable is located     |
1485      | treeN   | the surrounding level N tree, for example tree3 |
1486      | tree    | the surrounding level 1 tree                    |
1487      | agenda  | all agenda files                                |
1489      Thanks to Jason F. McBrayer and Bernt Hansen for
1490      inspiration.  Thanks to cranreuch (what is you full name?)
1491      for mentioning, at the right moment, that the clocktable is
1492      not so bad - that remark made it seem worthwhile to add
1493      features.
1495    - The commands to import a table and to convert a region to a
1496      table can now handle comma-separated values (CSV).  The
1497      algorithm does not yet treat quoting correctly, but for
1498      basic input it works.
1500    - When modifying an existing time stamp, or when entering the
1501      second stamp of a range, the date prompt will now
1502      consistently default to the date/time in the existing stamp.
1503      This was triggered by Nuutti Kotivuori's request.
1505    - At the date/time prompt, there is a new way to specify a
1506      range of hours, by using "+DURATION" after the time.  For
1507      example:
1509      :  14:00+2  means 14:00-16:00
1510      :  2pm+2:30 means 14:00-16:30
1512      Again, Nuutti Kotivuori's request.
1514    - When you use the function `turn-on-orgstruct++' to turn on
1515      orgstruct-mode, the special org-mode settings for
1516      auto-filling, indentation and paragraphs are exported into
1517      the buffer, so that typing list items with indentation works
1518      better.  This was Bastien's idea and request.
1520    - New variable `org-priority-start-cycle-with-default'.  When
1521      t (the default), priority cycling will initially set the
1522      default priority and then increase or decrease.  When nil,
1523      the first priority set by cycling is already 1 different
1524      from the default priority.  This was mostly driven by
1525      Bastien.
1527    - In column view: When an entry has a property for a summary
1528      column defined, its value is normally overwritten by the sum
1529      of all the children's values each time you enter column
1530      view.  Now there is an exception to this rule: If none of
1531      the children has that particular property defined, the
1532      parent's value stays.  In this way you can still place TODO
1533      items under such an entry without getting the property value
1534      changed.  Thanks to Russel Adams for pointing out that this
1535      is a better way of doing things.
1537    - In column view, computed values are now bold face, and
1538      trying to edit them is an error.  I think this works, but
1539      testing is appreciated.
1541    - New command `org-occur-in-agenda-files', this is basically
1542      the quick command John Wiegley proposed the other day, but
1543      it also works when the agenda files are not yet in buffers.
1544      The key is `C-c C-x /', any better proposals?
1546    - Links containing a space will now be handled correctly when
1547      calling the browser.  Note that you need to enclose such
1548      links in square or angular brackets.
1550    - Bug fixes.
1552 * Version 5.09
1554 ** Overview
1556    - Taking a note upon TODO state changes can be restricted to
1557      selected states.
1559    - The format in which dates are shown in the daily/weekly
1560      agenda can be configured.
1562    - The default for `org-remember-store-without-prompt' is now t.
1564    - `org-goto' has been made into a general lookup command.
1566    - Priority cycling goes back to the nil state.
1568    - You can store a remember note to the *last used* location.
1570    - On Emacs 23, the headline faces for org-mode are now
1571      inherited from the outline faces.
1573 ** Incompatible Changes
1575    - The default for `org-remember-store-without-prompt' is now
1576      t, in order to better match the original intent of
1577      remember.el (storing a note with minimum interruption of
1578      work flow).  I expect that many people will be hit by this
1579      incompatible change - nevertheless I believe it is the right
1580      thing to do.
1582 ** Details
1584    - You can now select specific states for recording a note when
1585      switching to that state.  With the setting
1587      : #+SEQ_TODO: TODO(t) ORDERED(o@) INVOICE(i@) PAYED(p) | RECEIVED(r)
1588      : #+STARTUP: lognotestate
1590      only the states ORDERED and INVOICE will record a timestamp
1591      and a note.
1593    - You can now set the format of the string for each day in the
1594      agenda and timeline buffers.  You can use a format string
1595      interpreted by `format-time-string', or you can write your
1596      own function.  Configure the new variable
1597      `org-agenda-format-date'.  Thanks to Levin for triggering
1598      this development with a patch.
1600    - The default for `org-remember-store-without-prompt' is now
1601      t, in order to better match the original intent of
1602      remember.el (storing a note with minimum interruption of
1603      work flow).  Since we can assign files and headlines to
1604      templates, I guess this takes care of selecting a filing
1605      location in most cases.  For interactive filing, you now
1606      need a prefix command when exiting `remember'.
1608    - `org-goto' (bound to `C-c C-j') now uses an indirect buffer
1609      and has additional commands enabled: Org-occur with `C-c /'
1610      or even faster with `/', and the commands needed to select
1611      and copy a region.  This make `org-goto' a more general
1612      lookup command instead of only a jumping command.  Remember
1613      that you can exit with `Q' to go back to the original
1614      location.  Thanks to William Henney for this idea.
1616    - Setting the priority with S-up/down now cycles back to a
1617      state where no priority is specified.  This was requested by
1618      Rick Moynihan.
1620    - You can store a remember note to the *last used* location.
1621      So if you select a location interactively once, you can
1622      re-use it without having to find it again.  For this, exit
1623      the remember buffer with `C-u C-u C-c C-c'.  The leading
1624      comment in the remember buffer will tell exactly where the
1625      note goes if you exit with a particular command.
1626      Thanks to Maxim Loginov for this idea.
1628    - On Emacs 23, the headline faces for org-mode are now
1629      inherited from the outline faces.  This is just a
1630      convenience, so that you only have to configure one set of
1631      faces, and that will then be outline-1 .. outline-8.  You
1632      will actually not see any difference in org-mode, because
1633      Stefan Monnier has made the outline faces in Emacs 23 to
1634      match the current org-mode faces.
1636      This change does not effect XEmacs, nor Emacs 21 and 22.
1638 * Version 5.08
1640 ** Incompatible changes
1642    - The default for `org-deadline-warning-days' is now 14.
1644 ** Details
1646    - There is now a separate interface for fast and directly
1647      setting a TODO keyword.  This interface kicks in when you
1648      have configured keys for TODO keywords like
1650      : #+SEQ_TODO: TODO(t) WAITING(w) | DONE(d) CANCELED(c)
1652      C-c C-t still does the cycling thing, you need to use a
1653      prefix argument to get to the fast interface.  Or configure
1654      the variable `org-use-fast-todo-selection' to t, then this
1655      will be the default and the prefix argument will make the
1656      command fall back to cycling.
1658      The tag selection no longer does include TODO keywords -
1659      Leo's arguments have convinced me that this is not a good
1660      idea.  If you'd like to see the TODO keywords in the tags
1661      interface anyway, set the variable
1662      `org-fast-tag-selection-include-todo'.  Thanks to Leo and
1663      others for input on this issue.
1665    - New variable `org-edit-timestamp-down-means-later'.  When
1666      set, `S-down' on a timestamp will change the timestamp to
1667      later.  Thanks to Raman for this idea.
1669    - Property names can now contain non-ascii word characters.
1670      This follows a request from Daniel Clemente.
1672    - For export, the date that should be given in the exported
1673      file can now be set to a specific value with a line like
1675      : #+DATE: 15 November 2003
1677      If you want to use the date/time when the file was created,
1678      use a format string that will be interpreted by
1679      `format-time-string', for example:
1681      : #+DATE: %Y/%m/%d %X
1683    - The default of `org-deadline-warning-days' has changed to 14
1684      days.  30 was really too much, I suspect most people (me
1685      included) have changed this.
1687    - When a deadline has an individual lead time, this lead time
1688      obviously overrules `org-deadline-warning-days'.  However,
1689      if you bind `org-deadline-warning-days' to a number <=0, for
1690      example during a custom agenda command, then the absolute
1691      value of this number will be enforced also when a different
1692      lead time has been specified.  This is useful to get a list
1693      of all deadlines coming up in the next N days.
1695 * Version 5.07
1697 ** Overview
1699    - Different faces for different TODO keywords.
1701    - Setting TODO states through the TAG setting interface.
1703    - Context information is stored when moving a tree to the archive.
1705    - Sorting can be done by priority.
1707    - `Org-ellipsis' can now also be a face.
1709    - Scheduling info is no longer removed entry is marked CLOSED.
1711    - Unavailable files in `org-agenda-files' can be skipped.
1713 ** Incompatible changes
1715    - The time of archiving is now stored as a property.
1716      ARCHIVED is no longer a special time keyword.
1718    - Scheduling info is no longer removed entry is marked CLOSED.
1720 ** Details
1722    - You can now define different faces for different TODO
1723      keywords.  This request has come up frequently, so here it
1724      is: Use the variable `org-todo-keyword-faces'.
1726      A Here is a configuration example:
1728      : (setq org-todo-keyword-faces
1729      :   '(("TODO"      . org-warning)
1730      :     ("DEFERRED"  . shadow)
1731      :     ("CANCELED"  . (:foreground "blue" :weight bold
1732      :                    :underline t))))
1734      Org-mode continue still use `org-todo' and `org-done' for
1735      keywords that have no specific face assigned.
1737    - Some People use TODO states more like tags.  For them the
1738      TODO keywords mark special states and they like to quickly
1739      switch between states in arbitrary sequence.  The standard
1740      TODO interface is not perfect for this, because it assumes
1741      that the states are reached in sequence.  However, the fast
1742      tag setting interface is in fact perfect for this.  You can
1743      now "misuse" the TAG selection interface to also set TODO
1744      states.  All you need to do is to assign keys to the TODO
1745      states, just like you also do for tags.
1747      : #+SEQ_TODO: TODO(t) WAITING(w) | CANCELED(c) DONE(d)
1748      : #+TAGS: @HOME(h) @OFFICE(o) @SHOP(s)
1750      Next time you try to set tags with C-c C-c, the todo states
1751      will be offered as well, and the corresponding key will
1752      switch the entry to that state.
1754    - New variable `org-archive-save-context-info' governs if
1755      information that would be lost by moving a subtree to the
1756      archive file, should be stored as special properties.  For
1757      example,
1759      : (setq org-archive-save-context-info '(itags category))
1761      will store the inherited tags and the category in properties
1762      ARCHIVE_ITAGS and ARCHIVE_CATEGORY, respectively.  The
1763      default setting for this variable is to save everything that
1764      could be lost.  This was a proposal by John Wiegley.
1766    - Sorting (`C-c ^') can use the use the priority to sort.  Use
1767      the "p" and "P" keys at the prompt.  John Wiegley, again.
1769    - `Org-ellipsis' can now also be a face to make the folding
1770      ellipsis more visible.  This is based on a post by Tassilo
1771      Horn.  Since `org-ellipsis' only works in Org-mode, you
1772      might want to use Tassilo Horn's hack directly in order to
1773      affect the folding ellipsis globally.
1775    - Scheduling info is no longer removed when an entry is marked
1776      CLOSED.  This was a request by Brian van den Broek.  Let me
1777      know if this breaks anything for you - then it will become
1778      an option.
1780    - New option `org-agenda-skip-unavailable-files'.  Currently,
1781      if a file does not exist, it will be removed from
1782      `org-agenda-files' after a query.  When this option is set,
1783      the file will simply be skipped.
1785    - Bug fixes.
1787 * Version 5.06
1789 ** Overview
1791 ** Details
1793    - When exporting only a region and this region is a single
1794      (sub)tree (for example selected with `C-c @'), the title for
1795      the exported document is taken to be the heading of the
1796      subtree.  The sublevels become top-level entries in the
1797      export.  Furthermore, if the head entry of the tree has or
1798      inherits an EXPORT_FILE_NAME property, that file name (with
1799      appropriately substituted extension) will be used for the
1800      exported tree.  Thanks to Patrick Drechsler and Jost Burkart
1801      for these ideas.
1803    - org-special-ctrl-a/e has a third allowed value, `reversed'.
1804      When it is set to this value, the first C-a or C-e command
1805      behaves normally, i.e. it goes to the true beginning or end
1806      of the line.  Only when you press C-a or C-e immediately
1807      again, the the "special" position will be found.  Additional
1808      presses of the same key jump between the two positions.  I
1809      like this a lot better than the `t' setting, because now the
1810      keys behave more predictable and still give easy access to
1811      the special locations.
1813    - New command to set or remove a tag from all headlines in a
1814      region.
1816    - When Org-mode visits a file, it will initially hide all
1817      drawers.
1819    - The default of the variable `org-cycle-global-at-bob' is now
1820      nil, meaning that TAB no longer does global visibility
1821      cycling at the beginning of the buffer.
1823    - Bug fixes, in particular the problems with scheduling and
1824      deadlines introduced in 5.05.  Please check carefully if
1825      this works correctly again, and complain if not.
1827 * Version 5.05
1829 ** Overview
1831    - LaTeX export, finally, thanks to Bastien.
1833    - Extension mechanism for the hyperlink system.
1835    - Global access to commands inserting and following links.
1837    - Individual lead-times for deadlines.
1839    - Option to show only the next instance of repeating timestamp.
1841    - Store remember notes with only 2 keys: C-c C-c
1843    - Appointment reminders from Org-mode.
1845    - Global values for selected properties.
1847    - Bug fixes.
1850 ** Details
1852    - Bastien's `org-export-latex.el' is now part of the org-mode
1853      distribution.  You can export an Org-mode document to a
1854      LaTeX file with `C-c C-e l'.  For more options, see the
1855      manual, and the commentary in the Lisp file.  Kudos to
1856      Bastien for contributing this frequently requested feature.
1857      I am sure this has been tough because of the many different
1858      ways I have been allowing LaTeX snippets and environments to
1859      be incorporated in lazy free-format ways.
1861    - Org-mode has now an extension mechanism for the hyperlink
1862      system.  This should clear the road for all those mairix and
1863      other ideas that have been floating around.  Now it is on
1864      *you* to write and share new link types for Org-mode.  The
1865      interface for adding a new link type is described in the
1866      appendix of the manual, section A2.  The unsolved problem is
1867      currently how to handle the new link types for
1868      export/publishing.
1870    - New *global* commands `org-open-at-point-global' and
1871      `org-insert-link-global'.  You can bind these commands to
1872      global keys and use them to insert and follow Org-mode-like
1873      links anywhere in Emacs.  Thanks to Adam Spiers for this
1874      excellent idea.
1876    - Each deadline timestamp may now specify its own interval of
1877      lead-time display, given in days, weeks, months or years.
1878      The syntax is like this
1880      : DEADLINE: <2007-08-13 Mon -5d>
1882      When combined with a repeater, the repeater has to come
1883      first:
1885      : DEADLINE: <2007-08-13 Mon +2w -5d>
1887      You may now also customize the faces that are used in the
1888      agenda to indicate the distance of an approaching deadline.
1889      See the new option `org-agenda-deadline-faces'.
1891      Thanks to Pavel Chalmoviansky and John Wiegley proposals in
1892      this direction.
1894    - New option `org-agenda-repeating-timestamp-show-all'.  When
1895      set to nil, repeating time stamps will only show up once in
1896      the agenda, either today or in the near future.  Other
1897      matches will be ignored.  Thanks to John Wiegley for this
1898      proposal.
1900    - New variable `org-remember-store-without-prompt'.  When set,
1901      exiting the remember buffer with C-c C-c will store the note
1902      without further prompts to the default location, and `C-u
1903      C-c C-c' will get the prompts for file and location.  So
1904      this variable reverses the prefix-argument functionality for
1905      storing remember notes.  This follows a request from John
1906      Wiegley.
1908    - A new function `org-agenda-to-appt' activates all
1909      appointments for the current day so that Emacs will display
1910      reminders.  This uses appt.el.  Thanks to Bastien for this
1911      function.
1913    - You can now set default values for properties that can be
1914      inherited by all entries in a buffer, or by all entries
1915      globally.  Global properties are set in the variable
1916      `org-global-properties', like this:
1918        (setq org-global-properties '(("NAME" "This is the value")))
1920      Buffer-local values are set like this:
1922        #+PROPERTY: NAME This is the value
1924      When using org-entry-get to get the value of a property with
1925      the `inherit' flag and the hierarchy above the entry does
1926      not contain this property, the buffer-local and global lists
1927      are checked as well.  This is mostly useful (I think) to set
1928      the list of allowed values for a property.  Thanks to Bernt
1929      Hansen and Bastien for these ideas.
1931    - Bug fixes.
1933 * Version 5.04
1935 ** Details
1937    - New variables `org-export-author-info' and
1938      `org-export-time-stamp-file' to turn off inclusion of author
1939      and time information into exported files.  Thank to Patrick
1940      Drechsler for pointing out that this would be useful.
1942    - New variable to avoid moving DEADLINE and SCHEDULED info
1943      into the property drawer.  The default is now to not move
1944      this stuff into the drawer.
1945      `org-insert-labeled-timestamps-before-properties-drawer'
1947    - `org-archive-mark-done' can be a string now, to select a
1948      specific keyword that should be used for archived entries.
1950    - New command "j" in agenda to jump to an arbitrary date.
1951      Thanks to Bernt Hansen for the patch.
1953    - Lots of minor fixes.
1955 * Version 5.03
1957 ** Incompatible Changes
1959    - The variable `org-special-ctrl-a' has been renamed to
1960      `org-special-ctrl-a/e'.  The old one is still an alias (but
1961      not on Emacs 21 where variable aliases cannot be defined).
1963 ** Details
1965   - When the variable `org-special-ctrl-a/e' is set, C-e in a
1966     headline first goes to the end of the headline ignoring the
1967     tags.  A second C-e then goes to after the tags.
1969   - Typing and removing single characters in a headline now
1970     keeps the tags in the headline aligned.  This could have a
1971     little impact on performance while deleting stuff - let me
1972     know if we need to make this customizable.
1974   - New option `org-n-level-faces' can be used to set the number
1975     of different faces that are used for headlines.  Default is
1976     all 8 faces Org-mode defines for this purpose, level 9 uses
1977     again the level-1 face.  However, you can use fewer, and then
1978     the level-1 face will be reused already for level N+1, etc.
1980   - Column View and hidestars now work together.
1982   - Bug fixes.
1985 * Version 5.02
1987 ** Overview
1989    - The interfaces for properties and column view are finished
1990      now and work well.
1992    - Properties can be summaries, i.e. the parent nodes can
1993      compute their value from the children's values.
1995    - Headlines finally require a space ofter the star(s).  The
1996      conflict with bold text at the beginning of the line is no
1997      longer there.
1999 ** Incompatible Changes
2001    - Bad news.  It looks like it is going to be really hard to
2002      make column view work on XEmacs and on Emacs 21.  Emacs 22
2003      is currently the only Emacs where this works.  If you are
2004      using Emacs 21 or XEmacs, you can still use properties, but
2005      not column view.
2007 ** Details
2009    - Improvements for properties:
2011      + There are interactive commands to insert and delete
2012        properties.  Read the manual chapter 7 for details.
2014      + You can define /allowed values/ for a property.  When
2015        these are defined, you can change the value of a property
2016        with S-left and S-right.  And you may use completion when
2017        inserting the property.  This goes a long way to prevent
2018        typos when entering properties.
2020    - Improvements for column view.
2022      + In column view, you may use the keys S-left/right (and
2023        also the keys `n' and `p') to switch from one allowed
2024        value to the next.
2026      + You can define summaries for columns.  For example,
2027        parents can contain the sum of all children values of a
2028        property, or the parent node can have a check box property
2029        that is automatically checked when all children's boxes are
2030        checked.
2032      + There are interactive commands to add and remove columns,
2033        and to change the attributes of a column like the summary
2034        type.
2036      These additions lead to the exciting fact that the example
2037      from [[http://www.omnigroup.com/images/applications/omnioutliner/features/multicolumn.jpg][omni outliner]] posted by Scott Jaderholm can now be
2038      accurately [[file:omni-org.jpg][reproduced by Org-mode]].
2040    - The space after the stars is now required in a headline, in
2041      order to remove the conflict with bold words at the
2042      beginning of a line.  So
2044      :    * This is a level 1 headline
2045      :    *this is bold text*
2047    - S-up and S-down to navigate plain item lists are now also
2048      available in orgstruct-mode.
2050 * Version 5.01
2052 ** Overview
2054    - A new minor mode, orgstruct-mode, exports the Org-mode
2055      structure editing commands into any other mode.
2057    - DRAWERS are a new level off folding for special sections
2058      that should stay closed during visibility cycling and only
2059      open if explicitly asked.
2061    - Entries can now have PROPERTIES.
2063    - A COLUMN VIEW implementation allows to easily view and edit
2064      the properties of a hierarchy of entries (Emacs only, for
2065      now).
2067    - Formula evaluation in the spreadsheet is more consistent
2068      now.  Properties and per-file constants can be used during
2069      evaluation.
2071    - Bug fixes and minor changes.
2073 ** Incompatible changes
2075    - When using LEVEL=N in a tags search, things have changed if
2076      you are also using `org-odd-levels-only'.  If you are using
2077      only odd levels (i.e. 1 or 3 or 5... stars), LEVEL=2 will
2078      now refer to 3 stars, LEVEL=3 to 5 stars etc.  Many thanks
2079      to Leo (or blame on him if you must) who has convinced me
2080      that this is the better convention.
2082 ** Details
2084 *** Orgstruct minor mode
2086     There is a new minor mode, orgstruct-mode.  This modes works
2087     in a similar way as Orgtbl-mode.  It can be used to export
2088     the Org-mode structure-editing commands into arbitrary major
2089     modes in Emacs.  For example, you can use it in Mail-mode to
2090     easily create lists.
2092     The functionality in Orgstruct mode is only active, if the
2093     cursor is in a line that looks either like a headline, or
2094     like the first line of a plain list item.  Then the commands
2095     `TAB', `M-cursor', `M-S-cursor', `M-RET', `M-S-RET', `C-c ^',
2096     `C-c C-c', and `C-c -' will do structure-related editing just
2097     like in Org-mode.  If the cursor is not in such a line, all
2098     these keys will do whatever the major mode or other active
2099     minor modes have assigned to them.
2101     Orgstruct-mode is the result of a proposal by Raman, quite
2102     some time ago.  It has taken a long time, but here is finally
2103     the promised implementation.
2105 *** Drawers
2107     The new concept of /drawers/ allows to create sections
2108     that remain folded during visibility cycling.  Drawers need
2109     to be configured using the variable `org-drawers'.  A drawer
2110     starts with a line containing only the name of the drawer
2111     bracketed by colons. It ends with :END:.  For example,
2112     after setting
2114     :   (setq org-drawers '("PROPERTIES" "HIDDEN"))
2116     you can then create drawers like this:
2118     :   :HIDDEN:
2119     :     here is some stuff that remains hidden
2120     :     unless TAB is pressed directly in that line
2121     :   :END:
2123     The PROPERTIES drawer has special meaning for ORG-mode, it
2124     contains properties of an entry (see below).
2126 *** Properties and Column View
2128     - Entries in Org-mode can now have arbitrary /properties/
2129       associated with them.  Org-mode handles some default
2130       properties like the TODO state, the priority, the local
2131       tags, and planning information like DEADLINE and SCHEDULED.
2132       In addition, you can assign arbitrary properties by creating
2133       a property drawer and inserting a line like
2135       :   :PROPNAME: This is the value of the property
2137       Org-mode has an API for properties, if you want to write a
2138       program using properties, use the functions
2139       `org-entry-properties', `org-entry-get', `org-entry-put',
2140       and `org-entry-delete'.
2142     - Planning information like DEADLINE can be hidden in the
2143       properties drawer.
2145       If the PROPERTIES drawer starts in the first line after a
2146       headline, also the DEADLINE, SCHEDULED and CLOCK information
2147       will be inserted inside the drawer.  If no PROPERTIES drawer
2148       is present, or if it does not start in the line right after
2149       the headline, this information remains in the lines directly
2150       after the headline, outside the drawer.
2152     - TAGS searches can now also query properties.  For example,
2153       the search
2155       :   LEVEL=3+BOSS+ASSIGNED="Hans"/WAITING
2157       will find entries that
2158       - are level 3
2159       - have the tag BOSS
2160       - have an ASSIGNED property with the value "Hans"
2161       - are TODO status WAITING.
2163         So here is an entry that will match:
2165         :   *** WAITING Clean up the factory     :BOSS:
2166         :       :PROPERTIES:
2167         :       :ASSIGNED: Hans
2168         :       :END:
2170         You may also use a regular expression to match against a
2171         property value.  For example, to find stuff assigned to Hans
2172         or Sarah, use
2174         :   ASSIGNED={^\(Hans\|Sarah\)$}
2176     - Column View is a special way to look at property values in
2177       tabular form.  Column View can be used in any org-mode
2178       file, and also in any agenda buffer.  It works by placing
2179       an overlay over each headline (or agenda line) that shows a
2180       table of selected properties.  You can look at and edit
2181       properties from this view.  Which properties are shown in
2182       the table must be set up using the COLUMNS property.  You
2183       can set up different property columns on different levels
2184       of an outline tree.  For example:
2186       :   * People
2187       :     :PROPERTIES:
2188       :     :COLUMNS: %25ITEM %Name
2189       :     :END:
2190       :   ** Family
2191       :      :PROPERTIES:
2192       :      :COLUMNS: %25ITEM %Name %3Age
2193       :      :END:
2194       :   *** Sam
2195       :       Info about Sam, including a property list with Name and Age.
2196       :   *** Sarah
2197       :       Info about Sarah, including a property list with Name and Age.
2198       :   ** Office
2199       :      :PROPERTIES:
2200       :      :COLUMNS: %25ITEM %Name %Function %Salary
2201       :      :END:
2202       :   *** Boss
2203       :       Info about the Boss, including a property list with Name,
2204       :       Function and Salary (if only we knew....).
2206       Now we have defined three different sets of columns.  If
2207       you switch to column view in the /Family/ section, you
2208       will get a different table than if you do it in the
2209       /Office/ section.  However, if you switch to column
2210       view with the cursor on the /People/ section, the
2211       table will cover all entries, but contain only the
2212       /Name/.
2214       Column view does, for the time being, only work on Emacs.
2215       The XEmacs implementation needs a bit of work.
2217     - Properties can be used in table formulas.  To access the
2218       value of the property :XYZ:, use $PROP_XYZ.  The property
2219       needs to be defined in the hierarchy above the table, not
2220       necessarily in the same entry as the table.  This was a
2221       request by Eddward.  File-wide constants can be defined with
2222       #+CONSTANTS, see below.
2224     - Things that still need to be sorted out about drawers,
2225       properties and column view - comments and suggestions
2226       welcome!
2228       + How to deal with drawers and properties in HTML and ASCII
2229         export?
2230       + What key could be used to insert an empty property drawer
2231         into an entry?
2232       + Right now column view is invoked through the command C-c
2233         C-x C-c.  It is too easy to type C-x C-c by mistake, and
2234         that causes Emacs to quit.  Suggestions for a different
2235         key?
2236       + Fontification of drawers and properties is not good yet.
2237         Any suggestions for better defaults?
2238       + Mouse support for editing properties in column view would
2239         be nice - maybe Piotr is interested to add this to
2240         org-mouse.el?
2242 *** Spreadsheet
2244     - In the spreadsheet, the evaluation of formulas has changed.
2245       Previously, first the column formulas would be evaluated
2246       everywhere, and then the field formulas would kick in, and
2247       in some cases overwrite the results of column formulas in
2248       the appropriate fields.  This had the side effect that some
2249       formulas might always use the wrong, intermediate content of
2250       a field that is computed both by a column and a field
2251       formula.
2253       From now on, column formulas will no longer temporarily
2254       overwrite field formulas.  This gives much more consistent
2255       results.  For example you can now finally have a column of
2256       increasing numbers by setting the first field to a fixed
2257       number, and let the rest follow from a column formula.
2259       Here is an example
2261       :   | 1 |
2262       :   | 2 |
2263       :   | 3 |
2264       :   #+TBLFM: $1=@-1+1::@1$1=1
2266     - Constants for formulas in spreadsheets are globally defined
2267       with the variable `org-table-formula-constants'.  File-local
2268       constants can now be set with a line like:
2270       :   #+CONSTANTS: c=299792458.  pi=3.14  eps=2.4e-6
2272 *** Minor changes
2274     - When entries are archived, a timestamp for the moment of
2275       archiving is added to the line with planning information.
2276       It looks like this:
2278       : ARCHIVED: [2007-07-02 Mon 11:34]
2280       Thanks to J. David Boyd for constructive comments.
2282     - Bug fixes
2284       Many bugs are fixed, as usually all the ones where I replied
2285       "fixed" on emacs-orgmode.  If you reported one of these
2286       bugs, please check if it really has disappeared in the new
2287       version, and complain if not.  Thanks!
2290 * Version 4.79
2292 ** Details
2294    - We are back to a single file org.el that works both on Emacs
2295      and on XEmacs.  Merging comes at a speed penalty for you as
2296      an XEmacs user, but *only if you do not compile* org.el.
2297      Compilation completely removes the penalty.
2299    - New L flag for literal interpolation in Lisp formulas.
2300      See manual section 3.5.3.
2302    - New options for turning off footnotes.
2303      This was a request from Ignotus.
2304      See the option `org-export-with-footnotes'.
2306    - Default length for Agenda entries, but this is off by
2307      default.  This was a request from Micheal.
2308      See the option `org-agenda-default-appointment-duration'.
2310    - Bug fixes:
2312      + org-agenda-date-later (Juraj Kubelka)
2313      + letters off margin in orgcard.ps (Charles Cave)
2314      + TODO export problems on XEmacs (ignotus@freemail.hu)
2315      + args-out-of-range with table formulas (Cecil Westerhof)
2316      + problem with org-file without a heading (Tim O'Callaghan)
2318 * Version 4.78
2320 ** Overview
2322    - Time stamps with a time range *included*, like
2323      : <2007-06-18 Mon 17:33-18:23>
2325    - Clock times without clocking in/out: CLOCK: => 2:00
2327    - Language-specific characters allowed in TAGS (Emacs only).
2329    - Promotion and demotion of items gets the indentation right.
2331    - Indenting lines with TAB is more intelligent.
2333 ** Incompatible changes
2335    - There is now a special version of `org.el' for XEmacs.
2336      Before installation, as an XEmacs user you must rename the
2337      file org_xemacs.el to org.el, i.e. you must overwrite org.el
2338      with the xemacs version.  For example:
2340      : mv org_xemacs.el org.el
2342      This is necessary so that I can make use of some features
2343      that would be cumbersome to support in a single file.  The
2344      XEmacs version is derived from the Emacs version with a
2345      program, so no reason to fear that I might be dropping
2346      XEmacs support any time soon.  Sorry for the trouble.
2348 ** Details
2350    - A time stamp may now contain a range of times.  So you no
2351      longer need to use two separate stamps to indicate a time
2352      interval on a single day.  For example
2354      : <2007-06-18 Mon 17:30-18:20>
2356      This is now fully supported, including changing the time
2357      with S-up/down while the cursor is on the end time.  Also,
2358      da the date/time prompt, you can simply write your time like
2359      12:00-14:00 and the range will be inserted.
2361      This was proposed by Leo some time ago, and recently by
2362      Michael.
2364    - You may specify clocking times by hand (i.e. without
2365      clocking in and out) using this syntax.
2367      : CLOCK: => 2:00
2369      Thanks to Scott Jaderholm for this proposal.
2371    - TAGS may now contain language-specific word characters, as
2372      long as they are matched by the "[:alnum:]" regexp syntax.
2373      This is for Emacs only, the XEmacs version continues to use
2374      the character class "a-zA-Z0-9_@" for tag names.  Thanks to
2375      David Smith for a patch to this effect (a modified version
2376      of that patch was applied).  I am considering to make the
2377      same change for TODO keywords, but not yet.  Note that files
2378      using localization features may not work correctly in the
2379      Emacs configuration of another user, so if you are sharing
2380      org-mode files with other users, it might still be best to
2381      stick to the ASCII characters.
2383    - Promotion and demotion of plain list items (commands M-left,
2384      M-right) no longer changes the indentation by just one
2385      space.  Instead, it uses intelligence gathered from the
2386      surrounding list structure to do the right thing.  Thanks to
2387      William Henney for starting the discussion about this.
2389    - TAB does now a better job of indenting lines.
2391      + After tables and code segments (lines starting with ":"),
2392        indentation goes back to what it was before (thanks to
2393        William Henney for suggesting this behavior).
2395      + When plain lists items are involved, we had a long
2396        discussion on emacs-orgmode where I tried to show that a
2397        too-sophisticated implementation will still be easily
2398        fooled.   Here is what I have implemented now - lets see
2399        if we can agree on this:
2401        Indentation will flatten lists with the same bullet type,
2402        but indent another bullet type further.  The time when
2403        this fails is in a nested list, when you want to get back
2404        out to a previous level.  For example
2406        : - item 1
2407        : - item 2
2408        : + item 2a
2409        : + item 2b
2410        : - item 3
2412        When using TAB on every line in this list, the structure
2413        will change to
2415        : - item 1
2416        : - item 2
2417        :   + item 2a
2418        :   + item 2b
2419        :     - item 3
2421        So you need to change the level of the last line by hand,
2422        using promotion and demotion functions.
2424 * Version 4.77
2426 ** Overview
2428    - Vertical lines in exported tables.
2429    - New default for `org-show-following-heading'.
2431 ** Incompatible changes
2433    - The default for `org-show-following-heading' is now nil.
2435 ** Details
2437    - You can now specify column groups in tables, to the effect
2438      that the groups will be separated by vertical lines in HTML
2439      and ASCII output.  Column groups are specified by the
2440      characters "<" and ">" in a special table row.  "<" starts a
2441      group, ">" ends a group (in each case including the the
2442      column where the character is specified).  You may also use
2443      "<>" to make a group a single column wide.  For example:
2445 : |   |  N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) |
2446 : |---+----+-----+-----+-----+---------+------------|
2447 : | / | <> |   < |     |   > |       < |          > |
2448 : | # |  1 |   1 |   1 |   1 |       1 |          1 |
2449 : | # |  2 |   4 |   8 |  16 |  1.4142 |     1.1892 |
2450 : | # |  3 |   9 |  27 |  81 |  1.7321 |     1.3161 |
2451 : #+TBLFM: $3=$2^2::$4=$2^3::$5=$2^4::$6=sqrt($2)::$7=sqrt(sqrt(($2))
2453      A table row with with nothing but "/" in the first field is
2454      never exported, but can be used to place column group
2455      information into the table.  In this table, we create a
2456      group for column 2, one for columns 3-5 and one for columns
2457      6-7.  HTML export will render a vertical line between these
2458      groups.
2460      Because HTML does not require closing <colgroup> tags with
2461      </colgroup>), you can also simply start a new column
2462      wherever you want a vertical line:
2464 : | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N0 |
2465 : |---+-----+-----+-----+---------+------------|
2466 : | / | <   | <   |     | <       |            |
2468    - Vertical lines are now also omitted in ASCII export, unless
2469      grouping explicitly requests these lines.
2471    - The default for `org-show-following-heading' is now nil,
2472      meaning that sparse trees will be more compact.  This has
2473      become possible due to in important remark by Jason Dunsmore
2474      who pointed out that TAB should behave differently in the
2475      inconsistent trees produced by the sparse tree commands.
2476      TAB does now make sure that the heading after a freshly
2477      unfolded tree is made visible at all, removing the confusing
2478      behavior we had before.
2480    - Several bugs fixed.  In particular:
2482      + Strings produced by agenda batch processing with
2483        `org-batch-agenda' and `org-batch-agenda-csv' are now
2484        properly encoded, so that you should be able to use
2485        special characters in other languages as along as your
2486        post-processing program handles them correctly.  At least
2487        for Emacs this should work now, but have not yet figured
2488        out how to do this in XEmacs.
2490 * Version 4.76
2492 ** Overview
2494    - Exporting Footnotes to HTML
2496 ** Details
2498    - Footnotes like[1] are now exported to HTML
2500         [1]This is a footnote
2502      Thanks to Scott Jaderholm for this proposal and a detailed
2503      HTML example on how the exported text should look like.
2505    - Special version of the reference card, for letter paper.
2507    - Switching to OVERVIEW with S-TAB no loner moves the cursor,
2508      so after three `S-TAB' commands, you will be back where you
2509      started.
2511    - Bug fixes, lots of them again.
2513 * Version 4.75
2515 ** Overview
2517    - Cyclic time stamps that repeat after an interval.
2518    - Special timestamps for appointments like "every 2nd Thursday
2519      in a month".
2520    - Completion of link abbreviation prefixes inside `C-c C-l'.
2521    - Replacing a region of org-mode syntax with HTML.
2522    - iCalendar export now honors ARCHIVE etc.
2523    - New command to add/change emphasis markers.
2525 ** Incompatible Changes
2527    - The REPEAT(...) cookie is no longer supported, the repeater
2528      interval now goes directly into the time stamp.
2530 ** Details
2532    - Time stamps can contain a repeater code, like +1w for once
2533      every week, +2d for every two days, etc.  For example,
2535           <2007-05-16 Wed 12:30 +1w>
2537      will apply to every Wednesday, starting from the date given.
2538      I believe this syntax was actually suggested by someone on
2539      the mailing list, but I cannot find the email back.  To
2540      collect your credit, let me know!
2542    - You can use an sexp diary entry (with the syntax used by the
2543      Emacs calendar/diary) in a time stamp, like this:
2545        *** The nerd club meets on 2nd Thursday of every month
2546            <%%(diary-float t 4 2)>
2548    - You can put diary-style sexp entries directly into an
2549      org-mode file, where they will be interpreted just like they
2550      would in the diary.  For example
2552        * Birthdays and similar stuff
2553        #+CATEGORY: Holiday
2554        %%(org-calendar-holiday) ; special function for holiday names
2555        #+CATEGORY: Ann
2556        %%(diary-anniversary 14  5 1956) Artur Dent %d is years old
2557        %%(diary-anniversary  2 10 1869) Mahatma Gandhi
2559      These entries must start at column 0 to be evaluated.
2561      It turns out that evaluating the entries in an org-mode file
2562      is actually faster than in the diary itself, because using
2563      the diary has some overhead (creating fancy diary display,
2564      then reading and re-interpreting the entries).  I have moved
2565      all the sexp entries from my diary into an org-mode file,
2566      put in a few categories, and then turned off
2567      `org-agenda-include-diary'.  This has led to a noticeably
2568      faster agenda display.
2570    - New command `org-replace-region-by-html' that converts the
2571      current region from org-mode syntax into HTML.  For example,
2572      you might write an itemized list in plain text in an HTML
2573      buffer, and then invoke this command to convert it.  Thanks
2574      to Raman for this idea.
2576    - When inserting a link with `C-c C-l', completion will now
2577      fill in all valid link prefixes, like http or ftp, but also
2578      link abbreviation prefixes.  This is based on an idea by
2579      Bastien.
2581    - Highest, lowest, and default priority can be set on a
2582      per-file basis with #+PRIORITIES: H L D
2583      For example, to use priorities from 1 to 9, you could use
2585        #+PRIORITIES: 1 9 9
2587      Thanks to Dmitri Minaev for a patch to this effect.
2589    - iCalendar export now honors (i.e. skips) subtrees marked as
2590      ARCHIVE, COMMENT, or QUOTE.
2592    - There is a new command to add or change the emphasis (like
2593      bold or italic) of a piece of text.  For lack of better
2594      available keys the command is at `C-c C-x C-f', but you may
2595      well want to choose a more convenient key like `C-c f' in
2596      your private setup:
2598      (add-hook 'org-load-hook
2599       (lambda () (define-key org-mode-map "\C-cf" 'org-emphasize)))
2601      The command will prompt for an emphasis type, and you may
2602      reply either with the marker that triggers the emphasis, or
2603      with the first letter of the corresponding HTML tag.  For
2604      example, to select italic, press either "/" or "i".
2606      If there is an active region, the emphasis of this region
2607      will be set or changed.  If there is no region, only the
2608      emphasis markers will be inserted and the cursor positioned
2609      between them.  Thanks to Bastien for proposing this feature.
2611    - Bug fixes, everything where I have replied "fixed" on the
2612      mailing list.  Thanks to all of you for keeping these reports
2613      coming.
2615 * Version 4.74
2617 ** Overview
2619    This release is about exporting agenda views, to HTML, to
2620    postscript for printing, and to a special format (CSV) for
2621    further processing in scripts.
2623 ** Incompatible Changes
2625    - The variable `org-agenda-remove-tags-when-in-prefix' has
2626      been renamed to `org-agenda-remove-tags'.
2628 ** Details
2630    - Agenda views can be exported as plain text, as HTML, and as
2631      Postscript(R).  This can simply be done from the agenda
2632      buffer with `C-x C-w' and then specifying a filename like
2633      `myagenda.html' or `myagenda.ps'.  See section 8.6.4 of the
2634      manual.
2636    - Each custom agenda view can specify a list of associated
2637      files names.  The command `C-c a e' then creates all views
2638      that have associated file names and exports the views to
2639      these files.  This is great for producing paper versions of
2640      your views, to take with you when you don't have your
2641      computer.  The manual has an example on how to do this, and
2642      in particular on how to customize the format of the printed
2643      version.  See section 8.6.4 of the manual.
2645    - You can produce a CSV format of agenda information with an
2646      Emacs batch command.  This is greate for further processing
2647      in scipts.  Thanks to Jason F. McBrayer for this idea.
2648      See section 8.6.5 of the manual.
2650    - New variable `org-agenda-skip-deadline-if-done'.  When set,
2651      a deadline associated with a DONE item will not be shown in
2652      the agenda.  This is based upon a report by Denis Bueno.
2654    - Quite a few bug fixes.
2656 * Version 4.73
2658   Minor bug fixes.
2660 * Version 4.72
2662 ** Overview
2664    - Control over blank lines between trees in collapsed view.
2666    - Info about the running clock is shown in the modeline.
2668    - C-a can behave specially in headlines.
2670    - Better color and scaling defaults for LaTeX fragments.
2672    - Customizable list of keys in org-mode to be replaced.
2674    - Stuck project descriptions have been extended.
2676    - Emphasis code has been modified to fix some issues.
2678    - Bug fixes.
2680 ** Incompatible changes
2682    - The option `org-format-latex-options' has changed.  If you
2683      have customized it, please revert to default and then redo
2684      your customization.
2686    - `org-CUA-compatible' no longer modifies S-RET by default,
2687      because newer versions of CUA don't use this key anymore.
2688      If you need this replacement, customize the variable
2689      `org-disputed-keys'.
2691    - The variable `org-CUA-compatible' is obsolete, please use
2692      `org-replace-disputed-keys' instead.  `org-CUA-compatible'
2693      is still an alias for this new variable, though.
2695 ** Details
2697    - Better control over blank lines between trees in collapsed
2698      view.  This has come up several times in the past and most
2699      recently by Scott Jaderholm.  There is now a new variable
2700      `org-cycle-separator-lines' with default value 2.  It says
2701      how many empty lines there need to be after the end of a
2702      subtree to get an empty line in collapsed view.  So with the
2703      default, if you leave only one empty line it will disappear
2704      in collapsed view.  If you leave two, one empty line will
2705      remain so that you can use double empty lines to structure
2706      the collapsed views of a file.  I love it, so many thanks to
2707      Scott fro bringing this up again.
2709      One property of the new setup is that you will never get
2710      more than one blank line in collapsed view.  We could do
2711      something special to allow *several* empty lines in
2712      collapsed view, but I think this is counter-productive.
2714      In Emacs 22, if you want to make full use of this, make sure
2715      that you have not set `outline-blank-line'.
2717    - When the clock is running, Org-mode will put info about it
2718      into the modeline.  The info consists of the elapsed time
2719      and the heading of the clocked item.  This was a proposal
2720      from Bastien who got the idea from Muse.
2722    - C-a can behave specially in headlines when you set the
2723      variable `org-special-ctrl-a'.  It will bring the cursor
2724      first back only to the beginning of the headline *text*,
2725      i.e. after the stars and the TODO keyword, if any.  A second
2726      C-a will then move the cursor to the beginning of the line.
2727      If the cursor is already at the beginning of the line, C-a
2728      will spring *forward* to the headline text.  This was a
2729      proposal from Leo, based on a request from Scott Jaderholm.
2731      I have not turned this turned this on by default, should I?
2733    - When LaTeX fragments are processed into images, there is now
2734      more control and (hopefully) betters defaults for colors and
2735      scaling.  Special values can be set for HTML export, so that
2736      these values can differ from what is used for display in an
2737      emacs buffer.  The default foreground and background colors
2738      for images embedded in emacs are now taken from the default
2739      emacs face.  Thanks to Xiao-Yong Jin for proposing these
2740      changes.
2742    - There is now a much better mechanism to change some keys in
2743      org-mode if these keys clash with other modes you use.  Turn
2744      this on by setting `org-replace-disputed-keys' (aliased to
2745      `org-CUA-compatible').  The list of keys to replace is now
2746      fully customizable, see the option `org-disputed-keys'.
2747      Many thanks to Meciej Katafiasz for a patch implementing
2748      this.
2750    - Stuck project descriptions have been extended.  You can now
2751      use "*" as a TODO keyword or tag to say that *any* TODO
2752      keyword or TAG marks a project as non-stuck.  You also can
2753      give an arbitrary regular expression that, if it matches,
2754      indicates a non-stuck project.
2756    - The code for emphasis like bold, italic etc has been
2757      modified - I might have broken something in the process,
2758      please let me know if you find problems.
2760    - A number of bugs have been fixed - those where I have
2761      replied "Fixed" on the mailing list.
2763 * Version 4.71
2765 ** Overview
2767 ** Incompatible changes
2769 ** Details
2771   - New variables to customize the header and data tags in
2772     exported HTML.  These are the variables
2773     `org-export-table-header-tags' and
2774     `org-export-table-data-tags'.  This follows a request from
2775     Scott Otterson.
2777   - New option `org-format-latex-header' for customizing the
2778     header of the LaTeX file used to convert embedded LaTeX to
2779     images.  Thanks to `Matthieu Lemerre' for the suggestion.
2781   - The prefix version of `org-todo-list' works again.  This
2782     means that `C-1 C-c a t' produces the list of TODO entries
2783     for the first TODO keyword.  If you use different TODO setups
2784     in different agenda files, be careful:  This number now
2785     refers to the list of *all* todo keywords used in files
2786     that are scanned for the agenda.
2788   - Many bug fixes.
2790 * Version 4.70
2792 ** Overview
2794    - Dust settles after revamp of TODO keyword system.
2795    - The export title can be taken from the first text line.
2796    - TTY replacement keys have changed.
2798 ** Incompatible changes
2800    - Some TTY replacement keys are changed, see below.
2802 ** Details
2804   - Further development concerning TODO keywords.
2806     + You can now have several DONE states in a sequence, like
2808       #+SEQ_TODO: TODO VERIFY | DONE DELEGATED
2810       The difference to the proposal discussed on the mailing
2811       list (and which is also works!)
2813         #+SEQ_TODO: TODO VERIFY | DONE
2814         #+SEQ_TODO: | CANCELED
2816       is that in the first case, the extra DONE states will be
2817       reached with `C-c C-t' (or with `t' from the agenda), while
2818       in the second case you need S-<right> to get to the special
2819       states.  I guess both ideas can be useful - I am leaning
2820       toward using the latter.
2822     + Setting up TODO keywords in Lisp previously used two
2823       separate variables: `org-todo-keywords' and
2824       `org-todo-interpretation'.  The preferred way is now to use
2825       only `org-todo-keywords', with a new structure:
2827        (setq org-todo-keywords
2828          '((sequence "TODO" "|" "DONE")
2829            (sequence "BUG" "KNOWNCAUSE" "|" "FIXED" "IGNORED")
2830            (type "Fred" "Lisa" "Peter" "|" "DONE")
2831            (sequence "CANCELED")    ; for things we decide to not do.
2832            ))
2834       If your setting has this new structure,
2835       `org-todo-interpretation' will be ignored.  This change
2836       does not break backward compatibility.  The old way of
2837       using a flat list in `org-todo-keywords' and taking the
2838       interpretation from the other variable still works.
2840     + When listing *specific* TODO entries via a sparse tree
2841       (`C-u C-c C-v') or via the agenda (`C-c a T' or `C-u C-c a
2842       t'), you can now specify several keywords to be selected,
2843       like "TODO|VERIFY|WAITING".  This also works for custom
2844       agenda commands.  Thanks to Jason F. McBrayer for pointing
2845       out this omission.
2847   - If you have configured Org-mode to export also the text
2848     before the first headline (this is done by setting the
2849     variable `org-export-skip-text-before-1st-heading' to nil),
2850     then the first normal text line in the buffer becomes the
2851     title of the exported document.  A title set with #+TITLE
2852     overules this default, and the first line then belongs to the
2853     normal text.  Thanks to David House for this proposal.
2855   - TTY replacement keys.  Some of the key bindings used by
2856     Org-mode do not work on a tty, so replacement key sequences
2857     are provided on ttys.  In version 4.70, there are some
2858     changes in the tty replacements.  Thanks to Jason F. McBrayer
2859     for coming up with the idea to use C-c <cursor> keys.
2861     | Command           |           | Old TTY       | New TTY       |
2862     | org-.....         | Main Key  | Replacement   | Replacement   |
2863     |-------------------+-----------+---------------+---------------|
2864     | shiftleft         | S-left    | C-c C-x left  | C-c left      |
2865     | shiftright        | S-right   | C-c C-x right | C-c right     |
2866     | shiftup           | S-up      | C-c C-x up    | C-c up        |
2867     | shiftdown         | S-down    | C-c C-x down  | C-c down      |
2868     | shiftcontrolleft  | C-S-left  |               | C-c C-x left  |
2869     | shiftcontrolright | C-s-right |               | C-c C-x right |
2872 * Version 4.69
2874 ** Overview
2876    This time the changes affect the following areas:
2878    - TODO keywords:  Multiple sequences in a single file.
2879    - Export: More control over text before the first heading.
2880    - Export: More control over sub/superscript interpretation.
2881    - Plain lists:  Option to let empty lines terminate lists.
2882    - Tables: New command to insert hline and move into line below.
2883    - REPEATing items:  Turn of note taking.
2884    - Bug fixes.
2886 ** Incompatible changes
2888    - It used to be possible to spread the list of TODO keywords
2889      over several lines, like
2891      #+SEQ_TODO: TODO
2892      #+SEQ_TODO: PROGRESS
2893      #+SEQ_TODO: DONE
2895      This is no longer possible.  Each such line now specifies an
2896      independent set of TODO keywords, with its own DONE state.
2897      See below for details.
2899    - The #+TEXT construct has been used to insert unchanged HTML
2900      into an exported file.  This is no longer possible, the TEXT
2901      lines will be processed like any other lines.  However,
2902      there are now much better ways of getting quoted HTML into
2903      the exported file.
2905 ** Details
2907    - You can now use multiple sets of TODO keywords in the same
2908      buffer.  For example, you may put the following three lines
2909      into a file:
2911        #+SEQ_TODO: TODO DONE
2912        #+SEQ_TODO: REPORT BUG KNOWNCAUSE RESOLVED
2913        #+TYP_TODO: Fred Laura Peter Me OK
2915      Each sub-sequence has its own DONE state.  It is best to use
2916      different keywords in all sequences, to make sure Org-mode
2917      does not loose track in which specific sequence it is
2918      working.  You could use the same word for all DONE states,
2919      but then cycling through to a TODO state might not bring you
2920      where you want to be.
2922      After initially setting a keyword, `C-c C-t' cycles through
2923      a sublist, i.e. is cycles from TODO to DONE or from
2924      KNOWNCAUSE to RESOLVED and further to (nothing) and back to
2925      REPORT.
2927      S-right and S-left allow to select any keyword, so they move
2928      from DONE to REPORT and from RESOLVED to Fred.
2930      C-S-right and C-S-left jump from one sub-sequence to the
2931      next, for example from TODO or DONE to REPORT to Fred.
2933      Thanks to Rick Moynihan for triggering this development.
2935    - Text before the first headline can now be exported if you
2936      configure Org-mode accordingly.  Either set the variable
2937      `org-export-skip-text-before-1st-heading' to nil, or use the
2938      new in-buffer option
2940      #+OPTION: skip:nil
2942    - Export content specified via the #+TEXT construct is now
2943      fully processed, i.e. links, emphasis etc. are all
2944      interpreted.  #+TEXT lines may include
2945      #+BEGIN_HTML...#+END_HTML sections to embed literal HTML.
2947    - During HTML export, you can request to have a_{b}
2948      interpreted as a subscript, but to leave a_b as it is.  This
2949      can be done by setting the variable
2950      org-export-sub-superscript to the symbol `{}' with
2952           (setq org-export-sub-superscript '{})
2954      or by using
2956            #+OPTIONS: ^:{}
2958      Thanks to Eddward DeVilla for this idea.
2960    - New variable `org-empty-line-terminates-plain-lists'.
2961      Default is nil, meaning that empty lines are part of the
2962      previous list item, and that you can have several paragraphs
2963      in one such item.  Set this to t if you want an empty line
2964      terminate all levels of plain list items.
2966      Thanks to Mike Newman for triggering this development.
2968    - C-c RET does insert a horizontal separator line and move the
2969      cursor into the table line below it.  Thanks to Bastien for
2970      this proposal.
2972    - Org-mode always offers you to record a note when a TODO item
2973      automatically repeats, even if you are not logging state
2974      changes.  The new variable `org-log-repeat' allows to turn
2975      this off, so that notes are really only been taken if you
2976      are logging all state changes.
2978    - Various Bug fixes, thanks to everyone who reported.
2980 * Version 4.68
2982 ** Overview
2983    - Priority handling in the tags view
2984    - Date/time prompt follows the popup calender, and accepts AM/PM times.
2985    - Standard references like B4 in the spreadsheet.
2986    - Improvements to the formula editor.
2987    - C-j does better indentation.
2988    - Bug fixes
2990 ** Details
2991    - Priority handling in the tags view
2993      + Agenda lists selected by tag are now sorted by priority.
2994        Thanks to Andrew Korty for reporting this omission.
2996    - Improvements to the date/time prompt.
2998      + When you move (using S-cursor keys) the cursor in the pop-up
2999        calendar window while responding to a date/time prompt, the
3000        prompt is updated with the new default date (Emacs only).
3002      + You can now enter AM/PM times at this prompt.
3004    - Changes in the spreadsheet
3006      + You can now also write B4 instead of @4$2 as a reference in
3007        formulas.  The column references without specified row can be
3008        written as C& instead of $3.  Such references make formulas
3009        easier to read and are now the default way how references are
3010        shown when you edit existing formulas.  To get the old behavior
3011        back (i.e. only @row$col references), set the variable
3012        `org-table-use-standard-references' to nil.
3014        Relative references like @-3$-2 or @II..III continue to use the
3015        internal format.
3017    - Changes in the formula editor (the one you get with "C-c '")
3019      + The formulas are organized in a more logical way.
3021      + There is now a menu with commands.
3023      + When starting the formula editor with "C-c '", the cursor
3024        immediately moves to the formula for the current field.
3026      + With the cursor on a reference in the formula, you can use
3027        S-cursor keys to change the field being referenced.
3029    - C-j indents the following line correctly whe used in a headline
3030      or in aplain list item.  Thanks to Leo for this suggestion.
3032    - Bug fixes
3034      + Flyspell now knows about special org-mode commands.
3035        Thanks to Vinod Valsalam for reporting this problem, and to
3036        Andrew Korty for showing how to fix it.
3038      + Most other bugs discussed recently on emacs-orgmode@gnu.org
3039        should be fixed, except the problem with non-ASCII characters
3040        in tags....
3042 * Version 4.67
3044    - Expert mode for fast tag selection.
3045      When org-fast-tag-selection-single-key is `expert', not even
3046      the selection window is shown, only the prompt.  One more C-c
3047      gets you the window, another one goes to multiple selection mode.
3049    - Synchronized with Emacs once more:  Emacs CVS has now org-mode
3050      4.67.  At least until it causes a problem, then the Emacs people
3051      will switch back to 4.56.  Lets hope there will be no problem.
3053    - Code cleanup
3055    - Bug fixes
3057 * Version 4.66
3059 ** Overview
3061    - Sorting of top-level entries works now if the region contains
3062      top-level entries, or if the cursor is before the first headline.
3063      Thanks to "redblue" for reporting this bug.
3065    - When entering date and time at the prompt, you can now mix
3066      entering text and selecting something in the calendar.  For
3067      example, enter 22:15 at the prompt without pressing RET, and then
3068      click on a date in the calendar.  Both pieces of information will
3069      be included in the resulting time stamp.  You can also use
3070      S-curser to move the cursor in the calendar to the desired date
3071      and then enter 22:15 and press RET at the prompt.
3073    - When setting a deadline or a schedule, entering a time now
3074      automatically selects the time stamp format that includes the
3075      time. Bug report (by means of a question) from Bastre.
3077    - C-c C-l can be used to convert a plain link into a bracket link.
3079    - Internal links now match inside (the visible part of) other
3080      links.  Thanks to Scott Otterson for reporting this bug.
3082    - iCalendar export of TODO items fixed, see also the variable
3083      `org-icalendar-include-todo'.  Thanks to Philipp Raschdorf.
3085    - The number of levels in the table of contents of an exported
3086      document can now be set independently of the number of headline
3087      levels.  For example:
3089         #+OPTIONS: H:4 toc:2
3091    - The command `C-c }' toggles the display of row and column numbers
3092      the the current table, to aid constructing formulas.  To try it,
3093      move the cursor to a table and press `C-c }', or use the menu
3094      entry.
3096    - Orgtbl translation functions (introduced in 4.65) have been
3097      simplified using a generic function `orgtbl-to-generic' that can
3098      be used for very general languanges.  Writing your own translator
3099      should be very easy now.  More info in the manual.
3101    - CONTENTS visibility can be limited to a certain level.  The
3102      command `C-3 S-TAB' will switch to CONTENTS view and show the
3103      first 3 levels.
3105    - Bug fixes.
3107 * Version 4.65
3109 ** Overview
3111    - Orgtbl can be used to maintain tables in LaTeX, and in any other mode
3112    - Editing Lisp formulas for tables improved.
3113    - Better structure for HTML exported tables.
3114    - New "calculation" marker "/" to mark lines that should not be exported.
3116 ** Detailed description of changes
3118    - You can use orgtbl mode to maintain a LaTeX table, or pretty much
3119      any table in any mode.
3121      This does *not* work by making Orgtbl aware of LaTeX syntax.  That
3122      would be a box of Pandora I am not willing to open.  Instead, you
3123      use a normal Orgtbl-mode table, and a converter program to
3124      automatically place a LaTeX version of the table into the correct
3125      spot in the LaTeX file.  The orgtbl-mode table can be maintained
3126      inside the same file, in a block comment.
3128      I am providing translators for LaTeX, HTML, and TeXInfo.  For
3129      other applications, you need to write one yourself - but that is
3130      not hard if you start from the LaTeX version and just modify it.
3131      Thanks to Thomas Baumann for triggering this development through
3132      a request for a table-to-LaTeX converter.
3134    - In the special buffer to edit the formulas of a table (created
3135      with "C-c '"), there is now better support for editing Lisp
3136      formulas.  TAB and M-TAB work like in an Emacs Lisp buffer,
3137      indenting lines and completing lisp symbols.  With the cursor on
3138      a line defining a complex Lisp formula, a first press on TAB will
3139      convert the formula into a pretty-printed version with proper
3140      linebreaks and indentation.  A second TAB folds the line back to
3141      the compact form.
3143    - Tables in HTML export have now additional structure elements
3144      defined.  The header (before the first hline) is wrapped into
3145      <thead>..</thead>, and each part of the body (as separated in
3146      org-mode by hlines) is wrapped into <tbody>..</tbody> tags.  I
3147      have also changed the CSS style for <td> fields and the value of
3148      `org-export-html-table-tag' to get cleaner tables. Basically,
3149      tables now have horizontal lines only where needed, and no
3150      vertical lines at all, as generally recommended for tables in
3151      printed text.  I like the new look, but I am not sure if this
3152      change will find general approval, please throw in your view if
3153      you like.  Thanks to Scott for driving this, and to goud-H for
3154      pointing me to the row grouping in tables.
3156    - In a table with calculation markers in the first column, you can
3157      now also put "/" into the first column.  It indicates that this
3158      line should not be exported.  The foremost application for this
3159      are lines containing only "<N>" markers for narrowing columns.
3161 * Version 4.64
3163 ** Overview
3165    - Email links get better, configurable descriptions
3166    - When inserting a link, selected text becomes the description
3167    - Easier access to the list of stored links.
3168    - Horizontal lines in HTML export.
3169    - Remember templates and storing of notes improved.
3171 ** Detailed description of changes
3173    - The descriptive part of links to email messages can be configured
3174      using the variable `org-email-link-description-format'.  The new
3175      default is "Email %c: %.30s" and leads to
3177         Email from NAME: SUBJECT
3179      If you configure the variable `org-from-is-user-regexp'
3180      correctly, then for email you *sent* this will actually change to
3182         Email to NAME: SUBJECT
3184      The subject is limited to 30 characters.  If you have become
3185      attached to the previous default (look twice, the new one is
3186      better), use "%f on: %s" as your format.
3188    - Selecting text before entering a new link with C-c C-l now really
3189      works, the selected text becomes the description part of the
3190      link.  Requested by Scott, buggy 4.62 implementation is now fixed.
3192    - Stored links are part of the history list for C-c C-l, so to
3193      reach them, you can use up/down rather than completion.  Thanks
3194      to Raman for this excellent idea.
3196    - A line consisting only of "-", and at least 5 of them, is
3197      exported into HTML as <hr/>, as proposed by Giovanni Ridolfi.
3199    - Several changes to org <-> remember integration
3201        - You can use `org-remember' as your default command to start
3202          remember.  It will automatically detect if there is an active
3203          region and use it as initial content (we will probably make
3204          remember.el work like this as well).
3205          Also, when calling `org-remember' in a remember buffer that
3206          was created with a template, you will again be asked to
3207          select a template.  The buffer is then re-created with the
3208          new template, but the old context information.  This is
3209          useful if you change your mind about the template to use
3210          (Leo's idea).
3212        - Besides specifying a default *target* file for a note, you
3213          can also give a default *heading* of which the note should
3214          become a subitem.  In many cases this avoids or speeds up
3215          navigating to the right location.  Both file and heading can
3216          be different for each template.  Both are non-binding, you
3217          can change them while storing the note.  However, when you
3218          exit remember with C-u C-c C-c, these defaults will be used
3219          without interaction.
3221        - Templates can specify interactive fields.  During expansion
3222          of the template, you will be prompted for the information in
3223          that field.  For example %^t will pop up a calendar and ask
3224          you to select a date. This new feature follows a proposal
3225          from Leo, who in the mean time has said he does not need it
3226          anymore.  But I liked it, so here it is :-)
3228        - Templates can access information specific to the link type
3229          created, for example the author and subject of an email.
3230          Syntax is %:fromname, %:fromaddress, %:subject etc, details
3231          in the manual.  Proposed by Peder O. Klingenberg.
3233        - I have been considering to move, at some stage, the template
3234          functionality into remember.el itself - which would of course
3235          require consent of the remember.el maintainers.  I am not
3236          sure how well this would work though, since some things like
3237          the interactive time stamps are org.el specific, so treating
3238          them would require special hooks.  Comments?
3240 * Version 4.63
3241    - Bug fixes
3243 * Version 4.62
3244    - Many changes to the spreadsheet functions in the table editor.
3245      For details, please re-read the manual section 3.4.
3246      + New Features
3247        - It is much easier to assign formulas to individual fields.
3248        - References to arbitrary fields and ranges.
3249        - Absolute references are modified in row-editing commands.
3250        - Formula editor that highlights referenced fields.
3251      + Incompatible changes
3252        - Empty fields are excluded in range references, see "E" mode flag.
3253        - &... ranges no longer supported, use new @... ranges.
3254        - Variable insertion into Lisp formulas work differently.
3255    - Selected text becomes the default description for C-c C-l links.(Scott)
3256    - The date format in the agenda/timeline views is now customizable.
3257      See the new option `org-agenda-date-format'. (request by Victor)
3258    - Link abbreviations no longer need a double colon, single colon is fine.
3259    - Bug fixes.
3261 * Version 4.61
3262    - Avoiding keybinding clashes with flyspell
3263      - Archiving is now also on `C-C C-x C-s' (was just `C-c $')
3264      - Cycling through agenda files is now also on "C-'" (was just "C-,")
3265    - Colon is considered part of number, to align times in clock tables.
3266    - Fixed bug for list of stuck projects.
3267    - Fixed several bugs/problems concerning linking to gnus.
3268    - Block agendas can contain the list of stuck projects.
3269    - #+ARCHIVE may now appear several times in the buffer.
3270    - More bug fixes.
3272 * Version 4.60
3273    - HTML export: inlining images, clickable images (manual 10.2.4).
3274    - Incremental search now shows proper context when exiting.
3275    - Tables calculation and Calc package.
3276      - Calc is no longer needed when using only elisp formulas.
3277      - Proper error messages when calc is needed and not available.
3278    - Tracking TODO state changes with time stamps and notes.
3279    - Empty entries go full circle.
3280    - Links in iCalendar export cleaned up.
3281    - Bug fixes.
3284 * Version 4.59
3285    - Cleanup code, bug fixes.
3287 * Version 4.58
3288    - Full undo support in the agenda buffer.
3289    - Listing stuck GTD projects (projects without any NEXT ACTIONS).
3290      Configure `org-stuck-projects' before using it.
3291    - C-c C-x b shows the current subtree in an indirect buffer, in
3292      another, dedicated frame.
3293    - Custom agenda commands take precedence over builtin commands.
3294    - auto-fill for comments works on the Emacs side, XEmacs not yet.
3296 * Version 4.57
3297    - Sorting of outline items on same level.
3298    - Sorting tables automatically selects line range between hlines.
3299    - Changes in Agenda buffer
3300      - `C-c C-o' follows a link in the current line.
3301      - `C-c $' archives the subtree corresponding to the line.
3302      - Changing dates with S-left and S-right show new date in agenda,
3303        but still do not move the entry to the new date.
3304      - new option `org-agenda-skip-scheduled-if-done'.
3305    - Agenda and sparse tree construction using tag matches can now
3306      use regular expressions.
3307    - When prompted for a date/time, entering "+7" indicates a date
3308      7 days from now - but only this is the only thing you give.
3309    - Custom time formats also apply to exported html and ascii.
3310    - Bug fixes.
3312 * Version 4.56
3313    - `C-k' in agenda kills current line and corresponding subtree in file.
3314    - XEmacs compatibility issues fixed, in particular tag alignment.
3315    - M-left/right now in/outdents plain list items, no Shift needed.
3316    - Bug fixes.
3318 * Version 4.55
3319    - Bug fixes.
3321 * Version 4.54
3322    - Improvements to fast tag selection
3323      + show status also in target line.
3324      + option to auto-exit after first change to tags list (see manual).
3325    - Tags sparse trees now also respect the settings in
3326      `org-show-hierarchy-above' and `org-show-following-heading'.
3327    - Bug fixes.
3329 * Version 4.53
3330    - Custom time formats can be overlayed over time stamps.
3331    - New option `org-agenda-todo-ignore-deadlines'.
3332    - Work-around for flyspell bug (CVS Emacs has this fixed in flyspell.el).
3333    - Work-around for session.el problem with circular data structures.
3334    - Bug fixes.
3336 * Version 4.52
3337    - TAG matches can also specify conditions on TODO keywords.
3338    - The fast tag interface allows setting tags that are not in the
3339      predefined list.
3340    - Bug fixes.
3342 * Version 4.51
3343    - Link abbreviations (manual section 4.5).
3344    - More control over how agenda is displayed.  See the new variables
3345      `org-agenda-window-setup', `org-agenda-restore-windows-after-quit'.
3346    - Bug fixes.
3348 * Version 4.50
3349    - Closing a TODO item can record an additional note.
3350      See variables `org-log-done' and `org-log-note-headings'.
3351    - Inserting headlines and bullets can leave an extra blank line.
3352      See variable `org-blank-before-new-entry'. (Ed Hirgelt patch)
3353    - [[bracket links]] in the agenda are active just as in org-mode buffers.
3354    - C-c C-o on a date range displays the agenda for exactly this range.
3355    - The default for `org-cycle-include-plain-lists' is back to nil.
3356    - Calls to `org-occur' can be stacked by using a prefix argument.
3357    - The options `org-show-hierarchy-above' and `org-show-following-heading'
3358      now always default to `t', but can be customized differently for
3359      different types of sparse trees or jump commands.
3360    - Bug fixes.
3363 * Version 4.49
3364    - Agenda views can be made in batch mode from the command line.
3365    - `org-store-link' does the right thing in dired-mode.
3366    - File links can contain environment variables.
3367    - Full Emacs 21 compatibility has been restored.
3368    - Bug fixes.
3370 * Version 4.47
3371    - Custom commands may produce an agenda which contains several blocks,
3372      each block created by a different agenda command.
3373    - Agenda commands can be restricted to the current file, region, subtree.
3374    - The timeline command must now be called through the agenda
3375      dispatcher (C-c a L).  `C-c C-r' no longer works.
3376    - Agenda items can be sorted by tag.  The *last* tag is used for this.
3377    - The prefix and the sorting strategy for agenda items can depend
3378      upon the agenda type.
3379    - The handling of `mailto:' links can be customized, see the new
3380      variable `org-link-mailto-program'.
3381    - `mailto' links can specify a subject after a double colon,
3382      like [[mailto:carsten@orgmode.org::Org-mode is buggy]].
3383    - In the #+STARTUP line, M-TAB completes valid keywords.
3384    - In the #+TAGS: line, M-TAB after ":" inserts all currently used tags.
3385    - Again full Emacs 21 support:  Checkboxes and publishing are fixed.
3386    - More minor bug fixes.
3388 * Version 4.45
3389    - Checkbox lists can show statistics about checked items.
3390    - C-TAB will cycle the visibility of archived subtrees.
3391    - Documentation about checkboxes has been moved to chapter 5.
3392    - Bux fixes.
3394 * Version 4.44
3395    - Clock table can be done for a limited time interval.
3396    - Obsolete support for the old outline mode has been removed.
3397    - Bug fixes and code cleaning.
3399 * Version 4.43
3400    - Bug fixes
3401    - `s' key in the agenda saves all org-mode buffers.
3403 * Version 4.41
3404    - Shift-curser keys can modify inactive time stamps (inactive time
3405      stamps are the ones in [...] brackets.
3406    - Toggle all checkboxes in a region/below a headline.
3407    - Bug fixes.
3409 * Version 4.40
3410    - Bug fixes.
3413 * Version 4.39
3414    - Special tag ARCHIVE keeps a subtree closed and away from agenda lists.
3415    - LaTeX code in Org-mode files can be converted to images for HTML.
3416    - Bug fixes.
3417    - CDLaTeX-mode features can be used in Org-mode to help inserting
3418      LaTeX environment and math.
3420 * Version 4.38
3421    - noutline.el is now required (important for XEmacs users only).
3422    - Dynamic blocks.
3423    - Archiving of all level 1 trees without open TODO items.
3424    - Clock reports can be inserted into the file in a special section.
3425    - FAQ removed from the manual, now only on the web.
3426    - Bug fixes.
3428 * Version 4.37
3429    - Clock-feature for measuring time spent on specific items.
3430    - Improved emphasizing allows configuration and stacking.
3432 * Version 4.36
3433    - Improved indentation of ASCII export, when headlines become items.
3434    - Handling of 12am and 12pm fixed.  Times beyond 24:00 can be used
3435      and will not lead to conflicts.
3436    - Support for mutually exclusive TAGS with the fast tags interface.
3437    - Bug fixes.
3439 * Version 4.35
3440    - HTML export is now valid XHTML.
3441    - Timeline can also show dates without entries.  See new option
3442      `org-timeline-show-empty-dates'.
3443    - The bullets created by the ASCII exporter can now be configured.
3444      See the new option `org-export-ascii-bullets'.
3445    - New face `org-upcoming-deadline' (was `org-scheduled-previously').
3446    - New function `org-context' to allow testing for local context.
3448 * Version 4.34
3449    - Bug fixes.
3451 * Version 4.33
3452    - New commands to move through plain lists: S-up and S-down.
3453    - Bug fixes and documentation update.
3455 * Version 4.32
3456    - Fast (single-key-per-tag) interface for setting TAGS.
3457    - The list of legal tags can be configured globally and locally.
3458    - Elisp and Info links (thanks to Todd Neal).
3459    - `org-export-publishing-directory' can be an alist, with different
3460      directories for different export types.
3461    - All context-sensitive commands use `call-interactively' to dispatch.
3462    - `org-confirm-shell-links' renamed to `org-confirm-shell-link-function'.
3463    - Bug fixes.
3465 * Version 4.31
3466    - Bug fixes.
3468 * Version 4.30
3469    - Modified installation: Autoloads have been collected in org-install.el.
3470    - Logging (org-log-done) is now a #+STARTUP option.
3471    - Checkboxes in plain list items, following up on Frank Ruell's idea.
3472    - File links inserted with C-c C-l will use relative paths if the linked
3473      file is in the current directory or a subdirectory of it.
3474    - New variable `org-link-file-path-type' to specify preference for
3475      relative and absolute paths.
3476    - New CSS classes for tags, timestamps, timestamp keywords.
3477    - Bug and typo fixes.
3480 * Version 4.29
3481    - Inlining images in HTML export now depends on wheather the link
3482      contains a description or not.
3483    - TODO items can be scheduled from the global TODO list using C-c C-s.
3484    - TODO items already scheduled can be made to disappear from the global
3485      todo list, see `org-agenda-todo-ignore-scheduled'.
3486    - In Tables, formulas may also be Lisp forms.
3487    - Exporting the visible part of an outline with `C-c C-x v' works now
3488      for all available exporters.
3489    - Bug fixes, lots of them :-(
3491 * Version 4.28
3492    - Bug fixes.
3494 * Version 4.27
3495    - HTML exporter generalized to receive external options.
3496      As part of the process, author, email and date have been moved to the
3497      end of the HTML file.
3498    - Support for customizable file search in file links.
3499    - BibTeX database links as first application of the above.
3500    - New option `org-agenda-todo-list-sublevels' to turn off listing TODO
3501      entries that are sublevels of another TODO entry.
3503 * Version 4.26
3504    - Bug fixes.
3506 * Version 4.25
3507    - Revision of the font-lock faces section, with better tty support.
3508    - TODO keywords in Agenda buffer are fontified.
3509    - Export converts links between .org files to links between .html files.
3510    - Better support for bold/italic/underline emphasis.
3512 * Version 4.24
3513    - Bug fixes.
3515 * Version 4.23
3516    - Bug fixes.
3518 * Version 4.22
3519    - Bug fixes.
3520    - In agenda buffer, mouse-1 no longer follows link.
3521      See `org-agenda-mouse-1-follows-link' and `org-mouse-1-follows-link'.
3523 * Version 4.20
3524    - Links use now the [[link][description]] format by default.
3525      When inserting links, the user is prompted for a description.
3526    - If a link has a description, only the description is displayed
3527      the link part is hidden.  Use C-c C-l to edit the link part.
3528    - TAGS are now bold, but in the same color as the headline.
3529    - The width of a table column can be limited by using a field "<N>".
3530    - New structure for the customization tree.
3531    - Bug fixes.
3534 * Version 4.13
3535    - The list of agenda files can be maintainted in an external file.
3536    - Bug fixes.
3538 * Version 4.12
3539    - Templates for remember buffer.  Note that the remember setup changes.
3540      To set up templates, see `org-remember-templates'.
3541    - The time in new time stamps can be rounded, see new option
3542      `org-time-stamp-rounding-minutes'.
3543    - Bug fixes (there are *always* more bugs).
3545 [...]
3547 Version 4.00
3548    - Headlines can contain TAGS, and Org-mode can produced a list
3549      of matching headlines based on a TAG search expression.
3550    - `org-agenda' has now become a dispatcher that will produce the agenda
3551      and other views on org-mode data with an additional keypress.
3554 * Version 3.24
3555    - Switching and item to DONE records a time stamp when the variable
3556      `org-log-done' is turned on.  Default is off.
3558 * Version 3.23
3559    - M-RET makes new items as well as new headings.
3560    - Various small bug fixes
3562 * Version 3.22
3563    - CamelCase words link to other locations in the same file.
3564    - File links accept search options, to link to specific locations.
3565    - Plain list items can be folded with `org-cycle'.  See new option
3566      `org-cycle-include-plain-lists'.
3567    - Sparse trees for specific TODO keywords through numeric prefix
3568      argument to `C-c C-v'.
3569    - Global TODO list, also for specific keywords.
3570    - Matches in sparse trees are highlighted (highlights disappear with
3571      next buffer change due to editing).
3573 * Version 3.21
3574    - Improved CSS support for the HTML export.  Thanks to Christian Egli.
3575    - Editing support for hand-formatted lists
3576      - M-S-cursor keys handle plain list items
3577      - C-c C-c renumbers ordered plain lists
3579 * Version 3.20
3580    - There is finally an option to make TAB jump over horizontal lines
3581      in tables instead of creating a new line before that line.
3582      The option is `org-table-tab-jumps-over-hlines', default nil.
3583    - New command for sorting tables, on `C-c ^'.
3584    - Changes to the HTML exporter
3585      - hand-formatted lists are exported correctly, similar to
3586        markdown lists.  Nested lists are possible.  See the docstring
3587        of the variable `org-export-plain-list-max-depth'.
3588      - cleaned up to produce valid HTML 4.0 (transitional).
3589      - support for cascading style sheets.
3590    - New command to cycle through all agenda files, on C-,
3591    - C-c [ can now also be used to change the sequence of agenda files.
3594 * Version 3.19
3595    - Bug fixes
3597 * Version 3.18
3598    - Export of calendar information in the standard iCalendar format.
3599    - Some bug fixes.
3601 * Version 3.17
3602    - HTML export specifies character set depending on coding-system.
3604 * Version 3.16
3605    - In tables, directly after the field motion commands like TAB and RET,
3606      typing a character will blank the field.  Can be turned off with
3607      variable `org-table-auto-blank-field'.
3608    - Inactive timestamps with `C-c !'.  These do not trigger the agenda
3609      and are not linked to the calendar.
3610    - Additional key bindings to allow Org-mode to function on a tty emacs.
3611    - `C-c C-h' prefix key replaced by `C-c C-x', and `C-c C-x C-h' replaced
3612      by `C-c C-x b' (b=Browser).  This was necessary to recover the
3613      standard meaning of C-h after a prefix key (show prefix bindings).
3615 * Version 3.15
3616    - QUOTE keyword at the beginning of an entry causes fixed-width export
3617      of unmodified entry text. `C-c :' toggles this keyword.
3618    - New face `org-special-keyword' which is used for COMMENT, QUOTE,
3619      DEADLINE and SCHEDULED, and priority cookies.  Default is only a weak
3620      color, to reduce the amount of aggressive color in the buffer.
3622 * Version 3.14
3623    - Formulas for individual fields in table.
3624    - Automatic recalculation in calculating tables.
3625    - Named fields and columns in tables.
3626    - Fixed bug with calling `org-archive' several times in a row.
3628 * Version 3.13
3629    - Efficiency improvements:  Fewer table re-alignments needed.
3630    - New special lines in tables, for defining names for individual cells.
3632 * Version 3.12
3633    - Tables can store formulas (one per column) and compute fields.
3634      Not quite like a full spreadsheet, but very powerful.
3635    - table.el keybinding is now `C-c ~'.
3636    - Numeric argument to org-cycle does `show-subtree' above on level ARG.
3637    - Small changes to keys in agenda buffer.  Affected keys:
3638      [w] weekly view; [d] daily view; [D] toggle diary inclusion.
3639    - Bug fixes.
3641 * Version 3.11
3642    - Links inserted with C-c C-l are now by default enclosed in angle
3643      brackets.  See the new variable `org-link-format'.
3644    - ">" terminates a link, this is a way to have several links in a line.
3645      Both "<" and ">" are no longer allowed as characters in a link.
3646    - Archiving of finished tasks.
3647    - C-<up>/<down> bindings removed, to allow access to paragraph commands.
3648    - Compatibility with CUA-mode (see variable `org-CUA-compatible').
3649    - Compatibility problems with viper-mode fixed.
3650    - Improved html export of tables.
3651    - Various clean-up changes.
3653 * Version 3.10
3654    - Using `define-derived-mode' to derive `org-mode' from `outline-mode'.
3657 * Version 3.09
3658    - Time-of-day specifications in agenda are extracted and placed
3659      into the prefix.  Timed entries can be placed into a time grid for
3660      day.
3662 * Version 3.08
3663    - "|" no longer allowed as part of a link, to allow links in tables.
3664    - The prefix of items in the agenda buffer can be configured.
3665    - Cleanup.
3667 * Version 3.07
3668    - Some folding inconsistencies removed.
3669    - BBDB links to company-only entries.
3670    - Bug fixes and global cleanup.
3672 * Version 3.06
3673    - M-S-RET inserts a new TODO heading.
3674    - New startup option `content'.
3675    - Better visual response when TODO items in agenda change status.
3676    - Window positioning after visibility state changes optimized and made
3677      configurable.  See `org-cycle-hook' and `org-occur-hook'.
3679 * Version 3.05
3680    - Agenda entries from the diary are linked to the diary file, so
3681      adding and editing diary entries can be done directly from the agenda.
3682    - Many calendar/diary commands available directly from agenda.
3683    - Field copying in tables with S-RET does increment.
3684    - C-c C-x C-v extracts the visible part of the buffer for printing.
3685    - Moving subtrees up and down preserves the whitespace at the tree end.
3687 * Version 3.04
3688    - Table editor optimized to need fewer realignments, and to keep
3689      table shape when typing in fields.
3690    - A new minor mode, orgtbl-mode, introduces the Org-mode table editor
3691      into arbitrary major modes.
3692    - Fixed bug with realignment in XEmacs.
3693    - Startup options can be set with special #+STARTUP line.
3694    - Heading following a match in org-occur can be suppressed.
3696 * Version 3.03
3697    - Copyright transfer to the FSF.
3698    - Effect of C-u and C-u C-u in org-timeline swapped.
3699    - Timeline now always contains today, and `.' jumps to it.
3700    - Table editor:
3701      - cut and paste of rectangular regions in tables
3702      - command to convert org-mode table to table.el table and back
3703      - command to treat several cells like a paragraph and fill it
3704      - command to convert a buffer region to a table
3705      - import/export tables as tab-separated files (exchange with Excel)
3706    - Agenda:
3707      - Sorting mechanism for agenda items rewritten from scratch.
3708      - Sorting fully configurable.
3709      - Entries specifying a time are sorted together.
3710    - Completion also covers option keywords after `#-'.
3711    - Bug fixes.
3713 * Version 3.01
3714    - New reference card, thanks to Philip Rooke for creating it.
3715    - Single file agenda renamed to "Timeline".  It no longer shows
3716      warnings about upcoming deadlines/overdue scheduled items.
3717      That functionality is now limited to the (multifile) agenda.
3718    - When reading a date, the calendar can be manipulated with keys.
3719    - Link support for RMAIL and Wanderlust (from planner.el, untested).
3720    - Minor bug fixes and documentation improvements.
3722 * Version 3.00
3723    - Multifile Agenda shows current entries from many different files.
3724    - TeXInfo documentation (thanks to Christian Egli for the conversion).
3725    - Additional applications for TODO keywords, see documentation.
3726      Different files may have different TODO keywords etc.
3727    - Priorities for TODO items.
3728    - The browser mode used by `org-remember-handler' is improved.
3729    - Images get inlined in HTML export (thanks to Carsten Wimmer).
3730    - File links can contain line numbers, like file:/usr/etc/config:255
3731    - Minor bug fixes.
3734 * Version 2.10
3735    - TODO entries can have additional states besides TODO and DONE.
3736      See new variable `org-todo-keywords'.
3737    - TODO keywords can be interpreted as categories.  See variable
3738      `org-todo-interpretation'.
3739    - M-TAB completion on TODO keywords, TeX symbols, and normal words.
3740    - All keywords (like TODO, DEADLINE etc) are configurable.
3741    - Cursor positioning optimized after pro/demotion and TODO cycling.
3742    - Emphasizing in HTML works now for *bold*, /italic/ and _underline_.
3743    - New commands to kill, copy and yank entire subtrees.  Yanking
3744      modifies the level of the tree before insertion.
3745    - New command `org-goto' (C-c C-j) to quickly move to other locations
3746      in the buffer without affecting outline visibility.
3747    - Hooks for John Wiegley's remember.el.
3748    - `org-read-date' pops up calendar for date selection with the mouse.
3749      See variable `org-popup-calendar-for-date-prompt'.
3751 * Version 2.6
3752    - TODO items can be SCHEDULED to a certain date.
3753    - Expired DEADLINEs are ignored if in an entry marked DONE.
3754    - From the diary or time-sorted view (C-c C-r), C-c C-t can be used to
3755      change the TODO state of an item remotely.
3756    - Horizontal computations in table editor. See `org-table-eval-formula'.
3757    - Fixed bug with summing tables (command `org-table-sum', `C-c +').
3758    - Calendar window follows the timestamp when a timestamp is changed.
3759      New variable `org-calendar-follow-timestamp-change'.
3760    - Time-sorted view (`org-diary-view', C-c C-r) now uses the prefix
3761      argument to force inclusion of unscheduled TODO items.
3762    - New variable `org-confirm-shell-links' to turn of safety query.
3763    - New variable `org-open-non-existing-files'.
3765 * Version 2.4
3766    - A time-sorted view on all time stamps can be created with C-c C-r.
3767    - Timestamps and Deadlines can be shown in the Emacs diary.
3768    - Date ranges introduced.
3769    - Time-string formats are no longer configurable.
3770    - Vertical lines in tables can be made invisible with `C-c |'.
3771    - New "link" type to execute shell commands, like "shell:ls *.org"
3772    - Upon export, "myfile.org" becomes "myfile.html" or "myfile.txt",
3773      instead of "myfile.org.html" or "myfile.org.txt".
3774    - When the cursor is in the white space at the beginning of a line,
3775      TAB removes the whitespace before indenting again.
3777 * Version 2.0
3778    - Windows (NT/2000) support.
3779    - Works with both Emacs and XEmacs.
3780    - Fully automatic table editor.
3781    - New link types into Gnus, VM and BBDB.
3782    - Other link system changes
3783      - Time stamps are treated as links to the calendar.
3784      - Easy creation of links with global command `org-store-link'.
3785      - Insertion of links with `C-c C-l' works differently now.
3786      - Space characters allowed as part of a link.
3787      - Options in `org-file-apps' extended.  The command may now be
3788        symbol 'emacs', or a lisp form.
3789    Please re-read the manual section about links.
3790    - Timestamp changes
3791      - `org-deadline' now prompts for a date.
3792      - A line can now contain several timestamps.  Updating of a
3793        timestamp only happens if the cursor is at the timestamp.
3794      - Changed the time-stamp-format to ISO, to make sure it will
3795        always work (non-English month names had caused problems
3796        with `parse-time-string'.).  Changing the time stamp format
3797        is not recommended.
3798    - Picture mode enhancements have been removed from org.el
3801 * Version 1.4
3802    - Some option name changes, not backward compatible.
3803    - ASCII exporter upgrade: Table of contents.
3804    - HTML exporter upgrade: fixed-width regions, better
3805      sub/superscripts, many TeX symbols supported.
3806    - Calendar support.
3808 * Version 1.3
3809    - HTML exporter upgrade, in particular table of contents
3813