Minor change.
[org-mode.git] / ORGWEBPAGE / Changes.org
blob835130999465c51c66fc603ae0a773e61db4ef83
1 #   -*- mode: org; fill-column: 65 -*-
3 #+STARTUP: showstars
5 #+TITLE: Org-mode list of user-visible changes
6 #+AUTHOR:  Carsten Dominik
7 #+EMAIL:  carsten at orgmode dot org
8 #+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} *:t TeX:t LaTeX:nil f:nil
9 #+INFOJS_OPT: view:info toc:1 path:org-info.js tdepth:2 ftoc:t
10 #+LINK_UP: index.html
11 #+LINK_HOME: http://orgmode.org
14 * Version 6.25 (in preparation)
15  :PROPERTIES:
16  :VISIBILITY: content
17  :END:
19 ** Major new features
20 *** DocBook export
22 We now do have a fully functional DocBook exporter, contributed by
23 Baoqiu Cui.  Simple press =C-c e D= to export the current file to
24 DocBook format.  You can also get direct conversion to PDF if you have
25 made the correct setup, please the the manual for details.
27 Kudos to Baoqiu for this fantastic addition, and my personal thanks
28 for doing this in a such a smooth way that I did not have to do
29 anything myself.
31 *** Protocols for external access to Emacs and Org
33 /org-protocol.el/ is a new module that supersedes both
34 /org-annotation-helper.el/ and /org-browser.el/ and replaces them
35 with a more abstracted interface.  /org-protocol/ intercepts calls
36 from emacsclient to trigger custom actions without external
37 dependencies.  Only one protocol has to be configured with your
38 external applications or the operating system, to trigger an
39 arbitrary number of custom actions. Just register your custom
40 sub-protocol and handler with the new variable
41 `org-protocol-protocol-alist'.
43 org-protocol comes the with three standard protocol handlers
44 - =org-protocol-remember= (subprotocol =remember=) :: Trigger
45   remember 
46 - =org-protocol-store-link= (subprotocol =store-link=) :: Store a
47      link 
48 - =org-protocol-open-source= (subprotocol =open-source=) :: Find
49      the local source of a remote web page.
51 Passing data to emacs is now as easy as calling
53 : emacsclient org-protocol://sub-protocol://data
55 For more information see the [[http://orgmode.org/worg/org-contrib/org-protocol.php][online documentation]]
57 Thanks to Sebastian Rose for the really beautiful module.
59 *** Inline tasks
60       
61 Inline tasks are tasks that have all the properties of normal outline
62 nodes, including the ability to store meta data like scheduling dates,
63 TODO state, tags and properties.  But these tasks are not meant to
64 introduce additional outline structure, at least as far as visibility
65 cycling and export is concerned.  Therefore they are useful for to add
66 tasks for extensive pieces of text, like when writing documents or
67 long notes.
69 This feature is not turned on by default, you need to do configure
70 =org-modules= to turn it on, or simple add to you .emacs file:
72 : (require 'org-inlinetask)
74 After that, tasks with level 15 (30 when using org-odd-levels-only)
75 will be treated as inline tasks, and fontification will make obvious
76 which tasks are treated in this way.
78 *** Input from RSS feeds
80 Org can now collect tasks from an RSS feed, a great method to get
81 stuff from online call and note-taking services into your trusted
82 system.  You need to configure the feeds in the variable
83 =org-feed-alist=.  The manual contains a short description, more
84 detailed information is [[http://orgmode.org/worg/org-contrib/org-feed.php][available on Worg]].
86 Full credit goes to Brad Bozarth who really [[http://thread.gmane.org/gmane.emacs.orgmode/12251][paved the way]] for this
87 exciting new feature.
90 ** Export
91 *** Allow modification of table attributes in HTML export
92       
93 The #+ATTR_HTML line can now be used to set attributes for the
94 following table.  Attributes listed in that line will replace
95 existing attributes, and add new ones, in
96 =org-export-html-table-tag=.  For example
97       
98 : #+ATTR_HTML: border="2" rules="all" frame="all"
99 : #+CAPTION: Finally a table with lines!
100 : | a | b |
101 : |---|---|
102 : | 1 | 2 |
104 *** LaTeX low levels as itemize lists
106 LaTeX export now treats hierarchy levels 4,5, etc as itemize
107 lists, not as description lists anymore.  This is more consistent
108 with the behavior of HTML export.  You can configure this
109 behavior using the variable =org-export-latex-low-levels=.
111 *** Markup for centering.
113 Text can be exported centered with
115 #+begin_src org
116 ,#+BEGIN_CENTER
117 ,Everything should be made as simple as possible, \\
118 ,but not any simpler
119 ,#+END_CENTER
120 #+end_src
121 *** Sitemap file is now /sitemap.org/
122     
123 Org-publish can produce a list of all files in a project.
124 Previously the file containing this list was called "index.org",
125 really a brain-dead default because during publication it would
126 overwrite the "index.html" file of the website.
128 The default file name is now "sitemap.org"
130 *** Protect explicit target links in HTML export
131       
132 If a link is =[[#name] [desc]]=, the href produced when exporting
133 the file will be exactly href="#name".  So starting a link target
134 with # will indicate that there will be an explicit target for
135 this.
137 *** HTML export: Allow "- ___" to explicitly terminate a list
138       
139 If a list contains "- ___" as an item, this terminates the list,
140 ignoring this item.  This is an experimental feature, it may
141 disappear again if we find other ways to deal with literal
142 examples right after lists.
144 See [[http://thread.gmane.org/gmane.emacs.orgmode/12299/focus%3D12312][this mailing list thread]] for more information.
147 ** Agenda
149 *** Changing the time of an entry from the agenda
151 We now have a way to change the start time of an entry from the
152 agenda.  The date is normally changed with S-right/left.  Now, if
153 you add a C-u prefix, the hour will be changed.  If you
154 immediately press S-right/left again, hours will continue to be
155 changed.  A double prefix will do the same for minutes.
156 *** Show saved PDF agenda view with prefix arg
158 When writing an agenda view to a PDF file, supplying a a prefix
159 argument =C-u C-x C-w= will get the new file displayed immediately.
161 This was a request by Alan E Davis.
163 *** Filter for entries with no effort defined
165 During secondary agenda filtering, pressing "?" now will install a
166 filter that selects entries which do not have an effort defined.
168 This new model was necessary because we needed to stop interpreting
169 entries with no effort defines as 0 effort.  This was inconsistent,
170 because for normal agenda sorting, the treatment of these entries
171 depends on the variable `org-sort-agenda-noeffort-is-high'.  Now this
172 variable is also respected during filtering.
174 *** Introduce user-defined sorting operators
175       
176 The new variable `org-agenda-cmp-user-defined' can contain a function
177 to test how two entries should be compared during sorting.
178 user-defined-up and user-defined-down can then be part of any sorting
179 strategy.
181 This was a request by Samuel Wales.
183 *** Indentation of subitems in the agenda
184       
185 When a tags/property match does match an entry and it's sublevels, the
186 sublevels used to be indented by dots, to indicate that the matches
187 likely result from tag inheritance.  This is now no longer the
188 default.  You can get this behavior back with
189       
190 : (setq org-tags-match-list-sublevels 'indented)
192 *** Stuck projects search now searches subtrees of unstuck projects
194 When, during a stuck-project search, a project tree is identified
195 as not stuck, so far the search would continue after the end of
196 the project tree.  From now on, the search continues in the
197 subtree, so that stuck subprojects can still be identified.
200 ** Miscellaneous
202 *** Citations: Use RefTeX to insert citations
203       
204 RefTeX can now be used to create a citation in Org-mode buffers.
205 Setup the buffer with #+BIBLIOGRAPHY: bibbase style
206 and create citations with `C-c C-x ['.
208 *** Changing time ranges as a block
210 When using the S-cursor keys to change the first time in a time
211 range like 
213 : <2009-04-01 Wed 14:40-16:40>
215 then the end time will change along, so that the duration of the
216 event will stay the same.
218 This was a request by Anupam Sengupta.
220 *** New sparse tree command
222 A new sparse tree command shows entries with times after a certain
223 date.  Keys are =C-c / a=, this command is for symmetry
224 with =C-c / b=.
226 *** Cloning tasks
228 A new command allows to create clone copies of the current entry,
229 with shifted dates in all stamps in the entry.  This is useful to
230 create, for example, a series of entries for a limited time
231 period.  I am using it to prepare lectures, for example.
233 *** New face for checkboxes
235 Checkboxes now have their own face, =org-checkbox=.  This can be
236 used for nice effects, for example choosing a face with a box
237 around it:
239 #+begin_src emacs-lisp
240 (custom-set-faces
241  (org-checkbox ((t (:background "#444444" :foreground "white"
242                 :box (:line-width 1 :style released-button)))))
243 #+end_src
245 *** M-a and M-e for navigation in a table field
247 In tables fields, the sentence commands =M-a= and =M-e= are
248 redefined to jump to the beginning or end of the field.
250 This was a request by Bastien Guerry.
252 *** Backup files for remember buffers
253       
254 Sometimes users report that they lost data when not immediately
255 storing a new remember note, and then later exiting Emacs or
256 starting a new remember process.
258 Now you can set the variable =org-remember-backup-directory=.
259 Each remember buffer created will then get its own unique file
260 name in that directory, and the file will be removed only if the
261 storing of the note to an Org files was successful.
263 *** org-mac-message.el: New functions to access flagged mail
264       
265 Christopher Suckling has added functionality to
266 org-mac-message.el.  In particular, you can now select a number
267 of messages and easily get links to all of them with one
268 command.   For details, see the [[http://orgmode.org/worg/org-contrib/org-mac-message.php][online documentation]].
270 *** Read-date: New hook
271       
272 The new hook `org-read-date-minibuffer-setup-hook' is called when
273 setting up the minibuffer for reading a date.  If can be used to
274 install new keys into the temporary keymap used there.
277 * Version 6.24
279 ** Incompatible changes
282 *** Tag searches are now case-sensitive
284 From this release on, tag searches will be case sensitive.  While
285 I still think it would be nice to have them case-insensitive,
286 this was both an inconsistency (TODO keyword searches have always
287 been case-sensitive), and trouble for coding some efficient
288 algorithms.  So please make sure that you give the tags with
289 correct casing when prompted for a match expression.
291 *** New key for creating tags/property sparse trees
293 The key to produce a sparse tree matching tags and properties is
294 now =C-c / m= instead of =C-c a T=.  This is also more consistent
295 with the =C-c a m= key for the corresponding agenda view.
296 =C-c / T= will still work for now, but it is no longer advertised
297 in the documentation and may go away at any time in the future.
299 *** IDs in HTML have "ID-" prefix when generated by uuidgen
301 /uuidgen/ generates IDs that often start with a number, not a
302 latter.  However, IDs and names in XHTML must start with a letter.
303 Therefore, IDs in HTML files will now get an "ID-" prefix if they
304 have been generated by uuidgen.  This means that id links from one
305 file to another may stop working until all files have been
306 exported again.
308 *** In agenda, only priority cookies get the special face
310 So far, an entire task would get a special face when
311 =org-agenda-fontify-priorities= was set.  Now, the default value
312 for this variable is the symbol =cookies=, which means that on
313 the cookie is fontified.  Set it to =t= if you want the entire
314 task headline to be fontified.
316 ** Details
318 *** PDF export of agenda views
320 Agenda views can now be exported to PDF files by writing them to
321 a file with extension ".pdf".  Internally this works by first
322 producing the postscript version and then converting that to PDF
323 using the ghostview utility =ps2pdf=.  Make sure that this
324 utility is installed on your system.
326 The postscript version will not be removed, it will stay around.
328 *** Inline some entry text for Agenda View export
330 When exporting an agenda view to HTML or PDF for printing or
331 remote access, one of the problems can be that information stored
332 in entries below the headline is not accessible in that format.
334 You can now copy some of that information to the agenda view
335 before exporting it.  For this you need to set the variable 
336 =org-agenda-add-entry-text-maxlines= to a number greater than 0.
338 #+begin_src emacs-lisp
339 (setq org-agenda-add-entry-text-maxlines 20)
340 #+end_src
342 Or you can do this with the settings in a custom agenda view,
343 for example
345 #+begin_src emacs-lisp
346 ("A" "" agenda ""
347  ((org-agenda-ndays 1)
348   (org-agenda-add-entry-text-maxlines 5))
349  ("agenda-today.pdf"))
350 #+end_src
352 *** Improved ASCII export of links
354 ASCII export of links works now much better.  If a link has a
355 link and a description part which are different, then the
356 description will remain in the text while the link part will be
357 moved to the end of the current section, before the next heading,
358 as a footnote-like construct.
360 Configure the variable =org-export-ascii-links-to-notes= if you
361 prefer the links to be shown in the text.  In this case, Org will
362 make an attempt to wrap the line which may have become
363 significantly longer by showing the link.
365 Thanks to Samuel Wales for pointing out the bad state of ASCII
366 link export.
368 *** Custom agenda commands can specify a filter preset
370 If a custom agenda command specifies a value for
371 =org-agenda-filter-preset= in its options, the initial view of
372 the agenda will be filterd by the specified tags.  Applying a
373 filter with =/= will then always add to that preset filter,
374 clearing the filter with =/ /= will set it back to the preset.
375 Here is an example of a custom agenda view that will display the
376 agenda, but hide all entries with tags =FLUFF= or =BLUFF=:
378 #+begin_src emacs-lisp
379 ("A" "" agenda ""
380  ((org-agenda-filter-preset '("-FLUFF" "-BLUFF"))))
381 #+end_src
383 This is in response to a [[http://thread.gmane.org/gmane.emacs.orgmode/11752][thread on the mailing list]], started by
384 Daniel Clemente and with great contributions by Bernt Hansen and
385 Matt Lundin.
387 *** Exporting of citations to LaTeX and HTML, using BibTeX
388     
389 Citations can now me made using BibTeX, and will be exported to
390 LaTeX and HTML.  This is implemented in a contributed package by
391 Taru Karttunen, /org-exp-bibtex.el/.  Kudos to Taru for this
392 really nice addition.
394 *** Finally a way to specify keywords and description for HTML export
396 Use something like
398 #+begin_src org
399 #+DESCRIPTION: This page is all about ....
400 #+KEYWORDS: org-mode, indexing, publishing
401 #+end_src
403 To specify the content of the description and keywords meta tags
404 for HTML output.
406 *** org-collector.el is now a contributed package
408 /org-collector.el/ provides functions to create tables by
409 collecting and processing properties from entries in a specific
410 scope like the current tree or file, or even from all agenda
411 files.  General lisp expressions can be used to manipulate the
412 property values before they are inserted into an org-mode table,
413 for example as a dynamic block that is easy to update.
415 Thanks to Eric Schulte for yet another great contribution to
416 Org.
418 *** Update of org2rem.el
420 /org2rem.el/ has been updated significantly and now does a more
421 comprehensive job of exporting Org events to remind.
423 Thanks to Sharad Pratap for this update.
425 *** New div around the entire page in HTMP export
427 A new =<div id=content>= is wrapped around the entire page,
428 everything that is inside =<body>=.
430 This means that you need to update /org-info.js/ (if you have a
431 local copy).  It will be safe todo so, because the new
432 org-info.js still handles older pages correctly.  Thanks to
433 Sebastian Rose for making these changes so quicky.
435 *** Clustering characters for undo
437 When typing in Org-mode, undo will now remove up to 20 characters
438 at a time with a single undo command.  This is how things work
439 normally in Emacs, but the special binding of characters in
440 Org-mode made this impossible until now.
442 Thanks to Martin Pohlack for a patch which mimicks the behavior
443 of the Emacs command loop for the Org version of
444 =self-insert-command=.  Note that this will not work in headlines
445 and tables because typing there will do a lot of extra work.
447 There might be a small typing performance hit resulting from this
448 change - please report in the mailing list if this is noticeable
449 and annoying. 
451 *** Separate settings for special C-a and C-e 
453 The variable `org-special-ctrl-a/e' now allows separate settings
454 for =C-a= and =C-e=.  For example
456 #+begin_src emacs-lisp
457 (setq org-special-ctrl-a/e '(reversed . t))
458 #+end_src
460 Thanks to Alan Davis for this proposal.
462 *** orgstruct++-mode improvements
464 In addition to =orgstruct-mode= which allows to use some Org-mode
465 structure commands in other major modes, there is a more invasive
466 version of this mode: =orgstruct++-mode=.  This mode will import
467 all paragraph and line wrapping variables into the major mode, so
468 that, for example, during typing the auto-fill wrapping of items
469 will work just like in Org-mode.  This change is not reversible,
470 so turning off =orgstruct++-mode= will not remove these settings
471 again. =orgstruct++-mode= is most useful in text modes like
472 message-mode or =magit-log-edit-mode=.  Furthermore,
473 =orgstruct++-mode= will recognize plain list context not only in
474 the first line of an item, but also further down, so that =M-RET=
475 will correctly insert new items.
477 Thanks to Austin Frank for requesting some of these changes.
479 *** Promotion and demotion works for regions now
481 =M-right= and =M-left= now do demote and promote all headlines in
482 an active region.
484 *** Match syntax for tags/properties is now described in a single place
486 The manual chapters about tags and about properties now only
487 refer to the section about agenda views, where the general syntax
488 of tag/property matches is described.
490 *** Macro replacement
492 A string like ={{{ title }}}= will be replaced by the title of
493 the document, ={{{ email }}}= by the email setting of the author
494 and similarly for other export settings given in =#+...= lines.
495 In addition to that, you can define an arbitrary number of
496 macros, for example:
498 #+begin_src org
499 ,#+MACRO: myaddress 41 Onestreet, 12345 New York, NY
501 ,my address is {{{myaddress}}}, see you there.
502 #+end_src
504 Macro replacement is the very first thing that happens during
505 export, and macros will be replaced even in source code and other
506 protected regions.
508 *** New reload command, with keyboard access
510 There is now a special command to reload all Org Lisp files, so
511 that you can stay in your Emacs session while pulling and
512 compiling changes to Org.  The command to reload the compiled
513 files (if available) is =C-c C-x r=.  If no compiled files are
514 found, uncompiled ones will be loaded.  If you want to force
515 loading of uncompiled code (great for producing backtraces), use
516 a prefix arg: =C-u C-c C-x r=.  Both commands are available in
517 the menu as well.
519 This new command was inspired by one written earlier by Bernt
520 Hansen.
522 *** Faces for priority cookies can now be set freely
524 The new variable =org-priority-faces= can be used to set faces
525 for each priority.
527 *** New key for creating tags/property sparse trees
529 The key to produce a sparse tree matching tags and properties is
530 now =C-c / m= instead of =C-c a T=.  This is more consistent with
531 the =C-c a m= key for the corresponding agenda view.  =C-c / T=
532 will still work for now, but it is no longer advertised in the
533 documentation and may go away at any time in the future.
535 *** IDs in HTML have "ID-" prefix when generated by uuidgen
537 /uuidgen/ generates IDs that often start with a number, not a
538 letter.  However, IDs and names in XHTML must start with a letter.
539 Therefore, IDs in HTML files will now get an "ID-" prefix if they
540 have been generated by /uuidgen/.  This means that id links from one
541 file to another may stop working until all files have been
542 exported again, so that both links and targets have the new prefix.
544 *** In agenda, only priority cookies get the special face
546 So far, an entire task would get a special face when
547 =org-agenda-fontify-priorities= was set.  Now, the default value
548 for this variable is the symbol =cookies=, which means that on
549 the cookie is fontified.  Set it to =t= if you want the entire
550 task headline to be fontified.
552 *** Turning off time-of-day search in headline
554 Some people like to put a creation time stamp into a headline and
555 then get confused if the time-of-day found in there shows up as
556 the time-of-day of the deadline/scheduling entry for this
557 headline.  The reason for this is that Org searches the headline
558 for a free-format time when trying to sort the entry into the
559 agenda, and that search accidentally finds the time in the
560 creation time stamp or something else that happens to look like a
561 time.  If this is more painful than useful for you, configure the
562 new variable =org-agenda-search-headline-for-time=.
565 * Version 6.23
566 ** Overview
568 - Capture state change notes into a drawer
569 - Clock lines are now captured into the LOGBOOK drawer as well
570 - Added org-R.el to contrib directory
571 - Allow individual formatting of each TODO keyword in HTML export
572 - New hooks for add-ons to tap into context-sensitive commands
573 - Publishing files irrespective of extension
574 - New variable index in the manual
575 - The ORDERED property also influences checkboxes
576 - The ORDERED property can be tracked with a tag
577 - You may now specify line breaks in the fast tags interface
578 - When a TODO is blocked by checkboxes, keep it visible in agenda
579 - LaTeX can import Org's in-buffer definitions for TITLE, EMAIL etc.
581 ** Incompatible changes
583 - CLOCK lines will now be captured into the LOGBOOK drawer.
584   See below for details.
586 ** Details
588 *** Capture state change notes into a drawer
590 State change notes can now be captured into a drawer =LOGBOOK=,
591 to keep the entry tidy.  If this is what you want, you will need
592 this configuration:
594 #+begin_src emacs-lisp
595 (setq org-log-into-drawer "LOGBOOK")
596 #+end_src
598 Thanks to Wanrong Lin for this proposal.
600 *** Clock lines are now captured into the LOGBOOK drawer as well
602 The =CLOCK= drawer will be abandoned, clock lines will now also
603 end up in a drawer =LOGBOOK=.  The reason for this is that it's a
604 bit useless to have two different drawers for state change notes
605 and clock lines.  If you wish to keep the old way, use
607 #+begin_src emacs-lisp
608 (setq org-clock-into-drawer "CLOCK")
609 #+end_src
611 *** Added org-R.el to contrib directory
613 Dan Davison has contributed /org-R.el/ which is now in the
614 contrib directory.  Org-R performs numerical computations and
615 generates graphics.  Data can come from org tables, or from csv
616 files; numerical output can be stored in the org buffer as org
617 tables, and links are created to files containing graphical
618 output.  Although, behind the scenes, it uses R, you do not need
619 to know anything about R.  Common operations, such as tabulating
620 discrete values in a column of an org table, are available "off
621 the shelf" by specifying options on lines starting with =#+R:=.
622 However, you can also provide raw R code to be evaluated.  The
623 documentation is currently the worg tutorial at
624 http://orgmode.org/worg/org-tutorials/org-R/org-R.php
626 Thanks to Dan for this great contribution.
628 *** Allow individual formatting of TODO keyword and tags in HTML export
630 TODO keywords in HTML export have the CSS class =todo= or =done=.
631 Tags have the CSS class =tag=.  In addition to this, each keyword
632 has now itself as class, so you could do this in your CSS file:
634 #+begin_src css
635 .todo { font-weight:bold; }
636 .done { font-weight:bold; }
637 .TODO { color:red; }
638 .WAITING { color:orange; }
639 .DONE { color:green; }
640 #+end_src
642 If any of your keywords causes conflicts with CSS classes used
643 for different purposes (for example a tag "title" would cause a
644 conflict with the class used for formatting the document title),
645 then you can use the variables =org-export-html-tag-class-prefix=
646 and =org-export-html-todo-kwd-class-prefix= to define prefixes
647 for the class names for keywords, for example "kwd-".
649 Thanks to Wanrong Lin for this request, and to Sebastian Rose for
650 help with the implementation.
652 *** New hooks for add-ons to tap into context-sensitive commands
654 Some commands in Org are context-sensitive, they will execute
655 different functions depending on context.  The most important
656 example is of course =C-c C-c=, but also the =M-cursor= keys fall
657 into this category.
659 Org has now a system of hooks that can be used by add-on packages
660 to install their own functionality into these keys.  See the
661 docstring of =org-ctrl-c-ctrl-c-hook= for details.  The other
662 hooks are named like =org-metaleft-hook= or
663 =org-shiftmetaright-hook=.
665 *** Publishing files irrespective of extension
667 If you set the =:base-extension= property for a publishing
668 project to the symbol =any=, all files in the directory will be
669 published, irrespective of extension.
671 Thanks to Richard Klinda for a patch to this effect.
673 *** New variable index in the manual
675 A new index in the manual lists all variables mentioned in the
676 manual, about 200 variables in total.
678 *** The ORDERED property also influences checkboxes
680 When an entry has the ORDERED property set, checkboxes in
681 the entry must be completed in order.  This was already the case
682 for children TODO items, now it also applies for checkboxes.
684 Thanks to Rainer Stengele for this proposal.
686 *** The ORDERED property can be tracked with a tag
688 The =ORDERED= property is used to flag an entry so that subtasks
689 (both children TODO items and checkboxes) must be completed in
690 order.  This property is most easily toggled with the command
691 =C-c C-x o=.  A property was chosen for this functionality,
692 because this should be a behavior local to the current task, not
693 inherited like tags.  However, properties are normally
694 invisible.  If you would like visual feedback on the state of
695 this property, configure the variable
696 =org-track-ordered-property-with-tag=.  If you then use =C-c C-x
697 o= to toggle the property, a tag will be toggled as well, for
698 visual feedback.
700 Note that the tag itself has no meaning for the behavior of TODO
701 items and checkboxes, and that changing the tag with the usual
702 tag commands will not influence the property and therefore the
703 behavior of TODO and checkbox commands.
705 *** You may now specify line breaks in the fast tags interface
707 Up to now, the fast tags interface tried to lump as many tags as
708 possible into a single line, with the exception that groups would
709 always be on a line by themselves.
711 Now, if you use several lines to define your tags, like
713 #+begin_src org
714 ,#+TAGS: aa(a) bb(b) cc(c)
715 ,#+TAGS: dd(d) ee(e) ff(f)
716 #+end_src
718 then there will also be a line break after the "cc" tag in the
719 fast tag selection interface.  You may also write
721 #+begin_src org
722 ,#+TAGS: aa(a) bb(b) cc(c) \n dd(d) ee(e) ff(f)
723 #+end_src
725 to achieve the same effect, and you can use =\n= several times in
726 order to produce empty lines.  In =org-tag-alist=, newlines are
727 represented as =(:newline)=.
729 Thanks to Christopher Suckling for a patch to this effect.
731 *** When a TODO is blocked by checkboxes, keep it visible in agenda
733 When the variable =org-agenda-dim-blocked-tasks= is set to
734 =invisible=, tasks that are blocked will not be visible in the
735 agenda.  If the blocking is due to child TODO entries, this does
736 make sense because the children themselves will show up in the
737 TODO list.
739 However, as John Rakestraw has [[http://thread.gmane.org/gmane.emacs.orgmode/10939][pointed out]], if the blocking is
740 done by checkboxes, no trace of these subtasks is left.
741 Therefore, when the blocking is done by checkboxes, we now
742 overrule the =invisible= setting and replace it with mere dimming
743 of the task.
745 *** LaTeX can import Org's in-buffer definitions for TITLE, EMAIL etc.
747 If you configure =org-export-latex-import-inbuffer-stuff=,
748 in-buffer definitions like #+TITLE will be made available in the
749 LaTeX file as =\orgTITLE=.
751 This was a request by Russel Adams.
753 * Version 6.22
754 ** Details
756 *** org-choose.el by Tom Breton is now included
758 Org-choose helps documenting a decision-making process by using
759 TODO keywords for different degrees of /chosenness/, and by
760 automatically keeping a set of alternatives in a consistent state.
762 Documentation for /org-choose.el/ is available [[http://orgmode.org/worg/org-contrib/org-choose.php][here]].
764 This package inserts itself into Org using hooks, so if other
765 people would like to do interesting stuff with TODO keywords for
766 special purposes, looking at Tom's code might be a good way to
767 start.
769 Thanks to Tom for this interesting contribution!
771 *** orgmode.org and Worg css works now better on IE
773 Thanks to Sebastian Rose for making these changes.
775 *** When exporting a subtree, headline levels are now relative to parent
777 This was reported as a bug by William Henney and is fixed now.
779 *** Inactive dates in tables can be used for sorting.
781 When sorting table fields or entries by date, Org first tries to
782 find an active date, and, if none exist, uses a passive date if
783 present.
785 This was a request by Hsui-Khuen Tang
787 *** The default for =org-return-follows-link= is back to =nil=
789 Setting it to =t= violates Emacs rules to some extent.  The
790 internal implementation of this has been improved, so setting it
791 to =t= should now be pretty stable.
793 *** Automatic scheduling of siblings with org-depend.el
795 The sibling of a DONE task can now automatically be scheduled.
797 This was a patch by Andrew Hyatt.
799 *** New skipping conditions
801 The functions =org-agenda-skip-entry-if= and
802 =org-agenda-skip-subtree-if= now accept =timestamp= and
803 =nottimestamp= as additional conditions.
805 This was in response to a request by Saurabh Agrawal.
807 * Version 6.21
809 ** Details
811 *** Changes to some default values of variables:
813 Here are the new default values:
815 #+begin_example
816 (setq org-return-follows-link t)
818 (setq org-use-fast-todo-selection t)
820 (setq org-yank-adjusted-subtrees nil)
822 (setq org-tags-column -77)
824 (setq org-agenda-sorting-strategy
825      '((agenda time-up priority-down category-keep)
826         (todo time-up priority-down category-keep)
827         (tags time-up priority-down category-keep)
828         (search category-keep)))
829 #+end_example
831 *** Final cleanup for Emacs 21.1 pretest
833 * Version 6.20
835 ** Details
837 *** Support for simple TODO dependencies
839 John Wiegley's code for enforcing simple TODO dependencies has
840 been integrated into Org-mode.  Thanks John!
842 The structure of Org files (hierarchy and lists) makes it easy to
843 define TODO dependencies.  A parent TODO task should not be
844 marked DONE until all subtasks (defined as children tasks) are
845 marked as DONE.  And sometimes there is a logical sequence to a
846 number of (sub)tasks, so that one task cannot be acted upon
847 before all siblings above it are done.  If you customize the
848 variable =org-enforce-todo-dependencies=, Org will block entries
849 from changing state while they have children that are not DONE.
850 Furthermore, if an entry has a property =ORDERED=, each of its
851 children will be blocked until all earlier siblings are marked
852 DONE.  Here is an example:
854 #+begin_src org
855 ,* TODO Blocked until (two) is done
856 ,** DONE one
857 ,** TODO two
859 ,* Parent
860 ,  :PROPERTIES:
861 ,    :ORDERED: t
862 ,  :END:
863 ,** TODO a
864 ,** TODO b, needs to wait for (a)
865 ,** TODO c, needs to wait for (a) and (b)
866 #+end_src
868 The command =C-c C-x o= toggles the value of the =ORDERED=
869 property.
871 The variable =org-agenda-dim-blocked-tasks= controls how blocked
872 entries should appear in the agenda, where they can be dimmed or
873 even made invisible.
875 Furthermore, you can use the variable
876 =org-enforce-todo-checkbox-dependencies= to block TODO entries
877 from switching to DONE while any checkboxes are unchecked in the entry.
879 *** Support for shift-selection in Emacs 23
881 Customize the variable =org-support-shift-select= to use S-cursor
882 key for selecting text.  Make sure that you carefully read the
883 docstring of that variable first.
885 *** Adding and removing checkboxes from many lines
887 The command =C-c C-x C-b= normally toggles checkbox status in the
888 current line, or in all lines in the region.  With prefix
889 argument it now either adds or removes the checkbox.
891 This was a requested by Daniel Clemente.
893 * Version 6.19
895 ** Overview
896    
897 - Improved behavior of conversion commands =C-c -= and =C-c *=
898 - Table formulas may now reference fields in other tables
899 - A final hline is imagined in each table, for the sake of references
900 - A tags-todo search can now ignore timestamped items
901 - =\par= can be used to force a paragraph break, also in footnotes
903 ** Details
904    
906 *** Improved behavior of conversion commands =C-c -= and =C-c *=
908     The conversion commands =C-c -= and =C-c *= are now better
909     behaved and therefore more useful, I hope.
911     If there is an active region, these commands will act on the
912     region, otherwise on the current line.
914     - C-c - :: This command turns headings or normal lines into
915          items, or items into normal lines.  When there is a
916          region, everything depends on the first line of the
917          region:
918          - if it is a item, turn all items in the region into
919            normal lines.
920          - if it is a headline, turn all headlines in the region
921            into items. 
922          - if it is a normal line, turn all lines into items.
923          - special case: if there is no active region and the
924            current line is an item, cycle the bullet type of the
925            current list.
926     - C-c * :: This command turns items and normal lines into
927          headings, or headings into normal lines.  When there is
928          a region, everything depends on the first line of the
929          region:
930          - if it is a item, turn all items in the region into
931            headlines.
932          - if it is a headline, turn all headlines in the region
933            into normal lines. 
934          - if it is a normal line, turn all lines into headlines.
936 *** Table formulas may now reference fields in other tables
938 You may now reference constants, fields and ranges from a
939 different table, either in the current file or even in a
940 different file.  The syntax is
942 : remote(NAME-OR-ID,REF)
944 where /NAME/ can be the name of a table in the current file as
945 set by a =#+TBLNAME: NAME= line before the table.  It can also be
946 the ID of an entry, even in a different file, and the reference
947 then refers to the first table in that entry.  /REF/ is an
948 absolute field or range reference, valid in the referenced table.
949 Note that since there is no "current filed" for the remote table,
950 all row and column references must be absolute, not relative.
952 *** A final hline is imagined in each table, for the sake of references
954 Even if a table does not end with a hline (mine never do because I
955 think it is not pretty), for the sake of references you can
956 assume there is one.  So in the following table
958 #+begin_src org
959 | a | b |
960 |---+---|
961 | 1 | 2 |
962 | 3 | 4 |
963 #+end_src
965 a reference like =@I$1..@II$2= will now work.
967 *** A tags-todo search can now ignore timestamped items
968     The variables =org-agenda-todo-ignore-with-date=,
969     =org-agenda-todo-ignore-with-date=, and
970     =org-agenda-todo-ignore-with-date= make it possible to
971     exclude TODO entries which have this kind of planning info
972     associated with them.  This is most useful for people who
973     schedule everything, and who use the TODO list mainly to find
974     things that are not yet scheduled.  Thomas Morgan pointed out
975     that also the tags-todo search may serve exactly this
976     purpose, and that it might be good to have a way to make
977     these variables also apply to the tags-todo search.  I can
978     see that, but could not convince myself to make this the
979     default.  A new variable must be set to make this happen:
980     =org-agenda-tags-todo-honor-ignore-options=.
982 *** =\par= can be used to force a paragraph break, also in footnotes
984 The LaTeX idiom =\par= will insert a paragraph break at that
985 location.  Normally you would simply leave an empty line to get
986 such a break, but this is useful for footnotes whose
987 definitions may not contain empty lines.
989 * Version 6.18
990 ** Incompatible changes
992 *** Short examples must have a space after the colon
994     Short literal examples can be created by preceding lines
995     with a colon.  Such lines must now have a space after the
996     colon.  I believe this is already general practice, but now
997     it must be like this.  The only exception are lines that are
998     empty except for the colon.    
1000 ** Details
1002 *** Include files can now also process switches
1004     The example and src switches like =-n= can now also be added
1005     to include file statements:
1007 : #+INCLUDE "~/.emacs" src emacs-lisp -n -r
1009     Thanks to Manish for pointing out that this was not yet
1010     supported.
1012 *** Examples can be exported to HTML as text areas
1013     
1014     You can now specify a =-t= switch to an example or src block,
1015     to make it export to HTML as a text area.  To change the
1016     defaults for height (number of lines in the example) and
1017     width of this area (80), use the =-h= and =-w= switches.
1019     Thanks to Ulf Stegemann for driving this development.
1021 *** LaTeX_CLASS can be given as a property
1023     When exporting a single subtree by selecting it as a region
1024     before export, the LaTeX class for the export will be taken
1025     from the =LaTeX_CLASS= property of the entry if present.
1027     Thanks to Robert Goldman for this request.
1029 *** Better handling of inlined images in different backends
1031     Two new variables govern which kind of files can be inlined
1032     during export.  These are
1033     =org-export-html-inline-image-extensions= and
1034     =org-export-latex-inline-image-extensions=.  Remember that
1035     links are turned into an inline image if they are a pure link
1036     with no description.  HTML files can inline /.png/, /.jpg/,
1037     and /.gif/ files, while LaTeX files, when processed with
1038     /pdflatex/, can inline /.png/, /.jpg/, and /.pdf/ files.
1039     These also represent the default settings for the new
1040     variables.  Note that this means that pure links to /.pdf/
1041     files will be inlined - to avoid this for a particular link,
1042     make sure that the link has a description part which is not
1043     equal to the link part.
1045 *** Links by ID now continue to work in HTML exported files
1047     If you make links by ID, these links will now still work in
1048     HTML exported files, provided that you keep the relative path
1049     from link to target file the same.
1051     Thanks to Friedrich Delgado Friedrichs for pushing this over
1052     the line.
1054 *** The relative timer can be paused
1056     The new command `C-c C-x ,' will pause the relative timer.
1057     When the relative timer is running, its value will be shown
1058     in the mode line.  To get rid of this display, you need to
1059     really stop the timer with `C-u C-c C-x ,'.
1061     Thanks to Alan Davis for driving this change.
1063 *** The attachment directory may now be chosen by the user
1065     Instead of using the automatic, unique directory related to
1066     the entry ID, you can also use a chosen directory for the
1067     attachments of an entry.  This directory is specified by the
1068     ATTACH_DIR property.  You can use `C-c C-a s' to set this
1069     property.
1071     Thanks to Jason Jackson for this proposal.
1073 *** You can use a single attachment directory for a subtree
1075     By setting the property ATTACH_DIR_INHERIT, you can now tell
1076     Org that children of the entry should use the same directory
1077     for attachments, unless a child explicitly defines its own
1078     directory with the ATTACH_DIR property.  You can use the
1079     command `C-c C-a i' to set this property in an entry.
1081 * Version 6.17
1083 ** Overview
1085 - Footnote support
1086 - Line numbers and references in literal examples 
1087 - New hooks for export preprocessing 
1088 - Capture column view into a different file
1090 ** Details
1092 *** Footnote support
1094 Org-mode now directly supports the creation of footnotes.  In
1095 contrast to the /footnote.el/ package, Org-mode's footnotes are
1096 designed for work on a larger document, not only for one-off
1097 documents like emails.  The basic syntax is similar to the one
1098 used by /footnote.el/, i.e. a footnote is defined in a paragraph
1099 that is started by a footnote marker in square brackets in column
1100 0, no indentation allowed.  The footnote reference is simply the
1101 marker in square brackets inside text.  For example:
1103 #+begin_src org
1104 The Org homepage[fn:1] now looks a lot better than it used to.
1106 [fn:1] The link is: http://orgmode.org
1107 #+end_src
1109 Org-mode extends the number-based syntax to /named/ footnotes and
1110 optional inline definition.  Using plain numbers as markers is
1111 supported for backward compatibility, but not encouraged because
1112 of possible conflicts with LaTeX syntax.  Here are the valid
1113 references:
1115 - [1] ::  A plain numeric footnote marker.
1116          
1117 - [fn:name] :: A named footnote reference, where `name' is a
1118      unique label word or, for simplicity of automatic creation,
1119      a number. 
1120      
1121 - [fn:: This is the inline definition of this footnote] :: A
1122      LaTeX-like anonymous footnote where the definition is given
1123      directly at the reference point.
1125 - [fn:name: a definition] :: An inline definition of a footnote,
1126      which also specifies a name for the note.  Since Org allows
1127      multiple references to the same note, you can then use use
1128      `[fn:name]' to create additional references.
1130 Footnote labels can be created automatically, or you create names
1131 yourself.  This is handled by the variable
1132 =org-footnote-auto-label= and its corresponding =#+STARTUP=
1133 keywords, see the docstring of that variable for details.
1135 The following command handles footnotes:
1137 - C-c C-x f :: The footnote action command.  When the cursor is
1138      on a footnote reference, jump to the definition.  When it is
1139      at a definition, jump to the (first) reference.  Otherwise,
1140      create a new footnote.  Depending on the variable
1141      `org-footnote-define-inline' (with associated =#+STARTUP=
1142      options =fninline= and =nofninline=), the definitions will
1143      be placed right into the text as part of the reference, or
1144      separately into the location determined by the variable
1145      =org-footnote-section=.
1146      When this command is called with a prefix argument, a menu
1147      of additional options is offered:
1148      - s :: Sort the footnote definitions by reference sequence.
1149             During editing, Org makes no effort to sort footnote
1150             definitions into a particular sequence.  If you want
1151             them sorted, use this command, which will also move
1152             entries according to =org-footnote-section=.
1153      - n :: Normalize the footnotes by collecting all
1154             definitions (including inline definitions) into a
1155             special section, and then numbering them in
1156             sequence.  The references will then also be
1157             numbers.  This is meant to be the final step before
1158             finishing a document (e.g. sending off an email).
1159             The exporters do this automatically, and so could 
1160             something like `message-send-hook'.
1161      - d :: Delete the footnote at point, and all references to it.
1162             
1163 - C-c C-c :: If the cursor is on a footnote reference, jump to
1164      the definition.  If it is a the definition, jump back to the
1165      reference.  When called with a prefix argument at either
1166      location, offer the same menu as `C-u C-c C-x f'.
1168 - C-c C-o or mouse-1/2 :: Footnote labels are also links to the
1169      corresponding definition/reference, and you can use the
1170      usual commands to follow these links.
1172 Org-mode's footnote support is designed so that it should also
1173 work in buffers that are not in Org-mode, for example in email
1174 messages.  Just bind =org-footnote-action= to a global key like
1175 =C-c f=.
1177 The main trigger for this development came from a hook function
1178 written by Paul Rivier, to implement named footnotes and to
1179 convert them to numbered ones before export.  Thanks, Paul!
1181 Thanks also to Scot Becker for a thoughtful post bringing this
1182 subject back onto the discussion table, and to Matt Lundin for
1183 the idea of named footnotes and his prompt testing of the new
1184 features.
1186 *** Line numbers and references in literal examples
1188 Literal examples introduced with =#+BEGIN_EXAMPLE= or =#+BEGIN_SRC=
1189 do now allow optional line numbering in the example.
1190 Furthermore, links to specific code lines are supported, greatly
1191 increasing Org-mode's utility for writing tutorials and other
1192 similar documents.
1194 Code references use special labels embedded directly into the
1195 source code.  Such labels look like "(ref:name)" and must be
1196 unique within a document.  Org-mode links with "(name)" in the
1197 link part will be correctly interpreted, both while working with
1198 an Org file (internal links), and while exporting to the
1199 different backends.  Line numbering and code references are
1200 supported for all three major backends, HTML, LaTeX, and ASCII.
1201 In the HTML backend, hovering the mouse over a link to a source
1202 line will remote-highlight the referenced code line.
1204 The options for the BEGIN lines are:
1206  - -n :: Number the lines in the example
1207  - +n :: Like -n, but continue numbering from where the previous
1208          example left off.
1209  - -r :: Remove the coderef cookies from the example, and replace
1210          links to this reference with line numbers.  This option
1211          takes only effect if either -n or +n are given as well.
1212          If -r is not given, coderefs simply use the label name.
1213  - -l "fmt" :: Define a local format for coderef labels, see the
1214       variable =org-coderef-label-format= for details.  Use this
1215       of the default syntax causes conflicts with the code in the
1216       code snippet you are using.
1218 Here is an example:
1220 #+begin_example -k
1221 #+begin_src emacs-lisp -n -r
1222 (defmacro org-unmodified (&rest body)                   (ref:def)
1223   "Execute body without changing `buffer-modified-p'."
1224   `(set-buffer-modified-p                              (ref:back)
1225     (prog1 (buffer-modified-p) ,@body)))
1226 #+end_src
1227 [[(def)][Line (def)]] contains the macro name.  Later at line [[(back)]],
1228 backquoting is used.
1229 #+end_example
1231 When exported, this is translated to:
1232 #+begin_src emacs-lisp -n -r
1233 (defmacro org-unmodified (&rest body)                   (ref:def)
1234   "Execute body without changing `buffer-modified-p'."
1235   `(set-buffer-modified-p                              (ref:back)
1236     (prog1 (buffer-modified-p) ,@body)))
1237 #+end_src
1238 [[(def)][Line (def)]] contains the macro name.  Later at line [[(back)]],
1239 backquoting is used.
1241 Thanks to Ilya Shlyakhter for proposing this feature set.  Thanks
1242 to Sebastian Rose for the key Javascript element that made the
1243 remote highlighting possible.
1245 *** New hooks for export preprocessing
1246     The export preprocessor now runs more hooks, to allow
1247     better-timed tweaking by user functions:
1249 - =org-export-preprocess-hook= ::
1250   Pretty much the first thing in the preprocessor.  But org-mode
1251   is already active in the preprocessing buffer.
1253 - =org-export-preprocess-after-include-files-hook= ::
1254   This is run after the contents of included files have been inserted.
1256 - =org-export-preprocess-after-tree-selection-hook= ::
1257   This is run after selection of trees to be exported has
1258   happened.  This selection includes tags-based selection, as
1259   well as removal of commented and archived trees.
1261 - =org-export-preprocess-before-backend-specifics-hook= ::
1262   Hook run before backend-specific functions are called during preprocessing.
1264 - =org-export-preprocess-final-hook= ::
1265   Hook for preprocessing an export buffer.  This is run as the
1266   last thing in the preprocessing buffer, just before returning
1267   the buffer string to the backend.
1269 *** Capture column view into a different file
1271     The :id parameter for the dynamic block capturing column view
1272     can now truly be an ID that will also be found in a
1273     different file.  Also, it can be like =file:path/to/file=, to
1274     capture the global column view from a different file.
1276     Thanks to Francois Lagarde for his report that IDs outside
1277     the current file would not work.
1279 * Version 6.16
1280   Cleanup of many small bugs, and one new feature.
1282 ** Details
1284 *** References to last table row with special names
1286     Fields in the last row of a table can now be referenced with
1287     $LR1, $LR2, etc.  These references can appear both on the
1288     left hand side and right hand side of a formula.
1290 * Version 6.15f
1292   This version reverses the introduction of @0 as a reference to
1293   the last rwo in a table, because of a conflict with the use of
1294   @0 for the current row.
1296 * Version 6.15
1297 ** Overview
1299 - All known LaTeX export issues fixed 
1300 - Captions and attributes for figures and tables. 
1301 - Better implementation for entry IDs 
1302 - Spreadsheet references to the last table line. 
1303 - Old syntax for link attributes abandoned 
1305 ** Incompatible changes
1306 *** Old syntax for link attributes abandoned
1308 There used to be a syntax for setting link attributes for
1309 HTML export by enclosing the attributes into double braces
1310 and adding them to the link itself, like
1312 #+begin_example
1313 [[./img/a.jpg{{alt="an image"}}] ]
1314 #+end_example
1316 This syntax is not longer supported, use instead
1318 #+begin_src org
1319 ,#+ATTR_HTML: alt="an image"
1320 [[./img/a.jpg] ]
1321 #+end_src
1323 ** Details
1325 *** All known LaTeX export issues fixed
1327 All the remaining issues with the LaTeX exporter have hopefully
1328 been addressed in this release.  In particular, this covers
1329 quoting of special characters in tables and problems with
1330 exporting files where the headline is in the first line, or with
1331 an active region.
1333 *** Captions and attributes for figures and tables.
1335 Tables, and Hyperlinks that represent inlined images, can now be
1336 equipped with additional information that will be used during
1337 export.  The information will be taken from the following special
1338 lines in the buffer and apply to the first following table or
1339 link.
1341 - #+CAPTION: :: The caption of the image or table.  This string
1342      should be processed according to the export backend, but
1343      this is not yet done.
1345 - #+LABEL: :: A label to identify the figure/table for cross
1346      references.  For HTML export, this string will become the
1347      ID for the ~<div class="figure">~ element that encapsulates
1348      the image tag and the caption.  For LaTeX export, this
1349      string will be used as the argument of a ~\label{...}~
1350      macro.  These labels will be available for internal links
1351      like ~[[label][Table] ]~.
1353 - #+ATTR_HTML: :: Attributes for HTML export of image, to be
1354      added as attributes into the ~<img...>~ tag.  This string
1355      will not be processed, so it should have immediately the
1356      right format.
1358 - #+ATTR_LaTeX: :: Attributes for LaTeX export of images and
1359      tables.\\
1360      For /images/, this string is directly inserted into
1361      the optional argument of the ~\includegraphics[...]{file}~
1362      command, to specify scaling, clipping and other options.
1363      This string will not be processed, so it should have
1364      immediately the right format, like =width=5cm,angle=90=.\\       
1365      For /tables/, this can currently contain the keyword
1366      =longtable=, to request typesetting of the table using the
1367      longtable package, which automatically distributes the table
1368      over several pages if needed.  Also, the attributes line may
1369      contain an alignment string for the tabular environment, like
1370      =longtable,align=l|lrl=
1372 For LaTeX export, if either a caption or a label is given, the element
1373 will be exported as a float, i.e. wrapped into a figure or table
1374 environment.
1376 *** Better implementation for entry IDs
1377     
1378 Unique identifiers for entries can now be used more efficiently.
1379 Internally, a hash array has replaced the alist used so far to
1380 keep track of the files in which an ID is defined.  This makes it
1381 quite fast to find an entry by ID.
1383 There is a new link type which looks like this:
1385 #+begin_example
1386 id:GLOBALLY-UNIQUE-IDENTIFIER
1387 #+end_example
1389 This link points to a specific entry.  When you move the entry to
1390 a different file, for example if you move it to an archive
1391 file, the link will continue to work.
1393 The file /org-id.el/ contains an API that can be used to write
1394 code using these identifiers, including creating IDs and finding
1395 them wherever they are.
1397 Org has its own method to create unique identifiers, but if the system
1398 has /uuidgen/ command installed (Mac's and Linux systems generally
1399 do), it will be used by default (a change compared to the earlier
1400 implmentation, where you explicitdly had to opt for uuidgen).  You can
1401 also select the method by hand, using the variable =org-id-method=.
1403 If the ID system ever gets confused about where a certain ID is, it
1404 initiates a global scan of all agenda files with associated archives,
1405 all files previously known containing any IDs, and all currently
1406 visited Org-mode files to rebuild the hash.  You can also initiate
1407 this by hand: =M-x org-id-update-id-locations=.  Running this command
1408 will also dump into the =*Messages*= buffer information about any
1409 duplicate IDs.  These should not exist, and Org will never /make/ the
1410 same ID twice, but if you /copy/ an entry with its properties,
1411 duplicate IDs will inevitably be produced.  Unfortunately, this is
1412 unavoidable in a plain text system that allows you to edit the text in
1413 arbitrary ways, and a portion of care on your side is needed to keep
1414 this system clean.
1416 The hash is stored in the file =~/.emacs.d/.org-id-locations=.
1417 This is also a change from previous versions where the file was
1418 =~/.org=id-locations=.  Therefore, you can remove this old file
1419 if you have it.  I am not sure what will happen if the =.emacs.d=
1420 directory does not exists in your setup, but in modern Emacsen, I
1421 believe it should exist.  If you do not want to use IDs across
1422 files, you can avoid the overhead with tracking IDs by
1423 customizing the variable =org-id-track-globally=.  IDs can then
1424 still be used for links inside a single file.
1426 IDs will also be used when you create a new link to an Org-mode
1427 buffer.  If you use =org-store-link= (normally at =C-c l=) inside
1428 en entry in an Org-mode buffer, and ID property will be created
1429 if it does not exist, and the stored link will be an =id:= link.
1430 If you prefer the much less secure linking to headline text, you
1431 can configure the variable =org-link-to-org-use-id=.  The default
1432 setting for this variable is =create-if-interactive=, meaning
1433 that an ID will be created when you store a link interactively,
1434 but not if you happen to be in an Org-mode file while you create
1435 a remember note (which usually has a link to the place where you
1436 were when starting remember).
1438 *** Spreadsheet references to the last table line.
1440 You may now use =@0= to reference the last dataline in a table
1441 in a stable way.  This is useful in particular for automatically
1442 generated tables like the ones using /org-collector.el/ by Eric
1443 Schulte.
1445 * Version 6.14
1446 ** Overview
1448    - New relative timer to support timed notes 
1449    - Special faces can be set for individual tags 
1450    - The agenda shows now all tags, including inherited ones. 
1451    - Exclude some tags from inheritance. 
1452    - More special values for time comparisons in property searches 
1453    - Control for exporting meta data 
1454    - Cut and Paste with hot links from w3m to Org 
1455    - LOCATION can be inherited for iCalendar export 
1456    - Relative row references crossing hlines now throw an error 
1458 ** Incompatible Changes
1460 *** Relative row references crossing hlines now throw an error
1461     
1462     Relative row references in tables look like this: "@-4" which
1463     means the forth row above this one.  These row references are
1464     not allowed to cross horizontal separator lines (hlines).  So
1465     far, when a row reference violates this policy, Org would
1466     silently choose the field just next to the hline.
1468     Tassilo Horn pointed out that this kind of hidden magic is
1469     actually confusing and may cause incorrect formulas, and I do
1470     agree.  Therefore, trying to cross a hline with a relative
1471     reference will now throw an error.
1472     
1473     If you need the old behavior, customize the variable
1474     `org-table-error-on-row-ref-crossing-hline'.
1476 ** Details
1478 *** New relative timer to support timed notes
1480     Org now supports taking timed notes, useful for example while
1481     watching a video, or during a meeting which is also recorded.
1483     - =C-c C-x .= :: 
1484       Insert a relative time into the buffer.  The first time
1485       you use this, the timer will be started.  When called
1486       with a prefix argument, the timer is reset to 0.
1488     - =C-c C-x -= :: 
1489       Insert a description list item with the current relative
1490       time.  With a prefix argument, first reset the timer to 0.
1492     - =M-RET= ::
1493       Once the time list has been initiated, you can also use the
1494       normal item-creating command to insert the next timer item.
1496     - =C-c C-x 0= :: 
1497       Reset the timer without inserting anything into the buffer.
1498       By default, the timer is reset to 0.  When called with a
1499       =C-u= prefix, reset the timer to specific starting
1500       offset.  The user is prompted for the offset, with a
1501       default taken from a timer string at point, if any, So this
1502       can be used to restart taking notes after a break in the
1503       process.  When called with a double prefix argument
1504       =C-c C-u=, change all timer strings in the active
1505       region by a certain amount.  This can be used to fix timer
1506       strings if the timer was not started at exactly the right
1507       moment.
1509     Thanks to Alan Dove, Adam Spiers, and Alan Davis for
1510     contributions to this idea.
1512 *** Special faces can be set for individual tags
1514     You may now use the variable =org-tag-faces= to define the
1515     face used for specific tags, much in the same way as you can
1516     do for TODO keywords.
1518     Thanks to Samuel Wales for this proposal.
1520 *** The agenda shows now all tags, including inherited ones.
1522     This request has come up often, most recently it was
1523     formulated by Tassilo Horn.
1525     If you prefer the old behavior of only showing the local
1526     tags, customize the variable =org-agenda-show-inherited-tags=.
1528 *** Exclude some tags from inheritance.
1530     So far, the only way to select tags for inheritance was to
1531     allow it for all tags, or to do a positive selection using
1532     one of the more complex settings for
1533     `org-use-tag-inheritance'.  It may actually be better to
1534     allow inheritance for all but a few tags, which was difficult
1535     to achieve with this methodology.
1537     A new option, `org-tags-exclude-from-inheritance', allows to
1538     specify an exclusion list for inherited tags.
1540 *** More special values for time comparisons in property searches
1542     In addition to =<now>=, =<today>=, =<yesterday>=, and
1543     =<tomorrow>=, there are more special values accepted now in
1544     time comparisons in property searches:  You may use strings
1545     like =<+3d>= or =<-2w>=, with units d, w, m, and y for day,
1546     week, month, and year, respectively
1548     Thanks to Linday Todd for this proposal.
1550 *** Control for exporting meta data
1552     All the metadata in a headline, i.e. the TODO keyword, the
1553     priority cookie, and the tags, can now be excluded from
1554     export with appropriate options:
1556     | Variable                      | Publishing property | OPTIONS switch |
1557     |-------------------------------+---------------------+----------------|
1558     | org-export-with-todo-keywords | :todo-keywords      | todo:          |
1559     | org-export-with-tags          | :tags               | tags:          |
1560     | org-export-with-priority      | :priority           | pri:           |
1562 *** Cut and Paste with hot links from w3m to Org
1564     You can now use the key =C-c C-x M-w= in a w3m buffer with
1565     HTML content to copy either the region or the entire file in
1566     a special way.  When you yank this text back into an Org-mode
1567     buffer, all links from the w3m buffer will continue to work
1568     under Org-mode.
1570     For this to work you need to load the new file /org-w3m.el./
1571     Please check your org-modules variable to make sure that this
1572     is turned on.
1574     Thanks for Richard Riley for the idea and to Andy Stewart for
1575     the implementation.
1577 *** LOCATION can be inherited for iCalendar export
1579     The LOCATION property can now be inherited during iCalendar
1580     export if you configure =org-use-property-inheritance= like
1581     this:
1583 #+begin_src emacs-lisp
1584 (setq org-use-property-inheritance '("LOCATION"))
1585 #+end_src
1587 * Version 6.13
1589 ** Overview
1591    - Keybindings in Remember buffers can be configured
1592    - Support for ido completion
1593    - New face for date lines in agenda column view
1594    - Invisible targets become now anchors in headlines.
1595    - New contributed file /org-exp-blocks.el/
1596    - New contributed file /org-eval-light.el/
1597    - Link translation
1598    - BBDB links may use regular expressions.
1599    - Link abbreviations can use %h to insert a url-encoded target value
1600    - Improved XHTML compliance
1602 ** Details
1604 *** Keybindings in Remember buffers can be configured
1606     The remember buffers created with Org's extensions are in
1607     Org-mode, which is nice to prepare snippets that will
1608     actually be stored in Org-mode files.  However, this makes it
1609     hard to configure key bindings without modifying the Org-mode
1610     keymap.  There is now a minor mode active in these buffers,
1611     `org-remember-mode', and its keymap org-remember-mode-map can
1612     be used for key bindings.  By default, this map only contains
1613     the bindings for =C-c C-c= to store the note, and =C-c C-k=
1614     to abort it.  Use `org-remember-mode-hook' to define your own
1615     bindings like
1617 #+begin_src emacs-lisp
1618 (add-hook
1619  'org-remember-mode-hook
1620  (lambda ()
1621    (define-key org-remember-mode-map
1622      "\C-x\C-s" 'org-remember-finalize)))
1623 #+end_src
1625     If you wish, you can also use this to free the =C-c C-c=
1626     binding (by binding this key to nil in the minor mode map),
1627     so that you can use =C-c C-c= again to set tags.
1629     This modification is based on a request by Tim O'Callaghan.
1631 *** Support for ido completion
1633     You can now get the completion interface from /ido.el/ for
1634     many of Org's internal completion commands by turning on the
1635     variable =org-completion-use-ido=. =ido-mode= must also be
1636     active before you can use this.
1638     This change is based upon a request by Samuel Wales.
1640 *** New face for date lines in agenda column view
1642     When column view is active in the agenda, and when you have
1643     summarizing properties, the date lines become normal column
1644     lines and the separation between different days becomes
1645     harder to see.  If this bothers you, you can now customize
1646     the face =org-agenda-column-dateline=.
1648     This is based on a request by George Pearson.
1650 *** Invisible targets become now anchors in headlines.
1652     These anchors can be used to jump to a directly with an HTML
1653     link, just like the =sec-xxx= IDs.  For example, the
1654     following will make a http link
1655     =//domain/path-to-my-file.html#dummy= work:
1657 #+begin_src org
1658 ,# <<dummy>>
1659 ,*** a headline
1660 #+end_src
1662     This is based on a request by Matt Lundin.
1664 *** New contributed file /org-exp-blocks.el/
1666     This new file implements special export behavior of
1667     user-defined blocks.  The currently supported blocks are
1669     - comment :: Comment blocks with author-specific markup
1670     - ditaa ::  conversion of ASCII art into pretty png files
1671          using Stathis  Sideris' /ditaa.jar/ program
1672     - dot :: creation of graphs in the /dot/ language
1673     - R :: Sweave type exporting using the R program
1675     For more details and examples, see the file commentary in
1676     /org-exp-blocks.el/.
1678     Kudos to Eric Schulte for this new functionality, after
1679     /org-plot.el/ already his second major contribution.  Thanks
1680     to Stathis for this excellent program, and for allowing us to
1681     bundle it with Org-mode.
1683 *** New contributed file /org-eval-light.el/
1685     This module gives control over execution Emacs Lisp code
1686     blocks included in a file.
1688     Thanks to Eric Schulte also for this file.
1690 *** Link translation
1692     You can now configure Org to understand many links created
1693     with the Emacs Planner package, so you can cut text from
1694     planner pages and paste them into Org-mode files without
1695     having to re-write the links.  Among other things, this means
1696     that the command =org-open-at-point-global= which follows
1697     links not only in Org-mode, but in arbitrary files like
1698     source code files etc, will work also with links created by
1699     planner. The following customization is needed to make all of
1700     this work
1702 #+begin_src emacs-lisp
1703 (setq org-link-translation-function
1704       'org-translate-link-from-planner)
1705 #+end_src
1707    I guess an inverse translator could be written and integrated
1708    into Planner.
1710 *** BBDB links may use regular expressions.
1712     This did work all along, but only now I have documented it.
1714 *** =yank-pop= works again after yanking an outline tree
1716     Samuel Wales had noticed that =org-yank= did mess up this
1717     functionality.  Now you can use =yank-pop= again, the only
1718     restriction is that the so-yanked text will not be
1719     pro/demoted or folded.
1721 *** Link abbreviations can use %h to insert a url-encoded target value
1723     Thanks to Steve Purcell for a patch to this effect.
1725 *** Improved XHTML compliance
1727     Thanks to Sebastian Rose for pushing this.
1729 *** Many bug fixes again.
1730     
1731 * Version 6.12
1732 ** Overview
1734    - A region of entries can now be refiled with a single command
1735    - Fine-tuning the behavior of `org-yank'
1736    - Formulas for clocktables
1737    - Better implementation of footnotes for HTML export
1738    - More languages for HTML export.
1740 ** Details
1742 *** A region of entries can now be refiled with a single command
1743     
1744     With =transient-make-mode= active (=zmacs-regions= under
1745     XEmacs), you can now select a region of entries and refile
1746     them all with a single =C-c C-w= command.
1748     Thanks to Samuel Wales for this useful proposal.
1750 *** Fine-tuning the behavior of =org-yank=
1752     The behavior of Org's yanking command has been further
1753     fine-tuned in order to avoid some of the small annoyances
1754     this command caused.
1756     - Calling =org-yank= with a prefix arg will stop any special
1757       treatment and directly pass through to the normal =yank=
1758       command.  Therefore, you can now force a normal yank with
1759       =C-u C-y=.
1761     - Subtrees will only be folded after a yank if doing so will
1762       now swallow any non-white characters after the yanked text.
1763       This is, I think a really important change to make the
1764       command work more sanely.
1766 *** Formulas for clocktables
1768     You can now add formulas to a clock table, either by hand, or
1769     with a =:formula= parameter.  These formulas can be used to
1770     create additional columns with further analysis of the
1771     measured times.
1773     Thanks to Jurgen Defurne for triggering this addition.
1775 *** Better implementation of footnotes for HTML export
1776     
1777     The footnote export in 6.11 really was not good enough.  Now
1778     it works fine.  If you have customized
1779     =footnote-section-tag=, make sure that your customization is
1780     matched by =footnote-section-tag-regexp=.
1782     Thanks to Sebastian Rose for pushing this change.
1784 *** More languages for HTML export.
1786     More languages are supported during HTML export.  This is
1787     only relevant for the few special words Org inserts, like
1788     "Table of Contents", or "Footnotes".  Also the encoding
1789     issues with this feature seem to be solved now.
1791     Thanks to Sebastian Rose for pushing me to fix the encoding
1792     problems.
1794 * Version 6.11
1796 ** Overview
1798    - Yanking subtree with =C-y= now adjusts the tree level
1799    - State changes can now be shown in the log mode in the agenda
1800    - Footnote in HTML export are now collected at the end of the document
1801    - HTML export now validates again as XHTML
1802    - The clock can now be resumed after exiting and re-starting Emacs
1803    - Clock-related data can be saved and resumed across Emacs sessions
1804    - Following file links can now use C-u C-u to force use of an external app
1805    - Inserting absolute files names now abbreviates links with "~"
1806    - Links to attachment files
1807    - Completed repeated tasks listed briefly in agenda
1808    - Remove buffers created during publishing are removed
1810 ** Details
1812 *** Yanking subtree with =C-y= now adjusts the tree level
1813     When yanking a cut/copied subtree or a series of trees, the
1814     normal yank key =C-y= now adjusts the level of the tree to
1815     make it fit into the current outline position, without losing
1816     its identity, and without swallowing other subtrees.
1818     This uses the command =org-past-subtree=.  An additional
1819     change in that command has been implemented: Normally, this
1820     command picks the right outline level from the surrounding
1821     *visible* headlines, and uses the smaller one.  So if the
1822     cursor is between a level 4 and a level 3 headline, the tree
1823     will be pasted as level 3.  If the cursor is actually *at*
1824     the beginning of a headline, the level of that headline will
1825     be used.  For example, lets say you have a tree like this:
1827 #+begin_src org
1828 ,* Level one
1829 ,** Level two
1830 ,(1)
1831 ,(2)* Level one again
1832 #+end_src
1834     with (1) and (2) indicating possible cursor positions for the
1835     insertion.  When at (1), the tree will be pasted as level 2.
1836     When at (2), it will be pasted as level 1.
1838     If you do not want =C-y= to behave like this, configure the
1839     variable =org-yank-adjusted-subtrees=.
1841     Thanks to Samuel Wales for this idea and a partial implementation.
1843 *** State changes can now be shown in the log mode in the agenda
1845     If you configure the variable =org-agenda-log-mode-items=,
1846     you can now request that all logged state changes be included
1847     in the agenda when log mode is active.  If you find this too
1848     much for normal applications, you can also temporarily
1849     request the inclusion of state changes by pressing =C-u l= in
1850     the agenda.
1852     This was a request by Hsiu-Khuern Tang.
1854     You can also press `C-u C-u l' to get *only* log items in the
1855     agenda, withour any timestamps/deadlines etc.
1857 *** Footnote in HTML export are now collected at the end of the document
1858     Previously, footnotes would be left in the document where
1859     they are defined, now they are all collected and put into a
1860     special =<div>= at the end of the document.
1862     Thanks to Sebastian Rose for this request.
1864 *** HTML export now validates again as XHTML.
1866     Thanks to Sebastian Rose for pushing this cleanup.
1868 *** The clock can now be resumed after exiting and re-starting Emacs
1870     If the option =org-clock-in-resume= is t, and the first clock
1871     line in an entry is unclosed, clocking into that task resumes
1872     the clock from that time.
1874     Thanks to James TD Smith for a patch to this effect.
1876 *** Clock-related data can be saved and resumed across Emacs sessions
1877     
1878     The data saved include the contents of =org-clock-history=,
1879     and the running clock, if there is one.
1880     
1881     To use this, you will need to add to your .emacs
1883 #+begin_src emacs-lisp
1884 (setq org-clock-persist t)
1885 (setq org-clock-in-resume t)
1886 (org-clock-persistence-insinuate)
1887 #+end_src
1889     Thanks to James TD Smith for a patch to this effect.
1891 *** Following file links can now use C-u C-u to force use of an external app.
1893     So far you could only bypass your setup in `org-file-apps'
1894     and force opening a file link in Emacs by using a =C-u= prefix arg
1895     with =C-c C-o=.  Now you can call =C-u C-u C-c C-o= to force
1896     an external application.  Which external application depends
1897     on your system.  On Mac OS X and Windows, =open= is used.  On
1898     a GNU/Linux system, the mailcap settings are used.
1900     This was a proposal by Samuel Wales.
1902 *** Inserting absolute files names now abbreviates links with "~".
1904     Inserting file links with =C-u C-c C-l= was buggy if the
1905     setting of `org-link-file-path-type' was `adaptive' (the
1906     default).  Absolute file paths were not abbreviated relative
1907     to the users home directory.  This bug has been fixed.
1909     Thanks to Matt Lundin for the report.
1911 *** Links to attachment files
1913     Even though one of the purposes of entry attachments was to
1914     reduce the number of links in an entry, one might still want
1915     to have the occasional link to one of those files.  You can
1916     now use link abbreviations to set up a special link type that
1917     points to attachments in the current entry.  Note that such
1918     links will only work from within the same entry that has the
1919     attachment, because the directory path is entry specific.
1920     Here is the setup you need:
1922 #+begin_src emacs-lisp
1923 (setq org-link-abbrev-alist '(("att" . org-attach-expand-link)))
1924 #+end_src
1926     After this, a link like this will work
1928 #+BEGIN_EXAMPLE
1929      [[att:some-attached-file.txt]]
1930 #+END_EXAMPLE
1931     This was a proposal by Lindsay Todd.
1933 *** Completed repeated tasks listed briefly in agenda
1935     When a repeating task, listed in the daily/weekly agenda under
1936     today's date, is completed from the agenda, it is listed as
1937     DONE in the agenda until the next update happens.  After the
1938     next update, the task will have disappeared, of course,
1939     because the new date is no longer today.
1940     
1941 *** Remove buffers created during publishing are removed
1943     Buffers that are created during publishing are now deleted
1944     when the publishing is over.  At least I hope it works like this.
1946 * Version 6.10
1948 ** Overview
1950    - Secondary agenda filtering is becoming a killer feature
1951    - Setting tags has now its own binding, =C-c C-q=
1952    - Todo state changes can trigger tag changes
1953    - C-RET will now always insert a new headline, never an item.
1954    - Customize org-mouse.el feature set to free up mouse events
1955    - New commands for export all the way to PDF (through LaTeX)
1956    - Some bug fixed for LaTeX export, more bugs remain.
1958 ** Details
1960 *** Enhancements to secondary agenda filtering
1962     This is, I believe, becoming a killer feature.  It allows you
1963     to define fewer and more general custom agenda commands, and
1964     then to do the final narrowing to specific tasks you are
1965     looking for very quickly, much faster than calling a new
1966     agenda command.
1968     If you have not tries this yet, you should!
1970 **** You can now refining the current filter by an additional criterion
1971       When filtering an existing agenda view with =/=, you can
1972       now narrow down the existing selection by an additional
1973       condition.  Do do this, use =\= instead of =/= to add the
1974       additional criterion.  You can also press =+= or =-= after
1975       =/= to add a positive or negative condition.  A condition
1976       can be a TAG, or an effort estimate limit, see below.
1978 **** It is now possible to filter for effort estimates
1979      This means to filter the agenda for the value of the Effort
1980      property.  For this you should best set up global allowed
1981      values for effort estimates, with
1983 #+begin_src emacs-lisp
1984 (setq org-global-properties
1985       '(("Effort_ALL" . "0 0:10 0:30 1:00 2:00 3:00 4:00")))
1986 #+end_src
1987       
1988      You may then select effort limits with single keys in the
1989      filter.  It works like this:  After =/= or =\=, first select
1990      the operator which you want to use to compare effort
1991      estimates:
1993      : <   Select entries with effort smaller than or equal to the limit
1994      : >   Select entries with effort larger than or equal to the limit
1995      : =   Select entries with effort equal to the limit
1997      After that, you can press a single digit number which is
1998      used as an index to the allowed effort estimates.
2000      If you do not use digits to fast-select tags, you can even
2001      skip the operator, which will then default to
2002      `org-agenda-filter-effort-default-operator', which is by
2003      default =<=.
2005      Thanks to Manish for the great idea to include fast effort
2006      filtering into the agenda filtering process.
2008 **** The mode line will show the active filter
2009      For example, if there is a filter in place that does select
2010      for HOME tags, against EMAIL tags, and for tasks with an
2011      estimated effort smaller than 30 minutes, the mode-line with
2012      show =+HOME-EMAIL+<0:30=
2014 **** The filter now persists when the agenda view is refreshed
2015      All normal refresh commands, including those that move the
2016      weekly agenda from one week to the next, now keep the
2017      current filter in place.
2019      You need to press =/ /= to turn off the filter.  However,
2020      when you run a new agenda command, for example going from
2021      the weekly agenda to the TODO list, the filter will be
2022      switched off.
2023    
2024 *** Setting tags has now its own binding, =C-c C-q=
2026     You can still use =C-c C-c= on a headline, but the new
2027     binding should be considered as the main binding for this
2028     command.  The reasons for this change are:
2030     - Using =C-c C-c= for tags is really out of line with other
2031       uses of =C-c C-c=.
2033     - I hate it in Remember buffers when I try to set tags and I
2034       cannot, because =C-c C-c= exits the buffer :-(
2036     - =C-c C-q= will also work when the cursor is somewhere down
2037       in the entry, it does not have to be on the headline.
2039 *** Todo state changes can trigger tag changes
2041     The new option =org-todo-state-tags-triggers= can be used to
2042     define automatic changes to tags when a TODO state changes.
2043     For example, the setting
2045     : (setq org-todo-state-tags-triggers
2046     :       '((done ("Today" . nil) ("NEXT" . nil))
2047     :         ("WAITING" ("Today" . t))))    
2049     will make sure that any change to any of the DONE states will
2050     remove tags "Today" and "NEXT", while switching to the
2051     "WAITING" state will trigger the tag "Today" to be added.
2053     I use this mostly to get rid of TODAY and NEXT tags which I
2054     apply to select an entry for execution in the near future,
2055     which I often prefer to specific time scheduling.
2057 *** C-RET will now always insert a new headline, never an item.
2058     The new headline is inserted after the current subtree.
2060     Thanks to Peter Jones for patches to fine-tune this behavior.
2062 *** Customize org-mouse.el feature set
2063     There is a new variable =org-mouse-features= which gives you
2064     some control about what features of org-mouse you want to
2065     use.  Turning off some of the feature will free up the
2066     corresponding mouse events, or will avoid activating special
2067     regions for mouse clicks.  By default I have urned off the
2068     feature to use drag mouse events to move or promote/demote
2069     entries.  You can of course turn them back on if you wish.
2071     This variable may still change in the future, allowing more
2072     fine-grained control.
2074 *** New commands for export to PDF
2076     This is using LaTeX export, and then processes it to PDF
2077     using pdflatex.
2079     : C-c C-e p     process to PDF.
2080     : C-c C-e d     process to PDF, and open the file.
2082 *** LaTeX export
2083     - \usepackage{graphicx} is now part of the standard class
2084       definitions.
2085     - Several bugs fixed, but definitely not all of them :-(
2087 *** New option `org-log-state-notes-insert-after-drawers'
2089     Set this to =t= if you want state change notes to be inserted
2090     after any initial drawers, i.e drawers the immediately follow
2091     the headline and the planning line (the one with
2092     DEADLINE/SCHEDULED/CLOSED information).
2094 * Version 6.09
2095 ** Incompatible
2096 *** =org-file-apps= now uses regular expressions, see [[*%20org%20file%20apps%20now%20uses%20regular%20repressions%20instead%20of%20extensions][below]]
2098 ** Details
2100 *** =org-file-apps= now uses regular repressions instead of extensions
2101     Just like in =auto-mode-alist=, car's in the variable
2102     =org-file-apps= that are strings are now interpreted as
2103     regular expressions that are matched against a file name.  So
2104     instead of "txt", you should now write "\\.txt\\'" to make
2105     sure the matching is done correctly (even though "txt" will
2106     be recognized and still be interpreted as an extension).
2108     There is now a shortcut to get many file types visited by
2109     Emacs.  If org-file-apps contains `(auto-mode . emacs)', then
2110     any files that are matched by `auto-mode-alist' will be
2111     visited in emacs.
2113 *** Changes to the attachment system
2115     - The default method to attach a file is now to copy it
2116       instead of moving it.
2117     - You can modify the default method using the variable
2118       `org-attach-method'.  I believe that most Unix people want
2119       to set it to `ln' to create hard links.
2120     - The keys =c=, =m=, and =l= specifically select =copy=,
2121       =move=, or =link=, respectively, as the attachment method
2122       for a file, overruling  `org-attach-method'.
2123     - To create a new attachment as an Emacs buffer, you have not
2124       now use =n= instead of =c=.
2125     - The file list is now always retrieved from the directory
2126       itself, not from the "Attachments" property.  We still
2127       keep this property by default, but you can turn it off, by
2128       customizing the variable =org-attach-file-list-property=.
2130 * Version 6.08
2132 ** Incompatible changes
2134    - Changes in the structure of IDs, see [[*The%20default%20structure%20of%20IDs%20has%20changed][here]] for details.
2136    - C-c C-a has been redefined, see [[*%20C%20c%20C%20a%20no%20longer%20calls%20show%20all][here]] for details.
2138 ** Details
2140 *** The default structure of IDs has changed
2142     IDs created by Org have changed a bit:
2143     - By default, there is no prefix on the ID.  There used to be
2144       an "Org" prefix, but I now think this is not necessary.
2145     - IDs use only lower-case letters, no upper-case letters
2146       anymore.  The reason for this is that IDs are now also used
2147       as directory names for org-attach, and some systems do not
2148       distinguish upper and lower case in the file system.
2149     - The ID string derived from the current time is now
2150       /reversed/ to become an ID.  This assures that the first
2151       two letters of the ID change fast, so hat it makes sense to
2152       split them off to create subdirectories to balance load.
2153     - You can now set the `org-id-method' to `uuidgen' on systems
2154       which support it.
2156 *** =C-c C-a= no longer calls `show-all'
2158     The reason for this is that =C-c C-a= is now used for the
2159     attachment system.  On the rare occasions that this command
2160     is needed, use =M-x show-all=, or =C-u C-u C-u TAB=.
2162 *** New attachment system
2164     You can now attach files to each node in the outline tree.
2165     This works by creating special directories based on the ID of
2166     an entry, and storing files in these directories.  Org can
2167     keep track of changes to the attachments by automatically
2168     committing changes to git.  See the manual for more
2169     information.
2171     Thanks to John Wiegley who contributed this fantastic new
2172     concept and wrote org-attach.el to implement it.
2174 *** New remember template escapes
2176     : %^{prop}p   to insert a property
2177     : %k          the heading of the item currently being clocked
2178     : %K          a link to the heading of the item currently being clocked
2180     Also, when you exit remember with =C-2 C-c C-c=, the item
2181     will be filed as a child of the item currently being
2182     clocked.  So the idea is, if you are working on something and
2183     think of a new task related to this or a new note to be
2184     added, you can use this to quickly add information to that
2185     task.
2187     Thanks to James TD Smith for a patch to this effect.
2189 *** Clicking with mouse-2 on clock info in mode-line visits the clock.
2190     
2191     Thanks to James TD Smith for a patch to this effect.
2193 *** New file in contrib: lisp/org-checklist.el
2195     This module deals with repeated tasks that have checkbox
2196     lists below them.
2198     Thanks to James TD Smith for this contribution.
2200 *** New in-buffer setting #+STYLE
2202     It can be used to locally set the variable
2203     `org-export-html-style-extra'.  Several such lines are
2204     allowed-, they will all be concatenated.  For an example on
2205     how to use it, see the [[http://orgmode.org/worg/org-tutorials/org-publish-html-tutorial.php][publishing tutorial]].
2207 * Version 6.07
2209 ** Overview
2211    - Filtering existing agenda views with respect to a tag
2212    - Editing fixed-width regions with picture or artist mode
2213    - /org-plot.el/ is now part of Org
2214    - Tags can be used to select the export part of a document
2215    - Prefix interpretation when storing remember notes
2216    - Yanking inserts folded subtrees
2217    - Column view capture tables can have formulas, plotting info
2218    - In column view, date stamps can be changed with S-cursor keys
2219    - The note buffer for clocking out now mentions the task
2220    - Sorting entries alphabetically ignores TODO keyword and priority
2221    - Agenda views can sort entries by TODO state
2222    - New face =org-scheduled= for entries scheduled in the future.
2223    - Remember templates for gnus links can use the :to escape.
2224    - The file specification in a remember template may be a function
2225    - Categories in iCalendar export include local tags
2226    - It is possible to define filters for column view
2227    - Disabling integer increment during table Field copy
2228    - Capturing column view is on `C-c C-x i'
2229    - And tons of bugs fixed.  
2232 ** Incompatible changes
2234 *** Prefix interpretation when storing remember notes has changed
2236     The prefix argument to the `C-c C-c' command that finishes a
2237     remember process is now interpreted differently:
2239     : C-c C-c       Store the note to predefined file and headline
2240     : C-u C-c C-c   Like C-c C-c, but immediately visit the note
2241     :               in its new location.
2242     : C-1 C-c C-c   Select the storage location interactively
2243     : C-0 C-c C-c   Re-use the last used location
2245     This was requested by John Wiegley.
2247 *** Capturing column view is now on `C-c C-x i'
2249     The reason for this change was that `C-c C-x r' is also used
2250     as a tty key replacement.
2252 *** Categories in iCalendar export now include local tags
2254     The locally defined tags are now listed as categories when
2255     exporting to iCalendar format.  Org's traditional file/tree
2256     category is now the last category in this list.  Configure
2257     the variable =org-icalendar-categories= to modify or revert
2258     this behavior.
2260     This was a request by Charles Philip Chan.
2262 ** Details
2264 *** Secondary filtering of agenda views.
2266     You can now easily and interactively filter an existing
2267     agenda view with respect to a tag.  This command is executed
2268     with the =/= key in the agenda.  You will be prompted for a
2269     tag selection key, and all entries that do not contain or
2270     inherit the corresponding tag will be hidden.  With a prefix
2271     argument, the opposite filter is applied: entries that
2272     do have the tag will be hidden.
2274     This operation only /hides/ lines in the agenda buffer, it
2275     does not remove them.  Changing the secondary filtering does
2276     not require a new search and is very fast.
2278     If you press TAB at the tag selection prompt, you will be
2279     switched to a completion interface to select a tag.  This is
2280     useful when you want to select a tag that does not have a
2281     direct access character.
2283     A double =/ /= will restore the original agenda view by
2284     unhiding any hidden lines.
2286     This functionality was John Wiegley's idea.  It is a simpler
2287     implementation of some of the query-editing features proposed
2288     and implemented some time ago by Christopher League (see the
2289     file contrib/lisp/org-interactive-query.el).
2291 *** Editing fixed-width regions with picture or artist mode
2293     The command @<code>C-c '@</code> (that is =C-c= followed by a
2294     single quote) can now also be used to switch to a special
2295     editing mode for fixed-width sections.  The default mode is
2296     =artist-mode= which allows you to create ASCII drawings.
2298     It works like this: Enter the editing mode with
2299     @<code>C-c '@</code>.  An indirect buffer will be created and
2300     narrowed to the fixed-width region.  Edit the drawing, and
2301     press @<code>C-c '@</code> again to exit.
2303     Lines in a fixed-width region should be preceded by a colon
2304     followed by at least one space.  These will be removed during
2305     editing, and then added back when you exit the editing mode.
2307     Using the command in an empty line will create a new
2308     fixed-width region.
2310     This new feature arose from a discussion involving Scott
2311     Otterson, Sebastian Rose and Will Henney.
2313 *** /org-plot.el/ is now part of Org.
2315     You can run it by simple calling org-plot/gnuplot.
2316     Documentation is not yet included with Org, please refer to
2317     http://github.com/eschulte/org-plot/tree/master until we have
2318     moved the docs into Org or Worg.
2320     Thanks to Eric Schulte for this great contribution.
2322 *** Tags can be used to select the export part of a document
2324     You may now use tags to select parts of a document for
2325     inclusion into the export, and to exclude other parts.  This
2326     behavior is governed by two new variables:
2327     =org-export-select-tags= and =org-export-exclude-tags=.
2328     These default to =("export")= and =("noexport")=, but can be
2329     changed, even to include a list of several tags.
2331     Org first checks if any of the /select/ tags is present in
2332     the buffer.  If yes, all trees that do not carry one of these
2333     tags will be excluded.  If a selected tree is a subtree, the
2334     heading hierarchy above it will also be selected for export,
2335     but not the text below those headings.  If none of the select
2336     tags is found anywhere in the buffer, the whole buffer will
2337     be selected for export.  Finally, all subtrees that are
2338     marked by any of the /exclude/ tags will be removed from the
2339     export buffer.
2341     You may set these tags with in-buffer options
2342     =EXPORT_SELECT_TAGS= and =EXPORT_EXCLUDE_TAGS=.
2344     I love this feature.  Thanks to Richard G Riley for coming
2345     up with the idea.
2347 *** Prefix interpretation when storing remember notes
2349     The prefix argument to the `C-c C-c' command that finishes a
2350     remember process is now interpreted differently:
2352     : C-c C-c       Store the note to predefined file and headline
2353     : C-u C-c C-c   Like C-c C-c, but immediately visit the note
2354     :               in its new location.
2355     : C-1 C-c C-c   Select the storage location interactively
2356     : C-0 C-c C-c   Re-use the last used location
2358     This was requested by John Wiegley.
2360 *** Yanking inserts folded subtrees
2362     If the kill is a subtree or a sequence of subtrees, yanking
2363     them with =C-y= will leave all the subtrees in a folded
2364     state.  This basically means, that kill and yank are now
2365     much more useful in moving stuff around in your outline.  If
2366     you do not like this, customize the variable
2367     =org-yank-folded-subtrees=.
2369     Right now, I am only binding =C-y= to this new function,
2370     should I modify all bindings of yank?  Do we need to amend
2371     =yank-pop= as well?
2373     This feature was requested by John Wiegley.
2375 *** Column view capture tables can have formulas, plotting info
2377     If you attach formulas and plotting instructions to a table
2378     capturing column view, these extra lines will now survive an
2379     update of the column view capture, and any formulas will be
2380     re-applied to the captured table.  This works by keeping any
2381     continuous block of comments before and after the actual
2382     table.
2384 *** In column view, date stamps can be changed with S-cursor keys
2386     If a property value is a time stamp, S-left and S-right can
2387     now be used to shift this date around while in column view.
2389     This was a request by Chris Randle.
2391 *** The note buffer for clocking out now mentions the task
2392     
2393     This was a request by Peter Frings.
2395 *** Sorting entries alphabetically ignores TODO keyword and priority
2397     Numerical and alphanumerical sorting now skips any TODO
2398     keyword or priority cookie when constructing the comparison
2399     string.  This was a request by Wanrong Lin.
2401 *** Agenda views can sort entries by TODO state
2403     You can now define a sorting strategy for agenda entries that
2404     does look at the TODO state of the entries.  Sorting by TODO
2405     entry does first separate the non-done from the done states.
2406     Within each class, the entries are sorted not alphabetically,
2407     but in definition order.  So if you have a sequence of TODO
2408     entries defined, the entries will be sorted according to the
2409     position of the keyword in this sequence.
2411     This follows an idea and sample implementation by Christian
2412     Egli.
2414 *** New face =org-scheduled= for entries scheduled in the future.
2416     This was a request by Richard G Riley.
2418 *** Remember templates for gnus links can now use the :to escape.
2420     Thanks to Tommy Lindgren for a patch to this effect.
2421 *** The file specification in a remember template may now be a function
2423     Thanks to Gregory Sullivan for a patch to this effect.
2425 *** Categories in iCalendar export now include local tags
2427     The locally defined tags are now listed as categories when
2428     exporting to iCalendar format.  Org's traditional file/tree
2429     category is now the last category in this list.  Configure
2430     the variable =org-icalendar-categories= to modify or revert
2431     this behavior.
2433     This was a request by Charles Philip Chan.
2435 *** It is now possible to define filters for column view
2437     The filter can modify the value that will be displayed in a
2438     column, for example it can cut out a part of a time stamp.
2439     For more information, look at the variable
2440     =org-columns-modify-value-for-display-function=.
2442 *** Disabling integer increment during table field copy
2444     Prefix arg 0 to S-RET does the trick.
2446     This was a request by Chris Randle.
2449 * Older changes
2451   For older Changes, see [[file:Changes_old.org]]
2454