1 ORG NEWS -- history of user-visible changes. -*- org -*-
3 #+LINK: doc http://orgmode.org/worg/doc.html#%s
4 #+LINK: git http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=%s
6 Copyright (C) 2012-2015 Free Software Foundation, Inc.
7 See the end of the file for license conditions.
9 Please send Org bug reports to mailto:emacs-orgmode@gnu.org.
14 ~org-lint~ can check syntax and report common issues in Org documents.
15 *** New option ~date-tree-last~ for ~org-agenda-insert-diary-strategy~
16 When ~org-agenda-insert-diary-strategy~ is set to ~date-tree-last~, diary
17 entries are added to last in the date tree.
18 *** New option ~org-export-with-broken-links~
19 This option tells the export process how to behave when encountering
20 a broken internal link. See its docstring for more information.
22 ~\vbar~ or ~\vbar{}~ will be exported unconditionnally as a =|=,
23 unlike to existing ~\vert~, which is expanded as ~|~ when using
24 a HTML derived export back-end.
25 *** Babel: support for Stan language
26 New ob-stan.el library.
28 Evaluating a Stan block can produce two different results.
30 1. Dump the source code contents to a file.
32 This file can then be used as a variable in other blocks, which
33 allows interfaces like RStan to use the model.
35 2. Compile the contents to a model file.
37 This provides access to the CmdStan interface. To use this, set
38 ~org-babel-stan-cmdstan-directory~ and provide a ~:file~ argument
39 that does not end in ".stan".
41 For more information and usage examples, visit
42 http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-stan.html
43 *** New =#+latex_compiler= keyword to set LaTeX compiler.
44 PDFLaTeX, XeLaTeX, and LuaLaTeX are supported. See the manual for
46 *** org-bbdb-anniversaries-future
47 Used like org-bbdb-anniversaries, it provides a few days warning
48 for upcoming anniversaries (default: 7 days).
50 ~org-show-children~ is a faster implementation of
51 ~outline-show-children~.
53 *** ~org-agenda-todayp~ is deprecated.
54 Use ~org-agenda-today-p~ instead.
55 *** ~org-element-remove-indentation~ is deprecated.
56 Use ~org-remove-indentation~ instead.
57 *** ~org-babel-get-header~ is removed.
58 Use ~org-babel--get-vars~ or ~assq~ instead.
60 *** Remove ~org-list-empty-line-terminates-plain-lists~
61 Two consecutive blank lines always terminate all levels of current
63 *** ~fixltx2e~ is removed from ~org-latex-default-packages-alist~
64 fixltx2e is obsolete, see LaTeX News 22.
66 *** Beamer export back-ends uses ~org-latex-prefer-user-labels~
67 *** ~:preparation-function~ called earlier during publishing
68 Functions in this list are called before any file is associated to the
69 current projet. Thus, they can be used to generate to be published
71 *** Function ~org-remove-indentation~ changes.
72 The new algorithm doesn't remove TAB characters not used for
76 ** Incompatible changes
78 *** Properties drawers syntax changes
80 Properties drawers are now required to be located right after a
81 headline and its planning line, when applicable.
83 It will break some documents as TODO states changes were sometimes
84 logged before the property drawer.
86 The following function will repair them:
88 #+BEGIN_SRC emacs-lisp
89 (defun org-repair-property-drawers ()
90 "Fix properties drawers in current buffer.
91 Ignore non Org buffers."
92 (when (eq major-mode 'org-mode)
94 (goto-char (point-min))
95 (let ((case-fold-search t)
96 (inline-re (and (featurep 'org-inlinetask)
97 (concat (org-inlinetask-outline-regexp)
101 (unless (and inline-re (org-looking-at-p inline-re))
103 (let ((end (save-excursion (outline-next-heading) (point))))
105 (when (org-looking-at-p org-planning-line-re) (forward-line))
106 (when (and (< (point) end)
107 (not (org-looking-at-p org-property-drawer-re))
109 (and (re-search-forward org-property-drawer-re end t)
110 (eq (org-element-type
111 (save-match-data (org-element-at-point)))
113 (insert (delete-and-extract-region
115 (min (1+ (match-end 0)) end)))
116 (unless (bolp) (insert "\n"))))))))))))
119 *** Using "COMMENT" is now equivalent to commenting with "#"
121 If you used "COMMENT" in headlines to prevent a subtree from being
122 exported, you can still do it but all information within the subtree
123 is now commented out, i.e. no #+OPTIONS line will be parsed or taken
124 into account when exporting.
126 If you want to exclude a headline from export while using its contents
127 for setting options, use =:noexport:= (see =org-export-exclude-tags=.)
129 *** =#+CATEGORY= keywords no longer apply partially to document
131 It was possible to use several such keywords and have them apply to
132 the text below until the next one, but strongly deprecated since Org
135 =#+CATEGORY= keywords are now global to the document. You can use node
136 properties to set category for a subtree, e.g.,
141 :CATEGORY: some category
145 *** New variable to control visibility when revealing a location
147 ~org-show-following-heading~, ~org-show-siblings~, ~org-show-entry-below~
148 and ~org-show-hierarchy-above~ no longer exist. Instead, visibility is
149 controlled through a single variable: ~org-show-context-detail~, which
152 *** Replace disputed keys again when reading a date
154 ~org-replace-disputed-keys~ has been ignored when reading date since
155 version 8.1, but the former behavior is restored again.
157 Keybinding for reading date can be customized with a new variable
158 ~org-read-date-minibuffer-local-map~.
160 *** No default title is provided when =TITLE= keyword is missing
162 Skipping =TITLE= keyword no longer provides the current file name, or
163 buffer name, as the title. Instead, simply ignore the title.
165 *** Default bindings of =C-c C-n= and =C-c C-p= changed
167 The key sequences =C-c C-n= and =C-c C-p= are now bound to
168 ~org-next-visible-heading~ and ~org-next-visible-heading~ respectively,
169 rather than the =outline-mode= versions of these functions. The Org
170 version of these functions skips over inline tasks (and even-level
171 headlines when ~org-odd-levels-only~ is set).
173 *** ~org-element-context~ no longer return objects in keywords
175 ~org-element-context~ used to return objects on some keywords, i.e.,
176 =TITLE=, =DATE= and =AUTHOR=. It now returns only the keyword.
178 *** ~org-timer-default-timer~ type changed from number to string
180 If you have, in your configuration, something like =(setq
181 org-timer-default-timer 10)= replace it with =(setq
182 org-timer-default-timer "10")=.
184 *** Functions signature changes
186 The following functions require an additional argument. See their
187 docstring for more information.
189 - ~org-export-collect-footnote-definitions~
190 - ~org-html-format-headline-function~
191 - ~org-html-format-inlinetask-function~
192 - ~org-latex-format-headline-function~
193 - ~org-latex-format-inlinetask-function~
197 *** Behavior of ~org-return~ changed
199 If point is before or after the headline title, insert a new line
200 without changing the headline.
202 *** Hierarchies of tags
203 The functionality of nesting tags in hierarchies is added to org-mode.
204 This is the generalization of what was previously called "Tag groups"
205 in the manual. That term is now changed to "Tag hierarchy".
207 The following in-buffer definition:
209 ,#+TAGS: [ Group : SubOne SubTwo ]
210 ,#+TAGS: [ SubOne : SubOne1 SubOne2 ]
211 ,#+TAGS: [ SubTwo : SubTwo1 SubTwo2 ]
214 Should be seen as the following tree of tags:
223 Searching for "Group" should return all tags defined above. Filtering
224 on SubOne filters also it's sub-tags. Etc.
226 There is no limit on the depth for the tag hierarchy.
228 *** Additional syntax for non-unique grouptags
229 Additional syntax is defined for grouptags if the tags in the group
230 don't have to be distinct on a heading.
232 Grouptags had to previously be defined with { }. This syntax is
233 already used for exclusive tags and Grouptags need their own,
234 non-exclusive syntax. This behaviour is achieved with [ ]. Note: {
235 } can still be used also for Grouptags but then only one of the
236 given tags can be used on the headline at the same time. Example:
238 [ group : sub1 sub2 ]
244 This is a more general case than the already existing syntax for
247 *** Define regular expression patterns as tags
248 Tags can be defined as grouptags with regular expressions as
251 The regular expressions in the group must be marked up within { }.
254 : #+TAGS: [ Project : {P@.+} ]
256 Searching for the tag Project will now list all tags also including
257 regular expression matches for P@.+. Good for example if tags for a
258 certain project is tagged with a common project-identifier,
261 *** Filtering in the agenda on grouptags (Tag hierarchies)
262 Filtering in the agenda on grouptags filter all of the related tags.
263 Exception if filter is applied with a (double) prefix-argument.
265 Filtering in the agenda on subcategories does not filter the "above"
268 If a grouptag contains a regular expression the regular expression
269 is also used as a filter.
271 *** Minor refactoring of ~org-agenda-filter-by-tag~
272 Now uses the argument arg and optional argument exclude instead of
273 strip and narrow. ARG because the argument has multiple purposes and
274 makes more sense than strip now. The term narrowing is changed to
277 The main purpose is for the function to make more logical sense when
278 filtering on tags now when tags can be structured in hierarchies.
280 *** Babel: support for sed scripts
282 Thanks to Bjarte Johansen for this feature.
284 *** Babel: support for Processing language
286 New ob-processing.el library.
288 This library implements necessary functions for implementing editing
289 of Processing code blocks, viewing the resulting sketches in an
290 external viewer, and HTML export of the sketches.
292 Check the documentation for more.
294 Thanks to Jarmo Hurri for this feature.
296 *** New behaviour for `org-toggle-latex-fragment'
297 The new behaviour is the following:
299 - With a double prefix argument or with a single prefix argument
300 when point is before the first headline, toggle overlays in the
303 - With a single prefix argument, toggle overlays in the current
306 - On latex code, toggle overlay at point;
308 - Otherwise, toggle overlays in the current section.
310 *** Additional markup with =#+INCLUDE= keyword
312 The content of the included file can now be optionally marked up, for
313 instance as HTML. See the documentation for details.
315 *** File links with =#+INCLUDE= keyword
317 Objects can be extracted via =#+INCLUDE= using file links. It is
318 possible to include only the contents of the object. See manual for
321 *** Drawers do not need anymore to be referenced in =#+DRAWERS=
323 One can use a drawer without listing it in the =#+DRAWERS= keyword,
324 which is now obsolete. As a consequence, this change also deprecates
325 ~org-drawers~ variable.
327 *** ~org-edit-special~ can edit export blocks
329 Using C-c ' on an export block now opens a sub-editing buffer. Major
330 mode in that buffer is determined by export backend name (e.g.,
331 "latex" \to "latex-mode"). You can define exceptions to this rule by
332 configuring ~org-src-lang-modes~, which see.
334 *** Additional =:hline= processing to ob-shell
336 If the argument =:hlines yes= is present in a babel call, an optional
337 argument =:hlines-string= can be used to define a string to use as a
338 representation for the lisp symbol ='hline= in the shell program. The
341 *** Markdown export supports switches in source blocks
343 For example, it is now possible to number lines using the =-n= switch
346 *** New option in ASCII export
348 Plain lists can have an extra margin by setting
349 ~org-ascii-list-margin~ variable to an appopriate integer.
351 *** New blocks in ASCII export
353 ASCII export now supports =#+BEGIN_JUSTIFYRIGHT= and
354 =#+BEGIN_JUSTIFYLEFT= blocks. See documentation for details.
356 *** More back-end specific publishing options
358 The number of publishing options specific to each back-end has been
359 increased. See manual for details.
361 *** Export inline source blocks
363 Inline source code was used to be removed upon exporting. They are
364 now handled as standard code blocks, i.e., the source code can appear
365 in the output, depending on the parameters.
367 *** Extend ~org-export-first-sibling-p~ and ~org-export-last-sibling-p~
369 These functions now support any element or object, not only headlines.
371 *** New function: ~org-export-table-row-in-header-p~
373 *** New function: ~org-export-get-reference~
375 *** New function: ~org-element-lineage~
377 This function deprecates ~org-export-get-genealogy~. It also provides
378 more features. See docstring for details.
380 *** New function: ~org-element-copy~
382 *** New filter: ~org-export-filter-body-functions~
384 Functions in this filter are applied on the body of the exported
385 document, befor wrapping it within the template.
387 *** New :environment parameter when exporting example blocks to LaTeX
389 : #+ATTR_LATEX: :environment myverbatim
391 : This sentence is false.
394 will be exported using =@samp(myverbatim)= instead of =@samp(verbatim)=.
396 *** Various improvements on radio tables
398 Radio tables feature now relies on Org's export framework ("ox.el").
399 ~:no-escape~ parameter no longer exists, but additional global
400 parameters are now supported: ~:raw~, ~:backend~. Moreover, there are
401 new parameters specific to some pre-defined translators, e.g.,
402 ~:environment~ and ~:booktabs~ for ~orgtbl-to-latex~. See translators
403 docstrings (including ~orgtbl-to-generic~) for details.
405 *** Non-floating minted listings in Latex export
407 It is not possible to specify =#+attr_latex: :float nil= in conjunction with
408 source blocks exported by the minted package.
410 *** Field formulas can now create columns as needed
412 Previously, evaluating formulas that referenced out-of-bounds columns
413 would throw an error. A new variable
414 ~org-table-formula-create-columns~ was added to adjust this
415 behavior. It is now possible to silently add new columns, to do so
416 with a warning or to explicitly ask the user each time.
420 Ability to plot values in a column through ASCII-art bars. See manual
423 *** New hook: ~org-archive-hook~
425 This hook is called after successfully archiving a subtree, with point
426 on the original subtree, not yet deleted.
428 *** New option: ~org-attach-archive-delete~
430 When non-nil, attachments from archived subtrees are removed.
432 *** New option: ~org-latex-caption-above~
434 This variable generalizes ~org-latex-table-caption-above~, which is
435 now deprecated. In addition to tables, it applies to source blocks,
436 special blocks and images. See docstring for more information.
438 *** New option: ~org-latex-prefer-user-labels~
440 See docstring for more information.
442 *** Export unnumbered headlines
444 Headlines, for which the property ~UNNUMBERED~ is non-nil, are now
445 exported without section numbers irrespective of their levels. The
446 property is inherited by children.
448 *** Tables can be sorted with an arbitrary function
450 It is now possible to specify a function, both programatically,
451 through a new optional argument, and interactively with ~f~ or ~F~
452 keys, to sort a table.
454 *** Table of contents can be local to a section
456 The ~TOC~ keywords now accepts an optional ~local~ parameter. See
459 *** Countdown timers can now be paused
461 ~org-timer-pause-time~ now pauses and restarts both relative and
464 *** New option ~only-window~ for ~org-agenda-window-setup~
466 When ~org-agenda-window-setup~ is set to ~only-window~, the agenda is
467 displayed as the sole window of the current frame.
469 *** ~{{{date}}}~ macro supports optional formatting argument
471 It is now possible to supply and optional formatting argument to
472 ~{{{date}}}~. See manual for details.
474 *** ~{{{property}}}~ macro supports optional search argument
476 It is now possible to supply an optional search option to
477 ~{{{property}}}~ in order to retrieve remote properties optional. See
480 *** New option ~org-export-with-title~
482 It is possible to suppress the title insertion with ~#+OPTIONS:
483 title:nil~ or globally using the variable ~org-export-with-title~.
485 *** New entities family: "\_ "
487 "\_ " are used to insert up to 20 contiguous spaces in various
488 back-ends. In particular, this family can be used to introduce
489 leading spaces within table cells.
491 *** New MathJax configuration options
493 Org uses the MathJax CDN by default. See the manual and the docstring
494 of ~org-html-mathjax-options~ for details.
496 *** New behaviour in `org-export-options-alist'
498 When defining a back-end, it is now possible to specify to give
499 `parse' behaviour on a keyword. It is equivalent to call
500 `org-element-parse-secondary-string' on the value.
502 However, parsed =KEYWORD= is automatically associated to an
503 =:EXPORT_KEYWORD:= property, which can be used to override the keyword
504 value during a subtree export. Moreover, macros are expanded in such
505 keywords and properties.
507 *** Viewport support in html export
509 Viewport for mobile-optimized website is now automatically inserted
510 when exporting to html. See ~org-html-viewport~ for details.
512 *** New ~#+SUBTITLE~ export keyword
514 Org can typeset a subtitle in some export backends. See the manual
517 *** Remotely edit a footnote definition
519 Calling ~org-edit-footnote-reference~ (C-c ') on a footnote reference
520 allows to edit its definition, as long as it is not anonymous, in
521 a dedicated buffer. It works even if buffer is currently narrowed.
523 *** New function ~org-delete-indentation~ bound to ~M-^~
525 Work as ~delete-indentation~ unless at heading, in which case text is
526 added to headline text.
528 *** Support for images in Texinfo export
530 ~Texinfo~ back-end now handles images. See manual for details.
532 *** Support for captions in Texinfo export
534 Tables and source blocks can now have captions. Additionally, lists
535 of tables and lists of listings can be inserted in the document with
538 *** Countdown timer support hh:mm:ss format
540 In addition to setting countdown timers in minutes, they can also be
541 set using the hh:mm:ss format.
543 *** Extend ~org-clone-subtree-with-time-shift~
545 ~org-clone-subtree-with-time-shift~ now accepts 0 as an argument for
546 the number of clones, which removes the repeater from the original
547 subtree and creates one shifted, repeating clone.
549 *** New time block for clock tables: ~untilnow~
551 It encompasses all past closed clocks.
553 *** Support for the ~polyglossia~ LaTeX package
555 See the docstring of ~org-latex-classes~ and
556 ~org-latex-guess-polyglossia-language~ for details.
558 *** None-floating tables, graphics and blocks can have captions
560 *** `org-insert-heading' can be forced to insert top-level headline
564 *** Removed function ~org-translate-time~
566 Use ~org-timestamp-translate~ instead.
568 *** Removed function ~org-beamer-insert-options-template~
570 This function inserted a Beamer specific template at point or in
571 current subtree. Use ~org-export-insert-default-template~ instead, as
572 it provides more features and covers all export back-ends. It is also
573 accessible from the export dispatcher.
575 *** Removed function ~org-timer-cancel-timer~
577 ~org-timer-stop~ now stops both relative and countdown timers.
579 *** Removed function ~org-export-solidify-link-text~
581 This function, being non-bijective, introduced bug in internal
582 references. Use ~org-export-get-reference~ instead.
584 *** Removed function ~org-end-of-meta-data-and-drawers~
586 The function is superseded by ~org-end-of-meta-data~, called with an
589 *** Removed functions ~org-table-colgroup-line-p~, ~org-table-cookie-line-p~
591 These functions were left-over from pre 8.0 era. They are not correct
592 anymore. Since they are not needed, they have no replacement.
595 *** ~org-list-empty-line-terminates-plain-lists~ is deprecated
597 It will be kept in code base until next release, for backward
600 If you need to separate consecutive lists with blank lines, always use
601 two of them, as if this option was nil (default value).
603 *** ~org-export-with-creator~ is a boolean
605 Special ~comment~ value is no longer allowed. It is possible to use a
606 body filter to add comments about the creator at the end of the
609 *** Removed option =org-html-use-unicode-chars=
611 Setting this to non-nil was problematic as it converted characters
612 everywhere in the buffer, possibly corrupting URLs.
614 *** Removed option =org-babel-sh-command=
616 This undocumented option defaulted to the value of =shell-file-name=
617 at the time of loading =ob-shell=. The new behaviour is to use the
618 value of =shell-file-name= directly when the shell langage is =shell=.
619 To chose a different shell, either customize =shell-file-name= or bind
620 this variable locally.
622 *** Removed option =org-babel-sh-var-quote-fmt=
624 This undocumented option was supposed to provide different quoting
625 styles when changing the shell type. Changing the shell type can now
626 be done directly from the source block and the quoting style has to be
627 compatible across all shells, so a customization doesn't make sense
628 anymore. The chosen hard coded quoting style conforms to POSIX.
630 *** Removed option ~org-insert-labeled-timestamps-at-point~
632 Setting this option to anything else that the default value (nil)
633 would create invalid planning info. This dangerous option is now
636 *** Removed option ~org-koma-letter-use-title~
638 Use org-export-with-title instead. See also below.
640 *** Removed option ~org-entities-ascii-explanatory~
642 This variable has no effect since Org 8.0.
644 *** Removed option ~org-table-error-on-row-ref-crossing-hline~
646 This variable has no effect since August 2009.
648 *** Removed MathML-related options from ~org-html-mathjax-options~
650 MathJax automatically chooses the best display technology based on the
651 end-users browser. You may force initial usage of MathML via
652 ~org-html-mathjax-template~ or by setting the ~path~ property of
653 ~org-html-mathjax-options~.
655 *** Removed comment-related filters
657 ~org-export-filter-comment-functions~ and
658 ~org-export-filter-comment-block-functions~ variables do not exist
662 *** Strip all meta data from ITEM special property
664 ITEM special property does not contain TODO, priority or tags anymore.
666 *** File names in links accept are now compatible with URI syntax
668 Absolute file names can now start with =///= in addition to =/=. E.g.,
669 =[[file:///home/me/unicorn.jpg]]=.
671 *** Footnotes in included files are now local to the file
673 As a consequence, it is possible to include multiple Org files with
674 footnotes in a master document without being concerned about footnote
677 *** Mailto links now use regular URI syntax
679 This change deprecates old Org syntax for mailto links:
680 =mailto:user@domain::Subject=.
682 *** =QUOTE= keywords do not exist anymore
684 =QUOTE= keywords have been deprecated since Org 8.2.
686 *** Select tests to perform with the build system
688 The build system has been enhanced to allow test selection with a
689 regular expression by defining =BTEST_RE= during the test invocation.
690 This is especially useful during bisection to find just when a
691 particular test failure was introduced.
693 *** Exact heading search for external links ignore spaces and cookies
695 Exact heading search for links now ignore spaces and cookies. This is
696 the case for links of the form ~file:projects.org::*task title~, as
697 well as links of the form ~file:projects.org::some words~
698 when ~org-link-search-must-match-exact-headline~ is not nil.
700 *** ~org-latex-hyperref-template~, ~org-latex-title-command~ formatting
702 New formatting keys are supported. See the respective docstrings.
703 Note, ~org-latex-hyperref-template~ has a new default value.
705 *** ~float, wasysym, marvosym~ are removed from ~org-latex-default-packages-alist~
707 If you require any of these package add them to your preamble via
708 ~org-latex-packages-alist~. Org also uses default LaTeX ~\tolerance~
711 *** When exporting, throw an error on unresolved id/fuzzy links and code refs
713 This helps spotting wrong links.
716 ** Incompatible changes
717 *** =ob-sh.el= renamed to =ob-shell=
718 This may require two changes in user config.
720 1. In =org-babel-do-load-languages=, change =(sh . t)= to =(shell . t)=.
721 2. Edit =local.mk= files to change the value of =BTEST_OB_LANGUAGES=
722 to remove "sh" and include "shell".
724 *** Combine org-mac-message.el and org-mac-link-grabber into org-mac-link.el
726 Please remove calls to =(require 'org-mac-message)= and =(require
727 'org-mac-link-grabber)= in your =.emacs= initialization file. All you
728 need now is =(require 'org-mac-link)=.
730 Additionally, replace any calls to =ogml-grab-link= to
731 =org-mac-grab-link=. For example, replace this line:
733 : (define-key org-mode-map (kbd "C-c g") 'omgl-grab-link)
737 : (define-key org-mode-map (kbd "C-c g") 'org-mac-grab-link)
739 *** HTML export: Replace =HTML_HTML5_FANCY= by =:html-html5-fancy= (...)
741 Some of the HTML specific export options in Org <8.1 are either nil or
742 t, like =#+HTML_INCLUDE_STYLE=. We replaced these binary options with
743 option keywords like :html-include-style.
745 So you need to replace
747 : #+HTML_INCLUDE_STYLE: t
751 : #+OPTIONS: :html-include-style t
753 Options affected by this change: =HTML5_FANCY=, =HTML_INCLUDE_SCRIPTS=
754 and =HTML_INCLUDE_STYLE=.
756 *** Add an argument to ~org-export-to-file~ and ~org-export-to-buffer~
758 ~org-export-to-file~ and ~org-export-to-file~ can run in a different
759 process when provided a non-nil =ASYNC= optional argument, without
760 relying on ~org-export-async-start~ macro.
762 Since =ASYNC= is the first of optional arguments, you have to shift
763 the other optional arguments accordingly.
765 *** Export back-ends are now structures
767 Export back-ends are now structures, and stored as such in the
768 communication channel during an export process. In other words, from
769 now on, ~(plist-get info :back-end)~ will return a structure instead
772 Arguments in hooks and in filters are still symbols, though.
774 ** Important bugfixes
776 *** [[doc:org-insert-heading][org-insert-heading]] has been rewritten and bugs are now fixed
777 *** The replacement of disputed keys is now turned of when reading a date
779 *** Match string for sparse trees can now contain a slash in a property value
781 You can now have searches like SOMEPROP="aaa/bbb". Until now,
782 this would break because the slash would be interpreted as the
783 separator starting a TOTO match string.
786 *** =C-c ^ x= will now sort checklist items by their checked status
788 See [[doc:org-sort-list][org-sort-list]]: hitting =C-c ^ x= will put checked items at the end
790 *** Various LaTeX export enhancements
793 - Support for .pgf files
794 - LaTeX Babel blocks can now be exported as =.tikz= files
795 - Allow =latexmk= as an option for [[doc:org-latex-pdf-process][org-latex-pdf-process]]
796 - When using =\usepackage[AUTO]{babel}=, AUTO will automatically be
797 replaced with a value compatible with ~org-export-default-language~
798 or ~LANGUAGE~ keyword.
799 - The dependency on the =latexsym= LaTeX package has been removed, we
800 now use =amssymb= symbols by default instead.
802 *** New functions for paragraph motion
804 The commands =C-down= and =C-up= now invoke special commands
805 that use knowledge from the org-elements parser to move the cursor
806 in a paragraph-like way.
808 *** New entities in =org-entities.el=
810 Add support for ell, imath, jmath, varphi, varpi, aleph, gimel, beth,
811 dalet, cdots, S (§), dag, ddag, colon, therefore, because, triangleq,
812 leq, geq, lessgtr, lesseqgtr, ll, lll, gg, ggg, prec, preceq,
813 preccurlyeq, succ, succeq, succurlyeq, setminus, nexist(s), mho,
814 check, frown, diamond. Changes loz, vert, checkmark, smile and tilde.
816 *** Anonymous export back-ends
818 ~org-export-create-backend~ can create anonymous export back-ends,
819 which can then be passed to export functions like
820 ~org-export-to-file~, ~org-export-to-buffer~ or ~org-export-as~.
822 It allows for quick translation of Org syntax without the overhead of
823 registering a new back-end.
825 *** New agenda fortnight view
827 The agenda has not, in addition to day, week, month, and year
828 views, also a fortnight view covering 14 days.
831 *** New option [[doc:org-bookmark-names-plist][org-bookmark-names-plist]]
833 This allows to specify the names of automatic bookmarks.
834 *** New option [[doc:org-agenda-ignore-drawer-properties][org-agenda-ignore-drawer-properties]]
836 This allows more flexibility when optimizing the agenda generation.
837 See http://orgmode.org/worg/agenda-optimization.html for details.
838 *** New option: [[doc:org-html-link-use-abs-url][org-html-link-use-abs-url]] to force using absolute URLs
840 This is an export/publishing option, and should be used either within
841 the =#+OPTIONS= line(s) or within a [[doc:org-publish-project-alist][org-publish-project-alist]].
843 Setting this option to =t= is needed when the HTML output does not
844 allow relative URLs. For example, the =contrib/lisp/ox-rss.el=
845 library produces a RSS feed, and RSS feeds need to use absolute URLs,
846 so a combination of =:html-link-home "..." and :html-link-use-abs-url
847 t= is required---see the configuration example in the comment section
850 *** New option [[doc:org-babel-ditaa-java-cmd][org-babel-ditaa-java-cmd]]
852 This makes java executable configurable for ditaa blocks.
854 *** New options [[doc:org-babel-latex-htlatex][org-babel-latex-htlatex]] and [[doc:org-babel-latex-htlatex-packages][org-babel-latex-htlatex-packages]]
856 This enables SVG generation from latex code blocks.
858 *** New option: [[doc:org-habit-show-done-always-green][org-habit-show-done-always-green]]
860 See [[http://lists.gnu.org/archive/html/emacs-orgmode/2013-05/msg00214.html][this message]] from Max Mikhanosha.
862 *** New option: [[doc:org-babel-inline-result-wrap][org-babel-inline-result-wrap]]
864 If you set this to the following
866 : (setq org-babel-inline-result-wrap "$%s$")
868 then inline code snippets will be wrapped into the formatting string.
870 *** New option: [[doc:org-special-ctrl-o][org-special-ctrl-o]]
872 This variable can be used to turn off the special behavior of
874 ** New contributed packages
876 - =ox-bibtex.el= by Nicolas Goaziou :: an utility to handle BibTeX
877 export to both LaTeX and HTML exports. It uses the [[http://www.lri.fr/~filliatr/bibtex2html/][bibtex2html]]
880 - =org-screenshot.el= by Max Mikhanosha :: an utility to handle
881 screenshots easily from Org, using the external tool [[http://freecode.com/projects/scrot][scrot]].
885 *** "QUOTE" keywords in headlines are deprecated
887 "QUOTE" keywords are an undocumented feature in Org. When a headline
888 starts with the keyword "QUOTE", its contents are parsed as
889 a ~quote-section~ and treated as an example block. You can achieve
890 the same with example blocks.
892 This feature is deprecated and will be removed in the next Org
899 Installation instructions have been updated and simplified.
901 If you have troubles installing or updating Org, focus on these
904 - when updating via a =.zip/.tar.gz= file, you only need to set the
905 =load-path= in your =.emacs=. Set it before any other Org
906 customization that would call autoloaded Org functions.
908 - when updating by pulling Org's Git repository, make sure to create the
909 correct autoloads. You can do this by running =~$ make autoloads= (to
910 only create the autoloads) or by running =~$ make= (to also compile
911 the Emacs lisp files.) =~$ make help= and =~$ make helpall= gives you
912 detailed explanations.
914 - when updating through ELPA (either from GNU ELPA or from Org ELPA),
915 you have to install Org's ELPA package in a session where no Org
916 function has been called already.
918 When in doubt, run =M-x org-version RET= and see if you have a mixed-up
921 See http://orgmode.org/org.html#Installation for details.
923 ** Incompatible changes
925 Org 8.0 is the most disruptive major version of Org.
927 If you configured export options, you will have to update some of them.
929 If you used =#+ATTR_*= keywords, the syntax of the attributes changed and
930 you will have to update them.
932 Below is a list of changes for which you need to take action.
934 See http://orgmode.org/worg/org-8.0.html for the most recent version of
935 this list and for detailed instructions on how to migrate.
937 **** New export engine
939 Org 8.0 comes with a new export engine written by Nicolas Goaziou. This
940 export engine relies on ~org-element.el~ (Org's syntax parser), which was
941 already in Org's core. This new export engine triggered the rewriting of
942 /all/ export back-ends.
944 The most visible change is the export dispatcher, accessible through the
945 keybinding =C-c C-e=. By default, this menu only shows some of the
946 built-in export formats, but you can add more formats by loading them
947 directly (e.g., =(require 'ox-texinfo)= or by configuring the option
948 [[doc:org-export-backends][org-export-backends]].
950 More contributed back-ends are available from the =contrib/= directory, the
951 corresponding files start with the =ox-= prefix.
953 If you customized an export back-end (like HTML or LaTeX), you will need to
954 rename some options so that your customization is not lost. Typically, an
955 option starting with =org-export-html-= is now named =org-html-=. See the
956 manual for details and check [[http://orgmode.org/worg/org-8.0.html][this Worg page]] for directions.
958 **** New syntax for #+ATTR_HTML/LaTeX/... options
960 : #+ATTR_HTML width="200px"
962 should now be written
964 : #+ATTR_HTML :width 200px
966 Keywords like =#+ATTR_HTML= and =#+ATTR_LaTeX= are defined in their
967 respective back-ends, and the list of supported parameters depends on
968 each backend. See Org's manual for details.
970 **** ~org-remember.el~ has been removed
972 You cannot use =remember.el= anymore to capture notes.
974 Support for remember templates has been obsoleted since long, it is
977 Use =M-x org-capture-import-remember-templates RET= to import your
978 remember templates into capture templates.
980 **** ~org-jsinfo.el~ has been merged into ~ox-html.el~
982 If you were requiring ~ox-jsinfo.el~ in your ~.emacs.el~ file, you
983 will have to remove this requirement from your initialization file.
985 **** Note for third-party developers
987 The name of the files for export back-end have changed: we now use the
988 prefix =ox-= for those files (like we use the =ob-= prefix for Babel
989 files.) For example ~org-html.el~ is now ~ox-html.el~.
991 If your code relies on these files, please update the names in your
994 **** Packages moved from core to contrib
996 Since packages in Org's core are meant to be part of GNU Emacs, we try
997 to be minimalist when it comes to adding files into core. For 8.0, we
998 moved some contributions into the =contrib/= directory.
1000 The rationale for deciding that these files should live in =contrib/=
1001 is either because they rely on third-party software that is not
1002 included in Emacs, or because they are not targeting a significant
1005 - org-colview-xemacs.el
1006 - org-mac-message.el
1012 Note that ~ox-freedmind.el~ has been rewritten by Jambunathan,
1013 ~org-mew.el~ has been enhanced by Tokuya Kameshima and
1014 ~ox-taskjuggler.el~ by Nicolas Goaziou and others.
1016 Also, the Taskjuggler exporter now uses TJ3 by default. John Hendy
1017 wrote [[http://orgmode.org/worg/org-tutorials/org-taskjuggler3.html][a tutorial on Worg]] for the TJ3 export.
1019 ** New packages in core
1021 *** ~ob-makefile.el~ by Eric Schulte and Thomas S. Dye
1023 =ob-makefile.el= implements Org Babel support for Makefile tangling.
1025 *** ~ox-man.el~ by Luis Anaya
1027 =ox-man.el= allows you to export Org files to =man= pages.
1029 *** ~ox-md.el~ by Nicolas Goaziou
1031 =ox-md.el= allows you to export Org files to Markdown files, using the
1032 vanilla [[http://daringfireball.net/projects/markdown/][Markdown syntax]].
1034 *** ~ox-texinfo.el~ by Jonathan Leech-Pepin
1036 =ox-texinfo.el= allows you to export Org files to [[http://www.gnu.org/software/texinfo/][Texinfo]] files.
1038 ** New packages in contrib
1040 *** ~ob-julia.el~ by G. Jay Kerns
1042 [[http://julialang.org/][Julia]] is a new programming language.
1044 =ob-julia.el= provides Org Babel support for evaluating Julia source
1047 *** ~ob-mathomatic.el~ by Luis Anaya
1049 [[http://www.mathomatic.org/][mathomatic]] a portable, command-line, educational CAS and calculator
1050 software, written entirely in the C programming language.
1052 ~ob-mathomatic.el~ provides Org Babel support for evaluating mathomatic
1055 *** ~ob-tcl.el~ by Luis Anaya
1057 ~ob-tcl.el~ provides Org Babel support for evaluating [[http://www.tcl.tk/][Tcl]] source code.
1059 *** ~org-bullets.el~ by Evgeni Sabof
1061 Display bullets instead of stars for headlines.
1063 Also see [[http://orgmode.org/worg/org-faq.html#sec-8-12][this updated FAQ]] on how to display another character than "*"
1064 for starting headlines.
1066 *** ~org-favtable.el~ by Marc-Oliver Ihm
1068 ~org-favtable.el~ helps you to create and update a table of favorite
1069 locations in org, keeping the most frequently visited lines right at
1070 the top. This table is called "favtable". See the documentation on
1071 [[http://orgmode.org/worg/org-contrib/org-favtable.html][Worg]].
1073 *** ~ox-confluence.el~ by Sébastien Delafond
1075 ~ox-confluence.el~ lets you convert Org files to [[https://confluence.atlassian.com/display/DOC/Confluence%2BWiki%2BMarkup][Confluence Wiki]] files.
1077 *** ~ox-deck.el~ and ~ox-s5.el~ by Rick Frankel
1079 [[http://imakewebthings.com/deck.js/][deck.js]] is a javascript library for displaying HTML ages as
1080 presentations. ~ox-deck.el~ exports Org files to HTML presentations
1083 [[http://meyerweb.com/eric/tools/s5/][s5]] is a set of scripts which also allows to display HTML pages as
1084 presentations. ~ox-s5.el~ exports Org files to HTML presentations
1087 *** ~ox-groff.el~ by Luis Anaya and Nicolas Goaziou
1089 The [[http://www.gnu.org/software/groff/][groff]] (GNU troff) software is a typesetting package which reads
1090 plain text mixed with formatting commands and produces formatted
1093 Luis Anaya and Nicolas Goaziou implemented ~ox-groff.el~ to allow
1094 conversion from Org files to groff.
1096 *** ~ox-koma-letter.el~ by Nicolas Goaziou and Alan Schmitt
1098 This back-end allow to export Org pages to the =KOMA Scrlttr2= format.
1100 *** ~ox-rss.el~ by Bastien
1102 This back-end lets you export Org pages to RSS 2.0 feeds. Combined
1103 with the HTML publishing feature, this allows you to build a blog
1110 **** New export generic options
1112 If you use Org exporter, we advise you to re-read [[http://orgmode.org/org.html#Exporting][the manual section about
1113 it]]. It has been updated and includes new options.
1115 Among the new/updated export options, three are of particular importance:
1117 - [[doc:org-export-allow-bind-keywords][org-export-allow-bind-keywords]] :: This option replaces the old option
1118 =org-export-allow-BIND= and the default value is =nil=, not =confirm=.
1119 You will need to explicitly set this to =t= in your initialization
1120 file if you want to allow =#+BIND= keywords.
1122 - [[doc:org-export-with-planning][org-export-with-planning]] :: This new option controls the export of
1123 =SCHEDULED:, DEADLINE:, CLOSED:= lines, and planning information is
1124 now skipped by default during export. This use to be the job of
1125 [[doc:org-export-with-timestamps][org-export-with-timestamps]], but this latter option has been given a
1126 new role: it controls the export of /standalone time-stamps/. When
1127 set to =nil=, Org will not export active and inactive time-stamps
1128 standing on a line by themselves or within a paragraph that only
1129 contains time-stamps.
1131 To check if an option has been introduced or its default value changed in
1132 Org 8.0, do =C-h v [option] RET= and check if the documentation says that
1133 the variable has been introduced (or changed) in version 24.4 of Emacs.
1135 **** Enhanced default stylesheet for the HTML exporter
1137 See the new default value of [[doc:org-html-style-default][org-html-style-default]].
1139 **** New tags, classes and ids for the HTML exporter
1141 See the new default value of [[doc:org-html-divs][org-html-divs]].
1143 **** Support for tikz pictures in LaTeX export
1144 **** ~org-man.el~: New export function for "man" links
1145 **** ~org-docview.el~: New export function for docview links
1146 *** Structure editing
1148 **** =C-u C-u M-RET= inserts a heading at the end of the parent subtree
1149 **** Cycling to the =CONTENTS= view keeps inline tasks folded
1151 [[doc:org-cycle-hook][org-cycle-hook]] as a new function [[doc:org-cycle-hide-inline-tasks][org-cycle-hide-inline-tasks]] which
1152 prevents the display of inline tasks when showing the content of a subtree.
1154 **** =C-c -= in a region makes a list item for each line
1156 This is the opposite of the previous behavior, where =C-c -= on a region
1157 would create one item for the whole region, and where =C-u C-c -= would
1158 create an item for each line. Now =C-c -= on the selected region creates
1159 an item per line, and =C-u C-c -= creates a single item for the whole
1162 **** When transposing words, markup characters are now part of the words
1164 In Emacs, you can transpose words with =M-t=. Transposing =*these*
1165 _words__= will preserve markup.
1167 **** New command [[doc:org-set-property-and-value][org-set-property-and-value]] bound to =C-c C-x P=
1169 This command allows you to quickly add both the property and its value. It
1170 is useful in buffers where there are many properties and where =C-c C-x p=
1171 can slow down the flow of editing too much.
1173 **** New commands [[doc:org-next-block][org-next-block]] and [[doc:org-previous-block][org-previous-block]]
1175 These commands allow you to go to the previous block (=C-c M-b= or the
1176 speedy key =B=) or to the next block (=C-c M-f= or the speedy key =F=.)
1178 **** New commands [[doc:org-drag-line-forward][org-drag-line-forward]] and [[doc:org-drag-line-backward][org-drag-line-backward]]
1180 These commands emulate the old behavior of =M-<down>= and =M-<up>= but are
1181 now bound to =S-M-<down>= and =S-M-<up>= respectively, since =M-<down>= and
1182 =M-<up>= now drag the whole element at point (a paragraph, a table, etc.)
1183 forward and backward.
1185 **** When a list item has a checkbox, inserting a new item uses a checkbox too
1186 **** When sorting entries/items, only the description of links is considered
1188 Now Org will sort this list
1190 : - [[http://abc.org][B]]
1191 : - [[http://def.org][A]]
1195 : - [[http://def.org][A]]
1196 : - [[http://abc.org][B]]
1198 by comparing the descriptions, not the links.
1199 Same when sorting headlines instead of list items.
1200 **** New option =orgstruct-heading-prefix-regexp=
1202 For example, setting this option to "^;;; " in Emacs lisp files and using
1203 =orgstruct-mode= in those files will allow you to cycle through visibility
1204 states as if lines starting with ";;; *..." where headlines.
1206 In general, you want to set =orgstruct-heading-prefix-regexp= as a file
1209 **** New behavior of [[doc:org-clone-subtree-with-time-shift][org-clone-subtree-with-time-shift]]
1211 The default is now to ask for a time-shift only when there is a time-stamp.
1212 When called with a universal prefix argument =C-u=, it will not ask for a
1213 time-shift even if there is a time-stamp.
1215 **** New option [[doc:org-agenda-restriction-lock-highlight-subtree][org-agenda-restriction-lock-highlight-subtree]]
1217 This defaults to =t= so that the whole subtree is highlighted when you
1218 restrict the agenda view to it with =C-c C-x <= (or the speed command =<=).
1219 The default setting helps ensuring that you are not adding tasks after the
1220 restricted region. If you find this highlighting too intrusive, set this
1222 **** New option [[doc:org-closed-keep-when-no-todo][org-closed-keep-when-no-todo]]
1224 When switching back from a =DONE= keyword to a =TODO= keyword, Org now
1225 removes the =CLOSED= planning information, if any. It also removes this
1226 information when going back to a non-TODO state (e.g., with =C-c C-t SPC=).
1227 If you want to keep the =CLOSED= planning information when removing the
1228 TODO keyword, set [[doc:org-closed-keep-when-no-todo][org-closed-keep-when-no-todo]] to =t=.
1230 **** New option [[doc:org-image-actual-width][org-image-actual-width]]
1232 This option allows you to change the width of in-buffer displayed images.
1233 The default is to use the actual width of the image, but you can use a
1234 fixed value for all images, or fall back on an attribute like
1236 : #+attr_html: :width 300px
1237 *** Scheduled/deadline
1239 **** Implement "delay" cookies for scheduled items
1241 If you want to delay the display of a scheduled task in the agenda, you can
1242 now use a delay cookie like this: =SCHEDULED: <2004-12-25 Sat -2d>=. The
1243 task is still scheduled on the 25th but will appear in your agenda starting
1244 from two days later (i.e. from March 27th.)
1246 Imagine for example that your co-workers are not done in due time and tell
1247 you "we need two more days". In that case, you may want to delay the
1248 display of the task in your agenda by two days, but you still want the task
1249 to appear as scheduled on March 25th.
1251 In case the task contains a repeater, the delay is considered to affect all
1252 occurrences; if you want the delay to only affect the first scheduled
1253 occurrence of the task, use =--2d= instead. See [[doc:org-scheduled-delay-days][org-scheduled-delay-days]]
1254 and [[doc:org-agenda-skip-scheduled-delay-if-deadline][org-agenda-skip-scheduled-delay-if-deadline]] for details on how to
1255 control this globally or per agenda.
1257 **** Use =C-u C-u C-c C-s= will insert a delay cookie for scheduled tasks
1259 See the previous section for why delay cookies may be useful.
1261 **** Use =C-u C-u C-c C-d= will insert a warning delay for deadline tasks
1263 =C-u C-u C-c C-d= now inserts a warning delay to deadlines.
1264 *** Calendar, diary and appts
1266 **** New variable [[doc:org-read-date-minibuffer-local-map][org-read-date-minibuffer-local-map]]
1268 By default, this new local map uses "." to go to today's date, like in the
1269 normal =M-x calendar RET=. If you want to deactivate this and to reassign
1270 the "@" key to =calendar-goto-today=, use this:
1272 #+BEGIN_SRC emacs-lisp
1273 ;; Unbind "." in Org's calendar:
1274 (define-key org-read-date-minibuffer-local-map (kbd ".") nil)
1276 ;; Bind "@" to `calendar-goto-today':
1277 (define-key org-read-date-minibuffer-local-map
1279 (lambda () (interactive) (org-eval-in-calendar '(calendar-goto-today))))
1282 **** In Org's calendar, =!= displays diary entries of the date at point
1284 This is useful when you want to check if you don't already have an
1285 appointment when setting new ones with =C-c .= or =C-c s=. =!= will
1286 call =diary-view-entries= and display the diary in a separate buffer.
1288 **** [[doc:org-diary][org-diary]]: only keep the descriptions of links
1290 [[doc:org-diary][org-diary]] returns diary information from Org files, but it returns it
1291 in a diary buffer, not in an Org mode buffer. When links are displayed,
1292 only show their description, not the full links.
1295 **** New agenda type =agenda*= and entry types =:scheduled* :deadline*=
1297 When defining agenda custom commands, you can now use =agenda*=: this will
1298 list entries that have both a date and a time. This is useful when you
1299 want to build a list of appointments.
1301 You can also set [[doc:org-agenda-entry-types][org-agenda-entry-types]] either globally or locally in
1302 each agenda custom command and use =:timestamp*= and/or =:deadline*= there.
1304 Another place where this is useful is your =.diary= file:
1306 : %%(org-diary :scheduled*) ~/org/rdv.org
1308 This will list only entries from =~/org/rdv.org= that are scheduled with a
1309 time value (i.e. appointments).
1311 **** New agenda sorting strategies
1313 [[doc:org-agenda-sorting-strategy][org-agenda-sorting-strategy]] allows these new sorting strategies:
1315 | Strategy | Explanations |
1316 |----------------+------------------------------------------|
1317 | timestamp-up | Sort by any timestamp, early first |
1318 | timestamp-down | Sort by any timestamp, late first |
1319 | scheduled-up | Sort by scheduled timestamp, early first |
1320 | scheduled-down | Sort by scheduled timestamp, late first |
1321 | deadline-up | Sort by deadline timestamp, early first |
1322 | deadline-down | Sort by deadline timestamp, late first |
1323 | ts-up | Sort by active timestamp, early first |
1324 | ts-down | Sort by active timestamp, late first |
1325 | tsia-up | Sort by inactive timestamp, early first |
1326 | tsia-down | Sort by inactive timestamp, late first |
1328 **** New options to limit the number of agenda entries
1330 You can now limit the number of entries in an agenda view. This is
1331 different from filters: filters only /hide/ the entries in the agenda,
1332 while limits are set while generating the list of agenda entries.
1334 These new options are available:
1336 - [[doc:org-agenda-max-entries][org-agenda-max-entries]] :: limit by number of entries.
1337 - [[doc:org-agenda-max-todos][org-agenda-max-todos]] :: limit by number of TODOs.
1338 - [[doc:org-agenda-max-tags][org-agenda-max-tags]] :: limit by number of tagged entries.
1339 - [[doc:org-agenda-max-effort][org-agenda-max-effort]] :: limit by effort (minutes).
1341 For example, if you locally set [[doc:org-agenda-max-todos][org-agenda-max-todos]] to 3 in an agenda
1342 view, the agenda will be limited to the first three todos. Other entries
1343 without a TODO keyword or beyond the third TODO headline will be ignored.
1345 When setting a limit (e.g. about an effort's sum), the default behavior is
1346 to exclude entries that cannot be checked against (e.g. entries that have
1347 no effort property.) To include other entries too, you can set the limit
1348 to a negative number. For example =(setq org-agenda-max-tags -3)= will not
1349 show the fourth tagged headline (and beyond), but it will also show
1350 non-tagged headlines.
1352 **** =~= in agenda view sets temporary limits
1354 You can hit =~= in the agenda to temporarily set limits: this will
1355 regenerate the agenda as if the limits were set. This is useful for
1356 example when you want to only see a list of =N= tasks, or a list of tasks
1357 that take only =N= minutes.
1359 **** "=" in agenda view filters by regular expressions
1361 You can now filter agenda entries by regular expressions using ~=~. =C-u
1362 == will filter entries out. Regexp filters are cumulative. You can set
1363 [[doc:org-agenda-regexp-filter-preset][org-agenda-regexp-filter-preset]] to suit your needs in each agenda view.
1365 **** =|= in agenda view resets all filters
1367 Since it's common to combine tag filters, category filters, and now regexp
1368 filters, there is a new command =|= to reset all filters at once.
1370 **** Allow writing an agenda to an =.org= file
1372 You can now write an agenda view to an =.org= file. It copies the
1373 headlines and their content (but not subheadings) into the new file.
1375 This is useful when you want to quickly share an agenda containing the full
1378 **** New commands to drag an agenda line forward (=M-<down>=) or backward (=M-<up>=)
1380 It sometimes handy to move agenda lines around, just to quickly reorganize
1381 your tasks, or maybe before saving the agenda to a file. Now you can use
1382 =M-<down>= and =M-<up>= to move the line forward or backward.
1384 This does not persist after a refresh of the agenda, and this does not
1385 change the =.org= files who contribute to the agenda.
1387 **** Use =%b= for displaying "breadcrumbs" in the agenda view
1389 [[doc:org-agenda-prefix-format][org-agenda-prefix-format]] now allows to use a =%b= formatter to tell Org
1390 to display "breadcrumbs" in the agenda view.
1392 This is useful when you want to display the task hierarchy in your agenda.
1394 **** Use =%l= for displaying the headline's level in the agenda view
1396 [[doc:org-agenda-prefix-format][org-agenda-prefix-format]] allows to use a =%l= formatter to tell Org to
1397 display entries with additional spaces corresponding to their level in the
1400 **** [[doc:org-agenda-write][org-agenda-write]] will ask before overwriting an existing file
1402 =M-x org-agenda-write RET= (or =C-c C-w= from an agenda buffer) used to
1403 overwrite preexisting file with the same name without confirmation. It now
1404 asks for a confirmation.
1406 **** New commands =M-m= and =M-*= to toggle (all) mark(s) for bulk action
1408 - [[doc:org-agenda-bulk-toggle][org-agenda-bulk-toggle]] :: this command is bound to =M-m= and toggles
1409 the mark of the entry at point.
1411 - [[doc:org-agenda-bulk-toggle-all][org-agenda-bulk-toggle-all]] :: this command is bound to =M-*= and
1412 toggles all the marks in the current agenda.
1414 **** New option [[doc:org-agenda-search-view-max-outline-level][org-agenda-search-view-max-outline-level]]
1416 This option sets the maximum outline level to display in search view.
1417 E.g. when this is set to 1, the search view will only show headlines of
1420 **** New option [[doc:org-agenda-todo-ignore-time-comparison-use-seconds][org-agenda-todo-ignore-time-comparison-use-seconds]]
1422 This allows to compare times using seconds instead of days when honoring
1423 options like =org-agenda-todo-ignore-*= in the agenda display.
1425 **** New option [[doc:org-agenda-entry-text-leaders][org-agenda-entry-text-leaders]]
1427 This allows you to get rid of the ">" character that gets added in front of
1428 entries excerpts when hitting =E= in the agenda view.
1430 **** New formatting string for past deadlines in [[doc:org-agenda-deadline-leaders][org-agenda-deadline-leaders]]
1432 The default formatting for past deadlines is ="%2d d. ago: "=, which makes
1433 it explicit that the deadline is in the past. You can configure this via
1434 [[doc:org-agenda-deadline-leaders][org-agenda-deadline-leaders]]. Note that the width of the formatting
1435 string is important to keep the agenda alignment clean.
1437 **** New allowed value =repeated-after-deadline= for [[doc:org-agenda-skip-scheduled-if-deadline-is-shown][org-agenda-skip-scheduled-if-deadline-is-shown]]
1439 When [[doc:org-agenda-skip-scheduled-if-deadline-is-shown][org-agenda-skip-scheduled-if-deadline-is-shown]] is set to
1440 =repeated-after-deadline=, the agenda will skip scheduled items if they are
1441 repeated beyond the current deadline.
1443 **** New option for [[doc:org-agenda-skip-deadline-prewarning-if-scheduled][org-agenda-skip-deadline-prewarning-if-scheduled]]
1445 This variable may be set to nil, t, the symbol `pre-scheduled', or a number
1446 which will then give the number of days before the actual deadline when the
1447 prewarnings should resume. The symbol `pre-scheduled' eliminates the
1448 deadline prewarning only prior to the scheduled date.
1450 Read the full docstring for details.
1452 **** [[doc:org-class][org-class]] now supports holiday strings in the skip-weeks parameter
1454 For example, this task will now be skipped only on new year's day:
1457 : <%%(org-class 2012 1 1 2013 12 12 2 "New Year's Day")>
1460 **** Allow =C-1= as a prefix for [[doc:org-agenda-capture][org-agenda-capture]] and [[doc:org-capture][org-capture]]
1462 With a =C-1= prefix, the capture mechanism will use the =HH:MM= value at
1463 point (if any) or the current =HH:MM= time as the default time for the
1466 **** Expand keywords within %(sexp) placeholder in capture templates
1468 If you use a =%:keyword= construct within a =%(sexp)= construct, Org will
1469 expand the keywords before expanding the =%(sexp)=.
1471 **** Allow to contextualize capture (and agenda) commands by checking the name of the buffer
1473 [[doc:org-capture-templates-contexts][org-capture-templates-contexts]] and [[doc:org-agenda-custom-commands-contexts][org-agenda-custom-commands-contexts]]
1474 allow you to define what capture templates and what agenda commands should
1475 be available in various contexts. It is now possible for the context to
1476 check against the name of the buffer.
1479 Using =#+TAGS: { Tag1 : Tag2 Tag3 }= will define =Tag1= as a /group tag/
1480 (note the colon after =Tag1=). If you search for =Tag1=, it will return
1481 headlines containing either =Tag1=, =Tag2= or =Tag3= (or any combination
1484 You can use group tags for sparse tree in an Org buffer, for creating
1485 agenda views, and for filtering.
1487 See http://orgmode.org/org.html#Tag-groups for details.
1491 **** =C-u C-u M-x org-store-link RET= will ignore non-core link functions
1493 Org knows how to store links from Org buffers, from info files and from
1494 other Emacs buffers. Org can be taught how to store links from any buffer
1495 through new link protocols (see [[http://orgmode.org/org.html#Adding-hyperlink-types]["Adding hyperlink types"]] in the manual.)
1497 Sometimes you want Org to ignore added link protocols and store the link
1498 as if the protocol was not known.
1500 You can now do this with =C-u C-u M-x org-store-link RET=.
1502 **** =C-u C-u C-u M-x org-store-link RET= on an active region will store links for each lines
1504 Imagine for example that you want to store a link for every message in a
1505 Gnus summary buffer. In that case =C-x h C-u C-u C-u M-x org-store-link
1506 RET= will store a link for every line (i.e. message) if the region is
1509 **** =C-c C-M-l= will add a default description for links which don't have one
1511 =C-c C-M-l= inserts all stored links. If a link does not have a
1512 description, this command now adds a default one, so that we are not mixing
1513 with-description and without-description links when inserting them.
1515 **** No curly braces to bracket links within internal links
1517 When storing a link to a headline like
1519 : * See [[http://orgmode.org][Org website]]
1521 [[doc:org-store-link][org-store-link]] used to convert the square brackets into curly brackets.
1522 It does not anymore, taking the link description or the link path, when
1523 there is no description.
1526 **** Switching between #+TBLFM lines
1528 If you have several =#+TBLFM= lines below a table, =C-c C-c= on a line will
1529 apply the formulas from this line, and =C-c C-c= on another line will apply
1530 those other formulas.
1532 **** You now use "nan" for empty fields in Calc formulas
1534 If empty fields are of interest, it is recommended to reread the section
1535 [[http://orgmode.org/org.html#Formula-syntax-for-Calc][3.5.2 Formula syntax for Calc]] of the manual because the description for the
1536 mode strings has been clarified and new examples have been added towards
1539 **** Handle localized time-stamps in formulas evaluation
1541 If your =LOCALE= is set so that Org time-stamps use another language than
1542 english, and if you make time computations in Org's table, it now works by
1543 internally converting the time-stamps with a temporary =LOCALE=C= before
1546 **** New lookup functions
1548 There are now three lookup functions:
1550 - [[doc:org-loopup-first][org-loopup-first]]
1551 - [[doc:org-loopup-last][org-loopup-last]]
1552 - [[doc:org-loopup-all][org-loopup-all]]
1554 See [[http://orgmode.org/org.html#Lookup-functions][the manual]] for details.
1555 *** Startup keywords
1557 These new startup keywords are now available:
1559 | Startup keyword | Option |
1560 |----------------------------------+---------------------------------------------|
1561 | =#+STARTUP: logdrawer= | =(setq org-log-into-drawer t)= |
1562 | =#+STARTUP: nologdrawer= | =(setq org-log-into-drawer nil)= |
1563 |----------------------------------+---------------------------------------------|
1564 | =#+STARTUP: logstatesreversed= | =(setq org-log-states-order-reversed t)= |
1565 | =#+STARTUP: nologstatesreversed= | =(setq org-log-states-order-reversed nil)= |
1566 |----------------------------------+---------------------------------------------|
1567 | =#+STARTUP: latexpreview= | =(setq org-startup-with-latex-preview t)= |
1568 | =#+STARTUP: nolatexpreview= | =(setq org-startup-with-latex-preview nil)= |
1572 **** New option [[doc:org-clock-rounding-minutes][org-clock-rounding-minutes]]
1574 E.g. if [[doc:org-clock-rounding-minutes][org-clock-rounding-minutes]] is set to 5, time is 14:47 and you
1575 clock in: then the clock starts at 14:45. If you clock out within the next
1576 5 minutes, the clock line will be removed; if you clock out 8 minutes after
1577 your clocked in, the clock out time will be 14:50.
1579 **** New option [[doc:org-time-clocksum-use-effort-durations][org-time-clocksum-use-effort-durations]]
1581 When non-nil, =C-c C-x C-d= uses effort durations. E.g., by default, one
1582 day is considered to be a 8 hours effort, so a task that has been clocked
1583 for 16 hours will be displayed as during 2 days in the clock display or in
1586 See [[doc:org-effort-durations][org-effort-durations]] on how to set effort durations and
1587 [[doc:org-time-clocksum-format][org-time-clocksum-format]] for more on time clock formats.
1589 **** New option [[doc:org-clock-x11idle-program-name][org-clock-x11idle-program-name]]
1591 This allows to set the name of the program which prints X11 idle time in
1592 milliseconds. The default is to use =x11idle=.
1594 **** New option [[doc:org-use-last-clock-out-time-as-effective-time][org-use-last-clock-out-time-as-effective-time]]
1596 When non-nil, use the last clock out time for [[doc:org-todo][org-todo]]. Note that this
1597 option has precedence over the combined use of [[doc:org-use-effective-time][org-use-effective-time]] and
1598 [[doc:org-extend-today-until][org-extend-today-until]].
1600 **** =S-<left/right>= on a clocksum column will update the sum by updating the last clock
1601 **** =C-u 3 C-S-<up/down>= will update clock timestamps synchronously by 3 units
1602 **** New parameter =:wstart= for clocktables to define the week start day
1603 **** New parameter =:mstart= to state the starting day of the month
1604 **** Allow relative times in clocktable tstart and tend options
1605 **** The clocktable summary is now a caption
1606 **** =:tstart= and =:tend= and friends allow relative times like "<-1w>" or "<now>"
1609 **** You can now use =C-c C-k= for [[doc:org-edit-src-abort][org-edit-src-abort]]
1611 This allows you to quickly cancel editing a source block.
1613 **** =C-u C-u M-x org-babel-tangle RET= tangles by the target file of the block at point
1615 This is handy if you want to tangle all source code blocks that have the
1616 same target than the block at point.
1618 **** New options for auto-saving the base buffer or the source block editing buffer
1620 When [[doc:org-edit-src-turn-on-auto-save][org-edit-src-turn-on-auto-save]] is set to =t=, editing a source block
1621 in a new window will turn on =auto-save-mode= and save the code in a new
1622 file under the same directory than the base Org file.
1624 When [[doc:org-edit-src-auto-save-idle-delay][org-edit-src-auto-save-idle-delay]] is set to a number of minutes =N=,
1625 the base Org buffer will be saved after this number of minutes of idle
1628 **** New =:post= header argument post-processes results
1630 This header argument may be used to pass the results of the current
1631 code block through another code block for post-processing. See the
1632 manual for a usage example.
1634 **** Commented out heading are ignored when collecting blocks for tangling
1636 If you comment out a heading (with =C-c ;= anywhere on the heading or in
1637 the subtree), code blocks from within this heading are now ignored when
1638 collecting blocks for tangling.
1640 **** New option [[doc:org-babel-hash-show-time][org-babel-hash-show-time]] to show a time-stamp in the result hash
1641 **** Do not ask for confirmation if cached value is current
1643 Do not run [[doc:org-babel-confirm-evaluate][org-babel-confirm-evaluate]] if source block has a cache and the
1644 cache value is current as there is no evaluation involved in this case.
1645 **** =ob-sql.el= and =ob-python.el= have been improved.
1646 **** New Babel files only need to =(require 'ob)=
1648 When writing a new Babel file, you now only need to use =(require 'ob)=
1649 instead of requiring each Babel library one by one.
1652 - Org now fontifies radio link targets by default
1653 - In the agenda, use [[doc:org-todo-keyword-faces][org-todo-keyword-faces]] to highlight selected TODO keywords
1654 - New face [[doc:org-priority][org-priority]], enhanced fontification of priority cookies in agenda
1655 - New face [[doc:org-tag-group][org-tag-group]] for group tags
1659 - New speedy key =s= pour [[doc:org-narrow-to-subtree][org-narrow-to-subtree]]
1660 - Handling of [[doc:org-html-table-row][org-html-table-row]] has been updated (incompatible change)
1661 - [[doc:org-export-html-table-tag][org-export-html-table-tag]] is replaced by [[doc:org-html-table-default-attributes][org-html-table-default-attributes]]
1662 - Support using =git-annex= with Org attachments
1663 - org-protocol: Pass optional value using query in url to capture from protocol
1664 - When the refile history is empty, use the current filename as default
1665 - When you cannot change the TODO state of a task, Org displays the blocking task
1666 - New option [[doc:org-mobile-allpriorities][org-mobile-allpriorities]]
1667 - org-bibtex.el now use =visual-line-mode= instead of the deprecated =longlines-mode=
1668 - [[doc:org-format-latex-options][org-format-latex-options]] allows to set the foreground/background colors automatically
1669 - New option [[doc:org-archive-file-header-format][org-archive-file-header-format]]
1670 - New "neg" entity in [[doc:org-entities][org-entities]]
1671 - New function [[doc:org-docview-export][org-docview-export]] to export docview links
1672 - New =:eps= header argument for ditaa code blocks
1673 - New option [[doc:org-gnus-no-server][org-gnus-no-server]] to start Gnus with =gnus-no-server=
1674 - Org is now distributed with =htmlize.el= version 1.43
1675 - ~org-drill.el~ has been updated to version 2.3.7
1676 - ~org-mac-iCal.el~ now supports MacOSX version up to 10.8
1677 - Various improvements to ~org-contacts.el~ and =orgpan.el=
1681 *** Spanish translation of the Org guide by David Arroyo Menéndez
1683 David (and others) translated the Org compact guide in spanish:
1685 You can read the [[http://orgmode.org/worg/orgguide/orgguide.es.pdf][PDF guide]].
1687 *** ~poporg.el~ and ~outorg.el~
1689 Two new libraries (~poporg.el~ by François Pinard and ~outorg.el~ by
1690 Thorsten Jolitz) now enable editing of comment-sections from source-code
1691 buffers in temporary Org-mode buffers, making the full editing power of
1692 Org-mode available. ~outorg.el~ comes together with ~outshine.el~ and
1693 ~navi-mode.el~, two more libraries by Thorsten Jolitz with the goal to give
1694 source-code buffers the /look & feel/ of Org-mode buffers while greatly
1695 improving navigation and structure editing. A detailed description can be
1696 found here: http://orgmode.org/worg/org-tutorials/org-outside-org.html
1698 Here are two screencasts demonstrating Thorsten's tools:
1700 - [[http://youtu.be/nqE6YxlY0rw]["Modern conventions for Emacs Lisp files"]]
1701 - [[http://www.youtube.com/watch?v%3DII-xYw5VGFM][Exploring Bernt Hansen's Org-mode tutorial with 'navi-mode']]
1703 *** MobileOrg for iOS
1705 MobileOrg for iOS back in the App Store The 1.6.0 release was focused on
1706 the new Dropbox API and minor bug fixes but also includes a new ability to
1707 launch in Capture mode. Track development and contribute [[https://github.com/MobileOrg/mobileorg/issues][on github]].
1711 ** New option [[doc::org-agenda-use-tag-inheritance][org-agenda-use-tag-inheritance]]
1713 [[doc::org-use-tag-inheritance][org-use-tag-inheritance]] controls whether tags are inherited when
1714 org-tags-view is called (either in =tags=, =tags-tree= or =tags-todo=
1717 When generating other agenda types such as =agenda=, =todo= and
1718 =todo-tree=, tags inheritance is not used when selecting the entries
1719 to display. Still, you might want to have all tag information correct
1720 in the agenda buffer, e.g. for tag filtering. In that case, add the
1721 agenda type to this variable.
1723 Setting this variable to nil should considerably speeds up the agenda
1726 Note that the default was to display inherited tags in the agenda
1727 lines even if `org-use-tag-inheritance' was nil. The default is now
1728 to *never* display inherited tags in agenda lines, but to /know/ about
1729 them when the agenda type is listed in [[doc::org-agenda-use-tag-inheritance][org-agenda-use-tag-inheritance]].
1731 ** New default value nil for [[doc::org-agenda-dim-blocked-tasks][org-agenda-dim-blocked-tasks]]
1733 Using `nil' as the default value speeds up the agenda generation. You
1734 can hit `#' (or `C-u #') in agenda buffers to temporarily dim (or turn
1735 invisible) blocked tasks.
1737 ** New speedy keys for [[doc::org-speed-commands-default][org-speed-commands-default]]
1739 You can now use `:' (instead of `;') for setting tags---this is
1740 consistent with using the `:' key in agenda view.
1742 You can now use `=' for [[doc::org-columns][org-columns]].
1744 ** =org-float= is now obsolete, use =diary-float= instead
1745 ** No GPL manual anymore
1747 There used to be a GPL version of the Org manual, but this is not the
1748 case anymore, the Free Software Foundation does not permit this.
1750 The GNU FDL license is now included in the manual directly.
1752 ** Enhanced compatibility with Emacs 22 and XEmacs
1754 Thanks to Achim for his work on enhancing Org's compatibility with
1755 various Emacsen. Things may not be perfect, but Org should work okay
1756 in most environments.
1760 ** New ELPA repository for Org packages
1762 You can now add the Org ELPA repository like this:
1764 #+BEGIN_SRC emacs-lisp
1765 (add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)
1768 It contains both the =org-*.tar= package (the core Org distribution, also
1769 available through http://elpa.gnu.org) and the =org-plus*.tar= package (the
1770 extended Org distribution, with non-GNU packages from the =contrib/=
1773 See http://orgmode.org/elpa/
1775 ** Overview of the new keybindings
1777 | Keybinding | Speedy | Command |
1778 |-----------------+--------+-----------------------------|
1779 | =C-c C-x C-z= | | [[doc::org-clock-resolve][org-clock-resolve]] |
1780 | =C-c C-x C-q= | | [[doc::org-clock-cancel][org-clock-cancel]] |
1781 | =C-c C-x C-x= | | [[doc::org-clock-in-last][org-clock-in-last]] |
1782 | =M-h= | | [[doc::org-mark-element][org-mark-element]] |
1783 | =*= | | [[doc::org-agenda-bulk-mark-all][org-agenda-bulk-mark-all]] |
1784 | =C-c C-M-l= | | [[doc::org-insert-all-links][org-insert-all-links]] |
1785 | =C-c C-x C-M-v= | | [[doc::org-redisplay-inline-images][org-redisplay-inline-images]] |
1786 | =C-c C-x E= | =E= | [[doc::org-inc-effort][org-inc-effort]] |
1787 | | =#= | [[doc::org-toggle-comment][org-toggle-comment]] |
1788 | | =:= | [[doc::org-columns][org-columns]] |
1789 | | =W= | Set =APPT_WARNTIME= |
1790 | =k= | | [[doc::org-agenda-capture][org-agenda-capture]] |
1791 | C-c , | , | [[doc::org-priority][org-priority]] |
1793 ** New package and Babel language
1795 *** =org-eshell.el= by Konrad Hinsen is now in Org
1797 =org-eshell.el= allows you to create links from [[http://www.gnu.org/software/emacs/manual/html_node/eshell/index.html][Eshell]].
1799 *** Support for execution of Scala code blocks (see ob-scala.el)
1800 *** Support for execution of IO code blocks (see ob-io.el)
1802 ** Incompatible changes
1804 - If your code relies on =org-write-agenda=, please use
1805 [[doc::org-agenda-write][org-agenda-write]] from now on.
1807 - If your code relies on =org-make-link=, please use =concat=
1810 - =org-link-to-org-use-id= has been renamed to
1811 =org-id-link-to-org-use-id= and its default value is nil. The
1812 previous default was =create-if-interactive-and-no-custom-id=.
1814 ** New features and user-visible changes
1818 =org-element.el= is a toolbox for parsing and analyzing "elements"
1819 in an Org-mode buffer. This has been written by Nicolas Goaziou
1820 and has been tested for quite some time. It is now part of Org's
1821 core and many core functions rely on this package.
1823 Two functions might be particularly handy for users:
1824 =org-element-at-point= and =org-element-context=.
1826 See the docstrings for more details.
1828 Below is a list of editing and navigating commands that now rely
1829 on =org-element.el=.
1831 **** [[doc::org-fill-paragraph][org-fill-paragraph]] has been completely rewritten
1833 The filling mechanisms now rely on org-element, trying to do the
1834 right thing on each element in various contexts. E.g. filling in
1835 a list item will preserve indentation; filling in message-mode
1836 will fall back on the relevant filling functions; etc.
1838 **** [[doc::org-metaup][org-metaup]] and [[doc::org-metadown][org-metadown]] will drag the element backward/forward
1840 If you want to get the old behavior (i.e. moving a line up and
1841 down), you can first select the line as an active region, then
1842 =org-metaup= or =org-metadown= to move the region backward or
1843 forward. This also works with regions bigger than just one line.
1845 **** [[doc::org-up-element][org-up-element]] and [[doc::org-down-element][org-down-element]] (respectively =C-c C-^= and =C-c C-_=)
1847 This will move the point up/down in the hierarchy of elements.
1849 **** [[doc::org-backward-element][org-backward-element]] and [[doc::org-forward-element][org-forward-element]] (respectively =M-{= and =M-}=)
1851 This will move the point backward/forward in the hierarchy of
1854 **** [[doc::org-narrow-to-element][org-narrow-to-element]] will narrow to the element at point
1855 **** [[doc::org-mark-element][org-mark-element]] will mark the element at point
1857 This command is bound to =M-h= and will mark the element at
1858 point. If the point is at a paragraph, it will mark the
1859 paragraph. If the point is at a list item, it will mark the list
1862 Note that if point is at the beginning of a list, it will mark
1865 To mark a subtree, you can either use =M-h= on the headline
1866 (since there is no ambiguity about the element you're at) or
1867 [[doc::org-mark-subtree][org-mark-subtree]] (=C-c @=) anywhere in the subtree.
1869 Invoking [[doc::org-mark-element][org-mark-element]] repeatedly will try to mark the next
1870 element on top of the previous one(s). E.g. hitting =M-h= twice
1871 on a headline will mark the current subtree and the next one on
1876 **** New option [[doc::org-agenda-sticky][org-agenda-sticky]]
1878 There is a new option =org-agenda-sticky= which enables "sticky"
1879 agendas. Sticky agendas remain opened in the background so that
1880 you don't need to regenerate them each time you hit the
1881 corresponding keystroke. This is a big time saver.
1883 When [[doc::org-agenda-sticky][org-agenda-sticky]] is =non-nil=, the agenda buffer will be
1884 named using the agenda key and its description. In sticky
1885 agendas, the =q= key will just bury the agenda buffers and
1886 further agenda commands will show existing buffer instead of
1887 generating new ones.
1889 If [[doc::org-agenda-sticky][org-agenda-sticky]] is set to =nil=, =q= will kill the single
1892 **** New option [[doc::org-agenda-custom-commands-contexts][org-agenda-custom-commands-contexts]]
1894 Setting this option allows you to define specific context where
1895 agenda commands should be available from. For example, when set
1898 #+BEGIN_SRC emacs-lisp
1899 (setq org-agenda-custom-commands-contexts
1900 '(("p" (in-file . "\\.txt"))))
1903 then the =p= agenda command will only be available from buffers
1904 visiting *.txt files. See the docstring and the manual for more
1905 details on how to use this.
1907 **** Changes in bulk actions
1909 The set of commands starting with =k ...= as been deleted and the
1910 features have been merged into the "bulk action" feature.
1912 After you marked some entries in the agenda, if you call =B s=,
1913 the agenda entries will be rescheduled using the date at point if
1914 on a date header. If you are on an entry with a timestamp, you
1915 will be prompted for a date to reschedule your marked entries to,
1916 using the timestamp at point as the default prompt.
1918 You can now use =k= to capture the marked entry and use the date
1919 at point as an overriding date for the capture template.
1921 To bind this behavior to =M-x org-capture RET= (or its
1922 keybinding), set the new option [[doc::org-capture-use-agenda-date][org-capture-use-agenda-date]] to
1925 **** =N= and =P= in the agenda will move to the next/previous item
1927 **** New command [[doc::org-agenda-bulk-mark-all][org-agenda-bulk-mark-all]] to mark all items
1929 This new command is bound to =*= in agenda mode.
1931 There is also a new option [[doc::org-agenda-bulk-mark-char][org-agenda-bulk-mark-char]] to set the
1932 character to use as a mark for bulk actions.
1934 **** New option [[doc::org-agenda-persistent-marks][org-agenda-persistent-marks]]
1936 When set to =non-nil=, marks will remain visible after a bulk
1937 action. You can temporarily toggle this by pressing =p= when
1938 invoking [[doc::org-agenda-bulk-action][org-agenda-bulk-action]]. Marks are deleted if your
1939 rebuild the agenda buffer or move to another date/span (e.g. with
1942 **** New option [[doc::org-agenda-skip-timestamp-if-deadline-is-shown][org-agenda-skip-timestamp-if-deadline-is-shown]]
1944 =Non-nil= means skip timestamp line if same entry shows because
1947 In the agenda of today, an entry can show up multiple times
1948 because it has both a plain timestamp and has a nearby deadline.
1949 When this variable is t, then only the deadline is shown and the
1950 fact that the entry has a timestamp for or including today is not
1951 shown. When this variable is =nil=, the entry will be shown
1954 **** New =todo-unblocked= and =nottodo-unblocked= skip conditions
1956 See the [[http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=f426da][git commit]] for more explanations.
1958 **** Allow category filtering in the agenda
1960 You can now filter the agenda by category. Pressing "<" will
1961 filter by the category of the item on the current line, and
1962 pressing "<" again will remove the filter. You can combine tag
1963 filters and category filters.
1965 You can use =org-agenda-category-filter= in your custom agenda
1966 views and =org-agenda-category-filter-preset= in your main
1969 See also the new command [[doc::org-agenda-filter-by-top-category][org-agenda-filter-by-top-category]]:
1970 hitting =^= will filter by "Top" category: only show entries that
1971 are of the same category than the Top category of the entry at
1976 **** Inserting links
1978 When inserting links through [[doc::org-insert-link][org-insert-link]], the description is
1979 now displayed first, followed by the literal link, as the
1980 description is often more useful when you look for the link you
1983 Completion now complete both literal links and description. If
1984 you complete a description, the literal link and its description
1985 will be inserted directly, whereas when you complete the literal
1986 link, you will be prompted for a description (as with Org 7.8.)
1988 In the completion buffer, links to the current buffer are now
1991 **** New templates =%h= and =%(sexp)= for abbreviated links
1993 On top of =%s= template, which is replaced by the link tag in
1994 abbreviated links, you can now use =%h= (which does the same than =%s=
1995 but does not hexify the tag) and =%(sexp)= (which can run a function
1996 that takes the tag as its own argument.)
1998 **** New link type =help=
2000 You can now create links from =help= buffers.
2002 For example, if you request help for the command [[doc::org-agenda][org-agenda]] with
2003 =C-h f org-agenda RET=, creating a link from this buffer will let
2004 you go back to the same buffer.
2006 **** New command [[doc::org-insert-all-links][org-insert-all-links]]
2008 This will insert all links as list items. With a universal
2009 prefix argument, links will not be deleted from the variable
2012 This new command is bound to =C-c C-M-l=.
2014 **** New option [[doc::org-url-hexify-p][org-url-hexify-p]]
2016 When set to =nil=, the =URL= part of a link will not be hexified.
2018 **** Org can now open multiple shell links
2020 **** New option [[doc::org-doi-server-url][org-doi-server-url]] to specify an alternate DOI server
2022 **** RET now follows time stamps links
2026 **** [[doc::org-todo][org-todo]] and =org-archive-*= can now loop in the active region
2028 When [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]] is =non-nil=, using
2029 [[doc::org-todo][org-todo]] or =org-archive-*= commands in the active region will
2030 loop over headlines. This is handy if you want to set the TODO
2031 keyword for several items, or archive them quickly.
2033 **** You can now set tags for headlines in a region
2035 If [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]] is =non-nil=, then
2036 selecting the region and hitting =C-c C-q= will set the tags for
2037 all headlines in the region.
2039 **** New command [[doc::org-insert-drawer][org-insert-drawer]] to insert a drawer interactively
2041 **** Comments start with "^[ \t]*# " anywhere on a line
2043 Note that the space after the hashtag is mandatory. Comments
2044 with "^#+" are not supported anymore.
2046 **** New speed key =#= to toggle the COMMENT cookie on a headline
2048 **** =indent-region-function= is now set to [[doc::org-indent-region][org-indent-region]]
2050 =C-M-\= should now produce useful results.
2052 You can unindent the buffer with [[doc::org-unindent-buffer][org-unindent-buffer]].
2054 **** New option [[doc::org-allow-promoting-top-level-subtree][org-allow-promoting-top-level-subtree]]
2056 When =non-nil=, =S-M-<left>= will promote level-1 subtrees
2057 containing other subtrees. The level-1 headline will be
2058 commented out. You can revert to the previous state with =M-x
2063 **** New keybinding =C-c C-x C-z= for [[doc::org-clock-resolve][org-clock-resolve]]
2065 **** New keybinding =C-c C-x C-q= for [[doc::org-clock-cancel][org-clock-cancel]]
2067 **** New command [[doc::org-clock-in-last][org-clock-in-last]] to clock in the last clocked item
2069 This command is bound to =C-c C-x C-x= and will clock in the last
2070 clocked entry, if any.
2072 **** =C-u M-x= [[doc::org-clock-out][org-clock-out]] =RET= now prompts for a state to switch to
2074 **** =S-M-<up/down>= on a clock timestamps adjusts the previous/next clock
2076 **** New option [[doc::org-clock-continuously][org-clock-continuously]]
2078 When set to =nil=, clocking in a task will first try to find the
2079 last clocked out task and restart from when that task was clocked
2082 You can temporarily activate continuous clocking with =C-u C-u
2083 C-u M-x= [[doc::org-clock-in][org-clock-in]] =RET= (three universal prefix arguments)
2084 and =C-u C-u M-x= [[org-clock-in-last][org-clock-in-last]] =RET= (two universal prefix
2088 **** New option [[doc::org-clock-frame-title-format][org-clock-frame-title-format]]
2090 This option sets the value of =frame-title-format= when clocking
2093 **** New options for controlling the clockreport display
2095 [[doc::org-clock-file-time-cell-format][org-clock-file-time-cell-format]]: Format string for the file time
2096 cells in clockreport.
2098 [[doc::org-clock-total-time-cell-format][org-clock-total-time-cell-format]]: Format string for the total
2099 time cells in clockreport.
2102 **** New options for controlling the clock/timer display
2104 [[doc::org-clock-clocked-in-display][org-clock-clocked-in-display]]: control whether the current clock
2105 is displayed in the mode line and/or frame title.
2107 [[doc::org-timer-display][org-timer-display]]: control whether the current timer is displayed
2108 in the mode line and/or frame title.
2110 This allows the clock and timer to be displayed in the frame
2111 title instead of, or as well as, the mode line. This is useful
2112 for people with limited space in the mode line but with ample
2113 space in the frame title.
2117 **** New option [[doc::org-custom-properties][org-custom-properties]]
2119 The visibility of properties listed in this options can be turn
2120 on/off with [[doc::org-toggle-custom-properties-visibility][org-toggle-custom-properties-visibility]]. This might
2121 be useful for properties used by third-part tools or that you
2122 don't want to see temporarily.
2124 **** New command [[doc::org-redisplay-inline-images][org-redisplay-inline-images]]
2126 This will redisplay all images. It is bound to =C-c C-x C-M-v=.
2128 **** New entities in =org-entities.el=
2130 There are these new entities:
2132 : ("tilde" "\\~{}" nil "˜" "~" "~" "~")
2133 : ("slash" "/" nil "/" "/" "/" "/")
2134 : ("plus" "+" nil "+" "+" "+" "+")
2135 : ("under" "\\_" nil "_" "_" "_" "_")
2136 : ("equal" "=" nil "=" "=" "=" "=")
2137 : ("asciicirc" "\\textasciicircum{}" nil "^" "^" "^" "^")
2139 **** New face =org-list-dt= for definition terms
2140 **** New face =org-date-selected= for the selected calendar day
2141 **** New face value for =org-document-title=
2143 The face is back to a normal height.
2147 **** New speed command =:= to activate the column view
2148 **** New special property =CLOCKSUM_T= to display today's clocked time
2150 You can use =CLOCKSUM_T= the same way you use =CLOCKSUM=. It
2151 will display the time spent on tasks for today only.
2153 **** Use the =:COLUMNS:= property in columnview dynamic blocks
2155 If the =:COLUMNS:= is set in a subtree, the columnview dynamic
2156 block will use its value as the column format.
2158 **** Consider inline tasks when computing a sum
2160 *** Org Dates and Time Stamps
2162 **** Enhanced [[doc::org-sparse-tree][org-sparse-tree]]
2164 =C-c /= can now check for time ranges.
2166 When checking for dates with =C-c /= it is useful to change the
2167 type of dates that you are interested in. You can now do this
2168 interactively with =c= after =C-c /= and/or by setting
2169 [[doc::org-sparse-tree-default-date-type][org-sparse-tree-default-date-type]] to the default value you want.
2171 **** Support for hourly repeat cookies
2175 : SCHEDULED: <2012-08-20 lun. 08:00 +1h>
2177 if you want to add an hourly repeater to an entry.
2179 **** =C-u C-u C-c .= inserts a time-stamp with no prompt
2181 **** When (setq [[doc::org-read-date-prefer-future][org-read-date-prefer-future]] 'time), accept days in the prompt
2183 "8am Wed" and "Wed 8am" are now acceptable values when entering a
2184 date from the prompt. If [[doc::org-read-date-prefer-future][org-read-date-prefer-future]] is set to
2185 =time=, this will produce the expected prompt indication.
2187 **** New option [[doc::org-datetree-add-timestamp][org-datetree-add-timestamp]]
2189 When set to =non-nil=, datetree entries will also have a
2190 timestamp. This is useful if you want to see these entries in a
2191 sparse tree with =C-c /=.
2195 **** New command [[doc::org-capture-string][org-capture-string]]
2197 M-x [[doc::org-capture-string][org-capture-string]] RET will prompt for a string and a capture
2198 template. The string will be used as an annotation for the
2199 template. This is useful when capturing in batch mode as it lets
2200 you define the content of the template without being in Emacs.
2202 **** New option [[doc::org-capture-templates-contexts][org-capture-templates-contexts]]
2204 Setting this option allows you to define specific context where
2205 capture templates should be available from. For example, when
2208 #+BEGIN_SRC emacs-lisp
2209 (setq org-capture-templates-contexts
2210 '(("c" (in-mode . "message-mode"))))
2213 then the =c= capture template will only be available from
2214 =message-mode= buffers. See the docstring and the manual for
2215 more details on how to use this.
2217 **** New =%l= template to insert the literal link
2218 **** New option [[doc::org-capture-bookmark][org-capture-bookmark]]
2220 Org used to automatically add a bookmark with capture a note.
2221 You can now turn this on by setting [[doc::org-capture-bookmark][org-capture-bookmark]] to
2224 **** Expand =%<num>= escape sequences into text entered for <num>'th =%^{PROMPT}= escape
2226 See the manual for more explanations.
2228 **** More control over empty lines
2230 You can use =:empty-lines-before= and =:empty-lines-after= to
2231 control the insertion of empty lines. Check the manual for more
2234 **** New hook [[doc::org-capture-prepare-finalize-hook][org-capture-prepare-finalize-hook]]
2236 This new hook runs before the finalization process starts.
2240 **** New functions =orgtbl-to-table.el= and =orgtbl-to-unicode=
2242 =orgtbl-to-table.el= convert the table to a =table.el= table, and
2243 =orgtbl-to-unicode= will use =ascii-art-to-unicode.el= (when
2244 available) to print beautiful tables.
2246 **** [[doc::org-table-export][org-table-export]] now a bit clever about the target format
2248 When you specify a file name like =table.csv=, [[doc::org-table-export][org-table-export]]
2249 will now suggest =orgtbl-to-csv= the default method for exporting
2252 **** New option [[doc::org-export-date-timestamp-format][org-export-date-timestamp-format]]
2254 The option allows to set a time string format for Org timestamps
2255 in the #+DATE option.
2257 **** LaTeX: New options for exporting table rules :tstart, :hline and :tend
2259 See [[doc::org-export-latex-tables-hline][org-export-latex-tables-hline]] and [[doc::org-export-latex-tables-tend][org-export-latex-tables-tend]].
2261 **** LaTeX: You can now set =:hfmt= from =#+ATTR_LaTeX=
2262 **** Beamer: Add support and keybinding for the =exampleblock= environment
2264 Add support for these languages in [[doc::org-export-language-setup][org-export-language-setup]].
2265 More languages are always welcome.
2267 **** Beamer: New option [[doc::org-beamer-inherited-properties][org-beamer-inherited-properties]]
2269 This option allows Beamer export to inherit some properties.
2270 Thanks to Carsten for implementing this.
2272 **** ODT: Add support for ODT export in org-bbdb.el
2273 **** ODT: Add support for indented tables (see [[http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=e9fd33][this commit]] for details)
2274 **** ODT: Improve the conversion from ODT to other formats
2275 **** ASCII: Swap the level-1/level-2 characters to underline the headlines
2276 **** Support for Chinese, simplified Chinese, Russian, Ukrainian and Japanese
2277 **** HTML: New option [[doc::org-export-html-date-format-string][org-export-html-date-format-string]]
2279 Format string to format the date and time in HTML export. Thanks
2280 to Sébastien Vauban for this patch.
2284 **** New =:results drawer= parameter
2286 =:results drawer= replaces =:results wrap=, which is deprecated but still
2289 **** =:results org= now put results in a =#+BEGIN_SRC org= block
2291 =:results org= used to put results in a =#+BEGIN_ORG= block but it now puts
2292 results in a =#+BEGIN_SRC org= block, with comma-escaped lines.
2294 =#+BEGIN_ORG= blocks are obsolete.
2296 **** Exporting =#+BEGIN_SRC org= blocks exports the code
2298 It used to exports the results of the code.
2302 **** New menu entry for [[doc::org-refile][org-refile]]
2303 **** Allow capturing to encrypted entries
2305 If you capture to an encrypted entry, it will be decrypted before
2306 inserting the template then re-encrypted after finalizing the capture.
2308 **** Inactive timestamps are now handled in tables
2310 Calc can do computation on active time-stamps like <2012-09-29 sat.>.
2311 Inactive time-stamps in a table's cell are now internally deactivated so
2312 that Calc formulas can operate on them.
2314 **** [[doc::org-table-number-regexp][org-table-number-regexp]] can now accept comma as decimal mark
2315 **** Org allows a new property =APPT_WARNTIME=
2317 You can set it with the =W= speedy key or set it manually. When
2318 set, exporting to iCalendar and [[doc::org-agenda-to-appt][org-agenda-to-appt]] will use the
2319 value of this property as the number of minutes for the warning
2322 **** New command [[doc::org-inc-effort][org-inc-effort]]
2324 This will increment the effort value.
2326 It is bound to =C-c C-x E= and to =E= as a speedy command.
2328 **** Attach: Add support for creating symbolic links
2330 =org-attach-method= now supports a new method =lns=, allowing to
2331 attach symbolic links.
2333 **** Archive: you can now archive to a datetree
2335 **** New option [[doc::org-inlinetask-show-first-star][org-inlinetask-show-first-star]]
2337 =Non-nil= means display the first star of an inline task as
2338 additional marker. When =nil=, the first star is not shown.
2340 **** New option [[doc::org-latex-preview-ltxpng-directory][org-latex-preview-ltxpng-directory]]
2342 This lets you define the path for the =ltxpng/= directory.
2344 **** You can now use imagemagick instead of dvipng to preview LaTeX fragments
2345 **** You can now turn off [[doc::orgstruct++-mode][orgstruct++-mode]] safely
2346 **** =C-u C-c C-c= on list items to add check boxes
2348 =C-u C-c C-c= will add an empty check box on a list item.
2350 When hit from the top of the list, it will add check boxes for
2351 all top level list items.
2353 **** =org-list-ending-method= and =org-list-end-regexp= are now obsolete
2355 Fall back on using =org-list-end-re= only, which see.
2357 **** org-feed.el now expands =%(sexp)= templates
2358 **** New option [[doc::org-protocol-data-separator][org-protocol-data-separator]]
2360 **** New option [[doc::org-ditaa-jar-option][org-ditaa-jar-option]] to specify the ditaa jar file
2362 **** New possible value for [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]]
2364 When [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]] is set to
2365 =start-level=, the command will loop over the active region but
2366 will only act upon entries that are of the same level than the
2367 first headline in the region.
2369 **** New option [[doc::org-habit-show-all-today][org-habit-show-all-today]]
2371 When set to =t=, show all (even unscheduled) habits on today's
2374 ** Important bug fixes
2376 *** M-TAB on options keywords perform completion correctly again
2378 If you hit =M-TAB= on keywords like =#+TITLE=, Org will try to
2379 perform completion with meaningful values.
2381 *** Add licenses to javascript embedded and external code snippets
2383 Embedded javascript code produced when exporting an Org file to
2384 HTML is now licensed under GPLv3 (or later), and the copyright is
2385 owned by the Free Software Foundation, Inc.
2387 The javascript code for embedding MathJax in the browser mentions
2388 the MathJax copyright and the Apache 2.0 license.
2390 The javascript code for embedding =org-injo.js= in the browser
2391 mentions the copyright of Sebastian Rose and the GPLv3 (or later)
2394 =org-export-html-scripts= is now a variable, so that you can adapt
2395 the code and the license to your needs.
2397 See http://www.gnu.org/philosophy/javascript-trap.html for
2398 explanations on why these changes were necessary.
2402 ** Incompatible changes
2404 *** Emacs 21 support has been dropped
2406 Do not use Org mode 7.xx with Emacs 21, use [[http://orgmode.org/org-6.36c.zip][version 6.36c]] instead.
2408 *** XEmacs support requires the XEmacs development version
2410 To use Org mode 7.xx with XEmacs, you need to run the developer
2411 version of XEmacs. We were about to drop XEmacs support entirely,
2412 but Michael Sperber stepped in and made changes to XEmacs that
2413 made it easier to keep the support. Thanks to Michael for this
2416 *** New keys for TODO sparse trees
2418 The key =C-c C-v= is now reserved for Org Babel action. TODO
2419 sparse trees can still be made with =C-c / t= (all not-done
2420 states) and =C-c / T= (specific states).
2422 *** The Agenda =org-agenda-ndays= is now obsolete
2424 The variable =org-agenda-ndays= is obsolete - please use
2425 =org-agenda-span= instead.
2427 Thanks to Julien Danjou for this.
2429 *** Changes to the intended use of =org-export-latex-classes=
2431 So far this variable has been used to specify the complete header
2432 of the LaTeX document, including all the =\usepackage= calls
2433 necessary for the document. This setup makes it difficult to
2434 maintain the list of packages that Org itself would like to call,
2435 for example for the special symbol support it needs.
2437 First of all, you can *opt out of this change* in the following
2438 way: You can say: /I want to have full control over headers, and I
2439 will take responsibility to include the packages Org needs/. If
2440 that is what you want, add this to your configuration and skip the
2441 rest of this section (except maybe for the description of the
2442 =[EXTRA]= place holder):
2444 #+begin_src emacs-lisp
2445 (setq org-export-latex-default-packages-alist nil
2446 org-export-latex-packages-alist nil)
2449 /Continue to read here if you want to go along with the modified
2452 There are now two variables that should be used to list the LaTeX
2453 packages that need to be included in all classes. The header
2454 definition in =org-export-latex-classes= should then not contain
2455 the corresponding =\usepackage= calls (see below).
2457 The two new variables are:
2459 1. =org-export-latex-default-packages-alist= :: This is the
2460 variable where Org-mode itself puts the packages it needs.
2461 Normally you should not change this variable. The only
2462 reason to change it anyway is when one of these packages
2463 causes a conflict with another package you want to use. Then
2464 you can remove that packages and hope that you are not using
2465 Org-mode functionality that needs it.
2467 2. =org-export-latex-packages-alist= :: This is the variable where
2468 you can put the packages that you'd like to use across all
2471 The sequence how these customizations will show up in the LaTeX
2474 1. Header from =org-export-latex-classes=
2475 2. =org-export-latex-default-packages-alist=
2476 3. =org-export-latex-packages-alist=
2477 4. Buffer-specific things set with =#+LaTeX_HEADER:=
2479 If you want more control about which segment is placed where, or
2480 if you want, for a specific class, have full control over the
2481 header and exclude some of the automatic building blocks, you can
2482 put the following macro-like place holders into the header:
2485 [DEFAULT-PACKAGES] \usepackage statements for default packages
2486 [NO-DEFAULT-PACKAGES] do not include any of the default packages
2487 [PACKAGES] \usepackage statements for packages
2488 [NO-PACKAGES] do not include the packages
2489 [EXTRA] the stuff from #+LaTeX_HEADER
2490 [NO-EXTRA] do not include #+LaTeX_HEADER stuff
2493 If you have currently customized =org-export-latex-classes=, you
2494 should revise that customization and remove any package calls that
2495 are covered by =org-export-latex-default-packages-alist=. This
2496 applies to the following packages:
2514 If one of these packages creates a conflict with another package
2515 you are using, you can remove it from
2516 =org-export-latex-default-packages-alist=. But then you risk that
2517 some of the advertised export features of Org will not work
2520 You can also consider moving packages that you use in all classes
2521 to =org-export-latex-packages-alist=. If necessary, put the place
2522 holders so that the packages get loaded in the right sequence. As
2523 said above, for backward compatibility, if you omit the place
2524 holders, all the variables will dump their content at the end of
2527 *** The constant =org-html-entities= is obsolete
2529 Its content is now part of the new constant =org-entities=, which
2530 is defined in the file org-entities.el. =org-html-entities= was
2531 an internal variable, but it is possible that some users did write
2534 *** =org-bbdb-anniversary-format-alist= has changed
2536 Please check the docstring and update your settings accordingly.
2538 *** Deleted =org-mode-p=
2540 This function has been deleted: please update your code.
2542 ** Important new features
2544 *** New Org to ODT exporter
2546 Jambunathan's Org to ODT exporter is now part of Org.
2548 To use it, it `C-c C-e o' in an Org file. See the documentation
2549 for more information on how to customize it.
2551 *** org-capture.el is now the default capture system
2553 This replaces the earlier system org-remember. The manual only
2554 describes org-capture, but for people who prefer to continue to
2555 use org-remember, we keep a static copy of the former manual
2556 section [[http://orgmode.org/org-remember.pdf][chapter about remember]].
2558 The new system has a technically cleaner implementation and more
2559 possibilities for capturing different types of data. See
2560 [[http://thread.gmane.org/gmane.emacs.orgmode/26441/focus%3D26441][Carsten's announcement]] for more details.
2562 To switch over to the new system:
2566 : M-x org-capture-import-remember-templates RET
2568 to get a translated version of your remember templates into the
2569 new variable =org-capture-templates=. This will "mostly" work,
2570 but maybe not for all cases. At least it will give you a good
2571 place to modify your templates. After running this command,
2572 enter the customize buffer for this variable with
2574 : M-x customize-variable RET org-capture-templates RET
2576 and convince yourself that everything is OK. Then save the
2579 2. Bind the command =org-capture= to a key, similar to what you did
2582 : (define-key global-map "\C-cc" 'org-capture)
2584 If your fingers prefer =C-c r=, you can also use this key once
2585 you have decided to move over completely to the new
2586 implementation. During a test time, there is nothing wrong
2587 with using both system in parallel.
2591 *** New Org libraries
2592 **** org-eshell.el (Konrad Hinsen)
2594 Implement links to eshell buffers.
2596 **** org-special-blocks (Carsten Dominik)
2598 This package generalizes the #+begin_foo and #+end_foo tokens.
2600 To use, put the following in your init file:
2603 (require 'org-special-blocks)
2606 The tokens #+begin_center, #+begin_verse, etc. existed
2607 previously. This package generalizes them (at least for the
2608 LaTeX and html exporters). When a #+begin_foo token is
2609 encountered by the LaTeX exporter, it is expanded
2610 into \begin{foo}. The text inside the environment is not
2611 protected, as text inside environments generally is.
2612 When #+begin_foo is encountered by the html exporter, a div with
2613 class foo is inserted into the HTML file. It is up to the user
2614 to add this class to his or her stylesheet if this div is to mean
2617 **** org-taskjuggler.el (Christian Egli)
2619 Christian Egli's /org-taskjuggler.el/ module is now part of Org.
2620 He also wrote a [[http://orgmode.org/worg/org-tutorials/org-taskjuggler.php][tutorial]] for it.
2622 **** org-ctags.el (Paul Sexton)
2624 Targets like =<<my target>>= can now be found by Emacs' etag
2625 functionality, and Org-mode links can be used to to link to
2626 etags, also in non-Org-mode files. For details, see the file
2629 This feature uses a new hook =org-open-link-functions= which will
2630 call function to do something special with text links.
2632 Thanks to Paul Sexton for this contribution.
2634 **** org-docview.el (Jan Böcker)
2636 This new module allows links to various file types using docview, where
2637 Emacs displays images of document pages. Docview link types can point
2638 to a specific page in a document, for example to page 131 of the
2641 : [[docview:~/.elisp/org/doc/org.pdf::131][Org-Mode Manual]]
2643 Thanks to Jan Böcker for this contribution.
2645 *** New Babel libraries
2647 - ob-picolisp.el (Thorsten Jolitz)
2648 - ob-fortran.el (Sergey Litvinov)
2649 - ob-shen.el (Eric Schulte)
2650 - ob-maxima.el (Eric S Fraga)
2651 - ob-java.el (Eric Schulte)
2652 - ob-lilypond.el (Martyn Jago)
2653 - ob-awk.el (Eric Schulte)
2655 ** Other new features and various enhancements
2659 **** Org-Bibtex -- major improvements
2661 Provides support for managing bibtex bibliographical references
2662 data in headline properties. Each headline corresponds to a
2663 single reference and the relevant bibliographic meta-data is
2664 stored in headline properties, leaving the body of the headline
2665 free to hold notes and comments. Org-bibtex is aware of all
2666 standard bibtex reference types and fields.
2668 The key new functions are
2670 - org-bibtex-check :: queries the user to flesh out all required
2671 (and with prefix argument optional) bibtex fields available
2672 for the specific reference =type= of the current headline.
2674 - org-bibtex-create :: Create a new entry at the given level,
2675 using org-bibtex-check to flesh out the relevant fields.
2677 - org-bibtex-yank :: Yank a bibtex entry on the kill ring as a
2678 formatted Org-mode headline into the current buffer
2680 - org-bibtex-export-to-kill-ring :: Export the current headline
2681 to the kill ring as a formatted bibtex entry.
2683 **** org-gnus.el now allows link creation from messages
2685 You can now create links from messages. This is particularly
2686 useful when the user wants to stored messages that he sends, for
2687 later check. Thanks to Ulf Stegemann for the patch.
2689 **** Modified link escaping
2691 David Maus worked on `org-link-escape'. See [[http://article.gmane.org/gmane.emacs.orgmode/37888][his message]]:
2693 : Percent escaping is used in Org mode to escape certain characters
2694 : in links that would either break the parser (e.g. square brackets
2695 : in link target oder description) or are not allowed to appear in
2696 : a particular link type (e.g. non-ascii characters in a http:
2699 : With this change in place Org will apply percent escaping and
2700 : unescaping more consistently especially for non-ascii characters.
2701 : Additionally some of the outstanding bugs or glitches concerning
2702 : percent escaped links are solved.
2704 Thanks a lot to David for this work.
2706 **** Make =org-store-link= point to directory in a dired buffer
2708 When, in a dired buffer, the cursor is not in a line listing a
2709 file, `org-store-link' will store a link to the directory.
2711 Patch by Stephen Eglen.
2713 **** Allow regexps in =org-file-apps= to capture link parameters
2715 The way extension regexps in =org-file-apps= are handled has
2716 changed. Instead of matching against the file name, the regexps
2717 are now matched against the whole link, and you can use grouping
2718 to extract link parameters which you can then use in a command
2719 string to be executed.
2721 For example, to allow linking to PDF files using the syntax
2722 =file:/doc.pdf::<page number>=, you can add the following entry
2726 Extension: \.pdf::\([0-9]+\)\'
2727 Command: evince "%s" -p %1
2730 Thanks to Jan Böcker for a patch to this effect.
2734 **** Allow relative time when scheduling/adding a deadline
2736 You can now use relative duration strings like "-2d" or "++3w"
2737 when calling =org-schedule= or =org-deadline=: it will schedule
2738 (or set the deadline for) the item respectively two days before
2739 today and three weeks after the current timestamp, if any.
2741 You can use this programmatically: =(org-schedule nil "+2d")=
2742 will work on the current entry.
2744 You can also use this while (bulk-)rescheduling and
2745 (bulk-)resetting the deadline of (several) items from the agenda.
2747 Thanks to Memnon Anon for a heads up about this!
2749 **** American-style dates are now understood by =org-read-date=
2751 So when you are prompted for a date, you can now answer like this
2754 2/5/3 --> 2003-02-05
2755 2/5 --> <CURRENT-YEAR>-02-05
2760 **** =org-agenda-custom-commands= has a default value
2762 This option used to be `nil' by default. This now has a default
2763 value, displaying an agenda and all TODOs. See the docstring for
2764 details. Thanks to Carsten for this.
2766 **** Improved filtering through =org-agenda-to-appt=
2768 The new function allows the user to refine the scope of entries
2769 to pass to =org-agenda-get-day-entries= and allows to filter out
2770 entries using a function.
2772 Thanks to Peter Münster for raising a related issue and to
2773 Tassilo Horn for this idea. Also thanks to Peter Münster for
2774 [[git:68ffb7a7][fixing a small bug]] in the final implementation.
2776 **** Allow ap/pm times in agenda time grid
2778 Times in the agenda can now be displayed in am/pm format. See
2779 the new variable =org-agenda-timegrid-use-ampm=. Thanks to
2780 C. A. Webber for a patch to this effect.
2782 **** Agenda: Added a bulk "scattering" command
2784 =B S= in the agenda buffer will cause tasks to be rescheduled a
2785 random number of days into the future, with 7 as the default.
2786 This is useful if you've got a ton of tasks scheduled for today,
2787 you realize you'll never deal with them all, and you just want
2788 them to be distributed across the next N days. When called with
2789 a prefix arg, rescheduling will avoid weekend days.
2791 Thanks to John Wiegley for this.
2795 **** Simplification of org-export-html-preamble/postamble
2797 When set to `t', export the preamble/postamble as usual, honoring
2798 the =org-export-email/author/creator-info= variables.
2800 When set to a formatting string, insert this string. See the
2801 docstring of these variable for details about available
2804 You can set =:html-preamble= in publishing project in the same
2805 way: `t' means to honor =:email/creator/author-info=, and a
2806 formatting string will insert a string.
2808 **** New exporters to Latin-1 and UTF-8
2810 While Ulf Stegemann was going through the entities list to
2811 improve the LaTeX export, he had the great idea to provide
2812 representations for many of the entities in Latin-1, and for all
2813 of them in UTF-8. This means that we can now export files rich
2814 in special symbols to Latin-1 and to UTF-8 files. These new
2815 exporters can be reached with the commands =C-c C-e n= and =C-c
2816 C-e u=, respectively.
2818 When there is no representation for a given symbol in the
2819 targeted coding system, you can choose to keep the TeX-macro-like
2820 representation, or to get an "explanatory" representation. For
2821 example, =\simeq= could be represented as "[approx. equal to]".
2822 Please use the variable =org-entities-ascii-explanatory= to state
2825 **** HTML export: Add class to outline containers using property
2827 The =HTML_CONTAINER_CLASS= property can now be used to add a
2828 class name to the outline container of a node in HTML export.
2830 **** Throw an error when creating an image from a LaTeX snippet fails
2832 This behavior can be configured with the new option variable
2833 =org-format-latex-signal-error=.
2835 **** Support for creating BEAMER presentations from Org-mode documents
2837 Org-mode documents or subtrees can now be converted directly in
2838 to BEAMER presentation. Turning a tree into a simple
2839 presentations is straight forward, and there is also quite some
2840 support to make richer presentations as well. See the [[http://orgmode.org/manual/Beamer-class-export.html#Beamer-class-export][BEAMER
2841 section]] in the manual for more details.
2843 Thanks to everyone who has contributed to the discussion about
2844 BEAMER support and how it should work. This was a great example
2845 for how this community can achieve a much better result than any
2850 **** Refile targets can now be cached
2852 You can turn on caching of refile targets by setting the variable
2853 =org-refile-use-cache=. This should speed up refiling if you
2854 have many eligible targets in many files. If you need to update
2855 the cache because Org misses a newly created entry or still
2856 offers a deleted one, press =C-0 C-c C-w=.
2858 **** New logging support for refiling
2860 Whenever you refile an item, a time stamp and even a note can be
2861 added to this entry. For details, see the new option
2864 Thanks to Charles Cave for this idea.
2868 **** In-buffer completion is now done using John Wiegley's pcomplete.el
2870 Thanks to John Wiegley for much of this code.
2874 **** New command =org-table-transpose-table-at-point=
2876 See the docstring. This hack from Juan Pechiar is now part of
2877 Org's core. Thanks to Juan!
2879 **** Display field's coordinates when editing it with =C-c `=
2881 When editing a field with =C-c `=, the field's coordinate will
2882 the displayed in the buffer.
2884 Thanks to Michael Brand for a patch to this effect.
2886 **** Spreadsheet computation of durations and time values
2888 If you want to compute time values use the =T= flag, either in
2889 Calc formulas or Elisp formulas:
2891 | Task 1 | Task 2 | Total |
2892 |--------+--------+---------|
2893 | 35:00 | 35:00 | 1:10:00 |
2894 #+TBLFM: @2$3=$1+$2;T
2896 Values must be of the form =[HH:]MM:SS=, where hours are
2899 Thanks to Martin Halder, Eric Schulte and Carsten for code and
2902 **** Implement formulas applying to field ranges
2904 Carsten implemented this field-ranges formulas.
2906 : A frequently requested feature for tables has been to be able to define
2907 : row formulas in a way similar to column formulas. The patch below allows
2914 : as the left hand side for table formulas in order to write a formula that
2915 : is valid for an entire column or for a rectangular section in a
2918 Thanks a lot to Carsten for this.
2920 **** Sending radio tables from org buffers is now allowed
2922 Org radio tables can no also be sent inside Org buffers. Also,
2923 there is a new hook which get called after a table has been sent.
2925 Thanks to Seweryn Kokot.
2929 **** Improved handling of lists
2931 Nicolas Goaziou extended and improved the way Org handles lists.
2933 1. Indentation of text determines again end of items in
2934 lists. So, some text less indented than the previous item
2935 doesn't close the whole list anymore, only all items more
2938 2. Alphabetical bullets are implemented, through the use of the
2939 variable `org-alphabetical-lists'. This also adds alphabetical
2940 counters like [@c] or [@W].
2942 3. Lists can now safely contain drawers, inline tasks, or various
2943 blocks, themselves containing lists. Two variables are
2944 controlling this: `org-list-forbidden-blocks', and
2945 `org-list-export-context'.
2947 4. Improve `newline-and-indent' (C-j): used in an item, it will
2948 keep text from moving at column 0. This allows to split text
2949 and make paragraphs and still not break the list.
2951 5. Improve `org-toggle-item' (C-c -): used on a region with
2952 standard text, it will change the region into one item. With a
2953 prefix argument, it will fallback to the previous behavior and
2954 make every line in region an item. It permits to easily
2955 integrate paragraphs inside a list.
2957 6. `fill-paragraph' (M-q) now understands lists. It can freely be
2958 used inside items, or on text just after a list, even with no
2959 blank line around, without breaking list structure.
2961 Thanks a lot to Nicolas for all this!
2963 *** Inline display of linked images
2965 Images can now be displayed inline. The key C-c C-x C-v does
2966 toggle the display of such images. Note that only image links
2967 that have no description part will be inlined.
2969 *** Implement offsets for ordered lists
2971 If you want to start an ordered plain list with a number different
2972 from 1, you can now do it like this:
2974 : 1. [@start:12] will star a lit a number 12
2976 *** Babel: code block body expansion for table and preview
2978 In org-babel, code is "expanded" prior to evaluation. I.e. the
2979 code that is actually evaluated comprises the code block contents,
2980 augmented with the extra code which assigns the referenced data to
2981 variables. It is now possible to preview expanded contents, and
2982 also to expand code during during tangling. This expansion takes
2983 into account all header arguments, and variables.
2985 A new keybinding `C-c M-b p' bound to `org-babel-expand-src-block'
2986 can be used from inside of a source code block to preview its
2987 expanded contents (which can be very useful for debugging).
2990 The expanded body can now be tangled, this includes variable
2991 values which may be the results of other source-code blocks, or
2992 stored in headline properties or tables. One possible use for this
2993 is to allow those using org-babel for their emacs initialization
2994 to store values (e.g. usernames, passwords, etc...) in headline
2995 properties or in tables.
2997 Org-babel now supports three new header arguments, and new default
2998 behavior for handling horizontal lines in tables (hlines), column
2999 names, and rownames across all languages.
3001 *** Editing Convenience and Appearance
3003 **** New command =org-copy-visible= (=C-c C-x v=)
3005 This command will copy the visible text in the region into the
3006 kill ring. Thanks to Florian Beck for this function and to
3007 Carsten for adding it to org.el and documenting it!
3009 **** Make it possible to protect hidden subtrees from being killed by =C-k=
3011 See the new variable =org-ctrl-k-protect-subtree=. This was a
3012 request by Scott Otterson.
3014 **** Implement pretty display of entities, sub-, and superscripts.
3016 The command =C-c C-x \= toggles the display of Org's special
3017 entities like =\alpha= as pretty unicode characters. Also, sub
3018 and superscripts are displayed in a pretty way (raised/lower
3019 display, in a smaller font). If you want to exclude sub- and
3020 superscripts, see the variable
3021 =org-pretty-entities-include-sub-superscripts=.
3023 Thanks to Eric Schulte and Ulf Stegeman for making this possible.
3025 **** New faces for title, date, author and email address lines
3027 The keywords in these lines are now dimmed out, and the title is
3028 displayed in a larger font, and a special font is also used for
3029 author, date, and email information. This is implemented by the
3030 following new faces:
3032 =org-document-title=
3034 =org-document-info-keyword=
3036 In addition, the variable =org-hidden-keywords= can be used to
3037 make the corresponding keywords disappear.
3039 Thanks to Dan Davison for this feature.
3041 **** Simpler way to specify faces for tags and todo keywords
3043 The variables =org-todo-keyword-faces=, =org-tag-faces=, and
3044 =org-priority-faces= now accept simple color names as
3045 specifications. The colors will be used as either foreground or
3046 background color for the corresponding keyword. See also the
3047 variable =org-faces-easy-properties=, which governs which face
3048 property is affected by this setting.
3050 This is really a great simplification for setting keyword faces.
3051 The change is based on an idea and patch by Ryan Thompson.
3053 **** <N> in tables now means fixed width, not maximum width
3055 Requested by Michael Brand.
3057 **** Better level cycling function
3059 =TAB= in an empty headline cycles the level of that headline
3060 through likely states. Ryan Thompson implemented an improved
3061 version of this function, which does not depend upon when exactly
3062 this command is used. Thanks to Ryan for this improvement.
3064 **** Adaptive filling
3066 For paragraph text, =org-adaptive-fill-function= did not handle
3067 the base case of regular text which needed to be filled. This is
3068 now fixed. Among other things, it allows email-style ">"
3069 comments to be filled correctly.
3071 Thanks to Dan Hackney for this patch.
3073 **** `org-reveal' (=C-c C-r=) also decrypts encrypted entries (org-crypt.el)
3075 Thanks to Richard Riley for triggering this change.
3077 **** Better automatic letter selection for TODO keywords
3079 When all first letters of keywords have been used, Org now
3080 assigns more meaningful characters based on the keywords.
3082 Thanks to Mikael Fornius for this patch.
3086 **** Clock: Allow synchronous update of timestamps in CLOCK log
3088 Using =S-M-<up/down>= on CLOCK log timestamps will
3089 increase/decrease the two timestamps on this line so that
3090 duration will keep the same. Note that duration can still be
3091 slightly modified in case a timestamp needs some rounding.
3093 Thanks to Rainer Stengele for this idea.
3095 **** Localized clock tables
3097 Clock tables now support a new new =:lang= parameter, allowing
3098 the user to customize the localization of the table headers. See
3099 the variable =org-clock-clocktable-language-setup= which controls
3100 available translated strings.
3102 **** Show clock overruns in mode line
3104 When clocking an item with a planned effort, overrunning the
3105 planned time is now made visible in the mode line, for example
3106 using the new face =org-mode-line-clock-overrun=, or by adding an
3107 extra string given by =org-task-overrun-text=.
3109 Thanks to Richard Riley for a patch to this effect.
3111 **** Clock reports can now include the running, incomplete clock
3113 If you have a clock running, and the entry being clocked falls
3114 into the scope when creating a clock table, the time so far spent
3115 can be added to the total. This behavior depends on the setting
3116 of =org-clock-report-include-clocking-task=. The default is
3119 Thanks to Bernt Hansen for this useful addition.
3123 **** Improvements with inline tasks and indentation
3125 There is now a configurable way on how to export inline tasks.
3126 See the new variable =org-inlinetask-export-templates=.
3128 Thanks to Nicolas Goaziou for coding these changes.
3130 **** A property value of "nil" now means to unset a property
3132 This can be useful in particular with property inheritance, if
3133 some upper level has the property, and some grandchild of it
3134 would like to have the default settings (i.e. not overruled by a
3137 Thanks to Robert Goldman and Bernt Hansen for suggesting this
3140 **** New helper functions in org-table.el
3142 There are new functions to access and write to a specific table field.
3143 This is for hackers, and maybe for the org-babel people.
3148 org-table-current-line
3152 **** Archiving: Allow to reverse order in target node
3154 The new option =org-archive-reversed-order= allows to have
3155 archived entries inserted in a last-on-top fashion in the target
3158 This was requested by Tom.
3160 **** Org-reveal: Double prefix arg shows the entire subtree of the parent
3162 This can help to get out of an inconsistent state produced for
3163 example by viewing from the agenda.
3165 This was a request by Matt Lundin.
3169 This file is part of GNU Emacs.
3171 GNU Emacs is free software: you can redistribute it and/or modify
3172 it under the terms of the GNU General Public License as published by
3173 the Free Software Foundation, either version 3 of the License, or
3174 (at your option) any later version.
3176 GNU Emacs is distributed in the hope that it will be useful,
3177 but WITHOUT ANY WARRANTY; without even the implied warranty of
3178 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3179 GNU General Public License for more details.
3181 You should have received a copy of the GNU General Public License
3182 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.