List changes for version 7.4
[org-mode.git] / ORGWEBPAGE / Changes.org
blob68f1c506a756078c7de18175cf9af61bb377dd20
2 #   -*- mode: org; fill-column: 65 -*-
4 #+begin_html
5 <a href="/"><img src="http://orgmode.org/img/org-mode-unicorn.png" class="logo-link" /></a>
6 #+end_html
8 #+STARTUP: indent hidestars
10 * Version 7.4
11 :PROPERTIES:
12 :VISIBILITY: content
13 :CUSTOM_ID: v7.4
14 :END:
17 ** Incompatible changes
19 *** Agenda: rework ndays and span handling
20     
21 The variable =org-agenda-ndays= is obsolete - please use
22 =org-agenda-span= instead.
24 Thanks to Julien Danjou for this.
26 ** Details
28 *** Improvements with inline tasks and indentation
30 There is now a configurable way on how to export inline tasks.  See
31 the new variable =org-inlinetask-export-templates=.
33 Thanks to Nicolas Goaziou for coding these changes.
35 *** Agenda: Added a bulk "scattering" command
36     
37 =B S= in the agenda buffer will cause tasks to be rescheduled a random
38 number of days into the future, with 7 as the default.  This is useful
39 if you've got a ton of tasks scheduled for today, you realize you'll
40 never deal with them all, and you just want them to be distributed
41 across the next N days.  When called with a prefix arg, rescheduling
42 will avoid weekend days.
44 Thanks to John Wiegley for this.
46 *** In-buffer completion is now done using John Wiegleys pcomplete.el
48 Thanks to John Wiegley for much of this code.
50 *** Sending radio tables from org buffers is now allowed
52 Org radio tables can no also be sent inside Org buffers.  Also,
53 there is a new hook which get called after a table has been sent.
55 Thanks to Seweryn Kokot.
57 *** Command names shown in manual
59 The reference manual now lists command names for most commands.
60 Thanks to Andreas Röhler who started this project.
62 *** Allow ap/pm times in agenda time grid
64 Times in the agenda can now be displayed in am/pm format.  See the new
65 variable =org-agenda-timegrid-use-ampm=.  Thanks to C. A. Webber for
66 a patch to this effect.
68 *** Rewriten clock table code 
70 The entire clocktable code has been rewritten to add more options and
71 to make hacking time reports easier.
73 Thanks to Erwin Vrolijk for a patch introducing clock tables for
74 quarters.
76 *** Babel
77 **** Add =msosql= engine to sql code blocks
78 SQL code blocks can now be executed using the =myosql= engine on
79 Windows systems.
81 Thanks to S√©bastien Vauban for this contribution.
83 **** Python code blocks now accept a =preamble= header argument
84 This allows specification of coding declarations and library imports
85 which must take place in the beginning of a file of executed python
86 code (note this header argument is used during code block evaluation
87 unlike the =shebang= header argument which is used during tangling).
88 For example
90 #+begin_src org
91   ,#+begin_src python :preamble # -*- coding: utf-8 -*- :return s
92   ,s = "√©"
93   ,#+end_src
94 #+end_src
96 Thanks to Vincent Beffara for this idea.
98 **** Code block name is shown during evaluation query
99 When the user is queried about the evaluation of a named code block
100 the name of the code block is now displayed.
102 Thanks to Tom Dye for this suggestion.
104 **** Clojure code blocks results insertion
105 The results of Clojure code blocks have been improved in two ways.
106 1. lazy sequences are now expanded for insertion into the Org-mode
107    buffer
108 2. pretty printing of results is now possible with both "code" and
109    "data" pretty print formats
111 Thanks to Rick Moynihan for suggesting these changes.
113 **** Python code blocks now accept a =:return= header argument
114 This alleviates the need to explicitly insert return statements into
115 the bode of Python code blocks.  This change both
116 - allows the same python code blocks to be run both in sessions and
117   externally
118 - removes the floating =return= statements which violated python
119   syntax
121 Thanks to Darlan Cavalcante for proposing this feature.
123 **** =:results wrap= header argument wraps code block results
124 The new =:results wrap= wraps code blocks results in a custom
125 environment making it possible to offset their contents during
126 export.  For example
128 #+begin_src org
129   ,#+begin_src emacs-lisp :results wrap
130   ,  "code block results"
131   ,#+end_src
132   
133   ,#+results:
134   ,#+BEGIN_RESULT
135   ,: code block results
136   ,#+END_RESULT
137 #+end_src
139 Thanks to S√©bastien Vauban for persistently suggesting this enhancement.
141 **** Code block error buffer wiped clean between executions
142 Previously the code block error buffer accumulated errors making it
143 difficult to distinguish between previous and current errors.  This
144 buffer is now cleaned before every interactive code block evaluation.
146 **** Lists now recognized by code blocks
147 It is now possible for code blocks to both read and write list
148 contents from and to Org-mode buffers.  For example
150 #+begin_src org
151   ,#+results: a-list
152   ,- babel
153   ,- and
154   ,- org-mode
155   
156   ,#+source: a-list
157   ,#+begin_src emacs-lisp :var lst=a-list :results list
158   ,  (reverse lst)
159   ,#+end_src
160 #+end_src
162 **** Calc added as a supported code block language
163 The Emacs Calc package can be used through =calc= code blocks allowing
164 both regular arithmetic operations as well as stack based
165 calculation.  For example
167 #+begin_src org
168   ,#+source: calc-stack
169   ,#+begin_src calc
170   ,  8
171   ,  1
172   ,  '+
173   ,  9
174   ,  '*
175   ,#+end_src
176   
177   ,#+results: calc-stack
178   ,: 81
179   
180   ,#+source: calc-arithmetic
181   ,#+begin_src calc :var in=calc-stack
182   ,  in / 9
183   ,#+end_src
184   
185   ,#+results: calc-arithmetic
186   ,: 9
187 #+end_src
189 **** "org-babel-detangle" propagates change to source code files into code blocks
190 `org-babel-detangle' can be used to propagate changes to pure source
191 code files tangled from embedded code blocks in Org-mode files back to
192 the original code blocks in the Org-mode file.  This can be used on
193 collaborative projects to keep embedded code blocks up to date with
194 edits made in pure source code files.
203 * Version 7.02
205 :PROPERTIES:
206 :CUSTOM_ID: v7.02
207 :END:
209 ** Incompatible Changes
210 *** Code block hashes
211 Due to changes in the code resolving code block header arguments
212 hashing of code block results should now re-run a code block when
213 an argument to the code block has changed.  As a result of this
214 change *all* code blocks with cached results will be re-run after
215 upgrading to the latest version.
217 *** Testing update
218 Anyone using the org-mode test suite will need to update the jump
219 repository for test navigation by executing the following from
220 the root of the org-mode repository.
221 : git submodule update
222 Failure to update this repository will cause loading of
223 org-test.el to throw errors.
224 ** Details
225 *** Org-babel speed commands
226 All Org-babel commands (behind the C-c C-v key prefix) are now
227 available as speed commands when the point is on the first line of a
228 code block.  This uses the existing Org-mode speed key mechanisms.
230 Thanks to Jambunathan K for implementation this new feature.
232 *** Fontify code in code blocks.
234 Source code in code blocks can now be fontified.  Please customize the
235 varable =org-src-fontify-natively=. For very large blocks (several
236 hundreds of lines) there can be delays in editing such fontified
237 blocks, in which case C-c ' should be used to bring up a dedicated
238 edit buffer.
240 Thanks to Dan Davison for this.
242 *** Language-mode commands are available in the Org-buffer
243     The most general machinery for doing this is the macro
244     `org-babel-do-in-edit-buffer'. There is also the convenience
245     function `org-babel-do-key-sequence-in-edit-buffer' which makes
246     use of this macro, and is bound to C-c C-v C-x and C-c C-v x. If
247     there is an active region contained within the code block, then
248     this is inherited by the edit buffer. Some examples of the sorts
249     of usage this permits are
251 C-c C-v C-x M-;       comment region according to language
252 C-c C-v C-x C-M-\     indent region according to language
254 Users can make these more convenient, e.g.
256 (defun my/org-comment-dwim (&optional arg)
257     (interactive "P")
258     (or (org-babel-do-key-sequence-in-edit-buffer "\M-;")
259         (comment-dwim arg)))
261 (define-key org-mode-map "\M-;" 'my/org-comment-dwim)
263 A common instance of this general pattern is built in to Org-mode,
264 controlled by the variable `org-src-tab-acts-natively': if this
265 variable is set, then TAB in a code block has the effect that it would
266 have in the language major mode buffer.
268 *** Org-babel commands are available in language-mode edit buffer
269     Mirroring the language-native commands in Org buffers above, a new
270     macro `org-src-do-at-code-block' and convenience function
271     `org-src-do-key-sequence-at-code-block' provide the converse. When
272     used in a language major-mode edit buffer (i.e. a buffer generated
273     by C-c '), `org-src-do-key-sequence-at-code-block' executes a key
274     sequence at the code block in the source Org buffer.  The command
275     bound to the key sequence in the Org-babel key map is executed
276     remotely with point temporarily at the start of the code block in
277     the Org buffer.
279     The command is not bound to a key by default, to avoid conflicts
280     with language major mode bindings. To bind it to C-c @ in all
281     language major modes, you could use
283   (add-hook 'org-src-mode-hook
284             (lambda () (define-key org-src-mode-map "\C-c@"
285                     'org-src-do-key-sequence-at-code-block)))
287     In that case, for example, C-c @ t issued in code edit buffers
288     would tangle the current Org code block, C-c @ e would execute
289     the block and C-c @ h would display the other available
290     Org-babel commands.
292 *** Multi-line header arguments to code blocks
293 Code block header arguments can now span multiple lines using the
294 new =#+header:= or =#+headers:= lines preceding a code block or
295 nested in between the name and body of a named code block.
296 Examples are given below.
298 - multi-line header arguments on an un-named code block
299   : #+headers: :var data1=1
300   : #+begin_src emacs-lisp :var data2=2
301   :   (message "data1:%S, data2:%S" data1 data2)
302   : #+end_src
303   : 
304   : #+results:
305   : : data1:1, data2:2
307 - multi-line header arguments on a named code block
308   :   #+source: named-block
309   :   #+header: :var data=2
310   :   #+begin_src emacs-lisp
311   :     (message "data:%S" data)
312   :   #+end_src
313   : 
314   :   #+results: named-block
315   :   : data:2
317 *** Unified handling of variable expansion for code blocks
318 The code used to resolve variable references in code block header
319 arguments has now been consolidated.  This both simplifies the
320 code base (especially the language-specific files), and ensures
321 that the arguments to a code block will not be evaluated multiple
322 times.  This change should not be externally visible to the
323 Org-mode user.
324 *** Improved Caching
325 Code block caches now notice if the value of a variable argument
326 to the code block has changed, if this is the case the cache is
327 invalidated and the code block is re-run.  The following example
328 can provide intuition for the new behavior.
329 #+begin_src org :exports code
330   ,#+srcname: random
331   ,#+begin_src R :cache yes
332   ,runif(1)
333   ,#+end_src
334   
335   ,#+results[a2a72cd647ad44515fab62e144796432793d68e1]: random
336   ,: 0.4659510825295
337   
338   ,#+srcname: caller
339   ,#+begin_src emacs-lisp :var x=random :cache yes
340   ,x
341   ,#+end_src
342   
343   ,#+results[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller
344   ,: 0.254227238707244
345 #+end_src
347 *** Added :headers header argument for LaTeX code blocks
348 This makes it possible to set LaTeX options which must take place in
349 the document pre-amble for LaTeX code blocks.  This header argument
350 accepts either a single string or a list, e.g.
352 #+begin_src org
353   ,#+begin_src latex :headers \usepackage{lmodern} :file name1.pdf
354   ,  latex body
355   ,#+end_src
356   
357   ,#+begin_src latex :headers '("\\usepackage{mathpazo}" "\\usepackage{fullpage}") :file name2.pdf
358   ,  latex body
359   ,#+end_src
360 #+end_src
362 *** New function `org-export-string'
363 Allows exporting directly from a string to the specified export format.
364 *** Code block header argument ":noweb tangle"
365 Only expands <<noweb>> syntax references when tangling, not during
366 export (weaving).
367 *** New function `org-babel-switch-to-session-with-code'
368 C-c C-v z (`org-babel-switch-to-session-with-code') is a variant of
369 C-c C-v C-z (`org-babel-switch-to-session'): instead of switching to
370 the session buffer, it splits the window between (a) the session
371 buffer and (b) a language major-mode edit buffer for the code block in
372 question. This can be convenient for using language major mode for
373 interacting with the session buffer.
375 *** Improvements to R sessions
376     R now uses standard ESS code evaluation machinery in the :results
377     value case, which avoids unnecessary output to the comint
378     buffer. In addition, the R command responsible for writing the
379     result to file is hidden from the user.  Finally, the R code edit
380     buffer generated by C-c ' is automatically linked to the ESS
381     session if the current code block is using :session.
383 *** Temporary file directory
384 All babel temporary files are now kept in a single sub-directory in
385 the /tmp directory and are cleaned up when Emacs exits.
387 *** Function for demarcating blocks `org-babel-demarcate-block'
388 Can be called to wrap the region in a block, or to split the block
389 around point, bound to (C-c C-v d).
391 *** Function for marking code block contents `org-babel-mark-block'
392     Bound to C-M-h in the babel key map (i.e. C-c C-v C-M-h by
393     default).  This can be useful in conjunction with
394     `org-babel-do-in-edit-buffer', for example for language-native
395     commenting or indenting of the whole block.
396 *** Lists of anniversaries are now handeled better
398 When several anniversaries are defined in the bbdb anniversaries
399 field (separated by semicolon), this is now handled nicely by the
400 agenda.
402 Thanks to Łukasz Stelmach for a patch to this effect.
404 *** Table fields are now aligned better, new <c> cookie.
406 In HTML export, table fields are now properly aligned in accord
407 with automatic alignment in org, or as set by the =<r>=, =<l>=, and
408 =<c>= cookies.  The =<c>= cookie is new and has no effect in
409 Org, but it does do the right thing in HTML export.  A LaTeX export
410 implementation will follow, but is currently still missing.
412 *** Update freemind converter to include body text
414 The freemind exporter now incorporates body text into the mind
415 map. 
417 Thanks to Lennard Borgman for this patch.
418     
419 *** Make footnotes work correctly in message-mode
420 The footnotes code now searches for =message-signature-separator=
421 (which is "-- " by default) in order to place footnotes before the
422 signature.  Thanks to Tassilo Horn for this patch.
424 *** Improve XEmacs compatibility
426 Org-mode 7.02 now runs again in 21.4.22 if the new XEmacs base
427 package is installed.
429 Thanks to Uwe Bauer, Volker Ziegler, Michael Sperber and others
430 for a discussion that lead to this nice result.
431     
432 *** Make it configurable wether agenda jumping prefers the future
434 When jumping to a date from the agenda using the =j= key, you may
435 or may not like the property of Org's date reader to prefer the
436 future when you enter incomplete dates.   This can now be
437 configured using the variable =org-agenda-jump-prefer-future'.
439 *** Add publishing functions for ASCII, Latin-1 and UTF-8
441 There are now publishing functions =org-publish-org-to-ascii=,
442 =org-publish-org-to-latin1=, and =org-publish-org-to-utf8=. 
444 Thanks to Matthias Danzl for showing how to do this.
446 *** Indentation and headline insertion after inline tasks
448 Indentation in inline tasks, and headline insertion after inline
449 tasks now behave as expected.
451 *** Encryption in MobileOrg finally works
453 As soon as MobilOrg 1.5 hits the Apple's AppStore, you can
454 encrypt your org files on public servers.  Please see the
455 documentation of MobileOrg and Appendix B of the manual for more
456 details.
457     
458 *** MobileOrg: Do not force to insert IDs
460 If you dislike the property of MobileOrg to insert ID properties
461 for in all entries being part of an agenda view, you can now turn
462 this off using the variable
463 =org-mobile-force-id-on-agenda-items=.  When this variable is set
464 to =nil=, MobileOrg will use outline paths to identify entries.
465 Note that this may fail if several entries have identical outline
466 paths.
468 *** LaTeX minted package for fontified source code export
469 Patch by Dan Davison.
471 A non-nil value of `org-export-latex-minted' means to export source
472 code using the minted package, which will fontify source code
473 with color.  If you want to use this, you need to make LaTeX use the
474 minted package. Add minted to `org-export-latex-packages-alist', for
475 example using customize, or with something like
477   (require 'org-latex)
478   (add-to-list 'org-export-latex-packages-alist '("" "minted"))
480 In addition, it is neccessary to install
481 pygments (http://pygments.org), and to configure
482 `org-latex-to-pdf-process' so that the -shell-escape option is
483 passed to pdflatex.
485 *** Allow to use texi2dvi or rubber for processing LaTeX to pdf
487 Please see the variable =org-export-latex-to-pdf-process= for
488 more information.
490 Thanks to Olivier Schwander for the rubber part.
492 *** New STARTUP keywords to turn on inline images
494 If you want to inline images whenever you visit an Org file, use
496 : #+STARTUP: inlineimages
498 *** Support for user-extensible speed commands.
500 There is a new hook =org-speed-command-hook=.  Thanks to
501 Jambunathan for a patch to this effect.
503 *** Add macro to insert property values into exported text
505 you can use {{{property{NAME}}}} to insert the value of a
506 property upon export.
508 Thanks to David Maus for a patch to this effect.
510 *** LaTeX package fixes
512 We updated the list of default packages loaded by LaTeX exported
513 files.
515 *** Allow "#" and "%" in tags
517 Tags can now also contain the characters =#= and =%=, in addition
518 to =@= and letters.
520 *** Show command names in manual
522 Andreas Röhler is adding command names to keys in the manual.
523 This will take a while to complete, but a start has been made.
525 *** Make backslash escape "-" in property matches
527 When entering a tags/property query, "-" is a logical operator.
528 However, "-" is also allowed in property names.  So you can now
529 write "SOME\-NAME" to work around this issue.
531 This was a request by Ilya Shlyakhter.
532     
533 *** Document quick insertion of empty structural elements
535 Org-mode has a built-in template mechanism for inserting block
536 templates.  This was undocumented until now.
538 Thanks to Jambunathan K for the patch.
540 *** Implement MathJax support
542 Org-mode now uses MathJax to display math on web pages.  We serve
543 MathJax from the orgmode.org server, at least for the time being
544 (thanks Bastien!).  If you are going to use this for pages which
545 are viewed often, please install MathJax on your own webserver.
547 To return to the old way of creating images and inserting them
548 into web pages, you would have to set
550 : (setq org-export-with-LaTeX-fragments 'dvipng)
552 or on a per-file basis
554 : #+OPTIONS: LaTeX:dvipng
555     
556 *** Agenda: Allow compact two-column display in agenda dispatcher
558 If you have many custom agenda commands, you can have the display
559 in the dispatcher use two columns with the following settings
561 : (setq org-agenda-menu-show-match nil
562 :       org-agenda-menu-two-column t)
564 This was a request by John Wiegley.
566 *** Add org-wikinodes.el as a contributed package
568 One frequent request has been to be able to use CamelCase words
569 for automatic cross links in a Wiki created by Org.  THis is now
570 possible with org-wikinodes.el, which is available in the contrib
571 directory.  We also have some [[http://orgmode.org/worg/org-contrib/org-wikinodes.php][documentation]] for this feature up
572 on Worg.
574 *** Timer/clock enhancements
576 =org-timer-set-timer= displays a countdown timer in the modeline.
577 From the agenda, `J' invokes =org-agenda-clock-goto=.
579 * Version 7.01
580 :PROPERTIES:
581 :CUSTOM_ID: v7.01
582 :END:
584 ** Incompatible Changes
586 *** Emacs 21 support has been dropped
588 Do not use Org mode 7.xx with Emacs 21, use [[http://orgmode.org/org-6.36c.zip][version 6.36c]] instead.
590 *** XEmacs support requires the XEmacs development version
592 To use Org mode 7.xx with XEmacs, you need to run the developer
593 version of XEmacs.   I was about to drop XEmacs support entirely,
594 but Michael Sperber stepped in and made changes to XEmacs that
595 made it easier to keep the support.  Thanks to Michael for this
596 last-minute save.  I had hoped to be able to remove
597 xemacs/noutline.el from release 7 by moving it into XEmacs, but
598 this is not yet done.
600 *** Org-babel configuration changes
601 :PROPERTIES:
602 :CUSTOM_ID: ob-configuration-changes
603 :END:
605 Babel took the integration into Org-mode as an opportunity to do
606 some much needed house cleaning.  Most importantly we have
607 simplified the enabling of language support, and cleared out
608 unnecessary configuration variables -- which is great unless you
609 already have a working configuration under the old model.
611 The most important changes regard the /location/ and /enabling/
612 of Babel (both core functionality and language specific support).
614 - Babel :: Babel is now part of the core of Org-mode, so it is
615      now loaded along with the rest of Org-mode.  That means that
616      there is /no configuration/ required to enable the main
617      Babel functionality.  For current users, this means that
618      statements like
619      #+begin_src emacs-lisp
620        (require 'org-babel)
621      #+end_src
622      or
623      #+begin_src emacs-lisp
624        (require 'org-babel-init)
625      #+end_src
626      that may by lying around in your configuration must now be
627      removed.
628 - load path :: Babel (including all language specific files --
629      aside from those which are located in the =contrib/=
630      directory for reasons of licencing) now lives in the base of
631      the Org-mode lisp directory, so /no additional directories/
632      need to be added to your load path to use babel.  For Babel
633      users this means that statements adding babel-specific
634      directories to your load-path should now be removed from
635      your config.
636 - language support :: It is no longer necessary to require
637      language specific support on a language-by-language basis.
638      Specific language support should now be managed through the
639      `org-babel-load-languages' variable.  This variable can be
640      customized using the Emacs customization interface, or
641      through the addition of something like the following to your
642      configuration (note: any language not mentioned will /not/
643      be enabled, aside from =emacs-lisp= which is enabled by
644      default)
645      #+begin_src emacs-lisp
646        (org-babel-do-load-languages
647         'org-babel-load-languages
648         '((R . t)
649           (ditaa . t)
650           (dot . t)
651           (emacs-lisp . t)
652           (gnuplot . t)
653           (haskell . nil)
654           (ocaml . nil)
655           (python . t)
656           (ruby . t)
657           (screen . nil)
658           (sh . t)
659           (sql . nil)
660           (sqlite . t)))
661      #+end_src
662      
663            Despite this change it is still possible to add
664            language support through the use of =require=
665            statements, however to conform to Emacs file-name
666            regulations all Babel language files have changed
667            prefix from =org-babel-*= to =ob-*=, so the require
668            lines must also change e.g.
669            #+begin_src emacs-lisp
670        (require 'org-babel-R)
671            #+end_src
672            should be changed to
673            #+begin_src emacs-lisp
674        (require 'ob-R)
675            #+end_src
677 We have eliminated the =org-babel-tangle-w-comments= variable as
678 well as the two main internal lists of languages, namely
679 - =org-babel-interpreters= and
680 - =org-babel-tangle-langs= 
682 so any config lines which mention those variables, can/should be
683 stripped out in their entirety.  This includes any calls to the
684 =org-babel-add-interpreter= function, whose sole purpose was to
685 add languages to the =org-babel-interpreters= variable.
687 With those calls stripped out, we may still in some cases want to
688 associate a file name extension with certain languages, for
689 example we want all of our emacs-lisp files to end in a =.el=, we
690 can do this will the =org-babel-tangle-lang-exts= variable.  In
691 general you shouldn't need to touch this as it already has
692 defaults for most common languages, and if a language is not
693 present in org-babel-tangle-langs, then babel will just use the
694 language name, so for example a file of =c= code will have a =.c=
695 extension by default, shell-scripts (identified with =sh=) will
696 have a =.sh= extension etc...
698 The configuration of /shebang/ lines now lives in header
699 arguments.  So the shebang for a single file can be set at the
700 code block level, e.g.
702 #+begin_src org
703   ,#+begin_src clojure :shebang #!/usr/bin/env clj
704   ,  (println "with a shebang line, I can be run as a script!")
705   ,#+end_src  
706 #+end_src
708 Note that whenever a file is tangled which includes a /shebang/
709 line, Babel will make the file executable, so there is good
710 reason to only add /shebangs/ at the source-code block level.
711 However if you're sure that you want all of your code in some
712 language (say shell scripts) to tangle out with shebang lines,
713 then you can customize the default header arguments for that
714 language, e.g.
716 #+begin_src emacs-lisp
717   ;; ensure this variable is defined defined
718   (unless (boundp 'org-babel-default-header-args:sh)
719     (setq org-babel-default-header-args:sh '()))
720   
721   ;; add a default shebang header argument
722   (add-to-list 'org-babel-default-header-args:sh
723                '(:shebang . "#!/bin/bash"))  
724 #+end_src
726 The final important change included in this release is the
727 addition of new security measures into Babel.  These measures are
728 in place to protect users from the accidental or uninformed
729 execution of code.  Along these lines /every/ execution of a code
730 block will now require an explicit confirmation from the user.
731 These confirmations can be stifled through customization of the
732 `org-confirm-babel-evaluate' variable, e.g.
733 #+begin_src emacs-lisp
734   ;; I don't want to be prompted on every code block evaluation
735   (setq org-confirm-babel-evaluate nil)
736 #+end_src
738 In addition, it is now possible to remove code block evaluation
739 form the =C-c C-c= keybinding.  This can be done by setting the
740 =org-babel-no-eval-on-ctrl-c-ctrl-c= variable to a non-nil value,
741 e.g.
742 #+begin_src emacs-lisp
743   ;; I don't want to execute code blocks with C-c C-c
744   (setq org-babel-no-eval-on-ctrl-c-ctrl-c t)
745 #+end_src
747 An additional keybinding has been added for code block
748 evaluation, namely =C-c C-v e=.
750 Whew! that seems like a lot of effort for a /simplification/ of
751 configuration.
753 *** New keys for TODO sparse trees
755 The key =C-c C-v= is now reserved for Org Babel action.  TODO
756 sparse trees can still be made with =C-c / t= (all not-done
757 states) and =C-c / T= (specific states).
759 *** Customizable variable changes for DocBook exporter
761 To make it more flexible for users to provide DocBook exporter
762 related commands, we start to use format-spec to format the
763 commands in this release.  If you use DocBook exporter and use it
764 to export Org files to PDF and/or FO format, the settings of the
765 following two customizable variables need to be changed:
767 - =org-export-docbook-xslt-proc-command=
768 - =org-export-docbook-xsl-fo-proc-command=
770 Instead of using =%s= in the format control string for all
771 arguments, now we use /three/ different format spec characters:
773 - =%i=: input file argument
774 - =%o=: output file argument
775 - =%s=: XSLT stylesheet argument
777 For example, if you set =org-export-docbook-xslt-proc-command= to
779 : java com.icl.saxon.StyleSheet -o %s %s /path/to/docbook.xsl
781 in the past, now you need to change it to
783 : java com.icl.saxon.StyleSheet -o %o %i %s
785 and set a new customizable variable called
786 =org-export-docbook-xslt-stylesheet= to =/path/to/docbook.xsl=.
788 Please check the documentation of these two variables for more
789 details and other examples.
791 Along with the introduction of variable
792 =org-export-docbook-xslt-stylesheet=, we also added a new
793 in-buffer setting called =#+XSLT:=.  You can use this setting to
794 specify the XSLT stylesheet that you want to use on a per-file
795 basis.  This setting overrides
796 =org-export-docbook-xslt-stylesheet=.
798 ** Details
800 *** Org Babel is now part of the Org core
801 See [[#ob-configuration-changes][Org-babel configuration changes]] for instructions on how to
802 update your babel configuration.
804 The most significant result of this change is that Babel now has
805 documentation!  It is part of Org-mode's documentation, see
806 Chapter 14 [[http://orgmode.org/manual/Working-with-source-code.html#Working-with-source-code][Working With Source Code]].  The Babel keybindings
807 are now listed in the refcard, and can be viewed from any
808 Org-mode buffer by pressing =C-c C-v h=.  In addition this
809 integration has included a number of bug fixes, and a significant
810 amount of internal code cleanup.
812 *** The default capture system for Org mode is now called org-capture
814 This replaces the earlier system org-remember.  The manual only
815 describes org-capture, but for people who prefer to continue to
816 use org-remember, we keep a static copy of the former manual
817 section [[http://orgmode.org/org-remember.pdf][chapter about remember]].
819 The new system has a technically cleaner implementation and more
820 possibilities for capturing different types of data.  See
821 [[http://thread.gmane.org/gmane.emacs.orgmode/26441/focus%3D26441][Carsten's announcement]] for more details.
823 To switch over to the new system:
825 1. Run 
827    : M-x org-capture-import-remember-templates RET
829    to get a translated version of your remember templates into the
830    new variable =org-capture-templates=.  This will "mostly" work,
831    but maybe not for all cases.  At least it will give you a good
832    place to modify your templates.  After running this command,
833    enter the customize buffer for this variable with 
835    : M-x customize-variable RET org-capture-templates RET
837    and convince yourself that everything is OK.  Then save the
838    customization.
839    
840 2. Bind the command =org-capture= to a key, similar to what you did
841    with org-remember:
843    : (define-key global-map "\C-cc" 'org-capture)
845    If your fingers prefer =C-c r=, you can also use this key once
846    you have decided to move over completely to the new
847    implementation.  During a test time, there is nothing wrong
848    with using both system in parallel.
850 *** Implement pretty display of entities, sub-, and superscripts.
852 The command =C-c C-x \= toggles the display of Org's special
853 entities like =\alpha= as pretty unicode characters.  Also, sub
854 and superscripts are displayed in a pretty way (raised/lower
855 display, in a smaller font).  If you want to exclude sub- and
856 superscripts, see the variable
857 =org-pretty-entities-include-sub-superscripts=.
859 Thanks to Eric Schulte and Ulf Stegeman for making this possible.
861 *** Help system for finding entities
863 The new command =M-x org-entities-help= creates a structured
864 buffer that lists all entities available in Org.  Thanks to Ulf
865 Stegeman for adding the necessary structure to the internal
866 entity list.
868 *** New module to create Gantt charts
870 Christian Egli's /org-taskjuggler.el/ module is now part of Org.
871 He also wrote a [[http://orgmode.org/worg/org-tutorials/org-taskjuggler.php][tutorial]] for it.
873 *** Refile targets can now be cached
875 You can turn on caching of refile targets by setting the variable
876 =org-refile-use-cache=.  This should speed up refiling if you
877 have many eligible targets in many files.  If you need to update
878 the cache because Org misses a newly created entry or still
879 offers a deleted one, press =C-0 C-c C-w=.
881 *** Enhanced functionality of the clock resolver
883 Here are the new options for the clock resolver:
884     
885 : i/q/C-g  Ignore this question; the same as keeping all the idle time.
887 : k/K      Keep X minutes of the idle time (default is all).  If this
888 :          amount is less than the default, you will be clocked out
889 :          that many minutes after the time that idling began, and then
890 :          clocked back in at the present time.
891 : g/G      Indicate that you \"got back\" X minutes ago.  This is quite
892 :          different from 'k': it clocks you out from the beginning of
893 :          the idle period and clock you back in X minutes ago.
894 : s/S      Subtract the idle time from the current clock.  This is the
895 :          same as keeping 0 minutes.
896 : C        Cancel the open timer altogether.  It will be as though you
897 :          never clocked in.
898 : j/J      Jump to the current clock, to make manual adjustments.
899     
900 For all these options, using uppercase makes your final state
901 to be CLOCKED OUT.  Thanks to John Wiegley for making these
902 changes.
904 *** A property value of "nil" now means to unset a property
906 This can be useful in particular with property inheritance, if
907 some upper level has the property, and some grandchild of it
908 would like to have the default settings (i.e. not overruled by a
909 property) back.
911 Thanks to Robert Goldman and Bernt Hansen for suggesting this
912 change.
914 *** The problem with comment syntax has finally been fixed
916 Thanks to Leo who has been on a year-long quest to get this fixed
917 and finally found the right way to do it.
919 *** Make it possible to protect hidden subtrees from being killed by =C-k=
920     
921 This was a request by Scott Otterson.
922 See the new variable =org-ctrl-k-protect-subtree=.
923     
924 *** New module org-mac-link-grabber.el
926 This module allows to grab links to all kinds of applications on
927 a mac.  It is available in the contrib directory.
929 Thanks to Anthony Lander for this contribution.
931 *** LaTeX export: Implement table* environment for wide tables
932     
933 Thanks to Chris Gray for a patch to this effect.
935 *** When cloning entries, remove or renew ID property
937 Thanks to David Maus for this change.
939 * Version 6.36
941  :PROPERTIES:
942  :CUSTOM_ID: v6.36
943  :END:
945 ** Details
946 *** Inline display of linked images
948 Images can now be displayed inline.  The key C-c C-x C-v does
949 toggle the display of such images.  Note that only image links
950 that have no description part will be inlined.
952 *** Implement offsets for ordered lists
954 If you want to start an ordered plain list with a number
955 different from 1, you can now do it like this:
956     
957 : 1. [@start:12] will star a lit a number 12
959 *** Extensions to storing and opening links to Wanderlust messages
960     
961 - Remove filter conditions for messages in a filter folder
962     
963   If customization variable `org-wl-link-remove-filter' is non-nil,
964   filter conditions are stripped of the folder name.
965     
966 - Create web links for messages in a Shimbun folder
968   If customization variable `org-wl-shimbun-prefer-web-links' is
969   non-nil, calling `org-store-link' on a Shimbun message creates a
970   web link to the messages source, indicated in the Xref: header
971   field.
973 - Create web links for messages in a nntp folder
975   If customization variable `org-wl-nntp-prefer-web-links' is
976   non-nil, calling `org-store-link' on a nntp message creates a web
977   link either to gmane.org if the group can be read trough gmane or
978   to googlegroups otherwise. In both cases the message-id is used as
979   reference.
981 - Open links in namazu search folder
983   If `org-wl-open' is called with one prefix, WL opens a namazu
984   search folder for message's message-id using
985   `org-wl-namazu-default-index' as search index.  If this variable is
986   nil or `org-wl-open' is called with two prefixes Org asks for the
987   search index to use.
989 Thanks to David Maus for these changes.
991 *** Org-babel: code block body expansion for table and preview
993 In org-babel, code is "expanded" prior to evaluation. I.e. the
994 code that is actually evaluated comprises the code block
995 contents, augmented with the extra code which assigns the
996 referenced data to variables. It is now possible to preview
997 expanded contents, and also to expand code during during
998 tangling. This expansion takes into account all header arguments,
999 and variables.
1001 A new key-binding C-c M-b p bound to
1002 `org-babel-expand-src-block' can be used from inside of a
1003 source code block to preview its expanded contents (which can
1004 be very useful for debugging).  tangling
1006 The expanded body can now be tangled, this includes variable
1007 values which may be the results of other source-code blocks, or
1008 stored in headline properties or tables. One possible use for
1009 this is to allow those using org-babel for their emacs
1010 initialization to store values (e.g. usernames, passwords,
1011 etc…) in headline properties or in tables.
1013 Org-babel now supports three new header arguments, and new
1014 default behavior for handling horizontal lines in tables
1015 (hlines), column names, and rownames across all languages.
1017 * Version 6.35
1018  :PROPERTIES:
1019  :CUSTOM_ID: v6.35
1020  :END:
1022 ** Incompatible Changes
1024 *** Changes to the intended use of =org-export-latex-classes=
1026 So far this variable has been used to specify the complete header
1027 of the LaTeX document, including all the =\usepackage= calls
1028 necessary for the document.  This setup makes it difficult to
1029 maintain the list of packages that Org itself would like to call,
1030 for example for the special symbol support it needs.  Each time I
1031 have to add a package, I have to ask people to revise the
1032 configuration of this variable.  In this release, I have tried to
1033 fix this.
1035 First of all, you can *opt out of this change* in the following
1036 way: You can say: /I want to have full control over headers, and
1037 I will take responsibility to include the packages Org needs/.
1038 If that is what you want, add this to your configuration and skip
1039 the rest of this section (except maybe for the description of the
1040 =[EXTRA]= place holder):
1042 #+begin_src emacs-lisp
1043   (setq org-export-latex-default-packages-alist nil
1044         org-export-latex-packages-alist nil)
1045 #+end_src
1047 /Continue to read here if you want to go along with the modified
1048 setup./
1050 There are now two variables that should be used to list the LaTeX
1051 packages that need to be included in all classes.  The header
1052 definition in =org-export-latex-classes= should then not contain
1053 the corresponding =\usepackage= calls (see below).
1055 The two new variables are:
1057 1. =org-export-latex-default-packages-alist= :: This is the
1058      variable where Org-mode itself puts the packages it needs.
1059      Normally you should not change this variable.  The only
1060      reason to change it anyway is when one of these packages
1061      causes a conflict with another package you want to use.
1062      Then you can remove that packages and hope that you are not
1063      using Org-mode functionality that needs it.
1065 2. =org-export-latex-packages-alist= :: This is the variable
1066      where you can put the packages that you'd like to use across
1067      all classes.  For example, I am putting =amsmath= and =tikz=
1068      here, because I always want to have them.
1070 The sequence how these customizations will show up in the LaTeX
1071 document are:
1072 1. Header from =org-export-latex-classes=
1073 2. =org-export-latex-default-packages-alist=
1074 3. =org-export-latex-packages-alist=
1075 4. Buffer-specific things set with =#+LaTeX_HEADER:=
1077 If you want more control about which segment is placed where, or
1078 if you want, for a specific class, have full control over the
1079 header and exclude some of the automatic building blocks, you can
1080 put the following macro-like place holders into the header:
1082 #+begin_example
1083 [DEFAULT-PACKAGES]      \usepackage statements for default packages
1084 [NO-DEFAULT-PACKAGES]   do not include any of the default packages
1085 [PACKAGES]              \usepackage statements for packages 
1086 [NO-PACKAGES]           do not include the packages
1087 [EXTRA]                 the stuff from #+LaTeX_HEADER
1088 [NO-EXTRA]              do not include #+LaTeX_HEADER stuff
1089 #+end_example
1091 If you have currently customized =org-export-latex-classes=, you
1092 should revise that customization and remove any package calls that
1093 are covered by =org-export-latex-default-packages-alist=.  This
1094 applies to the following packages:
1096 - inputenc
1097 - fontenc
1098 - fixltx2e
1099 - graphicx
1100 - longtable
1101 - float
1102 - wrapfig
1103 - soul
1104 - t1enc
1105 - textcomp
1106 - marvosym
1107 - wasysym
1108 - latexsym
1109 - amssymb
1110 - hyperref
1112 If one of these packages creates a conflict with another package
1113 you are using, you can remove it from
1114 =org-export-latex-default-packages-alist=.  But then you risk
1115 that some of the advertised export features of Org will not work
1116 properly.
1118 You can also consider moving packages that you use in all classes
1119 to =org-export-latex-packages-alist=.  If necessary, put the
1120 place holders so that the packages get loaded in the right
1121 sequence.  As said above, for backward compatibility, if you omit
1122 the place holders, all the variables will dump their content at
1123 the end of the header.
1125 Damn, this has become more complex than I wanted it to be.  I
1126 hope that in practice, this will not be complicated at all.
1128 *** The constant =org-html-entities= is obsolete
1130 Its content is now part of the new constant =org-entities=, which
1131 is defined in the file org-entities.el.  =org-html-entities= was
1132 an internal variable, but it is possible that some users did
1133 write code using it - this is why I am mentioning it here.
1135 ** Editing Convenience and Appearance
1137 *** New faces for title, date, author and email address lines.
1138     
1139 The keywords in these lines are now dimmed out, and the title is
1140 displayed in a larger font, and a special font is also used for
1141 author, date, and email information.  This is implemented by the
1142 following new faces:
1143     
1144 org-document-title
1145 org-document-info
1146 org-document-info-keyword
1147     
1148 In addition, the variable =org-hidden-keywords= can be used to
1149 make the corresponding keywords disappear.
1151 Thanks to Dan Davison for this feature.
1153 *** Simpler way to specify faces for tags and todo keywords
1154     
1155 The variables =org-todo-keyword-faces=, =org-tag-faces=, and
1156 =org-priority-faces= now accept simple color names as
1157 specifications.  The colors will be used as either foreground or
1158 background color for the corresponding keyword.  See also the
1159 variable =org-faces-easy-properties=, which governs which face
1160 property is affected by this setting.
1162 This is really a great simplification for setting keyword faces.
1163 The change is based on an idea and patch by Ryan Thompson.
1165 *** <N> in tables now means fixed width, not maximum width
1166     
1167 Requested by Michael Brand.
1169 *** Better level cycling function
1171 =TAB= in an empty headline cycles the level of that headline
1172 through likely states.  Ryan Thompson implemented an improved
1173 version of this function, which does not depend upon when exactly
1174 this command is used.  Thanks to Ryan for this improvement.
1176 *** Adaptive filling
1177     
1178 For paragraph text, =org-adaptive-fill-function= did not handle the
1179 base case of regular text which needed to be filled.  This is now
1180 fixed.  Among other things, it allows email-style ">" comments
1181 to be filled correctly.
1183 Thanks to Dan Hackney for this patch.    
1185 *** `org-reveal' (=C-c C-r=) also decrypts encrypted entries (org-crypt.el)
1186     
1187 Thanks to Richard Riley for triggering this change.
1189 *** Better automatic letter selection for TODO keywords
1190     
1191 When all first letters of keywords have been used, Org now assigns
1192 more meaningful characters based on the keywords.
1194 Thanks to Mikael Fornius for this patch.
1196 ** Export
1198 *** Much better handling of entities for LaTeX export
1200 Special entities like =\therefore= and =\alpha= now know if
1201 they need to be in LaTeX math mode and are formatted accordingly.
1203 Thanks to Ulf Stegemann for the tedious work to make this
1204 possible.
1205     
1206 *** LaTeX export: Set coding system automatically
1208 The coding system of the LaTeX class will now be set to the value
1209 corresponding to the buffer's file coding system.  This happens
1210 if your setup sets up the file to have a line
1211 =\usepackage[AUTO]{inputenc}= (the default setup does this).
1213 *** New exporters to Latin-1 and UTF-8
1215 While Ulf Stegemann was going through the entities list to
1216 improve the LaTeX export, he had the great idea to provide
1217 representations for many of the entities in Latin-1, and for all
1218 of them in UTF-8.  This means that we can now export files rich
1219 in special symbols to Latin-1 and to UTF-8 files.  These new
1220 exporters can be reached with the commands =C-c C-e n= and =C-c
1221 C-e u=, respectively.
1223 When there is no representation for a given symbol in the
1224 targeted coding system, you can choose to keep the TeX-macro-like
1225 representation, or to get an "explanatory" representation.  For
1226 example, =\simeq= could be represented as "[approx. equal to]".
1227 Please use the variable =org-entities-ascii-explanatory= to state
1228 your preference.
1230 *** Full label/reference support in HTML, Docbook, and LaTeX backends
1232 =#+LABEL= definitions for tables and figures are now fully
1233 implemented in the LaTeX, Docbook, and HTML interfaces.
1234 =\ref{xxx}= is expanded to a valid link in all backends.
1236 *** BEAMER export: Title of the outline frame is now customizable
1237     
1238 The new option =org-outline-frame-title= allows to set the 
1239 title for outline frames in Beamer presentations.
1241 Patch by Łukasz Stelmach.
1242     
1243 *** BEAMER export: fragile frames are better recognized
1245 A =lstlisting= environment now also triggers the fragile option in
1246 a beamer frame, just like =verbatim= environments do.
1248 Thanks to Eric Schulte for this patch.
1250 *** BEAMER export: Protect <...> macro arguments
1252 Macros for the BEAMER package can have arguments in angular
1253 brackets.  These are now protected just like normal arguments.
1255 Requested by Bill Jackson.
1257 *** HTML export: Add class to outline containers using property
1258     
1259 The =HTML_CONTAINER_CLASS= property can now be used to add a
1260 class name to the outline container of a node in HTML export.
1262 *** New option =org-export-email-info= to turn off export of the email address
1263     
1264 Default is actually off now.
1266 *** Throw an error when creating an image from a LaTeX snippet fails
1268 This behavior can be configured with the new option variable
1269 =org-format-latex-signal-error=.
1271 ** Index generation
1272     
1273 Org-mode can now produce a 2-level subject index spanning an
1274 entire publishing project.  Write index entries in your files as
1276 #+begin_src org
1277 ,* What is org-mode?
1278 #+index: Org-mode
1279 #+index: Definitions!Org-mode
1280 #+end_src
1282 where the first line will produce an index entry /Org-mode/,
1283 while the second line will create /Definitions/ with a sub-item
1284 /Org-mode/.  Three-level entries are not supported.
1286 To produce the index, set
1288 #+begin_src emacs-lisp
1289 :makeindex t
1290 #+end_src
1292 in the project definition in =org-publish-project-alist=.  You
1293 may have to force re-export of all files to get the index by
1294 using a =C-u= prefix to the publishing command:
1296 #+begin_example
1297 C-u M-x org-publish-all
1298 #+end_example
1300 Whenever an Org file is published in this project, a new file
1301 with the extension "orgx" will be written.  It contains the index
1302 entries and corresponding jump target names.  When all project
1303 files are published, Org will produce a new file "theindex.inc"
1304 containing the index as a to-level tree.  This file can be
1305 included into any project file using
1307 #+begin_src org
1308   ,#+include: "theindex.inc"
1309 #+end_src
1311 Org-mode will also create a file "theindex.org" with this include
1312 statement, and you can build a more complex structure (for
1313 example style definitions, top and home links, etc) around this
1314 statement.  When this file already exists, it will not be
1315 overwritten by Org.
1317 Thanks to Stefan Vollmar for initiating and driving this feature.
1319 *** TODO Still need to do the LaTeX portion
1321 ** MobileOrg
1323 *** Encrypting stage files for MobileOrg
1325 Since the use of (often pubic) servers is needed for MobileOrg,
1326 it is now possible to encrypt the files to be staged for
1327 MobileOrg.  Version 1.2 of MobileOrg will be needed for this
1328 feature, and Richard Moreland will show instructions on his
1329 website once that is available.  Basically, on the Org-side this
1330 will require the following settings:
1332 #+begin_src emacs-lisp
1333   (setq org-mobile-use-encryption t
1334         org-mobile-encryption-password "My_MobileOrg_Password")
1335 #+end_src
1337 So the password will be visible in your local setup, but since
1338 the encryption is only for the public server, this seems
1339 acceptable.
1341 ** Agenda
1343 *** Specify entry types as an option
1344     
1345 Custom Agenda commands can now limit the sets of entry types
1346 considered for this command by binding =org-agenda-entry-types=
1347 temporarily in the options section of the command.  This can lead
1348 to significant speedups, because instead of laboriously finding
1349 entries and then rejecting them, a whole search cycle is skipped.
1350 For more information see the new section in
1351 [[http://orgmode.org/worg/org-tutorials/org-custom-agenda-commands.php#sec-5][Matt Lundin's agenda custom command tutorial]].
1353 Thanks to Matt Lundin for this feature.
1355 *** Speed up multiple calls to org-diary by only doing buffer prep once
1356     
1357 Also a patch by Matt Lundin.
1359 *** Show and hide deadlines in the agenda
1361 You can now hide all deadline entries in the agenda by pressing
1362 =!=.
1364 Thanks to John Wiegley for this feature.
1366 *** Agenda: Allow to suppress deadline warnings for entries also scheduled
1368 The the docstring of the variable
1369 =org-agenda-skip-deadline-prewarning-if-scheduled=.
1371 *** Expand file names in org-agenda-files (external file case)
1372     
1373 If you are using a file to manage the list of agenda files, the
1374 names in this file can now contain environment variables and "~"
1375 to write them more compactly and portable.
1377 Thanks to Mikael Fornius for a patch to this effect.
1379 *** Agenda: Allow TODO conditions in the skip functions
1381 The agenda skip function has now special support for skipping
1382 based on the TODO state.  Here are just two examples, see the
1383 manual for more information.
1385 #+begin_src emacs-lisp
1386 (org-agenda-skip-entry-if 'todo '(\"TODO\" \"WAITING\"))
1387 (org-agenda-skip-entry-if 'nottodo 'done)
1388 #+end_src
1390 Thanks to Łukasz Stelmach for this patch.
1392 *** Extracting the time-of-day when adding diary entries
1394 The time of day can now be extracted from new diary entries made
1395 from the agenda with (for example) =i d=.  When
1396 =org-agenda-insert-diary-extract-time= is set, this is done, and
1397 the time is moved into the time stamp.
1399 Thanks to Stephen Eglen for this feature.
1401 *** The customization group org-font-lock has been renamed
1403 The new name is `org-appearance'.
1405 Thanks to Dan Davison for a patch to this effect.
1407 *** The TODO list: Allow skipping scheduled or deadlined entries
1409 Skipping TODO entries in the global TODO list based on whether
1410 they are scheduled or have a deadline can now be controlled in
1411 more detail.  Please see the docstrings of
1412 =org-agenda-todo-ignore-scheduled= and
1413 =org-agenda-todo-ignore-deadline=.
1415 Thanks to Łukasz Stelmach for patches to this effect.
1417 ** Hyperlinks
1419 *** Make =org-store-link= point to directory in a dired buffer
1420     
1421 When, in a dired buffer, the cursor is not in a line listing a
1422 file, `org-store-link' will store a link to the directory.
1424 Patch by Stephen Eglen.
1426 *** Allow regexps in =org-file-apps= to capture link parameters
1427     
1428 The way extension regexps in =org-file-apps= are handled has
1429 changed.  Instead of matching against the file name, the regexps
1430 are now matched against the whole link, and you can use grouping
1431 to extract link parameters which you can then use in a command
1432 string to be executed.
1434 For example, to allow linking to PDF files using the syntax
1435 =file:/doc.pdf::<page number>=, you can add the following entry to
1436 org-file-apps:
1438 #+begin_example
1439 Extension: \.pdf::\([0-9]+\)\'
1440 Command:   evince "%s" -p %1
1441 #+end_example
1443 Thanks to Jan Böcker for a patch to this effect.
1445 ** Clocking
1447 *** Show clock overruns in mode line
1449 When clocking an item with a planned effort, overrunning the
1450 planned time is now made visible in the mode line, for example
1451 using the new face =org-mode-line-clock-overrun=, or by adding an
1452 extra string given by =org-task-overrun-text=.
1454 Thanks to Richard Riley for a patch to this effect.
1456 ** Tables
1458 *** Repair the broken support for table.el tables again.
1459     
1460 Tables created with the table.el package now finally work again
1461 in Org-mode.  While you cannot edit the table directly in the
1462 buffer, you can use  =C-c '= to edit it nicely in a temporary
1463 buffer.
1465 Export of these tables to HTML seem to work without problems.
1466 Export to LaTeX is imperfect.  If fails if the table contains
1467 special characters that will be replaced by the exporter before
1468 formatting the table.  The replacement operation changes the
1469 length of some lines, breaking the alignment of the table fields.
1470 Unfortunately this is not easy to fix.  It is also not an option
1471 to not do these replacements.  The table.el LaTeX exporter will
1472 for example not escape "&" in table fields, causing the exported
1473 tables to be broken.
1475 ** Misc
1477 *** New logging support for refiling
1479 Whenever you refile an item, a time stamp and even a note can be
1480 added to this entry.  For details, see the new option
1481 =org-log-refile=.
1482     
1483 Thanks to Charles Cave for this idea.
1485 *** New helper functions in org-table.el
1487 There are new functions to access and write to a specific table
1488 field.  This is for hackers, and maybe for the org-babel people.
1490 #+begin_example
1491 org-table-get
1492 org-table-put
1493 org-table-current-line
1494 org-table-goto-line
1495 #+end_example
1497 *** Tables: Field coordinates for formulas, and improved docs
1498     
1499 Calc and Emacs-Lisp formulas for tables can access the current
1500 field coordinates with =@#= and =$#= for row and column,
1501 respectively.  These can be useful in some formulas.  For
1502 example, to sequentially number the fields in a column, use
1503 ~=@#~ as column equation.
1505 One application is to copy a column from a different table.  See
1506 the manual for details.
1508 Thanks to Michael Brand for this feature.
1510 *** Archiving: Allow to reverse order in target node
1511     
1512 The new option =org-archive-reversed-order= allows to have
1513 archived entries inserted in a last-on-top fashion in the target
1514 node.
1515     
1516 Requested by Tom.
1518 *** Better documentation on calc accuracy in tables
1519     
1520 Thanks to Michael Brand for this fix.
1522 *** Clock reports can now include the running, incomplete clock
1524 If you have a clock running, and the entry being clocked falls
1525 into the scope when creating a clock table, the time so far spent
1526 can be added to the total.  This behavior depends on the setting
1527 of =org-clock-report-include-clocking-task=.  The default is
1528 =nil=.
1529     
1530 Thanks to Bernt Hansen for this useful addition.
1532 *** American-style dates are now understood by =org-read-date=
1534 So when you are prompted for a date, you can now answer like this
1536 #+begin_example
1537 2/5/3         --> 2003-02-05
1538 2/5           --> <CURRENT-YEAR>-02-05
1539 #+end_example    
1541 *** org-timer.el now allows just one timer
1543 There is now only a single free timer supported by org-timer.el.
1544 Thanks to Bastien for cleaning this up, after a bug report in
1545 this area by Frédéric Couchet.
1547 *** Remember: Allow to file as sibling of current clock
1548     
1549 =C-3 C-c C-c= will file the remember entry as a sibling of the
1550 last filed entry.
1552 Patch by Łukasz Stelmach.
1554 *** Org-reveal: Double prefix arg shows the entire subtree of the parent
1555     
1556 This can help to get out of an inconsistent state produced for
1557 example by viewing from the agenda.
1559 This was a request by Matt Lundin.
1561 *** Add org-secretary.el by Juan Reyero to the contrib directory
1563 org-secretary.el is a possible setup for group work using
1564 Org-mode.
1566 Thanks to Juan Reyero for this contribution.
1568 ** Babel
1570 Eric and Dan have compiled the following list of changes in and
1571 around org-babel.
1573 - Added support for Matlab and Octave.
1574 - Added support for C and C++ code blocks.
1575 - Added support for the Oz programming language.
1576   Thanks to Torsten Anders for this contribution
1577 - Can now force literal interpretation of table cell contents
1578   with extra "$" in table formula.
1579   Thanks to Maurizio Vitale for this suggestion.
1580 - Variable references which look like lisp forms are now
1581   evaluated.
1582 - No longer adding extension during tangling when filename is
1583   provided.
1584   Thanks to Martin G. Skjæveland and Nicolas Girard for prompting this.
1585 - Added `org-babel-execute-hook' which runs after code block
1586   execution.
1587 - Working directories and remote execution
1589   This introduces a new header argument :dir. For the duration of
1590   source block execution, default-directory is set to the value
1591   of this header argument. Consequences include:
1593   - external interpreter processes run in that directory
1594   - new session processes run in that directory (but existing
1595     ones are unaffected)
1596   - relative paths for file output are relative to that directory
1598   The name of a directory on a remote machine may be specified
1599   with tramp syntax (/user@host:path), in which case the
1600   interpreter executable will be sought in tramp-remote-path, and
1601   if found will execute on the remote machine in the specified
1602   remote directory.
1603 - Tramp syntax can be used to tangle to remote files.
1604   Thanks to Maurizio Vitale and Rémi Vanicat.
1605 - org-R removed from contrib.
1606 - gnuplot can now return it's string output -- when session is
1607   set to "none".
1608 - Now including source code block arguments w/source name on
1609   export.
1610 - Now able to reference file links as results.
1611 - Allow pdf/png generation directly from latex source blocks
1612   with :file header argument.
1614 * Version 6.34
1615  :PROPERTIES:
1616  :CUSTOM_ID: v6.34
1617  :END:
1619 ** Incompatible changes
1621 *** Tags in org-agenda-auto-exclude-function must be lower case.
1623 When defining an =org-agenda-auto-exclude-function=, you need to
1624 be aware that tag that is being passed into the function is
1625 always lower case - even if it was defined in upper case
1626 originally.
1628 ** Details
1630 *** Support for creating BEAMER presentations from Org-mode documents
1632 Org-mode documents or subtrees can now be converted directly in
1633 to BEAMER presentation.  Turning a tree into a simple
1634 presentations is straight forward, and there is also quite some
1635 support to make richer presentations as well.  See the [[http://orgmode.org/manual/Beamer-class-export.html#Beamer-class-export][BEAMER
1636 section]] in the manual for more details.
1638 Thanks to everyone who has contributed to the discussion about
1639 BEAMER support and how it should work.  This was a great example
1640 for how this community can achieve a much better result than any
1641 individual could.
1643 *** Hyperlinks
1645 **** Add Paul Sexton's org-ctags.el
1647 Targets like =<<my target>>= can now be found by Emacs' etag
1648 functionality, and Org-mode links can be used to to link to
1649 etags, also in non-Org-mode files.  For details, see the file
1650 /org-ctags.el/.
1652 This feature uses a new hook =org-open-link-functions= which will
1653 call function to do something special with text links.
1655 Thanks to Paul Sexton for this contribution.
1657 **** Add Jan Böcker's org-docview.el
1659 This new module allows links to various file types using docview,
1660 where Emacs displays images of document pages.  Docview link
1661 types can point to a specific page in a document, for example to
1662 page 131 of the Org-mode manual:
1664 : [[docview:~/.elisp/org/doc/org.pdf::131][Org-Mode Manual]]
1666 Thanks to Jan Böcker for this contribution.
1667     
1668 **** New link types that force special ways of opening the file
1669     
1670 - =file+sys:/path/to/file=  will use the system to open the file,
1671   like double-clicking would.
1672 - file+emacs:/path/to/file will force opening the linked file
1673   with Emacs.
1675 This was a request by John Wiegley.
1677 **** Open all links in a node
1679 When using =C-c C-o= on a headline to get a list of links in the
1680 entry, pressing =RET= will open *all* links.  This allows
1681 something like projects to be defined, with a number of files
1682 that have to be opened by different applications.
1684 This was a request by John Wiegley.
1686 *** Agenda Views
1688 **** Improve the logic of the search view.
1690 The logic of search views is changed a bit.  See the docstring of
1691 the function =or-search-view=.
1693 These changes resulted from a discussion with Matt Lundin.
1695 **** New face for entries from the Emacs diary
1697 Entries that enter the Agenda through the Emacs diary now get the
1698 face =org-agenda-diary=.
1700 This was a request by Thierry Volpiatto.
1702 **** New function `org-diary-class' to schedule classes with skipped weeks.
1704 This was a request by Daniel Martins.
1706 **** Empty matcher means prompt in agenda custom commands
1707     
1708 When an agenda custom command has an empty string as MATCH
1709 element, so far this would lead to a meaningless search using an
1710 empty matcher.  Now an empty (or white) string will be
1711 interpreted just like a nil matcher, i.e. the user will be
1712 prompted for the match.
1714 **** Agenda: Selectively remove some tags from agenda display
1716 If you use tags very extensively, you might want to exclude some
1717 from being displayed in the agenda, in order to keep the display
1718 compact.  See the new option =org-agenda-hide-tags-regexp= for
1719 details.
1720     
1721 This was largely a patch by Martin Pohlack.
1723 *** Export
1725 **** Direct export of only the current subtree
1727 Pressing =1= after =C-c C-e= and before the key that selects the
1728 export backend, only the current subtree will be exported,
1729 exactly as it you had selected it first with =C-c @=.  So for
1730 example, =C-c C-e 1 b= will export the current subtree to HTML
1731 and open the result in the browser.
1733 **** Direct export of enclosing node
1735 Pressing =SPC= after =C-c C-e= and before the key that selects
1736 the export backend, the enclosing subree that is set up for
1737 subtree export will be exported, exactly as it you had selected
1738 it first with =C-c @=.  So for example, =C-c C-e SPC d= will find
1739 the enclosing node with a LaTeX_CLASS property or an
1740 EXPORT_FILE_NAME property and export that.
1742 **** Caching export images
1744 Images that are created for example using LaTeX or ditaa for
1745 inclusion into exported files are now cached.  This works by
1746 adding a hash to the image name, that reflects the source code
1747 and all relevant settings.  So as long as the hash does not
1748 change, the image does not have to be made again.  His can lead
1749 to a substantial reduction in export/publishing times.
1751 Thanks to Eric Schulte for a patch to this effect.
1753 **** Preserving line breaks for export no longer works
1754     
1755 ASCII export always preserves them - no other export format
1756 does.  We had attempted to use =\obeylines= for this in LaTeX,
1757 but that does create too many problems.
1759 **** New symbols =\EUR= and =\checkmark=
1761 =\EUR= symbols from Marvosym package, and =\checkmark= are now
1762 supported symbols in Org-mode, i.e. they will be exported
1763 properly to the various backends.
1765 **** Allow LaTeX_CLASS_OPTIONS to set options, also from a property
1767 You can set the options to the =\documentclass= command on a
1768 per-file basis, using
1770 : #+LaTeX_CLASS_OPTIONS: [11pt]
1772 or on a per-tree basis using the corresponding property.  The
1773 defined string will replace the default options entirely.
1775 **** The encoding of LaTeX files is now handled property
1777 Org now makes sure that the encoding used by the file created
1778 through the export mechanism is reflected correctly in the
1780 : \usepackage[CODINGSYSTEM]{inputenc}
1782 command.  So as long as the =org-export-latex-classes= definition
1783 contains an =\usepackage[utf8]{inputenc}= statement, that
1784 statement will be modified so that the correct option is used.
1786 If you wan to use special encodings, for example =utf8x= instead
1787 of =utf8=, see the variable =org-export-latex-inputenc-alist=.
1789 This was a request by Francesco Pizzolante.
1791 *** Property API enhancements
1792     
1793 **** Make a new special property BLOCKED, indicating if entry is blocked
1795 A new special property BLOCKED returns "t" when the entry is
1796 blocked from switching the TODO state to a DONE state.
1798 This was a request by John Wiegley.
1800 **** New hooks for external support for allowed property values
1802 It is now possible to hook into Org in order to provide the
1803 allowed values for any property with a lisp function.  See the
1804 docstring of the variable =org-property-allowed-value-functions=
1806 **** Allow unrestricted completion on properties
1808 When listing the allowed values for a property, for example with
1809 a =:name_ALL:= property, completion on these values enforces that
1810 one of the values will be chosen.  Now, if you add ":ETC" to the
1811 list of allowed values, it will be interpreted as a switch, and
1812 the completion will be non-restrictive, so you can also choose to
1813 type a new value.
1815 *** Changes to Org-babel
1817 - The documentation for Org-babel has been drastically improved
1818   and is available on Worg at
1819   http://orgmode.org/worg/org-contrib/babel/
1820 - Source-code block names are now exported to HTML and LaTeX
1821 - Org-babel functions are now bound to keys behind a common key
1822   prefix (see
1823   http://orgmode.org/worg/org-contrib/babel/reference.php#sec-5)
1824 - Results are now foldable with TAB
1825 - Header argument values can now be lisp forms
1826 - Readable aliases for #+srcname: and #+resname:
1827 - Sha1 hash based caching of results in buffer
1828 - Can now index into variable values
1829 - org-babel-clojure now supports multiple named sessions
1831 *** Miscellaneous changes
1833 **** Make =C-c r C= customize remember templates
1835 =C-c r C= is now a shortcut for
1837 :  M-x customize-variable RET org-remember-templates RET
1839 This was a proposal by Adam Spiers.
1841 **** Use John Gruber's regular expression for URL's
1843 We now use a better regexp to spot plain links in text.  This
1844 regexp is adopted from [[http://daringfireball.net/2009/11/liberal_regex_for_matching_urls][John Gruber's blogpost]].
1846 Thanks to William Henney for the pointer.
1848 **** Implement tag completion of all tags in all agenda files
1849     
1850 The new option =org-complete-tags-always-offer-all-agenda-tags=
1851 makes Org complete all tags from all agenda files if non-nil.
1852 Usually, setting it locally to t in org-remember buffers is the
1853 most useful application of this new feature.
1855 Thanks to Tassilo Horn for a patch to this effect.
1857 * Version 6.33
1858  :PROPERTIES:
1859  :CUSTOM_ID: v6.33
1860  :END:
1862 ** Incompatible changes
1864 *** Reorganize key bindings for archiving
1865     
1866 The following keys now do archiving
1868 - C-c C-x C-a :: archive using the command specified in
1869      =org-archive-default-command=.  This variable is by default
1870      set to =org-archive-subtree=, which means arching to the
1871      archive file.
1872     
1873 The three specific archiving commands are available through
1875 - C-c C-x C-s ::    archive to archive file
1876 - C-c C-x a ::     toggle the archive tag
1877 - C-c C-x A ::   move to archive sibling
1879 These bindings work the same in an Org file, and in the agenda.
1881 In addition:
1882     
1883 - In the agenda you can also use =a= to call the default archiving
1884   command, but you need to confirm the command with =y= so that this
1885   cannot easily happen by accident.
1886   
1887 - For backward compatibility, =C-c $= in an org-mode file, and
1888   =$= in the agenda buffer continue to archive to archive file.
1891 ** Details
1893 *** Level indentation cycling new empty entries and plain list items
1894 :PROPERTIES:
1895 :ID: 1CBF16C9-031C-4A03-A5EE-09B6AAB6209C
1896 :END:
1898 To speed up data entry, TAB now behaves special in an empty
1899 headline, i.e. if the current line only contains the headline
1900 starter stars, maybe a TOD keyword, but no further content.  This
1901 is usually the situation just after creating a new headline with
1902 =M-RET= or =M-S-RET=.
1904 Then, TAB will first make the current entry a child of the
1905 entry above, then a parent, then a grand parent etc until it
1906 reaches top level.  Yet another TAB and you will be back at the
1907 initial level at which the headline was created.
1909 New plain list items behave in just the same way.
1911 Sounds strange?  Try it, it is insanely fast when entering data.
1912 If you still don't like it, turn it off by customizing
1913 =org-cycle-level-after-item/entry-creation=.
1915 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
1916 contributed to this new feature.
1918 *** Speed commands at the start of a headline
1920 If you set the variable =org-use-speed-commands=, the cursor
1921 position at the beginning of a headline (i.e. before the first
1922 star) becomes special.  Single keys execute special commands in
1923 this place, for example outline navigation with =f=, =b=, =n=,
1924 and =p=, equivalent to the corresponding =C-c C-f=, =C-c C-b=,
1925 =C-c C-n=, and =C-c C-f= commands.  The full list of commands can
1926 be seen by pressing =?= at the special location.  More commands
1927 can be added and existing ones modified by configuring the
1928 variable =org-speed-commands-user=.
1930 This was a request by John Wiegley, based on similar speed
1931 navigation in /allout.el/.
1933 *** Logging changes in scheduling and deadline time stamps
1935 Setting the variables =org-log-reschedule= and
1936 =org-log-redeadline= to either =time= or =note= will arrange for
1937 recording a logbook entry whenever a scheduling date or deadline
1938 is changed.
1940 This was a request by Rick Moynihan.
1942 *** File remember notes into a date tree
1944 Remember notes can now be filed to a location in a date tree.  A
1945 date tree is an outline tree with years as top levels, months as
1946 level 2 headings, and days as level three headings.  These are
1947 great for journals and for recording appointments and other loose
1948 dates because it will be easy to find all entries referencing a
1949 particular date, and it will be easy to archive all such entry
1950 from last year, for example.
1952 To select date tree filing, set the HEADLINE part of the remember
1953 template to the symbol =date-tree=.  The date tree will be build
1954 in the file on top level.  However, if the file contains an entry
1955 with a non-nil =DATE_TREE= property, then the tree will be build
1956 under that headline.
1958 *** New commands to create entries from agenda and calendar
1960 If you make the variable =org-agenda-diary-file= point to an
1961 org-mode file, the =i= key in both the agenda buffer and in the
1962 Emacs calendar will be made to insert entries into that Org file.
1963 The dates at the cursor and the mark are being used when making
1964 entries for specific dates or blocks.  In the new file,
1965 anniversaries will be collected under a special headline, and
1966 day/block entries will be filed into a date tree (see previous
1967 section).
1969 This was a request by Stephen Eglen.
1971 *** A new freemind exporter has been integrated with Org-mode
1973 org-freemind.el has a number of entry points (for details, see
1974 the source code), but you can also use Org's =C-c C-e m= to
1975 export a file or a selected subtree.
1977 Thanks to Lennart Borgman for this contribution.  An earlier
1978 version of this file was part of the nxhtml package, under the
1979 name /freemind.el/.
1981 *** Drawers are now exported properly
1983 Drawers are now exported when the configuration requires it,
1984 i.e. if the variable `org-export-with-drawers' is t or a list
1985 containing the drawers to export.
1987 *** Min/Max/Mean age operators in Column View.
1988     
1989 This lets you see how much time has passed since the specified
1990 timestamp property each entry. The three operators (=@min=,
1991 =@max=, =@mean=) show either the age of the youngest or oldest
1992 entry or the average age of the children.
1994 Thanks to James TD Smith for a patch to this effect.
1995     
1996 *** Allow source code block indentation to be preserved
1997     
1998 If =org-src-preserve-indentation= is non-nil, or if a block has a
1999 =-i= switch, then the behavior of org-exp-blocks is altered as
2000 follows:
2002 1. Indentation is not removed before passing the block contents
2003    to the block-transforming plugin.
2004    
2005 2. The result returned by the plugin is not re-indented.
2007 3. Editing the source code block with =C-c '= preserves it's
2008    indentation.
2010 Thanks to Dan Davison for this feature.
2012 *** Frame/window control when switching to source code edit buffer.
2013     
2014 When switching to a source code editing buffer with =C-c '=, you
2015 can now control the frame / window setup using the new variable
2016 =org-src-window-setup=.
2018 Thanks to Dan Davison for this feature.
2020 *** Refile an entry to the current clock
2022 You can now quickly refile an entry to become a child of the
2023 entry currently being clocked.  The keys for doing this are
2024 =C-2 C-c C-w=.
2026 This was a request by Bernt Hansen.
2028 *** Make =C-c C-o= open the attachment directory is there are no links
2030 If there is no link in an entry, =C-c C-o= will now open the
2031 attachment directory instead.
2033 This was a request/patch by John Wiegley.
2035 *** org-mac-iCal.el: work with calendar "groups"
2036     
2037 Some calendar systems (Google, Zimbra) handle subscriptions to
2038 multiple calendars (or to an account) by grouping them under a
2039 single caldav directory in the calendar tree.  org-mac-iCal used
2040 to assumes there is only one ics file created per caldav
2041 directory, so while it *creates* all of the needed merged ics
2042 files, it only copies one of them to ~/Library/Calendar before
2043 importing the contents into the diary.
2045 Thanks to Doug Hellmann for a patch to fix this.
2047 *** New module /org-learn.el/ in the contrib directory
2049 The file implements the learning algorithm described at
2050 http://supermemo.com/english/ol/sm5.htm, which is a system for reading
2051 material according to "spaced repetition".  See
2052 http://en.wikipedia.org/wiki/Spaced_repetition for more details.
2054 Thanks to John Wiegley for this contribution.
2056 *** New contributed package /org-git-link.el/
2058 /org-git-link.el/ defines two new link types. The =git= link type
2059 is meant to be used in the typical scenario and mimics the =file=
2060 link syntax as closely as possible.  The =gitbare= link type
2061 exists mostly for debugging reasons, but also allows e.g.
2062 linking to files in a bare git repository for the experts.
2064 Thanks to Raimar Finken for this contribution.
2066 *** /org-annotation-helper.el/ and /org-browser-url.e./ have been removed
2067 Please switch to /org-protocol.el/, into which contains the same
2068 functionality in a more general framework.
2069 *** The contributed /org-export-freemind/ package has been removed.
2070 Org now contains a new freemind exporter, /org-freemind.el/.
2072 ** Org-babel Changes
2073 - Clojure is supported [Thanks to Joel Boehland]
2074 - Perl is supported
2075 - Ruby and Python now respond to the :file header argument
2076 - Added :results_switches header argument for passing switches
2077   through to raw src blocks
2078 - Preserve indentation in source blocks on export and tangle
2079 - Possible to evaluate noweb reference on tangling or code block
2080   evaluation
2081 - Allowing multiple noweb references on a single line
2082 - Cleaned up the passing of parameter values from Org-babel to
2083   language specific functions
2085 * Version 6.32
2086  :PROPERTIES:
2087  :CUSTOM_ID: v6.32
2088  :END:
2090 ** Rewrite of org-mobile.org, for MobileOrg 1.0 (build 20)
2092 MobileOrg is currently under review at the iPhone App Store.  You
2093 will need Org-mode version 6.32 to interact with it.
2095 ** Added support for habit consistency tracking
2096     
2097 /org-habit.el/ contains new code to track habits.  Please
2098 configure the variable org-modules to activate it.  When active,
2099 habits (a special TODO entry) will be displayed in the agenda
2100 together with a "consistency graph".  Habit tracking is described
2101 in a new [[http://orgmode.org/manual/Tracking-your-habits.html][manual section]].
2103 Thanks to John Wiegley for this contribution.
2104     
2105 ** New context-aware tag auto-exclusion 
2107 After writing a function relating to location and context
2108 information, you will be able to press =/ RET= in the agenda to
2109 exclude tasks that cannot be done in the current context. 
2110 For details, see the information about filtering in the manual.
2112 Thanks to John Wiegley for a patch to this effect.
2114 ** New clock resolving tools
2116 When clocking into a new task while no clock is running, Org now
2117 checks for orphaned CLOCK lines and offers to repair these before
2118 starting the clock.  You can also configure this feature to check
2119 for idle time and prompt you to subtract that time from the
2120 running timer.
2121     
2122 See the new [[http://orgmode.org/manual/Resolving-idle-time.html][manual section]] for more details.
2123     
2124 Thanks to John Wiegley for a patch to this effect.
2126 ** Mutually exclusive tag groups can now have a name in the tags interface
2128 The customize interface allows to optionally add a string to the
2129 beginning or end of such a group.
2130     
2131 Thanks to James TD Smith for a patch to this effect.
2133 ** Agenda Search view: Search for substrings
2134     
2135 The default in search view (/C-c a s/)is now that the search
2136 expression is searched for as a /substring/, i.e. the different
2137 words must occur in direct sequence, and it may be only part of
2138 a word.  If you want to look for a number of separate keywords
2139 with Boolean logic, all words must be preceded by =+= or =-=.
2141 This was, more-or-less, requested by John Wiegley.
2143 ** Make space and backspace scroll the show window in the agenda
2145 Pressing SPC again after using it to show an agenda item in
2146 another window will make the entire subtree visible, and show
2147 scroll it.  Backspace and DEL will scroll back.
2149 This was a request by Eric Fraga.
2150     
2151 ** File tags are now offered for completion during a tag prompts
2153 Requested by Matt Lundin.
2155 ** Make `- SPC' an agenda filter that selects entries without any tags
2156     
2157 Request by John Wiegley.
2159 ** Better way to edit multi-line macro definitions
2161 The editing tool key =C-c '= now also edits =#+MACRO=
2162 definitions, including multiline macros.
2164 ** Restructured Manual
2166 The manual has been slightly reorganized.  The archiving stuff,
2167 which was - somewhat obscurely - hidden in the /Document
2168 Structure/ chapter, has been moved into the new chapter
2169 /Capture-Refile-Archive/.  Also, there is a new chapter /Markup/
2170 which contains both the markup rules (moved there from the Export
2171 chapter) and the documentation for embedded LaTeX.
2173 ** Improved figure placement in LaTeX and HTML export
2174     
2175 Text can now be wrapped around figures.  See the manual for
2176 details.
2178 ** Allow date to be shifted into the future if time given is earlier than now
2179     
2180 By setting
2182 :     (setq org-read-date-prefer-future 'time)
2184 you indicate to Org that, if you only give a time at the
2185 date/time prompt, and if this time is earlier then the current
2186 time, then the date of tomorrow will be assumed to be valid for
2187 this event.  A similar mechanism was already in place for dates,
2188 but now you can make it work for times as well.
2190 ** Collected changes in org-babel
2191 - Source blocks can now reference source-blocks in other files
2192   using =filepath:srcname= syntax.
2193 - Inline code blocks like =src_python{2+2}= are now exported
2194 - Remote source block calls using the =#+lob: srcname(arg=val)=
2195   syntax can now be exported.
2196 - When =:file= is supplied with an =R= block, graphics are
2197   automatically sent to file and linked from the org buffer, thus
2198   appearing on export.  The image format is obtained from the
2199   filename extension.  Possible values are =.png, .jpg, .jpeg,
2200   .tiff, .bmp, .pdf, .ps, .postscript=, defaulting to =png=.
2201 - Results can be returned as parseable code using =:results code=,
2202   and as pretty-printed code using =:results pp= (emacs-lisp,
2203   python, ruby).  Thanks to Benny Andresen for the idea and patch
2204   for emacs-lisp.
2205 - When =:file filename= is supplied, =:exports file= is unnecessary
2206 - Header args are taken from org-file-properties in addition to
2207   properties active in the subtree.
2208 - =:noweb= header argument now expands noweb references before
2209   source-block evaluation.
2210 - Tangling honours the new org variable
2211   org-src-preserve-indentation, so that correct code is output for
2212   a language like python that depends on indentation.
2214 ** Changes in org-exp-blocks.el
2215 - Interblocks export has been simplified.
2216 - Support for R code (=begin_R= blocks and inline =\R{}=) has been
2217   removed.  Please use org-babel instead.
2219 * Version 6.31
2220  :PROPERTIES:
2221  :CUSTOM_ID: v6.31
2222  :END:
2224 ** Org-babel is now part of the Org distribution
2226 Org-babel provides the ability to execute source code in many
2227 different languages within org-mode documents.  The results of
2228 code execution -- text, tables and graphics -- can be integrated
2229 into Org-mode documents and can be automatically updated during
2230 publishing.  Since Org-babel allows execution of arbitrary code,
2231 the range of tasks that can be addressed from within an Org mode
2232 file becomes very large.  Examples of ways in which Org-babel
2233 might be used include
2235 - Documenting a task that involves some programming so that it is
2236   automatically repeatable
2237 - Creating dynamic (executable) reports that respond to changes
2238   in the underlying data (Reproducible Research)
2239 - Exportation of code contained in an Org-mode document into
2240   regular source code files (Literate Programming)
2242 Additionally, Org-babel provides a programming environment within
2243 Org files, in which data can be transmitted between parameterised
2244 source code blocks in different languages, as well as between
2245 source code blocks and Org-mode tables.
2247 A simple API is defined so that users can add support for new
2248 "languages" (broadly construed).  Languages currently supported
2249 are:
2251 - asymptote
2252 - css
2253 - ditaa
2254 - dot
2255 - emacs-lisp
2256 - gnuplot
2257 - haskell
2258 - ocaml
2259 - python
2260 - R
2261 - ruby
2262 - sass
2263 - sh
2264 - sql
2266 Org-babel was designed and implemented Eric Schulte with continued
2267 significant help on both accounts from Dan Davison.
2269 ** MobileOrg support
2271 Richard Morelands iPhone/iPod Touch program [[http://mobileorg.ncogni.to/][MobileOrg]] can view
2272 Org files, mark entries as DONE, flag entries for later
2273 attention, and capture new entries on the road.  Org-mode has now
2274 support to produce a staging area where MobileOrg can download
2275 its files, and to integrate changes done on the phone in a half
2276 automatic, half interactive way.  See the new appendix B in the
2277 manual for more information.
2280 ** Indented lines starting with "#+ " are treated as comments
2282 To allow comments in plain lists without breaking the list
2283 structure, you can now have indented comment lines that start
2284 with "#+ ".
2286 ** New STARTUP keyword `showeverything'
2287     
2288 This will make even drawer contents visible upon startup.
2289 Requested by Jeff Kowalczyk.
2291 ** New contributed package org-invoice.el
2293 This package collects clocking information for billing
2294 customers.
2296 Thanks to Peter Jones for this contribution.
2298 ** Encrypting subtrees
2300 /org-crypt.el/ by John Wiegley and Peter Jones allows encryption
2301 of individual subtrees in Org-mode outlines.  Thanks to John and
2302 Peter for this contribution.
2304 ** Agenda: Support for including a link in the category string
2305     
2306 The category (as specified by an #+CATEGORY line or CATEGORY
2307 property can contain a bracket link.  While this sort-of worked
2308 in the past, it now is officially supported and should cause no
2309 problems in agenda display or update.  The link can be followed
2310 by clicking on it, or with =C-c C-o 0=.
2312 This was a request by Peter Westlake.
2314 * Version 6.30
2315  :PROPERTIES:
2316  :CUSTOM_ID: v6.30
2317  :END:
2319 ** Inconsistent changes
2321 *** Agenda now uses =f= and =b= to move through time
2323 Up to now, the Org-mode agenda used the cursor keys =left= and
2324 =right= to switch the agenda view forward an backward through
2325 time.  However, many people found this confusing, and others
2326 wanted to be able to do cursor motion in the agenda, for example
2327 to select text.  Therefore, after an extensive discussion on
2328 =emacs-orgmode@gnu.org=, it was decided to use the =b= and 
2329 =f= keys instead, and to let the cursor keys do cursor motion
2330 again.
2332 *** Agenda follow mode is now on the =F= key
2334 This was necessary to free up the =f= key, see above.
2336 ** Details
2338 *** Maintenance
2340 **** New command to submit a bug report
2342 There is now a special command =M-x org-submit-bug-report=.  This
2343 command will create a mail buffer with lots of useful details.
2344 In particular, it contains complete version information for Emacs
2345 and Org-mode.  It will also (if you agree to it) contain all
2346 non-standard settings of org-mode and outline-mode related
2347 variables.  Even if you do not sent your emails from within
2348 Emacs, please still use this command to generate the information
2349 and then copy it into your mail program.
2351 The command will not generate and include a =*Backtrace*= buffer,
2352 please do this yourself if you have hit an error.  For more
2353 information, see the [[http://orgmode.org/manual/Feedback.html#Feedback][feedback section]] of the manual.
2355 **** New contributed package org-track.el
2357 This package allows to keep up-to-date with current Org
2358 development, using only Emacs on-board means.  So if you don't
2359 want or cannot use =git=, but still want to run the latest and
2360 hottest Org-mode, this is for you.
2362 Thanks to Sebastian Rose for this contribution.
2364 *** Agenda
2366 **** Agenda now uses =f= and =b= to move through time
2368 Up to now, the Org-mode agenda used the cursor keys =left= and
2369 =right= to switch the agenda view forward an backward through
2370 time.  However, many people found this confusing, and others
2371 wanted to be able to do cursor motion in the agenda, for example
2372 to select text.  Therefore, after an extensive discussion on
2373 =emacs-orgmode@gnu.org=, it was decided to use the =b= and 
2374 =f= keys instead, and to let the cursor keys do cursor motion
2375 again.
2377 **** Agenda follow mode is now on the =F= key
2379 This was necessary to free up the =f= key, see above.
2381 **** The agenda can be put into a dedicated frame
2383 When the variable =org-agenda-window-setup= has the value
2384 =other-frame=, then the new frame created to show the agenda
2385 will now have the window marked as /dedicated/.  As a
2386 consequence, exiting the agenda while the agenda is the only
2387 window on the frame will kill that frame.
2389 This was a request by Henry Atting.
2391 **** New mode to show some entry body text in the agenda
2393 There is now a new agenda sub-mode called
2394 =org-agenda-entry-text-mode=.  It is toggled with the =E= key.
2395 When active, all entries in the agenda will be accompanied by a
2396 few lines from the outline entry.  The amount of text can be
2397 customized with the variable =org-agenda-entry-text-maxlines=.
2399 This was a request by Anthony Fairchild, Manish, and others.
2401 **** Improve following links from the agenda
2402     
2403 =C-c C-o= in the agenda will now offer all links in the headline
2404 and text of an entry.  If there is only a single link, it will be
2405 followed immediately.
2407 **** Avoid some duplicate entries
2409 There is a new variable that can be used to avoid some duplicate
2410 agenda entries: =org-agenda-skip-scheduled-if-deadline-is-shown=
2411 If that is set, it avoids that an entry shows up in the agenda for
2412 today for both a scheduling and a deadline entry.  See the
2413 docstring of the variables for more details.
2415 This partially addresses a request by Samuel Wales. 
2417 **** Mark the running clock in the agenda.
2419 If the entry currently being clocked is present in the agenda, it
2420 will be highlighted with the face =org-agenda-clocking=.
2422 This was a request by Rainer Stengele.
2425 *** Export
2427 **** Allow LaTeX export to use the listings package
2429 The LaTeX =listings= package can now be used for formatting
2430 fontified source code in many programming languages.  For more
2431 information, see
2432 http://thread.gmane.org/gmane.emacs.orgmode/16269 and
2433 http://orgmode.org/worg/org-faq.php#fontified_source_code_w_latex
2435 Thanks to Eric Schulte for this patch.
2437 **** Remove table rows that only contain width and alignment markers
2438     
2439 The width and alignment in table columns can be set with a cookie
2440 like "<10>" or "<r>" or "<r10>".  In order to keep Org from
2441 exporting such lines, the first column of a line should contain
2442 only "/".  However, for convenience, there is now a special case:
2443 If the entire row contains only such markers, the line will
2444 automatically be discarded during export, even is the first
2445 column is not "/".
2447 **** Allow Macro calls to span several lines.
2449 Macro calls may now span several lines, to write several
2450 arguments in a cleaner way.  The result of a macro call can also
2451 span several lines, by inserting the string "\n" (backslash
2452 followed by n) into the value in the macro definition.
2454 These were requests by Stefan Vollmar.
2456 *** Misc
2458 **** Quick access to all links in an entry
2460 If =C-c C-o= is called while the cursor is in a headline, but not
2461 directly on a link, then all links in the entry will be offered
2462 in a small menu.  If there is only a single link, it will be
2463 followed without a prompt.
2465 **** Visibility Cycling: Allow to show all empty lines after a headline
2466     
2467 =org-cycle-separator-lines= can now be set to a negative value,
2468 to indicate that, if the number of empty lines before a visible
2469 entry is greater than the specified number, then *all* empty
2470 lines should be shown.
2472 This was a request by "PT" whatever this means.
2474 **** Allow language names to replace some strange major mode names
2476 Sometimes a language uses a major mode which can't be guessed
2477 from it's name.  There is now a new variable =org-src-lang-modes=
2478 which can be used to map language names to major modes when this
2479 is the case.  This is used when editing a source-code 
2480 block, or when exporting fontified source-code with htmlize.
2482 Thanks to Eric Schulte for a patch to this effect.
2484 **** iswitchb support for many completion prompts
2485     
2486 This is enabled using =org-completion-use-iswitchb=, and follows
2487 the same model of usage as for ido users.
2489 Thanks to John Wiegley for a patch to this effect.
2491 **** New commands to set the effort property of an entry
2493 There is now a special command, =C-c C-x e= to set the =Effort=
2494 property of an entry.  From the agenda you can even use =e=.
2495 If you have set up allowed values for the =Effort= property, then
2496 using a prefix argument will directly select the nth allowed
2497 value.  For example, in the agenda, =5 e= will select the 5th
2498 allowed value.
2500 This was a request by Michael Gilbert
2502 **** Edit src works now better with killing buffer
2504 Thanks to Dan Davison for a patch to this effect
2507 * Older changes
2509   For older Changes, see [[file:Changes_old.org]]
2513 * COMMENT Setup
2515 #+STARTUP: showstars
2517 #+TITLE: Org-mode list of user-visible changes
2518 #+AUTHOR:  Carsten Dominik
2519 #+EMAIL:  carsten at orgmode dot org
2520 #+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} *:t TeX:t LaTeX:nil f:nil
2521 #+INFOJS_OPT: view:info toc:1 path:org-info.js tdepth:2 ftoc:t
2522 #+LINK_UP: index.html
2523 #+LINK_HOME: http://orgmode.org