Revert: don't use :html-resolution in `org-create-formula-image'.
[org-mode.git] / ORGWEBPAGE / Changes.org
blob2abe8f8e3883e7f16d83971d36d49244eabf10e1
1 #   -*- mode: org; fill-column: 65 -*-
3 #+begin_html
4 <a href="/"><img src="http://orgmode.org/img/org-mode-unicorn.png" class="logo-link" /></a>
5 #+end_html
7 #+STARTUP: indent hidestars
9 * Version 7.01
10 :PROPERTIES:
11 :VISIBILITY: content
12 :CUSTOM_ID: v7.01
13 :END:
15 ** Incompatible Changes
17 *** Emacs 21 support has been dropped
19 Do not use Org mode 7.xx with Emacs 21, use [[http://orgmode.org/org-6.36c.zip][version 6.36c]] instead.
21 *** XEmacs support requires the XEmacs development version
23 To use Org mode 7.xx with XEmacs, you need to run the developer
24 version of XEmacs.   I was about to drop XEmacs support entirely,
25 but Michael Sperber stepped in and made changes to XEmacs that
26 made it easier to keep the support.  Thanks to Michael for this
27 last-minute save.  I had hoped to be able to remove
28 xemacs/noutline.el from release 7 by moving it into XEmacs, but
29 this is not yet done.
31 *** Org-babel configuration changes
32 :PROPERTIES:
33 :CUSTOM_ID: ob-configuration-changes
34 :END:
36 Babel took the integration into Org-mode as an opportunity to do
37 some much needed house cleaning.  Most importantly we have
38 simplified the enabling of language support, and cleared out
39 unnecessary configuration variables -- which is great unless you
40 already have a working configuration under the old model.
42 The most important changes regard the /location/ and /enabling/
43 of Babel (both core functionality and language specific support).
45 - Babel :: Babel is now part of the core of Org-mode, so it is
46      now loaded along with the rest of Org-mode.  That means that
47      there is /no configuration/ required to enable the main
48      Babel functionality.  For current users, this means that
49      statements like
50      #+begin_src emacs-lisp
51        (require 'org-babel)
52      #+end_src
53      or
54      #+begin_src emacs-lisp
55        (require 'org-babel-init)
56      #+end_src
57      that may by lying around in your configuration must now be
58      removed.
59 - load path :: Babel (including all language specific files --
60      aside from those which are located in the =contrib/=
61      directory for reasons of licencing) now lives in the base of
62      the Org-mode lisp directory, so /no additional directories/
63      need to be added to your load path to use babel.  For Babel
64      users this means that statements adding babel-specific
65      directories to your load-path should now be removed from
66      your config.
67 - language support :: It is no longer necessary to require
68      language specific support on a language-by-language basis.
69      Specific language support should now be managed through the
70      `org-babel-load-languages' variable.  This variable can be
71      customized using the Emacs customization interface, or
72      through the addition of something like the following to your
73      configuration (note: any language not mentioned will /not/
74      be enabled, aside from =emacs-lisp= which is enabled by
75      default)
76      #+begin_src emacs-lisp
77        (org-babel-do-load-languages
78         'org-babel-load-languages
79         '((R . t)
80           (ditaa . t)
81           (dot . t)
82           (emacs-lisp . t)
83           (gnuplot . t)
84           (haskell . nil)
85           (ocaml . nil)
86           (python . t)
87           (ruby . t)
88           (screen . nil)
89           (sh . t)
90           (sql . nil)
91           (sqlite . t)))
92      #+end_src
93      
94            Despite this change it is still possible to add
95            language support through the use of =require=
96            statements, however to conform to Emacs file-name
97            regulations all Babel language files have changed
98            prefix from =org-babel-*= to =ob-*=, so the require
99            lines must also change e.g.
100            #+begin_src emacs-lisp
101        (require 'org-babel-R)
102            #+end_src
103            should be changed to
104            #+begin_src emacs-lisp
105        (require 'ob-R)
106            #+end_src
108 We have eliminated the =org-babel-tangle-w-comments= variable as
109 well as the two main internal lists of languages, namely
110 - =org-babel-interpreters= and
111 - =org-babel-tangle-langs= 
113 so any config lines which mention those variables, can/should be
114 stripped out in their entirety.  This includes any calls to the
115 =org-babel-add-interpreter= function, whose sole purpose was to
116 add languages to the =org-babel-interpreters= variable.
118 With those calls stripped out, we may still in some cases want to
119 associate a file name extension with certain languages, for
120 example we want all of our emacs-lisp files to end in a =.el=, we
121 can do this will the =org-babel-tangle-lang-exts= variable.  In
122 general you shouldn't need to touch this as it already has
123 defaults for most common languages, and if a language is not
124 present in org-babel-tangle-langs, then babel will just use the
125 language name, so for example a file of =c= code will have a =.c=
126 extension by default, shell-scripts (identified with =sh=) will
127 have a =.sh= extension etc...
129 The configuration of /shebang/ lines now lives in header
130 arguments.  So the shebang for a single file can be set at the
131 code block level, e.g.
133 #+begin_src org
134   ,#+begin_src clojure :shebang #!/usr/bin/env clj
135   ,  (println "with a shebang line, I can be run as a script!")
136   ,#+end_src  
137 #+end_src
139 Note that whenever a file is tangled which includes a /shebang/
140 line, Babel will make the file executable, so there is good
141 reason to only add /shebangs/ at the source-code block level.
142 However if you're sure that you want all of your code in some
143 language (say shell scripts) to tangle out with shebang lines,
144 then you can customize the default header arguments for that
145 language, e.g.
147 #+begin_src emacs-lisp
148   ;; ensure this variable is defined defined
149   (unless (boundp 'org-babel-default-header-args:sh)
150     (setq org-babel-default-header-args:sh '()))
151   
152   ;; add a default shebang header argument
153   (add-to-list 'org-babel-default-header-args:sh
154                '(:shebang . "#!/bin/bash"))  
155 #+end_src
157 The final important change included in this release is the
158 addition of new security measures into Babel.  These measures are
159 in place to protect users from the accidental or uninformed
160 execution of code.  Along these lines /every/ execution of a code
161 block will now require an explicit confirmation from the user.
162 These confirmations can be stifled through customization of the
163 `org-confirm-babel-evaluate' variable, e.g.
164 #+begin_src emacs-lisp
165   ;; I don't want to be prompted on every code block evaluation
166   (setq org-confirm-babel-evaluate nil)
167 #+end_src
169 In addition, it is now possible to remove code block evaluation
170 form the =C-c C-c= keybinding.  This can be done by setting the
171 =org-babel-no-eval-on-ctrl-c-ctrl-c= variable to a non-nil value,
172 e.g.
173 #+begin_src emacs-lisp
174   ;; I don't want to execute code blocks with C-c C-c
175   (setq org-babel-no-eval-on-ctrl-c-ctrl-c t)
176 #+end_src
178 An additional keybinding has been added for code block
179 evaluation, namely =C-c C-v e=.
181 Whew! that seems like a lot of effort for a /simplification/ of
182 configuration.
184 *** New keys for TODO sparse trees
186 The key =C-c C-v= is now reserved for Org Babel action.  TODO
187 sparse trees can still be made with =C-c / t= (all not-done
188 states) and =C-c / T= (specific states).
190 *** Customizable variable changes for DocBook exporter
192 To make it more flexible for users to provide DocBook exporter
193 related commands, we start to use format-spec to format the
194 commands in this release.  If you use DocBook exporter and use it
195 to export Org files to PDF and/or FO format, the settings of the
196 following two customizable variables need to be changed:
198 - =org-export-docbook-xslt-proc-command=
199 - =org-export-docbook-xsl-fo-proc-command=
201 Instead of using =%s= in the format control string for all
202 arguments, now we use /three/ different format spec characters:
204 - =%i=: input file argument
205 - =%o=: output file argument
206 - =%s=: XSLT stylesheet argument
208 For example, if you set =org-export-docbook-xslt-proc-command= to
210 : java com.icl.saxon.StyleSheet -o %s %s /path/to/docbook.xsl
212 in the past, now you need to change it to
214 : java com.icl.saxon.StyleSheet -o %o %i %s
216 and set a new customizable variable called
217 =org-export-docbook-xslt-stylesheet= to =/path/to/docbook.xsl=.
219 Please check the documentation of these two variables for more
220 details and other examples.
222 Along with the introduction of variable
223 =org-export-docbook-xslt-stylesheet=, we also added a new
224 in-buffer setting called =#+XSLT:=.  You can use this setting to
225 specify the XSLT stylesheet that you want to use on a per-file
226 basis.  This setting overrides
227 =org-export-docbook-xslt-stylesheet=.
229 ** Details
231 *** Org Babel is now part of the Org core
232 See [[#ob-configuration-changes][Org-babel configuration changes]] for instructions on how to
233 update your babel configuration.
235 The most significant result of this change is that Babel now has
236 documentation!  It is part of Org-mode's documentation, see
237 Chapter 14 [[http://orgmode.org/manual/Working-with-source-code.html#Working-with-source-code][Working With Source Code]].  The Babel keybindings
238 are now listed in the refcard, and can be viewed from any
239 Org-mode buffer by pressing =C-c C-v h=.  In addition this
240 integration has included a number of bug fixes, and a significant
241 amount of internal code cleanup.
243 *** The default capture system for Org mode is now called org-capture
245 This replaces the earlier system org-remember.  The manual only
246 describes org-capture, but for people who prefer to continue to
247 use org-remember, we keep a static copy of the former manual
248 section [[http://orgmode.org/org-remember.pdf][chapter about remember]].
250 The new system has a technically cleaner implementation and more
251 possibilities for capturing different types of data.  See
252 [[http://thread.gmane.org/gmane.emacs.orgmode/26441/focus%3D26441][Carsten's announcement]] for more details.
254 To switch over to the new system:
256 1. Run 
258    : M-x org-capture-import-remember-templates RET
260    to get a translated version of your remember templates into the
261    new variable =org-capture-templates=.  This will "mostly" work,
262    but maybe not for all cases.  At least it will give you a good
263    place to modify your templates.  After running this command,
264    enter the customize buffer for this variable with 
266    : M-x customize-variable RET org-capture-templates RET
268    and convince yourself that everything is OK.  Then save the
269    customization.
270    
271 2. Bind the command =org-capture= to a key, similar to what you did
272    with org-remember:
274    : (define-key global-map "\C-cc" 'org-capture)
276    If your fingers prefer =C-c r=, you can also use this key once
277    you have decided to move over completely to the new
278    implementation.  During a test time, there is nothing wrong
279    with using both system in parallel.
281 *** Implement pretty display of entities, sub-, and superscripts.
283 The command =C-c C-x \= toggles the display of Org's special
284 entities like =\alpha= as pretty unicode characters.  Also, sub
285 and superscripts are displayed in a pretty way (raised/lower
286 display, in a smaller font).  If you want to exclude sub- and
287 superscripts, see the variable
288 =org-pretty-entities-include-sub-superscripts=.
290 Thanks to Eric Schulte and Ulf Stegeman for making this possible.
292 *** Help system for finding entities
294 The new command =M-x org-entities-help= creates a structured
295 buffer that lists all entities available in Org.  Thanks to Ulf
296 Stegeman for adding the necessary structure to the internal
297 entity list.
299 *** New module to create Gantt charts
301 Christian Egli's /org-taskjuggler.el/ module is now part of Org.
302 He also wrote a [[http://orgmode.org/worg/org-tutorials/org-taskjuggler.php][tutorial]] for it.
304 *** Refile targets can now be cached
306 You can turn on caching of refile targets by setting the variable
307 =org-refile-use-cache=.  This should speed up refiling if you
308 have many eligible targets in many files.  If you need to update
309 the cache because Org misses a newly created entry or still
310 offers a deleted one, press =C-0 C-c C-w=.
312 *** Enhanced functionality of the clock resolver
314 Here are the new options for the clock resolver:
315     
316 : i/q/C-g  Ignore this question; the same as keeping all the idle time.
318 : k/K      Keep X minutes of the idle time (default is all).  If this
319 :          amount is less than the default, you will be clocked out
320 :          that many minutes after the time that idling began, and then
321 :          clocked back in at the present time.
322 : g/G      Indicate that you \"got back\" X minutes ago.  This is quite
323 :          different from 'k': it clocks you out from the beginning of
324 :          the idle period and clock you back in X minutes ago.
325 : s/S      Subtract the idle time from the current clock.  This is the
326 :          same as keeping 0 minutes.
327 : C        Cancel the open timer altogether.  It will be as though you
328 :          never clocked in.
329 : j/J      Jump to the current clock, to make manual adjustments.
330     
331 For all these options, using uppercase makes your final state
332 to be CLOCKED OUT.  Thanks to John Wiegley for making these
333 changes.
335 *** A property value of "nil" now means to unset a property
337 This can be useful in particular with property inheritance, if
338 some upper level has the property, and some grandchild of it
339 would like to have the default settings (i.e. not overruled by a
340 property) back.
342 Thanks to Robert Goldman and Bernt Hansen for suggesting this
343 change.
345 *** The problem with comment syntax has finally been fixed
347 Thanks to Leo who has been on a year-long quest to get this fixed
348 and finally found the right way to do it.
350 *** Make it possible to protect hidden subtrees from being killed by =C-k=
351     
352 This was a request by Scott Otterson.
353 See the new variable =org-ctrl-k-protect-subtree=.
354     
355 *** New module org-mac-link-grabber.el
357 This module allows to grab links to all kinds of applications on
358 a mac.  It is available in the contrib directory.
360 Thanks to Anthony Lander for this contribution.
362 *** LaTeX export: Implement table* environment for wide tables
363     
364 Thanks to Chris Gray for a patch to this effect.
366 *** When cloning entries, remove or renew ID property
368 Thanks to David Maus for this change.
370 * Version 6.36
372  :PROPERTIES:
373  :CUSTOM_ID: v6.36
374  :END:
376 ** Details
377 *** Inline display of linked images
379 Images can now be displayed inline.  The key C-c C-x C-v does
380 toggle the display of such images.  Note that only image links
381 that have no description part will be inlined.
383 *** Implement offsets for ordered lists
385 If you want to start an ordered plain list with a number
386 different from 1, you can now do it like this:
387     
388 : 1. [@start:12] will star a lit a number 12
390 *** Extensions to storing and opening links to Wanderlust messages
391     
392 - Remove filter conditions for messages in a filter folder
393     
394   If customization variable `org-wl-link-remove-filter' is non-nil,
395   filter conditions are stripped of the folder name.
396     
397 - Create web links for messages in a Shimbun folder
399   If customization variable `org-wl-shimbun-prefer-web-links' is
400   non-nil, calling `org-store-link' on a Shimbun message creates a
401   web link to the messages source, indicated in the Xref: header
402   field.
404 - Create web links for messages in a nntp folder
406   If customization variable `org-wl-nntp-prefer-web-links' is
407   non-nil, calling `org-store-link' on a nntp message creates a web
408   link either to gmane.org if the group can be read trough gmane or
409   to googlegroups otherwise. In both cases the message-id is used as
410   reference.
412 - Open links in namazu search folder
414   If `org-wl-open' is called with one prefix, WL opens a namazu
415   search folder for message's message-id using
416   `org-wl-namazu-default-index' as search index.  If this variable is
417   nil or `org-wl-open' is called with two prefixes Org asks for the
418   search index to use.
420 Thanks to David Maus for these changes.
422 *** Org-babel: code block body expansion for table and preview
424 In org-babel, code is "expanded" prior to evaluation. I.e. the
425 code that is actually evaluated comprises the code block
426 contents, augmented with the extra code which assigns the
427 referenced data to variables. It is now possible to preview
428 expanded contents, and also to expand code during during
429 tangling. This expansion takes into account all header arguments,
430 and variables.
432 A new key-binding C-c M-b p bound to
433 `org-babel-expand-src-block' can be used from inside of a
434 source code block to preview its expanded contents (which can
435 be very useful for debugging).  tangling
437 The expanded body can now be tangled, this includes variable
438 values which may be the results of other source-code blocks, or
439 stored in headline properties or tables. One possible use for
440 this is to allow those using org-babel for their emacs
441 initialization to store values (e.g. usernames, passwords,
442 etc…) in headline properties or in tables.
444 Org-babel now supports three new header arguments, and new
445 default behavior for handling horizontal lines in tables
446 (hlines), column names, and rownames across all languages.
449 * Version 6.35
450  :PROPERTIES:
451  :CUSTOM_ID: v6.35
452  :END:
454 ** Incompatible Changes
456 *** Changes to the intended use of =org-export-latex-classes=
458 So far this variable has been used to specify the complete header
459 of the LaTeX document, including all the =\usepackage= calls
460 necessary for the document.  This setup makes it difficult to
461 maintain the list of packages that Org itself would like to call,
462 for example for the special symbol support it needs.  Each time I
463 have to add a package, I have to ask people to revise the
464 configuration of this variable.  In this release, I have tried to
465 fix this.
467 First of all, you can *opt out of this change* in the following
468 way: You can say: /I want to have full control over headers, and
469 I will take responsibility to include the packages Org needs/.
470 If that is what you want, add this to your configuration and skip
471 the rest of this section (except maybe for the description of the
472 =[EXTRA]= place holder):
474 #+begin_src emacs-lisp
475   (setq org-export-latex-default-packages-alist nil
476         org-export-latex-packages-alist nil)
477 #+end_src
479 /Continue to read here if you want to go along with the modified
480 setup./
482 There are now two variables that should be used to list the LaTeX
483 packages that need to be included in all classes.  The header
484 definition in =org-export-latex-classes= should then not contain
485 the corresponding =\usepackage= calls (see below).
487 The two new variables are:
489 1. =org-export-latex-default-packages-alist= :: This is the
490      variable where Org-mode itself puts the packages it needs.
491      Normally you should not change this variable.  The only
492      reason to change it anyway is when one of these packages
493      causes a conflict with another package you want to use.
494      Then you can remove that packages and hope that you are not
495      using Org-mode functionality that needs it.
497 2. =org-export-latex-packages-alist= :: This is the variable
498      where you can put the packages that you'd like to use across
499      all classes.  For example, I am putting =amsmath= and =tikz=
500      here, because I always want to have them.
502 The sequence how these customizations will show up in the LaTeX
503 document are:
504 1. Header from =org-export-latex-classes=
505 2. =org-export-latex-default-packages-alist=
506 3. =org-export-latex-packages-alist=
507 4. Buffer-specific things set with =#+LaTeX_HEADER:=
509 If you want more control about which segment is placed where, or
510 if you want, for a specific class, have full control over the
511 header and exclude some of the automatic building blocks, you can
512 put the following macro-like place holders into the header:
514 #+begin_example
515 [DEFAULT-PACKAGES]      \usepackage statements for default packages
516 [NO-DEFAULT-PACKAGES]   do not include any of the default packages
517 [PACKAGES]              \usepackage statements for packages 
518 [NO-PACKAGES]           do not include the packages
519 [EXTRA]                 the stuff from #+LaTeX_HEADER
520 [NO-EXTRA]              do not include #+LaTeX_HEADER stuff
521 #+end_example
523 If you have currently customized =org-export-latex-classes=, you
524 should revise that customization and remove any package calls that
525 are covered by =org-export-latex-default-packages-alist=.  This
526 applies to the following packages:
528 - inputenc
529 - fontenc
530 - fixltx2e
531 - graphicx
532 - longtable
533 - float
534 - wrapfig
535 - soul
536 - t1enc
537 - textcomp
538 - marvosym
539 - wasysym
540 - latexsym
541 - amssymb
542 - hyperref
544 If one of these packages creates a conflict with another package
545 you are using, you can remove it from
546 =org-export-latex-default-packages-alist=.  But then you risk
547 that some of the advertised export features of Org will not work
548 properly.
550 You can also consider moving packages that you use in all classes
551 to =org-export-latex-packages-alist=.  If necessary, put the
552 place holders so that the packages get loaded in the right
553 sequence.  As said above, for backward compatibility, if you omit
554 the place holders, all the variables will dump their content at
555 the end of the header.
557 Damn, this has become more complex than I wanted it to be.  I
558 hope that in practice, this will not be complicated at all.
560 *** The constant =org-html-entities= is obsolete
562 Its content is now part of the new constant =org-entities=, which
563 is defined in the file org-entities.el.  =org-html-entities= was
564 an internal variable, but it is possible that some users did
565 write code using it - this is why I am mentioning it here.
567 ** Editing Convenience and Appearance
569 *** New faces for title, date, author and email address lines.
570     
571 The keywords in these lines are now dimmed out, and the title is
572 displayed in a larger font, and a special font is also used for
573 author, date, and email information.  This is implemented by the
574 following new faces:
575     
576 org-document-title
577 org-document-info
578 org-document-info-keyword
579     
580 In addition, the variable =org-hidden-keywords= can be used to
581 make the corresponding keywords disappear.
583 Thanks to Dan Davison for this feature.
585 *** Simpler way to specify faces for tags and todo keywords
586     
587 The variables =org-todo-keyword-faces=, =org-tag-faces=, and
588 =org-priority-faces= now accept simple color names as
589 specifications.  The colors will be used as either foreground or
590 background color for the corresponding keyword.  See also the
591 variable =org-faces-easy-properties=, which governs which face
592 property is affected by this setting.
594 This is really a great simplification for setting keyword faces.
595 The change is based on an idea and patch by Ryan Thompson.
597 *** <N> in tables now means fixed width, not maximum width
598     
599 Requested by Michael Brand.
601 *** Better level cycling function
603 =TAB= in an empty headline cycles the level of that headline
604 through likely states.  Ryan Thompson implemented an improved
605 version of this function, which does not depend upon when exactly
606 this command is used.  Thanks to Ryan for this improvement.
608 *** Adaptive filling
609     
610 For paragraph text, =org-adaptive-fill-function= did not handle the
611 base case of regular text which needed to be filled.  This is now
612 fixed.  Among other things, it allows email-style ">" comments
613 to be filled correctly.
615 Thanks to Dan Hackney for this patch.    
617 *** `org-reveal' (=C-c C-r=) also decrypts encrypted entries (org-crypt.el)
618     
619 Thanks to Richard Riley for triggering this change.
621 *** Better automatic letter selection for TODO keywords
622     
623 When all first letters of keywords have been used, Org now assigns
624 more meaningful characters based on the keywords.
626 Thanks to Mikael Fornius for this patch.
628 ** Export
630 *** Much better handling of entities for LaTeX export
632 Special entities like =\therefore= and =\alpha= now know if
633 they need to be in LaTeX math mode and are formatted accordingly.
635 Thanks to Ulf Stegemann for the tedious work to make this
636 possible.
637     
638 *** LaTeX export: Set coding system automatically
640 The coding system of the LaTeX class will now be set to the value
641 corresponding to the buffer's file coding system.  This happens
642 if your setup sets up the file to have a line
643 =\usepackage[AUTO]{inputenc}= (the default setup does this).
645 *** New exporters to Latin-1 and UTF-8
647 While Ulf Stegemann was going through the entities list to
648 improve the LaTeX export, he had the great idea to provide
649 representations for many of the entities in Latin-1, and for all
650 of them in UTF-8.  This means that we can now export files rich
651 in special symbols to Latin-1 and to UTF-8 files.  These new
652 exporters can be reached with the commands =C-c C-e n= and =C-c
653 C-e u=, respectively.
655 When there is no representation for a given symbol in the
656 targeted coding system, you can choose to keep the TeX-macro-like
657 representation, or to get an "explanatory" representation.  For
658 example, =\simeq= could be represented as "[approx. equal to]".
659 Please use the variable =org-entities-ascii-explanatory= to state
660 your preference.
662 *** Full label/reference support in HTML, Docbook, and LaTeX backends
664 =#+LABEL= definitions for tables and figures are now fully
665 implemented in the LaTeX, Docbook, and HTML interfaces.
666 =\ref{xxx}= is expanded to a valid link in all backends.
668 *** BEAMER export: Title of the outline frame is now customizable
669     
670 The new option =org-outline-frame-title= allows to set the 
671 title for outline frames in Beamer presentations.
673 Patch by Lukasz Stelmach.
674     
675 *** BEAMER export: fragile frames are better recognized
677 A =lstlisting= environment now also triggers the fragile option in
678 a beamer frame, just like =verbatim= environments do.
680 Thanks to Eric Schulte for this patch.
682 *** BEAMER export: Protect <...> macro arguments
684 Macros for the BEAMER package can have arguments in angular
685 brackets.  These are now protected just like normal arguments.
687 Requested by Bill Jackson.
689 *** HTML export: Add class to outline containers using property
690     
691 The =HTML_CONTAINER_CLASS= property can now be used to add a
692 class name to the outline container of a node in HTML export.
694 *** New option =org-export-email-info= to turn off export of the email address
695     
696 Default is actually off now.
698 *** Throw an error when creating an image from a LaTeX snippet fails
700 This behavior can be configured with the new option variable
701 =org-format-latex-signal-error=.
703 ** Index generation
704     
705 Org-mode can now produce a 2-level subject index spanning an
706 entire publishing project.  Write index entries in your files as
708 #+begin_src org
709 ,* What is org-mode?
710 #+index: Org-mode
711 #+index: Definitions!Org-mode
712 #+end_src
714 where the first line will produce an index entry /Org-mode/,
715 while the second line will create /Definitions/ with a sub-item
716 /Org-mode/.  Three-level entries are not supported.
718 To produce the index, set
720 #+begin_src emacs-lisp
721 :makeindex t
722 #+end_src
724 in the project definition in =org-publish-project-alist=.  You
725 may have to force re-export of all files to get the index by
726 using a =C-u= prefix to the publishing command:
728 #+begin_example
729 C-u M-x org-publish-all
730 #+end_example
732 Whenever an Org file is published in this project, a new file
733 with the extension "orgx" will be written.  It contains the index
734 entries and corresponding jump target names.  When all project
735 files are published, Org will produce a new file "theindex.inc"
736 containing the index as a to-level tree.  This file can be
737 included into any project file using
739 #+begin_src org
740   ,#+include: "theindex.inc"
741 #+end_src
743 Org-mode will also create a file "theindex.org" with this include
744 statement, and you can build a more complex structure (for
745 example style definitions, top and home links, etc) around this
746 statement.  When this file already exists, it will not be
747 overwritten by Org.
749 Thanks to Stefan Vollmar for initiating and driving this feature.
751 *** TODO Still need to do the LaTeX portion
753 ** MobileOrg
755 *** Encrypting stage files for MobileOrg
757 Since the use of (often pubic) servers is needed for MobileOrg,
758 it is now possible to encrypt the files to be staged for
759 MobileOrg.  Version 1.2 of MobileOrg will be needed for this
760 feature, and Richard Moreland will show instructions on his
761 website once that is available.  Basically, on the Org-side this
762 will require the following settings:
764 #+begin_src emacs-lisp
765   (setq org-mobile-use-encryption t
766         org-mobile-encryption-password "My_MobileOrg_Password")
767 #+end_src
769 So the password will be visible in your local setup, but since
770 the encryption is only for the public server, this seems
771 acceptable.
773 ** Agenda
775 *** Specify entry types as an option
776     
777 Custom Agenda commands can now limit the sets of entry types
778 considered for this command by binding =org-agenda-entry-types=
779 temporarily in the options section of the command.  This can lead
780 to significant speedups, because instead of laboriously finding
781 entries and then rejecting them, a whole search cycle is skipped.
782 For more information see the new section in
783 [[http://orgmode.org/worg/org-tutorials/org-custom-agenda-commands.php#sec-5][Matt Lundin's agenda custom command tutorial]].
785 Thanks to Matt Lundin for this feature.
787 *** Speed up multiple calls to org-diary by only doing buffer prep once
788     
789 Also a patch by Matt Lundin.
791 *** Show and hide deadlines in the agenda
793 You can now hide all deadline entries in the agenda by pressing
794 =!=.
796 Thanks to John Wiegley for this feature.
798 *** Agenda: Allow to suppress deadline warnings for entries also scheduled
800 The the docstring of the variable
801 =org-agenda-skip-deadline-prewarning-if-scheduled=.
803 *** Expand file names in org-agenda-files (external file case)
804     
805 If you are using a file to manage the list of agenda files, the
806 names in this file can now contain environment variables and "~"
807 to write them more compactly and portable.
809 Thanks to Mikael Fornius for a patch to this effect.
811 *** Agenda: Allow TODO conditions in the skip functions
813 The agenda skip function has now special support for skipping
814 based on the TODO state.  Here are just two examples, see the
815 manual for more information.
817 #+begin_src emacs-lisp
818 (org-agenda-skip-entry-if 'todo '(\"TODO\" \"WAITING\"))
819 (org-agenda-skip-entry-if 'nottodo 'done)
820 #+end_src
822 Thanks to Lukasz Stelmach for this patch.
824 *** Extracting the time-of-day when adding diary entries
826 The time of day can now be extracted from new diary entries made
827 from the agenda with (for example) =i d=.  When
828 =org-agenda-insert-diary-extract-time= is set, this is done, and
829 the time is moved into the time stamp.
831 Thanks to Stephen Eglen for this feature.
833 *** The customization group org-font-lock has been renamed
835 The new name is `org-appearance'.
837 Thanks to Dan Davison for a patch to this effect.
839 *** The TODO list: Allow skipping scheduled or deadlined entries
841 Skipping TODO entries in the global TODO list based on whether
842 they are scheduled or have a deadline can now be controlled in
843 more detail.  Please see the docstrings of
844 =org-agenda-todo-ignore-scheduled= and
845 =org-agenda-todo-ignore-deadline=.
847 Thanks to Lukasz Stelmach for patches to this effect.
849 ** Hyperlinks
851 *** Make =org-store-link= point to directory in a dired buffer
852     
853 When, in a dired buffer, the cursor is not in a line listing a
854 file, `org-store-link' will store a link to the directory.
856 Patch by Stephen Eglen.
858 *** Allow regexps in =org-file-apps= to capture link parameters
859     
860 The way extension regexps in =org-file-apps= are handled has
861 changed.  Instead of matching against the file name, the regexps
862 are now matched against the whole link, and you can use grouping
863 to extract link parameters which you can then use in a command
864 string to be executed.
866 For example, to allow linking to PDF files using the syntax
867 =file:/doc.pdf::<page number>=, you can add the following entry to
868 org-file-apps:
870 #+begin_example
871 Extension: \.pdf::\([0-9]+\)\'
872 Command:   evince "%s" -p %1
873 #+end_example
875 Thanks to Jan Böcker for a patch to this effect.
877 ** Clocking
879 *** Show clock overruns in mode line
881 When clocking an item with a planned effort, overrunning the
882 planned time is now made visible in the mode line, for example
883 using the new face =org-mode-line-clock-overrun=, or by adding an
884 extra string given by =org-task-overrun-text=.
886 Thanks to Richard Riley for a patch to this effect.
888 ** Tables
890 *** Repair the broken support for table.el tables again.
891     
892 Tables created with the table.el package now finally work again
893 in Org-mode.  While you cannot edit the table directly in the
894 buffer, you can use  =C-c '= to edit it nicely in a temporary
895 buffer.
897 Export of these tables to HTML seem to work without problems.
898 Export to LaTeX is imperfect.  If fails if the table contains
899 special characters that will be replaced by the exporter before
900 formatting the table.  The replacement operation changes the
901 length of some lines, breaking the alignment of the table fields.
902 Unfortunately this is not easy to fix.  It is also not an option
903 to not do these replacements.  The table.el LaTeX exporter will
904 for example not escape "&" in table fields, causing the exported
905 tables to be broken.
907 ** Misc
909 *** New logging support for refiling
911 Whenever you refile an item, a time stamp and even a note can be
912 added to this entry.  For details, see the new option
913 =org-log-refile=.
914     
915 Thanks to Charles Cave for this idea.
917 *** New helper functions in org-table.el
919 There are new functions to access and write to a specific table
920 field.  This is for hackers, and maybe for the org-babel people.
922 #+begin_example
923 org-table-get
924 org-table-put
925 org-table-current-line
926 org-table-goto-line
927 #+end_example
929 *** Tables: Field coordinates for formulas, and improved docs
930     
931 Calc and Emacs-Lisp formulas for tables can access the current
932 field coordinates with =@#= and =$#= for row and column,
933 respectively.  These can be useful in some formulas.  For
934 example, to sequentially number the fields in a column, use
935 ~=@#~ as column equation.
937 One application is to copy a column from a different table.  See
938 the manual for details.
940 Thanks to Michael Brand for this feature.
942 *** Archiving: Allow to reverse order in target node
943     
944 The new option =org-archive-reversed-order= allows to have
945 archived entries inserted in a last-on-top fashion in the target
946 node.
947     
948 Requested by Tom.
950 *** Better documentation on calc accuracy in tables
951     
952 Thanks to Michael Brand for this fix.
954 *** Clock reports can now include the running, incomplete clock
956 If you have a clock running, and the entry being clocked falls
957 into the scope when creating a clock table, the time so far spent
958 can be added to the total.  This behavior depends on the setting
959 of =org-clock-report-include-clocking-task=.  The default is
960 =nil=.
961     
962 Thanks to Bernt Hansen for this useful addition.
964 *** American-style dates are now understood by =org-read-date=
966 So when you are prompted for a date, you can now answer like this
968 #+begin_example
969 2/5/3         --> 2003-02-05
970 2/5           --> <CURRENT-YEAR>-02-05
971 #+end_example    
973 *** org-timer.el now allows just one timer
975 There is now only a single free timer supported by org-timer.el.
976 Thanks to Bastien for cleaning this up, after a bug report in
977 this area by Frédéric Couchet.
979 *** Remember: Allow to file as sibling of current clock
980     
981 =C-3 C-c C-c= will file the remember entry as a sibling of the
982 last filed entry.
984 Patch by Lukasz Stelmach.
986 *** Org-reveal: Double prefix arg shows the entire subtree of the parent
987     
988 This can help to get out of an inconsistent state produced for
989 example by viewing from the agenda.
991 This was a request by Matt Lundin.
993 *** Add org-secretary.el by Juan Reyero to the contrib directory
995 org-secretary.el is a possible setup for group work using
996 Org-mode.
998 Thanks to Juan Reyero for this contribution.
1000 ** Babel
1002 Eric and Dan have compiled the following list of changes in and
1003 around org-babel.
1005 - Added support for Matlab and Octave.
1006 - Added support for C and C++ code blocks.
1007 - Added support for the Oz programming language.
1008   Thanks to Torsten Anders for this contribution
1009 - Can now force literal interpretation of table cell contents
1010   with extra "$" in table formula.
1011   Thanks to Maurizio Vitale for this suggestion.
1012 - Variable references which look like lisp forms are now
1013   evaluated.
1014 - No longer adding extension during tangling when filename is
1015   provided.
1016   Thanks to Martin G. Skjæveland and Nicolas Girard for prompting this.
1017 - Added `org-babel-execute-hook' which runs after code block
1018   execution.
1019 - Working directories and remote execution
1021   This introduces a new header argument :dir. For the duration of
1022   source block execution, default-directory is set to the value
1023   of this header argument. Consequences include:
1025   - external interpreter processes run in that directory
1026   - new session processes run in that directory (but existing
1027     ones are unaffected)
1028   - relative paths for file output are relative to that directory
1030   The name of a directory on a remote machine may be specified
1031   with tramp syntax (/user@host:path), in which case the
1032   interpreter executable will be sought in tramp-remote-path, and
1033   if found will execute on the remote machine in the specified
1034   remote directory.
1035 - Tramp syntax can be used to tangle to remote files.
1036   Thanks to Maurizio Vitale and Rémi Vanicat.
1037 - org-R removed from contrib.
1038 - gnuplot can now return it's string output -- when session is
1039   set to "none".
1040 - Now including source code block arguments w/source name on
1041   export.
1042 - Now able to reference file links as results.
1043 - Allow pdf/png generation directly from latex source blocks
1044   with :file header argument.
1047 * Version 6.34
1048  :PROPERTIES:
1049  :CUSTOM_ID: v6.34
1050  :END:
1052 ** Incompatible changes
1054 *** Tags in org-agenda-auto-exclude-function must be lower case.
1056 When defining an =org-agenda-auto-exclude-function=, you need to
1057 be aware that tag that is being passed into the function is
1058 always lower case - even if it was defined in upper case
1059 originally.
1061 ** Details
1063 *** Support for creating BEAMER presentations from Org-mode documents
1065 Org-mode documents or subtrees can now be converted directly in
1066 to BEAMER presentation.  Turning a tree into a simple
1067 presentations is straight forward, and there is also quite some
1068 support to make richer presentations as well.  See the [[http://orgmode.org/manual/Beamer-class-export.html#Beamer-class-export][BEAMER
1069 section]] in the manual for more details.
1071 Thanks to everyone who has contributed to the discussion about
1072 BEAMER support and how it should work.  This was a great example
1073 for how this community can achieve a much better result than any
1074 individual could.
1076 *** Hyperlinks
1078 **** Add Paul Sexton's org-ctags.el
1080 Targets like =<<my target>>= can now be found by Emacs' etag
1081 functionality, and Org-mode links can be used to to link to
1082 etags, also in non-Org-mode files.  For details, see the file
1083 /org-ctags.el/.
1085 This feature uses a new hook =org-open-link-functions= which will
1086 call function to do something special with text links.
1088 Thanks to Paul Sexton for this contribution.
1090 **** Add Jan Böcker's org-docview.el
1092 This new module allows links to various file types using docview,
1093 where Emacs displays images of document pages.  Docview link
1094 types can point to a specific page in a document, for example to
1095 page 131 of the Org-mode manual:
1097 : [[docview:~/.elisp/org/doc/org.pdf::131][Org-Mode Manual]]
1099 Thanks to Jan Böcker for this contribution.
1100     
1101 **** New link types that force special ways of opening the file
1102     
1103 - =file+sys:/path/to/file=  will use the system to open the file,
1104   like double-clicking would.
1105 - file+emacs:/path/to/file will force opening the linked file
1106   with Emacs.
1108 This was a request by John Wiegley.
1110 **** Open all links in a node
1112 When using =C-c C-o= on a headline to get a list of links in the
1113 entry, pressing =RET= will open *all* links.  This allows
1114 something like projects to be defined, with a number of files
1115 that have to be opened by different applications.
1117 This was a request by John Wiegley.
1119 *** Agenda Views
1121 **** Improve the logic of the search view.
1123 The logic of search views is changed a bit.  See the docstring of
1124 the function =or-search-view=.
1126 These changes resulted from a discussion with Matt Lundin.
1128 **** New face for entries from the Emacs diary
1130 Entries that enter the Agenda through the Emacs diary now get the
1131 face =org-agenda-diary=.
1133 This was a request by Thierry Volpiatto.
1135 **** New function `org-diary-class' to schedule classes with skipped weeks.
1137 This was a request by Daniel Martins.
1139 **** Empty matcher means prompt in agenda custom commands
1140     
1141 When an agenda custom command has an empty string as MATCH
1142 element, so far this would lead to a meaningless search using an
1143 empty matcher.  Now an empty (or white) string will be
1144 interpreted just like a nil matcher, i.e. the user will be
1145 prompted for the match.
1147 **** Agenda: Selectively remove some tags from agenda display
1149 If you use tags very extensively, you might want to exclude some
1150 from being displayed in the agenda, in order to keep the display
1151 compact.  See the new option =org-agenda-hide-tags-regexp= for
1152 details.
1153     
1154 This was largely a patch by Martin Pohlack.
1156 *** Export
1158 **** Direct export of only the current subtree
1160 Pressing =1= after =C-c C-e= and before the key that selects the
1161 export backend, only the current subtree will be exported,
1162 exactly as it you had selected it first with =C-c @=.  So for
1163 example, =C-c C-e 1 b= will export the current subtree to HTML
1164 and open the result in the browser.
1166 **** Direct export of enclosing node
1168 Pressing =SPC= after =C-c C-e= and before the key that selects
1169 the export backend, the enclosing subree that is set up for
1170 subtree export will be exported, exactly as it you had selected
1171 it first with =C-c @=.  So for example, =C-c C-e SPC d= will find
1172 the enclosing node with a LaTeX_CLASS property or an
1173 EXPORT_FILE_NAME property and export that.
1175 **** Caching export images
1177 Images that are created for example using LaTeX or ditaa for
1178 inclusion into exported files are now cached.  This works by
1179 adding a hash to the image name, that reflects the source code
1180 and all relevant settings.  So as long as the hash does not
1181 change, the image does not have to be made again.  His can lead
1182 to a substantial reduction in export/publishing times.
1184 Thanks to Eric Schulte for a patch to this effect.
1186 **** Preserving line breaks for export no longer works
1187     
1188 ASCII export always preserves them - no other export format
1189 does.  We had attempted to use =\obeylines= for this in LaTeX,
1190 but that does create too many problems.
1192 **** New symbols =\EUR= and =\checkmark=
1194 =\EUR= symbols from Marvosym package, and =\checkmark= are now
1195 supported symbols in Org-mode, i.e. they will be exported
1196 properly to the various backends.
1198 **** Allow LaTeX_CLASS_OPTIONS to set options, also from a property
1200 You can set the options to the =\documentclass= command on a
1201 per-file basis, using
1203 : #+LaTeX_CLASS_OPTIONS: [11pt]
1205 or on a per-tree basis using the corresponding property.  The
1206 defined string will replace the default options entirely.
1208 **** The encoding of LaTeX files is now handled property
1210 Org now makes sure that the encoding used by the file created
1211 through the export mechanism is reflected correctly in the
1213 : \usepackage[CODINGSYSTEM]{inputenc}
1215 command.  So as long as the =org-export-latex-classes= definition
1216 contains an =\usepackage[utf8]{inputenc}= statement, that
1217 statement will be modified so that the correct option is used.
1219 If you wan to use special encodings, for example =utf8x= instead
1220 of =utf8=, see the variable =org-export-latex-inputenc-alist=.
1222 This was a request by Francesco Pizzolante.
1224 *** Property API enhancements
1225     
1226 **** Make a new special property BLOCKED, indicating if entry is blocked
1228 A new special property BLOCKED returns "t" when the entry is
1229 blocked from switching the TODO state to a DONE state.
1231 This was a request by John Wiegley.
1233 **** New hooks for external support for allowed property values
1235 It is now possible to hook into Org in order to provide the
1236 allowed values for any property with a lisp function.  See the
1237 docstring of the variable =org-property-allowed-value-functions=
1239 **** Allow unrestricted completion on properties
1241 When listing the allowed values for a property, for example with
1242 a =:name_ALL:= property, completion on these values enforces that
1243 one of the values will be chosen.  Now, if you add ":ETC" to the
1244 list of allowed values, it will be interpreted as a switch, and
1245 the completion will be non-restrictive, so you can also choose to
1246 type a new value.
1248 *** Changes to Org-babel
1250 - The documentation for Org-babel has been drastically improved
1251   and is available on Worg at
1252   http://orgmode.org/worg/org-contrib/babel/
1253 - Source-code block names are now exported to HTML and LaTeX
1254 - Org-babel functions are now bound to keys behind a common key
1255   prefix (see
1256   http://orgmode.org/worg/org-contrib/babel/reference.php#sec-5)
1257 - Results are now foldable with TAB
1258 - Header argument values can now be lisp forms
1259 - Readable aliases for #+srcname: and #+resname:
1260 - Sha1 hash based caching of results in buffer
1261 - Can now index into variable values
1262 - org-babel-clojure now supports multiple named sessions
1264 *** Miscellaneous changes
1266 **** Make =C-c r C= customize remember templates
1268 =C-c r C= is now a shortcut for
1270 :  M-x customize-variable RET org-remember-templates RET
1272 This was a proposal by Adam Spiers.
1274 **** Use John Gruber's regular expression for URL's
1276 We now use a better regexp to spot plain links in text.  This
1277 regexp is adopted from [[http://daringfireball.net/2009/11/liberal_regex_for_matching_urls][John Gruber's blogpost]].
1279 Thanks to William Henney for the pointer.
1281 **** Implement tag completion of all tags in all agenda files
1282     
1283 The new option =org-complete-tags-always-offer-all-agenda-tags=
1284 makes Org complete all tags from all agenda files if non-nil.
1285 Usually, setting it locally to t in org-remember buffers is the
1286 most useful application of this new feature.
1288 Thanks to Tassilo Horn for a patch to this effect.
1290 * Version 6.33
1291  :PROPERTIES:
1292  :CUSTOM_ID: v6.33
1293  :END:
1295 ** Incompatible changes
1297 *** Reorganize key bindings for archiving
1298     
1299 The following keys now do archiving
1301 - C-c C-x C-a :: archive using the command specified in
1302      =org-archive-default-command=.  This variable is by default
1303      set to =org-archive-subtree=, which means arching to the
1304      archive file.
1305     
1306 The three specific archiving commands are available through
1308 - C-c C-x C-s ::    archive to archive file
1309 - C-c C-x a ::     toggle the archive tag
1310 - C-c C-x A ::   move to archive sibling
1312 These bindings work the same in an Org file, and in the agenda.
1314 In addition:
1315     
1316 - In the agenda you can also use =a= to call the default archiving
1317   command, but you need to confirm the command with =y= so that this
1318   cannot easily happen by accident.
1319   
1320 - For backward compatibility, =C-c $= in an org-mode file, and
1321   =$= in the agenda buffer continue to archive to archive file.
1324 ** Details
1326 *** Level indentation cycling new empty entries and plain list items
1327 :PROPERTIES:
1328 :ID: 1CBF16C9-031C-4A03-A5EE-09B6AAB6209C
1329 :END:
1331 To speed up data entry, TAB now behaves special in an empty
1332 headline, i.e. if the current line only contains the headline
1333 starter stars, maybe a TOD keyword, but no further content.  This
1334 is usually the situation just after creating a new headline with
1335 =M-RET= or =M-S-RET=.
1337 Then, TAB will first make the current entry a child of the
1338 entry above, then a parent, then a grand parent etc until it
1339 reaches top level.  Yet another TAB and you will be back at the
1340 initial level at which the headline was created.
1342 New plain list items behave in just the same way.
1344 Sounds strange?  Try it, it is insanely fast when entering data.
1345 If you still don't like it, turn it off by customizing
1346 =org-cycle-level-after-item/entry-creation=.
1348 Thanks to [[http://thread.gmane.org/gmane.emacs.orgmode/18236][Samuel Wales]] and [[http://thread.gmane.org/gmane.emacs.orgmode/18447/focus%3D19015][John Wiegley]] for ideas that
1349 contributed to this new feature.
1351 *** Speed commands at the start of a headline
1353 If you set the variable =org-use-speed-commands=, the cursor
1354 position at the beginning of a headline (i.e. before the first
1355 star) becomes special.  Single keys execute special commands in
1356 this place, for example outline navigation with =f=, =b=, =n=,
1357 and =p=, equivalent to the corresponding =C-c C-f=, =C-c C-b=,
1358 =C-c C-n=, and =C-c C-f= commands.  The full list of commands can
1359 be seen by pressing =?= at the special location.  More commands
1360 can be added and existing ones modified by configuring the
1361 variable =org-speed-commands-user=.
1363 This was a request by John Wiegley, based on similar speed
1364 navigation in /allout.el/.
1366 *** Logging changes in scheduling and deadline time stamps
1368 Setting the variables =org-log-reschedule= and
1369 =org-log-redeadline= to either =time= or =note= will arrange for
1370 recording a logbook entry whenever a scheduling date or deadline
1371 is changed.
1373 This was a request by Rick Moynihan.
1375 *** File remember notes into a date tree
1377 Remember notes can now be filed to a location in a date tree.  A
1378 date tree is an outline tree with years as top levels, months as
1379 level 2 headings, and days as level three headings.  These are
1380 great for journals and for recording appointments and other loose
1381 dates because it will be easy to find all entries referencing a
1382 particular date, and it will be easy to archive all such entry
1383 from last year, for example.
1385 To select date tree filing, set the HEADLINE part of the remember
1386 template to the symbol =date-tree=.  The date tree will be build
1387 in the file on top level.  However, if the file contains an entry
1388 with a non-nil =DATE_TREE= property, then the tree will be build
1389 under that headline.
1391 *** New commands to create entries from agenda and calendar
1393 If you make the variable =org-agenda-diary-file= point to an
1394 org-mode file, the =i= key in both the agenda buffer and in the
1395 Emacs calendar will be made to insert entries into that Org file.
1396 The dates at the cursor and the mark are being used when making
1397 entries for specific dates or blocks.  In the new file,
1398 anniversaries will be collected under a special headline, and
1399 day/block entries will be filed into a date tree (see previous
1400 section).
1402 This was a request by Stephen Eglen.
1404 *** A new freemind exporter has been integrated with Org-mode
1406 org-freemind.el has a number of entry points (for details, see
1407 the source code), but you can also use Org's =C-c C-e m= to
1408 export a file or a selected subtree.
1410 Thanks to Lennart Borgman for this contribution.  An earlier
1411 version of this file was part of the nxhtml package, under the
1412 name /freemind.el/.
1414 *** Drawers are now exported properly
1416 Drawers are now exported when the configuration requires it,
1417 i.e. if the variable `org-export-with-drawers' is t or a list
1418 containing the drawers to export.
1420 *** Min/Max/Mean age operators in Column View.
1421     
1422 This lets you see how much time has passed since the specified
1423 timestamp property each entry. The three operators (=@min=,
1424 =@max=, =@mean=) show either the age of the youngest or oldest
1425 entry or the average age of the children.
1427 Thanks to James TD Smith for a patch to this effect.
1428     
1429 *** Allow source code block indentation to be preserved
1430     
1431 If =org-src-preserve-indentation= is non-nil, or if a block has a
1432 =-i= switch, then the behavior of org-exp-blocks is altered as
1433 follows:
1435 1. Indentation is not removed before passing the block contents
1436    to the block-transforming plugin.
1437    
1438 2. The result returned by the plugin is not re-indented.
1440 3. Editing the source code block with =C-c '= preserves it's
1441    indentation.
1443 Thanks to Dan Davison for this feature.
1445 *** Frame/window control when switching to source code edit buffer.
1446     
1447 When switching to a source code editing buffer with =C-c '=, you
1448 can now control the frame / window setup using the new variable
1449 =org-src-window-setup=.
1451 Thanks to Dan Davison for this feature.
1453 *** Refile an entry to the current clock
1455 You can now quickly refile an entry to become a child of the
1456 entry currently being clocked.  The keys for doing this are
1457 =C-2 C-c C-w=.
1459 This was a request by Bernt Hansen.
1461 *** Make =C-c C-o= open the attachment directory is there are no links
1463 If there is no link in an entry, =C-c C-o= will now open the
1464 attachment directory instead.
1466 This was a request/patch by John Wiegley.
1468 *** org-mac-iCal.el: work with calendar "groups"
1469     
1470 Some calendar systems (Google, Zimbra) handle subscriptions to
1471 multiple calendars (or to an account) by grouping them under a
1472 single caldav directory in the calendar tree.  org-mac-iCal used
1473 to assumes there is only one ics file created per caldav
1474 directory, so while it *creates* all of the needed merged ics
1475 files, it only copies one of them to ~/Library/Calendar before
1476 importing the contents into the diary.
1478 Thanks to Doug Hellmann for a patch to fix this.
1480 *** New module /org-learn.el/ in the contrib directory
1482 The file implements the learning algorithm described at
1483 http://supermemo.com/english/ol/sm5.htm, which is a system for reading
1484 material according to "spaced repetition".  See
1485 http://en.wikipedia.org/wiki/Spaced_repetition for more details.
1487 Thanks to John Wiegley for this contribution.
1489 *** New contributed package /org-git-link.el/
1491 /org-git-link.el/ defines two new link types. The =git= link type
1492 is meant to be used in the typical scenario and mimics the =file=
1493 link syntax as closely as possible.  The =gitbare= link type
1494 exists mostly for debugging reasons, but also allows e.g.
1495 linking to files in a bare git repository for the experts.
1497 Thanks to Raimar Finken for this contribution.
1499 *** /org-annotation-helper.el/ and /org-browser-url.e./ have been removed
1500 Please switch to /org-protocol.el/, into which contains the same
1501 functionality in a more general framework.
1502 *** The contributed /org-export-freemind/ package has been removed.
1503 Org now contains a new freemind exporter, /org-freemind.el/.
1505 ** Org-babel Changes
1506 - Clojure is supported [Thanks to Joel Boehland]
1507 - Perl is supported
1508 - Ruby and Python now respond to the :file header argument
1509 - Added :results_switches header argument for passing switches
1510   through to raw src blocks
1511 - Preserve indentation in source blocks on export and tangle
1512 - Possible to evaluate noweb reference on tangling or code block
1513   evaluation
1514 - Allowing multiple noweb references on a single line
1515 - Cleaned up the passing of parameter values from Org-babel to
1516   language specific functions
1518 * Version 6.32
1519  :PROPERTIES:
1520  :CUSTOM_ID: v6.32
1521  :END:
1523 ** Rewrite of org-mobile.org, for MobileOrg 1.0 (build 20)
1525 MobileOrg is currently under review at the iPhone App Store.  You
1526 will need Org-mode version 6.32 to interact with it.
1528 ** Added support for habit consistency tracking
1529     
1530 /org-habit.el/ contains new code to track habits.  Please
1531 configure the variable org-modules to activate it.  When active,
1532 habits (a special TODO entry) will be displayed in the agenda
1533 together with a "consistency graph".  Habit tracking is described
1534 in a new [[http://orgmode.org/manual/Tracking-your-habits.html][manual section]].
1536 Thanks to John Wiegley for this contribution.
1537     
1538 ** New context-aware tag auto-exclusion 
1540 After writing a function relating to location and context
1541 information, you will be able to press =/ RET= in the agenda to
1542 exclude tasks that cannot be done in the current context. 
1543 For details, see the information about filtering in the manual.
1545 Thanks to John Wiegley for a patch to this effect.
1547 ** New clock resolving tools
1549 When clocking into a new task while no clock is running, Org now
1550 checks for orphaned CLOCK lines and offers to repair these before
1551 starting the clock.  You can also configure this feature to check
1552 for idle time and prompt you to subtract that time from the
1553 running timer.
1554     
1555 See the new [[http://orgmode.org/manual/Resolving-idle-time.html][manual section]] for more details.
1556     
1557 Thanks to John Wiegley for a patch to this effect.
1559 ** Mutually exclusive tag groups can now have a name in the tags interface
1561 The customize interface allows to optionally add a string to the
1562 beginning or end of such a group.
1563     
1564 Thanks to James TD Smith for a patch to this effect.
1566 ** Agenda Search view: Search for substrings
1567     
1568 The default in search view (/C-c a s/)is now that the search
1569 expression is searched for as a /substring/, i.e. the different
1570 words must occur in direct sequence, and it may be only part of
1571 a word.  If you want to look for a number of separate keywords
1572 with Boolean logic, all words must be preceded by =+= or =-=.
1574 This was, more-or-less, requested by John Wiegley.
1576 ** Make space and backspace scroll the show window in the agenda
1578 Pressing SPC again after using it to show an agenda item in
1579 another window will make the entire subtree visible, and show
1580 scroll it.  Backspace and DEL will scroll back.
1582 This was a request by Eric Fraga.
1583     
1584 ** File tags are now offered for completion during a tag prompts
1586 Requested by Matt Lundin.
1588 ** Make `- SPC' an agenda filter that selects entries without any tags
1589     
1590 Request by John Wiegley.
1592 ** Better way to edit multi-line macro definitions
1594 The editing tool key =C-c '= now also edits =#+MACRO=
1595 definitions, including multiline macros.
1597 ** Restructured Manual
1599 The manual has been slightly reorganized.  The archiving stuff,
1600 which was - somewhat obscurely - hidden in the /Document
1601 Structure/ chapter, has been moved into the new chapter
1602 /Capture-Refile-Archive/.  Also, there is a new chapter /Markup/
1603 which contains both the markup rules (moved there from the Export
1604 chapter) and the documentation for embedded LaTeX.
1606 ** Improved figure placement in LaTeX and HTML export
1607     
1608 Text can now be wrapped around figures.  See the manual for
1609 details.
1611 ** Allow date to be shifted into the future if time given is earlier than now
1612     
1613 By setting
1615 :     (setq org-read-date-prefer-future 'time)
1617 you indicate to Org that, if you only give a time at the
1618 date/time prompt, and if this time is earlier then the current
1619 time, then the date of tomorrow will be assumed to be valid for
1620 this event.  A similar mechanism was already in place for dates,
1621 but now you can make it work for times as well.
1623 ** Collected changes in org-babel
1624 - Source blocks can now reference source-blocks in other files
1625   using =filepath:srcname= syntax.
1626 - Inline code blocks like =src_python{2+2}= are now exported
1627 - Remote source block calls using the =#+lob: srcname(arg=val)=
1628   syntax can now be exported.
1629 - When =:file= is supplied with an =R= block, graphics are
1630   automatically sent to file and linked from the org buffer, thus
1631   appearing on export.  The image format is obtained from the
1632   filename extension.  Possible values are =.png, .jpg, .jpeg,
1633   .tiff, .bmp, .pdf, .ps, .postscript=, defaulting to =png=.
1634 - Results can be returned as parseable code using =:results code=,
1635   and as pretty-printed code using =:results pp= (emacs-lisp,
1636   python, ruby).  Thanks to Benny Andresen for the idea and patch
1637   for emacs-lisp.
1638 - When =:file filename= is supplied, =:exports file= is unnecessary
1639 - Header args are taken from org-file-properties in addition to
1640   properties active in the subtree.
1641 - =:noweb= header argument now expands noweb references before
1642   source-block evaluation.
1643 - Tangling honours the new org variable
1644   org-src-preserve-indentation, so that correct code is output for
1645   a language like python that depends on indentation.
1647 ** Changes in org-exp-blocks.el
1648 - Interblocks export has been simplified.
1649 - Support for R code (=begin_R= blocks and inline =\R{}=) has been
1650   removed.  Please use org-babel instead.
1652 * Version 6.31
1653  :PROPERTIES:
1654  :CUSTOM_ID: v6.31
1655  :END:
1657 ** Org-babel is now part of the Org distribution
1659 Org-babel provides the ability to execute source code in many
1660 different languages within org-mode documents.  The results of
1661 code execution -- text, tables and graphics -- can be integrated
1662 into Org-mode documents and can be automatically updated during
1663 publishing.  Since Org-babel allows execution of arbitrary code,
1664 the range of tasks that can be addressed from within an Org mode
1665 file becomes very large.  Examples of ways in which Org-babel
1666 might be used include
1668 - Documenting a task that involves some programming so that it is
1669   automatically repeatable
1670 - Creating dynamic (executable) reports that respond to changes
1671   in the underlying data (Reproducible Research)
1672 - Exportation of code contained in an Org-mode document into
1673   regular source code files (Literate Programming)
1675 Additionally, Org-babel provides a programming environment within
1676 Org files, in which data can be transmitted between parameterised
1677 source code blocks in different languages, as well as between
1678 source code blocks and Org-mode tables.
1680 A simple API is defined so that users can add support for new
1681 "languages" (broadly construed).  Languages currently supported
1682 are:
1684 - asymptote
1685 - css
1686 - ditaa
1687 - dot
1688 - emacs-lisp
1689 - gnuplot
1690 - haskell
1691 - ocaml
1692 - python
1693 - R
1694 - ruby
1695 - sass
1696 - sh
1697 - sql
1699 Org-babel was designed and implemented Eric Schulte with continued
1700 significant help on both accounts from Dan Davison.
1702 ** MobileOrg support
1704 Richard Morelands iPhone/iPod Touch program [[http://mobileorg.ncogni.to/][MobileOrg]] can view
1705 Org files, mark entries as DONE, flag entries for later
1706 attention, and capture new entries on the road.  Org-mode has now
1707 support to produce a staging area where MobileOrg can download
1708 its files, and to integrate changes done on the phone in a half
1709 automatic, half interactive way.  See the new appendix B in the
1710 manual for more information.
1713 ** Indented lines starting with "#+ " are treated as comments
1715 To allow comments in plain lists without breaking the list
1716 structure, you can now have indented comment lines that start
1717 with "#+ ".
1719 ** New STARTUP keyword `showeverything'
1720     
1721 This will make even drawer contents visible upon startup.
1722 Requested by Jeff Kowalczyk.
1724 ** New contributed package org-invoice.el
1726 This package collects clocking information for billing
1727 customers.
1729 Thanks to Peter Jones for this contribution.
1731 ** Encrypting subtrees
1733 /org-crypt.el/ by John Wiegley and Peter Jones allows encryption
1734 of individual subtrees in Org-mode outlines.  Thanks to John and
1735 Peter for this contribution.
1737 ** Agenda: Support for including a link in the category string
1738     
1739 The category (as specified by an #+CATEGORY line or CATEGORY
1740 property can contain a bracket link.  While this sort-of worked
1741 in the past, it now is officially supported and should cause no
1742 problems in agenda display or update.  The link can be followed
1743 by clicking on it, or with =C-c C-o 0=.
1745 This was a request by Peter Westlake.
1747 * Version 6.30
1748  :PROPERTIES:
1749  :CUSTOM_ID: v6.30
1750  :END:
1752 ** Inconsistent changes
1754 *** Agenda now uses =f= and =b= to move through time
1756 Up to now, the Org-mode agenda used the cursor keys =left= and
1757 =right= to switch the agenda view forward an backward through
1758 time.  However, many people found this confusing, and others
1759 wanted to be able to do cursor motion in the agenda, for example
1760 to select text.  Therefore, after an extensive discussion on
1761 =emacs-orgmode@gnu.org=, it was decided to use the =b= and 
1762 =f= keys instead, and to let the cursor keys do cursor motion
1763 again.
1765 *** Agenda follow mode is now on the =F= key
1767 This was necessary to free up the =f= key, see above.
1769 ** Details
1771 *** Maintenance
1773 **** New command to submit a bug report
1775 There is now a special command =M-x org-submit-bug-report=.  This
1776 command will create a mail buffer with lots of useful details.
1777 In particular, it contains complete version information for Emacs
1778 and Org-mode.  It will also (if you agree to it) contain all
1779 non-standard settings of org-mode and outline-mode related
1780 variables.  Even if you do not sent your emails from within
1781 Emacs, please still use this command to generate the information
1782 and then copy it into your mail program.
1784 The command will not generate and include a =*Backtrace*= buffer,
1785 please do this yourself if you have hit an error.  For more
1786 information, see the [[http://orgmode.org/manual/Feedback.html#Feedback][feedback section]] of the manual.
1788 **** New contributed package org-track.el
1790 This package allows to keep up-to-date with current Org
1791 development, using only Emacs on-board means.  So if you don't
1792 want or cannot use =git=, but still want to run the latest and
1793 hottest Org-mode, this is for you.
1795 Thanks to Sebastian Rose for this contribution.
1797 *** Agenda
1799 **** Agenda now uses =f= and =b= to move through time
1801 Up to now, the Org-mode agenda used the cursor keys =left= and
1802 =right= to switch the agenda view forward an backward through
1803 time.  However, many people found this confusing, and others
1804 wanted to be able to do cursor motion in the agenda, for example
1805 to select text.  Therefore, after an extensive discussion on
1806 =emacs-orgmode@gnu.org=, it was decided to use the =b= and 
1807 =f= keys instead, and to let the cursor keys do cursor motion
1808 again.
1810 **** Agenda follow mode is now on the =F= key
1812 This was necessary to free up the =f= key, see above.
1814 **** The agenda can be put into a dedicated frame
1816 When the variable =org-agenda-window-setup= has the value
1817 =other-frame=, then the new frame created to show the agenda
1818 will now have the window marked as /dedicated/.  As a
1819 consequence, exiting the agenda while the agenda is the only
1820 window on the frame will kill that frame.
1822 This was a request by Henry Atting.
1824 **** New mode to show some entry body text in the agenda
1826 There is now a new agenda sub-mode called
1827 =org-agenda-entry-text-mode=.  It is toggled with the =E= key.
1828 When active, all entries in the agenda will be accompanied by a
1829 few lines from the outline entry.  The amount of text can be
1830 customized with the variable =org-agenda-entry-text-maxlines=.
1832 This was a request by Anthony Fairchild, Manish, and others.
1834 **** Improve following links from the agenda
1835     
1836 =C-c C-o= in the agenda will now offer all links in the headline
1837 and text of an entry.  If there is only a single link, it will be
1838 followed immediately.
1840 **** Avoid some duplicate entries
1842 There is a new variable that can be used to avoid some duplicate
1843 agenda entries: =org-agenda-skip-scheduled-if-deadline-is-shown=
1844 If that is set, it avoids that an entry shows up in the agenda for
1845 today for both a scheduling and a deadline entry.  See the
1846 docstring of the variables for more details.
1848 This partially addresses a request by Samuel Wales. 
1850 **** Mark the running clock in the agenda.
1852 If the entry currently being clocked is present in the agenda, it
1853 will be highlighted with the face =org-agenda-clocking=.
1855 This was a request by Rainer Stengele.
1858 *** Export
1860 **** Allow LaTeX export to use the listings package
1862 The LaTeX =listings= package can now be used for formatting
1863 fontified source code in many programming languages.  For more
1864 information, see
1865 http://thread.gmane.org/gmane.emacs.orgmode/16269 and
1866 http://orgmode.org/worg/org-faq.php#fontified_source_code_w_latex
1868 Thanks to Eric Schulte for this patch.
1870 **** Remove table rows that only contain width and alignment markers
1871     
1872 The width and alignment in table columns can be set with a cookie
1873 like "<10>" or "<r>" or "<r10>".  In order to keep Org from
1874 exporting such lines, the first column of a line should contain
1875 only "/".  However, for convenience, there is now a special case:
1876 If the entire row contains only such markers, the line will
1877 automatically be discarded during export, even is the first
1878 column is not "/".
1880 **** Allow Macro calls to span several lines.
1882 Macro calls may now span several lines, to write several
1883 arguments in a cleaner way.  The result of a macro call can also
1884 span several lines, by inserting the string "\n" (backslash
1885 followed by n) into the value in the macro definition.
1887 These were requests by Stefan Vollmar.
1889 *** Misc
1891 **** Quick access to all links in an entry
1893 If =C-c C-o= is called while the cursor is in a headline, but not
1894 directly on a link, then all links in the entry will be offered
1895 in a small menu.  If there is only a single link, it will be
1896 followed without a prompt.
1898 **** Visibility Cycling: Allow to show all empty lines after a headline
1899     
1900 =org-cycle-separator-lines= can now be set to a negative value,
1901 to indicate that, if the number of empty lines before a visible
1902 entry is greater than the specified number, then *all* empty
1903 lines should be shown.
1905 This was a request by "PT" whatever this means.
1907 **** Allow language names to replace some strange major mode names
1909 Sometimes a language uses a major mode which can't be guessed
1910 from it's name.  There is now a new variable =org-src-lang-modes=
1911 which can be used to map language names to major modes when this
1912 is the case.  This is used when editing a source-code 
1913 block, or when exporting fontified source-code with htmlize.
1915 Thanks to Eric Schulte for a patch to this effect.
1917 **** iswitchb support for many completion prompts
1918     
1919 This is enabled using =org-completion-use-iswitchb=, and follows
1920 the same model of usage as for ido users.
1922 Thanks to John Wiegley for a patch to this effect.
1924 **** New commands to set the effort property of an entry
1926 There is now a special command, =C-c C-x e= to set the =Effort=
1927 property of an entry.  From the agenda you can even use =e=.
1928 If you have set up allowed values for the =Effort= property, then
1929 using a prefix argument will directly select the nth allowed
1930 value.  For example, in the agenda, =5 e= will select the 5th
1931 allowed value.
1933 This was a request by Michael Gilbert
1935 **** Edit src works now better with killing buffer
1937 Thanks to Dan Davison for a patch to this effect
1940 * Older changes
1942   For older Changes, see [[file:Changes_old.org]]
1946 * COMMENT Setup
1948 #+STARTUP: showstars
1950 #+TITLE: Org-mode list of user-visible changes
1951 #+AUTHOR:  Carsten Dominik
1952 #+EMAIL:  carsten at orgmode dot org
1953 #+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} *:t TeX:t LaTeX:nil f:nil
1954 #+INFOJS_OPT: view:info toc:1 path:org-info.js tdepth:2 ftoc:t
1955 #+LINK_UP: index.html
1956 #+LINK_HOME: http://orgmode.org