Improvements to source code snippet editing.
[org-mode.git] / ORGWEBPAGE / Changes.org
blob49cf8523b1cdaf2f11abc97379d5d5448c331e00
1 #   -*- mode: org; org-export-publishing-directory: "tmp"; fill-column: 65 -*-
3 #+STARTUP: 
5 #+TITLE: Org-mode list of user-visible changes
6 #+AUTHOR:  Carsten Dominik
7 #+EMAIL:  carsten at orgmode dot org
8 #+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} *:t TeX:t LaTeX:nil
9 #+INFOJS_OPT: view:info toc:1 path:org-info.js tdepth:2 ftoc:t
10 #+LINK_UP: index.html
11 #+LINK_HOME: http://orgmode.org
13 * Version 6.05
15 ** Details
16 *** Source code example editing expanded.
18 The editing of source code in the proper major mode has been
19 expanded.  It works now inside all kinds of constructs, for
20 example
22 #+begin_src org
23 ,#+HTML: this code can be edited in html-mode
25 ,#+BEGIN_HTML
26 ,Same here
27 ,#+BEGIN_HTML
29 ,#+LaTeX: this code can be edited in latex-mode
31 ,#+BEGIN_LaTeX
32 ,Same here
33 ,#+BEGIN_LaTeX
35 ,#+BEGIN_SRC fortran
36 ,Here we can edit in fortran-mode
37 ,#+END_SRC
38 #+end_src
40 In addition to that, the syntax that is used by Emacs Muse (<src>
41 or <example> tags, even <literal> and <lisp>) works as well - in
42 fact, I think you can call `org-edit-src-code' directly from
43 Muse.  Hey, if you guys bind it to "C-c '" in Muse mode as well,
44 this could be a nice convergence.
46 * Version 6.04
47 :PROPERTIES:
48 :VISIBILITY: content
49 :END:
51 ** Overview
53 - Statistics cookies [/] and [%] for TODO entries
54 - Editing source code example in the proper mode
55 - iCalendar now defines proper UIDs for entries
56 - New properties for customizing subtree export
58 ** Incompatible changes
59   
60 - The default of the variable `org-tags-match-list-sublevels' is
61   now `t'.  The main reason for this is that it is easier to
62   explain in the manual and will lead to fewer surprises.
64 - The former CONTRIB directory is now called "contrib".  This was
65   already the case in the git distribution, but the tar and zip
66   archives still did this wrong.
68 ** Details
70 *** Statistics for TODO entries
72 The [/] and [%] cookies have already provided statistics for
73 checkboxes.  Now they do the same also for TODO entries.  If a
74 headline contains either cookie, changing the TODO state of any
75 direct child will trigger an update of this cookie.  Children
76 that are neither TODO nor DONE are ignored.
78 There have already been requests to automatically switch the
79 parent headline to DONE when all children are done.  I am not
80 making this a default feature, because one needs to make many
81 decisions about which keyword to use, etc.  Instead of a complex
82 customization variable, I am providing a hook that can be used.
83 This hook will be called each time a TODO statistics cookie is
84 updated, with the cursor in the corresponding line.  Each
85 function in the hook will receive two arguments, the number of
86 done entries, and the number of not-done entries, and you can use
87 the hook to change the state of the headline.  Here is an example
88 implementation:
90 #+begin_src emacs-lisp
91 (defun org-summary-todo (n-done n-not-done)
92   "Switch entry to DONE when all sub-entries are done, to TODO otherwise."
93   (let (org-log-done org-log-states)   ; turn off logging
94     (org-todo (if (= n-not-done 0) "DONE" "TODO"))))
96 (add-hook 'org-after-todo-statistics-hook 'org-summary-todo)
97 #+end_src
99 *** Editing source code example in the proper mode
101 If you are writing a document with source code examples, you can
102 include these examples into a =#+BEGIN_SRC lang ... #+END_SRC= or
103 (with the org-mtags module loaded) a =<src...= structure.  =lang=
104 stands for the Emacs mode used for editing the language, this
105 could be =emacs-lisp= for Emacs Lisp mode examples, or =org= for
106 Org mode examples.  You can now use the key "C-c '" (that is C-c
107 followed by the single quote) to edit the example in its native
108 mode.  This works by creating an indirect buffer, narrowing it to
109 the example and setting the appropriate mode.  You need to exit
110 editing by pressing "C-c '" again.  This is important, because
111 lines that have syntactic meaning in Org will be quoted by
112 calling this command.
114 *** iCalendar now defines proper UIDs for entries
116 This is necessary for synchronization services.  The UIDs are
117 created using the the org-id.el module which is now part of the
118 Or core.  If you set the variable
120 : (setq org-icalendar-store-UID t)
122 then all created UIDs will be stored in the entry as an =:ID:=
123 property.  This is off by default because it creates lots of
124 property drawers even if you only play with iCalendar export.
125 But if you plan to use synchronization, you really need to turn
126 this on.
128 Diary sexp entries do not yet receive proper persistent UIDs,
129 because they are transformed to iCalendar format by icalendar.el
130 which creates fresh UIDs each time, based on the current time.
132 An interesting aspect of Org is that a single outline node can
133 give rise to multiple iCalendar entries (as a timestamp, a
134 deadline, a scheduled item, and as a TODO item). Therefore, Org
135 adds prefixes "TS-", "DL-" "CS-", and "TD-" to the UID during
136 iCalendar export, depending on what triggered the inclusion of
137 the entry.  In this way the UID remains unique, but a
138 synchronization program can still figure out from which entry all
139 the different instances originate.
141 *** New properties for customizing subtree export.
143 When exporting a subtree by selecting it before calling the
144 export command, you can now use the properties =EXPORT_TITLE=,
145 =EXPORT_TEXT=, and =EXPORT_OPTIONS= to overrule the global
146 =#+TITLE=, =#+TEXT=, and =#+OPTIONS= settings.  You can also set
147 an export file name with =EXPORT_FILE_NAME= that will overrule
148 the file name derived from the buffer's file name.  As far as the
149 options are concerned, the global =#+OPTIONS= will still be read,
150 and only the options you give in the property will be
151 overwritten.  For example:
153 #+begin_src org
154 ,#+OPTIONS: skip:nil
155 ,* Computer Tricks
156 ,  :PROPERTIES:
157 ,  :EXPORT_FILE_NAME: ct.html
158 ,  :EXPORT_TITLE: Steve's collected computer tricks
159 ,  :EXPORT_OPTIONS: h:2 toc:nil
160 ,  :END:
161 #+end_src
163 * Version 6.03
165 ** Overview
167    - Description lists are now supported natively
168    - Block quotes for export
169    - Fontified code examples in HTML export
170    - Include files for export
171    - Text before the first headline is now exported by default
172    - In-buffer options may now be collected in an external file
173    - The in-buffer settings keywords may now be lower case
174    - Completion of structure elements
175    - Startup visibility can now be influenced by properties
176    - Clock task history, moving entries with the running clock
177    - BBDB anniversaries much faster
178    - New contrib files: org-eval.el and org-mtags.el
180 ** Incompatible changes
182 - The text before the first headline is now exported by default
184   Previously, the default was to not include text in an org-mode
185   buffer before the first headline.  From now on, the default it to
186   include it.  If you like the old default better, customize the
187   variable =org-export-skip-text-before-1st-heading= or set the
188   value on a per-file basis with
190 #+begin_src org
191 #+OPTIONS: skip:t
192 #+end_src
194 ** Details
196 *** Description lists are now supported natively
198     A plain list will be exported as a description list if the
199     first item in the list has a /term/ and the /description/,
200     separated by " :: ".  For example
202     : Emacs software by Carsten Dominik
203     : - RefTeX    :: Support for LaTeX Labels, References, Citations
204     : - CDLaTeX   :: more LaTeX functionality for Emacs
205     : - TeXmathp  :: checking LaTeX buffers for Math mode.
206     : - ORG       :: An Emacs mode for notes and projet planning.
207     : - CONSTANTS :: An Emacs package for inserting the definition of
208     :                natural constants and units into a buffer.
209     : - IDLWAVE   :: The Emacs modes for editing and
210     :                running IDL and WAVE CL files.
212     will be rendered as
214     Emacs software by Carsten Dominik
215      - RefTeX    :: Support for LaTeX Labels, References, Citations
216      - CDLaTeX   :: more LaTeX functionality for Emacs
217      - TeXmathp  :: checking LaTeX buffers for Math mode.
218      - ORG       :: An Emacs mode for notes and projet planning.
219      - CONSTANTS :: An Emacs package for inserting the definition of
220                     natural constants and units into a buffer.
221      - IDLWAVE   :: The Emacs modes for editing and
222                     running IDL and WAVE CL files.
224     This works now in the HTML exporter, we still need to supoort
225     it with the LaTeX and ASCII exporters.
227 *** Block quotes for export
229     For quoting an entire paragraph as a citation, use
231 #+begin_src org
232 ,#+BEGIN_QUOTE
233 Everything should be made as simple as possible,
234 but not any simpler -- Albert Einstein
235 ,#+BEGIN_QUOTE
236 #+end_src
238     which will render as
240 #+BEGIN_QUOTE
241 Everything should be made as simple as possible,
242 but not any simpler -- Albert Einstein
243 #+BEGIN_QUOTE
245 *** Fontified code examples in HTML export
247     You can now get code examples fontified like they would be
248     fontified in an Emacs Buffer, and export the result to HTML.
249     To do so, wrap the code examples into the following
250     structure:
252 #+begin_src org
253 ,#+BEGIN_SRC emacs-lisp
254 (defun org-xor (a b)
255   "Exclusive or."
256   (if a (not b) b))
257 ,#+END_SRC
258 #+end_src
260     In the export, this will then look like this (if you are now
261     looking at the ASCII export and do not see anything
262     interesting, go and check out the HTML version at
263     http://orgmode.org/Changes.html).
265 #+BEGIN_SRC emacs-lisp
266 (defun org-xor (a b)
267   "Exclusive or."
268   (if a (not b) b))
269 #+END_SRC
271     The string after the =BEGIN_SRC= is the name of the major emacs
272     mode that should be used to fontify the code example, without the
273     "-mode" at the end of the mode name.  For example, if you are
274     writing an Org tutorial with Org examples included, you would use
275     "org" as the language identifier - in fact, I have used just
276     that in the example above.
278     Currently this works only for HTML export, and requires the
279     /htmlize.el/ package, version 1.34 or later.  For other
280     backends, such structures are simply exported as EXAMPLE.
282 *** Include files for export
284     A line like
286     : #+INCLUDE "file" markup lang
288     will lead to the inclusion of the contents of FILE at the moment
289     of publishing.  FILE should be surrounded by double quotes, this
290     is obligatory if it contains space characters.  The parameters
291     MARKUP and LANG are optional.  MARKUP can be "example", "quote",
292     or "src".  If it is "src", LANG should be the name of the Emacs
293     mode to be used for fontifying the code.  For example:
295     : Here is my /.emacs/ file:
296     : #+INCLUDE "~/.emacs" src emacs-lisp
298 *** The text before the first headline is now exported by default
300     Previously, the default was to not include text in an org-mode
301     buffer before the first headline.  From now on, the default it to
302     include it.  If you like the old default better, customize the
303     variable =org-export-skip-text-before-1st-heading= or set the
304     value on a per-file basis with
306     : #+OPTIONS: skip:t
309 *** In-buffer options may now be collected in an external file
311     If you would like to share the Org setup between a number of
312     files, you can now store in-buffer setup in a file and simply
313     point to that file from each file that should read it.  If
314     you write in a buffer
316     : #+SETUPFILE: "path/to/setup.org"
318     then this file will be scanned for in-buffer options like
319     =#+STARTUP=, =#+TITLE=, or =#+OPTIONS=.
321 *** The in-buffer settings keywords may now be upper or lower case
322     
323     From now on, it makes no difference is you write =#+STARTUP= or
324     =#+startup=, to make these lines less imposing.  Similarly for all
325     other in-buffer keywords.
327 *** Completion of structure elements
328     As a new experimental feature, Org now supports completion of
329     structural elements like =#+BEGIN_EXAMPLE= in a special way.
330     It work by typing, for example "<e" and then pressing TAB, on
331     an otherwise empty line.  "<e" will expand into a complete
332     EXAMPLE template, with the cursor positioned in the middle.
333     Currently supported templates are:
335     : <s   #+begin_src
336     : <e   #+begin_example
337     : <q   #+begin_quote
338     : <v   #+begin_verse
339     : <l   #+begin_latex
340     : <L   #+latex:
341     : <h   #+begin_html
342     : <H   #+html:
343     : <a   #+begin_ascii
344     : <i   #+include
346     This is an experimental feature, please comment!  See also
347     below under /org-mtags.el/.
349 *** Startup visibility can now be influenced by properties
351     When Emacs opens an Org mode buffer, the outline visibility
352     is set to a startup value that is taken from the variable
353     =org-startup-folded=, or from a =#+STARTUP= setting in the
354     buffer.  After this has happened, the buffer will now also be
355     scanned for entries with a =VISIBILITY= property.  Wherever
356     such a property is found, the corresponding subtree will get
357     its visibility adjusted.  Allowed values for the property
358     are:
360     - folded   :: Fold the subtree
361     - children :: Show the text after the headline, and the
362       headlines of all direct children
363     - content :: Show all headlines in the tree, but no text below any
364       headline
365     - all :: Show the entire subtree
367     For example, I am using this for the huge /Changes.org/ file that
368     is the source for the list of visible changes you are reading
369     right now.  The top-most entry in this file always describes the
370     changes in my current working version.  The start of this section
371     currently looks like this:
373 #+begin_src org
374 ,* Version 6.03
375 ,  :PROPERTIES:
376 ,    :VISIBILITY: content
377 ,  :END:
378 ,** Overview
379 #+end_src
381     This was a proposal by Ben Alexander.
383     The command =C-u C-u TAB= will switch back to the startup
384     visibility of the buffer.
386 *** Clock task history, and moving entries with the running clock
388     Org now remembers the last 5 tasks that you clocked into, to
389     make it easier to clock back into a task after interrupting
390     it for another task.
391     - =C-u C-u C-c C-x C-i= (or =C-u C-u I= from the agenda) will
392       clock into that task and mark it as current default task.
393     - =C-u C-c C-x C-i= (or =C-u I= from the agenda) will offer a
394       list of recently clocked tasks, including the default task,
395       for selection. =d= selects the default task, =i= selects
396       the task that was interrupted by the task that is currently
397       being clocked. =1=,... selects a recent task.  When you
398       select a task, you will be clocked into it.
399     - You can use =C-u C-c C-x C-j= to jump to any of these
400       tasks.
402     When moving an entry using structure editing commands,
403     archiving commands, or the special subtree cut-and-paste
404     commands =C-c C-x C-w= and =C-c C-x C-y=, the running clock
405     marker and all clock history markers will be moved with the
406     subtree.  Now you can start a clock in a remember buffer and
407     keep the clock running while filing the note away.  See also
408     the variable `org-remember-clock-out-on-exit'.
410 *** BBDB anniversaries much faster
412     =bbdb-anniversaries= is now much faster, thanks to a new
413     approach using a hash for birthdays.  Thanks to Thomas
414     Baumann for a patch to this effect.
416 *** New files in the contrib directory
418     Do people think any of these should become core?
420     - org-eval.el :: This new module allows to include the result
421          of the evaluation of Lisp code (and other scripting
422          languages) into the buffer, similar to the =<lisp>= tag
423          of [[http://mwolson.org/static/doc/emacs-wiki.html#Lisp-Tricks][Emacs Wiki]] and [[http://mwolson.org/static/doc/muse/Embedded-Lisp.html#Embedded-Lisp][Muse]].
424     - org-mtags.el :: This new modules allows you to use
425          Muse-like tags for some structure definitions in Org.
426          For example, instead of 
427          :#+BEGIN_EXAMPLE
428          :...
429          :#+END_EXAMPLE
430          you can write
431          :<example>
432          :...
433          :</example>
434          In fact, I myself find these easier to type and to look
435          at.  Also, it will allow you to more easily move text
436          and files back and forth between Org and Muse.  For a
437          list of supported structure elements, see the commentary
438          in the file [[http://repo.or.cz/w/org-mode.git?a=blob_plain;f=contrib/lisp/org-mtags.el;hb=HEAD][commentary in the file org-mtags.el]].
440          If you load this module and use the "<i" etc completion
441          described above, the Muse form will automatically be
442          inserted.
444 *** Bug fixes
445     Many bug fixes again.  Will this ever stop?
447 * Version 6.02
449 ** Overview
451    - Column view (mostly) works now in XEmacs
452    - Summaries for columns in the agenda
453    - The special property Effort can be used for effort estimates
454    - New operators for property searches
455    - Search commands can now include archive files.
456    - Clock tables can include the archive files
457    - Orgtbl radio tables generalized.
459 ** Details
461 *** Column view works now in XEmacs
463     I had already given up on this, but Greg Chernev (who
464     implemented noutline.el for XEmacs and in this way kept Org
465     alive on XEmacs) has done it again and provided the patches
466     to make column view work under XEmacs.  There are still some
467     problems, but the basics work and we will iron out the
468     remaining issues, hopefully soon.
470 *** Summaries for columns in the agenda
472     If any of the columns has a summary type defined, turning on
473     column view in the agenda will show summaries for these
474     columns.  Org will first visit all relevant agenda files and
475     make sure that the computations of this property are up to
476     date.  This is also true for the special =CLOCKSUM= property.
477     Org will then sum the values displayed in the agenda.  In the
478     daily/weekly agenda, the sums will cover a single day, in all
479     other views they cover the entire block.  It is vital to
480     realize that the agenda may show the same entry multiple
481     times (for example as scheduled and as a deadline), and it
482     may show two entries from the same hierarchy (for example a
483     /parent/ and it's /child/).  In these cases, the summation in
484     the agenda will lead to incorrect results because some values
485     will count double.
487 *** The special property Effort can be used for effort estimates
489     If you want to plan your work in a very detailed way, or if
490     you need to produce offers with quotations of the estimated
491     work effort, you may want to assign effort estimates to
492     entries.  If you are also clocking your work, you may later
493     want to compare the planned effort with the actual working
494     time.  Effort estimates can now be stored in a special
495     property =Effort=, displayed side-to-side with clock sums,
496     and also be summed over a day, in order to show the planned
497     work load of a day.  See the manual for more details.
499 *** New operators for property searches
501     Property searches can now choose a number of different
502     operators for comparing values.  These operators are `=',
503     `<>', `<', `<=', `>', and `>='.
505     When the search term uses the operator with plain number like
506     =+Effort>=2.7=, then the property value is converted to a
507     number and a numerical comparison takes place.
509     When the search term uses a string on the right hand side of
510     the operator, a string comparison is done: =+PRIORITY<"C".=
512     Finally, if the right hand side is enclosed in curly braces,
513     a regexp match is done: =aaa={regexp}=.  In this case you
514     should use only the `=' or `<>' operators, meaning "does
515     match" or "does not match", respectively.
517     This was a triggered with a request by Dan Davison.
519 *** Search commands can now include archive files.
521     If the value of the customization variable
522     =org-agenda-text-search-extra-files= contains the symbol
523     =agenda-archives= as the first element in the list, all
524     archive files of all agenda files will be added to the list
525     of files to search.  This is relevant for the search view
526     =C-c a s=, as well as for the agenda files multi-occur
527     command =C-c a /=.
529 *** Clock tables can include the archive files
531     There are new values for the =:scope= parameter of a clock
532     table.  This can now be =file-with-archives= and
533     =agenda-with-archives=, in order to collect information not
534     only from the current file or all agenda files, but also from
535     all archive files that are currently used by these files.
537 *** Orgtbl radio tables generalized.
539     The options available for radio tables using orgtbl-mode have
540     been expanded.  You may use several reception points and
541     formats for the same table, you may have special formatting
542     in the last line of the table,  and many table parameters may
543     be functions, so that more general transformations are
544     possible.  Jason Riedy provided a patch for this, and he will
545     hopefully come up with some examples.  Thanks!
547 * Version 6.01
549 This is a new major release, mostly because of structural changes
550 in Org.  However, since this took a while, there is also a long
551 list of small improvements and some new significant features.
553 ** Overview
555    - The Org distribution has a new structure
556    - New system for selecting modules to load
557    - New archiving mechanism: The Archive Sibling
558    - Support for Sebastian Rose's JavaScript org-info.js.
559    - Internal links work now better in HTML export
560    - Export commands can be done in the background
561    - Flexible setting of the time block shown by the clock table
562    - Clock table can be included in the agenda
563    - Support for ISO week dates (ISO 6801)
564    - Tag inheritance can be limited to a subset of all tags
565    - Entries can be sorted by TODO keyword
566    - And some more small fixes and improvements
568 ** Incompatible changes
570 *** The Org distribution has a new structure
572     In the distribution files as well as in the GIT repository,
573     the lisp files are now located in a subdirectory "lisp", and
574     the documentation files are located in a subdirectory "doc".
575     If you are running Org directly from the unpacked
576     distribution archive (zip or tar file, or GIT repository),
577     you need to modify your settings for load-path accordingly.
579 ** Details
581 *** The Org distribution has a new structure
583     In the distribution files as well as in the GIT repository,
584     the lisp files are now located in a subdirectory "lisp", and
585     the documentation files are located in a subdirectory "doc".
586     If you are running Org directly from the unpacked
587     distribution archive (zip or tar file, or GIT repository),
588     you need to modify your settings for load-path accordingly.
590 *** Loading modules
592     Org-mode has now a system for loading modules by simply
593     configuring an option that lists all the modules you want to
594     use.  Customize the variable `org-modules'.  That variable
595     lists both modules that are part of the Org-mode core (and in
596     this way part of Emacs), and modules that are contributed
597     packages.  Contributed modules will only be available when
598     you have installed them properly (most likely by downloading
599     the distribution and adding /path/to/orgdir/contrib/lisp to
600     your load path).
602 *** New archiving mechanism: The Archive Sibling
604     There is a new method to archive entries in the current file:
605     By moving it to a sibling called the /Archive Sibling/.  That
606     sibling has the heading "Archive" and also carries the
607     ARCHIVE tag.  This can be a great way to do archiving inside
608     a project, to get parts of the project out of the way and to
609     wait with true archiving (moving to another file) until the
610     entire project is done.  Archiving to a sibling keeps much of
611     the context, for example inherited tags and approximate tree
612     position in tact.
614     The key binding for the is "C-c C-x A", and from the agenda
615     buffer you can simply use "A".
617     Thanks to Ilya Shlyakhter for this rather clever idea.
619 *** Support for Sebastian Rose's JavaScript org-info.js.
621     This fascinating program allows a completely new viewing
622     experience for web pages created from Org files.  The same
623     document can be viewed in different ways, and switching
624     between the views as well as navigation uses single-key
625     commands.
627     One of the view types is an /Info-like/ interface where you
628     can jump through the sections of the document with the `n'
629     and `p' keys (and others).  There is also a /folding/
630     interface where you can fold the document much like you can
631     fold it in org-mode in Emacs, and cycle through the
632     visibility both locally and globally.
634     To set this up, all you need to do is to make sure that
635     org-infojs.el gets loaded (customize the variable org-modules
636     to check).  Then add this line to the buffer:
638     : #+INFOJS_OPT: view:info
640     In that line, you can configure the initial view and other
641     settings.  Available views are =info= for the info-like
642     interface, and =overview=, =content=, and =showall= for the
643     folding interface.  See the manual for more details.  The
644     JavaScript program is served from
645     http://orgmode.org/org-info.js, and your exported HTML files
646     will automatically get it from there.  However, you may want
647     to be independent of the existence and stability of
648     orgmode.org and install a copy locally.  Then you need to
649     change the path from which the script is loaded, either by
650     using something like
652     : #+INFOJS_OPT: view:info path:../scripts/org-info.js
654     or by configuring the variable =org-infojs-options=.
656     For details see the documentation provided by Sebastian Rose
657     together with org-info.js.
659 *** Export improvements
661     - The export of internal links to HTML now works a lot
662       better.  Most internal links that work while editing an Org
663       file inside Emacs will now also work the the corresponding
664       HTML file.
666     - You can run many of the export commands in the background
667       by using `C-c C-u C-c C-e' in order to start the process.
668       RIght now this will only work if "emacs" is the right
669       command to get to your Emacs executable - I hope to make
670       this less system dependent in the future.
672     Both these are based on requests by Ilya Shlyakhter.
674 *** Improvements to clocktable
676     - The clocktable is now much more flexible and user friendly
677       when trying to specify the time block that should be
678       considered when constructing the table.
680       The =:block= parameter to the table can now look like any
681       of these:
682       
683       | :block       | meaning               |
684       |--------------+-----------------------|
685       | 2008         | The entire year 2008  |
686       | 2008-04      | The month April 2008  |
687       | 2008-04-02   | The day April 2, 2008 |
688       | 2008-W14     | ISO-Week 14 in 2008   |
689       | today        | Today                 |
690       | today-5      | The day five days ago |
691       | thisweek     | The current week      |
692       | thisweek-2   | Two weeks ago         |
693       | thismonth    | The current month     |
694       | thismonth-12 | Same month, last year |
695       | lastmonth    | Same as thismonth-1   |
698       What is more, you can now use the =S-left= and =S-right=
699       keys to shift the time block around.  The cursor needs to
700       be in the =#+BEGIN: clocktable= line for this to work.  If
701       the current block is =today=, =S-left= with switch to
702       yesterday.  If the current block is =2008-W14=, =S-right=
703       will switch to the following week.
705     - When the clocktable is collecting from several files, the
706       total time for each file will now also be listed.  This was
707       a request from Bernt Hansen.
709     - If you turn on the new clock report mode with the "R" key in
710       the agenda, a clock table will be attached to the agenda,
711       showing the clock report for the file scope and time
712       interval of the agenda view.  To turn this on permanently,
713       configure the variable
714       =org-agenda-start-with-clock report-mode=.  To modify the
715       properties of the table, in particular the =:maxlevel=
716       depth, configure =org-agenda-clockreport-parameter-plist=.
718 *** Support for ISO week dates (ISO 6801)
720     The agenda now shows the ISO week for the displayed dates, in
721     the form =W08= for week 8.
723     The keys =d=, =w=, =m=, and =y= in the agenda view now accept
724     prefix arguments.  Remember that in the agenda, you can
725     directly type a prefix argument by typing a number, no need
726     to press =C-u= first.  The prefix argument may be used to
727     jump directly to a specific day of the year, ISO week, month,
728     or year, respectively.  For example, =32 d= jumps to February
729     1st, =9 w= to ISO week number 9.  When setting day, week, or
730     month view, a year may be encoded in the prefix argument as
731     well.  For example, =200712 w= will jump to week 12 in the
732     year 2007.  If such a year specification has only one or two
733     digits, it will be mapped to the interval 1938-2037.
735     When entering a date at the date prompt, you may now also
736     specify an ISO week.  For example
738     : w4              Monday of week 4
739     : fri w4          Friday of week 4
740     : w4-5            Same as above
741     : 2012 w4 fri     Friday of week 4 in 2012.
742     : 2012-W04-5      Same as above
744     So far I have not implemented the effect of
745     `org-read-date-prefer-future' on this functionality, because
746     it seemed too magic for me.  I'd appreciate comments on this
747     issue:  Should `org-read-date-prefer-future' also push dates
748     into the next year if the week you are entering has already
749     passed in the current year?  For consistency I guess this
750     should be the case, but I cannot quite wrap my head around
751     it.
753     I hope but am not entirely convinced that this will behave
754     sanely also during the first/last week of a year.  Please
755     test extensively and report back.
757     This was a request by Thomas Baumann.
759 *** Improvements in Search View
760     
761     - Calling search view with a C-u prefix will make it match
762       only in TODO entries.
764     - The single quote is no longer considered a word character
765       during search, so that searching for the word "Nasim" will
766       also match in "Nasim's".
769 *** Misc
770     
771     - Inheritance of tags can now be limited to a subset of all
772       tags, using the variable =org-use-tag-inheritance=.  This
773       variable may now be a regular expression or a list to
774       select the inherited tags.  Thanks to Michael Ekstrand for
775       this excellent proposal.
776       
777       The regexp option is also implemented for
778       =org-use-property-inheritance=, so that you can now select
779       properties for inheritance my name.
781     - The INHERIT flag to the function =org-entry-get= can be set
782       to the symbol =selective=.  If this is the case, then the
783       value of the property will be retrieved using inheritance
784       if and only if the setting in
785       =org-use-property-inheritance= selects the property for
786       inheritance.
788     - There are now special faces for the date lines in the
789       agenda/timeline buffers, and another special face for days
790       that fall on a weekend: =org-agenda-date= and
791       =org-agenda-date-weekend=.  Both these faces are initially
792       similar to the =org-agenda-structure= face, but you can
793       customize them freely.
795     - When an entry already has a scheduling or deadline time
796       stamp, calling `C-c C-s' or `C-c C-d', respectively, will
797       now use that old date as the default, and you can can use
798       the "++4d" syntax to invoke shifts relative to that default
799       date.  Simply pressing RET at the prompt will keep the
800       default date, not switch to today.
801       
802       This was an omission in the earlier implementation, spotted
803       by Wanrong Lin.  Thanks!
804       
805     - File names in remember templates can be relative, if they
806       are, they will be interpreted relative to =org-directory=.
808     - The handling of the clipboard when inserting into remember
809       templates is now much better, and gives more control on what
810       should be inserted with new %-escapes:
811       
812       - =%c= - Now always insert the head of the kill ring, never
813         the X clipboard.
815       - =%x= - Insert the content of the X clipboard. This is the
816         first non-empty value from the PRIMARY, SECONDARY and
817         CLIPBOARD X clipboards. 
818         
819       - =%^C= - This allows the user to choose between any of the
820         clipboard values available, the kill ring head, and the
821         initial region if set.  
822         
823       - =%^L= - Like =%^C=, but this inserts an org link using the
824         selected value.
825         
826       Thanks to James TD Smith for this patch.
827         
828     - Table export to an internal file can now use a format
829       specification, similar to the formats that are used by
830       orgtbl radio tables.  The default format is in the variable
831       =org-table-export-default-format=.  You can use properties
832       =TABLE_EXPORT_FILE= and =TABLE_EXPORT_FORMAT= to specify the
833       file name to which the export should go, and a local
834       format.  For example:
835      
836       : :PROPERTIES:
837       : :TABLE_EXPORT_FILE: ~/xx.txt
838       : :TABLE_EXPORT_FORMAT: orgtbl-to-generic :splice t :sep "\t"
839       : :END:
841       Thanks to James TD Smith for this patch.
843     - Entries can be sorted by TODO keyword, and the order is given
844       by the definition sequence of the TODO keywords in the
845       variable =org-todo-keywords=, or in the =#+TODO= line.  Use
846       the "o" key when sorting with =C-c ^=.
847       
848       Thanks to James TD Smith for this patch.
851 * Version 5.23
853 ** Overview
855    - New keyword search agenda view
857    - Many new extensions available in the CONTRIB directory
859    - New remember template option: pre-selection contexts
861    - Modifying list/headline status of a line
863    - Granularity while editing time stamps
865    - New repeaters mechanisms
867    - New parameters for dynamic blocks ad the clock table
869    - Limiting iCalendar export to fewer entries
871    - =M-RET= splits lines again
873    - New hooks
875 ** Incompatible changes
877    - The variable `org-time-stamp-rounding-minutes' is now a list
878      of two values - if you have configured this variable before,
879      please do it again.
881 ** Details
883 *** New keyword search agenda view
885     `C-c a s' now invokes a special agenda view that can be used
886     to search notes by keyword and regular expressions.  In
887     particular, it does not require a single regular expression
888     or string to search for, but it can search for a number
889     keywords or regexps that can occur in arbitrary sequence in
890     the entry.  The search knows the boundaries of an entry, can
891     use simple Boolean logic and is reasonably fast.  For
892     example, the search string
894     : +computer +wifi -ethernet -{8\.11[bg]}
896     will search for note entries that contain the keywords
897     =computer= and =wifi=, but not the keyword =ethernet=, and
898     which are also not matched by the regular expression
899     "8\.11[bg]", meaning to exclude both 8.11b and 8.11g.  If the
900     first character of the search string is an asterisk, the
901     search will only look at headlines - otherwise it will look
902     at the headine and the text below it, up to the next
903     (possibly sub-) heading.
905     The command searches all agenda files, and in addition the
906     files listed in =org-agenda-text-search-extra-files=.
907     
908     I find it very useful to define a custom command to do such
909     a search only in a limited number of files (my notes files),
910     like this:
912     : ("N" "Search notes" search ""
913     :   ((org-agenda-files '("~/org/notes.org" "~/org/computer.org"))
914     :    (org-agenda-text-search-extra-files nil)))
916 *** Many new extensions available in the CONTRIB directory
918     - Phil Jackson's /org-irc.el/ is now part of the Org-mode
919       core, which means it will become part of Emacs soon.
921     - The new development model already starts to pay off, a
922       number of interesting extensions are now part of the
923       distribution.  Check the file CONTRIB/README for a list.
925     - There is a new variable `org-default-extensions'.
926       Configuring this variable makes it *very* easy to load
927       these default extensions - eventually this will be expanded
928       to cover contributed extensions as well.
930 *** New remember template option: pre-selection contexts
932     - Remember template definitions now allow six elements.  The
933       last element defines the contexts in which the template
934       should be offered.  It can be a list of major modes, a
935       function, =t= or =nil=.  If it is a list of major-mode, the
936       template will be available only when =org-remember= is
937       called from a buffer in one of these modes.  If it is a
938       function, the template will be offered only if the function
939       returns `t' when called in the current buffer.  A value of
940       =t= or =nil= for this element means select this template in
941       any context.
943       One possible application for this would be to have several
944       templates all using the same selection letter, and choosing
945       the right one based on context.  For example, think of
946       tasks describing a bug in a source code file.  With the
947       following configuration we make sure that the bug reports
948       are filed into the appropriate sections of the target file.
949       
950 : (setq org-remember-templates
951 :  '(("Elisp" ?b "* %a\n\n%i%?" "~/bugs.org" "Elisp bugs" (emacs-lisp-mode))
952 :    ("C Bugs" ?b "* %a\n\n%i%?" "~/bugs.org" "C bugs" (cc-mode))))
953      
954       See (info "(org)Remember templates") for details.
956 *** Modifying list/headline status of a line
958     - `C-c -' has now more functions:
959       + In a table, add a hline as before
960       + In an item list, cycle bullet type as before
961       + In a normal line, turn it into an item
962       + In a headline, turn it into an item
963       + If there is an active region, turn each line into an item.
964         But if the first region line is already an item, remove
965         item markers from all lines.
967       Based on proposals by Bastien.
969     - `C-c *' has now more functions
970       + in a table, recompute, as before
971       + in a normal line, convert it to a sub heading.
972       + at an item, convert it into a subheading
973       + if there is an active region, convert all lines in the
974         region to headlines.  However, if the first lie already is
975         a heading, remove the stars from all lines int he region.
977       Based on proposals by Bastien.
979 *** Changes related to time stamps
981     - The value variable =org-time-stamp-rounding-minutes= is now
982       a list of two values.  The first applies when creating a new
983       time stamp.  The second applies when modifying a timestamp
984       with S-up/down.  The default for this new task is 5 minutes,
985       but 15 may also be a very good value for many people.  If
986       S-up/down is used on a time stamp where the minute part is
987       not compatible with this granularity it will be made so.
988       You can bypass this by using a prefix argument to exactly
989       specify the number of minutes to shift.
991       This was a proposal by Adam Spiers.
993     - New repeaters that shift a date relative to today, or that
994       make sure that the next date is in the future.  For example:
996       :** TODO Call Father
997       :   DEADLINE: <2008-02-10 Sun ++1w>
998       :   Marking this DONE will shift the date by at least one week,
999       :   but also by as many weeks as it takes to get this date into
1000       :   the future.  However, it stays on a Sunday, even if you called
1001       :   and marked it done on Saturday.
1002       :** TODO Check the batteries in the smoke detectors
1003       :   DEADLINE: <2005-11-01 Tue .+1m>
1004       :   Marking this DONE will shift the date to one month after
1005       :   today.
1007       Proposed by Wanrong Lin and Rainer Stengle.
1009 *** New parameters for dynamic blocks ad the clock table
1011     - There is a new =:link= parameter for the clocktable.  When
1012       set, the headlines listed in the table will be links to the
1013       original headlines.
1015     - There is a new =:content= parameter that is passed to the
1016       writer function of the dynamic block.  Use this parameter
1017       to pass the previous content of the block to the writer
1018       function, in case you want to make the outcome dependent on
1019       the previous content.
1021 *** Limiting iCalendar export to fewer entries
1023     - New way to limit iCalendar export to the entries captured in
1024       an agenda view.  This is done by "writing" the agenda view
1025       using `C-x C-w' to a file with extension .ics.
1027       This was a request by Kyle Sexton.
1029 *** Misc
1031    - Due to a popular revolt shortly after the 5.22 release,
1032      =M-RET= can again be used to split a line so that the rest
1033      of the line becomes the new heading.  However, if you do
1034      this in a heading containing tags, the tags will stay in the
1035      old line.
1037      Customize the variable =org-M-RET-may-split-line= if you
1038      don't want this command to split a line in the middle.  The
1039      same variable also influences line splitting in items and in
1040      tables.
1042    - There are three new hooks:
1044      =org-follow-link-hook=: runs after following a link
1045      =org-publish-before-export-hook=: runs before export
1046      =org-publish-after-export-hook=: runs after export
1047      
1048 * Version 5.22
1050 ** Incompatible changes
1052    - The variable `org-log-done' is now less complex.
1053    - The in-buffer settings for logging have changed.  Some
1054      options no longer exists, some new ones have been added.
1056 ** Details
1058 *** Changes to logging progress
1060     There is now more control over which state changes are being
1061     logged in what way.  Please read carefully the corresponding
1062     sections in the manual.  Basically: 
1064     - The variable `org-log-done' has been simplified, it no
1065       longer influences logging state changes and clocking out.
1066     - There is a new variable for triggering note-taking when
1067       clocking out an item: `org-log-note-clock-out'.
1068     - Logging of state changes now has to be configured on a
1069       pre-keyword basis, either in `org-todo-keywords' or in the
1070       #+TODO in-buffer setting.
1071     - These per-keyword settings allow more control.  For example
1073       : WAIT(w@)    Record a note when entering this state.
1074       : WAIT(w!)    Record a timestamp when entering this state.
1075       : WAIT(w@/!)  Recore a note when entering and timestamp
1076       :             when leaving this state.  This is great for
1077       :             getting a record when switching *back* from
1078       :              WAIT to TODO.
1079       : WAIT(/!)    Record a timestamp when leaving this state.
1080       :             Here we not even define a fast access
1081       :             character, but just the logging stuff.
1083     This was triggered by requests from Wanrong Lin and Bernt Hansen.
1085 *** Other
1087    - M-RET no longer brakes a line in the middle, it will make a
1088      new line after the current or (if cursor is at the beginning
1089      of the line) before the current line.
1091    - RET, when executed in a headline after the main text and
1092      before the tags will leave the tags in the current line and
1093      create a new line below the current one.
1095 * Version 5.21
1097   Bug fixes, in particular the long-hunted bug about wrong window
1098   positions after pressing SPACE in the agenda.  Hopefully this
1099   is really fixed.
1101 * Version 5.20
1103 ** Overview
1105 *** Remember/Refile/Goto
1107     - The use of prefix arguments for the commands `org-remember'
1108       and `org-refile' has been normalized.
1110     - The clock can now safely be used in a remember buffer.
1111       
1112     - The variable `org-remember-use-refile-when-interactive'
1113       introduced only in 5.19 is already obsolete.  Please use
1114       `org-remember-interactive-interface' instead.
1116     - It is no longer necessary to update the refiling targets.
1118     - Automatic isearch in `org-goto'.
1120     - Outline-path-completion as alternative org-goto interface.
1122 *** Misc
1124     - Checkboxes now work hierarchically.
1126     - `C-k' can now behave specially in headlines.
1128     - Repeater for tasks in plain timestamps.
1130     - All clock intervals of an item show in agenda/timeline.
1131       
1132     - New parameter =:step= for clocktable, to get daily reports.
1134     - Never loose a repeaded scheduled item from the agenda.
1136     - Archiving a subtree now stores the outline path in a property.
1138     - Links to messages in Apple Mail.
1140     - Bug fixes.
1142 ** Incompatible Changes
1143    
1144    - The variable `org-remember-use-refile-when-interactive'
1145      introduced only in 5.19 is already obsolete.  Please use
1146      `org-remember-interactive-interface' instead.
1148 ** Details
1150 *** Remember/Refile/Goto
1152     - The use of prefix arguments for the commands `org-remember'
1153       and `org-refile' has been normalized:
1155       + when called without prefix argument, the command does its
1156         normal job, starting a remember note or refiling a tree.
1158       + when called with a single C-u prefix, these commands can be
1159         used to select a target location and to jump there.  In
1160         the case of `org-remember', you will be prompted for a
1161         template and then Emacs jumps to the default target
1162         location or this template.  In the case of `org-refile',
1163         you select a location from the refile target list and jump
1164         there.
1166       + when called with two prefixes (`C-u C-u'), the command
1167         jumps to the location last used for storing a note or a
1168         moved tree.
1170     - When the clock is running inside an remember buffer, storing
1171       the remember buffer with `C-c C-c' will automatically clock
1172       out.  This was inspired by a request by Rainer Stengle. 
1173       
1174     - The variable `org-remember-use-refile-when-interactive'
1175       introduced only in 5.19 is already obsolete.  Please use
1176       `org-remember-interactive-interface' instead.  This new
1177       variable does select the interface that is used to select
1178       the target for a remember note in an interactive way.
1179       Possible values are:
1181       + `outline': Use an outline of the document to select a
1182         location.  
1183       + `outline-path-completion': Use completion of an outline
1184         path to select a location.
1185       + `refile': Offer the `org-refile-targets' as possible
1186         targets.
1188     - It is no longer necessary to update the refiling targets -
1189       they are always current.
1191     - In `org-goto', typing characters now automatically starts
1192       isearch from the beginning of the buffer.  The isearch is
1193       special also because it only matches in headline.  This
1194       goes some way toward saving org-goto from being removed
1195       from Org-mode.  Thanks to Piotr Zielinski for the code, and
1196       sorry that it took me so long to put it in.  If you prefer
1197       to use single letters n,p,f,b,u,q for navigation as before,
1198       configure the variable `org-goto-auto-isearch'.
1200     - Outline-path-completion is now available as an alternative
1201       interface in the command `org-goto'.  Please select the
1202       default interface you'd like to use with the new variable
1203       `org-goto-interface'.  You can then select the alternative
1204       interface with a prefix argument to `C-c C-j' (org-goto).  I
1205       am considering to make outline-path-completion the default
1206       interface.  Comments?
1209 *** Misc
1211     - Checkboxes now work hierarchically.  When a plain-list item
1212       with a checkbox has children with checkboxes, the status of
1213       the item's checkbox is calculated from the children, each
1214       time a checkbox is toggled with C-c C-c.  Thanks to Miguel
1215       A. Figueroa-Villanueva for a patch to this effect.
1217     - There is a new variable `org-special-ctrl-k'.  When set,
1218       `C-k' will behave specially in headlines:
1220       + When the cursor is at the beginning of a headline, kill
1221         the entire line and possible the folded subtree below the
1222         line.
1223       + When in the middle of the headline text, kill the
1224         headline up to the tags.
1225       + When after the headline text, kill the tags.
1227       This is following a proposal by Piotr Zielinski.
1229     - You can now also have a plain (as opposed to deadline or
1230       scheduled) repeater timestamp in a task.  Switching the task
1231       to DONE will now also shift a plain time stamp.  This was a
1232       request by Austin Frank.
1234     - If an entry is clocked multiple times, it will now show up
1235       several times in the agenda and timeline buffers, when
1236       log-mode is on.  This was a proposal by Jurgen Defurne.
1237       
1238     - The clock table accepts a new parameter =:step=.  This
1239       parameter can be `day' or `week' and will result in separate
1240       tables for each day or week in the requested time interval.
1241       This was triggered by a proposal by Sacha Chua in her [[http://sachachua.com/wp/2007/12/30/clocking-time-with-emacs-org/][blog]].
1243     - A time-stamp with a repeater now no longer refers to the
1244       date *closest* to the current day.  Instead, it means either
1245       today or the most recent match.  This change makes sure that
1246       overdue scheduled or deadline items never disappear from the
1247       agenda.  With the previous convention, an overdue scheduled
1248       item would disappear.  For example, a weekly item scheduled
1249       for Sunday would appear as overdue until Wednesday, and the
1250       suddenly disappear until next Sunday.  Now the item will
1251       show up as "Sched 7x" on Saturday.  From Sunday on it will
1252       be in the list as "Scheduled", i.e. old sins will be
1253       forgiven.  This follows a request by Warong, Dennis and
1254       Bernt.
1256     - Archiving a subtree now creates an additional property,
1257       =ARCHIVE_OLPATH=.  This property contains the "path" in the
1258       outline tree to the archived entry, as it was in the
1259       original file.  For example, archiving =Fix the door= in the
1260       following hierarchy
1261       
1262       : * Tasks
1263       : ** HOME
1264       : *** Garage
1265       : **** Fix the door
1266       
1267       will file is with the following property
1268       
1269       : :ARCHIVE_PATH: Task/HOME/Garage
1270       
1271       Note that you can configure (i.e. limit) the information
1272       that gets stored upon archiving with the variable
1273       `org-archive-save-context-info'.
1275     - New file `org-mac-message.el' by John Wiegley to create
1276       links for messages in Apple Mail, and to follow these
1277       links.
1279     - Bug fixes.
1281 * Version 5.19
1283 ** Overview
1285    - Column view can list the clocked times of a subtree.
1287    - Storing remember notes can use the `org-refile' interface.
1289    - Storing remember notes no longer produced empty lines.
1291    - Moving subtrees now folds all siblings of the subtree.
1293    - New variable `org-agenda-todo-keyword-format'.
1295    - Hack to allow brackets in link descriptions.
1297    - Clocking into an entry can enforce a specific TODO state.
1299    - EXPORT_FILE_NAME may be an absolute file name with "~".
1301    - Bug fixes, lots of them.
1303 ** Details
1305    - A new special column definition lists the sum of all CLOCK
1306      entries in a subtree.  For example
1308      : #+COLUMNS: %20ITEM %10Time_Estimate{:} %CLOCKSUM
1310      will allow you to compare estimated times (as given in the
1311      Time_Estimate property) with the clocked times.  This was a
1312      request by Bernt Hansen.
1314    - Storing remember notes can now use the `org-refile'
1315      interface instead of the `org-goto' interface (see the
1316      variable `org-remember-use-refile-when-interactive').
1317      Nothing will change if the note is stored immediately after
1318      pressing `C-c C-c' in the =*Remember*= buffer.  But if you
1319      have chosen (e.g. by pressing `C-u C-c C-c') to
1320      interactively select the filing location (file and
1321      headline), the refile interface will be used instead.  I am
1322      excited about this change, because the `org-goto' interface
1323      is basically a failure, at least for this application.  Note
1324      that in any case the refile interface has to be configured
1325      first by customizing `org-refile-targets'.
1327    - Notes inserted with remember now remove any whitespace
1328      before and after the note before being pasted, so that there
1329      will be no empty lines inserted together with the note.  We
1330      could invent special syntax in remember templates to allow
1331      creating empty lines before a note - is there anyone who'd
1332      want this?
1334    - Moving subtrees now folds all siblings of the subtree.  This
1335      is the only reasonably simple way I could find to avoid the
1336      reported inconsistencies in the folding state of the outline
1337      tree after moving entries.  There are reasons to like this
1338      new behavior, because it easily visualizes where the tree is
1339      located after the move.  Still, not everyone might be happy
1340      with this.  Massive complaining would be needed to make me
1341      fix this.
1343    - New variable `org-agenda-todo-keyword-format' to specify the
1344      width of the TODO keyword field in the agenda display.  Use
1345      it to get things to line up better.  This was a proposal by
1346      Rainer Stengele.
1348    - If a link description inserted with `C-c C-l' contains
1349      brackets, the brackets will now be converted into curly
1350      braces.  This looks similar enough.  Supporting brackets in
1351      link descriptions is, for technical reasons too long to
1352      explain here, complex.
1354    - The new option `org-clock-in-switch-to-state' can be set to
1355      a TODO state that will be enforced when the clock is started
1356      on an entry.  This follows an idea by Sacha Chua.
1358    - The EXPORT_FILE_NAME property may now also be an absolute
1359      file name, and it may contain abbreviations like "~" for the
1360      users home directory.  This was requested by Adam Spiers.
1362    - Bug fixes, lots of them.
1364 * Version 5.18
1366   Minor fixes.
1368 * Version 5.17
1370 ** Details
1372 *** Whitespace
1374     - When cutting, pasting, or moving subtrees and items, the
1375       empty lines *before* the subtree/item now belong to the
1376       part and will be moved with it.  There is one exception to
1377       this rule: If the first child is moved down (or,
1378       equivalently, the second is moved up), the amount of empty
1379       lines *above* the first child to be moved along with it is
1380       limited by the number of empty lines *below* it.  This
1381       sounds complicated, but it allows to have extra empty space
1382       before the first child and still have good behavior of the
1383       subtree motion commands.
1385     - Plain lists items work the same.
1387     I believe we have finally nailed this one.  Thanks to Daniel
1388     Pittman for bring this up again and to Eric Schulte for
1389     pointing out that it is the empty lines *before* an entry
1390     that really count.
1392     This change was non-trivial, please give it a good test and
1393     let me know about any problems.
1395 *** Remember
1397     - The new command `org-remember-goto-last-stored' will jump
1398       to the location of the remember note stored most recently.
1399       If you have `org-remember' on a key like `C-c r', then you
1400       can go to the location with a double prefix arg: `C-u C-u
1401       C-c r'.  This was a proposal by Rainer Stengele.
1403     - Template items that are being prompted for can now specify
1404       a default value and a completion table.  Furthermore,
1405       previous inputs at a specific prompt are captured in a
1406       history variable.  For example:
1408       : %^{Author|Roald Dahl|Thomas Mann|Larry Niven}
1410       will prompt for an author name.  Pressing RET without
1411       typing anything will select "Roald Dahl".  Completion will
1412       give you any of the three names.  And a history will be
1413       kept, so you can use the arrow keys to get to previous
1414       input.  The history is tied to the prompt.  By using the
1415       same prompt in different templates, you can build a history
1416       across templates.  The ideas for this came from proposals
1417       by Bastien and Adam.
1419     - When a remember template contains the string `%!', the note
1420       will be stored immediately after all template parts have
1421       been filled in, so you don't even have to press `C-c
1422       C-c'. The was a proposal by Adam Spiers.
1424 *** Refile
1426     - `org-refile-targets' has a new parameter to specify a
1427       maximum level for target selection.  Thanks to Wanrong Lin
1428       for this proposal.
1430     - When the new option `org-refile-use-outline-path' is set,
1431       refile targets will be presented like a file path to the
1432       completion interface: "level 1/level 2/level 3".  This
1433       may be the fastest interface yet to get to a certain
1434       outline entry.  Do we need to use this interface in other
1435       places?  Thanks to Jose Ruiz for this proposal.
1437 * Version 5.16
1439 ** Details
1441 *** Restriction lock on agenda scope
1443     You can now permanently lock the agenda construction to a
1444     certain scope, like a file or a subtree.  So instead of
1445     pressing "<" for each command in the agenda dispatcher, you
1446     only once select a restriction scope.  All subsequent agenda
1447     commands will than respect this restriction.  For example,
1448     you can use this at work, to limit agendas to your work file
1449     or tree, and at home to limit to the home file or tree.  Or
1450     you can use it during the day in order to focus in on certain
1451     projects.
1453     You select a scope with the command `C-c C-x <', which
1454     restricts to the current subtree.  When called with a `C-u'
1455     prefix, the restriction is to the current file.  You can also
1456     make restrictions from the speedbar frame, see below.
1458     When making a new restriction and an agenda window is
1459     currently visible, it will immediately be updated to reflect
1460     the new scope.  If you like you can display an agenda view
1461     and then watch it change in various scopes.
1463     To get rid of the restriction, use the command "C-c C-x >".
1464     Or press ">" in the agenda dispatcher.  Also, and use of "<"
1465     in the dispatcher will disable the restriction lock and
1466     select a new restriction.
1468     Thanks to Rick Moynihan for triggering this development. 
1470 *** Imenu and Speedbar support
1472     - Org-mode now supports Imenu.  For example, with the setting
1474       : (add-hook 'org-mode-hook 
1475       :    (lambda () 'imenu-add-to-menubar "Imenu"))
1477       a menu will be created in each Org-mode buffer that
1478       provides access to all level 1 and level 2 headings.  The
1479       depth of the menu can be set with the variable
1480       `org-imenu-depth'.
1482     - org-mode now supports Speedbar.  This means that you can
1483       drill into the first and second level headlines of an
1484       Org-mode file right from the speedbar frame.
1486     - You can set a restriction lock for the Org-mode agenda to a
1487       file or a subtree directly from the speedbar frame.  Just
1488       press "<" with the cursor on an Org-mode file or subtree to
1489       set the lock and immediately update the agenda if it is
1490       visible.  Use ">" to get rid of the lock again.
1492 * Version 5.15
1494 ** Details
1496    - There are new special properties TIMESTAMP and TIMESTAMP_IA.
1497      These can be used to access the first keyword-less active
1498      and inactive timestamp in an entry, respectively.
1500    - New variable `org-clock-heading-function'.  It can be set to
1501      a function that creates the string shown in the mode line
1502      when a clock is running.  Thanks to Tom Weissmann for this
1503      idea.
1505    - Bug fixes.
1507 * Version 5.14
1509 ** Overview
1511    + Remember and related stuff
1512      - New command `org-refile' to quickly move a note.
1513      - Easy way to jump to the target location of remember template.
1514      - New %-escapes in remember templates: %c %(...) and %[...]
1515      - `org-remember-insinuate' simplifies remember setup
1517    + Emphasis and Font-lock stuff
1518      - Stacked emphasis is no longer allowed.
1519      - You may finally emphasize a single character like ~*a*~.
1520      - Font-lock now can hide the emphasis markers
1521      - Text in the "=" emphasis is exported verbatim
1522      - There is a new emphasis marker "~" for verbatim text
1523      - Constructs treated specially by the exporters can be highlighted
1525    + Properties and Column view
1526      - More control over which properties use inheritance
1527      - CATEGORY="work" can now be used in a tags/property search
1528      - the {+} summary type can specify a printf-style output format
1529      - New currency summary type {$}
1531    + The date/time prompt
1532      - While entering data, watch live the current interpretation.
1533      - The date prompt now prefers to select the future
1534      - Easier modification of time in an existing time stamp.
1536    + Export
1537      - You can now export some special strings in HTML, like "..."
1538      - #+EMAIL: may contain several email addresses
1540    + Agenda
1541      - In the agenda, a few keys have changed: `g', `G', and `e'.
1543    + Miscellaneous
1544      - Class-dependent sectioning structures in LaTeX export.
1545      - Radio-lists modeled after the radio tables.
1546      - The default for `org-ellipsis' is back to nil
1547      - Support for pabbrev-mode
1548      - New variable `org-show-entry-below'.
1550 ** Incompatible changes
1552    - If you have customized the variable `org-emphasis-alist' or
1553      org-export-emphasis-alist', you need to do it again by first
1554      canceling your customization and then adding it again.
1556    - I know that some people have defined their own private helper
1557      functions to select a specific remember template, without being
1558      prompted, like this:
1560      : (defun my-remember-template-n ()
1561      :    (interactive)
1562      :    (org-remember ?n))
1564      You need to modify this.  The character selecting the template
1565      must now be the /second/ argument to `org-remember':
1567      : (defun my-remember-template-n ()
1568      :    (interactive)
1569      :    (org-remember nil ?n))
1571    - `C-c C-w' now refiles an entry.  To get a sparse tree of
1572      deadlines, use `C-c / d' instead.
1574 ** Details
1576 *** Remember and related stuff
1578     - New command `org-refile' to quickly move a note to a
1579       different place.  It is bound to `C-c C-w'.  The foremost
1580       application might be to put a note or task captured with
1581       `remember' into the proper list or project.  The command
1582       offers a list of possible refiling targets for completion.
1583       These are headings under which the entry will be inserted
1584       as a subitem.  By default, this will offer all top-level
1585       headings in the current buffer, but you can configure the
1586       variable `org-refile-targets' to get more complex
1587       definitions.  For example:
1589       : (setq org-refile-targets '((nil . (:level . 2))))
1591       selects all level 2 headlines in the current buffer as
1592       targets.  And
1594       : (setq org-refile-targets
1595       :      '((org-agenda-files . (:tag . "refile"))))
1597       searches all agenda files and selects headlines that are
1598       explicitly marked with the tag :refile: .  Note that the
1599       list of targets is built upon first use only, to rebuilt
1600       it, call the command `C-c C-w' with a double prefix
1601       argument.
1603       This is based on an idea and example implementation by Max
1604       Mikhanosha.  Many thanks Max.
1606     - You can now use a C-u prefix on `org-remember' to jump to
1607       the location where a specific templates stores its notes.
1608       For example, if you have `org-remember' bound to `C-c r',
1609       then `C-u C-c r n' will get you to the file and headline
1610       given in the template associated with the letter "n".
1612       This was proposed by someone, but I have lost track who.
1613       Sorry, and thanks anyway.
1615     - New %-escapes in remember templates:
1617       : %c     insert the current clipboard, like C-y would do
1618       : %(..)  evaluate Lisp expression and insert the result
1619       : %[..]  include file
1621       Thanks to Adam Spiers and Tim O'Callaghan.
1623     - New function `org-remember-insinuate' that makes is easier
1624       to set Org-mode specific values for remember variables.
1625       Thanks to Michael Olson for this proposal.  It is
1626       equivalent to:
1628       : (require 'remember)
1629       : (setq remember-annotation-functions '(org-remember-annotation))
1630       : (setq remember-handler-functions '(org-remember-handler))
1631       : (add-hook 'remember-mode-hook 'org-remember-apply-template))
1633       You might still want to set `org-default-notes-file' to
1634       provide a default for templates without a file, and
1635       `org-directory' to show where to find other org files.
1637 *** Emphasis and Font-lock stuff
1639     - Stacked emphasis like ~*/bold italic/*~ is no longer allowed.
1641     - You may finally emphasize a single character like ~*a*~.
1643     - Font-lock now can hide the emphasis markers, just like Muse
1644       does.  Configure the variable `org-hide-emphasis-markers'
1645       if you want this.  Showing the characters continues to be
1646       the default in Org-mode.
1648     - Text in the "=" emphasis is now exported verbatim, i.e. no
1649       further parsing and interpretation of this text takes place.  So
1650       you can write ~=quoted *xxx* a_x = b=~.  This and the following
1651       point implement a request by Daniel Clemente.
1653     - There is a new emphasis marker "~" which marks text to be
1654       exported verbatim, without special formatting.  Inside an
1655       org-mode file, this text is highlighted with the org-verbatim
1656       face.  I am not happy with the face yet (currently is is like
1657       org-code, but underlined), please suggest a better one.
1659     - Whether an emphasis environment is verbatim or not is now an
1660       extra flag in the variable `org-emphasis-alist'.  If you have
1661       configured this variable, do it again by first canceling your
1662       customization to revert to the default, and then adding it
1663       again.
1665     - New variable `org-highlight-latex-fragments-and-specials'.
1666       When turned on, Org-mode will highlight all strings that
1667       are treated in a special way by the exporters.  This is
1668       great for export-oriented writing, but maybe a bit noisy
1669       for note taking, so this feature is off by default.
1671 *** Properties and Column view
1673     - `org-use-property-inheritance' may now also be a list of
1674       property names that should be treated with inheritance
1675       during searches.
1677     - CATEGORY="work" can now be used in a tags/property search,
1678       even if the category is not specified as a property in the
1679       entry, but rather is inherited or derived from #+CATEGORY.
1680       Thanks to Adam, Tim, and Bastien for an interesting
1681       discussion around this issue.
1683     - Summary type improvements in column view.
1684       * The {+} summary type can specify a printf-style output
1685         format for computed values like this: {+;%5.2f}
1686         This was triggered by a report by Levin.
1687       * New currency summary type {$}, which so far is just a
1688         shorthand for {+;%.2f}.  Do we need to have a currency
1689         symbol in front of each value.  Scott Jaderholm asked for
1690         this, but I am not sure if this is already what he meant.
1692 *** The date/time prompt
1694     There have been several small but *very* useful additions to
1695     the date prompt.
1697     - While entering data at the date prompt, the current
1698       interpretation of your input is shown next to your input in
1699       the minibuffer.  I find this great to understand how the
1700       input works.  If you find the extra stuff in the minibuffer
1701       annoying, turn it off with `org-read-date-display-live'.
1703     - The date prompt now prefers to select the future.  If you
1704       enter a date without a month, and the day number is before
1705       today (for example, on the 16th of the month you enter
1706       "9"), Org-mode will assume next month.  Similarly, if you
1707       enter a month and no year, next year will be assumed if the
1708       entered month is before the current, for example if you
1709       enter "May" in September.  Thanks to John Rakestraw for
1710       this great suggestion.  If you find it confusing, turn it
1711       off with `org-read-date-prefer-future'.
1713     - When modifying an existing date using `C-c .' at the stamp,
1714       the time or time range in the stamp are now offered as
1715       default input at the prompt.  This goes a long way to
1716       simplifying the modification of an existing date.  Thanks
1717       to Adam Spiers for this proposal.
1719 *** Export (all implemented by Bastien...)
1721     - You can now export special strings in HTML.  Here is the
1722       list of newly performed conversions:
1724       | Org | Description                        | HTML     |
1725       |-----+------------------------------------+----------|
1726       | ~\\-~ | double backslash followed by minus | &shy;    |
1727       | ~--~  | two dashes (minuses)               | &ndash;  |
1728       | ~---~ | three dashes (minuses)             | &mdash;  |
1729       | ~...~ | three dots                         | &hellip; |
1731       You can turn this globally on or off with
1732       `org-export-with-special-strings' or locally with "-:t" or
1733       "-:nil" in the #+OPTIONS line.  Thanks to Adam Spiers for
1734       starting the discussion, and thanks to Daniel Clemente and
1735       William Henney for relevant inputs.
1737     - Comma-separated emails in #+EMAIL: are correctly exported.
1738       Thanks to Raman for pointing out this omission.
1740 *** Agenda
1742     - In the agenda, a few keys have changed
1743       : g  does now the same a "r", refresh current display,
1744       :    because "g" is the Emacs standard for "refresh"
1745       : G  toggle the time grid, used to be "g"
1746       : e  Execute another agenda command, pretty much the same as
1747       :    `C-c a', but shorter and keep the same agenda window.
1749 *** Miscellaneous (much of it from Bastien)
1751     - You can now select the sectioning structure of your LaTeX
1752       export by setting it either globally
1753       (`org-export-latex-default-class') or locally in each Org
1754       file (with #+LaTeX_CLASS: myclass).  You can also customize
1755       the list of available classes and their sectioning
1756       structures through the new `org-export-latex-classes'
1757       option.  Thanks to Daniel for discussions and suggestion on
1758       this issue.
1760     - You can send and receive radio lists in HTML,
1761       LaTeX or TeXInfo, just as you send and receive radio
1762       tables.  Check the documentation for details and examples.
1764     - The default for `org-ellipsis' is back to nil, some people
1765       seem to have had problems with the face as a default.
1767     - Support for pabbrev-mode, needs pabbrev version 1.1.  Thanks
1768       to Phillip Lord for adapting his package to make this
1769       possible.
1771     - New variable `org-show-entry-below' to force context-showing
1772       commands to expose the body of a headline that is being
1773       shown.  Thanks to Harald Weis for pointing out this omission.
1776 * Version 5.13i
1778 ** Details
1780    - On the date/time prompt, you can now also answer with
1781      something like +2tue to pick the second tuesday from today.
1782      This was a proposal by Sacha Chua.
1784    - When interpopating into Lisp formulas in the spreadsheet,
1785      the values of constants and properties are no longer
1786      enclosed into parenthesis.  When interpolating for calc,
1787      this still happens in order to allow expressions in
1788      constants.  This problem was reported by Eddward DeVilla.
1790    - When a directory is listed in `org-agenda-files', all files
1791      with extension matched by the new variable
1792      `org-agenda-file-regexp' in that directory will be agenda
1793      files.
1795    - Bug fixes.
1797 * Version 5.13
1799 ** Overview
1801    - Bug fixes and improvements in column view
1802      + All known bugs fixed.
1803      + A Column view can be captured into a dynamic block.
1804      + The ITEM column is formatted core compactly.
1805      + Also ITEM can be edited with `e'
1807    - The agenda dispatcher
1808      + `<' cycles through restriction states.
1809      + Multi-character access codes to commands (= sub-keymaps).
1811    - Sorting improvements
1812      + User-defined sorting keys.
1813      + Sorting by properties.
1814      + Sorting of plain lists.
1816    - HTML <div> structure
1818    - Other stuff
1819      + New variables, several of them.
1820      + Drawers can be set on a per-file basis.
1821      + Better control over priority fontification in agenda.
1822      + M-up and M-down now move the current line up and down.
1823      + Abort remember template selection with C-g.
1825 ** Details
1827 *** Bug fixes and improvements in column view
1829     - All the bugs described by Scott Jaderholm have been fixed
1830       (at least I hope so...).
1832     - You can now capture a column view into a dynamic block, for
1833       exporting or printing it.  The column view can be
1835       + global, i.e. for the entire file
1836       + local, i.e. for the subtree where the dynamic block is
1837       + from an entry with a specific :ID: property.
1839       You can identify the entry whose column view you want to
1840       capture by assigning an :ID: property, and use that property
1841       in the dynamic block definition.  For example:
1843       : * Planning
1844       :   :PROPERTIES:
1845       :     :ID: planning-overview
1846       :   :END:
1847       :
1848       : [...]
1849       :
1850       : * The column view
1851       : #+BEGIN: columnview :hlines 1 :id "planning-overview"
1852       :
1853       : #+END:
1855       Use `C-c C-x r' to insert such a dynamic block, and you will
1856       be prompted for the ID.
1858     - When the current column format displays TODO keyword,
1859       priority or tags, these parts are stripped from the content
1860       of the ITEM column, making for more compact and readable
1861       entries.  When any of these "properties" are not listed in
1862       the current column format, they are instead retained in the
1863       ITEM column.
1865     - You can now also edit the ITEM column with `e'.
1867 *** The agenda dispatcher
1869     - Instead of pressing `1' to restrict an agenda command to
1870       the current buffer, or `0' to restrict it to the current
1871       subtree or region, you can now also press `<' once or
1872       twice, respectively.  This frees up `1' and `0' for user
1873       commands, a request by Bastien.  In fact, "<" cycles
1874       through different restriction states.  "1" and "0" are
1875       still available for backward compatibility, until you bind
1876       them to custom commands.
1878     - The access code to custom agenda commands can now contain
1879       several characters, effectively allowing to bundle several
1880       similar commands into a sub-keymap.  This follows an
1881       excellent proposal by Adam Spiers.  For example:
1883       : (setq org-agenda-custom-commands
1884       :   '(("h" . "HOME + Name tag searches") ; describe prefix "h"
1885       :     ("hl" tags "+HOME+Lisa")
1886       :     ("hp" tags "+HOME+Peter")
1887       :     ("hk" tags "+HOME+Kim")))
1889     - The user function option in org-agenda-custom-commands may
1890       now also be a lambda expression, following a request by
1891       Adam Spiers.
1893 *** Sorting improvements
1895     We are using a new routine for sorting entries, courtesy of
1896     John Wiegley.  Many thanks to John.
1898     - You can define your own function to extract a sorting key
1899       and in this way sort entries by anything you like.
1901     - Entries can now be sorted according to the value of a
1902       property.
1904     - Plain lists can be sorted.
1906 *** HTML <div> structure
1908     There is now a <div>-based structure in exported HTML.
1910     - The table of context is wrapped into a div with a class
1911       "table-of-contents".
1913     - The outline structure is embedded in <div> elements with
1914       classes "outline-1", "outline-2" etc.
1916     - The postamble, containing the author information and the
1917       date is wrapped into a div with class "postamble".
1919     I am not sure if the class names are the best choice, let me
1920     know if there are more "canonical" choices.
1922     Thanks to Mike Newman and Cezar for input, and in particular
1923     to Mike for his clearly formulated specification.
1925 *** Other stuff
1927     - New variable `org-agenda-window-frame-fractions' to
1928       customize the size limits of the agenda window in the case
1929       that you display the agenda window by reorganizing the
1930       frame.
1932     - Drawers can be set on a per-file basis using
1934       : #+DRAWERS: HIDDEN STATE PROPERTIES
1936       This will define the drawers :HIDDEN: and :STATE:.
1937       The :PROPERTY: drawer should always be part of this list, or
1938       your properties will not be folded away.
1939       Thanks to Richard G. Riley for this proposal.
1941     - `org-agenda-fontify-priorities' may now also be an
1942       association list of priorities and faces, to specify the
1943       faces of priorities in the agenda individually.
1945     - The variable `org-export-with-property-drawer' no longer
1946       exists, please use `org-export-with-drawers' instead.  Also,
1947       the corresponding switch in the #+OPTIONS line has changed
1948       from "p" to "d".  Thanks to Bastien for pointing out that we
1949       needed to handle not only the property drawer.
1951     - M-up and M-down now move the current line up and down (if
1952       not at a headline, item or table).  Among other things you
1953       can use this to re-order properties in the drawer.  This was
1954       a proposal by Bastien.
1956     - New variable `org-agenda-todo-ignore-with-date', based on a
1957       request by Wanrong Lin.
1959     - Aborting remember template selection with C-g now kills the
1960       remember buffer and restores the old window configuration.
1961       This was a request by Nuutti Kotivuori.
1963 * Version 5.12
1965 ** Overview
1967    - Remember templates can now have name.
1968    - `C-c C-k' will abort taking a note (remember of log)
1969    - `C-c C-x C-w' and `C-c C-x M-w' now accept a prefix arg.
1970    - Lines in the agenda can be fontified according to priority.
1971    - New variable `org-scheduled-past-days'.
1972    - New variables `org-agenda-deadline-leaders' and
1973      `org-agenda-scheduled-leaders'.
1974    - New sparse tree function `org-sparse-tree'.
1975    - The variable `org-ellipsis' now defaults to `org-link'.
1976    - The #+OPTIONS line has a new option "tags".
1977    - New variable `org-use-property-inheritance'.
1979 ** Incompatible Changes
1981    - `C-c /' now calls `org-sparse-tree'.
1983 ** Details
1985    - Remember templates can now have a template name as the first
1986      element.  The name will be listed along with the selection
1987      character when prompting for a template.  It is best to have
1988      the name start with the selection character, for example if
1989      you use ("Note" "n"), you will be prompted like "[n]ote".
1990      Thanks to Matiyam for this proposal.
1992    - `C-c C-k' will abort taking a note.  You can use this in remember
1993      buffers and when taking a logging note (e.g. for a state
1994      change).  Thanks to Bastien.
1996    - `C-c C-x C-w' and `C-c C-x M-w' now accept a prefix arg to
1997      cut N sequential subtrees.  This was a proposal by John.
1999    - Lines in the agenda are now bold if they have priority A and
2000      italic if they have priority C.  You can turn this off using
2001      the variable `org-agenda-fontify-priorities'.  Thanks to
2002      John Wiegley for the idea and code.
2004    - New variable `org-scheduled-past-days' to set the number a
2005      scheduled item will be listed after its date has passed.
2006      Default is 10000, i.e. indefinitely.
2008    - New variables `org-agenda-deadline-leaders' and
2009      `org-agenda-scheduled-leaders' to adjust the leading text o
2010      scheduled items and deadline in the agenda.  Thanks to John
2011      Wiegley for a patch.
2013    - New sparse tree function `org-sparse-tree'.  This is now the
2014      default binding for `C-c /'.  It requires one additional
2015      keypress to select a command, but in return is provides a
2016      single interface to all the different sparse tree commands,
2017      with full completion support.
2019    - The variable `org-ellipsis' now defaults to the face
2020      `org-link' because the visibility of the dots is really bad
2021      and I have found this change very useful indeed.
2023    - The #+OPTIONS line has a new option "tags" which can be used
2024      to set `org-export-with-tags'.  Thanks to Wanrong Lin for
2025      this proposal.
2027    - New variable `org-use-property-inheritance'.  Configure it
2028      to `t' if you want that searching for entries with certain
2029      properties always should assume inheritance.  This is not
2030      well tested yet, please check it out.
2032    - Bug fixes
2034 * Version 5.11
2036 ** Overview
2038    - SUMMARY, DESCRIPTION, LOCATION properties for iCalendar
2039    - Command to jump to the running clock
2040    - Clock entries can now have their own drawer
2041    - `C-c C-x C-r' only updates a clocktable at point
2042    - New way to assign a remember template to a single key
2043    - `C-n' and `C-p' are back to their default binding
2044    - `C-x C-s' in agenda buffer saves all org-mode buffers
2045    - Schedule/deadline leaves note in agenda buffer
2046    - Prefix argument for `C-c C-d/s' will remove date
2047    - New variable to make block aranda more compact
2048    - Better tag alignment in agenda
2050 ** Incompatible changes
2052    - If you have customized `org-drawers', you need to add
2053      "CLOCK" to the list of drawers.
2055    - The variable `org-agenda-align-tags-to-column' has been
2056      renamed to `org-agenda-tags-column'.  The old name is still
2057      an alias, in Emacs 22 and in XEmacs, but not in Emacs 21.
2059    - The default value for both `org-tags-column' and
2060      `org-agenda-tags-column' is now -80.
2062    - The variable
2063      `org-insert-labeled-timestamps-before-properties-drawer'
2064      is now obsolete.
2066 ** Details
2068    - The LOGGING property allows to modify the settings for
2069      progress logging for a single entry.  For example:
2071      : :PROPERTIES:
2072      :   :LOGGING: nologging nologrepeat
2073      : :END:
2075      turns off all progress logging for the current entry and its
2076      children.
2078    - The properties SUMMARY, DESCRIPTION and LOCATION have
2079      special meaning during iCalendar export, when they translate
2080      to the corresponding VEVENT and VTODO fields.  If not given,
2081      Org-ode continues to use cleaned-up version of the headline
2082      and body as the summary and the description, respectively.
2084    - New function to go to the entry with the currently running
2085      clock.  Bound to `C-c C-x C-j', in agenda also to "J".  If
2086      you use this often, you might even want to assign a global
2087      key.  Thanks to Bernt and Bastien.
2089    - Clock entries can now have their own drawer, the :CLOCK:
2090      drawer.  Check out the variable `org-clock-into-drawer' for
2091      configuration of this feature.  The default is to create a
2092      drawer when the second clocking line gets added to an entry.
2093      Note that "CLOCK" has been added to the default value of
2094      `org-drawers', but if you have configured that variable, you
2095      must go back and add "CLOCK" yourself to get this drawer
2096      folded away.  Thanks to Tom Weissman for pointing out that
2097      too many clock entries are visually annoying.
2099    - `C-c C-x C-r' no longer tries to find the first clocktable
2100      in a buffer and then updates it.  Instead, it will update
2101      the clocktable at point if there is one (same as C-c C-c
2102      will do if the cursor is in the "#+BEGIN" line of the
2103      table).  If there is none at point, a new one will be
2104      inserted.  This change was necessary because the new :scope
2105      parameter allows to have several clocktables in a buffer.
2106      Thanks to Bastien for pointing this out.
2107      To update all dynamic blocks in a file, use `C-u C-c C-x C-u'.
2109    - The function `org-remember' can now be called with a
2110      template selection key as argument.  This helps to make key
2111      bindings that go directly to a specific template without
2112      being prompted for a template, like this:
2114      : (global-set-key [f5] (lambda () (interactive) (org-remember "j")))
2116      Thanks to Richard G Riley for bringing this up.
2118    - `C-n' and `C-p' are back to their default binding
2119      (next/previous line) in the agenda buffer.  Enough people,
2120      including recently Denis Bueno, have complained about this,
2121      and I agree it is not good to break habits like that.
2123    - `C-x C-s' in an agenda buffer now saves all org-mode buffers
2124      (also `s' does this).
2126    - Setting schedule or deadline dates from the agenda now
2127      produces a note in the agenda, similarly to what happens
2128      with S-left/right.
2130    - Using a prefix argument for `C-c C-d' or `C-c C-s' will
2131      remove the deadline or scheduling date from an item.  Thanks
2132      to Wanrong Lin for this proposal.
2134    - New variable `org-agenda-compact-blocks'.  When set, the
2135      space between blocks in a block agenda is reduced as much as
2136      possible, to show more items on a single screen.
2138    - The variable `org-agenda-tags-column' (renamed from
2139      `org-agenda-align-tags-to-column') can now also be negative,
2140      to mean alignment to the left.  The new default is -80, just
2141      like it is now for `org-tags-column'.
2143    - Bug fixes
2145 * Version 5.10
2147 ** Overview
2149    - Category and the archive location can be properties.
2150    - The clocktable has a new =:scope= parameter.
2151    - CSV support when importing a table.
2152    - Better defaults when modifying a time stamp.
2153    - New way to specify the duration of an appointment.
2154    - More aggressive version of orgstruct-mode improved wrapping.
2155    - Modifications to priority cycling.
2156    - Modifications to computations in column view.
2157    - New command `org-occur-in-agenda-files'.
2158    - Bug fixes.
2160 ** Details
2162    - Both the category and the archive location in a (sub)tree of
2163      the buffer can now be specified using a property, for
2164      example:
2166      : * Tree with special properties
2167      :   :PROPERTIES:
2168      :     :CATEGORY: Examples
2169      :     :ARCHIVE:  /some/special/file::
2170      :   :END:
2172      This is a much cleaner way of dealing with multiple
2173      categories and archives in a single file.  The preferred use
2174      of the =#+CATEGORY= and =#+ARCHIVE= lines is now to set a
2175      *single* default for the file which is then locally
2176      overruled by properties.  This was a proposal from Bastien
2177      if I remember correctly.  Multiple =#+= lines still work
2178      and I don't plan to remove this support soon, but I
2179      encourage you to stop using them.
2181    - The clocktable has a new =:scope= parameter that determines
2182      the range in the file from which clock entries should be
2183      taken.  This can be anything from the local subtree to the
2184      entire buffer to even the full list of agenda files.  Legal
2185      values are:
2187      | value   | scope                                           |
2188      |---------+-------------------------------------------------|
2189      | nil     | the current buffer or narrowed region           |
2190      | file    | the full current buffer                         |
2191      | subtree | the subtree where the clocktable is located     |
2192      | treeN   | the surrounding level N tree, for example tree3 |
2193      | tree    | the surrounding level 1 tree                    |
2194      | agenda  | all agenda files                                |
2196      Thanks to Jason F. McBrayer and Bernt Hansen for
2197      inspiration.  Thanks to cranreuch (what is you full name?)
2198      for mentioning, at the right moment, that the clocktable is
2199      not so bad - that remark made it seem worthwhile to add
2200      features.
2202    - The commands to import a table and to convert a region to a
2203      table can now handle comma-separated values (CSV).  The
2204      algorithm does not yet treat quoting correctly, but for
2205      basic input it works.
2207    - When modifying an existing time stamp, or when entering the
2208      second stamp of a range, the date prompt will now
2209      consistently default to the date/time in the existing stamp.
2210      This was triggered by Nuutti Kotivuori's request.
2212    - At the date/time prompt, there is a new way to specify a
2213      range of hours, by using "+DURATION" after the time.  For
2214      example:
2216      :  14:00+2  means 14:00-16:00
2217      :  2pm+2:30 means 14:00-16:30
2219      Again, Nuutti Kotivuori's request.
2221    - When you use the function `turn-on-orgstruct++' to turn on
2222      orgstruct-mode, the special org-mode settings for
2223      auto-filling, indentation and paragraphs are exported into
2224      the buffer, so that typing list items with indentation works
2225      better.  This was Bastien's idea and request.
2227    - New variable `org-priority-start-cycle-with-default'.  When
2228      t (the default), priority cycling will initially set the
2229      default priority and then increase or decrease.  When nil,
2230      the first priority set by cycling is already 1 different
2231      from the default priority.  This was mostly driven by
2232      Bastien.
2234    - In column view: When an entry has a property for a summary
2235      column defined, its value is normally overwritten by the sum
2236      of all the children's values each time you enter column
2237      view.  Now there is an exception to this rule: If none of
2238      the children has that particular property defined, the
2239      parent's value stays.  In this way you can still place TODO
2240      items under such an entry without getting the property value
2241      changed.  Thanks to Russel Adams for pointing out that this
2242      is a better way of doing things.
2244    - In column view, computed values are now bold face, and
2245      trying to edit them is an error.  I think this works, but
2246      testing is appreciated.
2248    - New command `org-occur-in-agenda-files', this is basically
2249      the quick command John Wiegley proposed the other day, but
2250      it also works when the agenda files are not yet in buffers.
2251      The key is `C-c C-x /', any better proposals?
2253    - Links containing a space will now be handled correctly when
2254      calling the browser.  Note that you need to enclose such
2255      links in square or angular brackets.
2257    - Bug fixes.
2259 * Version 5.09
2261 ** Overview
2263    - Taking a note upon TODO state changes can be restricted to
2264      selected states.
2266    - The format in which dates are shown in the daily/weekly
2267      agenda can be configured.
2269    - The default for `org-remember-store-without-prompt' is now t.
2271    - `org-goto' has been made into a general lookup command.
2273    - Priority cycling goes back to the nil state.
2275    - You can store a remember note to the *last used* location.
2277    - On Emacs 23, the headline faces for org-mode are now
2278      inherited from the outline faces.
2280 ** Incompatible Changes
2282    - The default for `org-remember-store-without-prompt' is now
2283      t, in order to better match the original intent of
2284      remember.el (storing a note with minimum interruption of
2285      work flow).  I expect that many people will be hit by this
2286      incompatible change - nevertheless I believe it is the right
2287      thing to do.
2289 ** Details
2291    - You can now select specific states for recording a note when
2292      switching to that state.  With the setting
2294      : #+SEQ_TODO: TODO(t) ORDERED(o@) INVOICE(i@) PAYED(p) | RECEIVED(r)
2295      : #+STARTUP: lognotestate
2297      only the states ORDERED and INVOICE will record a timestamp
2298      and a note.
2300    - You can now set the format of the string for each day in the
2301      agenda and timeline buffers.  You can use a format string
2302      interpreted by `format-time-string', or you can write your
2303      own function.  Configure the new variable
2304      `org-agenda-format-date'.  Thanks to Levin for triggering
2305      this development with a patch.
2307    - The default for `org-remember-store-without-prompt' is now
2308      t, in order to better match the original intent of
2309      remember.el (storing a note with minimum interruption of
2310      work flow).  Since we can assign files and headlines to
2311      templates, I guess this takes care of selecting a filing
2312      location in most cases.  For interactive filing, you now
2313      need a prefix command when exiting `remember'.
2315    - `org-goto' (bound to `C-c C-j') now uses an indirect buffer
2316      and has additional commands enabled: Org-occur with `C-c /'
2317      or even faster with `/', and the commands needed to select
2318      and copy a region.  This make `org-goto' a more general
2319      lookup command instead of only a jumping command.  Remember
2320      that you can exit with `Q' to go back to the original
2321      location.  Thanks to William Henney for this idea.
2323    - Setting the priority with S-up/down now cycles back to a
2324      state where no priority is specified.  This was requested by
2325      Rick Moynihan.
2327    - You can store a remember note to the *last used* location.
2328      So if you select a location interactively once, you can
2329      re-use it without having to find it again.  For this, exit
2330      the remember buffer with `C-u C-u C-c C-c'.  The leading
2331      comment in the remember buffer will tell exactly where the
2332      note goes if you exit with a particular command.
2333      Thanks to Maxim Loginov for this idea.
2335    - On Emacs 23, the headline faces for org-mode are now
2336      inherited from the outline faces.  This is just a
2337      convenience, so that you only have to configure one set of
2338      faces, and that will then be outline-1 .. outline-8.  You
2339      will actually not see any difference in org-mode, because
2340      Stefan Monnier has made the outline faces in Emacs 23 to
2341      match the current org-mode faces.
2343      This change does not effect XEmacs, nor Emacs 21 and 22.
2345 * Version 5.08
2347 ** Incompatible changes
2349    - The default for `org-deadline-warning-days' is now 14.
2351 ** Details
2353    - There is now a separate interface for fast and directly
2354      setting a TODO keyword.  This interface kicks in when you
2355      have configured keys for TODO keywords like
2357      : #+SEQ_TODO: TODO(t) WAITING(w) | DONE(d) CANCELED(c)
2359      C-c C-t still does the cycling thing, you need to use a
2360      prefix argument to get to the fast interface.  Or configure
2361      the variable `org-use-fast-todo-selection' to t, then this
2362      will be the default and the prefix argument will make the
2363      command fall back to cycling.
2365      The tag selection no longer does include TODO keywords -
2366      Leo's arguments have convinced me that this is not a good
2367      idea.  If you'd like to see the TODO keywords in the tags
2368      interface anyway, set the variable
2369      `org-fast-tag-selection-include-todo'.  Thanks to Leo and
2370      others for input on this issue.
2372    - New variable `org-edit-timestamp-down-means-later'.  When
2373      set, `S-down' on a timestamp will change the timestamp to
2374      later.  Thanks to Raman for this idea.
2376    - Property names can now contain non-ascii word characters.
2377      This follows a request from Daniel Clemente.
2379    - For export, the date that should be given in the exported
2380      file can now be set to a specific value with a line like
2382      : #+DATE: 15 November 2003
2384      If you want to use the date/time when the file was created,
2385      use a format string that will be interpreted by
2386      `format-time-string', for example:
2388      : #+DATE: %Y/%m/%d %X
2390    - The default of `org-deadline-warning-days' has changed to 14
2391      days.  30 was really too much, I suspect most people (me
2392      included) have changed this.
2394    - When a deadline has an individual lead time, this lead time
2395      obviously overrules `org-deadline-warning-days'.  However,
2396      if you bind `org-deadline-warning-days' to a number <=0, for
2397      example during a custom agenda command, then the absolute
2398      value of this number will be enforced also when a different
2399      lead time has been specified.  This is useful to get a list
2400      of all deadlines coming up in the next N days.
2402 * Version 5.07
2404 ** Overview
2406    - Different faces for different TODO keywords.
2408    - Setting TODO states through the TAG setting interface.
2410    - Context information is stored when moving a tree to the archive.
2412    - Sorting can be done by priority.
2414    - `Org-ellipsis' can now also be a face.
2416    - Scheduling info is no longer removed entry is marked CLOSED.
2418    - Unavailable files in `org-agenda-files' can be skipped.
2420 ** Incompatible changes
2422    - The time of archiving is now stored as a property.
2423      ARCHIVED is no longer a special time keyword.
2425    - Scheduling info is no longer removed entry is marked CLOSED.
2427 ** Details
2429    - You can now define different faces for different TODO
2430      keywords.  This request has come up frequently, so here it
2431      is: Use the variable `org-todo-keyword-faces'.
2433      A Here is a configuration example:
2435      : (setq org-todo-keyword-faces
2436      :   '(("TODO"      . org-warning)
2437      :     ("DEFERRED"  . shadow)
2438      :     ("CANCELED"  . (:foreground "blue" :weight bold
2439      :                    :underline t))))
2441      Org-mode continue still use `org-todo' and `org-done' for
2442      keywords that have no specific face assigned.
2444    - Some People use TODO states more like tags.  For them the
2445      TODO keywords mark special states and they like to quickly
2446      switch between states in arbitrary sequence.  The standard
2447      TODO interface is not perfect for this, because it assumes
2448      that the states are reached in sequence.  However, the fast
2449      tag setting interface is in fact perfect for this.  You can
2450      now "misuse" the TAG selection interface to also set TODO
2451      states.  All you need to do is to assign keys to the TODO
2452      states, just like you also do for tags.
2454      : #+SEQ_TODO: TODO(t) WAITING(w) | CANCELED(c) DONE(d)
2455      : #+TAGS: @HOME(h) @OFFICE(o) @SHOP(s)
2457      Next time you try to set tags with C-c C-c, the todo states
2458      will be offered as well, and the corresponding key will
2459      switch the entry to that state.
2461    - New variable `org-archive-save-context-info' governs if
2462      information that would be lost by moving a subtree to the
2463      archive file, should be stored as special properties.  For
2464      example,
2466      : (setq org-archive-save-context-info '(itags category))
2468      will store the inherited tags and the category in properties
2469      ARCHIVE_ITAGS and ARCHIVE_CATEGORY, respectively.  The
2470      default setting for this variable is to save everything that
2471      could be lost.  This was a proposal by John Wiegley.
2473    - Sorting (`C-c ^') can use the use the priority to sort.  Use
2474      the "p" and "P" keys at the prompt.  John Wiegley, again.
2476    - `Org-ellipsis' can now also be a face to make the folding
2477      ellipsis more visible.  This is based on a post by Tassilo
2478      Horn.  Since `org-ellipsis' only works in Org-mode, you
2479      might want to use Tassilo Horn's hack directly in order to
2480      affect the folding ellipsis globally.
2482    - Scheduling info is no longer removed when an entry is marked
2483      CLOSED.  This was a request by Brian van den Broek.  Let me
2484      know if this breaks anything for you - then it will become
2485      an option.
2487    - New option `org-agenda-skip-unavailable-files'.  Currently,
2488      if a file does not exist, it will be removed from
2489      `org-agenda-files' after a query.  When this option is set,
2490      the file will simply be skipped.
2492    - Bug fixes.
2494 * Version 5.06
2496 ** Overview
2498 ** Details
2500    - When exporting only a region and this region is a single
2501      (sub)tree (for example selected with `C-c @'), the title for
2502      the exported document is taken to be the heading of the
2503      subtree.  The sublevels become top-level entries in the
2504      export.  Furthermore, if the head entry of the tree has or
2505      inherits an EXPORT_FILE_NAME property, that file name (with
2506      appropriately substituted extension) will be used for the
2507      exported tree.  Thanks to Patrick Drechsler and Jost Burkart
2508      for these ideas.
2510    - org-special-ctrl-a/e has a third allowed value, `reversed'.
2511      When it is set to this value, the first C-a or C-e command
2512      behaves normally, i.e. it goes to the true beginning or end
2513      of the line.  Only when you press C-a or C-e immediately
2514      again, the the "special" position will be found.  Additional
2515      presses of the same key jump between the two positions.  I
2516      like this a lot better than the `t' setting, because now the
2517      keys behave more predictable and still give easy access to
2518      the special locations.
2520    - New command to set or remove a tag from all headlines in a
2521      region.
2523    - When Org-mode visits a file, it will initially hide all
2524      drawers.
2526    - The default of the variable `org-cycle-global-at-bob' is now
2527      nil, meaning that TAB no longer does global visibility
2528      cycling at the beginning of the buffer.
2530    - Bug fixes, in particular the problems with scheduling and
2531      deadlines introduced in 5.05.  Please check carefully if
2532      this works correctly again, and complain if not.
2534 * Version 5.05
2536 ** Overview
2538    - LaTeX export, finally, thanks to Bastien.
2540    - Extension mechanism for the hyperlink system.
2542    - Global access to commands inserting and following links.
2544    - Individual lead-times for deadlines.
2546    - Option to show only the next instance of repeating timestamp.
2548    - Store remember notes with only 2 keys: C-c C-c
2550    - Appointment reminders from Org-mode.
2552    - Global values for selected properties.
2554    - Bug fixes.
2557 ** Details
2559    - Bastien's `org-export-latex.el' is now part of the org-mode
2560      distribution.  You can export an Org-mode document to a
2561      LaTeX file with `C-c C-e l'.  For more options, see the
2562      manual, and the commentary in the Lisp file.  Kudos to
2563      Bastien for contributing this frequently requested feature.
2564      I am sure this has been tough because of the many different
2565      ways I have been allowing LaTeX snippets and environments to
2566      be incorporated in lazy free-format ways.
2568    - Org-mode has now an extension mechanism for the hyperlink
2569      system.  This should clear the road for all those mairix and
2570      other ideas that have been floating around.  Now it is on
2571      *you* to write and share new link types for Org-mode.  The
2572      interface for adding a new link type is described in the
2573      appendix of the manual, section A2.  The unsolved problem is
2574      currently how to handle the new link types for
2575      export/publishing.
2577    - New *global* commands `org-open-at-point-global' and
2578      `org-insert-link-global'.  You can bind these commands to
2579      global keys and use them to insert and follow Org-mode-like
2580      links anywhere in Emacs.  Thanks to Adam Spiers for this
2581      excellent idea.
2583    - Each deadline timestamp may now specify its own interval of
2584      lead-time display, given in days, weeks, months or years.
2585      The syntax is like this
2587      : DEADLINE: <2007-08-13 Mon -5d>
2589      When combined with a repeater, the repeater has to come
2590      first:
2592      : DEADLINE: <2007-08-13 Mon +2w -5d>
2594      You may now also customize the faces that are used in the
2595      agenda to indicate the distance of an approaching deadline.
2596      See the new option `org-agenda-deadline-faces'.
2598      Thanks to Pavel Chalmoviansky and John Wiegley proposals in
2599      this direction.
2601    - New option `org-agenda-repeating-timestamp-show-all'.  When
2602      set to nil, repeating time stamps will only show up once in
2603      the agenda, either today or in the near future.  Other
2604      matches will be ignored.  Thanks to John Wiegley for this
2605      proposal.
2607    - New variable `org-remember-store-without-prompt'.  When set,
2608      exiting the remember buffer with C-c C-c will store the note
2609      without further prompts to the default location, and `C-u
2610      C-c C-c' will get the prompts for file and location.  So
2611      this variable reverses the prefix-argument functionality for
2612      storing remember notes.  This follows a request from John
2613      Wiegley.
2615    - A new function `org-agenda-to-appt' activates all
2616      appointments for the current day so that Emacs will display
2617      reminders.  This uses appt.el.  Thanks to Bastien for this
2618      function.
2620    - You can now set default values for properties that can be
2621      inherited by all entries in a buffer, or by all entries
2622      globally.  Global properties are set in the variable
2623      `org-global-properties', like this:
2625        (setq org-global-properties '(("NAME" "This is the value")))
2627      Buffer-local values are set like this:
2629        #+PROPERTY: NAME This is the value
2631      When using org-entry-get to get the value of a property with
2632      the `inherit' flag and the hierarchy above the entry does
2633      not contain this property, the buffer-local and global lists
2634      are checked as well.  This is mostly useful (I think) to set
2635      the list of allowed values for a property.  Thanks to Bernt
2636      Hansen and Bastien for these ideas.
2638    - Bug fixes.
2640 * Version 5.04
2642 ** Details
2644    - New variables `org-export-author-info' and
2645      `org-export-time-stamp-file' to turn off inclusion of author
2646      and time information into exported files.  Thank to Patrick
2647      Drechsler for pointing out that this would be useful.
2649    - New variable to avoid moving DEADLINE and SCHEDULED info
2650      into the property drawer.  The default is now to not move
2651      this stuff into the drawer.
2652      `org-insert-labeled-timestamps-before-properties-drawer'
2654    - `org-archive-mark-done' can be a string now, to select a
2655      specific keyword that should be used for archived entries.
2657    - New command "j" in agenda to jump to an arbitrary date.
2658      Thanks to Bernt Hansen for the patch.
2660    - Lots of minor fixes.
2662 * Version 5.03
2664 ** Incompatible Changes
2666    - The variable `org-special-ctrl-a' has been renamed to
2667      `org-special-ctrl-a/e'.  The old one is still an alias (but
2668      not on Emacs 21 where variable aliases cannot be defined).
2670 ** Details
2672   - When the variable `org-special-ctrl-a/e' is set, C-e in a
2673     headline first goes to the end of the headline ignoring the
2674     tags.  A second C-e then goes to after the tags.
2676   - Typing and removing single characters in a headline now
2677     keeps the tags in the headline aligned.  This could have a
2678     little impact on performance while deleting stuff - let me
2679     know if we need to make this customizable.
2681   - New option `org-n-level-faces' can be used to set the number
2682     of different faces that are used for headlines.  Default is
2683     all 8 faces Org-mode defines for this purpose, level 9 uses
2684     again the level-1 face.  However, you can use fewer, and then
2685     the level-1 face will be reused already for level N+1, etc.
2687   - Column View and hidestars now work together.
2689   - Bug fixes.
2692 * Version 5.02
2694 ** Overview
2696    - The interfaces for properties and column view are finished
2697      now and work well.
2699    - Properties can be summaries, i.e. the parent nodes can
2700      compute their value from the children's values.
2702    - Headlines finally require a space ofter the star(s).  The
2703      conflict with bold text at the beginning of the line is no
2704      longer there.
2706 ** Incompatible Changes
2708    - Bad news.  It looks like it is going to be really hard to
2709      make column view work on XEmacs and on Emacs 21.  Emacs 22
2710      is currently the only Emacs where this works.  If you are
2711      using Emacs 21 or XEmacs, you can still use properties, but
2712      not column view.
2714 ** Details
2716    - Improvements for properties:
2718      + There are interactive commands to insert and delete
2719        properties.  Read the manual chapter 7 for details.
2721      + You can define /allowed values/ for a property.  When
2722        these are defined, you can change the value of a property
2723        with S-left and S-right.  And you may use completion when
2724        inserting the property.  This goes a long way to prevent
2725        typos when entering properties.
2727    - Improvements for column view.
2729      + In column view, you may use the keys S-left/right (and
2730        also the keys `n' and `p') to switch from one allowed
2731        value to the next.
2733      + You can define summaries for columns.  For example,
2734        parents can contain the sum of all children values of a
2735        property, or the parent node can have a check box property
2736        that is automatically checked when all children's boxes are
2737        checked.
2739      + There are interactive commands to add and remove columns,
2740        and to change the attributes of a column like the summary
2741        type.
2743      These additions lead to the exciting fact that the example
2744      from [[http://www.omnigroup.com/images/applications/omnioutliner/features/multicolumn.jpg][omni outliner]] posted by Scott Jaderholm can now be
2745      accurately [[file:omni-org.jpg][reproduced by Org-mode]].
2747    - The space after the stars is now required in a headline, in
2748      order to remove the conflict with bold words at the
2749      beginning of a line.  So
2751      :    * This is a level 1 headline
2752      :    *this is bold text*
2754    - S-up and S-down to navigate plain item lists are now also
2755      available in orgstruct-mode.
2757 * Version 5.01
2759 ** Overview
2761    - A new minor mode, orgstruct-mode, exports the Org-mode
2762      structure editing commands into any other mode.
2764    - DRAWERS are a new level off folding for special sections
2765      that should stay closed during visibility cycling and only
2766      open if explicitly asked.
2768    - Entries can now have PROPERTIES.
2770    - A COLUMN VIEW implementation allows to easily view and edit
2771      the properties of a hierarchy of entries (Emacs only, for
2772      now).
2774    - Formula evaluation in the spreadsheet is more consistent
2775      now.  Properties and per-file constants can be used during
2776      evaluation.
2778    - Bug fixes and minor changes.
2780 ** Incompatible changes
2782    - When using LEVEL=N in a tags search, things have changed if
2783      you are also using `org-odd-levels-only'.  If you are using
2784      only odd levels (i.e. 1 or 3 or 5... stars), LEVEL=2 will
2785      now refer to 3 stars, LEVEL=3 to 5 stars etc.  Many thanks
2786      to Leo (or blame on him if you must) who has convinced me
2787      that this is the better convention.
2789 ** Details
2791 *** Orgstruct minor mode
2793     There is a new minor mode, orgstruct-mode.  This modes works
2794     in a similar way as Orgtbl-mode.  It can be used to export
2795     the Org-mode structure-editing commands into arbitrary major
2796     modes in Emacs.  For example, you can use it in Mail-mode to
2797     easily create lists.
2799     The functionality in Orgstruct mode is only active, if the
2800     cursor is in a line that looks either like a headline, or
2801     like the first line of a plain list item.  Then the commands
2802     `TAB', `M-cursor', `M-S-cursor', `M-RET', `M-S-RET', `C-c ^',
2803     `C-c C-c', and `C-c -' will do structure-related editing just
2804     like in Org-mode.  If the cursor is not in such a line, all
2805     these keys will do whatever the major mode or other active
2806     minor modes have assigned to them.
2808     Orgstruct-mode is the result of a proposal by Raman, quite
2809     some time ago.  It has taken a long time, but here is finally
2810     the promised implementation.
2812 *** Drawers
2814     The new concept of /drawers/ allows to create sections
2815     that remain folded during visibility cycling.  Drawers need
2816     to be configured using the variable `org-drawers'.  A drawer
2817     starts with a line containing only the name of the drawer
2818     bracketed by colons. It ends with :END:.  For example,
2819     after setting
2821     :   (setq org-drawers '("PROPERTIES" "HIDDEN"))
2823     you can then create drawers like this:
2825     :   :HIDDEN:
2826     :     here is some stuff that remains hidden
2827     :     unless TAB is pressed directly in that line
2828     :   :END:
2830     The PROPERTIES drawer has special meaning for ORG-mode, it
2831     contains properties of an entry (see below).
2833 *** Properties and Column View
2835     - Entries in Org-mode can now have arbitrary /properties/
2836       associated with them.  Org-mode handles some default
2837       properties like the TODO state, the priority, the local
2838       tags, and planning information like DEADLINE and SCHEDULED.
2839       In addition, you can assign arbitrary properties by creating
2840       a property drawer and inserting a line like
2842       :   :PROPNAME: This is the value of the property
2844       Org-mode has an API for properties, if you want to write a
2845       program using properties, use the functions
2846       `org-entry-properties', `org-entry-get', `org-entry-put',
2847       and `org-entry-delete'.
2849     - Planning information like DEADLINE can be hidden in the
2850       properties drawer.
2852       If the PROPERTIES drawer starts in the first line after a
2853       headline, also the DEADLINE, SCHEDULED and CLOCK information
2854       will be inserted inside the drawer.  If no PROPERTIES drawer
2855       is present, or if it does not start in the line right after
2856       the headline, this information remains in the lines directly
2857       after the headline, outside the drawer.
2859     - TAGS searches can now also query properties.  For example,
2860       the search
2862       :   LEVEL=3+BOSS+ASSIGNED="Hans"/WAITING
2864       will find entries that
2865       - are level 3
2866       - have the tag BOSS
2867       - have an ASSIGNED property with the value "Hans"
2868       - are TODO status WAITING.
2870         So here is an entry that will match:
2872         :   *** WAITING Clean up the factory     :BOSS:
2873         :       :PROPERTIES:
2874         :       :ASSIGNED: Hans
2875         :       :END:
2877         You may also use a regular expression to match against a
2878         property value.  For example, to find stuff assigned to Hans
2879         or Sarah, use
2881         :   ASSIGNED={^\(Hans\|Sarah\)$}
2883     - Column View is a special way to look at property values in
2884       tabular form.  Column View can be used in any org-mode
2885       file, and also in any agenda buffer.  It works by placing
2886       an overlay over each headline (or agenda line) that shows a
2887       table of selected properties.  You can look at and edit
2888       properties from this view.  Which properties are shown in
2889       the table must be set up using the COLUMNS property.  You
2890       can set up different property columns on different levels
2891       of an outline tree.  For example:
2893       :   * People
2894       :     :PROPERTIES:
2895       :     :COLUMNS: %25ITEM %Name
2896       :     :END:
2897       :   ** Family
2898       :      :PROPERTIES:
2899       :      :COLUMNS: %25ITEM %Name %3Age
2900       :      :END:
2901       :   *** Sam
2902       :       Info about Sam, including a property list with Name and Age.
2903       :   *** Sarah
2904       :       Info about Sarah, including a property list with Name and Age.
2905       :   ** Office
2906       :      :PROPERTIES:
2907       :      :COLUMNS: %25ITEM %Name %Function %Salary
2908       :      :END:
2909       :   *** Boss
2910       :       Info about the Boss, including a property list with Name,
2911       :       Function and Salary (if only we knew....).
2913       Now we have defined three different sets of columns.  If
2914       you switch to column view in the /Family/ section, you
2915       will get a different table than if you do it in the
2916       /Office/ section.  However, if you switch to column
2917       view with the cursor on the /People/ section, the
2918       table will cover all entries, but contain only the
2919       /Name/.
2921       Column view does, for the time being, only work on Emacs.
2922       The XEmacs implementation needs a bit of work.
2924     - Properties can be used in table formulas.  To access the
2925       value of the property :XYZ:, use $PROP_XYZ.  The property
2926       needs to be defined in the hierarchy above the table, not
2927       necessarily in the same entry as the table.  This was a
2928       request by Eddward.  File-wide constants can be defined with
2929       #+CONSTANTS, see below.
2931     - Things that still need to be sorted out about drawers,
2932       properties and column view - comments and suggestions
2933       welcome!
2935       + How to deal with drawers and properties in HTML and ASCII
2936         export?
2937       + What key could be used to insert an empty property drawer
2938         into an entry?
2939       + Right now column view is invoked through the command C-c
2940         C-x C-c.  It is too easy to type C-x C-c by mistake, and
2941         that causes Emacs to quit.  Suggestions for a different
2942         key?
2943       + Fontification of drawers and properties is not good yet.
2944         Any suggestions for better defaults?
2945       + Mouse support for editing properties in column view would
2946         be nice - maybe Piotr is interested to add this to
2947         org-mouse.el?
2949 *** Spreadsheet
2951     - In the spreadsheet, the evaluation of formulas has changed.
2952       Previously, first the column formulas would be evaluated
2953       everywhere, and then the field formulas would kick in, and
2954       in some cases overwrite the results of column formulas in
2955       the appropriate fields.  This had the side effect that some
2956       formulas might always use the wrong, intermediate content of
2957       a field that is computed both by a column and a field
2958       formula.
2960       From now on, column formulas will no longer temporarily
2961       overwrite field formulas.  This gives much more consistent
2962       results.  For example you can now finally have a column of
2963       increasing numbers by setting the first field to a fixed
2964       number, and let the rest follow from a column formula.
2966       Here is an example
2968       :   | 1 |
2969       :   | 2 |
2970       :   | 3 |
2971       :   #+TBLFM: $1=@-1+1::@1$1=1
2973     - Constants for formulas in spreadsheets are globally defined
2974       with the variable `org-table-formula-constants'.  File-local
2975       constants can now be set with a line like:
2977       :   #+CONSTANTS: c=299792458.  pi=3.14  eps=2.4e-6
2979 *** Minor changes
2981     - When entries are archived, a timestamp for the moment of
2982       archiving is added to the line with planning information.
2983       It looks like this:
2985       : ARCHIVED: [2007-07-02 Mon 11:34]
2987       Thanks to J. David Boyd for constructive comments.
2989     - Bug fixes
2991       Many bugs are fixed, as usually all the ones where I replied
2992       "fixed" on emacs-orgmode.  If you reported one of these
2993       bugs, please check if it really has disappeared in the new
2994       version, and complain if not.  Thanks!
2997 * Version 4.79
2999 ** Details
3001    - We are back to a single file org.el that works both on Emacs
3002      and on XEmacs.  Merging comes at a speed penalty for you as
3003      an XEmacs user, but *only if you do not compile* org.el.
3004      Compilation completely removes the penalty.
3006    - New L flag for literal interpolation in Lisp formulas.
3007      See manual section 3.5.3.
3009    - New options for turning off footnotes.
3010      This was a request from Ignotus.
3011      See the option `org-export-with-footnotes'.
3013    - Default length for Agenda entries, but this is off by
3014      default.  This was a request from Micheal.
3015      See the option `org-agenda-default-appointment-duration'.
3017    - Bug fixes:
3019      + org-agenda-date-later (Juraj Kubelka)
3020      + letters off margin in orgcard.ps (Charles Cave)
3021      + TODO export problems on XEmacs (ignotus@freemail.hu)
3022      + args-out-of-range with table formulas (Cecil Westerhof)
3023      + problem with org-file without a heading (Tim O'Callaghan)
3025 * Version 4.78
3027 ** Overview
3029    - Time stamps with a time range *included*, like
3030      : <2007-06-18 Mon 17:33-18:23>
3032    - Clock times without clocking in/out: CLOCK: => 2:00
3034    - Language-specific characters allowed in TAGS (Emacs only).
3036    - Promotion and demotion of items gets the indentation right.
3038    - Indenting lines with TAB is more intelligent.
3040 ** Incompatible changes
3042    - There is now a special version of `org.el' for XEmacs.
3043      Before installation, as an XEmacs user you must rename the
3044      file org_xemacs.el to org.el, i.e. you must overwrite org.el
3045      with the xemacs version.  For example:
3047      : mv org_xemacs.el org.el
3049      This is necessary so that I can make use of some features
3050      that would be cumbersome to support in a single file.  The
3051      XEmacs version is derived from the Emacs version with a
3052      program, so no reason to fear that I might be dropping
3053      XEmacs support any time soon.  Sorry for the trouble.
3055 ** Details
3057    - A time stamp may now contain a range of times.  So you no
3058      longer need to use two separate stamps to indicate a time
3059      interval on a single day.  For example
3061      : <2007-06-18 Mon 17:30-18:20>
3063      This is now fully supported, including changing the time
3064      with S-up/down while the cursor is on the end time.  Also,
3065      da the date/time prompt, you can simply write your time like
3066      12:00-14:00 and the range will be inserted.
3068      This was proposed by Leo some time ago, and recently by
3069      Michael.
3071    - You may specify clocking times by hand (i.e. without
3072      clocking in and out) using this syntax.
3074      : CLOCK: => 2:00
3076      Thanks to Scott Jaderholm for this proposal.
3078    - TAGS may now contain language-specific word characters, as
3079      long as they are matched by the "[:alnum:]" regexp syntax.
3080      This is for Emacs only, the XEmacs version continues to use
3081      the character class "a-zA-Z0-9_@" for tag names.  Thanks to
3082      David Smith for a patch to this effect (a modified version
3083      of that patch was applied).  I am considering to make the
3084      same change for TODO keywords, but not yet.  Note that files
3085      using localization features may not work correctly in the
3086      Emacs configuration of another user, so if you are sharing
3087      org-mode files with other users, it might still be best to
3088      stick to the ASCII characters.
3090    - Promotion and demotion of plain list items (commands M-left,
3091      M-right) no longer changes the indentation by just one
3092      space.  Instead, it uses intelligence gathered from the
3093      surrounding list structure to do the right thing.  Thanks to
3094      William Henney for starting the discussion about this.
3096    - TAB does now a better job of indenting lines.
3098      + After tables and code segments (lines starting with ":"),
3099        indentation goes back to what it was before (thanks to
3100        William Henney for suggesting this behavior).
3102      + When plain lists items are involved, we had a long
3103        discussion on emacs-orgmode where I tried to show that a
3104        too-sophisticated implementation will still be easily
3105        fooled.   Here is what I have implemented now - lets see
3106        if we can agree on this:
3108        Indentation will flatten lists with the same bullet type,
3109        but indent another bullet type further.  The time when
3110        this fails is in a nested list, when you want to get back
3111        out to a previous level.  For example
3113        : - item 1
3114        : - item 2
3115        : + item 2a
3116        : + item 2b
3117        : - item 3
3119        When using TAB on every line in this list, the structure
3120        will change to
3122        : - item 1
3123        : - item 2
3124        :   + item 2a
3125        :   + item 2b
3126        :     - item 3
3128        So you need to change the level of the last line by hand,
3129        using promotion and demotion functions.
3131 * Version 4.77
3133 ** Overview
3135    - Vertical lines in exported tables.
3136    - New default for `org-show-following-heading'.
3138 ** Incompatible changes
3140    - The default for `org-show-following-heading' is now nil.
3142 ** Details
3144    - You can now specify column groups in tables, to the effect
3145      that the groups will be separated by vertical lines in HTML
3146      and ASCII output.  Column groups are specified by the
3147      characters "<" and ">" in a special table row.  "<" starts a
3148      group, ">" ends a group (in each case including the the
3149      column where the character is specified).  You may also use
3150      "<>" to make a group a single column wide.  For example:
3152 : |   |  N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) |
3153 : |---+----+-----+-----+-----+---------+------------|
3154 : | / | <> |   < |     |   > |       < |          > |
3155 : | # |  1 |   1 |   1 |   1 |       1 |          1 |
3156 : | # |  2 |   4 |   8 |  16 |  1.4142 |     1.1892 |
3157 : | # |  3 |   9 |  27 |  81 |  1.7321 |     1.3161 |
3158 : #+TBLFM: $3=$2^2::$4=$2^3::$5=$2^4::$6=sqrt($2)::$7=sqrt(sqrt(($2))
3160      A table row with with nothing but "/" in the first field is
3161      never exported, but can be used to place column group
3162      information into the table.  In this table, we create a
3163      group for column 2, one for columns 3-5 and one for columns
3164      6-7.  HTML export will render a vertical line between these
3165      groups.
3167      Because HTML does not require closing <colgroup> tags with
3168      </colgroup>), you can also simply start a new column
3169      wherever you want a vertical line:
3171 : | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N0 |
3172 : |---+-----+-----+-----+---------+------------|
3173 : | / | <   | <   |     | <       |            |
3175    - Vertical lines are now also omitted in ASCII export, unless
3176      grouping explicitly requests these lines.
3178    - The default for `org-show-following-heading' is now nil,
3179      meaning that sparse trees will be more compact.  This has
3180      become possible due to in important remark by Jason Dunsmore
3181      who pointed out that TAB should behave differently in the
3182      inconsistent trees produced by the sparse tree commands.
3183      TAB does now make sure that the heading after a freshly
3184      unfolded tree is made visible at all, removing the confusing
3185      behavior we had before.
3187    - Several bugs fixed.  In particular:
3189      + Strings produced by agenda batch processing with
3190        `org-batch-agenda' and `org-batch-agenda-csv' are now
3191        properly encoded, so that you should be able to use
3192        special characters in other languages as along as your
3193        post-processing program handles them correctly.  At least
3194        for Emacs this should work now, but have not yet figured
3195        out how to do this in XEmacs.
3197 * Version 4.76
3199 ** Overview
3201    - Exporting Footnotes to HTML
3203 ** Details
3205    - Footnotes like[1] are now exported to HTML
3207         [1]This is a footnote
3209      Thanks to Scott Jaderholm for this proposal and a detailed
3210      HTML example on how the exported text should look like.
3212    - Special version of the reference card, for letter paper.
3214    - Switching to OVERVIEW with S-TAB no loner moves the cursor,
3215      so after three `S-TAB' commands, you will be back where you
3216      started.
3218    - Bug fixes, lots of them again.
3220 * Version 4.75
3222 ** Overview
3224    - Cyclic time stamps that repeat after an interval.
3225    - Special timestamps for appointments like "every 2nd Thursday
3226      in a month".
3227    - Completion of link abbreviation prefixes inside `C-c C-l'.
3228    - Replacing a region of org-mode syntax with HTML.
3229    - iCalendar export now honors ARCHIVE etc.
3230    - New command to add/change emphasis markers.
3232 ** Incompatible Changes
3234    - The REPEAT(...) cookie is no longer supported, the repeater
3235      interval now goes directly into the time stamp.
3237 ** Details
3239    - Time stamps can contain a repeater code, like +1w for once
3240      every week, +2d for every two days, etc.  For example,
3242           <2007-05-16 Wed 12:30 +1w>
3244      will apply to every Wednesday, starting from the date given.
3245      I believe this syntax was actually suggested by someone on
3246      the mailing list, but I cannot find the email back.  To
3247      collect your credit, let me know!
3249    - You can use an sexp diary entry (with the syntax used by the
3250      Emacs calendar/diary) in a time stamp, like this:
3252        *** The nerd club meets on 2nd Thursday of every month
3253            <%%(diary-float t 4 2)>
3255    - You can put diary-style sexp entries directly into an
3256      org-mode file, where they will be interpreted just like they
3257      would in the diary.  For example
3259        * Birthdays and similar stuff
3260        #+CATEGORY: Holiday
3261        %%(org-calendar-holiday) ; special function for holiday names
3262        #+CATEGORY: Ann
3263        %%(diary-anniversary 14  5 1956) Artur Dent %d is years old
3264        %%(diary-anniversary  2 10 1869) Mahatma Gandhi
3266      These entries must start at column 0 to be evaluated.
3268      It turns out that evaluating the entries in an org-mode file
3269      is actually faster than in the diary itself, because using
3270      the diary has some overhead (creating fancy diary display,
3271      then reading and re-interpreting the entries).  I have moved
3272      all the sexp entries from my diary into an org-mode file,
3273      put in a few categories, and then turned off
3274      `org-agenda-include-diary'.  This has led to a noticeably
3275      faster agenda display.
3277    - New command `org-replace-region-by-html' that converts the
3278      current region from org-mode syntax into HTML.  For example,
3279      you might write an itemized list in plain text in an HTML
3280      buffer, and then invoke this command to convert it.  Thanks
3281      to Raman for this idea.
3283    - When inserting a link with `C-c C-l', completion will now
3284      fill in all valid link prefixes, like http or ftp, but also
3285      link abbreviation prefixes.  This is based on an idea by
3286      Bastien.
3288    - Highest, lowest, and default priority can be set on a
3289      per-file basis with #+PRIORITIES: H L D
3290      For example, to use priorities from 1 to 9, you could use
3292        #+PRIORITIES: 1 9 9
3294      Thanks to Dmitri Minaev for a patch to this effect.
3296    - iCalendar export now honors (i.e. skips) subtrees marked as
3297      ARCHIVE, COMMENT, or QUOTE.
3299    - There is a new command to add or change the emphasis (like
3300      bold or italic) of a piece of text.  For lack of better
3301      available keys the command is at `C-c C-x C-f', but you may
3302      well want to choose a more convenient key like `C-c f' in
3303      your private setup:
3305      (add-hook 'org-load-hook
3306       (lambda () (define-key org-mode-map "\C-cf" 'org-emphasize)))
3308      The command will prompt for an emphasis type, and you may
3309      reply either with the marker that triggers the emphasis, or
3310      with the first letter of the corresponding HTML tag.  For
3311      example, to select italic, press either "/" or "i".
3313      If there is an active region, the emphasis of this region
3314      will be set or changed.  If there is no region, only the
3315      emphasis markers will be inserted and the cursor positioned
3316      between them.  Thanks to Bastien for proposing this feature.
3318    - Bug fixes, everything where I have replied "fixed" on the
3319      mailing list.  Thanks to all of you for keeping these reports
3320      coming.
3322 * Version 4.74
3324 ** Overview
3326    This release is about exporting agenda views, to HTML, to
3327    postscript for printing, and to a special format (CSV) for
3328    further processing in scripts.
3330 ** Incompatible Changes
3332    - The variable `org-agenda-remove-tags-when-in-prefix' has
3333      been renamed to `org-agenda-remove-tags'.
3335 ** Details
3337    - Agenda views can be exported as plain text, as HTML, and as
3338      Postscript(R).  This can simply be done from the agenda
3339      buffer with `C-x C-w' and then specifying a filename like
3340      `myagenda.html' or `myagenda.ps'.  See section 8.6.4 of the
3341      manual.
3343    - Each custom agenda view can specify a list of associated
3344      files names.  The command `C-c a e' then creates all views
3345      that have associated file names and exports the views to
3346      these files.  This is great for producing paper versions of
3347      your views, to take with you when you don't have your
3348      computer.  The manual has an example on how to do this, and
3349      in particular on how to customize the format of the printed
3350      version.  See section 8.6.4 of the manual.
3352    - You can produce a CSV format of agenda information with an
3353      Emacs batch command.  This is greate for further processing
3354      in scipts.  Thanks to Jason F. McBrayer for this idea.
3355      See section 8.6.5 of the manual.
3357    - New variable `org-agenda-skip-deadline-if-done'.  When set,
3358      a deadline associated with a DONE item will not be shown in
3359      the agenda.  This is based upon a report by Denis Bueno.
3361    - Quite a few bug fixes.
3363 * Version 4.73
3365   Minor bug fixes.
3367 * Version 4.72
3369 ** Overview
3371    - Control over blank lines between trees in collapsed view.
3373    - Info about the running clock is shown in the modeline.
3375    - C-a can behave specially in headlines.
3377    - Better color and scaling defaults for LaTeX fragments.
3379    - Customizable list of keys in org-mode to be replaced.
3381    - Stuck project descriptions have been extended.
3383    - Emphasis code has been modified to fix some issues.
3385    - Bug fixes.
3387 ** Incompatible changes
3389    - The option `org-format-latex-options' has changed.  If you
3390      have customized it, please revert to default and then redo
3391      your customization.
3393    - `org-CUA-compatible' no longer modifies S-RET by default,
3394      because newer versions of CUA don't use this key anymore.
3395      If you need this replacement, customize the variable
3396      `org-disputed-keys'.
3398    - The variable `org-CUA-compatible' is obsolete, please use
3399      `org-replace-disputed-keys' instead.  `org-CUA-compatible'
3400      is still an alias for this new variable, though.
3402 ** Details
3404    - Better control over blank lines between trees in collapsed
3405      view.  This has come up several times in the past and most
3406      recently by Scott Jaderholm.  There is now a new variable
3407      `org-cycle-separator-lines' with default value 2.  It says
3408      how many empty lines there need to be after the end of a
3409      subtree to get an empty line in collapsed view.  So with the
3410      default, if you leave only one empty line it will disappear
3411      in collapsed view.  If you leave two, one empty line will
3412      remain so that you can use double empty lines to structure
3413      the collapsed views of a file.  I love it, so many thanks to
3414      Scott fro bringing this up again.
3416      One property of the new setup is that you will never get
3417      more than one blank line in collapsed view.  We could do
3418      something special to allow *several* empty lines in
3419      collapsed view, but I think this is counter-productive.
3421      In Emacs 22, if you want to make full use of this, make sure
3422      that you have not set `outline-blank-line'.
3424    - When the clock is running, Org-mode will put info about it
3425      into the modeline.  The info consists of the elapsed time
3426      and the heading of the clocked item.  This was a proposal
3427      from Bastien who got the idea from Muse.
3429    - C-a can behave specially in headlines when you set the
3430      variable `org-special-ctrl-a'.  It will bring the cursor
3431      first back only to the beginning of the headline *text*,
3432      i.e. after the stars and the TODO keyword, if any.  A second
3433      C-a will then move the cursor to the beginning of the line.
3434      If the cursor is already at the beginning of the line, C-a
3435      will spring *forward* to the headline text.  This was a
3436      proposal from Leo, based on a request from Scott Jaderholm.
3438      I have not turned this turned this on by default, should I?
3440    - When LaTeX fragments are processed into images, there is now
3441      more control and (hopefully) betters defaults for colors and
3442      scaling.  Special values can be set for HTML export, so that
3443      these values can differ from what is used for display in an
3444      emacs buffer.  The default foreground and background colors
3445      for images embedded in emacs are now taken from the default
3446      emacs face.  Thanks to Xiao-Yong Jin for proposing these
3447      changes.
3449    - There is now a much better mechanism to change some keys in
3450      org-mode if these keys clash with other modes you use.  Turn
3451      this on by setting `org-replace-disputed-keys' (aliased to
3452      `org-CUA-compatible').  The list of keys to replace is now
3453      fully customizable, see the option `org-disputed-keys'.
3454      Many thanks to Meciej Katafiasz for a patch implementing
3455      this.
3457    - Stuck project descriptions have been extended.  You can now
3458      use "*" as a TODO keyword or tag to say that *any* TODO
3459      keyword or TAG marks a project as non-stuck.  You also can
3460      give an arbitrary regular expression that, if it matches,
3461      indicates a non-stuck project.
3463    - The code for emphasis like bold, italic etc has been
3464      modified - I might have broken something in the process,
3465      please let me know if you find problems.
3467    - A number of bugs have been fixed - those where I have
3468      replied "Fixed" on the mailing list.
3470 * Version 4.71
3472 ** Overview
3474 ** Incompatible changes
3476 ** Details
3478   - New variables to customize the header and data tags in
3479     exported HTML.  These are the variables
3480     `org-export-table-header-tags' and
3481     `org-export-table-data-tags'.  This follows a request from
3482     Scott Otterson.
3484   - New option `org-format-latex-header' for customizing the
3485     header of the LaTeX file used to convert embedded LaTeX to
3486     images.  Thanks to `Matthieu Lemerre' for the suggestion.
3488   - The prefix version of `org-todo-list' works again.  This
3489     means that `C-1 C-c a t' produces the list of TODO entries
3490     for the first TODO keyword.  If you use different TODO setups
3491     in different agenda files, be careful:  This number now
3492     refers to the list of *all* todo keywords used in files
3493     that are scanned for the agenda.
3495   - Many bug fixes.
3497 * Version 4.70
3499 ** Overview
3501    - Dust settles after revamp of TODO keyword system.
3502    - The export title can be taken from the first text line.
3503    - TTY replacement keys have changed.
3505 ** Incompatible changes
3507    - Some TTY replacement keys are changed, see below.
3509 ** Details
3511   - Further development concerning TODO keywords.
3513     + You can now have several DONE states in a sequence, like
3515       #+SEQ_TODO: TODO VERIFY | DONE DELEGATED
3517       The difference to the proposal discussed on the mailing
3518       list (and which is also works!)
3520         #+SEQ_TODO: TODO VERIFY | DONE
3521         #+SEQ_TODO: | CANCELED
3523       is that in the first case, the extra DONE states will be
3524       reached with `C-c C-t' (or with `t' from the agenda), while
3525       in the second case you need S-<right> to get to the special
3526       states.  I guess both ideas can be useful - I am leaning
3527       toward using the latter.
3529     + Setting up TODO keywords in Lisp previously used two
3530       separate variables: `org-todo-keywords' and
3531       `org-todo-interpretation'.  The preferred way is now to use
3532       only `org-todo-keywords', with a new structure:
3534        (setq org-todo-keywords
3535          '((sequence "TODO" "|" "DONE")
3536            (sequence "BUG" "KNOWNCAUSE" "|" "FIXED" "IGNORED")
3537            (type "Fred" "Lisa" "Peter" "|" "DONE")
3538            (sequence "CANCELED")    ; for things we decide to not do.
3539            ))
3541       If your setting has this new structure,
3542       `org-todo-interpretation' will be ignored.  This change
3543       does not break backward compatibility.  The old way of
3544       using a flat list in `org-todo-keywords' and taking the
3545       interpretation from the other variable still works.
3547     + When listing *specific* TODO entries via a sparse tree
3548       (`C-u C-c C-v') or via the agenda (`C-c a T' or `C-u C-c a
3549       t'), you can now specify several keywords to be selected,
3550       like "TODO|VERIFY|WAITING".  This also works for custom
3551       agenda commands.  Thanks to Jason F. McBrayer for pointing
3552       out this omission.
3554   - If you have configured Org-mode to export also the text
3555     before the first headline (this is done by setting the
3556     variable `org-export-skip-text-before-1st-heading' to nil),
3557     then the first normal text line in the buffer becomes the
3558     title of the exported document.  A title set with #+TITLE
3559     overules this default, and the first line then belongs to the
3560     normal text.  Thanks to David House for this proposal.
3562   - TTY replacement keys.  Some of the key bindings used by
3563     Org-mode do not work on a tty, so replacement key sequences
3564     are provided on ttys.  In version 4.70, there are some
3565     changes in the tty replacements.  Thanks to Jason F. McBrayer
3566     for coming up with the idea to use C-c <cursor> keys.
3568     | Command           |           | Old TTY       | New TTY       |
3569     | org-.....         | Main Key  | Replacement   | Replacement   |
3570     |-------------------+-----------+---------------+---------------|
3571     | shiftleft         | S-left    | C-c C-x left  | C-c left      |
3572     | shiftright        | S-right   | C-c C-x right | C-c right     |
3573     | shiftup           | S-up      | C-c C-x up    | C-c up        |
3574     | shiftdown         | S-down    | C-c C-x down  | C-c down      |
3575     | shiftcontrolleft  | C-S-left  |               | C-c C-x left  |
3576     | shiftcontrolright | C-s-right |               | C-c C-x right |
3579 * Version 4.69
3581 ** Overview
3583    This time the changes affect the following areas:
3585    - TODO keywords:  Multiple sequences in a single file.
3586    - Export: More control over text before the first heading.
3587    - Export: More control over sub/superscript interpretation.
3588    - Plain lists:  Option to let empty lines terminate lists.
3589    - Tables: New command to insert hline and move into line below.
3590    - REPEATing items:  Turn of note taking.
3591    - Bug fixes.
3593 ** Incompatible changes
3595    - It used to be possible to spread the list of TODO keywords
3596      over several lines, like
3598      #+SEQ_TODO: TODO
3599      #+SEQ_TODO: PROGRESS
3600      #+SEQ_TODO: DONE
3602      This is no longer possible.  Each such line now specifies an
3603      independent set of TODO keywords, with its own DONE state.
3604      See below for details.
3606    - The #+TEXT construct has been used to insert unchanged HTML
3607      into an exported file.  This is no longer possible, the TEXT
3608      lines will be processed like any other lines.  However,
3609      there are now much better ways of getting quoted HTML into
3610      the exported file.
3612 ** Details
3614    - You can now use multiple sets of TODO keywords in the same
3615      buffer.  For example, you may put the following three lines
3616      into a file:
3618        #+SEQ_TODO: TODO DONE
3619        #+SEQ_TODO: REPORT BUG KNOWNCAUSE RESOLVED
3620        #+TYP_TODO: Fred Laura Peter Me OK
3622      Each sub-sequence has its own DONE state.  It is best to use
3623      different keywords in all sequences, to make sure Org-mode
3624      does not loose track in which specific sequence it is
3625      working.  You could use the same word for all DONE states,
3626      but then cycling through to a TODO state might not bring you
3627      where you want to be.
3629      After initially setting a keyword, `C-c C-t' cycles through
3630      a sublist, i.e. is cycles from TODO to DONE or from
3631      KNOWNCAUSE to RESOLVED and further to (nothing) and back to
3632      REPORT.
3634      S-right and S-left allow to select any keyword, so they move
3635      from DONE to REPORT and from RESOLVED to Fred.
3637      C-S-right and C-S-left jump from one sub-sequence to the
3638      next, for example from TODO or DONE to REPORT to Fred.
3640      Thanks to Rick Moynihan for triggering this development.
3642    - Text before the first headline can now be exported if you
3643      configure Org-mode accordingly.  Either set the variable
3644      `org-export-skip-text-before-1st-heading' to nil, or use the
3645      new in-buffer option
3647      #+OPTION: skip:nil
3649    - Export content specified via the #+TEXT construct is now
3650      fully processed, i.e. links, emphasis etc. are all
3651      interpreted.  #+TEXT lines may include
3652      #+BEGIN_HTML...#+END_HTML sections to embed literal HTML.
3654    - During HTML export, you can request to have a_{b}
3655      interpreted as a subscript, but to leave a_b as it is.  This
3656      can be done by setting the variable
3657      org-export-sub-superscript to the symbol `{}' with
3659           (setq org-export-sub-superscript '{})
3661      or by using
3663            #+OPTIONS: ^:{}
3665      Thanks to Eddward DeVilla for this idea.
3667    - New variable `org-empty-line-terminates-plain-lists'.
3668      Default is nil, meaning that empty lines are part of the
3669      previous list item, and that you can have several paragraphs
3670      in one such item.  Set this to t if you want an empty line
3671      terminate all levels of plain list items.
3673      Thanks to Mike Newman for triggering this development.
3675    - C-c RET does insert a horizontal separator line and move the
3676      cursor into the table line below it.  Thanks to Bastien for
3677      this proposal.
3679    - Org-mode always offers you to record a note when a TODO item
3680      automatically repeats, even if you are not logging state
3681      changes.  The new variable `org-log-repeat' allows to turn
3682      this off, so that notes are really only been taken if you
3683      are logging all state changes.
3685    - Various Bug fixes, thanks to everyone who reported.
3687 * Version 4.68
3689 ** Overview
3690    - Priority handling in the tags view
3691    - Date/time prompt follows the popup calender, and accepts AM/PM times.
3692    - Standard references like B4 in the spreadsheet.
3693    - Improvements to the formula editor.
3694    - C-j does better indentation.
3695    - Bug fixes
3697 ** Details
3698    - Priority handling in the tags view
3700      + Agenda lists selected by tag are now sorted by priority.
3701        Thanks to Andrew Korty for reporting this omission.
3703    - Improvements to the date/time prompt.
3705      + When you move (using S-cursor keys) the cursor in the pop-up
3706        calendar window while responding to a date/time prompt, the
3707        prompt is updated with the new default date (Emacs only).
3709      + You can now enter AM/PM times at this prompt.
3711    - Changes in the spreadsheet
3713      + You can now also write B4 instead of @4$2 as a reference in
3714        formulas.  The column references without specified row can be
3715        written as C& instead of $3.  Such references make formulas
3716        easier to read and are now the default way how references are
3717        shown when you edit existing formulas.  To get the old behavior
3718        back (i.e. only @row$col references), set the variable
3719        `org-table-use-standard-references' to nil.
3721        Relative references like @-3$-2 or @II..III continue to use the
3722        internal format.
3724    - Changes in the formula editor (the one you get with "C-c '")
3726      + The formulas are organized in a more logical way.
3728      + There is now a menu with commands.
3730      + When starting the formula editor with "C-c '", the cursor
3731        immediately moves to the formula for the current field.
3733      + With the cursor on a reference in the formula, you can use
3734        S-cursor keys to change the field being referenced.
3736    - C-j indents the following line correctly whe used in a headline
3737      or in aplain list item.  Thanks to Leo for this suggestion.
3739    - Bug fixes
3741      + Flyspell now knows about special org-mode commands.
3742        Thanks to Vinod Valsalam for reporting this problem, and to
3743        Andrew Korty for showing how to fix it.
3745      + Most other bugs discussed recently on emacs-orgmode@gnu.org
3746        should be fixed, except the problem with non-ASCII characters
3747        in tags....
3749 * Version 4.67
3751    - Expert mode for fast tag selection.
3752      When org-fast-tag-selection-single-key is `expert', not even
3753      the selection window is shown, only the prompt.  One more C-c
3754      gets you the window, another one goes to multiple selection mode.
3756    - Synchronized with Emacs once more:  Emacs CVS has now org-mode
3757      4.67.  At least until it causes a problem, then the Emacs people
3758      will switch back to 4.56.  Lets hope there will be no problem.
3760    - Code cleanup
3762    - Bug fixes
3764 * Version 4.66
3766 ** Overview
3768    - Sorting of top-level entries works now if the region contains
3769      top-level entries, or if the cursor is before the first headline.
3770      Thanks to "redblue" for reporting this bug.
3772    - When entering date and time at the prompt, you can now mix
3773      entering text and selecting something in the calendar.  For
3774      example, enter 22:15 at the prompt without pressing RET, and then
3775      click on a date in the calendar.  Both pieces of information will
3776      be included in the resulting time stamp.  You can also use
3777      S-curser to move the cursor in the calendar to the desired date
3778      and then enter 22:15 and press RET at the prompt.
3780    - When setting a deadline or a schedule, entering a time now
3781      automatically selects the time stamp format that includes the
3782      time. Bug report (by means of a question) from Bastre.
3784    - C-c C-l can be used to convert a plain link into a bracket link.
3786    - Internal links now match inside (the visible part of) other
3787      links.  Thanks to Scott Otterson for reporting this bug.
3789    - iCalendar export of TODO items fixed, see also the variable
3790      `org-icalendar-include-todo'.  Thanks to Philipp Raschdorf.
3792    - The number of levels in the table of contents of an exported
3793      document can now be set independently of the number of headline
3794      levels.  For example:
3796         #+OPTIONS: H:4 toc:2
3798    - The command `C-c }' toggles the display of row and column numbers
3799      the the current table, to aid constructing formulas.  To try it,
3800      move the cursor to a table and press `C-c }', or use the menu
3801      entry.
3803    - Orgtbl translation functions (introduced in 4.65) have been
3804      simplified using a generic function `orgtbl-to-generic' that can
3805      be used for very general languanges.  Writing your own translator
3806      should be very easy now.  More info in the manual.
3808    - CONTENTS visibility can be limited to a certain level.  The
3809      command `C-3 S-TAB' will switch to CONTENTS view and show the
3810      first 3 levels.
3812    - Bug fixes.
3814 * Version 4.65
3816 ** Overview
3818    - Orgtbl can be used to maintain tables in LaTeX, and in any other mode
3819    - Editing Lisp formulas for tables improved.
3820    - Better structure for HTML exported tables.
3821    - New "calculation" marker "/" to mark lines that should not be exported.
3823 ** Detailed description of changes
3825    - You can use orgtbl mode to maintain a LaTeX table, or pretty much
3826      any table in any mode.
3828      This does *not* work by making Orgtbl aware of LaTeX syntax.  That
3829      would be a box of Pandora I am not willing to open.  Instead, you
3830      use a normal Orgtbl-mode table, and a converter program to
3831      automatically place a LaTeX version of the table into the correct
3832      spot in the LaTeX file.  The orgtbl-mode table can be maintained
3833      inside the same file, in a block comment.
3835      I am providing translators for LaTeX, HTML, and TeXInfo.  For
3836      other applications, you need to write one yourself - but that is
3837      not hard if you start from the LaTeX version and just modify it.
3838      Thanks to Thomas Baumann for triggering this development through
3839      a request for a table-to-LaTeX converter.
3841    - In the special buffer to edit the formulas of a table (created
3842      with "C-c '"), there is now better support for editing Lisp
3843      formulas.  TAB and M-TAB work like in an Emacs Lisp buffer,
3844      indenting lines and completing lisp symbols.  With the cursor on
3845      a line defining a complex Lisp formula, a first press on TAB will
3846      convert the formula into a pretty-printed version with proper
3847      linebreaks and indentation.  A second TAB folds the line back to
3848      the compact form.
3850    - Tables in HTML export have now additional structure elements
3851      defined.  The header (before the first hline) is wrapped into
3852      <thead>..</thead>, and each part of the body (as separated in
3853      org-mode by hlines) is wrapped into <tbody>..</tbody> tags.  I
3854      have also changed the CSS style for <td> fields and the value of
3855      `org-export-html-table-tag' to get cleaner tables. Basically,
3856      tables now have horizontal lines only where needed, and no
3857      vertical lines at all, as generally recommended for tables in
3858      printed text.  I like the new look, but I am not sure if this
3859      change will find general approval, please throw in your view if
3860      you like.  Thanks to Scott for driving this, and to goud-H for
3861      pointing me to the row grouping in tables.
3863    - In a table with calculation markers in the first column, you can
3864      now also put "/" into the first column.  It indicates that this
3865      line should not be exported.  The foremost application for this
3866      are lines containing only "<N>" markers for narrowing columns.
3868 * Version 4.64
3870 ** Overview
3872    - Email links get better, configurable descriptions
3873    - When inserting a link, selected text becomes the description
3874    - Easier access to the list of stored links.
3875    - Horizontal lines in HTML export.
3876    - Remember templates and storing of notes improved.
3878 ** Detailed description of changes
3880    - The descriptive part of links to email messages can be configured
3881      using the variable `org-email-link-description-format'.  The new
3882      default is "Email %c: %.30s" and leads to
3884         Email from NAME: SUBJECT
3886      If you configure the variable `org-from-is-user-regexp'
3887      correctly, then for email you *sent* this will actually change to
3889         Email to NAME: SUBJECT
3891      The subject is limited to 30 characters.  If you have become
3892      attached to the previous default (look twice, the new one is
3893      better), use "%f on: %s" as your format.
3895    - Selecting text before entering a new link with C-c C-l now really
3896      works, the selected text becomes the description part of the
3897      link.  Requested by Scott, buggy 4.62 implementation is now fixed.
3899    - Stored links are part of the history list for C-c C-l, so to
3900      reach them, you can use up/down rather than completion.  Thanks
3901      to Raman for this excellent idea.
3903    - A line consisting only of "-", and at least 5 of them, is
3904      exported into HTML as <hr/>, as proposed by Giovanni Ridolfi.
3906    - Several changes to org <-> remember integration
3908        - You can use `org-remember' as your default command to start
3909          remember.  It will automatically detect if there is an active
3910          region and use it as initial content (we will probably make
3911          remember.el work like this as well).
3912          Also, when calling `org-remember' in a remember buffer that
3913          was created with a template, you will again be asked to
3914          select a template.  The buffer is then re-created with the
3915          new template, but the old context information.  This is
3916          useful if you change your mind about the template to use
3917          (Leo's idea).
3919        - Besides specifying a default *target* file for a note, you
3920          can also give a default *heading* of which the note should
3921          become a subitem.  In many cases this avoids or speeds up
3922          navigating to the right location.  Both file and heading can
3923          be different for each template.  Both are non-binding, you
3924          can change them while storing the note.  However, when you
3925          exit remember with C-u C-c C-c, these defaults will be used
3926          without interaction.
3928        - Templates can specify interactive fields.  During expansion
3929          of the template, you will be prompted for the information in
3930          that field.  For example %^t will pop up a calendar and ask
3931          you to select a date. This new feature follows a proposal
3932          from Leo, who in the mean time has said he does not need it
3933          anymore.  But I liked it, so here it is :-)
3935        - Templates can access information specific to the link type
3936          created, for example the author and subject of an email.
3937          Syntax is %:fromname, %:fromaddress, %:subject etc, details
3938          in the manual.  Proposed by Peder O. Klingenberg.
3940        - I have been considering to move, at some stage, the template
3941          functionality into remember.el itself - which would of course
3942          require consent of the remember.el maintainers.  I am not
3943          sure how well this would work though, since some things like
3944          the interactive time stamps are org.el specific, so treating
3945          them would require special hooks.  Comments?
3947 * Version 4.63
3948    - Bug fixes
3950 * Version 4.62
3951    - Many changes to the spreadsheet functions in the table editor.
3952      For details, please re-read the manual section 3.4.
3953      + New Features
3954        - It is much easier to assign formulas to individual fields.
3955        - References to arbitrary fields and ranges.
3956        - Absolute references are modified in row-editing commands.
3957        - Formula editor that highlights referenced fields.
3958      + Incompatible changes
3959        - Empty fields are excluded in range references, see "E" mode flag.
3960        - &... ranges no longer supported, use new @... ranges.
3961        - Variable insertion into Lisp formulas work differently.
3962    - Selected text becomes the default description for C-c C-l links.(Scott)
3963    - The date format in the agenda/timeline views is now customizable.
3964      See the new option `org-agenda-date-format'. (request by Victor)
3965    - Link abbreviations no longer need a double colon, single colon is fine.
3966    - Bug fixes.
3968 * Version 4.61
3969    - Avoiding keybinding clashes with flyspell
3970      - Archiving is now also on `C-C C-x C-s' (was just `C-c $')
3971      - Cycling through agenda files is now also on "C-'" (was just "C-,")
3972    - Colon is considered part of number, to align times in clock tables.
3973    - Fixed bug for list of stuck projects.
3974    - Fixed several bugs/problems concerning linking to gnus.
3975    - Block agendas can contain the list of stuck projects.
3976    - #+ARCHIVE may now appear several times in the buffer.
3977    - More bug fixes.
3979 * Version 4.60
3980    - HTML export: inlining images, clickable images (manual 10.2.4).
3981    - Incremental search now shows proper context when exiting.
3982    - Tables calculation and Calc package.
3983      - Calc is no longer needed when using only elisp formulas.
3984      - Proper error messages when calc is needed and not available.
3985    - Tracking TODO state changes with time stamps and notes.
3986    - Empty entries go full circle.
3987    - Links in iCalendar export cleaned up.
3988    - Bug fixes.
3991 * Version 4.59
3992    - Cleanup code, bug fixes.
3994 * Version 4.58
3995    - Full undo support in the agenda buffer.
3996    - Listing stuck GTD projects (projects without any NEXT ACTIONS).
3997      Configure `org-stuck-projects' before using it.
3998    - C-c C-x b shows the current subtree in an indirect buffer, in
3999      another, dedicated frame.
4000    - Custom agenda commands take precedence over builtin commands.
4001    - auto-fill for comments works on the Emacs side, XEmacs not yet.
4003 * Version 4.57
4004    - Sorting of outline items on same level.
4005    - Sorting tables automatically selects line range between hlines.
4006    - Changes in Agenda buffer
4007      - `C-c C-o' follows a link in the current line.
4008      - `C-c $' archives the subtree corresponding to the line.
4009      - Changing dates with S-left and S-right show new date in agenda,
4010        but still do not move the entry to the new date.
4011      - new option `org-agenda-skip-scheduled-if-done'.
4012    - Agenda and sparse tree construction using tag matches can now
4013      use regular expressions.
4014    - When prompted for a date/time, entering "+7" indicates a date
4015      7 days from now - but only this is the only thing you give.
4016    - Custom time formats also apply to exported html and ascii.
4017    - Bug fixes.
4019 * Version 4.56
4020    - `C-k' in agenda kills current line and corresponding subtree in file.
4021    - XEmacs compatibility issues fixed, in particular tag alignment.
4022    - M-left/right now in/outdents plain list items, no Shift needed.
4023    - Bug fixes.
4025 * Version 4.55
4026    - Bug fixes.
4028 * Version 4.54
4029    - Improvements to fast tag selection
4030      + show status also in target line.
4031      + option to auto-exit after first change to tags list (see manual).
4032    - Tags sparse trees now also respect the settings in
4033      `org-show-hierarchy-above' and `org-show-following-heading'.
4034    - Bug fixes.
4036 * Version 4.53
4037    - Custom time formats can be overlayed over time stamps.
4038    - New option `org-agenda-todo-ignore-deadlines'.
4039    - Work-around for flyspell bug (CVS Emacs has this fixed in flyspell.el).
4040    - Work-around for session.el problem with circular data structures.
4041    - Bug fixes.
4043 * Version 4.52
4044    - TAG matches can also specify conditions on TODO keywords.
4045    - The fast tag interface allows setting tags that are not in the
4046      predefined list.
4047    - Bug fixes.
4049 * Version 4.51
4050    - Link abbreviations (manual section 4.5).
4051    - More control over how agenda is displayed.  See the new variables
4052      `org-agenda-window-setup', `org-agenda-restore-windows-after-quit'.
4053    - Bug fixes.
4055 * Version 4.50
4056    - Closing a TODO item can record an additional note.
4057      See variables `org-log-done' and `org-log-note-headings'.
4058    - Inserting headlines and bullets can leave an extra blank line.
4059      See variable `org-blank-before-new-entry'. (Ed Hirgelt patch)
4060    - [[bracket links]] in the agenda are active just as in org-mode buffers.
4061    - C-c C-o on a date range displays the agenda for exactly this range.
4062    - The default for `org-cycle-include-plain-lists' is back to nil.
4063    - Calls to `org-occur' can be stacked by using a prefix argument.
4064    - The options `org-show-hierarchy-above' and `org-show-following-heading'
4065      now always default to `t', but can be customized differently for
4066      different types of sparse trees or jump commands.
4067    - Bug fixes.
4070 * Version 4.49
4071    - Agenda views can be made in batch mode from the command line.
4072    - `org-store-link' does the right thing in dired-mode.
4073    - File links can contain environment variables.
4074    - Full Emacs 21 compatibility has been restored.
4075    - Bug fixes.
4077 * Version 4.47
4078    - Custom commands may produce an agenda which contains several blocks,
4079      each block created by a different agenda command.
4080    - Agenda commands can be restricted to the current file, region, subtree.
4081    - The timeline command must now be called through the agenda
4082      dispatcher (C-c a L).  `C-c C-r' no longer works.
4083    - Agenda items can be sorted by tag.  The *last* tag is used for this.
4084    - The prefix and the sorting strategy for agenda items can depend
4085      upon the agenda type.
4086    - The handling of `mailto:' links can be customized, see the new
4087      variable `org-link-mailto-program'.
4088    - `mailto' links can specify a subject after a double colon,
4089      like [[mailto:carsten@orgmode.org::Org-mode is buggy]].
4090    - In the #+STARTUP line, M-TAB completes valid keywords.
4091    - In the #+TAGS: line, M-TAB after ":" inserts all currently used tags.
4092    - Again full Emacs 21 support:  Checkboxes and publishing are fixed.
4093    - More minor bug fixes.
4095 * Version 4.45
4096    - Checkbox lists can show statistics about checked items.
4097    - C-TAB will cycle the visibility of archived subtrees.
4098    - Documentation about checkboxes has been moved to chapter 5.
4099    - Bux fixes.
4101 * Version 4.44
4102    - Clock table can be done for a limited time interval.
4103    - Obsolete support for the old outline mode has been removed.
4104    - Bug fixes and code cleaning.
4106 * Version 4.43
4107    - Bug fixes
4108    - `s' key in the agenda saves all org-mode buffers.
4110 * Version 4.41
4111    - Shift-curser keys can modify inactive time stamps (inactive time
4112      stamps are the ones in [...] brackets.
4113    - Toggle all checkboxes in a region/below a headline.
4114    - Bug fixes.
4116 * Version 4.40
4117    - Bug fixes.
4120 * Version 4.39
4121    - Special tag ARCHIVE keeps a subtree closed and away from agenda lists.
4122    - LaTeX code in Org-mode files can be converted to images for HTML.
4123    - Bug fixes.
4124    - CDLaTeX-mode features can be used in Org-mode to help inserting
4125      LaTeX environment and math.
4127 * Version 4.38
4128    - noutline.el is now required (important for XEmacs users only).
4129    - Dynamic blocks.
4130    - Archiving of all level 1 trees without open TODO items.
4131    - Clock reports can be inserted into the file in a special section.
4132    - FAQ removed from the manual, now only on the web.
4133    - Bug fixes.
4135 * Version 4.37
4136    - Clock-feature for measuring time spent on specific items.
4137    - Improved emphasizing allows configuration and stacking.
4139 * Version 4.36
4140    - Improved indentation of ASCII export, when headlines become items.
4141    - Handling of 12am and 12pm fixed.  Times beyond 24:00 can be used
4142      and will not lead to conflicts.
4143    - Support for mutually exclusive TAGS with the fast tags interface.
4144    - Bug fixes.
4146 * Version 4.35
4147    - HTML export is now valid XHTML.
4148    - Timeline can also show dates without entries.  See new option
4149      `org-timeline-show-empty-dates'.
4150    - The bullets created by the ASCII exporter can now be configured.
4151      See the new option `org-export-ascii-bullets'.
4152    - New face `org-upcoming-deadline' (was `org-scheduled-previously').
4153    - New function `org-context' to allow testing for local context.
4155 * Version 4.34
4156    - Bug fixes.
4158 * Version 4.33
4159    - New commands to move through plain lists: S-up and S-down.
4160    - Bug fixes and documentation update.
4162 * Version 4.32
4163    - Fast (single-key-per-tag) interface for setting TAGS.
4164    - The list of legal tags can be configured globally and locally.
4165    - Elisp and Info links (thanks to Todd Neal).
4166    - `org-export-publishing-directory' can be an alist, with different
4167      directories for different export types.
4168    - All context-sensitive commands use `call-interactively' to dispatch.
4169    - `org-confirm-shell-links' renamed to `org-confirm-shell-link-function'.
4170    - Bug fixes.
4172 * Version 4.31
4173    - Bug fixes.
4175 * Version 4.30
4176    - Modified installation: Autoloads have been collected in org-install.el.
4177    - Logging (org-log-done) is now a #+STARTUP option.
4178    - Checkboxes in plain list items, following up on Frank Ruell's idea.
4179    - File links inserted with C-c C-l will use relative paths if the linked
4180      file is in the current directory or a subdirectory of it.
4181    - New variable `org-link-file-path-type' to specify preference for
4182      relative and absolute paths.
4183    - New CSS classes for tags, timestamps, timestamp keywords.
4184    - Bug and typo fixes.
4187 * Version 4.29
4188    - Inlining images in HTML export now depends on wheather the link
4189      contains a description or not.
4190    - TODO items can be scheduled from the global TODO list using C-c C-s.
4191    - TODO items already scheduled can be made to disappear from the global
4192      todo list, see `org-agenda-todo-ignore-scheduled'.
4193    - In Tables, formulas may also be Lisp forms.
4194    - Exporting the visible part of an outline with `C-c C-x v' works now
4195      for all available exporters.
4196    - Bug fixes, lots of them :-(
4198 * Version 4.28
4199    - Bug fixes.
4201 * Version 4.27
4202    - HTML exporter generalized to receive external options.
4203      As part of the process, author, email and date have been moved to the
4204      end of the HTML file.
4205    - Support for customizable file search in file links.
4206    - BibTeX database links as first application of the above.
4207    - New option `org-agenda-todo-list-sublevels' to turn off listing TODO
4208      entries that are sublevels of another TODO entry.
4210 * Version 4.26
4211    - Bug fixes.
4213 * Version 4.25
4214    - Revision of the font-lock faces section, with better tty support.
4215    - TODO keywords in Agenda buffer are fontified.
4216    - Export converts links between .org files to links between .html files.
4217    - Better support for bold/italic/underline emphasis.
4219 * Version 4.24
4220    - Bug fixes.
4222 * Version 4.23
4223    - Bug fixes.
4225 * Version 4.22
4226    - Bug fixes.
4227    - In agenda buffer, mouse-1 no longer follows link.
4228      See `org-agenda-mouse-1-follows-link' and `org-mouse-1-follows-link'.
4230 * Version 4.20
4231    - Links use now the [[link][description]] format by default.
4232      When inserting links, the user is prompted for a description.
4233    - If a link has a description, only the description is displayed
4234      the link part is hidden.  Use C-c C-l to edit the link part.
4235    - TAGS are now bold, but in the same color as the headline.
4236    - The width of a table column can be limited by using a field "<N>".
4237    - New structure for the customization tree.
4238    - Bug fixes.
4241 * Version 4.13
4242    - The list of agenda files can be maintainted in an external file.
4243    - Bug fixes.
4245 * Version 4.12
4246    - Templates for remember buffer.  Note that the remember setup changes.
4247      To set up templates, see `org-remember-templates'.
4248    - The time in new time stamps can be rounded, see new option
4249      `org-time-stamp-rounding-minutes'.
4250    - Bug fixes (there are *always* more bugs).
4252 [...]
4254 Version 4.00
4255    - Headlines can contain TAGS, and Org-mode can produced a list
4256      of matching headlines based on a TAG search expression.
4257    - `org-agenda' has now become a dispatcher that will produce the agenda
4258      and other views on org-mode data with an additional keypress.
4261 * Version 3.24
4262    - Switching and item to DONE records a time stamp when the variable
4263      `org-log-done' is turned on.  Default is off.
4265 * Version 3.23
4266    - M-RET makes new items as well as new headings.
4267    - Various small bug fixes
4269 * Version 3.22
4270    - CamelCase words link to other locations in the same file.
4271    - File links accept search options, to link to specific locations.
4272    - Plain list items can be folded with `org-cycle'.  See new option
4273      `org-cycle-include-plain-lists'.
4274    - Sparse trees for specific TODO keywords through numeric prefix
4275      argument to `C-c C-v'.
4276    - Global TODO list, also for specific keywords.
4277    - Matches in sparse trees are highlighted (highlights disappear with
4278      next buffer change due to editing).
4280 * Version 3.21
4281    - Improved CSS support for the HTML export.  Thanks to Christian Egli.
4282    - Editing support for hand-formatted lists
4283      - M-S-cursor keys handle plain list items
4284      - C-c C-c renumbers ordered plain lists
4286 * Version 3.20
4287    - There is finally an option to make TAB jump over horizontal lines
4288      in tables instead of creating a new line before that line.
4289      The option is `org-table-tab-jumps-over-hlines', default nil.
4290    - New command for sorting tables, on `C-c ^'.
4291    - Changes to the HTML exporter
4292      - hand-formatted lists are exported correctly, similar to
4293        markdown lists.  Nested lists are possible.  See the docstring
4294        of the variable `org-export-plain-list-max-depth'.
4295      - cleaned up to produce valid HTML 4.0 (transitional).
4296      - support for cascading style sheets.
4297    - New command to cycle through all agenda files, on C-,
4298    - C-c [ can now also be used to change the sequence of agenda files.
4301 * Version 3.19
4302    - Bug fixes
4304 * Version 3.18
4305    - Export of calendar information in the standard iCalendar format.
4306    - Some bug fixes.
4308 * Version 3.17
4309    - HTML export specifies character set depending on coding-system.
4311 * Version 3.16
4312    - In tables, directly after the field motion commands like TAB and RET,
4313      typing a character will blank the field.  Can be turned off with
4314      variable `org-table-auto-blank-field'.
4315    - Inactive timestamps with `C-c !'.  These do not trigger the agenda
4316      and are not linked to the calendar.
4317    - Additional key bindings to allow Org-mode to function on a tty emacs.
4318    - `C-c C-h' prefix key replaced by `C-c C-x', and `C-c C-x C-h' replaced
4319      by `C-c C-x b' (b=Browser).  This was necessary to recover the
4320      standard meaning of C-h after a prefix key (show prefix bindings).
4322 * Version 3.15
4323    - QUOTE keyword at the beginning of an entry causes fixed-width export
4324      of unmodified entry text. `C-c :' toggles this keyword.
4325    - New face `org-special-keyword' which is used for COMMENT, QUOTE,
4326      DEADLINE and SCHEDULED, and priority cookies.  Default is only a weak
4327      color, to reduce the amount of aggressive color in the buffer.
4329 * Version 3.14
4330    - Formulas for individual fields in table.
4331    - Automatic recalculation in calculating tables.
4332    - Named fields and columns in tables.
4333    - Fixed bug with calling `org-archive' several times in a row.
4335 * Version 3.13
4336    - Efficiency improvements:  Fewer table re-alignments needed.
4337    - New special lines in tables, for defining names for individual cells.
4339 * Version 3.12
4340    - Tables can store formulas (one per column) and compute fields.
4341      Not quite like a full spreadsheet, but very powerful.
4342    - table.el keybinding is now `C-c ~'.
4343    - Numeric argument to org-cycle does `show-subtree' above on level ARG.
4344    - Small changes to keys in agenda buffer.  Affected keys:
4345      [w] weekly view; [d] daily view; [D] toggle diary inclusion.
4346    - Bug fixes.
4348 * Version 3.11
4349    - Links inserted with C-c C-l are now by default enclosed in angle
4350      brackets.  See the new variable `org-link-format'.
4351    - ">" terminates a link, this is a way to have several links in a line.
4352      Both "<" and ">" are no longer allowed as characters in a link.
4353    - Archiving of finished tasks.
4354    - C-<up>/<down> bindings removed, to allow access to paragraph commands.
4355    - Compatibility with CUA-mode (see variable `org-CUA-compatible').
4356    - Compatibility problems with viper-mode fixed.
4357    - Improved html export of tables.
4358    - Various clean-up changes.
4360 * Version 3.10
4361    - Using `define-derived-mode' to derive `org-mode' from `outline-mode'.
4364 * Version 3.09
4365    - Time-of-day specifications in agenda are extracted and placed
4366      into the prefix.  Timed entries can be placed into a time grid for
4367      day.
4369 * Version 3.08
4370    - "|" no longer allowed as part of a link, to allow links in tables.
4371    - The prefix of items in the agenda buffer can be configured.
4372    - Cleanup.
4374 * Version 3.07
4375    - Some folding inconsistencies removed.
4376    - BBDB links to company-only entries.
4377    - Bug fixes and global cleanup.
4379 * Version 3.06
4380    - M-S-RET inserts a new TODO heading.
4381    - New startup option `content'.
4382    - Better visual response when TODO items in agenda change status.
4383    - Window positioning after visibility state changes optimized and made
4384      configurable.  See `org-cycle-hook' and `org-occur-hook'.
4386 * Version 3.05
4387    - Agenda entries from the diary are linked to the diary file, so
4388      adding and editing diary entries can be done directly from the agenda.
4389    - Many calendar/diary commands available directly from agenda.
4390    - Field copying in tables with S-RET does increment.
4391    - C-c C-x C-v extracts the visible part of the buffer for printing.
4392    - Moving subtrees up and down preserves the whitespace at the tree end.
4394 * Version 3.04
4395    - Table editor optimized to need fewer realignments, and to keep
4396      table shape when typing in fields.
4397    - A new minor mode, orgtbl-mode, introduces the Org-mode table editor
4398      into arbitrary major modes.
4399    - Fixed bug with realignment in XEmacs.
4400    - Startup options can be set with special #+STARTUP line.
4401    - Heading following a match in org-occur can be suppressed.
4403 * Version 3.03
4404    - Copyright transfer to the FSF.
4405    - Effect of C-u and C-u C-u in org-timeline swapped.
4406    - Timeline now always contains today, and `.' jumps to it.
4407    - Table editor:
4408      - cut and paste of rectangular regions in tables
4409      - command to convert org-mode table to table.el table and back
4410      - command to treat several cells like a paragraph and fill it
4411      - command to convert a buffer region to a table
4412      - import/export tables as tab-separated files (exchange with Excel)
4413    - Agenda:
4414      - Sorting mechanism for agenda items rewritten from scratch.
4415      - Sorting fully configurable.
4416      - Entries specifying a time are sorted together.
4417    - Completion also covers option keywords after `#-'.
4418    - Bug fixes.
4420 * Version 3.01
4421    - New reference card, thanks to Philip Rooke for creating it.
4422    - Single file agenda renamed to "Timeline".  It no longer shows
4423      warnings about upcoming deadlines/overdue scheduled items.
4424      That functionality is now limited to the (multifile) agenda.
4425    - When reading a date, the calendar can be manipulated with keys.
4426    - Link support for RMAIL and Wanderlust (from planner.el, untested).
4427    - Minor bug fixes and documentation improvements.
4429 * Version 3.00
4430    - Multifile Agenda shows current entries from many different files.
4431    - TeXInfo documentation (thanks to Christian Egli for the conversion).
4432    - Additional applications for TODO keywords, see documentation.
4433      Different files may have different TODO keywords etc.
4434    - Priorities for TODO items.
4435    - The browser mode used by `org-remember-handler' is improved.
4436    - Images get inlined in HTML export (thanks to Carsten Wimmer).
4437    - File links can contain line numbers, like file:/usr/etc/config:255
4438    - Minor bug fixes.
4441 * Version 2.10
4442    - TODO entries can have additional states besides TODO and DONE.
4443      See new variable `org-todo-keywords'.
4444    - TODO keywords can be interpreted as categories.  See variable
4445      `org-todo-interpretation'.
4446    - M-TAB completion on TODO keywords, TeX symbols, and normal words.
4447    - All keywords (like TODO, DEADLINE etc) are configurable.
4448    - Cursor positioning optimized after pro/demotion and TODO cycling.
4449    - Emphasizing in HTML works now for *bold*, /italic/ and _underline_.
4450    - New commands to kill, copy and yank entire subtrees.  Yanking
4451      modifies the level of the tree before insertion.
4452    - New command `org-goto' (C-c C-j) to quickly move to other locations
4453      in the buffer without affecting outline visibility.
4454    - Hooks for John Wiegley's remember.el.
4455    - `org-read-date' pops up calendar for date selection with the mouse.
4456      See variable `org-popup-calendar-for-date-prompt'.
4458 * Version 2.6
4459    - TODO items can be SCHEDULED to a certain date.
4460    - Expired DEADLINEs are ignored if in an entry marked DONE.
4461    - From the diary or time-sorted view (C-c C-r), C-c C-t can be used to
4462      change the TODO state of an item remotely.
4463    - Horizontal computations in table editor. See `org-table-eval-formula'.
4464    - Fixed bug with summing tables (command `org-table-sum', `C-c +').
4465    - Calendar window follows the timestamp when a timestamp is changed.
4466      New variable `org-calendar-follow-timestamp-change'.
4467    - Time-sorted view (`org-diary-view', C-c C-r) now uses the prefix
4468      argument to force inclusion of unscheduled TODO items.
4469    - New variable `org-confirm-shell-links' to turn of safety query.
4470    - New variable `org-open-non-existing-files'.
4472 * Version 2.4
4473    - A time-sorted view on all time stamps can be created with C-c C-r.
4474    - Timestamps and Deadlines can be shown in the Emacs diary.
4475    - Date ranges introduced.
4476    - Time-string formats are no longer configurable.
4477    - Vertical lines in tables can be made invisible with `C-c |'.
4478    - New "link" type to execute shell commands, like "shell:ls *.org"
4479    - Upon export, "myfile.org" becomes "myfile.html" or "myfile.txt",
4480      instead of "myfile.org.html" or "myfile.org.txt".
4481    - When the cursor is in the white space at the beginning of a line,
4482      TAB removes the whitespace before indenting again.
4484 * Version 2.0
4485    - Windows (NT/2000) support.
4486    - Works with both Emacs and XEmacs.
4487    - Fully automatic table editor.
4488    - New link types into Gnus, VM and BBDB.
4489    - Other link system changes
4490      - Time stamps are treated as links to the calendar.
4491      - Easy creation of links with global command `org-store-link'.
4492      - Insertion of links with `C-c C-l' works differently now.
4493      - Space characters allowed as part of a link.
4494      - Options in `org-file-apps' extended.  The command may now be
4495        symbol 'emacs', or a lisp form.
4496    Please re-read the manual section about links.
4497    - Timestamp changes
4498      - `org-deadline' now prompts for a date.
4499      - A line can now contain several timestamps.  Updating of a
4500        timestamp only happens if the cursor is at the timestamp.
4501      - Changed the time-stamp-format to ISO, to make sure it will
4502        always work (non-English month names had caused problems
4503        with `parse-time-string'.).  Changing the time stamp format
4504        is not recommended.
4505    - Picture mode enhancements have been removed from org.el
4508 * Version 1.4
4509    - Some option name changes, not backward compatible.
4510    - ASCII exporter upgrade: Table of contents.
4511    - HTML exporter upgrade: fixed-width regions, better
4512      sub/superscripts, many TeX symbols supported.
4513    - Calendar support.
4515 * Version 1.3
4516    - HTML exporter upgrade, in particular table of contents
4520