Simplify storing links from gnus
[org-mode.git] / ORGWEBPAGE / Changes.org
blob7cfcd5953fa52dd66672e8379ec798dfddd337b3
1 #   -*- mode: org; fill-column: 65 -*-
3 #+begin_html
4 <a href="/"><img src="http://orgmode.org/img/org-mode-unicorn.png" class="logo-link" /></a>
5 #+end_html
7 #+STARTUP: indent hidestars
9 * Version 6.29
10  :PROPERTIES:
11  :VISIBILITY: content
12  :CUSTOM_ID: v6.29
13  :END:
15 ** Structure editing and cycling
17 *** New minor mode =org-indent-mode=
19 This mode implements outline indentation similar to clean view,
20 but in a dynamic and virtual way, at display time.  I have wanted
21 this functionality for years and tried several implementations,
22 all unworkable.  Emacs 23 has finally made it possible.  So this
23 solution is for Emacs 23 only, and I am not sure yet how stable
24 it really is.  Time will tell.
26 Currently I do not recommend to turn it on globally using
27 the variable =org-startup-indented=.  But you can turn it on
28 for a particular buffer using
30 #+begin_src org
31   ,#+STARTUP: indent
32 #+end_src
34 Turning on this minor mode automatically turns on
35 =org-hide-leading-stars=, and it turns off
36 =org-adapt-indentation=.
38 *** Skip CHILDREN state if there are no children
40 When a subtree does not have any children, visibility
41 cycling now skips the CHILDREN state.  You can customize
42 this behavior with the variable
43 =org-cycle-skip-children-state-if-no-children=.
45 *** Nodes without keyword can now be counted for statistics
47 See the variable =org-provide-todo-statistics= for details.
48 It can be the symbol =all-headings=, or a list of TODO
49 states to consider.
51 This was requested by David A. Gershman.
53 *** New function =org-list-make-subtree=
55 This function converts the plain list at point into a
56 subtree, preserving the list structure.  The key for this
57 command is =C-c C-*=.  Thanks to Ilya Shlyakhter for this
58 suggestion.
60 *** Headlines can be fontified to the right window border
62 Use the variable =org-fontify-whole-heading-line= to turn
63 this on.  Then headline fontification will include the final
64 newline.  If your setup for headline faces includes a
65 background different from the default background, this setup
66 creates a visual line across the window.
68 *** Inline tasks have become better citizens
70 The new key =C-c C-x t= inserts an inline task including an
71 END line.  Inline tasks play along with (i,e, are ignored
72 by) link creation and footnotes.  Inline tasks with an =END=
73 line can be refiled and archived.  During the refile/archive
74 operation, the tasks become normal tasks and the =END= line
75 disappears.
77 These improvements reflect reports and requests by Peter
78 Westlake and Matt Lundin.
80 *** Archive subtree and move to next visible task
82 When archiving a task, the cursor now ends up on the next
83 headline, so the repeated application of the archiving
84 command will archive successive tasks.
86 Thanks to Bernt Hansen for a patch to this effect.
88 *** Renumbering the fn:N-like footnotes
90 The new footnote action =r= will renumber simple =fn:N=
91 footnotes in the current document.  The action =S= will
92 first do the renumbering and then sort the footnotes (the
93 =s= action).
95 This was a request by Andreas Röhler.
97 *** Automatic sorting and renumbering
99 Customize the new variable =org-footnote-auto-adjust= or use
100 the =#+STARTUP= option =fnadjust= to get automatic
101 renumbering and sorting of footnotes after each
102 insertion/deletion.
104 This was a request by Andreas Röhler.
106 *** Improvements to plain-list-cycling with TAB.
108 TAB now by default cycles visibility in plain lists if the
109 cursor is at a plain list item.  This corresponds to the new
110 default value =t= of =org-cycle-include-plain-lists=.  If
111 you want to treat plain list items as part of the outline
112 hierarchy during cycling of outline headings (this is what a
113 =t= value used to mean), set this variable to =integrate=.
115 *** Force bullet type changes during plain list demotion
117 We now have a mechanism to force a particular bullet type
118 when demoting a plain list item.  See the variable
119 =org-list-demote-modify-bullet= for details.
121 This was a request by Rainer Stengele.
124 ** Tables
126 *** Relative row references may now cross hlines
128 A relative row reference like @-1 in a table may now reach
129 across a horizontal separator line.  I hope this will not
130 break any important tables out there, but I think it is the
131 right thing to do.
133 The sole original reason for not allowing such crossing was
134 to implement running averages of one column in the next.
135 This can now be done using field formulas near the beginning
136 and end of the column, and a column formula for the central
137 part.
139 See the variable =org-table-relative-ref-may-cross-hline=
140 for more details.
142 *** Cut or copy single fields
144 =C-c C-x C-w= and =C-c C-x M-w= now act on single table
145 fields if there is no active region defined.
147 ** Links
149 *** Find agenda files linking to the current location
151 The new command =org-occur-link-in-agenda-files= creates a
152 link like =org=store-link= would, and then searches all
153 agenda files for this link.  So for example, you could be in
154 a GNUS message, trying to find tasks that have links to this
155 message.
157 *** Include stored links into link completion
159 When inserting a link with =C-c C-l=, TAB completion will
160 now not only access link prefixes, but also the stored
161 links.
164 ** Agenda
166 *** Bulk commands: Add Schedule and Deadline processing
168 Agenda bulk commands on marked entries now can also set the
169 scheduling date or a deadline.  Normally, all entries will
170 be set to the specified date.  However, when writing the
171 change as "++5d" or "++2w", then each time stamp will
172 independently be shifted by that amount.
174 *** Tags-todo searches: No longer force to list sublevels
176 For historic reasons, =org-tags-match-list-sublevels= was
177 forced to =t= in tags-todo agenda searches.  Now we no
178 longer do this and accept the user setting of this variable.
180 Thanks to Patrick Bahr for bringing this up.
183 ** Export
185 *** Use file-source.org format instead of file.org-source
187 When publishing the source Org file to the source directory
188 (i.e. if the publishing directory is the same as the source
189 directory), then the file name will now look like
190 =file-source.org= and =file-source.org.html=.  Note that if you
191 do use this kind of setup, you probably want to specify
193 #+begin_src emacs-lisp
194 :exclude "-source\.org"
195 #+end_src
197 in your publishing project, to avoid that a new generation of
198 =-source= files is created each time you publish the project.
200 *** LaTeX export: Skip title command when there is no title
202 Using =#+TITLE:= without a value makes the LaTeX export
203 ignore the value of =org-export-latex-title-command=.
205 *** New option =org-export-html-footnote-format=
207 This defines the format for footnote references.  This
208 string must contain =%s= which will be replaced by the
209 footnote label.
211 *** More export options for source code examples
213 Allow whitespace in code references.  Allow the =-r= switch
214 to remove the references in the source code even when the
215 lines are not numbered: the labels can be explicit enough.
216 Note that =-r -k= is the same as no switch at all.
218 Thanks to Ulf Stegemann for bring this up.
220 *** LaTeX export: Allow more environment for low-level headings
222 The user can now define a non-standard environment or macro
223 to handle export of low-level headings to LaTeX.
225 For details, see the variable =org-export-latex-low-levels=.
227 *** LaTeX export: Add postscript file extensions for images
229 Some people process LaTeX files not directly to pdf, but go
230 through dvi and then to ps or pdf.  In that case, allowed
231 images are ps and eps files, not pdf and jpg.
233 This commit adds the two extensions, so that export using
234 that alternative path can be supported better.  However, it
235 is up to the user to make sure that the images are actually
236 compatible with the backend.
238 *** HTML export: Show UP and HOME links
240 =org-export-html-link-up= and =org-export-html-link-home=
241 are now also inserted into normal HTML export, above the
242 page title.
244 *** General mechanism for local variable settings
246 Many different people want to set many different variables
247 in a buffer-local way for export.  This cannot be done with
248 file variables, because the Org buffer is not current while
249 the exporter is running.
251 Lots of variables can be set with the =#+OPTIONS= lines, but
252 finding abbreviations goes only so far.
254 Therefore we have now a general mechanism that can be used
255 to bind variables during export operations.
257 A line like:
259 #+begin_src org
260   ,#+BIND: variable value
261 #+end_src
263 will bind the variable to value.  For example, the line
265 #+begin_src org
266   ,#+OPTIONS: toc:nil
267 #+end_src
269 can now equivalently be written as
271 #+begin_src org
272   ,#+BIND: org-export-with-toc nil
273 #+end_src
275 *** Clean out publishing timestamp directory
277 When changing the publishing setup, old timestamp files can
278 be left behind.  Forcing publishing of all projects with
279 =C-u C-c C-e E= will remove all existing timestamp files.
281 ** Miscellaneous
283 *** Calendar for reading a date forced into current frame.
285 Separate-frame setup for calendar had caused problems in
286 AquaEmacs.
288 *** Set timers for headlines
290 You can now set a timer related to any headline, like an
291 alarm clock.  Three new commands have been defined:
293 - org-timer-set-timer :: bound to =C-c C-x ;= in Org buffers
294   and to =;= in Org agenda buffers.  This function sets a
295   timer for the headline the cursor is currently it.  Up to
296   three timers can be used at any time.
298 - org-timer-show-remaining-time :: Show the remaining time
299   for the last timer set.
301 - org-timer-cancel-timers :: Cancel all timers.
303 This functionality was requested by Samuel Wales and
304 emulates that of /tea-time.el/ -- see the emacswiki doc at
306       http://www.emacswiki.org/emacs/tea-time
308 *** Clock reports may include a time stamp
310 Using =:timetamp t= as an option in a clock report now
311 allows insertion of the timestamp for the clocked entry.
312 Timestamps are searched for in this order: =SCHEDULING=,
313 =TIMESTAMP=, =DEADLINE= and =TIMESTAMP_IA=.
315 *** New option =org-id-uuid-program=
317 On some systems, =uuidgen= is named =uuid=.
319 *** Clock notification handler made configurable
321 See the variable =org-show-notification-handler=.
323 *** New option =org-tags-sort-function=.
325 This allows tags to be sorted by =string<=, =string>=, or a
326 custom function.
328 Thanks to James TD Smith for a patch to this effect.
330 *** Improvements for org-feed.el
332 But fixes, and allowing to choose between =wget= and =curl=.
334 Thanks to Christopher League for a patch to this effect.
337 * Version 6.28
338  :PROPERTIES:
339  :CUSTOM_ID: v6.28
340  :END:
343 ** Agenda changes
344 *** Refiling now works from the agenda
346 The command =C-c C-w= can be executed to refile an entry shown in
347 the agenda.  After the command, the entry will no longer be shown
348 in the agenda.  It it is still in an agenda file, refresh the
349 agenda to bring it up from it's new context.
351 *** Bulk action
353 You can now use the =m= key to mark entries in the agenda.  =u=
354 will unmark the etry at point, and =U= will unmark everything.
355 When one or more entries have been selected, the =B= key will
356 execute an action on all selected entries.  I believe this bulk
357 action makes mainly sense for the commands that require answering
358 interactive prompts.  So far the supported actions are
360  - Refile all selected entries to a single destination
361  - Archive all selected entries
362  - Set the TODO state of all selected entries, bypassing any
363    blocking or note-taking.
364  - Add or remove a tag to/from all selected entries
366 We can add more actions, if you convince me they make sense.
368 *** Modified keys
370 To make room for the new Bulk action commands, some keys in the
371 agenda buffer had to move:
373 There is a new command bound to the =v= key, it dispatches
374 various view mode changes.  Month and year view are now only
375 available as =v m= and =v y=, respectively.  Turning on
376 inclusion of archive trees and files (unsed to be on =v=) is
377 now on =v a= and =v A=.
379 ** Improvements related to =#+begin= blocks
381 *** Indented blocks
383 =#+begin_ ... +#end_...= blocks may now be indented along
384 with the structure of your document.  So the =#+= lines no
385 longer need to start in column 0, these lines can be, along
386 with the block contents, indented arbitrarily.  Org supports
387 this during editing with "C-c '", and now finally treats them
388 consistently during export across all backends.  This makes
389 these blocks work much better with plain list structure
390 editing, and it also looks better if you like to indent text
391 under outline headings.  For example:
393 #+begin_src org
394   ,*** This is some headline
395   ,    #+begin_example
396   ,    here we have an example
397   ,    #+end_example
398   ,
399   ,    - a plain list
400   ,      - a sublist item
401   ,        - a second sublist item
403   ,          #+begin_center
404   ,           centering within the plain list item
405   ,          #+end_center
407   ,      #+begin_example
408   ,       This example does terminate the sublist,
409   ,       the indentation of the #+begin line counts.
410   ,      #+end_example
412   ,    - but the top level plain lists continues here
413 #+end_src
415 From now on, the indentation of such a block decides whether
416 it is part of a plain list item or if it is actually
417 terminating the list.  This was so far inconsistent between
418 editing behavior and export, now it is consistent.
420 The content of the block, i.e. the text between the #+ lines
421 gets an extra indentation of two space characters, which I
422 find visually pleasing.  You can change the amount of extra
423 indentation using the variable
424 =org-src-content-indentation=.
426 This was a pretty complex change, achieved in many small
427 steps over the last couple of weeks.  It cleans up one of the
428 more annoying inconsistencies in Org.  I hope it will work,
429 but I am sure you will let me know if not.
431 *** Indented tables
433 Also tables can be fully indented now.  What is new here is
434 that the =#+TBLFM= line, and also things like =#+caption=,
435 =#+label=, =#+attr_...= etc can be indented along with the
436 table.  Again, this makes the look of the document better and
437 allows for proper plain list structure editing.
439 *** Protected blocks
441 Some =#+begin_ ... +#end_...= blocks contain text that should not
442 be processed like normal Org-mode text.  =example= and =src=
443 block fall into this class, and so do =ditaa= blocks, for
444 example.  The content in such blocks is now properly fontified in
445 a single face (called =org-block=).  This was a frequently
446 requested feature.  The list of blocks that should be protected
447 from normal Org-mode fontification is defined in the variable
448 =org-protecting-blocks=.  Modules defining new blocks should add
449 to this variable when needed.  =org-exp-blocks.el= does this
450 already.
452 *** Hide and show the contents of blocks
454 Blocks can now be folded and unfolded with =TAB=.  If you
455 want to have all blocks folded on startup, customize
456 =org-hide-block-startup= or use the =#+STARTUP= options
457 =hideblocks= or =showblocks= to overrule this variable on a
458 per-file basis.
460 Thanks to Eric Schulte for a patch to this effect.
462 *** Moved Eric Schulte's org-exp-blocks.el into the core
464 This seems to be getting a lot of use now, so it is now part of
465 the core and loaded automatically.  This package can now also be
466 used to define new blocks.  Customize the variable
467 =org-export-blocks= or use the function
468 =org-export-blocks-add-block=.
471 ** New and updated contributed modules
472 *** org-export-generic.el is now a contributed package.
474 This new module allows users to export an Org page to any type of
475 output by constructing the output using a list of prefixes,
476 format specifications and suffixes for the various types of org
477 data (headlines, paragraphs, list bullets, etc).  Use the
478 =org-set-generic-type= function to define your own export types
479 and have them bound to a key (use an upper-case letter for user
480 export definitions).
482 Thanks to Wes Hardaker for this contribution with a lot of
483 potential.
484 *** New contributed modules org-mac-iCal.el by Christopher Suckling
486 See the [[http://orgmode.org/worg/org-contrib/org-mac-iCal.php][documentation on Worg]].
488 *** org-jira.el: New file, by Jonathan Arkell
490 Links to Jira tickets.
492 *** org-R.el: Updated.
494 /org-R.el/ has been updated, thanks to Dan Davison for this.
496 *** =[ TABLE-OF-CONTENTS]= is now also used for LaTeX export
498 This cookie will mark the location of the =\tableofcontents=
499 macro.  Triggered by a report by Yuva.
502 ** Changes to the clocking system
503 *** New option `org-clock-out-switch-to-state'.
505 Clocking out can now switch the task to a particular state.
507 This was a request by Manish.
509 *** More control about what time is shown in mode line while clocking
511 - If you have an =Effort= property defined, its value is also
512   shown in the mode line, and you can configure =org-clock-sound=
513   to get an alert when your planned time for a particular item is
514   over.
516 - When an entry has been clocked earlier, the time shown in the
517   mode line while the item is being clocked is now the sum of all
518   previous, and the current clock.
520 - The exception to the previous rule are repeating entries: There
521   the clock time will only be clocking instances recorded since
522   the last time the entry when through a repeat event.  The time
523   of that event is now recorded in the =LAST_REPEAT= property
525 - You can use the property CLOCK_MODELINE_TOTAL to get
526   control over what times are displayed in the mode line, see
527   the manual for more information.
529 - The new command =C-c C-x C-e= can be used to change the Effort
530   estimate and therefore to change the moment when the clock sound
531   will go off.
533 - The clock string in the modeline now has a special font,
534   =org-mode-line-clock=.  This was a proposal by Samuel Wales.
536 - Clicking on the mode line display of the clock now offers a
537   menu with important clock functions like clocking out, or
538   switching the clock to a different task.
540 Thanks to Konstantin Antipin for part of the implementation, and
541 thanks to Bernt Hansen for helping to iron out the issues related
542 to repeated tasks.
545 ** Miscellaneous changes
547 *** Allow to specify the alignment in table columns by hand
549 Similar to the =<20>= cookies that allow to specify a maximum
550 width for a table column, you can now also specify the alignment
551 in order to overrule the automatic alignment choice based on the
552 dominance of number or non-number fields in a column.  The
553 corresponding cookies are =<l>= and =<r>= for left and right side
554 alignment, respectively.  These can be combined with maximum
555 width specification like this: =<r15>=.
557 This was a proposal by Michael Brand.
559 *** Stop logging and blocking when selecting a TODO state
561 Sometimes you want to quickly select or change a TODO state of an
562 item, without being bothered by your setup for blocking state
563 changes and logging entries.  So in this case, you don't want the
564 change be seen as a true state change.
566 You can now set the variable
567 =org-treat-S-cursor-todo-selection-as-state-change= to nil.
568 Then, when you use =S-left= and =S-right= to quickly flip through
569 states, blocking and logging will be temporarily disabled.
571 *** Export BBDB anniversaries to iCalendar
573 See the variable `org-icalendar-include-bbdb-anniversaries'.
575 This was a request by Richard Riley, thanks to Thomas Baumann
576 for the prompt implementation.
578 *** Macro definitions can be collected in an #+SETUPFILE
580 If you want to use many macros in different files, collect the
581 =#+macro= lines into a file and link to them with
583 : #+SETUPFILE: path/to-file
585 *** Subtree cloning now also shifts inactive dates
587 When using the command =org-clone-subtree-with-time-shift=, time
588 stamps will be shifted for each clone.  So far, this applied only
589 to active timestamps, but now it does apply to inactive
590 ones as well.
592 *** HTML table export: Assign alternating classes to rows
594 The new variable =org-export-table-row-tags= can now be set up in
595 a way so that different table lines get special CSS classes
596 assigned.  This can be used for example to choose different
597 background colors for odd and even lines, respectively.  The
598 docstring of the variable contains this example:
600 #+begin_src emacs-lisp
601   (setq org-export-table-row-tags
602         (cons '(if head
603                "<tr>"
604              (if (= (mod nline 2) 1)
605                  "<tr class=\"tr-odd\">"
606                "<tr class=\"tr-even\">"))
607           "</tr>"))
608 #+end_src
610 It makes use of the local variables =head= and =nline= which are
611 used to check whether the current line is a header line, and whether
612 it is an odd or an even line.  Since this is fully programmable,
613 you can do other things as well.
615 This was a request by Xin Shi.
617 *** Remember: target headline may be a function
619 When setting up remember templates, the target headline may now
620 be a function, similarly to what is allowed for the target file.
621 The functions needs to return the headline that should be used.
623 *** Remove flyspell overlays in places where they are not wanted
625 We now keep flyspell from highlighting non-words in links.
627 *** Update targets in the Makefile
629 Some new targets in the default Makefile make it easier to update
630 through git to the latest version: =update= and =up2=.  Here are
631 the definitions.
633 #+begin_src BSDmakefile
634 update:
635         git pull
636         ${MAKE} clean
637         ${MAKE} all
639 up2:    update
640         sudo ${MAKE} install
641 #+end_src
643 This was a request by Konstantin Antipin.
645 * Version 6.27
646   :PROPERTIES:
647   :CUSTOM_ID: v6.27
648   :END:
650 ** Details
652 *** Macros for export
654 Macro processing for export has been enhanced:
656 - You can use arguments in a macro, for example
657 #+begin_src org
658 #+macro hello Greet the $1: Hello $1
659 #+end_src
660   which would turn ={{{hello(world)}}}= into =Greet the world: Hello world=
662 - The macro value can be an emacs-lisp for to be evaluated at the
663   time of export:
665 #+begin_src org
666 ,#+macro: datetime (eval (format-time-string "$1"))
667 #+end_src
669 - More built-in default macros:
670   - date(FORMAT_TIME_STRING) :: Time/Date of export
671   - time(FORMAT_TIME_STRING) :: Same as date
672   - modification-time(FORMAT_TIME_STRING) :: Last modification of file
673   - input-file :: Name of the input file
675   The new built-in macros have been requested by Daniel Clemente.
677 *** Link completion for files and bbdb names
679 Org now has a general mechanism how modules can provide enhanced
680 support (for example through completion) when adding a link.  For
681 example, when inserting a link with =C-c C-l=, you can now type
682 =file:= followed by =RET= to get completion support for inserting
683 a file.  After entering =bbdb:= and =RET=, a completion interface
684 will allow to complete names in the BBDB database.  These are the
685 only ones implemented right now, but modules that add a link type
686 =xyz:= can simple define =org-xyz-complete-link= that should
687 return the full link with prefix after aiding the used to create
688 the link.  For example, if you have =http= links that you have to
689 insert very often, you could define a function
690 =org-http-complete-link= to help selecting the most common ones.
692 *** Source file publishing
694 It is now easy to publish the Org sources along with, for
695 example, HTML files.  In your publishing project, replace
697 : :publishing-function org-publish-org-to-html
699 with
701 :  :publishing-function (org-publish-org-to-html org-publish-org-to-org)
702 :  :plain-source t
703 :  :htmlized-source t
705 to get both the plain org file and an htmlized version that
706 looks like your editing buffer published along with the HTML
707 exported version.
709 *** Push exported stuff to kill ring
711 All exporters now push the produced material onto the kill-ring
712 in Emacs, and also to the external clipboard and the primary
713 selection to make it easy to paste this under many circumstances.
715 *** Tables in LaTeX without centering
716 Set the variable `org-export-latex-tables-centered' to nil if you
717 prefer tables not to be horizontally centered.  Note that
718 longtable tables are always centered.
720 *** LaTeX export: TODO markup configurable
722 The markup for TODO keywords in LaTeX export is now configurable
723 using the variable =org-export-latex-todo-keyword-markup=.
725 *** ASCII export to buffer
727 ASCII export has now the same command variations as the other
728 export backends, for example exporting to a temporary buffer
729 instead of a file.
731 The was a request by Samuel Wales.
733 *** Accessibility improvements for HTTP tables
735 When exporting tables to HTML, Org now adds =scope= attributes to
736 all header fields, in order to support screen readers.
737 Setting the variable
738 =org-export-html-table-use-header-tags-for-first-column= will
739 request using =<th>= instead of =<td>= also in the entire first
740 column, so that also row information can be scoped.  This was
741 triggered by a request by Jan Buchal, and as usually Sebastian
742 Rose came up with the right implementation.
744 *** Timezone information in iCalendar files
746 The timezone information in iCalendar files is now written in the
747 correct format, and can be set in the variable
748 =org-ical-timezone=.  This variable is initialized from the =TZ=
749 environment variable.
751 *** New contributed package /org-special-blocks.el/
753 The package turns any "undefined" =#+begin_...= blocks into LaTeX
754 environments for LaTeX export, and into =<div>= tags for HTML
755 export.
757 Thanks to Chris Gray for this contribution.
759 *** More flexibility about placing logging notes.
761 Logging into a drawer can now also be set for individual
762 subtrees using the =LOG_INTO_DRAWER= property.
764 Requested by Daniel J. Sinder
766 *** New reload key
768 Reloading Org has moved to a new key, =C-c C-x !=, and is now
769 also available in the agenda.
771 *** Start Agenda with log mode active
772 Set the new option =org-agenda-start-with-log-mode= to have
773 log mode turned on from the start.  Or set this option for
774 specific custom commands.
776 Thanks to Benjamin Andresen for a patch to this effect.
778 *** Agenda speed optimizations
780 Depending on circumstances, construction the agenda has become a
781 lot faster.
783 Triggered by Eric S Fraga's reports about using Org on a slow
784 computer like a netbook.
786 *** New face for today in agenda
788 The date that is today can now be highlighted in the agenda by
789 customizing the face =org-agenda-date-today=.
791 Thanks to Dmitri Minaev for a patch to this effect.
793 *** Properties to disambiguate statistics
795 When an entry has both check boxes and TODO children, it is not
796 clear what kind of statistics a cookie should show  You can now use
797 the =COOKIE_DATA= property to disambiguate, by giving it a value
798 "todo" or "checkbox".
800 Thanks to Ulf Stegeman, who was persistent enough to push this
801 change past my initial resistance.
803 *** Checkboxes and TODO items: recursive statistics
805 Setting the variable =org-hierarchical-checkbox-statistics= to
806 =nil= will make statistics cookies count all checkboxes in the
807 lit hierarchy below it.
809 Setting the variable =org-hierarchical-todo-statistics= to
810 =nil= will do the same for TODO items.
812 To turn on recursive statistics only for a single subtree, add the
813 word "recursive" to the =COOKIE_DATA= property.  Note that you
814 can have such a property containing both "todo" or "checkbox" for
815 disambiguation, and the word "recursive", separated by a space
816 character.
818 The change for checkboxes was a patch by Richard Klinda.
820 *** New operators for column view
822 Column view has new operators for computing the minimum,
823 maximum, and mean of property values.
825 Thanks to Mikael Fornius for a patch to this effect.
827 * Version 6.26
828   :PROPERTIES:
829   :CUSTOM_ID: v6.26
830   :END:
832 ** Details
834 *** custom IDs
836 Entries can now define a =CUSTOM_ID= property.  This property
837 must be a valid ID according to HTML rules, and it will be used
838 in HTML export as the main target ID for this entry.  That means,
839 both the table of conents and other internal links will
840 automatically point to this ID instead of the automatic ID like
841 =sec-1.1=.  This is useful to create humar-readable permanent
842 links to these location in a document.
844 The user is responsible to make sure that  custom IDs are unique
845 within a file.
847 Links written like =[[#my-target-name] ]= can be used to target a
848 custom ID.
850 When using =C-c l= to store a link to a headline that has a
851 custom ID, Org will now create two links at the same time.  One
852 link will be to the custom ID.  The other will be to the globaly
853 unique ID property.  When inserting the line with =C-c C-l=, you
854 need to decide which one you want to use.  Use the ID links for
855 entries that are expected to move from one file to the next.  Use
856 custom ID links publishing projects, when you are sure that te
857 entry will stay in that file.  See also the variable
858 =org-link-to-org-use-id=.
860 *** Remember to non-org files
862 If the target headline part of a remember template definition
863 entry is =top= or =bottom=, the target file may now be a
864 non-Org-mode file.  In this case, the content of the remember
865 buffer will be added to that file without enforcing an Org-like
866 headline.  Sorry, Russel, that this took so long.
868 *** New property to turn off todo dependencies locally
870 Setting the property =NOBLOCKING= will turn off TODO dependency
871 checking for this entry.
873 *** Refile verify
875 A new function is called to verify tasks that are about to be
876 selected as remember targets.  See the new variable
877 =org-refile-target-verify-function=.
879 *** New version org ditaa.jar
881 Thanks to Stathis Sideris.
883 *** htmlize.el is now in the contrib directory
885 The latest version of htmlize.el is now the in the contrib
886 directory of Org.  Thanks to Hrvoje Niksic for allowing this.
888 * Version 6.25
889   :PROPERTIES:
890   :CUSTOM_ID: v6.25
891   :END:
893 ** Major new features
895 *** DocBook export
897 We now do have a fully functional DocBook exporter, contributed by
898 Baoqiu Cui.  Simple press =C-c e D= to export the current file to
899 DocBook format.  You can also get direct conversion to PDF if you have
900 made the correct setup, please see the manual for details.
902 Kudos to Baoqiu for this fantastic addition, and my personal thanks
903 for doing this in a such a smooth way that I did not have to do
904 anything myself.
906 *** Protocols for external access to Emacs and Org
908 /org-protocol.el/ is a new module that supersedes both
909 /org-annotation-helper.el/ and /org-browser.el/ and replaces them
910 with a more abstracted interface.  /org-protocol/ intercepts
911 calls from emacsclient to trigger custom actions without external
912 dependencies.  Only one protocol has to be configured with your
913 external applications or the operating system, to trigger an
914 arbitrary number of custom actions. Just register your custom
915 sub-protocol and handler with the new variable
916 =org-protocol-protocol-alist=.
918 org-protocol comes the with three standard protocol handlers (in
919 parenthesis the name of the sub-protocol):
920 - =org-protocol-remember= (=remember=) :: Trigger remember
921 - =org-protocol-store-link= (=store-link=) :: Store a link
922 - =org-protocol-open-source= (=open-source=) :: Find the local
923      source of a remote web page.
925 Passing data to emacs is now as easy as calling
927 : emacsclient org-protocol://sub-protocol://data
929 For more information see the [[http://orgmode.org/worg/org-contrib/org-protocol.php][online documentation]]
931 Thanks to Sebastian Rose for this really beautiful module.
933 *** Inline tasks
935 Inline tasks are tasks that have all the properties of normal
936 outline nodes, including the ability to store meta data like
937 scheduling dates, TODO state, tags and properties.  But these
938 tasks are not meant to introduce additional outline structure, at
939 least as far as visibility cycling and export is concerned.  They
940 are useful for adding tasks in extensive pieces of text where
941 interruption of the flow or restructuring is unwanted.
943 This feature is not turned on by default, you need to configure
944 =org-modules= to turn it on, or simply add to you .emacs file:
946 : (require 'org-inlinetask)
948 After that, tasks with level 15 (30 stars when using
949 org-odd-levels-only) will be treated as inline tasks, and
950 fontification will make obvious which tasks are treated in this
951 way.
953 *** Input from RSS feeds
955 Org can now collect tasks from an RSS feed, a great method to get
956 stuff from online call and note-taking services into your trusted
957 system.  You need to configure the feeds in the variable
958 =org-feed-alist=.  The manual contains a short description, more
959 detailed information is [[http://orgmode.org/worg/org-contrib/org-feed.php][available on Worg]].
961 Full credit goes to Brad Bozarth who really [[http://thread.gmane.org/gmane.emacs.orgmode/12251][paved the way]] for this
962 exciting new feature.
965 ** Export
967 *** Allow modification of table attributes in HTML export
969 The #+ATTR_HTML line can now be used to set attributes for a
970 table.  Attributes listed in that line will replace existing
971 attributes in =org-export-html-table-tag=, or will add new ones.
972 For example
974 : #+ATTR_HTML: border="2" rules="all" frame="all"
975 : #+CAPTION: Finally a table with lines!
976 : | a | b |
977 : |---|---|
978 : | 1 | 2 |
980 *** LaTeX low levels are now exported as itemize lists
982 LaTeX export now treats hierarchy levels 4,5, etc as itemize
983 lists, not as description lists as before.  This is more
984 consistent with the behavior of HTML export.  You can configure
985 this behavior using the variable =org-export-latex-low-levels=.
987 *** Markup for centering.
989 Text can be exported centered with
991 #+begin_src org
992 ,#+BEGIN_CENTER
993 ,Everything should be made as simple as possible, \\
994 ,but not any simpler
995 ,#+END_CENTER
996 #+end_src
998 *** Sitemap file is now /sitemap.org/
1000 Org-publish can produce a list of all files in a project.
1001 Previously the file containing this list was called "index.org",
1002 really a brain-dead default because during publication it would
1003 overwrite the "index.html" file of the website.
1005 The default file name is now "sitemap.org"
1007 *** Protect explicit target links in HTML export
1009 If a link is =[[#name] [desc]]=, the href produced when exporting
1010 the file will be exactly href="#name".  So starting a link target
1011 with # will indicate that there will be an explicit target for
1012 this.
1014 *** HTML export: Allow "- ___" to explicitly terminate a list
1016 If a list contains "- ___" (three underscores) as an item, this
1017 terminates the list, ignoring this item.  This is an experimental
1018 feature, it may disappear again if we find other ways to deal
1019 with literal examples right after lists.
1021 See [[http://thread.gmane.org/gmane.emacs.orgmode/12299/focus%3D12312][this mailing list thread]] for context.
1023 ** Agenda
1025 *** Changing the time of an entry from the agenda
1027 We now have a way to change not only the date, but also the start
1028 time of an entry from the agenda.  The date is normally changed
1029 with S-right/left.  Now, if you add a C-u prefix, the hour will
1030 be changed.  If you immediately press S-right/left again, hours
1031 will continue to be changed.  A double prefix will do the same
1032 for minutes.  If the entry has a time range like 14:40-16:00,
1033 then both times will change, preserving the length of the
1034 appointment.
1036 *** Show saved PDF agenda view with prefix arg
1038 When writing an agenda view to a PDF file, supplying a a prefix
1039 argument (=C-u C-x C-w=) will get the new file displayed
1040 immediately.
1042 This was a request by Alan E Davis.
1044 *** Filter for entries with no effort defined
1046 During secondary agenda filtering, pressing "?" now will install a
1047 filter that selects entries which do not have an effort defined.
1049 This new model was necessary because we needed to stop interpreting
1050 entries with no effort defines as 0 effort.  This was inconsistent,
1051 because for normal agenda sorting, the treatment of these entries
1052 depends on the variable =org-sort-agenda-noeffort-is-high=.  Now this
1053 variable is also respected during filtering.
1055 This new feature resulted from a [[http://thread.gmane.org/gmane.emacs.orgmode/12493][discussion]] with Matt Lundin and
1056 Bernt Hansen.
1058 *** Introduce user-defined sorting operators
1060 The new variable =org-agenda-cmp-user-defined= can contain a
1061 function to test how two entries should be compared during
1062 sorting.  The symbols =user-defined-up= and =user-defined-down=
1063 can then be part of any sorting strategy.
1065 This was a request by Samuel Wales.
1067 *** Indentation of subitems in the agenda
1069 When a tags/property match does match an entry and it's
1070 sublevels, the sublevels used to be indented by dots, to indicate
1071 that the matches likely result from tag inheritance.  This is now
1072 no longer the default, so the subitems will not get special
1073 indentation.  You can get this behavior back with
1075 : (setq org-tags-match-list-sublevels 'indented)
1077 *** Stuck projects search now searches subtrees of unstuck projects
1079 When, during a stuck-project search, a project tree is identified
1080 as not stuck, so far the search would continue after the end of
1081 the project tree.  From now on, the search continues in the
1082 subtree, so that stuck subprojects can still be identified.
1085 ** Miscellaneous
1087 *** Citations: Use RefTeX to insert citations
1089 RefTeX can now be used to create a citation in Org-mode buffers.
1090 Setup the buffer with
1092 #+begin_src org
1093 ,#+BIBLIOGRAPHY: bibbase style
1094 #+end_src
1096 and create citations with =C-c C-x [=.
1098 Together with org-exp-bibtex.el by Taru Karttunen (available as a
1099 contributed package), this provides a great environment for
1100 including citations into HTML and LaTeX documents.
1102 *** Changing time ranges as a block
1104 When using the S-cursor keys to change the first time in a time
1105 range like
1107 : <2009-04-01 Wed 14:40-16:40>
1109 then the end time will change along, so that the duration of the
1110 event will stay the same.
1112 This was a request by Anupam Sengupta.
1114 *** New sparse tree command
1116 A new sparse tree command shows entries with times after a certain
1117 date.  Keys are =C-c / a=, this command is for symmetry
1118 with =C-c / b=.
1120 *** Cloning tasks
1122 A new command allows to create clone copies of the current entry,
1123 with shifted dates in all stamps in the entry.  This is useful to
1124 create, for example, a series of entries for a limited time
1125 period.  I am using it to prepare lectures, for example.
1127 *** New face for checkboxes
1129 Checkboxes now have their own face, =org-checkbox=.  This can be
1130 used for nice effects, for example choosing a face with a box
1131 around it:
1133 #+begin_src emacs-lisp
1134 (custom-set-faces
1135  (org-checkbox ((t (:background "#444444" :foreground "white"
1136                 :box (:line-width 1 :style released-button)))))
1137 #+end_src
1139 *** M-a and M-e for navigation in a table field
1141 In tables fields, the sentence commands =M-a= and =M-e= are
1142 redefined to jump to the beginning or end of the field.
1144 This was a request by Bastien Guerry.
1146 *** Backup files for remember buffers
1148 Sometimes users report that they lost data when not immediately
1149 storing a new remember note, and then later exiting Emacs or
1150 starting a new remember process.
1152 Now you can set the variable =org-remember-backup-directory=.
1153 Each remember buffer created will then get its own unique file
1154 name in that directory, and the file will be removed only if the
1155 storing of the note to an Org files was successful.
1157 *** org-mac-message.el: New functions to access flagged mail
1159 Christopher Suckling has added functionality to
1160 /org-mac-message.el/.  In particular, you can now select a number
1161 of messages and easily get links to all of them with a single
1162 command.  For details, see the [[http://orgmode.org/worg/org-contrib/org-mac-message.php][online documentation]].
1164 *** Read-date: New hook
1166 The new hook =org-read-date-minibuffer-setup-hook= is called when
1167 setting up the minibuffer for reading a date.  If can be used to
1168 install new keys into the temporary keymap used there.
1171 * Version 6.24
1172   :PROPERTIES:
1173   :CUSTOM_ID: v6.24
1174   :END:
1176 ** Incompatible changes
1179 *** Tag searches are now case-sensitive
1181 From this release on, tag searches will be case sensitive.  While
1182 I still think it would be nice to have them case-insensitive,
1183 this was both an inconsistency (TODO keyword searches have always
1184 been case-sensitive), and trouble for coding some efficient
1185 algorithms.  So please make sure that you give the tags with
1186 correct casing when prompted for a match expression.
1188 *** New key for creating tags/property sparse trees
1190 The key to produce a sparse tree matching tags and properties is
1191 now =C-c / m= instead of =C-c a T=.  This is also more consistent
1192 with the =C-c a m= key for the corresponding agenda view.
1193 =C-c / T= will still work for now, but it is no longer advertised
1194 in the documentation and may go away at any time in the future.
1196 *** IDs in HTML have "ID-" prefix when generated by uuidgen
1198 /uuidgen/ generates IDs that often start with a number, not a
1199 latter.  However, IDs and names in XHTML must start with a letter.
1200 Therefore, IDs in HTML files will now get an "ID-" prefix if they
1201 have been generated by uuidgen.  This means that id links from one
1202 file to another may stop working until all files have been
1203 exported again.
1205 *** In agenda, only priority cookies get the special face
1207 So far, an entire task would get a special face when
1208 =org-agenda-fontify-priorities= was set.  Now, the default value
1209 for this variable is the symbol =cookies=, which means that on
1210 the cookie is fontified.  Set it to =t= if you want the entire
1211 task headline to be fontified.
1213 ** Details
1215 *** PDF export of agenda views
1217 Agenda views can now be exported to PDF files by writing them to
1218 a file with extension ".pdf".  Internally this works by first
1219 producing the postscript version and then converting that to PDF
1220 using the ghostview utility =ps2pdf=.  Make sure that this
1221 utility is installed on your system.
1223 The postscript version will not be removed, it will stay around.
1225 *** Inline some entry text for Agenda View export
1227 When exporting an agenda view to HTML or PDF for printing or
1228 remote access, one of the problems can be that information stored
1229 in entries below the headline is not accessible in that format.
1231 You can now copy some of that information to the agenda view
1232 before exporting it.  For this you need to set the variable
1233 =org-agenda-add-entry-text-maxlines= to a number greater than 0.
1235 #+begin_src emacs-lisp
1236 (setq org-agenda-add-entry-text-maxlines 20)
1237 #+end_src
1239 Or you can do this with the settings in a custom agenda view,
1240 for example
1242 #+begin_src emacs-lisp
1243 ("A" "" agenda ""
1244  ((org-agenda-ndays 1)
1245   (org-agenda-add-entry-text-maxlines 5))
1246  ("agenda-today.pdf"))
1247 #+end_src
1249 *** Improved ASCII export of links
1251 ASCII export of links works now much better.  If a link has a
1252 link and a description part which are different, then the
1253 description will remain in the text while the link part will be
1254 moved to the end of the current section, before the next heading,
1255 as a footnote-like construct.
1257 Configure the variable =org-export-ascii-links-to-notes= if you
1258 prefer the links to be shown in the text.  In this case, Org will
1259 make an attempt to wrap the line which may have become
1260 significantly longer by showing the link.
1262 Thanks to Samuel Wales for pointing out the bad state of ASCII
1263 link export.
1265 *** Custom agenda commands can specify a filter preset
1267 If a custom agenda command specifies a value for
1268 =org-agenda-filter-preset= in its options, the initial view of
1269 the agenda will be filterd by the specified tags.  Applying a
1270 filter with =/= will then always add to that preset filter,
1271 clearing the filter with =/ /= will set it back to the preset.
1272 Here is an example of a custom agenda view that will display the
1273 agenda, but hide all entries with tags =FLUFF= or =BLUFF=:
1275 #+begin_src emacs-lisp
1276 ("A" "" agenda ""
1277  ((org-agenda-filter-preset '("-FLUFF" "-BLUFF"))))
1278 #+end_src
1280 This is in response to a [[http://thread.gmane.org/gmane.emacs.orgmode/11752][thread on the mailing list]], started by
1281 Daniel Clemente and with great contributions by Bernt Hansen and
1282 Matt Lundin.
1284 *** Exporting of citations to LaTeX and HTML, using BibTeX
1286 Citations can now me made using BibTeX, and will be exported to
1287 LaTeX and HTML.  This is implemented in a contributed package by
1288 Taru Karttunen, /org-exp-bibtex.el/.  Kudos to Taru for this
1289 really nice addition.
1291 *** Finally a way to specify keywords and description for HTML export
1293 Use something like
1295 #+begin_src org
1296 #+DESCRIPTION: This page is all about ....
1297 #+KEYWORDS: org-mode, indexing, publishing
1298 #+end_src
1300 To specify the content of the description and keywords meta tags
1301 for HTML output.
1303 *** org-collector.el is now a contributed package
1305 /org-collector.el/ provides functions to create tables by
1306 collecting and processing properties from entries in a specific
1307 scope like the current tree or file, or even from all agenda
1308 files.  General lisp expressions can be used to manipulate the
1309 property values before they are inserted into an org-mode table,
1310 for example as a dynamic block that is easy to update.
1312 Thanks to Eric Schulte for yet another great contribution to
1313 Org.
1315 *** Update of org2rem.el
1317 /org2rem.el/ has been updated significantly and now does a more
1318 comprehensive job of exporting Org events to remind.
1320 Thanks to Sharad Pratap for this update.
1322 *** New div around the entire page in HTMP export
1324 A new =<div id=content>= is wrapped around the entire page,
1325 everything that is inside =<body>=.
1327 This means that you need to update /org-info.js/ (if you have a
1328 local copy).  It will be safe todo so, because the new
1329 org-info.js still handles older pages correctly.  Thanks to
1330 Sebastian Rose for making these changes so quicky.
1332 *** Clustering characters for undo
1334 When typing in Org-mode, undo will now remove up to 20 characters
1335 at a time with a single undo command.  This is how things work
1336 normally in Emacs, but the special binding of characters in
1337 Org-mode made this impossible until now.
1339 Thanks to Martin Pohlack for a patch which mimicks the behavior
1340 of the Emacs command loop for the Org version of
1341 =self-insert-command=.  Note that this will not work in headlines
1342 and tables because typing there will do a lot of extra work.
1344 There might be a small typing performance hit resulting from this
1345 change - please report in the mailing list if this is noticeable
1346 and annoying.
1348 *** Separate settings for special C-a and C-e
1350 The variable `org-special-ctrl-a/e' now allows separate settings
1351 for =C-a= and =C-e=.  For example
1353 #+begin_src emacs-lisp
1354 (setq org-special-ctrl-a/e '(reversed . t))
1355 #+end_src
1357 Thanks to Alan Davis for this proposal.
1359 *** orgstruct++-mode improvements
1361 In addition to =orgstruct-mode= which allows to use some Org-mode
1362 structure commands in other major modes, there is a more invasive
1363 version of this mode: =orgstruct++-mode=.  This mode will import
1364 all paragraph and line wrapping variables into the major mode, so
1365 that, for example, during typing the auto-fill wrapping of items
1366 will work just like in Org-mode.  This change is not reversible,
1367 so turning off =orgstruct++-mode= will not remove these settings
1368 again. =orgstruct++-mode= is most useful in text modes like
1369 message-mode or =magit-log-edit-mode=.  Furthermore,
1370 =orgstruct++-mode= will recognize plain list context not only in
1371 the first line of an item, but also further down, so that =M-RET=
1372 will correctly insert new items.
1374 Thanks to Austin Frank for requesting some of these changes.
1376 *** Promotion and demotion works for regions now
1378 =M-right= and =M-left= now do demote and promote all headlines in
1379 an active region.
1381 *** Match syntax for tags/properties is now described in a single place
1383 The manual chapters about tags and about properties now only
1384 refer to the section about agenda views, where the general syntax
1385 of tag/property matches is described.
1387 *** Macro replacement
1389 A string like ={{{ title }}}= will be replaced by the title of
1390 the document, ={{{ email }}}= by the email setting of the author
1391 and similarly for other export settings given in =#+...= lines.
1392 In addition to that, you can define an arbitrary number of
1393 macros, for example:
1395 #+begin_src org
1396 ,#+MACRO: myaddress 41 Onestreet, 12345 New York, NY
1398 ,my address is {{{myaddress}}}, see you there.
1399 #+end_src
1401 Macro replacement is the very first thing that happens during
1402 export, and macros will be replaced even in source code and other
1403 protected regions.
1405 *** New reload command, with keyboard access
1407 There is now a special command to reload all Org Lisp files, so
1408 that you can stay in your Emacs session while pulling and
1409 compiling changes to Org.  The command to reload the compiled
1410 files (if available) is =C-c C-x r=.  If no compiled files are
1411 found, uncompiled ones will be loaded.  If you want to force
1412 loading of uncompiled code (great for producing backtraces), use
1413 a prefix arg: =C-u C-c C-x r=.  Both commands are available in
1414 the menu as well.
1416 This new command was inspired by one written earlier by Bernt
1417 Hansen.
1419 *** Faces for priority cookies can now be set freely
1421 The new variable =org-priority-faces= can be used to set faces
1422 for each priority.
1424 *** New key for creating tags/property sparse trees
1426 The key to produce a sparse tree matching tags and properties is
1427 now =C-c / m= instead of =C-c a T=.  This is more consistent with
1428 the =C-c a m= key for the corresponding agenda view.  =C-c / T=
1429 will still work for now, but it is no longer advertised in the
1430 documentation and may go away at any time in the future.
1432 *** IDs in HTML have "ID-" prefix when generated by uuidgen
1434 /uuidgen/ generates IDs that often start with a number, not a
1435 letter.  However, IDs and names in XHTML must start with a letter.
1436 Therefore, IDs in HTML files will now get an "ID-" prefix if they
1437 have been generated by /uuidgen/.  This means that id links from one
1438 file to another may stop working until all files have been
1439 exported again, so that both links and targets have the new prefix.
1441 *** In agenda, only priority cookies get the special face
1443 So far, an entire task would get a special face when
1444 =org-agenda-fontify-priorities= was set.  Now, the default value
1445 for this variable is the symbol =cookies=, which means that on
1446 the cookie is fontified.  Set it to =t= if you want the entire
1447 task headline to be fontified.
1449 *** Turning off time-of-day search in headline
1451 Some people like to put a creation time stamp into a headline and
1452 then get confused if the time-of-day found in there shows up as
1453 the time-of-day of the deadline/scheduling entry for this
1454 headline.  The reason for this is that Org searches the headline
1455 for a free-format time when trying to sort the entry into the
1456 agenda, and that search accidentally finds the time in the
1457 creation time stamp or something else that happens to look like a
1458 time.  If this is more painful than useful for you, configure the
1459 new variable =org-agenda-search-headline-for-time=.
1462 * Version 6.23
1463   :PROPERTIES:
1464   :CUSTOM_ID: v6.23
1465   :END:
1466 ** Overview
1468 - Capture state change notes into a drawer
1469 - Clock lines are now captured into the LOGBOOK drawer as well
1470 - Added org-R.el to contrib directory
1471 - Allow individual formatting of each TODO keyword in HTML export
1472 - New hooks for add-ons to tap into context-sensitive commands
1473 - Publishing files irrespective of extension
1474 - New variable index in the manual
1475 - The ORDERED property also influences checkboxes
1476 - The ORDERED property can be tracked with a tag
1477 - You may now specify line breaks in the fast tags interface
1478 - When a TODO is blocked by checkboxes, keep it visible in agenda
1479 - LaTeX can import Org's in-buffer definitions for TITLE, EMAIL etc.
1481 ** Incompatible changes
1483 - CLOCK lines will now be captured into the LOGBOOK drawer.
1484   See below for details.
1486 ** Details
1488 *** Capture state change notes into a drawer
1490 State change notes can now be captured into a drawer =LOGBOOK=,
1491 to keep the entry tidy.  If this is what you want, you will need
1492 this configuration:
1494 #+begin_src emacs-lisp
1495 (setq org-log-into-drawer "LOGBOOK")
1496 #+end_src
1498 Thanks to Wanrong Lin for this proposal.
1500 *** Clock lines are now captured into the LOGBOOK drawer as well
1502 The =CLOCK= drawer will be abandoned, clock lines will now also
1503 end up in a drawer =LOGBOOK=.  The reason for this is that it's a
1504 bit useless to have two different drawers for state change notes
1505 and clock lines.  If you wish to keep the old way, use
1507 #+begin_src emacs-lisp
1508 (setq org-clock-into-drawer "CLOCK")
1509 #+end_src
1511 *** Added org-R.el to contrib directory
1513 Dan Davison has contributed /org-R.el/ which is now in the
1514 contrib directory.  Org-R performs numerical computations and
1515 generates graphics.  Data can come from org tables, or from csv
1516 files; numerical output can be stored in the org buffer as org
1517 tables, and links are created to files containing graphical
1518 output.  Although, behind the scenes, it uses R, you do not need
1519 to know anything about R.  Common operations, such as tabulating
1520 discrete values in a column of an org table, are available "off
1521 the shelf" by specifying options on lines starting with =#+R:=.
1522 However, you can also provide raw R code to be evaluated.  The
1523 documentation is currently the worg tutorial at
1524 http://orgmode.org/worg/org-tutorials/org-R/org-R.php
1526 Thanks to Dan for this great contribution.
1528 *** Allow individual formatting of TODO keyword and tags in HTML export
1530 TODO keywords in HTML export have the CSS class =todo= or =done=.
1531 Tags have the CSS class =tag=.  In addition to this, each keyword
1532 has now itself as class, so you could do this in your CSS file:
1534 #+begin_src css
1535 .todo { font-weight:bold; }
1536 .done { font-weight:bold; }
1537 .TODO { color:red; }
1538 .WAITING { color:orange; }
1539 .DONE { color:green; }
1540 #+end_src
1542 If any of your keywords causes conflicts with CSS classes used
1543 for different purposes (for example a tag "title" would cause a
1544 conflict with the class used for formatting the document title),
1545 then you can use the variables =org-export-html-tag-class-prefix=
1546 and =org-export-html-todo-kwd-class-prefix= to define prefixes
1547 for the class names for keywords, for example "kwd-".
1549 Thanks to Wanrong Lin for this request, and to Sebastian Rose for
1550 help with the implementation.
1552 *** New hooks for add-ons to tap into context-sensitive commands
1554 Some commands in Org are context-sensitive, they will execute
1555 different functions depending on context.  The most important
1556 example is of course =C-c C-c=, but also the =M-cursor= keys fall
1557 into this category.
1559 Org has now a system of hooks that can be used by add-on packages
1560 to install their own functionality into these keys.  See the
1561 docstring of =org-ctrl-c-ctrl-c-hook= for details.  The other
1562 hooks are named like =org-metaleft-hook= or
1563 =org-shiftmetaright-hook=.
1565 *** Publishing files irrespective of extension
1567 If you set the =:base-extension= property for a publishing
1568 project to the symbol =any=, all files in the directory will be
1569 published, irrespective of extension.
1571 Thanks to Richard Klinda for a patch to this effect.
1573 *** New variable index in the manual
1575 A new index in the manual lists all variables mentioned in the
1576 manual, about 200 variables in total.
1578 *** The ORDERED property also influences checkboxes
1580 When an entry has the ORDERED property set, checkboxes in
1581 the entry must be completed in order.  This was already the case
1582 for children TODO items, now it also applies for checkboxes.
1584 Thanks to Rainer Stengele for this proposal.
1586 *** The ORDERED property can be tracked with a tag
1588 The =ORDERED= property is used to flag an entry so that subtasks
1589 (both children TODO items and checkboxes) must be completed in
1590 order.  This property is most easily toggled with the command
1591 =C-c C-x o=.  A property was chosen for this functionality,
1592 because this should be a behavior local to the current task, not
1593 inherited like tags.  However, properties are normally
1594 invisible.  If you would like visual feedback on the state of
1595 this property, configure the variable
1596 =org-track-ordered-property-with-tag=.  If you then use =C-c C-x
1597 o= to toggle the property, a tag will be toggled as well, for
1598 visual feedback.
1600 Note that the tag itself has no meaning for the behavior of TODO
1601 items and checkboxes, and that changing the tag with the usual
1602 tag commands will not influence the property and therefore the
1603 behavior of TODO and checkbox commands.
1605 *** You may now specify line breaks in the fast tags interface
1607 Up to now, the fast tags interface tried to lump as many tags as
1608 possible into a single line, with the exception that groups would
1609 always be on a line by themselves.
1611 Now, if you use several lines to define your tags, like
1613 #+begin_src org
1614 ,#+TAGS: aa(a) bb(b) cc(c)
1615 ,#+TAGS: dd(d) ee(e) ff(f)
1616 #+end_src
1618 then there will also be a line break after the "cc" tag in the
1619 fast tag selection interface.  You may also write
1621 #+begin_src org
1622 ,#+TAGS: aa(a) bb(b) cc(c) \n dd(d) ee(e) ff(f)
1623 #+end_src
1625 to achieve the same effect, and you can use =\n= several times in
1626 order to produce empty lines.  In =org-tag-alist=, newlines are
1627 represented as =(:newline)=.
1629 Thanks to Christopher Suckling for a patch to this effect.
1631 *** When a TODO is blocked by checkboxes, keep it visible in agenda
1633 When the variable =org-agenda-dim-blocked-tasks= is set to
1634 =invisible=, tasks that are blocked will not be visible in the
1635 agenda.  If the blocking is due to child TODO entries, this does
1636 make sense because the children themselves will show up in the
1637 TODO list.
1639 However, as John Rakestraw has [[http://thread.gmane.org/gmane.emacs.orgmode/10939][pointed out]], if the blocking is
1640 done by checkboxes, no trace of these subtasks is left.
1641 Therefore, when the blocking is done by checkboxes, we now
1642 overrule the =invisible= setting and replace it with mere dimming
1643 of the task.
1645 *** LaTeX can import Org's in-buffer definitions for TITLE, EMAIL etc.
1647 If you configure =org-export-latex-import-inbuffer-stuff=,
1648 in-buffer definitions like #+TITLE will be made available in the
1649 LaTeX file as =\orgTITLE=.
1651 This was a request by Russel Adams.
1653 * Version 6.22
1654   :PROPERTIES:
1655   :CUSTOM_ID: v6.22
1656   :END:
1657 ** Details
1659 *** org-choose.el by Tom Breton is now included
1661 Org-choose helps documenting a decision-making process by using
1662 TODO keywords for different degrees of /chosenness/, and by
1663 automatically keeping a set of alternatives in a consistent state.
1665 Documentation for /org-choose.el/ is available [[http://orgmode.org/worg/org-contrib/org-choose.php][here]].
1667 This package inserts itself into Org using hooks, so if other
1668 people would like to do interesting stuff with TODO keywords for
1669 special purposes, looking at Tom's code might be a good way to
1670 start.
1672 Thanks to Tom for this interesting contribution!
1674 *** orgmode.org and Worg css works now better on IE
1676 Thanks to Sebastian Rose for making these changes.
1678 *** When exporting a subtree, headline levels are now relative to parent
1680 This was reported as a bug by William Henney and is fixed now.
1682 *** Inactive dates in tables can be used for sorting.
1684 When sorting table fields or entries by date, Org first tries to
1685 find an active date, and, if none exist, uses a passive date if
1686 present.
1688 This was a request by Hsui-Khuen Tang
1690 *** The default for =org-return-follows-link= is back to =nil=
1692 Setting it to =t= violates Emacs rules to some extent.  The
1693 internal implementation of this has been improved, so setting it
1694 to =t= should now be pretty stable.
1696 *** Automatic scheduling of siblings with org-depend.el
1698 The sibling of a DONE task can now automatically be scheduled.
1700 This was a patch by Andrew Hyatt.
1702 *** New skipping conditions
1704 The functions =org-agenda-skip-entry-if= and
1705 =org-agenda-skip-subtree-if= now accept =timestamp= and
1706 =nottimestamp= as additional conditions.
1708 This was in response to a request by Saurabh Agrawal.
1710 * Version 6.21
1711   :PROPERTIES:
1712   :CUSTOM_ID: v6.21
1713   :END:
1715 ** Details
1717 *** Changes to some default values of variables:
1719 Here are the new default values:
1721 #+begin_example
1722 (setq org-return-follows-link t)
1724 (setq org-use-fast-todo-selection t)
1726 (setq org-yank-adjusted-subtrees nil)
1728 (setq org-tags-column -77)
1730 (setq org-agenda-sorting-strategy
1731      '((agenda time-up priority-down category-keep)
1732         (todo time-up priority-down category-keep)
1733         (tags time-up priority-down category-keep)
1734         (search category-keep)))
1735 #+end_example
1737 *** Final cleanup for Emacs 21.1 pretest
1739 * Version 6.20
1740   :PROPERTIES:
1741   :CUSTOM_ID: v6.20
1742   :END:
1744 ** Details
1746 *** Support for simple TODO dependencies
1748 John Wiegley's code for enforcing simple TODO dependencies has
1749 been integrated into Org-mode.  Thanks John!
1751 The structure of Org files (hierarchy and lists) makes it easy to
1752 define TODO dependencies.  A parent TODO task should not be
1753 marked DONE until all subtasks (defined as children tasks) are
1754 marked as DONE.  And sometimes there is a logical sequence to a
1755 number of (sub)tasks, so that one task cannot be acted upon
1756 before all siblings above it are done.  If you customize the
1757 variable =org-enforce-todo-dependencies=, Org will block entries
1758 from changing state while they have children that are not DONE.
1759 Furthermore, if an entry has a property =ORDERED=, each of its
1760 children will be blocked until all earlier siblings are marked
1761 DONE.  Here is an example:
1763 #+begin_src org
1764 ,* TODO Blocked until (two) is done
1765 ,** DONE one
1766 ,** TODO two
1768 ,* Parent
1769 ,  :PROPERTIES:
1770 ,    :ORDERED: t
1771 ,  :END:
1772 ,** TODO a
1773 ,** TODO b, needs to wait for (a)
1774 ,** TODO c, needs to wait for (a) and (b)
1775 #+end_src
1777 The command =C-c C-x o= toggles the value of the =ORDERED=
1778 property.
1780 The variable =org-agenda-dim-blocked-tasks= controls how blocked
1781 entries should appear in the agenda, where they can be dimmed or
1782 even made invisible.
1784 Furthermore, you can use the variable
1785 =org-enforce-todo-checkbox-dependencies= to block TODO entries
1786 from switching to DONE while any checkboxes are unchecked in the entry.
1788 *** Support for shift-selection in Emacs 23
1790 Customize the variable =org-support-shift-select= to use S-cursor
1791 key for selecting text.  Make sure that you carefully read the
1792 docstring of that variable first.
1794 *** Adding and removing checkboxes from many lines
1796 The command =C-c C-x C-b= normally toggles checkbox status in the
1797 current line, or in all lines in the region.  With prefix
1798 argument it now either adds or removes the checkbox.
1800 This was a requested by Daniel Clemente.
1803 * Older changes
1805   For older Changes, see [[file:Changes_old.org]]
1809 * COMMENT Setup
1811 #+STARTUP: showstars
1813 #+TITLE: Org-mode list of user-visible changes
1814 #+AUTHOR:  Carsten Dominik
1815 #+EMAIL:  carsten at orgmode dot org
1816 #+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} *:t TeX:t LaTeX:nil f:nil
1817 #+INFOJS_OPT: view:info toc:1 path:org-info.js tdepth:2 ftoc:t
1818 #+LINK_UP: index.html
1819 #+LINK_HOME: http://orgmode.org