org-babel-init.el now adds it's directories to user's load-path
[org-mode.git] / ORGWEBPAGE / Changes.org
blob84d2ad0123d183f8ab4b35a0f4867a038d3a2151
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.30
10  :PROPERTIES:
11  :VISIBILITY: content
12  :CUSTOM_ID: v6.30
13  :END:
15 ** Inconsistent changes
17 *** Agenda now uses =f= and =b= to move through time
19 Up to now, the Org-mode agenda used the cursor keys =left= and
20 =right= to switch the agenda view forward an backward through
21 time.  However, many people found this confusing, and others
22 wanted to be able to do cursor motion in the agenda, for example
23 to select text.  Therefore, after an extensive discussion on
24 =emacs-orgmode@gnu.org=, it was decided to use the =b= and 
25 =f= keys instead, and to let the cursor keys do cursor motion
26 again.
28 *** Agenda follow mode is now on the =F= key
30 This was necessary to free up the =f= key, see above.
32 ** Details
34 *** Maintenance
36 **** New command to submit a bug report
38 There is now a special command =M-x org-submit-bug-report=.  This
39 command will create a mail buffer with lots of useful details.
40 In particular, it contains complete version information for Emacs
41 and Org-mode.  It will also (if you agree to it) contain all
42 non-standard settings of org-mode and outline-mode related
43 variables.  Even if you do not sent your emails from within
44 Emacs, please still use this command to generate the information
45 and then copy it into your mail program.
47 The command will not generate and include a =*Backtrace*= buffer,
48 please do this yourself if you have hit an error.  For more
49 information, see the [[http://orgmode.org/manual/Feedback.html#Feedback][feedback section]] of the manual.
51 **** New contributed package org-track.el
53 This package allows to keep up-to-date with current Org
54 development, using only Emacs on-board means.  So if you don't
55 want or cannot use =git=, but still want to run the latest and
56 hottest Org-mode, this is for you.
58 Thanks to Sebastian Rose for this contribution.
60 *** Agenda
62 **** Agenda now uses =f= and =b= to move through time
64 Up to now, the Org-mode agenda used the cursor keys =left= and
65 =right= to switch the agenda view forward an backward through
66 time.  However, many people found this confusing, and others
67 wanted to be able to do cursor motion in the agenda, for example
68 to select text.  Therefore, after an extensive discussion on
69 =emacs-orgmode@gnu.org=, it was decided to use the =b= and 
70 =f= keys instead, and to let the cursor keys do cursor motion
71 again.
73 **** Agenda follow mode is now on the =F= key
75 This was necessary to free up the =f= key, see above.
77 **** The agenda can be put into a dedicated frame
79 When the variable =org-agenda-window-setup= has the value
80 =other-frame=, then the new frame created to show the agenda
81 will now have the window marked as /dedicated/.  As a
82 consequence, exiting the agenda while the agenda is the only
83 window on the frame will kill that frame.
85 This was a request by Henry Atting.
87 **** New mode to show some entry body text in the agenda
89 There is now a new agenda sub-mode called
90 =org-agenda-entry-text-mode=.  It is toggled with the =E= key.
91 When active, all entries in the agenda will be accompanied by a
92 few lines from the outline entry.  The amount of text can be
93 customized with the variable =org-agenda-entry-text-maxlines=.
95 This was a request by Anthony Fairchild, Manish, and others.
97 **** Improve following links from the agenda
98     
99 =C-c C-o= in the agenda will now offer all links in the headline
100 and text of an entry.  If there is only a single link, it will be
101 followed immediately.
103 **** Avoid some duplicate entries
105 There is a new variable that can be used to avoid some duplicate
106 agenda entries: =org-agenda-skip-scheduled-if-deadline-is-shown=
107 If that is set, it avoids that an entry shows up in the agenda for
108 today for both a scheduling and a deadline entry.  See the
109 docstring of the variables for more details.
111 This partially addresses a request by Samuel Wales. 
113 **** Mark the running clock in the agenda.
115 If the entry currently being clocked is present in the agenda, it
116 will be highlighted with the face =org-agenda-clocking=.
118 This was a request by Rainer Stengele.
121 *** Export
123 **** Allow LaTeX export to use the listings package
125 The LaTeX =listings= package can now be used for formatting
126 fontified source code in many programming languages.  For more
127 information, see
128 http://thread.gmane.org/gmane.emacs.orgmode/16269 and
129 http://orgmode.org/worg/org-faq.php#fontified_source_code_w_latex
131 Thanks to Eric Schulte for this patch.
133 **** Remove table rows that only contain width and alignment markers
134     
135 The width and alignment in table columns can be set with a cookie
136 like "<10>" or "<r>" or "<r10>".  In order to keep Org from
137 exporting such lines, the first column of a line should contain
138 only "/".  However, for convenience, there is now a special case:
139 If the entire row contains only such markers, the line will
140 automatically be discarded during export, even is the first
141 column is not "/".
143 **** Allow Macro calls to span several lines.
145 Macro calls may now span several lines, to write several
146 arguments in a cleaner way.  The result of a macro call can also
147 span several lines, by inserting the string "\n" (backslash
148 followed by n) into the value in the macro definition.
150 These were requests by Stefan Vollmar.
152 *** Misc
154 **** Quick access to all links in an entry
156 If =C-c C-o= is called while the cursor is in a headline, but not
157 directly on a link, then all links in the entry will be offered
158 in a small menu.  If there is only a single link, it will be
159 followed without a prompt.
161 **** Visibility Cycling: Allow to show all empty lines after a headline
162     
163 =org-cycle-separator-lines= can now be set to a negative value,
164 to indicate that, if the number of empty lines before a visible
165 entry is greater than the specified number, then *all* empty
166 lines should be shown.
168 This was a request by "PT" whatever this means.
170 **** Allow language names to replace some strange major mode names
172 Sometimes a language uses a major mode which can't be guessed
173 from it's name.  There is now a new variable =org-src-lang-modes=
174 which can be used to map language names to major modes when this
175 is the case.  This is used when editing a source-code 
176 block, or when exporting fontified source-code with htmlize.
178 Thanks to Eric Schulte for a patch to this effect.
180 **** iswitchb support for many completion prompts
181     
182 This is enabled using =org-completion-use-iswitchb=, and follows
183 the same model of usage as for ido users.
185 Thanks to John Wiegley for a patch to this effect.
187 **** New commands to set the effort property of an entry
189 There is now a special command, =C-c C-x e= to set the =Effort=
190 property of an entry.  From the agenda you can even use =e=.
191 If you have set up allowed values for the =Effort= property, then
192 using a prefix argument will directly select the nth allowed
193 value.  For example, in the agenda, =5 e= will select the 5th
194 allowed value.
196 This was a request by Michael Gilbert
198 **** Edit src works now better with killing buffer
200 Thanks to Dan Davison for a patch to this effect
203 * Version 6.29
204  :PROPERTIES:
205  :CUSTOM_ID: v6.29
206  :END:
208 ** Structure editing and cycling
210 *** New minor mode =org-indent-mode=
212 This mode implements outline indentation similar to clean view,
213 but in a dynamic and virtual way, at display time.  I have wanted
214 this functionality for years and tried several implementations,
215 all unworkable.  Emacs 23 has finally made it possible.  So this
216 solution is for Emacs 23 only, and I am not sure yet how stable
217 it really is.  Time will tell.
219 Currently I do not recommend to turn it on globally using
220 the variable =org-startup-indented=.  But you can turn it on
221 for a particular buffer using
223 #+begin_src org
224   ,#+STARTUP: indent
225 #+end_src
227 Turning on this minor mode automatically turns on
228 =org-hide-leading-stars=, and it turns off
229 =org-adapt-indentation=.
231 *** Skip CHILDREN state if there are no children
233 When a subtree does not have any children, visibility
234 cycling now skips the CHILDREN state.  You can customize
235 this behavior with the variable
236 =org-cycle-skip-children-state-if-no-children=.
238 *** Nodes without keyword can now be counted for statistics
240 See the variable =org-provide-todo-statistics= for details.
241 It can be the symbol =all-headings=, or a list of TODO
242 states to consider.
244 This was requested by David A. Gershman.
246 *** New function =org-list-make-subtree=
248 This function converts the plain list at point into a
249 subtree, preserving the list structure.  The key for this
250 command is =C-c C-*=.  Thanks to Ilya Shlyakhter for this
251 suggestion.
253 *** Headlines can be fontified to the right window border
255 Use the variable =org-fontify-whole-heading-line= to turn
256 this on.  Then headline fontification will include the final
257 newline.  If your setup for headline faces includes a
258 background different from the default background, this setup
259 creates a visual line across the window.
261 *** Inline tasks have become better citizens
263 The new key =C-c C-x t= inserts an inline task including an
264 END line.  Inline tasks play along with (i,e, are ignored
265 by) link creation and footnotes.  Inline tasks with an =END=
266 line can be refiled and archived.  During the refile/archive
267 operation, the tasks become normal tasks and the =END= line
268 disappears.
270 These improvements reflect reports and requests by Peter
271 Westlake and Matt Lundin.
273 *** Archive subtree and move to next visible task
275 When archiving a task, the cursor now ends up on the next
276 headline, so the repeated application of the archiving
277 command will archive successive tasks.
279 Thanks to Bernt Hansen for a patch to this effect.
281 *** Renumbering the fn:N-like footnotes
283 The new footnote action =r= will renumber simple =fn:N=
284 footnotes in the current document.  The action =S= will
285 first do the renumbering and then sort the footnotes (the
286 =s= action).
288 This was a request by Andreas Röhler.
290 *** Automatic sorting and renumbering
292 Customize the new variable =org-footnote-auto-adjust= or use
293 the =#+STARTUP= option =fnadjust= to get automatic
294 renumbering and sorting of footnotes after each
295 insertion/deletion.
297 This was a request by Andreas Röhler.
299 *** Improvements to plain-list-cycling with TAB.
301 TAB now by default cycles visibility in plain lists if the
302 cursor is at a plain list item.  This corresponds to the new
303 default value =t= of =org-cycle-include-plain-lists=.  If
304 you want to treat plain list items as part of the outline
305 hierarchy during cycling of outline headings (this is what a
306 =t= value used to mean), set this variable to =integrate=.
308 *** Force bullet type changes during plain list demotion
310 We now have a mechanism to force a particular bullet type
311 when demoting a plain list item.  See the variable
312 =org-list-demote-modify-bullet= for details.
314 This was a request by Rainer Stengele.
317 ** Tables
319 *** Relative row references may now cross hlines
321 A relative row reference like @-1 in a table may now reach
322 across a horizontal separator line.  I hope this will not
323 break any important tables out there, but I think it is the
324 right thing to do.
326 The sole original reason for not allowing such crossing was
327 to implement running averages of one column in the next.
328 This can now be done using field formulas near the beginning
329 and end of the column, and a column formula for the central
330 part.
332 See the variable =org-table-relative-ref-may-cross-hline=
333 for more details.
335 *** Cut or copy single fields
337 =C-c C-x C-w= and =C-c C-x M-w= now act on single table
338 fields if there is no active region defined.
340 ** Links
342 *** Find agenda files linking to the current location
344 The new command =org-occur-link-in-agenda-files= creates a
345 link like =org=store-link= would, and then searches all
346 agenda files for this link.  So for example, you could be in
347 a GNUS message, trying to find tasks that have links to this
348 message.
350 *** Include stored links into link completion
352 When inserting a link with =C-c C-l=, TAB completion will
353 now not only access link prefixes, but also the stored
354 links.
357 ** Agenda
359 *** Bulk commands: Add Schedule and Deadline processing
361 Agenda bulk commands on marked entries now can also set the
362 scheduling date or a deadline.  Normally, all entries will
363 be set to the specified date.  However, when writing the
364 change as "++5d" or "++2w", then each time stamp will
365 independently be shifted by that amount.
367 *** Tags-todo searches: No longer force to list sublevels
369 For historic reasons, =org-tags-match-list-sublevels= was
370 forced to =t= in tags-todo agenda searches.  Now we no
371 longer do this and accept the user setting of this variable.
373 Thanks to Patrick Bahr for bringing this up.
376 ** Export
378 *** Use file-source.org format instead of file.org-source
380 When publishing the source Org file to the source directory
381 (i.e. if the publishing directory is the same as the source
382 directory), then the file name will now look like
383 =file-source.org= and =file-source.org.html=.  Note that if you
384 do use this kind of setup, you probably want to specify
386 #+begin_src emacs-lisp
387 :exclude "-source\.org"
388 #+end_src
390 in your publishing project, to avoid that a new generation of
391 =-source= files is created each time you publish the project.
393 *** LaTeX export: Skip title command when there is no title
395 Using =#+TITLE:= without a value makes the LaTeX export
396 ignore the value of =org-export-latex-title-command=.
398 *** New option =org-export-html-footnote-format=
400 This defines the format for footnote references.  This
401 string must contain =%s= which will be replaced by the
402 footnote label.
404 *** More export options for source code examples
406 Allow whitespace in code references.  Allow the =-r= switch
407 to remove the references in the source code even when the
408 lines are not numbered: the labels can be explicit enough.
409 Note that =-r -k= is the same as no switch at all.
411 Thanks to Ulf Stegemann for bring this up.
413 *** LaTeX export: Allow more environment for low-level headings
415 The user can now define a non-standard environment or macro
416 to handle export of low-level headings to LaTeX.
418 For details, see the variable =org-export-latex-low-levels=.
420 *** LaTeX export: Add postscript file extensions for images
422 Some people process LaTeX files not directly to pdf, but go
423 through dvi and then to ps or pdf.  In that case, allowed
424 images are ps and eps files, not pdf and jpg.
426 This commit adds the two extensions, so that export using
427 that alternative path can be supported better.  However, it
428 is up to the user to make sure that the images are actually
429 compatible with the backend.
431 *** HTML export: Show UP and HOME links
433 =org-export-html-link-up= and =org-export-html-link-home=
434 are now also inserted into normal HTML export, above the
435 page title.
437 *** General mechanism for local variable settings
439 Many different people want to set many different variables
440 in a buffer-local way for export.  This cannot be done with
441 file variables, because the Org buffer is not current while
442 the exporter is running.
444 Lots of variables can be set with the =#+OPTIONS= lines, but
445 finding abbreviations goes only so far.
447 Therefore we have now a general mechanism that can be used
448 to bind variables during export operations.
450 A line like:
452 #+begin_src org
453   ,#+BIND: variable value
454 #+end_src
456 will bind the variable to value.  For example, the line
458 #+begin_src org
459   ,#+OPTIONS: toc:nil
460 #+end_src
462 can now equivalently be written as
464 #+begin_src org
465   ,#+BIND: org-export-with-toc nil
466 #+end_src
468 *** Clean out publishing timestamp directory
470 When changing the publishing setup, old timestamp files can
471 be left behind.  Forcing publishing of all projects with
472 =C-u C-c C-e E= will remove all existing timestamp files.
474 ** Miscellaneous
476 *** Calendar for reading a date forced into current frame.
478 Separate-frame setup for calendar had caused problems in
479 AquaEmacs.
481 *** Set timers for headlines
483 You can now set a timer related to any headline, like an
484 alarm clock.  Three new commands have been defined:
486 - org-timer-set-timer :: bound to =C-c C-x ;= in Org buffers
487   and to =;= in Org agenda buffers.  This function sets a
488   timer for the headline the cursor is currently it.  Up to
489   three timers can be used at any time.
491 - org-timer-show-remaining-time :: Show the remaining time
492   for the last timer set.
494 - org-timer-cancel-timers :: Cancel all timers.
496 This functionality was requested by Samuel Wales and
497 emulates that of /tea-time.el/ -- see the emacswiki doc at
499       http://www.emacswiki.org/emacs/tea-time
501 *** Clock reports may include a time stamp
503 Using =:timetamp t= as an option in a clock report now
504 allows insertion of the timestamp for the clocked entry.
505 Timestamps are searched for in this order: =SCHEDULING=,
506 =TIMESTAMP=, =DEADLINE= and =TIMESTAMP_IA=.
508 *** New option =org-id-uuid-program=
510 On some systems, =uuidgen= is named =uuid=.
512 *** Clock notification handler made configurable
514 See the variable =org-show-notification-handler=.
516 *** New option =org-tags-sort-function=.
518 This allows tags to be sorted by =string<=, =string>=, or a
519 custom function.
521 Thanks to James TD Smith for a patch to this effect.
523 *** Improvements for org-feed.el
525 But fixes, and allowing to choose between =wget= and =curl=.
527 Thanks to Christopher League for a patch to this effect.
530 * Version 6.28
531  :PROPERTIES:
532  :CUSTOM_ID: v6.28
533  :END:
536 ** Agenda changes
537 *** Refiling now works from the agenda
539 The command =C-c C-w= can be executed to refile an entry shown in
540 the agenda.  After the command, the entry will no longer be shown
541 in the agenda.  It it is still in an agenda file, refresh the
542 agenda to bring it up from it's new context.
544 *** Bulk action
546 You can now use the =m= key to mark entries in the agenda.  =u=
547 will unmark the etry at point, and =U= will unmark everything.
548 When one or more entries have been selected, the =B= key will
549 execute an action on all selected entries.  I believe this bulk
550 action makes mainly sense for the commands that require answering
551 interactive prompts.  So far the supported actions are
553  - Refile all selected entries to a single destination
554  - Archive all selected entries
555  - Set the TODO state of all selected entries, bypassing any
556    blocking or note-taking.
557  - Add or remove a tag to/from all selected entries
559 We can add more actions, if you convince me they make sense.
561 *** Modified keys
563 To make room for the new Bulk action commands, some keys in the
564 agenda buffer had to move:
566 There is a new command bound to the =v= key, it dispatches
567 various view mode changes.  Month and year view are now only
568 available as =v m= and =v y=, respectively.  Turning on
569 inclusion of archive trees and files (unsed to be on =v=) is
570 now on =v a= and =v A=.
572 ** Improvements related to =#+begin= blocks
574 *** Indented blocks
576 =#+begin_ ... +#end_...= blocks may now be indented along
577 with the structure of your document.  So the =#+= lines no
578 longer need to start in column 0, these lines can be, along
579 with the block contents, indented arbitrarily.  Org supports
580 this during editing with "C-c '", and now finally treats them
581 consistently during export across all backends.  This makes
582 these blocks work much better with plain list structure
583 editing, and it also looks better if you like to indent text
584 under outline headings.  For example:
586 #+begin_src org
587   ,*** This is some headline
588   ,    #+begin_example
589   ,    here we have an example
590   ,    #+end_example
591   ,
592   ,    - a plain list
593   ,      - a sublist item
594   ,        - a second sublist item
596   ,          #+begin_center
597   ,           centering within the plain list item
598   ,          #+end_center
600   ,      #+begin_example
601   ,       This example does terminate the sublist,
602   ,       the indentation of the #+begin line counts.
603   ,      #+end_example
605   ,    - but the top level plain lists continues here
606 #+end_src
608 From now on, the indentation of such a block decides whether
609 it is part of a plain list item or if it is actually
610 terminating the list.  This was so far inconsistent between
611 editing behavior and export, now it is consistent.
613 The content of the block, i.e. the text between the #+ lines
614 gets an extra indentation of two space characters, which I
615 find visually pleasing.  You can change the amount of extra
616 indentation using the variable
617 =org-src-content-indentation=.
619 This was a pretty complex change, achieved in many small
620 steps over the last couple of weeks.  It cleans up one of the
621 more annoying inconsistencies in Org.  I hope it will work,
622 but I am sure you will let me know if not.
624 *** Indented tables
626 Also tables can be fully indented now.  What is new here is
627 that the =#+TBLFM= line, and also things like =#+caption=,
628 =#+label=, =#+attr_...= etc can be indented along with the
629 table.  Again, this makes the look of the document better and
630 allows for proper plain list structure editing.
632 *** Protected blocks
634 Some =#+begin_ ... +#end_...= blocks contain text that should not
635 be processed like normal Org-mode text.  =example= and =src=
636 block fall into this class, and so do =ditaa= blocks, for
637 example.  The content in such blocks is now properly fontified in
638 a single face (called =org-block=).  This was a frequently
639 requested feature.  The list of blocks that should be protected
640 from normal Org-mode fontification is defined in the variable
641 =org-protecting-blocks=.  Modules defining new blocks should add
642 to this variable when needed.  =org-exp-blocks.el= does this
643 already.
645 *** Hide and show the contents of blocks
647 Blocks can now be folded and unfolded with =TAB=.  If you
648 want to have all blocks folded on startup, customize
649 =org-hide-block-startup= or use the =#+STARTUP= options
650 =hideblocks= or =showblocks= to overrule this variable on a
651 per-file basis.
653 Thanks to Eric Schulte for a patch to this effect.
655 *** Moved Eric Schulte's org-exp-blocks.el into the core
657 This seems to be getting a lot of use now, so it is now part of
658 the core and loaded automatically.  This package can now also be
659 used to define new blocks.  Customize the variable
660 =org-export-blocks= or use the function
661 =org-export-blocks-add-block=.
664 ** New and updated contributed modules
665 *** org-export-generic.el is now a contributed package.
667 This new module allows users to export an Org page to any type of
668 output by constructing the output using a list of prefixes,
669 format specifications and suffixes for the various types of org
670 data (headlines, paragraphs, list bullets, etc).  Use the
671 =org-set-generic-type= function to define your own export types
672 and have them bound to a key (use an upper-case letter for user
673 export definitions).
675 Thanks to Wes Hardaker for this contribution with a lot of
676 potential.
677 *** New contributed modules org-mac-iCal.el by Christopher Suckling
679 See the [[http://orgmode.org/worg/org-contrib/org-mac-iCal.php][documentation on Worg]].
681 *** org-jira.el: New file, by Jonathan Arkell
683 Links to Jira tickets.
685 *** org-R.el: Updated.
687 /org-R.el/ has been updated, thanks to Dan Davison for this.
689 *** =[ TABLE-OF-CONTENTS]= is now also used for LaTeX export
691 This cookie will mark the location of the =\tableofcontents=
692 macro.  Triggered by a report by Yuva.
695 ** Changes to the clocking system
696 *** New option `org-clock-out-switch-to-state'.
698 Clocking out can now switch the task to a particular state.
700 This was a request by Manish.
702 *** More control about what time is shown in mode line while clocking
704 - If you have an =Effort= property defined, its value is also
705   shown in the mode line, and you can configure =org-clock-sound=
706   to get an alert when your planned time for a particular item is
707   over.
709 - When an entry has been clocked earlier, the time shown in the
710   mode line while the item is being clocked is now the sum of all
711   previous, and the current clock.
713 - The exception to the previous rule are repeating entries: There
714   the clock time will only be clocking instances recorded since
715   the last time the entry when through a repeat event.  The time
716   of that event is now recorded in the =LAST_REPEAT= property
718 - You can use the property CLOCK_MODELINE_TOTAL to get
719   control over what times are displayed in the mode line, see
720   the manual for more information.
722 - The new command =C-c C-x C-e= can be used to change the Effort
723   estimate and therefore to change the moment when the clock sound
724   will go off.
726 - The clock string in the modeline now has a special font,
727   =org-mode-line-clock=.  This was a proposal by Samuel Wales.
729 - Clicking on the mode line display of the clock now offers a
730   menu with important clock functions like clocking out, or
731   switching the clock to a different task.
733 Thanks to Konstantin Antipin for part of the implementation, and
734 thanks to Bernt Hansen for helping to iron out the issues related
735 to repeated tasks.
738 ** Miscellaneous changes
740 *** Allow to specify the alignment in table columns by hand
742 Similar to the =<20>= cookies that allow to specify a maximum
743 width for a table column, you can now also specify the alignment
744 in order to overrule the automatic alignment choice based on the
745 dominance of number or non-number fields in a column.  The
746 corresponding cookies are =<l>= and =<r>= for left and right side
747 alignment, respectively.  These can be combined with maximum
748 width specification like this: =<r15>=.
750 This was a proposal by Michael Brand.
752 *** Stop logging and blocking when selecting a TODO state
754 Sometimes you want to quickly select or change a TODO state of an
755 item, without being bothered by your setup for blocking state
756 changes and logging entries.  So in this case, you don't want the
757 change be seen as a true state change.
759 You can now set the variable
760 =org-treat-S-cursor-todo-selection-as-state-change= to nil.
761 Then, when you use =S-left= and =S-right= to quickly flip through
762 states, blocking and logging will be temporarily disabled.
764 *** Export BBDB anniversaries to iCalendar
766 See the variable `org-icalendar-include-bbdb-anniversaries'.
768 This was a request by Richard Riley, thanks to Thomas Baumann
769 for the prompt implementation.
771 *** Macro definitions can be collected in an #+SETUPFILE
773 If you want to use many macros in different files, collect the
774 =#+macro= lines into a file and link to them with
776 : #+SETUPFILE: path/to-file
778 *** Subtree cloning now also shifts inactive dates
780 When using the command =org-clone-subtree-with-time-shift=, time
781 stamps will be shifted for each clone.  So far, this applied only
782 to active timestamps, but now it does apply to inactive
783 ones as well.
785 *** HTML table export: Assign alternating classes to rows
787 The new variable =org-export-table-row-tags= can now be set up in
788 a way so that different table lines get special CSS classes
789 assigned.  This can be used for example to choose different
790 background colors for odd and even lines, respectively.  The
791 docstring of the variable contains this example:
793 #+begin_src emacs-lisp
794   (setq org-export-table-row-tags
795         (cons '(if head
796                "<tr>"
797              (if (= (mod nline 2) 1)
798                  "<tr class=\"tr-odd\">"
799                "<tr class=\"tr-even\">"))
800           "</tr>"))
801 #+end_src
803 It makes use of the local variables =head= and =nline= which are
804 used to check whether the current line is a header line, and whether
805 it is an odd or an even line.  Since this is fully programmable,
806 you can do other things as well.
808 This was a request by Xin Shi.
810 *** Remember: target headline may be a function
812 When setting up remember templates, the target headline may now
813 be a function, similarly to what is allowed for the target file.
814 The functions needs to return the headline that should be used.
816 *** Remove flyspell overlays in places where they are not wanted
818 We now keep flyspell from highlighting non-words in links.
820 *** Update targets in the Makefile
822 Some new targets in the default Makefile make it easier to update
823 through git to the latest version: =update= and =up2=.  Here are
824 the definitions.
826 #+begin_src BSDmakefile
827 update:
828         git pull
829         ${MAKE} clean
830         ${MAKE} all
832 up2:    update
833         sudo ${MAKE} install
834 #+end_src
836 This was a request by Konstantin Antipin.
838 * Version 6.27
839   :PROPERTIES:
840   :CUSTOM_ID: v6.27
841   :END:
843 ** Details
845 *** Macros for export
847 Macro processing for export has been enhanced:
849 - You can use arguments in a macro, for example
850 #+begin_src org
851 #+macro hello Greet the $1: Hello $1
852 #+end_src
853   which would turn ={{{hello(world)}}}= into =Greet the world: Hello world=
855 - The macro value can be an emacs-lisp for to be evaluated at the
856   time of export:
858 #+begin_src org
859 ,#+macro: datetime (eval (format-time-string "$1"))
860 #+end_src
862 - More built-in default macros:
863   - date(FORMAT_TIME_STRING) :: Time/Date of export
864   - time(FORMAT_TIME_STRING) :: Same as date
865   - modification-time(FORMAT_TIME_STRING) :: Last modification of file
866   - input-file :: Name of the input file
868   The new built-in macros have been requested by Daniel Clemente.
870 *** Link completion for files and bbdb names
872 Org now has a general mechanism how modules can provide enhanced
873 support (for example through completion) when adding a link.  For
874 example, when inserting a link with =C-c C-l=, you can now type
875 =file:= followed by =RET= to get completion support for inserting
876 a file.  After entering =bbdb:= and =RET=, a completion interface
877 will allow to complete names in the BBDB database.  These are the
878 only ones implemented right now, but modules that add a link type
879 =xyz:= can simple define =org-xyz-complete-link= that should
880 return the full link with prefix after aiding the used to create
881 the link.  For example, if you have =http= links that you have to
882 insert very often, you could define a function
883 =org-http-complete-link= to help selecting the most common ones.
885 *** Source file publishing
887 It is now easy to publish the Org sources along with, for
888 example, HTML files.  In your publishing project, replace
890 : :publishing-function org-publish-org-to-html
892 with
894 :  :publishing-function (org-publish-org-to-html org-publish-org-to-org)
895 :  :plain-source t
896 :  :htmlized-source t
898 to get both the plain org file and an htmlized version that
899 looks like your editing buffer published along with the HTML
900 exported version.
902 *** Push exported stuff to kill ring
904 All exporters now push the produced material onto the kill-ring
905 in Emacs, and also to the external clipboard and the primary
906 selection to make it easy to paste this under many circumstances.
908 *** Tables in LaTeX without centering
909 Set the variable `org-export-latex-tables-centered' to nil if you
910 prefer tables not to be horizontally centered.  Note that
911 longtable tables are always centered.
913 *** LaTeX export: TODO markup configurable
915 The markup for TODO keywords in LaTeX export is now configurable
916 using the variable =org-export-latex-todo-keyword-markup=.
918 *** ASCII export to buffer
920 ASCII export has now the same command variations as the other
921 export backends, for example exporting to a temporary buffer
922 instead of a file.
924 The was a request by Samuel Wales.
926 *** Accessibility improvements for HTTP tables
928 When exporting tables to HTML, Org now adds =scope= attributes to
929 all header fields, in order to support screen readers.
930 Setting the variable
931 =org-export-html-table-use-header-tags-for-first-column= will
932 request using =<th>= instead of =<td>= also in the entire first
933 column, so that also row information can be scoped.  This was
934 triggered by a request by Jan Buchal, and as usually Sebastian
935 Rose came up with the right implementation.
937 *** Timezone information in iCalendar files
939 The timezone information in iCalendar files is now written in the
940 correct format, and can be set in the variable
941 =org-ical-timezone=.  This variable is initialized from the =TZ=
942 environment variable.
944 *** New contributed package /org-special-blocks.el/
946 The package turns any "undefined" =#+begin_...= blocks into LaTeX
947 environments for LaTeX export, and into =<div>= tags for HTML
948 export.
950 Thanks to Chris Gray for this contribution.
952 *** More flexibility about placing logging notes.
954 Logging into a drawer can now also be set for individual
955 subtrees using the =LOG_INTO_DRAWER= property.
957 Requested by Daniel J. Sinder
959 *** New reload key
961 Reloading Org has moved to a new key, =C-c C-x !=, and is now
962 also available in the agenda.
964 *** Start Agenda with log mode active
965 Set the new option =org-agenda-start-with-log-mode= to have
966 log mode turned on from the start.  Or set this option for
967 specific custom commands.
969 Thanks to Benjamin Andresen for a patch to this effect.
971 *** Agenda speed optimizations
973 Depending on circumstances, construction the agenda has become a
974 lot faster.
976 Triggered by Eric S Fraga's reports about using Org on a slow
977 computer like a netbook.
979 *** New face for today in agenda
981 The date that is today can now be highlighted in the agenda by
982 customizing the face =org-agenda-date-today=.
984 Thanks to Dmitri Minaev for a patch to this effect.
986 *** Properties to disambiguate statistics
988 When an entry has both check boxes and TODO children, it is not
989 clear what kind of statistics a cookie should show  You can now use
990 the =COOKIE_DATA= property to disambiguate, by giving it a value
991 "todo" or "checkbox".
993 Thanks to Ulf Stegeman, who was persistent enough to push this
994 change past my initial resistance.
996 *** Checkboxes and TODO items: recursive statistics
998 Setting the variable =org-hierarchical-checkbox-statistics= to
999 =nil= will make statistics cookies count all checkboxes in the
1000 lit hierarchy below it.
1002 Setting the variable =org-hierarchical-todo-statistics= to
1003 =nil= will do the same for TODO items.
1005 To turn on recursive statistics only for a single subtree, add the
1006 word "recursive" to the =COOKIE_DATA= property.  Note that you
1007 can have such a property containing both "todo" or "checkbox" for
1008 disambiguation, and the word "recursive", separated by a space
1009 character.
1011 The change for checkboxes was a patch by Richard Klinda.
1013 *** New operators for column view
1015 Column view has new operators for computing the minimum,
1016 maximum, and mean of property values.
1018 Thanks to Mikael Fornius for a patch to this effect.
1020 * Version 6.26
1021   :PROPERTIES:
1022   :CUSTOM_ID: v6.26
1023   :END:
1025 ** Details
1027 *** custom IDs
1029 Entries can now define a =CUSTOM_ID= property.  This property
1030 must be a valid ID according to HTML rules, and it will be used
1031 in HTML export as the main target ID for this entry.  That means,
1032 both the table of conents and other internal links will
1033 automatically point to this ID instead of the automatic ID like
1034 =sec-1.1=.  This is useful to create humar-readable permanent
1035 links to these location in a document.
1037 The user is responsible to make sure that  custom IDs are unique
1038 within a file.
1040 Links written like =[[#my-target-name] ]= can be used to target a
1041 custom ID.
1043 When using =C-c l= to store a link to a headline that has a
1044 custom ID, Org will now create two links at the same time.  One
1045 link will be to the custom ID.  The other will be to the globaly
1046 unique ID property.  When inserting the line with =C-c C-l=, you
1047 need to decide which one you want to use.  Use the ID links for
1048 entries that are expected to move from one file to the next.  Use
1049 custom ID links publishing projects, when you are sure that te
1050 entry will stay in that file.  See also the variable
1051 =org-link-to-org-use-id=.
1053 *** Remember to non-org files
1055 If the target headline part of a remember template definition
1056 entry is =top= or =bottom=, the target file may now be a
1057 non-Org-mode file.  In this case, the content of the remember
1058 buffer will be added to that file without enforcing an Org-like
1059 headline.  Sorry, Russel, that this took so long.
1061 *** New property to turn off todo dependencies locally
1063 Setting the property =NOBLOCKING= will turn off TODO dependency
1064 checking for this entry.
1066 *** Refile verify
1068 A new function is called to verify tasks that are about to be
1069 selected as remember targets.  See the new variable
1070 =org-refile-target-verify-function=.
1072 *** New version org ditaa.jar
1074 Thanks to Stathis Sideris.
1076 *** htmlize.el is now in the contrib directory
1078 The latest version of htmlize.el is now the in the contrib
1079 directory of Org.  Thanks to Hrvoje Niksic for allowing this.
1081 * Version 6.25
1082   :PROPERTIES:
1083   :CUSTOM_ID: v6.25
1084   :END:
1086 ** Major new features
1088 *** DocBook export
1090 We now do have a fully functional DocBook exporter, contributed by
1091 Baoqiu Cui.  Simple press =C-c e D= to export the current file to
1092 DocBook format.  You can also get direct conversion to PDF if you have
1093 made the correct setup, please see the manual for details.
1095 Kudos to Baoqiu for this fantastic addition, and my personal thanks
1096 for doing this in a such a smooth way that I did not have to do
1097 anything myself.
1099 *** Protocols for external access to Emacs and Org
1101 /org-protocol.el/ is a new module that supersedes both
1102 /org-annotation-helper.el/ and /org-browser.el/ and replaces them
1103 with a more abstracted interface.  /org-protocol/ intercepts
1104 calls from emacsclient to trigger custom actions without external
1105 dependencies.  Only one protocol has to be configured with your
1106 external applications or the operating system, to trigger an
1107 arbitrary number of custom actions. Just register your custom
1108 sub-protocol and handler with the new variable
1109 =org-protocol-protocol-alist=.
1111 org-protocol comes the with three standard protocol handlers (in
1112 parenthesis the name of the sub-protocol):
1113 - =org-protocol-remember= (=remember=) :: Trigger remember
1114 - =org-protocol-store-link= (=store-link=) :: Store a link
1115 - =org-protocol-open-source= (=open-source=) :: Find the local
1116      source of a remote web page.
1118 Passing data to emacs is now as easy as calling
1120 : emacsclient org-protocol://sub-protocol://data
1122 For more information see the [[http://orgmode.org/worg/org-contrib/org-protocol.php][online documentation]]
1124 Thanks to Sebastian Rose for this really beautiful module.
1126 *** Inline tasks
1128 Inline tasks are tasks that have all the properties of normal
1129 outline nodes, including the ability to store meta data like
1130 scheduling dates, TODO state, tags and properties.  But these
1131 tasks are not meant to introduce additional outline structure, at
1132 least as far as visibility cycling and export is concerned.  They
1133 are useful for adding tasks in extensive pieces of text where
1134 interruption of the flow or restructuring is unwanted.
1136 This feature is not turned on by default, you need to configure
1137 =org-modules= to turn it on, or simply add to you .emacs file:
1139 : (require 'org-inlinetask)
1141 After that, tasks with level 15 (30 stars when using
1142 org-odd-levels-only) will be treated as inline tasks, and
1143 fontification will make obvious which tasks are treated in this
1144 way.
1146 *** Input from RSS feeds
1148 Org can now collect tasks from an RSS feed, a great method to get
1149 stuff from online call and note-taking services into your trusted
1150 system.  You need to configure the feeds in the variable
1151 =org-feed-alist=.  The manual contains a short description, more
1152 detailed information is [[http://orgmode.org/worg/org-contrib/org-feed.php][available on Worg]].
1154 Full credit goes to Brad Bozarth who really [[http://thread.gmane.org/gmane.emacs.orgmode/12251][paved the way]] for this
1155 exciting new feature.
1158 ** Export
1160 *** Allow modification of table attributes in HTML export
1162 The #+ATTR_HTML line can now be used to set attributes for a
1163 table.  Attributes listed in that line will replace existing
1164 attributes in =org-export-html-table-tag=, or will add new ones.
1165 For example
1167 : #+ATTR_HTML: border="2" rules="all" frame="all"
1168 : #+CAPTION: Finally a table with lines!
1169 : | a | b |
1170 : |---|---|
1171 : | 1 | 2 |
1173 *** LaTeX low levels are now exported as itemize lists
1175 LaTeX export now treats hierarchy levels 4,5, etc as itemize
1176 lists, not as description lists as before.  This is more
1177 consistent with the behavior of HTML export.  You can configure
1178 this behavior using the variable =org-export-latex-low-levels=.
1180 *** Markup for centering.
1182 Text can be exported centered with
1184 #+begin_src org
1185 ,#+BEGIN_CENTER
1186 ,Everything should be made as simple as possible, \\
1187 ,but not any simpler
1188 ,#+END_CENTER
1189 #+end_src
1191 *** Sitemap file is now /sitemap.org/
1193 Org-publish can produce a list of all files in a project.
1194 Previously the file containing this list was called "index.org",
1195 really a brain-dead default because during publication it would
1196 overwrite the "index.html" file of the website.
1198 The default file name is now "sitemap.org"
1200 *** Protect explicit target links in HTML export
1202 If a link is =[[#name] [desc]]=, the href produced when exporting
1203 the file will be exactly href="#name".  So starting a link target
1204 with # will indicate that there will be an explicit target for
1205 this.
1207 *** HTML export: Allow "- ___" to explicitly terminate a list
1209 If a list contains "- ___" (three underscores) as an item, this
1210 terminates the list, ignoring this item.  This is an experimental
1211 feature, it may disappear again if we find other ways to deal
1212 with literal examples right after lists.
1214 See [[http://thread.gmane.org/gmane.emacs.orgmode/12299/focus%3D12312][this mailing list thread]] for context.
1216 ** Agenda
1218 *** Changing the time of an entry from the agenda
1220 We now have a way to change not only the date, but also the start
1221 time of an entry from the agenda.  The date is normally changed
1222 with S-right/left.  Now, if you add a C-u prefix, the hour will
1223 be changed.  If you immediately press S-right/left again, hours
1224 will continue to be changed.  A double prefix will do the same
1225 for minutes.  If the entry has a time range like 14:40-16:00,
1226 then both times will change, preserving the length of the
1227 appointment.
1229 *** Show saved PDF agenda view with prefix arg
1231 When writing an agenda view to a PDF file, supplying a a prefix
1232 argument (=C-u C-x C-w=) will get the new file displayed
1233 immediately.
1235 This was a request by Alan E Davis.
1237 *** Filter for entries with no effort defined
1239 During secondary agenda filtering, pressing "?" now will install a
1240 filter that selects entries which do not have an effort defined.
1242 This new model was necessary because we needed to stop interpreting
1243 entries with no effort defines as 0 effort.  This was inconsistent,
1244 because for normal agenda sorting, the treatment of these entries
1245 depends on the variable =org-sort-agenda-noeffort-is-high=.  Now this
1246 variable is also respected during filtering.
1248 This new feature resulted from a [[http://thread.gmane.org/gmane.emacs.orgmode/12493][discussion]] with Matt Lundin and
1249 Bernt Hansen.
1251 *** Introduce user-defined sorting operators
1253 The new variable =org-agenda-cmp-user-defined= can contain a
1254 function to test how two entries should be compared during
1255 sorting.  The symbols =user-defined-up= and =user-defined-down=
1256 can then be part of any sorting strategy.
1258 This was a request by Samuel Wales.
1260 *** Indentation of subitems in the agenda
1262 When a tags/property match does match an entry and it's
1263 sublevels, the sublevels used to be indented by dots, to indicate
1264 that the matches likely result from tag inheritance.  This is now
1265 no longer the default, so the subitems will not get special
1266 indentation.  You can get this behavior back with
1268 : (setq org-tags-match-list-sublevels 'indented)
1270 *** Stuck projects search now searches subtrees of unstuck projects
1272 When, during a stuck-project search, a project tree is identified
1273 as not stuck, so far the search would continue after the end of
1274 the project tree.  From now on, the search continues in the
1275 subtree, so that stuck subprojects can still be identified.
1278 ** Miscellaneous
1280 *** Citations: Use RefTeX to insert citations
1282 RefTeX can now be used to create a citation in Org-mode buffers.
1283 Setup the buffer with
1285 #+begin_src org
1286 ,#+BIBLIOGRAPHY: bibbase style
1287 #+end_src
1289 and create citations with =C-c C-x [=.
1291 Together with org-exp-bibtex.el by Taru Karttunen (available as a
1292 contributed package), this provides a great environment for
1293 including citations into HTML and LaTeX documents.
1295 *** Changing time ranges as a block
1297 When using the S-cursor keys to change the first time in a time
1298 range like
1300 : <2009-04-01 Wed 14:40-16:40>
1302 then the end time will change along, so that the duration of the
1303 event will stay the same.
1305 This was a request by Anupam Sengupta.
1307 *** New sparse tree command
1309 A new sparse tree command shows entries with times after a certain
1310 date.  Keys are =C-c / a=, this command is for symmetry
1311 with =C-c / b=.
1313 *** Cloning tasks
1315 A new command allows to create clone copies of the current entry,
1316 with shifted dates in all stamps in the entry.  This is useful to
1317 create, for example, a series of entries for a limited time
1318 period.  I am using it to prepare lectures, for example.
1320 *** New face for checkboxes
1322 Checkboxes now have their own face, =org-checkbox=.  This can be
1323 used for nice effects, for example choosing a face with a box
1324 around it:
1326 #+begin_src emacs-lisp
1327 (custom-set-faces
1328  (org-checkbox ((t (:background "#444444" :foreground "white"
1329                 :box (:line-width 1 :style released-button)))))
1330 #+end_src
1332 *** M-a and M-e for navigation in a table field
1334 In tables fields, the sentence commands =M-a= and =M-e= are
1335 redefined to jump to the beginning or end of the field.
1337 This was a request by Bastien Guerry.
1339 *** Backup files for remember buffers
1341 Sometimes users report that they lost data when not immediately
1342 storing a new remember note, and then later exiting Emacs or
1343 starting a new remember process.
1345 Now you can set the variable =org-remember-backup-directory=.
1346 Each remember buffer created will then get its own unique file
1347 name in that directory, and the file will be removed only if the
1348 storing of the note to an Org files was successful.
1350 *** org-mac-message.el: New functions to access flagged mail
1352 Christopher Suckling has added functionality to
1353 /org-mac-message.el/.  In particular, you can now select a number
1354 of messages and easily get links to all of them with a single
1355 command.  For details, see the [[http://orgmode.org/worg/org-contrib/org-mac-message.php][online documentation]].
1357 *** Read-date: New hook
1359 The new hook =org-read-date-minibuffer-setup-hook= is called when
1360 setting up the minibuffer for reading a date.  If can be used to
1361 install new keys into the temporary keymap used there.
1364 * Version 6.24
1365   :PROPERTIES:
1366   :CUSTOM_ID: v6.24
1367   :END:
1369 ** Incompatible changes
1372 *** Tag searches are now case-sensitive
1374 From this release on, tag searches will be case sensitive.  While
1375 I still think it would be nice to have them case-insensitive,
1376 this was both an inconsistency (TODO keyword searches have always
1377 been case-sensitive), and trouble for coding some efficient
1378 algorithms.  So please make sure that you give the tags with
1379 correct casing when prompted for a match expression.
1381 *** New key for creating tags/property sparse trees
1383 The key to produce a sparse tree matching tags and properties is
1384 now =C-c / m= instead of =C-c a T=.  This is also more consistent
1385 with the =C-c a m= key for the corresponding agenda view.
1386 =C-c / T= will still work for now, but it is no longer advertised
1387 in the documentation and may go away at any time in the future.
1389 *** IDs in HTML have "ID-" prefix when generated by uuidgen
1391 /uuidgen/ generates IDs that often start with a number, not a
1392 latter.  However, IDs and names in XHTML must start with a letter.
1393 Therefore, IDs in HTML files will now get an "ID-" prefix if they
1394 have been generated by uuidgen.  This means that id links from one
1395 file to another may stop working until all files have been
1396 exported again.
1398 *** In agenda, only priority cookies get the special face
1400 So far, an entire task would get a special face when
1401 =org-agenda-fontify-priorities= was set.  Now, the default value
1402 for this variable is the symbol =cookies=, which means that on
1403 the cookie is fontified.  Set it to =t= if you want the entire
1404 task headline to be fontified.
1406 ** Details
1408 *** PDF export of agenda views
1410 Agenda views can now be exported to PDF files by writing them to
1411 a file with extension ".pdf".  Internally this works by first
1412 producing the postscript version and then converting that to PDF
1413 using the ghostview utility =ps2pdf=.  Make sure that this
1414 utility is installed on your system.
1416 The postscript version will not be removed, it will stay around.
1418 *** Inline some entry text for Agenda View export
1420 When exporting an agenda view to HTML or PDF for printing or
1421 remote access, one of the problems can be that information stored
1422 in entries below the headline is not accessible in that format.
1424 You can now copy some of that information to the agenda view
1425 before exporting it.  For this you need to set the variable
1426 =org-agenda-add-entry-text-maxlines= to a number greater than 0.
1428 #+begin_src emacs-lisp
1429 (setq org-agenda-add-entry-text-maxlines 20)
1430 #+end_src
1432 Or you can do this with the settings in a custom agenda view,
1433 for example
1435 #+begin_src emacs-lisp
1436 ("A" "" agenda ""
1437  ((org-agenda-ndays 1)
1438   (org-agenda-add-entry-text-maxlines 5))
1439  ("agenda-today.pdf"))
1440 #+end_src
1442 *** Improved ASCII export of links
1444 ASCII export of links works now much better.  If a link has a
1445 link and a description part which are different, then the
1446 description will remain in the text while the link part will be
1447 moved to the end of the current section, before the next heading,
1448 as a footnote-like construct.
1450 Configure the variable =org-export-ascii-links-to-notes= if you
1451 prefer the links to be shown in the text.  In this case, Org will
1452 make an attempt to wrap the line which may have become
1453 significantly longer by showing the link.
1455 Thanks to Samuel Wales for pointing out the bad state of ASCII
1456 link export.
1458 *** Custom agenda commands can specify a filter preset
1460 If a custom agenda command specifies a value for
1461 =org-agenda-filter-preset= in its options, the initial view of
1462 the agenda will be filterd by the specified tags.  Applying a
1463 filter with =/= will then always add to that preset filter,
1464 clearing the filter with =/ /= will set it back to the preset.
1465 Here is an example of a custom agenda view that will display the
1466 agenda, but hide all entries with tags =FLUFF= or =BLUFF=:
1468 #+begin_src emacs-lisp
1469 ("A" "" agenda ""
1470  ((org-agenda-filter-preset '("-FLUFF" "-BLUFF"))))
1471 #+end_src
1473 This is in response to a [[http://thread.gmane.org/gmane.emacs.orgmode/11752][thread on the mailing list]], started by
1474 Daniel Clemente and with great contributions by Bernt Hansen and
1475 Matt Lundin.
1477 *** Exporting of citations to LaTeX and HTML, using BibTeX
1479 Citations can now me made using BibTeX, and will be exported to
1480 LaTeX and HTML.  This is implemented in a contributed package by
1481 Taru Karttunen, /org-exp-bibtex.el/.  Kudos to Taru for this
1482 really nice addition.
1484 *** Finally a way to specify keywords and description for HTML export
1486 Use something like
1488 #+begin_src org
1489 #+DESCRIPTION: This page is all about ....
1490 #+KEYWORDS: org-mode, indexing, publishing
1491 #+end_src
1493 To specify the content of the description and keywords meta tags
1494 for HTML output.
1496 *** org-collector.el is now a contributed package
1498 /org-collector.el/ provides functions to create tables by
1499 collecting and processing properties from entries in a specific
1500 scope like the current tree or file, or even from all agenda
1501 files.  General lisp expressions can be used to manipulate the
1502 property values before they are inserted into an org-mode table,
1503 for example as a dynamic block that is easy to update.
1505 Thanks to Eric Schulte for yet another great contribution to
1506 Org.
1508 *** Update of org2rem.el
1510 /org2rem.el/ has been updated significantly and now does a more
1511 comprehensive job of exporting Org events to remind.
1513 Thanks to Sharad Pratap for this update.
1515 *** New div around the entire page in HTMP export
1517 A new =<div id=content>= is wrapped around the entire page,
1518 everything that is inside =<body>=.
1520 This means that you need to update /org-info.js/ (if you have a
1521 local copy).  It will be safe todo so, because the new
1522 org-info.js still handles older pages correctly.  Thanks to
1523 Sebastian Rose for making these changes so quicky.
1525 *** Clustering characters for undo
1527 When typing in Org-mode, undo will now remove up to 20 characters
1528 at a time with a single undo command.  This is how things work
1529 normally in Emacs, but the special binding of characters in
1530 Org-mode made this impossible until now.
1532 Thanks to Martin Pohlack for a patch which mimicks the behavior
1533 of the Emacs command loop for the Org version of
1534 =self-insert-command=.  Note that this will not work in headlines
1535 and tables because typing there will do a lot of extra work.
1537 There might be a small typing performance hit resulting from this
1538 change - please report in the mailing list if this is noticeable
1539 and annoying.
1541 *** Separate settings for special C-a and C-e
1543 The variable `org-special-ctrl-a/e' now allows separate settings
1544 for =C-a= and =C-e=.  For example
1546 #+begin_src emacs-lisp
1547 (setq org-special-ctrl-a/e '(reversed . t))
1548 #+end_src
1550 Thanks to Alan Davis for this proposal.
1552 *** orgstruct++-mode improvements
1554 In addition to =orgstruct-mode= which allows to use some Org-mode
1555 structure commands in other major modes, there is a more invasive
1556 version of this mode: =orgstruct++-mode=.  This mode will import
1557 all paragraph and line wrapping variables into the major mode, so
1558 that, for example, during typing the auto-fill wrapping of items
1559 will work just like in Org-mode.  This change is not reversible,
1560 so turning off =orgstruct++-mode= will not remove these settings
1561 again. =orgstruct++-mode= is most useful in text modes like
1562 message-mode or =magit-log-edit-mode=.  Furthermore,
1563 =orgstruct++-mode= will recognize plain list context not only in
1564 the first line of an item, but also further down, so that =M-RET=
1565 will correctly insert new items.
1567 Thanks to Austin Frank for requesting some of these changes.
1569 *** Promotion and demotion works for regions now
1571 =M-right= and =M-left= now do demote and promote all headlines in
1572 an active region.
1574 *** Match syntax for tags/properties is now described in a single place
1576 The manual chapters about tags and about properties now only
1577 refer to the section about agenda views, where the general syntax
1578 of tag/property matches is described.
1580 *** Macro replacement
1582 A string like ={{{ title }}}= will be replaced by the title of
1583 the document, ={{{ email }}}= by the email setting of the author
1584 and similarly for other export settings given in =#+...= lines.
1585 In addition to that, you can define an arbitrary number of
1586 macros, for example:
1588 #+begin_src org
1589 ,#+MACRO: myaddress 41 Onestreet, 12345 New York, NY
1591 ,my address is {{{myaddress}}}, see you there.
1592 #+end_src
1594 Macro replacement is the very first thing that happens during
1595 export, and macros will be replaced even in source code and other
1596 protected regions.
1598 *** New reload command, with keyboard access
1600 There is now a special command to reload all Org Lisp files, so
1601 that you can stay in your Emacs session while pulling and
1602 compiling changes to Org.  The command to reload the compiled
1603 files (if available) is =C-c C-x r=.  If no compiled files are
1604 found, uncompiled ones will be loaded.  If you want to force
1605 loading of uncompiled code (great for producing backtraces), use
1606 a prefix arg: =C-u C-c C-x r=.  Both commands are available in
1607 the menu as well.
1609 This new command was inspired by one written earlier by Bernt
1610 Hansen.
1612 *** Faces for priority cookies can now be set freely
1614 The new variable =org-priority-faces= can be used to set faces
1615 for each priority.
1617 *** New key for creating tags/property sparse trees
1619 The key to produce a sparse tree matching tags and properties is
1620 now =C-c / m= instead of =C-c a T=.  This is more consistent with
1621 the =C-c a m= key for the corresponding agenda view.  =C-c / T=
1622 will still work for now, but it is no longer advertised in the
1623 documentation and may go away at any time in the future.
1625 *** IDs in HTML have "ID-" prefix when generated by uuidgen
1627 /uuidgen/ generates IDs that often start with a number, not a
1628 letter.  However, IDs and names in XHTML must start with a letter.
1629 Therefore, IDs in HTML files will now get an "ID-" prefix if they
1630 have been generated by /uuidgen/.  This means that id links from one
1631 file to another may stop working until all files have been
1632 exported again, so that both links and targets have the new prefix.
1634 *** In agenda, only priority cookies get the special face
1636 So far, an entire task would get a special face when
1637 =org-agenda-fontify-priorities= was set.  Now, the default value
1638 for this variable is the symbol =cookies=, which means that on
1639 the cookie is fontified.  Set it to =t= if you want the entire
1640 task headline to be fontified.
1642 *** Turning off time-of-day search in headline
1644 Some people like to put a creation time stamp into a headline and
1645 then get confused if the time-of-day found in there shows up as
1646 the time-of-day of the deadline/scheduling entry for this
1647 headline.  The reason for this is that Org searches the headline
1648 for a free-format time when trying to sort the entry into the
1649 agenda, and that search accidentally finds the time in the
1650 creation time stamp or something else that happens to look like a
1651 time.  If this is more painful than useful for you, configure the
1652 new variable =org-agenda-search-headline-for-time=.
1655 * Version 6.23
1656   :PROPERTIES:
1657   :CUSTOM_ID: v6.23
1658   :END:
1659 ** Overview
1661 - Capture state change notes into a drawer
1662 - Clock lines are now captured into the LOGBOOK drawer as well
1663 - Added org-R.el to contrib directory
1664 - Allow individual formatting of each TODO keyword in HTML export
1665 - New hooks for add-ons to tap into context-sensitive commands
1666 - Publishing files irrespective of extension
1667 - New variable index in the manual
1668 - The ORDERED property also influences checkboxes
1669 - The ORDERED property can be tracked with a tag
1670 - You may now specify line breaks in the fast tags interface
1671 - When a TODO is blocked by checkboxes, keep it visible in agenda
1672 - LaTeX can import Org's in-buffer definitions for TITLE, EMAIL etc.
1674 ** Incompatible changes
1676 - CLOCK lines will now be captured into the LOGBOOK drawer.
1677   See below for details.
1679 ** Details
1681 *** Capture state change notes into a drawer
1683 State change notes can now be captured into a drawer =LOGBOOK=,
1684 to keep the entry tidy.  If this is what you want, you will need
1685 this configuration:
1687 #+begin_src emacs-lisp
1688 (setq org-log-into-drawer "LOGBOOK")
1689 #+end_src
1691 Thanks to Wanrong Lin for this proposal.
1693 *** Clock lines are now captured into the LOGBOOK drawer as well
1695 The =CLOCK= drawer will be abandoned, clock lines will now also
1696 end up in a drawer =LOGBOOK=.  The reason for this is that it's a
1697 bit useless to have two different drawers for state change notes
1698 and clock lines.  If you wish to keep the old way, use
1700 #+begin_src emacs-lisp
1701 (setq org-clock-into-drawer "CLOCK")
1702 #+end_src
1704 *** Added org-R.el to contrib directory
1706 Dan Davison has contributed /org-R.el/ which is now in the
1707 contrib directory.  Org-R performs numerical computations and
1708 generates graphics.  Data can come from org tables, or from csv
1709 files; numerical output can be stored in the org buffer as org
1710 tables, and links are created to files containing graphical
1711 output.  Although, behind the scenes, it uses R, you do not need
1712 to know anything about R.  Common operations, such as tabulating
1713 discrete values in a column of an org table, are available "off
1714 the shelf" by specifying options on lines starting with =#+R:=.
1715 However, you can also provide raw R code to be evaluated.  The
1716 documentation is currently the worg tutorial at
1717 http://orgmode.org/worg/org-tutorials/org-R/org-R.php
1719 Thanks to Dan for this great contribution.
1721 *** Allow individual formatting of TODO keyword and tags in HTML export
1723 TODO keywords in HTML export have the CSS class =todo= or =done=.
1724 Tags have the CSS class =tag=.  In addition to this, each keyword
1725 has now itself as class, so you could do this in your CSS file:
1727 #+begin_src css
1728 .todo { font-weight:bold; }
1729 .done { font-weight:bold; }
1730 .TODO { color:red; }
1731 .WAITING { color:orange; }
1732 .DONE { color:green; }
1733 #+end_src
1735 If any of your keywords causes conflicts with CSS classes used
1736 for different purposes (for example a tag "title" would cause a
1737 conflict with the class used for formatting the document title),
1738 then you can use the variables =org-export-html-tag-class-prefix=
1739 and =org-export-html-todo-kwd-class-prefix= to define prefixes
1740 for the class names for keywords, for example "kwd-".
1742 Thanks to Wanrong Lin for this request, and to Sebastian Rose for
1743 help with the implementation.
1745 *** New hooks for add-ons to tap into context-sensitive commands
1747 Some commands in Org are context-sensitive, they will execute
1748 different functions depending on context.  The most important
1749 example is of course =C-c C-c=, but also the =M-cursor= keys fall
1750 into this category.
1752 Org has now a system of hooks that can be used by add-on packages
1753 to install their own functionality into these keys.  See the
1754 docstring of =org-ctrl-c-ctrl-c-hook= for details.  The other
1755 hooks are named like =org-metaleft-hook= or
1756 =org-shiftmetaright-hook=.
1758 *** Publishing files irrespective of extension
1760 If you set the =:base-extension= property for a publishing
1761 project to the symbol =any=, all files in the directory will be
1762 published, irrespective of extension.
1764 Thanks to Richard Klinda for a patch to this effect.
1766 *** New variable index in the manual
1768 A new index in the manual lists all variables mentioned in the
1769 manual, about 200 variables in total.
1771 *** The ORDERED property also influences checkboxes
1773 When an entry has the ORDERED property set, checkboxes in
1774 the entry must be completed in order.  This was already the case
1775 for children TODO items, now it also applies for checkboxes.
1777 Thanks to Rainer Stengele for this proposal.
1779 *** The ORDERED property can be tracked with a tag
1781 The =ORDERED= property is used to flag an entry so that subtasks
1782 (both children TODO items and checkboxes) must be completed in
1783 order.  This property is most easily toggled with the command
1784 =C-c C-x o=.  A property was chosen for this functionality,
1785 because this should be a behavior local to the current task, not
1786 inherited like tags.  However, properties are normally
1787 invisible.  If you would like visual feedback on the state of
1788 this property, configure the variable
1789 =org-track-ordered-property-with-tag=.  If you then use =C-c C-x
1790 o= to toggle the property, a tag will be toggled as well, for
1791 visual feedback.
1793 Note that the tag itself has no meaning for the behavior of TODO
1794 items and checkboxes, and that changing the tag with the usual
1795 tag commands will not influence the property and therefore the
1796 behavior of TODO and checkbox commands.
1798 *** You may now specify line breaks in the fast tags interface
1800 Up to now, the fast tags interface tried to lump as many tags as
1801 possible into a single line, with the exception that groups would
1802 always be on a line by themselves.
1804 Now, if you use several lines to define your tags, like
1806 #+begin_src org
1807 ,#+TAGS: aa(a) bb(b) cc(c)
1808 ,#+TAGS: dd(d) ee(e) ff(f)
1809 #+end_src
1811 then there will also be a line break after the "cc" tag in the
1812 fast tag selection interface.  You may also write
1814 #+begin_src org
1815 ,#+TAGS: aa(a) bb(b) cc(c) \n dd(d) ee(e) ff(f)
1816 #+end_src
1818 to achieve the same effect, and you can use =\n= several times in
1819 order to produce empty lines.  In =org-tag-alist=, newlines are
1820 represented as =(:newline)=.
1822 Thanks to Christopher Suckling for a patch to this effect.
1824 *** When a TODO is blocked by checkboxes, keep it visible in agenda
1826 When the variable =org-agenda-dim-blocked-tasks= is set to
1827 =invisible=, tasks that are blocked will not be visible in the
1828 agenda.  If the blocking is due to child TODO entries, this does
1829 make sense because the children themselves will show up in the
1830 TODO list.
1832 However, as John Rakestraw has [[http://thread.gmane.org/gmane.emacs.orgmode/10939][pointed out]], if the blocking is
1833 done by checkboxes, no trace of these subtasks is left.
1834 Therefore, when the blocking is done by checkboxes, we now
1835 overrule the =invisible= setting and replace it with mere dimming
1836 of the task.
1838 *** LaTeX can import Org's in-buffer definitions for TITLE, EMAIL etc.
1840 If you configure =org-export-latex-import-inbuffer-stuff=,
1841 in-buffer definitions like #+TITLE will be made available in the
1842 LaTeX file as =\orgTITLE=.
1844 This was a request by Russel Adams.
1846 * Version 6.22
1847   :PROPERTIES:
1848   :CUSTOM_ID: v6.22
1849   :END:
1850 ** Details
1852 *** org-choose.el by Tom Breton is now included
1854 Org-choose helps documenting a decision-making process by using
1855 TODO keywords for different degrees of /chosenness/, and by
1856 automatically keeping a set of alternatives in a consistent state.
1858 Documentation for /org-choose.el/ is available [[http://orgmode.org/worg/org-contrib/org-choose.php][here]].
1860 This package inserts itself into Org using hooks, so if other
1861 people would like to do interesting stuff with TODO keywords for
1862 special purposes, looking at Tom's code might be a good way to
1863 start.
1865 Thanks to Tom for this interesting contribution!
1867 *** orgmode.org and Worg css works now better on IE
1869 Thanks to Sebastian Rose for making these changes.
1871 *** When exporting a subtree, headline levels are now relative to parent
1873 This was reported as a bug by William Henney and is fixed now.
1875 *** Inactive dates in tables can be used for sorting.
1877 When sorting table fields or entries by date, Org first tries to
1878 find an active date, and, if none exist, uses a passive date if
1879 present.
1881 This was a request by Hsui-Khuen Tang
1883 *** The default for =org-return-follows-link= is back to =nil=
1885 Setting it to =t= violates Emacs rules to some extent.  The
1886 internal implementation of this has been improved, so setting it
1887 to =t= should now be pretty stable.
1889 *** Automatic scheduling of siblings with org-depend.el
1891 The sibling of a DONE task can now automatically be scheduled.
1893 This was a patch by Andrew Hyatt.
1895 *** New skipping conditions
1897 The functions =org-agenda-skip-entry-if= and
1898 =org-agenda-skip-subtree-if= now accept =timestamp= and
1899 =nottimestamp= as additional conditions.
1901 This was in response to a request by Saurabh Agrawal.
1903 * Version 6.21
1904   :PROPERTIES:
1905   :CUSTOM_ID: v6.21
1906   :END:
1908 ** Details
1910 *** Changes to some default values of variables:
1912 Here are the new default values:
1914 #+begin_example
1915 (setq org-return-follows-link t)
1917 (setq org-use-fast-todo-selection t)
1919 (setq org-yank-adjusted-subtrees nil)
1921 (setq org-tags-column -77)
1923 (setq org-agenda-sorting-strategy
1924      '((agenda time-up priority-down category-keep)
1925         (todo time-up priority-down category-keep)
1926         (tags time-up priority-down category-keep)
1927         (search category-keep)))
1928 #+end_example
1930 *** Final cleanup for Emacs 21.1 pretest
1932 * Version 6.20
1933   :PROPERTIES:
1934   :CUSTOM_ID: v6.20
1935   :END:
1937 ** Details
1939 *** Support for simple TODO dependencies
1941 John Wiegley's code for enforcing simple TODO dependencies has
1942 been integrated into Org-mode.  Thanks John!
1944 The structure of Org files (hierarchy and lists) makes it easy to
1945 define TODO dependencies.  A parent TODO task should not be
1946 marked DONE until all subtasks (defined as children tasks) are
1947 marked as DONE.  And sometimes there is a logical sequence to a
1948 number of (sub)tasks, so that one task cannot be acted upon
1949 before all siblings above it are done.  If you customize the
1950 variable =org-enforce-todo-dependencies=, Org will block entries
1951 from changing state while they have children that are not DONE.
1952 Furthermore, if an entry has a property =ORDERED=, each of its
1953 children will be blocked until all earlier siblings are marked
1954 DONE.  Here is an example:
1956 #+begin_src org
1957 ,* TODO Blocked until (two) is done
1958 ,** DONE one
1959 ,** TODO two
1961 ,* Parent
1962 ,  :PROPERTIES:
1963 ,    :ORDERED: t
1964 ,  :END:
1965 ,** TODO a
1966 ,** TODO b, needs to wait for (a)
1967 ,** TODO c, needs to wait for (a) and (b)
1968 #+end_src
1970 The command =C-c C-x o= toggles the value of the =ORDERED=
1971 property.
1973 The variable =org-agenda-dim-blocked-tasks= controls how blocked
1974 entries should appear in the agenda, where they can be dimmed or
1975 even made invisible.
1977 Furthermore, you can use the variable
1978 =org-enforce-todo-checkbox-dependencies= to block TODO entries
1979 from switching to DONE while any checkboxes are unchecked in the entry.
1981 *** Support for shift-selection in Emacs 23
1983 Customize the variable =org-support-shift-select= to use S-cursor
1984 key for selecting text.  Make sure that you carefully read the
1985 docstring of that variable first.
1987 *** Adding and removing checkboxes from many lines
1989 The command =C-c C-x C-b= normally toggles checkbox status in the
1990 current line, or in all lines in the region.  With prefix
1991 argument it now either adds or removes the checkbox.
1993 This was a requested by Daniel Clemente.
1996 * Older changes
1998   For older Changes, see [[file:Changes_old.org]]
2002 * COMMENT Setup
2004 #+STARTUP: showstars
2006 #+TITLE: Org-mode list of user-visible changes
2007 #+AUTHOR:  Carsten Dominik
2008 #+EMAIL:  carsten at orgmode dot org
2009 #+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} *:t TeX:t LaTeX:nil f:nil
2010 #+INFOJS_OPT: view:info toc:1 path:org-info.js tdepth:2 ftoc:t
2011 #+LINK_UP: index.html
2012 #+LINK_HOME: http://orgmode.org