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