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/w/?p=org-mode.git;a=commit;h=%s
6 Copyright (C) 2012-2013 Free Software Foundation, Inc.
7 See the end of the file for license conditions.
9 Please send Org bug reports to emacs-orgmode@gnu.org.
13 ** Incompatible changes
15 *** Combine org-mac-message.el and org-mac-link-grabber into org-mac-link.el
17 Please remove calls to =(require 'org-mac-message)= and =(require
18 'org-mac-link-grabber)= in your =.emacs= initialization file. All you
19 need now is =(require 'org-mac-link)=.
21 Additionally, replace any calls to =ogml-grab-link= to
22 =org-mac-grab-link=. For example, replace this line:
24 : (define-key org-mode-map (kbd "C-c g") 'omgl-grab-link)
28 : (define-key org-mode-map (kbd "C-c g") 'org-mac-grab-link)
30 *** HTML export: Replace =HTML_HTML5_FANCY= by =:html-html5-fancy= (...)
32 Some of the HTML specific export options in Org <8.1 are either nil or
33 t, like =#+HTML_INCLUDE_STYLE=. We replaced these binary options with
34 option keywords like :html-include-style.
36 So you need to replace
38 : #+HTML_INCLUDE_STYLE: t
42 : #+OPTIONS: :html-include-style t
44 Options affected by this change: =HTML5_FANCY=, =HTML_INCLUDE_SCRIPTS=
45 and =HTML_INCLUDE_STYLE=.
49 *** [[doc:org-insert-heading][org-insert-heading]] has been rewritten and bugs are now fixed
50 *** The replacement of disputed keys is now turned of when reading a date
54 *** You can now use =xdg-open= to control how to open files
55 *** =C-c ^ x= will now sort checklist items by their checked status
57 See [[doc:org-sort-list][org-sort-list]]: hitting =C-c ^ x= will put checked items at the end
59 *** Various LaTeX export enhancements
62 - Support for pgf files
63 - LaTeX Babel blocks can now be exported as =.tikz= files
64 - Allow =latexmk= as an option for [[doc:org-latex-pdf-process][org-latex-pdf-process]]
66 Also, the dependency on the =latexsym= LaTeX package has been removed,
67 We now use =amssymb= symbols by default instead.
69 *** Remapping =forward-paragraph= and =backward-paragraph=
71 =forward-paragraph= and =backward-paragraph= are now remapped to
72 [[doc:org-forward-element][org-forward-element]] and [[doc:org-backward-element][org-backward-element]] respectively.
73 E.g. hitting =C-<down>= on a headline will move to the next headline.
75 *** New entities in =org-entities.el=
77 Add support for ell, imath, jmath, varphi, varpi, aleph, gimel, beth,
78 dalet, cdots, S (ยง), dag, ddag, colon, therefore, because, triangleq,
79 leq, geq, lessgtr, lesseqgtr, ll, lll, gg, ggg, prec, preceq,
80 preccurleyeq, succ, succeq, succurleyeq, setminus, nexist(s), mho,
81 check, frown, diamond. Changes loz, vert, checkmark, smile and tilde.
85 *** New option [[doc:org-bookmark-names-plist][org-bookmark-names-plist]]
87 This allows to specify the names of automatic bookmarks.
88 *** New option [[doc:org-agenda-ignore-drawer-properties][org-agenda-ignore-drawer-properties]]
90 This allows more flexibility when optimizing the agenda generation.
91 See http://orgmode.org/worg/agenda-optimization.html for details.
92 *** New option: [[doc:org-html-link-use-abs-url][org-html-link-use-abs-url]] to force using absolute URLs
94 This is an export/publishing option, and should be used either within
95 the =#+OPTIONS= line(s) or within a [[doc:org-publish-project-alist][org-publish-project-alist]].
97 Setting this option to =t= is needed when the HTML output does not
98 allow relative URLs. For example, the =contrib/lisp/ox-rss.el=
99 library produces a RSS feed, and RSS feeds need to use absolute URLs,
100 so a combination of =:html-link-home "..." and :html-link-use-abs-url
101 t= is required---see the configuration example in the comment section
104 *** New option [[doc:org-babel-ditaa-java-cmd][org-babel-ditaa-java-cmd]]
106 This makes java executable configurable for ditaa blocks.
108 *** New options [[doc:org-babel-latex-htlatex][org-babel-latex-htlatex]] and [[doc:org-babel-latex-htlatex-packages][org-babel-latex-htlatex-packages]]
110 This enables SVG generation from latex code blocks.
112 *** New option: [[doc:org-habit-show-done-alwyays-green][org-habit-show-done-alwyays-green]]
114 See [[http://lists.gnu.org/archive/html/emacs-orgmode/2013-05/msg00214.html][this message]] from Max Mikhanosha.
116 *** New option: [[doc:org-babel-inline-result-wrap][org-babel-inline-result-wrap]]
118 If you set this to the following
120 : (setq org-babel-inline-result-wrap "$%s$")
122 then inline code snippets will be wrapped into the formatting string.
124 ** New contributed packages
126 - =ox-bibtex.el= by Nicolas Goaziou :: an utility to handle BibTeX
127 export to both LaTeX and HTML exports. It uses the [[http://www.lri.fr/~filliatr/bibtex2html/][bibtex2html]]
130 - =org-screenshot.el= by Max Mikhanosha :: an utility to handle
131 screenshots easily from Org, using the external tool [[http://freecode.com/projects/scrot][scrot]].
137 Installation instructions have been updated and simplified.
139 If you have troubles installing or updating Org, focus on these
142 - when updating via a =.zip/.tar.gz= file, you only need to set the
143 =load-path= in your =.emacs=. Set it before any other Org
144 customization that would call autoloaded Org functions.
146 - when updating by pulling Org's Git repository, make sure to create the
147 correct autoloads. You can do this by running =~$ make autoloads= (to
148 only create the autoloads) or by running =~$ make= (to also compile
149 the Emacs lisp files.) =~$ make help= and =~$ make helpall= gives you
150 detailed explanations.
152 - when updating through ELPA (either from GNU ELPA or from Org ELPA),
153 you have to install Org's ELPA package in a session where no Org
154 function has been called already.
156 When in doubt, run =M-x org-version RET= and see if you have a mixed-up
159 See http://orgmode.org/org.html#Installation for details.
161 ** Incompatible changes
163 Org 8.0 is the most disruptive major version of Org.
165 If you configured export options, you will have to update some of them.
167 If you used =#+ATTR_*= keywords, the syntax of the attributes changed and
168 you will have to update them.
170 Below is a list of changes for which you need to take action.
172 See http://orgmode.org/worg/org-8.0.html for the most recent version of
173 this list and for detailed instructions on how to migrate.
175 **** New export engine
177 Org 8.0 comes with a new export engine written by Nicolas Goaziou. This
178 export engine relies on ~org-element.el~ (Org's syntax parser), which was
179 already in Org's core. This new export engine triggered the rewriting of
180 /all/ export back-ends.
182 The most visible change is the export dispatcher, accessible through the
183 keybinding =C-c C-e=. By default, this menu only shows some of the
184 built-in export formats, but you can add more formats by loading them
185 directly (e.g., =(require 'ox-texinfo)= or by configuring the option
186 [[doc:org-export-backends][org-export-backends]].
188 More contributed back-ends are available from the =contrib/= directory, the
189 corresponding files start with the =ox-= prefix.
191 If you customized an export back-end (like HTML or LaTeX), you will need to
192 rename some options so that your customization is not lost. Typically, an
193 option starting with =org-export-html-= is now named =org-html-=. See the
194 manual for details and check [[http://orgmode.org/worg/org-8.0.html][this Worg page]] for directions.
196 **** New syntax for #+ATTR_HTML/LaTeX/... options
198 : #+ATTR_HTML width="200px"
200 should now be written
202 : #+ATTR_HTML :width 200px
204 Keywords like =#+ATTR_HTML= and =#+ATTR_LaTeX= are defined in their
205 respective back-ends, and the list of supported parameters depends on
206 each backend. See Org's manual for details.
208 **** ~org-remember.el~ has been removed
210 You cannot use =remember.el= anymore to capture notes.
212 Support for remember templates has been obsoleted since long, it is
215 Use =M-x org-capture-import-remember-templates RET= to import your
216 remember templates into capture templates.
218 **** ~org-jsinfo.el~ has been merged into ~ox-html.el~
220 If you were requiring ~ox-jsinfo.el~ in your ~.emacs.el~ file, you
221 will have to remove this requirement from your initialization file.
223 **** Note for third-party developers
225 The name of the files for export back-end have changed: we now use the
226 prefix =ox-= for those files (like we use the =ob-= prefix for Babel
227 files.) For example ~org-html.el~ is now ~ox-html.el~.
229 If your code relies on these files, please update the names in your
232 **** Packages moved from core to contrib
234 Since packages in Org's core are meant to be part of GNU Emacs, we try
235 to be minimalist when it comes to adding files into core. For 8.0, we
236 moved some contributions into the =contrib/= directory.
238 The rationale for deciding that these files should live in =contrib/=
239 is either because they rely on third-part softwares that are not
240 included in Emacs, or because they are not targetting a significant
243 - org-colview-xemacs.el
250 Note that ~ox-freedmind.el~ has been rewritten by Jambunathan,
251 ~org-mew.el~ has been enhanced by Tokuya Kameshima and
252 ~ox-taskjuggler.el~ by Nicolas Goaziou and others.
254 Also, the Taskjuggler exporter now uses TJ3 by default. John Hendy
255 wrote [[http://orgmode.org/worg/org-tutorials/org-taskjuggler3.html][a tutorial on Worg]] for the TJ3 export.
257 ** New packages in core
259 *** ~ob-makefile.el~ by Eric Schulte and Thomas S. Dye
261 =ob-makefile.el= implements Org Babel support for Makefile tangling.
263 *** ~ox-man.el~ by Luis Anaya
265 =ox-man.el= allows you to export Org files to =man= pages.
267 *** ~ox-md.el~ by Nicolas Goaziou
269 =ox-md.el= allows you to export Org files to Markdown files, using the
270 vanilla [[http://daringfireball.net/projects/markdown/][Markdown syntax]].
272 *** ~ox-texinfo.el~ by Jonathan Leech-Pepin
274 =ox-texinfo.el= allows you to export Org files to [[http://www.gnu.org/software/texinfo/][Texinfo]] files.
276 ** New packages in contrib
278 *** ~ob-julia.el~ by G. Jay Kerns
280 [[http://julialang.org/][Julia]] is a new programming language.
282 =ob-julia.el= provides Org Babel support for evaluating Julia source
285 *** ~ob-mathomatic.el~ by Luis Anaya
287 [[http://www.mathomatic.org/][mathomatic]] a portable, command-line, educational CAS and calculator
288 software, written entirely in the C programming language.
290 ~ob-mathomatic.el~ provides Org Babel support for evaluating mathomatic
293 *** ~ob-tcl.el~ by Luis Anaya
295 ~ob-tcl.el~ provides Org Babel support for evaluating [[http://www.tcl.tk/][Tcl]] source code.
297 *** ~org-bullets.el~ by Evgeni Sabof
299 Display bullets instead of stars for headlines.
301 Also see [[http://orgmode.org/worg/org-faq.html#sec-8-12][this updated FAQ]] on how to display another character than "*"
302 for starting headlines.
304 *** ~org-favtable.el~ by Marc-Oliver Ihm
306 ~org-favtable.el~ helps you to create and update a table of favorite
307 locations in org, keeping the most frequently visited lines right at
308 the top. This table is called "favtable". See the documentation on
309 [[http://orgmode.org/worg/org-contrib/org-favtable.html][Worg]].
311 *** ~ox-confluence.el~ by Sรฉbastien Delafond
313 ~ox-confluence.el~ lets you convert Org files to [[https://confluence.atlassian.com/display/DOC/Confluence%2BWiki%2BMarkup][Confluence Wiki]] files.
315 *** ~ox-deck.el~ and ~ox-s5.el~ by Rick Frankel
317 [[http://imakewebthings.com/deck.js/][deck.js]] is a javascript library for displaying HTML ages as
318 presentations. ~ox-deck.el~ exports Org files to HTML presentations
321 [[http://meyerweb.com/eric/tools/s5/][s5]] is a set of scripts which also allows to display HTML pages as
322 presentations. ~ox-s5.el~ exports Org files to HTML presentations
325 *** ~ox-groff.el~ by Luis Anaya and Nicolas Goaziou
327 The [[http://www.gnu.org/software/groff/][groff]] (GNU troff) software is a typesetting package which reads
328 plain text mixed with formatting commands and produces formatted
331 Luis Anaya and Nicolas Goaziou implemented ~ox-groff.el~ to allow
332 conversion from Org files to groff.
334 *** ~ox-koma-letter.el~ by Nicolas Goaziou and Alan Schmitt
336 This back-end allow to export Org pages to the =KOMA Scrlttr2= format.
338 *** ~ox-rss.el~ by Bastien
340 This back-end lets you export Org pages to RSS 2.0 feeds. Combined
341 with the HTML publishing feature, this allows you to build a blog
348 **** New export generic options
350 If you use Org exporter, we advise you to re-read [[http://orgmode.org/org.html#Exporting][the manual section about
351 it]]. It has been updated and includes new options.
353 Among the new/updated export options, three are of particular importance:
355 - [[doc:org-export-allow-bind-keywords][org-export-allow-bind-keywords]] :: This option replaces the old option
356 =org-export-allow-BIND= and the default value is =nil=, not =confirm=.
357 You will need to explicitely set this to =t= in your initialization
358 file if you want to allow =#+BIND= keywords.
360 - [[doc:org-export-with-planning][org-export-with-planning]] :: This new option controls the export of
361 =SCHEDULED:, DEADLINE:, CLOSED:= lines, and planning information is
362 now skipped by default during export. This use to be the job of
363 [[doc:org-export-with-timestamps][org-export-with-timestamps]], but this latter option has been given a
364 new role: it controls the export of /standalone time-stamps/. When
365 set to =nil=, Org will not export active and inactive time-stamps
366 standing on a line by themselves or within a paragraph that only
367 contains time-stamps.
369 To check if an option has been introduced or its default value changed in
370 Org 8.0, do =C-h v [option] RET= and check if the documentation says that
371 the variable has been introduced (or changed) in version 24.4 of Emacs.
373 **** Enhanced default stylesheet for the HTML exporter
375 See the new default value of [[doc:org-html-style-default][org-html-style-default]].
377 **** New tags, classes and ids for the HTML exporter
379 See the new default value of [[doc:org-html-divs][org-html-divs]].
381 **** Support for tikz pictures in LaTeX export
382 **** ~org-man.el~: New export function for "man" links
383 **** ~org-docview.el~: New export function for docview links
384 *** Structure editing
386 **** =C-u C-u M-RET= inserts a heading at the end of the parent subtree
387 **** Cycling to the =CONTENTS= view keeps inline tasks folded
389 [[doc:org-cycle-hook][org-cycle-hook]] as a new function [[doc:org-cycle-hide-inline-tasks][org-cycle-hide-inline-tasks]] which
390 prevents the display of inline tasks when showing the content of a subtree.
392 **** =C-c -= in a region makes a list item for each line
394 This is the opposite of the previous behavior, where =C-c -= on a region
395 would create one item for the whole region, and where =C-u C-c -= would
396 create an item for each line. Now =C-c -= on the selected region creates
397 an item per line, and =C-u C-c -= creates a single item for the whole
400 **** When transposing words, markup characters are now part of the words
402 In Emacs, you can transpose words with =M-t=. Transposing =*these*
403 _words__= will preserve markup.
405 **** New command [[doc:org-set-property-and-value][org-set-property-and-value]] bound to =C-c C-x P=
407 This command allows you to quickly add both the property and its value. It
408 is useful in buffers where there are many properties and where =C-c C-x p=
409 can slow down the flow of editing too much.
411 **** New commands [[doc:org-next-block][org-next-block]] and [[doc:org-previous-block][org-previous-block]]
413 These commands allow you to go to the previous block (=C-c M-b= or the
414 speedy key =B=) or to the next block (=C-c M-f= or the speedy key =F=.)
416 **** New commands [[doc:org-drag-line-forward][org-drag-line-forward]] and [[doc:org-drag-line-backward][org-drag-line-backward]]
418 These commands emulate the old behavior of =M-<down>= and =M-<up>= but are
419 now bound to =S-M-<down>= and =S-M-<up>= respectively, since =M-<down>= and
420 =M-<up>= now drag the whole element at point (a paragraph, a table, etc.)
421 forward and backward.
423 **** When a list item has a checkbox, inserting a new item uses a checkbox too
424 **** When sorting entries/items, only the description of links is considered
426 Now Org will sort this list
428 : - [[http://abc.org][B]]
429 : - [[http://def.org][A]]
433 : - [[http://def.org][A]]
434 : - [[http://abc.org][B]]
436 by comparing the descriptions, not the links.
437 Same when sorting headlines instead of list items.
438 **** New option =orgstruct-heading-prefix-regexp=
440 For example, setting this option to "^;;; " in Emacs lisp files and using
441 =orgstruct-mode= in those files will allow you to cycle through visibility
442 states as if lines starting with ";;; *..." where headlines.
444 In general, you want to set =orgstruct-heading-prefix-regexp= as a file
447 **** New behavior of [[doc:org-clone-subtree-with-time-shift][org-clone-subtree-with-time-shift]]
449 The default is now to ask for a time-shift only when there is a time-stamp.
450 When called with a universal prefix argument =C-u=, it will not ask for a
451 time-shift even if there is a time-stamp.
453 **** New option [[doc:org-agenda-restriction-lock-highlight-subtree][org-agenda-restriction-lock-highlight-subtree]]
455 This defaults to =t= so that the whole subtree is highlighted when you
456 restrict the agenda view to it with =C-c C-x <= (or the speed command =<=).
457 The default setting helps ensuring that you are not adding tasks after the
458 restricted region. If you find this highlighting too intrusive, set this
460 **** New option [[doc:org-closed-keep-when-no-todo][org-closed-keep-when-no-todo]]
462 When switching back from a =DONE= keyword to a =TODO= keyword, Org now
463 removes the =CLOSED= planning information, if any. It also removes this
464 information when going back to a non-TODO state (e.g., with =C-c C-t SPC=).
465 If you want to keep the =CLOSED= planning information when removing the
466 TODO keyword, set [[doc:org-closed-keep-when-no-todo][org-closed-keep-when-no-todo]] to =t=.
468 **** New option [[doc:org-image-actual-width][org-image-actual-width]]
470 This option allows you to change the width of in-buffer displayed images.
471 The default is to use the actual width of the image, but you can use a
472 fixed value for all images, or fall back on an attribute like
474 : #+attr_html: :width 300px
475 *** Scheduled/deadline
477 **** Implement "delay" cookies for scheduled items
479 If you want to delay the display of a scheduled task in the agenda, you can
480 now use a delay cookie like this: =SCHEDULED: <2004-12-25 Sat -2d>=. The
481 task is still scheduled on the 25th but will appear in your agenda starting
482 from two days later (i.e. from March 27th.)
484 Imagine for example that your co-workers are not done in due time and tell
485 you "we need two more days". In that case, you may want to delay the
486 display of the task in your agenda by two days, but you still want the task
487 to appear as scheduled on March 25th.
489 In case the task contains a repeater, the delay is considered to affect all
490 occurrences; if you want the delay to only affect the first scheduled
491 occurrence of the task, use =--2d= instead. See [[doc:org-scheduled-delay-days][org-scheduled-delay-days]]
492 and [[doc:org-agenda-skip-scheduled-delay-if-deadline][org-agenda-skip-scheduled-delay-if-deadline]] for details on how to
493 control this globally or per agenda.
495 **** Use =C-u C-u C-c C-s= will insert a delay cookie for scheduled tasks
497 See the previous section for why delay cookies may be useful.
499 **** Use =C-u C-u C-c C-d= will insert a warning delay for deadline tasks
501 =C-u C-u C-c C-d= now inserts a warning delay to deadlines.
502 *** Calendar, diary and appts
504 **** New variable [[doc:org-read-date-minibuffer-local-map][org-read-date-minibuffer-local-map]]
506 By default, this new local map uses "." to go to today's date, like in the
507 normal =M-x calendar RET=. If you want to deactivate this and to reassign
508 the "@" key to =calendar-goto-today=, use this:
510 #+BEGIN_SRC emacs-lisp
511 ;; Unbind "." in Org's calendar:
512 (define-key org-read-date-minibuffer-local-map (kbd ".") nil)
514 ;; Bind "@" to `calendar-goto-today':
515 (define-key org-read-date-minibuffer-local-map
517 (lambda () (interactive) (org-eval-in-calendar '(calendar-goto-today))))
520 **** In Org's calendar, =!= displays diary entries of the date at point
522 This is useful when you want to check if you don't already have an
523 appointment when setting new ones with =C-c .= or =C-c s=. =!= will
524 call =diary-view-entries= and display the diary in a separate buffer.
526 **** [[doc:org-diary][org-diary]]: only keep the descriptions of links
528 [[doc:org-diary][org-diary]] returns diary information from Org files, but it returns it
529 in a diary buffer, not in an Org mode buffer. When links are displayed,
530 only show their description, not the full links.
533 **** New agenda type =agenda*= and entry types =:scheduled* :deadline*=
535 When defining agenda custom commands, you can now use =agenda*=: this will
536 list entries that have both a date and a time. This is useful when you
537 want to build a list of appointments.
539 You can also set [[doc:org-agenda-entry-types][org-agenda-entry-types]] either globally or locally in
540 each agenda custom command and use =:timestamp*= and/or =:deadline*= there.
542 Another place where this is useful is your =.diary= file:
544 : %%(org-diary :scheduled*) ~/org/rdv.org
546 This will list only entries from =~/org/rdv.org= that are scheduled with a
547 time value (i.e. appointments).
549 **** New agenda sorting strategies
551 [[doc:org-agenda-sorting-strategy][org-agenda-sorting-strategy]] allows these new sorting strategies:
553 | Strategy | Explanations |
554 |----------------+------------------------------------------|
555 | timestamp-up | Sort by any timestamp, early first |
556 | timestamp-down | Sort by any timestamp, late first |
557 | scheduled-up | Sort by scheduled timestamp, early first |
558 | scheduled-down | Sort by scheduled timestamp, late first |
559 | deadline-up | Sort by deadline timestamp, early first |
560 | deadline-down | Sort by deadline timestamp, late first |
561 | ts-up | Sort by active timestamp, early first |
562 | ts-down | Sort by active timestamp, late first |
563 | tsia-up | Sort by inactive timestamp, early first |
564 | tsia-down | Sort by inactive timestamp, late first |
566 **** New options to limit the number of agenda entries
568 You can now limit the number of entries in an agenda view. This is
569 different from filters: filters only /hide/ the entries in the agenda,
570 while limits are set while generating the list of agenda entries.
572 These new options are available:
574 - [[doc:org-agenda-max-entries][org-agenda-max-entries]] :: limit by number of entries.
575 - [[doc:org-agenda-max-todos][org-agenda-max-todos]] :: limit by number of TODOs.
576 - [[doc:org-agenda-max-tags][org-agenda-max-tags]] :: limit by number of tagged entries.
577 - [[doc:org-agenda-max-effort][org-agenda-max-effort]] :: limit by effort (minutes).
579 For example, if you locally set [[doc:org-agenda-max-todos][org-agenda-max-todos]] to 3 in an agenda
580 view, the agenda will be limited to the first three todos. Other entries
581 without a TODO keyword or beyond the third TODO headline will be ignored.
583 When setting a limit (e.g. about an effort's sum), the default behavior is
584 to exclude entries that cannot be checked against (e.g. entries that have
585 no effort property.) To include other entries too, you can set the limit
586 to a negative number. For example =(setq org-agenda-max-tags -3)= will not
587 show the fourth tagged headline (and beyond), but it will also show
588 non-tagged headlines.
590 **** =~= in agenda view sets temporary limits
592 You can hit =~= in the agenda to temporarily set limits: this will
593 regenerate the agenda as if the limits were set. This is useful for
594 example when you want to only see a list of =N= tasks, or a list of tasks
595 that take only =N= minutes.
597 **** "=" in agenda view filters by regular expressions
599 You can now filter agenda entries by regular expressions using ~=~. =C-u
600 == will filter entries out. Regexp filters are cumulative. You can set
601 [[doc:org-agenda-regexp-filter-preset][org-agenda-regexp-filter-preset]] to suit your needs in each agenda view.
603 **** =|= in agenda view resets all filters
605 Since it's common to combine tag filters, category filters, and now regexp
606 filters, there is a new command =|= to reset all filters at once.
608 **** Allow writing an agenda to an =.org= file
610 You can now write an agenda view to an =.org= file. It copies the
611 headlines and their content (but not subheadings) into the new file.
613 This is useful when you want to quickly share an agenda containing the full
616 **** New commands to drag an agenda line forward (=M-<down>=) or backard (=M-<up>=)
618 It sometimes handy to move agenda lines around, just to quickly reorganize
619 your tasks, or maybe before saving the agenda to a file. Now you can use
620 =M-<down>= and =M-<up>= to move the line forward or backward.
622 This does not persist after a refresh of the agenda, and this does not
623 change the =.org= files who contribute to the agenda.
625 **** Use =%b= for displaying "breadcrumbs" in the agenda view
627 [[doc:org-agenda-prefix-format][org-agenda-prefix-format]] now allows to use a =%b= formatter to tell Org
628 to display "breadcrumbs" in the agenda view.
630 This is useful when you want to display the task hierarchy in your agenda.
632 **** Use =%l= for displaying the headline's level in the agenda view
634 [[doc:org-agenda-prefix-format][org-agenda-prefix-format]] allows to use a =%l= formatter to tell Org to
635 display entries with additional spaces corresponding to their level in the
638 **** [[doc:org-agenda-write][org-agenda-write]] will ask before overwriting an existing file
640 =M-x org-agenda-write RET= (or =C-c C-w= from an agenda buffer) used to
641 overwrite preexisting file with the same name without confirmation. It now
642 asks for a confirmation.
644 **** New commands =M-m= and =M-*= to toggle (all) mark(s) for bulk action
646 - [[doc:org-agenda-bulk-toggle][org-agenda-bulk-toggle]] :: this command is bound to =M-m= and toggles
647 the mark of the entry at point.
649 - [[doc:org-agenda-bulk-toggle-all][org-agenda-bulk-toggle-all]] :: this command is bound to =M-*= and
650 toggles all the marks in the current agenda.
652 **** New option [[doc:org-agenda-search-view-max-outline-level][org-agenda-search-view-max-outline-level]]
654 This option sets the maximum outline level to display in search view.
655 E.g. when this is set to 1, the search view will only show headlines of
658 **** New option [[doc:org-agenda-todo-ignore-time-comparison-use-seconds][org-agenda-todo-ignore-time-comparison-use-seconds]]
660 This allows to compare times using seconds instead of days when honoring
661 options like =org-agenda-todo-ignore-*= in the agenda display.
663 **** New option [[doc:org-agenda-entry-text-leaders][org-agenda-entry-text-leaders]]
665 This allows you to get rid of the ">" character that gets added in front of
666 entries excerpts when hitting =E= in the agenda view.
668 **** New formatting string for past deadlines in [[doc:org-agenda-deadline-leaders][org-agenda-deadline-leaders]]
670 The default formatting for past deadlines is ="%2d d. ago: "=, which makes
671 it explicit that the deadline is in the past. You can configure this via
672 [[doc:org-agenda-deadline-leaders][org-agenda-deadline-leaders]]. Note that the width of the formatting
673 string is important to keep the agenda alignment clean.
675 **** New allowed value =repeated-after-deadline= for [[doc:org-agenda-skip-scheduled-if-deadline-is-shown][org-agenda-skip-scheduled-if-deadline-is-shown]]
677 When [[doc:org-agenda-skip-scheduled-if-deadline-is-shown][org-agenda-skip-scheduled-if-deadline-is-shown]] is set to
678 =repeated-after-deadline=, the agenda will skip scheduled items if they are
679 repeated beyond the current dealine.
681 **** New option for [[doc:org-agenda-skip-deadline-prewarning-if-scheduled][org-agenda-skip-deadline-prewarning-if-scheduled]]
683 This variable may be set to nil, t, the symbol `pre-scheduled', or a number
684 which will then give the number of days before the actual deadline when the
685 prewarnings should resume. The symbol `pre-scheduled' eliminates the
686 deadline prewarning only prior to the scheduled date.
688 Read the full docstring for details.
690 **** [[doc:org-class][org-class]] now supports holiday strings in the skip-weeks parameter
692 For example, this task will now be skipped only on new year's day:
695 : <%%(org-class 2012 1 1 2013 12 12 2 "New Year's Day")>
698 **** Allow =C-1= as a prefix for [[doc:org-agenda-capture][org-agenda-capture]] and [[doc:org-capture][org-capture]]
700 With a =C-1= prefix, the capture mechanism will use the =HH:MM= value at
701 point (if any) or the current =HH:MM= time as the default time for the
704 **** Expand keywords within %(sexp) placeholder in capture templates
706 If you use a =%:keyword= construct within a =%(sexp)= construct, Org will
707 expand the keywords before expanding the =%(sexp)=.
709 **** Allow to contextualize capture (and agenda) commands by checking the name of the buffer
711 [[doc:org-capture-templates-contexts][org-capture-templates-contexts]] and [[doc:org-agenda-custom-commands-contexts][org-agenda-custom-commands-contexts]]
712 allow you to define what capture templates and what agenda commands should
713 be available in various contexts. It is now possible for the context to
714 check against the name of the buffer.
717 Using =#+TAGS: { Tag1 : Tag2 Tag3 }= will define =Tag1= as a /group tag/
718 (note the colon after =Tag1=). If you search for =Tag1=, it will return
719 headlines containing either =Tag1=, =Tag2= or =Tag3= (or any combinaison
722 You can use group tags for sparse tree in an Org buffer, for creating
723 agenda views, and for filtering.
725 See http://orgmode.org/org.html#Tag-groups for details.
729 **** =C-u C-u M-x org-store-link RET= will ignore non-core link functions
731 Org knows how to store links from Org buffers, from info files and from
732 other Emacs buffers. Org can be taught how to store links from any buffer
733 through new link protocols (see [[http://orgmode.org/org.html#Adding-hyperlink-types]["Adding hyperlink types"]] in the manual.)
735 Sometimes you want Org to ignore added link protocols and store the link
736 as if the protocol was not known.
738 You can now do this with =C-u C-u M-x org-store-link RET=.
740 **** =C-u C-u C-u M-x org-store-link RET= on an active region will store links for each lines
742 Imagine for example that you want to store a link for every message in a
743 Gnus summary buffer. In that case =C-x h C-u C-u C-u M-x org-store-link
744 RET= will store a link for every line (i.e. message) if the region is
747 **** =C-c C-M-l= will add a default description for links which don't have one
749 =C-c C-M-l= inserts all stored links. If a link does not have a
750 description, this command now adds a default one, so that we are not mixing
751 with-description and without-description links when inserting them.
753 **** No curly braces to bracket links within internal links
755 When storing a link to a headline like
757 : * See [[http://orgmode.org][Org website]]
759 [[doc:org-store-link][org-store-link]] used to convert the square brackets into curly brackets.
760 It does not anymore, taking the link description or the link path, when
761 there is no description.
764 **** Switching between #+TBLFM lines
766 If you have several =#+TBLFM= lines below a table, =C-c C-c= on a line will
767 apply the formulas from this line, and =C-c C-c= on another line will apply
768 those other formulas.
770 **** You now use "nan" for empty fields in Calc formulas
772 If empty fields are of interest, it is recommended to reread the section
773 [[http://orgmode.org/org.html#Formula-syntax-for-Calc][3.5.2 Formula syntax for Calc]] of the manual because the description for the
774 mode strings has been clarified and new examples have been added towards
777 **** Handle localized time-stamps in formulas evaluation
779 If your =LOCALE= is set so that Org time-stamps use another language than
780 english, and if you make time computations in Org's table, it now works by
781 internally converting the time-stamps with a temporary =LOCALE=C= before
784 **** New lookup functions
786 There are now three lookup functions:
788 - [[doc:org-loopup-first][org-loopup-first]]
789 - [[doc:org-loopup-last][org-loopup-last]]
790 - [[doc:org-loopup-all][org-loopup-all]]
792 See [[http://orgmode.org/org.html#Lookup-functions][the manual]] for details.
795 These new startup keywords are now available:
797 | Startup keyword | Option |
798 |----------------------------------+---------------------------------------------|
799 | =#+STARTUP: logdrawer= | =(setq org-log-into-drawer t)= |
800 | =#+STARTUP: nologdrawer= | =(setq org-log-into-drawer nil)= |
801 |----------------------------------+---------------------------------------------|
802 | =#+STARTUP: logstatesreversed= | =(setq org-log-states-order-reversed t)= |
803 | =#+STARTUP: nologstatesreversed= | =(setq org-log-states-order-reversed nil)= |
804 |----------------------------------+---------------------------------------------|
805 | =#+STARTUP: latexpreview= | =(setq org-startup-with-latex-preview t)= |
806 | =#+STARTUP: nolatexpreview= | =(setq org-startup-with-latex-preview nil)= |
810 **** New option [[doc:org-clock-rounding-minutes][org-clock-rounding-minutes]]
812 E.g. if [[doc:org-clock-rounding-minutes][org-clock-rounding-minutes]] is set to 5, time is 14:47 and you
813 clock in: then the clock starts at 14:45. If you clock out within the next
814 5 minutes, the clock line will be removed; if you clock out 8 minutes after
815 your clocked in, the clock out time will be 14:50.
817 **** New option [[doc:org-time-clocksum-use-effort-durations][org-time-clocksum-use-effort-durations]]
819 When non-nil, =C-c C-x C-d= uses effort durations. E.g., by default, one
820 day is considered to be a 8 hours effort, so a task that has been clocked
821 for 16 hours will be displayed as during 2 days in the clock display or in
824 See [[doc:org-effort-durations][org-effort-durations]] on how to set effort durations and
825 [[doc:org-time-clocksum-format][org-time-clocksum-format]] for more on time clock formats.
827 **** New option [[doc:org-clock-x11idle-program-name][org-clock-x11idle-program-name]]
829 This allows to set the name of the program which prints X11 idle time in
830 milliseconds. The default is to use =x11idle=.
832 **** New option [[doc:org-use-last-clock-out-time-as-effective-time][org-use-last-clock-out-time-as-effective-time]]
834 When non-nil, use the last clock out time for [[doc:org-todo][org-todo]]. Note that this
835 option has precedence over the combined use of [[doc:org-use-effective-time][org-use-effective-time]] and
836 [[doc:org-extend-today-until][org-extend-today-until]].
838 **** =S-<left/right>= on a clocksum column will update the sum by updating the last clock
839 **** =C-u 3 C-S-<up/down>= will update clock timestamps synchronously by 3 units
840 **** New parameter =:wstart= for clocktables to define the week start day
841 **** New parameter =:mstart= to state the starting day of the month
842 **** Allow relative times in clocktable tstart and tend options
843 **** The clocktable summary is now a caption
844 **** =:tstart= and =:tend= and friends allow relative times like "<-1w>" or "<now>"
847 **** You can now use =C-c C-k= for [[doc:org-edit-src-abort][org-edit-src-abort]]
849 This allows you to quickly cancel editing a source block.
851 **** =C-u C-u M-x org-babel-tangle RET= tangles by the target file of the block at point
853 This is handy if you want to tangle all source code blocks that have the
854 same target than the block at point.
856 **** New options for auto-saving the base buffer or the source block editing buffer
858 When [[doc:org-edit-src-turn-on-auto-save][org-edit-src-turn-on-auto-save]] is set to =t=, editing a source block
859 in a new window will turn on =auto-save-mode= and save the code in a new
860 file under the same directory than the base Org file.
862 When [[doc:org-edit-src-auto-save-idle-delay][org-edit-src-auto-save-idle-delay]] is set to a number of minutes =N=,
863 the base Org buffer will be saved after this number of minutes of idle
866 **** New =:post= header argument post-processes results
868 This header argument may be used to pass the results of the current
869 code block through another code block for post-processing. See the
870 manual for a usage example.
872 **** Commented out heading are ignored when collecting blocks for tangling
874 If you comment out a heading (with =C-c ;= anywhere on the heading or in
875 the subtree), code blocks from within this heading are now ignored when
876 collecting blocks for tangling.
878 **** New option [[doc:org-babel-hash-show-time][org-babel-hash-show-time]] to show a time-stamp in the result hash
879 **** Do not ask for confirmation if cached value is current
881 Do not run [[doc:org-babel-confirm-evaluate][org-babel-confirm-evaluate]] if source block has a cache and the
882 cache value is current as there is no evaluation involved in this case.
883 **** =ob-sql.el= and =ob-python.el= have been improved.
884 **** New Babel files only need to =(require 'ob)=
886 When writing a new Babel file, you now only need to use =(require 'ob)=
887 instead of requiring each Babel library one by one.
890 - Org now fontifies radio link targets by default
891 - In the agenda, use [[doc:org-todo-keyword-faces][org-todo-keyword-faces]] to highlight selected TODO keywords
892 - New face [[doc:org-priority][org-priority]], enhanced fontification of priority cookies in agenda
893 - New face [[doc:org-tag-group][org-tag-group]] for group tags
897 - New speedy key =s= pour [[doc:org-narrow-to-subtree][org-narrow-to-subtree]]
898 - Handling of [[doc:org-html-table-row][org-html-table-row]] has been updated (incompatible change)
899 - [[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]]
900 - Support using =git-annex= with Org attachments
901 - org-protocol: Pass optional value using query in url to capture from protocol
902 - When the refile history is empty, use the current filename as default
903 - When you cannot change the TODO state of a task, Org displays the blocking task
904 - New option [[doc:org-mobile-allpriorities][org-mobile-allpriorities]]
905 - org-bibtex.el now use =visual-line-mode= instead of the deprecated =longlines-mode=
906 - [[doc:org-format-latex-options][org-format-latex-options]] allows to set the foreground/background colors automatically
907 - New option [[doc:org-archive-file-header-format][org-archive-file-header-format]]
908 - New "neg" entity in [[doc:org-entities][org-entities]]
909 - New function [[doc:org-docview-export][org-docview-export]] to export docview links
910 - New =:eps= header argument for ditaa code blocks
911 - New option [[doc:org-gnus-no-server][org-gnus-no-server]] to start Gnus with =gnus-no-server=
912 - Org is now distributed with =htmlize.el= version 1.43
913 - ~org-drill.el~ has been updated to version 2.3.7
914 - ~org-mac-iCal.el~ now supports MacOSX version up to 10.8
915 - Various improvements to ~org-contacts.el~ and =orgpan.el=
919 *** Spanish translation of the Org guide by David Arroyo Menรฉndez
921 David (and others) translated the Org compact guide in spanish:
923 You can read the [[http://orgmode.org/worg/orgguide/orgguide.es.pdf][PDF guide]].
925 *** ~poporg.el~ and ~outorg.el~
927 Two new libraries (~poporg.el~ by Franรงois Pinard and ~outorg.el~ by
928 Thorsten Jolitz) now enable editing of comment-sections from source-code
929 buffers in temporary Org-mode buffers, making the full editing power of
930 Org-mode available. ~outorg.el~ comes together with ~outshine.el~ and
931 ~navi-mode.el~, two more libraries by Thorsten Jolitz with the goal to give
932 source-code buffers the /look & feel/ of Org-mode buffers while greatly
933 improving navigation and structure editing. A detailed description can be
934 found here: http://orgmode.org/worg/org-tutorials/org-outside-org.html
936 Here are two screencasts demonstrating Thorsten's tools:
938 - [[http://youtu.be/nqE6YxlY0rw]["Modern conventions for Emacs Lisp files"]]
939 - [[http://www.youtube.com/watch?v%3DII-xYw5VGFM][Exploring Bernt Hansen's Org-mode tutorial with 'navi-mode']]
941 *** MobileOrg for iOS
943 MobileOrg for iOS back in the App Store The 1.6.0 release was focused on
944 the new Dropbox API and minor bug fixes but also includes a new ability to
945 launch in Capture mode. Track development and contribute [[https://github.com/MobileOrg/mobileorg/issues][on github]].
949 ** New option [[doc::org-agenda-use-tag-inheritance][org-agenda-use-tag-inheritance]]
951 [[doc::org-use-tag-inheritance][org-use-tag-inheritance]] controls whether tags are inherited when
952 org-tags-view is called (either in =tags=, =tags-tree= or =tags-todo=
955 When generating other agenda types such as =agenda=, =todo= and
956 =todo-tree=, tags inheritance is not used when selecting the entries
957 to display. Still, you might want to have all tag information correct
958 in the agenda buffer, e.g. for tag filtering. In that case, add the
959 agenda type to this variable.
961 Setting this variable to nil should considerably speeds up the agenda
964 Note that the default was to display inherited tags in the agenda
965 lines even if `org-use-tag-inheritance' was nil. The default is now
966 to *never* display inherited tags in agenda lines, but to /know/ about
967 them when the agenda type is listed in [[doc::org-agenda-use-tag-inheritance][org-agenda-use-tag-inheritance]].
969 ** New default value nil for [[doc::org-agenda-dim-blocked-tasks][org-agenda-dim-blocked-tasks]]
971 Using `nil' as the default value speeds up the agenda generation. You
972 can hit `#' (or `C-u #') in agenda buffers to temporarily dim (or turn
973 invisible) blocked tasks.
975 ** New speedy keys for [[doc::org-speed-commands-default][org-speed-commands-default]]
977 You can now use `:' (instead of `;') for setting tags---this is
978 consistent with using the `:' key in agenda view.
980 You can now use `=' for [[doc::org-columns][org-columns]].
982 ** =org-float= is now obsolete, use =diary-float= instead
983 ** No GPL manual anymore
985 There used to be a GPL version of the Org manual, but this is not the
986 case anymore, the Free Software Foundation does not permit this.
988 The GNU FDL license is now included in the manual directly.
990 ** Enhanced compatibility with Emacs 22 and XEmacs
992 Thanks to Achim for his work on enhancing Org's compatibility with
993 various Emacsen. Things may not be perfect, but Org should work okay
994 in most environments.
998 ** New ELPA repository for Org packages
1000 You can now add the Org ELPA repository like this:
1002 #+BEGIN_SRC emacs-lisp
1003 (add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)
1006 It contains both the =org-*.tar= package (the core Org distribution, also
1007 available through http://elpa.gnu.org) and the =org-plus*.tar= package (the
1008 extended Org distribution, with non-GNU packages from the =contrib/=
1011 See http://orgmode.org/elpa/
1013 ** Overview of the new keybindings
1015 | Keybinding | Speedy | Command |
1016 |-----------------+--------+-----------------------------|
1017 | =C-c C-x C-z= | | [[doc::org-clock-resolve][org-clock-resolve]] |
1018 | =C-c C-x C-q= | | [[doc::org-clock-cancel][org-clock-cancel]] |
1019 | =C-c C-x C-x= | | [[doc::org-clock-in-last][org-clock-in-last]] |
1020 | =M-h= | | [[doc::org-mark-element][org-mark-element]] |
1021 | =*= | | [[doc::org-agenda-bulk-mark-all][org-agenda-bulk-mark-all]] |
1022 | =C-c C-M-l= | | [[doc::org-insert-all-links][org-insert-all-links]] |
1023 | =C-c C-x C-M-v= | | [[doc::org-redisplay-inline-images][org-redisplay-inline-images]] |
1024 | =C-c C-x E= | =E= | [[doc::org-inc-effort][org-inc-effort]] |
1025 | | =#= | [[doc::org-toggle-comment][org-toggle-comment]] |
1026 | | =:= | [[doc::org-columns][org-columns]] |
1027 | | =W= | Set =APPT_WARNTIME= |
1028 | =k= | | [[doc::org-agenda-capture][org-agenda-capture]] |
1029 | C-c , | , | [[doc::org-priority][org-priority]] |
1031 ** New package and Babel langage
1033 *** =org-eshell.el= by Konrad Hinsen is now in Org
1035 =org-eshell.el= allows you to create links from [[http://www.gnu.org/software/emacs/manual/html_node/eshell/index.html][Eshell]].
1037 *** Support for execution of Scala code blocks (see ob-scala.el)
1038 *** Support for execution of IO code blocks (see ob-io.el)
1040 ** Incompatible changes
1042 - If your code relies on =org-write-agenda=, please use
1043 [[doc::org-agenda-write][org-agenda-write]] from now on.
1045 - If your code relies on =org-make-link=, please use =concat=
1048 - =org-link-to-org-use-id= has been renamed to
1049 =org-id-link-to-org-use-id= and its default value is nil. The
1050 previous default was =create-if-interactive-and-no-custom-id=.
1052 ** New features and user-visible changes
1056 =org-element.el= is a toolbox for parsing and analyzing "elements"
1057 in an Org-mode buffer. This has been written by Nicolas Goaziou
1058 and has been tested for quite some time. It is now part of Org's
1059 core and many core functions rely on this package.
1061 Two functions might be particularly handy for users:
1062 =org-element-at-point= and =org-element-context=.
1064 See the docstrings for more details.
1066 Below is a list of editing and navigating commands that now rely
1067 on =org-element.el=.
1069 **** [[doc::org-fill-paragraph][org-fill-paragraph]] has been completely rewritten
1071 The filling mechanisms now rely on org-element, trying to do the
1072 right thing on each element in various contexts. E.g. filling in
1073 a list item will preserve indentation; filling in message-mode
1074 will fall back on the relevant filling functions; etc.
1076 **** [[doc::org-metaup][org-metaup]] and [[doc::org-metadown][org-metadown]] will drag the element backward/forward
1078 If you want to get the old behavior (i.e. moving a line up and
1079 down), you can first select the line as an active region, then
1080 =org-metaup= or =org-metadown= to move the region backward or
1081 forward. This also works with regions bigger than just one line.
1083 **** [[doc::org-up-element][org-up-element]] and [[doc::org-down-element][org-down-element]] (respectively =C-c C-^= and =C-c C-_=)
1085 This will move the point up/down in the hierarchy of elements.
1087 **** [[doc::org-backward-element][org-backward-element]] and [[doc::org-forward-element][org-forward-element]] (respectively =M-{= and =M-}=)
1089 This will move the point backward/forward in the hierarchy of
1092 **** [[doc::org-narrow-to-element][org-narrow-to-element]] will narrow to the element at point
1093 **** [[doc::org-mark-element][org-mark-element]] will mark the element at point
1095 This command is bound to =M-h= and will mark the element at
1096 point. If the point is at a paragraph, it will mark the
1097 paragraph. If the point is at a list item, it will mark the list
1100 Note that if point is at the beginning of a list, it will mark
1103 To mark a subtree, you can either use =M-h= on the headline
1104 (since there is no ambiguity about the element you're at) or
1105 [[doc::org-mark-subtree][org-mark-subtree]] (=C-c @=) anywhere in the subtree.
1107 Invoking [[doc::org-mark-element][org-mark-element]] repeatedly will try to mark the next
1108 element on top of the previous one(s). E.g. hitting =M-h= twice
1109 on a headline will mark the current subtree and the next one on
1114 **** New option [[doc::org-agenda-sticky][org-agenda-sticky]]
1116 There is a new option =org-agenda-sticky= which enables "sticky"
1117 agendas. Sticky agendas remain opened in the background so that
1118 you don't need to regenerate them each time you hit the
1119 corresponding keystroke. This is a big time saver.
1121 When [[doc::org-agenda-sticky][org-agenda-sticky]] is =non-nil=, the agenda buffer will be
1122 named using the agenda key and its description. In sticky
1123 agendas, the =q= key will just bury the agenda buffers and
1124 further agenda commands will show existing buffer instead of
1125 generating new ones.
1127 If [[doc::org-agenda-sticky][org-agenda-sticky]] is set to =nil=, =q= will kill the single
1130 **** New option [[doc::org-agenda-custom-commands-contexts][org-agenda-custom-commands-contexts]]
1132 Setting this option allows you to define specific context where
1133 agenda commands should be available from. For example, when set
1136 #+BEGIN_SRC emacs-lisp
1137 (setq org-agenda-custom-commands-contexts
1138 '(("p" (in-file . "\\.txt"))))
1141 then the =p= agenda command will only be available from buffers
1142 visiting *.txt files. See the docstring and the manual for more
1143 details on how to use this.
1145 **** Changes in bulk actions
1147 The set of commands starting with =k ...= as been deleted and the
1148 features have been merged into the "bulk action" feature.
1150 After you marked some entries in the agenda, if you call =B s=,
1151 the agenda entries will be rescheduled using the date at point if
1152 on a date header. If you are on an entry with a timestamp, you
1153 will be prompted for a date to reschedule your marked entries to,
1154 using the timestamp at point as the default prompt.
1156 You can now use =k= to capture the marked entry and use the date
1157 at point as an overriding date for the capture template.
1159 To bind this behavior to =M-x org-capture RET= (or its
1160 keybinding), set the new option [[doc::org-capture-use-agenda-date][org-capture-use-agenda-date]] to
1163 **** =N= and =P= in the agenda will move to the next/previous item
1165 **** New command [[doc::org-agenda-bulk-mark-all][org-agenda-bulk-mark-all]] to mark all items
1167 This new command is bound to =*= in agenda mode.
1169 There is also a new option [[doc::org-agenda-bulk-mark-char][org-agenda-bulk-mark-char]] to set the
1170 character to use as a mark for bulk actions.
1172 **** New option [[doc::org-agenda-persistent-marks][org-agenda-persistent-marks]]
1174 When set to =non-nil=, marks will remain visible after a bulk
1175 action. You can temporarily toggle this by pressing =p= when
1176 invoking [[doc::org-agenda-bulk-action][org-agenda-bulk-action]]. Marks are deleted if your
1177 rebuild the agenda buffer or move to another date/span (e.g. with
1180 **** New option [[doc::org-agenda-skip-timestamp-if-deadline-is-shown][org-agenda-skip-timestamp-if-deadline-is-shown]]
1182 =Non-nil= means skip timestamp line if same entry shows because
1185 In the agenda of today, an entry can show up multiple times
1186 because it has both a plain timestamp and has a nearby deadline.
1187 When this variable is t, then only the deadline is shown and the
1188 fact that the entry has a timestamp for or including today is not
1189 shown. When this variable is =nil=, the entry will be shown
1192 **** New =todo-unblocked= and =nottodo-unblocked= skip conditions
1194 See the [[http://orgmode.org/w/?p%3Dorg-mode.git%3Ba%3Dcommit%3Bh%3Df426da][git commit]] for more explanations.
1196 **** Allow category filtering in the agenda
1198 You can now filter the agenda by category. Pressing "<" will
1199 filter by the category of the item on the current line, and
1200 pressing "<" again will remove the filter. You can combine tag
1201 filters and category filters.
1203 You can use =org-agenda-category-filter= in your custom agenda
1204 views and =org-agenda-category-filter-preset= in your main
1207 See also the new command [[doc::org-agenda-filter-by-top-category][org-agenda-filter-by-top-category]]:
1208 hitting =^= will filter by "Top" category: only show entries that
1209 are of the same category than the Top category of the entry at
1214 **** Inserting links
1216 When inserting links through [[doc::org-insert-link][org-insert-link]], the description is
1217 now displayed first, followed by the literal link, as the
1218 description is often more useful when you look for the link you
1221 Completion now complete both literal links and description. If
1222 you complete a description, the literal link and its description
1223 will be inserted directly, whereas when you complete the literal
1224 link, you will be prompted for a description (as with Org 7.8.)
1226 In the completion buffer, links to the current buffer are now
1229 **** New templates =%h= and =%(sexp)= for abbreviated links
1231 On top of =%s= template, which is replaced by the link tag in
1232 abbreviated links, you can now use =%h= (which does the same than =%s=
1233 but does not hexify the tag) and =%(sexp)= (which can run a function
1234 that takes the tag as its own argument.)
1236 **** New link type =help=
1238 You can now create links from =help= buffers.
1240 For example, if you request help for the command [[doc::org-agenda][org-agenda]] with
1241 =C-h f org-agenda RET=, creating a link from this buffer will let
1242 you go back to the same buffer.
1244 **** New command [[doc::org-insert-all-links][org-insert-all-links]]
1246 This will insert all links as list items. With a universal
1247 prefix argument, links will not be deleted from the variable
1250 This new command is bound to =C-c C-M-l=.
1252 **** New option [[doc::org-url-hexify-p][org-url-hexify-p]]
1254 When set to =nil=, the =URL= part of a link will not be hexified.
1256 **** Org can now open multiple shell links
1258 **** New option [[doc::org-doi-server-url][org-doi-server-url]] to specify an alternate DOI server
1260 **** RET now follows time stamps links
1264 **** [[doc::org-todo][org-todo]] and =org-archive-*= can now loop in the active region
1266 When [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]] is =non-nil=, using
1267 [[doc::org-todo][org-todo]] or =org-archive-*= commands in the active region will
1268 loop over headlines. This is handy if you want to set the TODO
1269 keyword for several items, or archive them quickly.
1271 **** You can now set tags for headlines in a region
1273 If [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]] is =non-nil=, then
1274 selecting the region and hitting =C-c C-q= will set the tags for
1275 all headlines in the region.
1277 **** New command [[doc::org-insert-drawer][org-insert-drawer]] to insert a drawer interactively
1279 **** Comments start with "^[ \t]*# " anywhere on a line
1281 Note that the space after the hashtag is mandatory. Comments
1282 with "^#+" are not supported anymore.
1284 **** New speed key =#= to toggle the COMMENT cookie on a headline
1286 **** =indent-region-function= is now set to [[doc::org-indent-region][org-indent-region]]
1288 =C-M-\= should now produce useful results.
1290 You can unindent the buffer with [[doc::org-unindent-buffer][org-unindent-buffer]].
1292 **** New option [[doc::org-allow-promoting-top-level-subtree][org-allow-promoting-top-level-subtree]]
1294 When =non-nil=, =S-M-<left>= will promote level-1 subtrees
1295 containing other subtrees. The level-1 headline will be
1296 commented out. You can revert to the previous state with =M-x
1301 **** New keybinding =C-c C-x C-z= for [[doc::org-clock-resolve][org-clock-resolve]]
1303 **** New keybinding =C-c C-x C-q= for [[doc::org-clock-cancel][org-clock-cancel]]
1305 **** New command [[doc::org-clock-in-last][org-clock-in-last]] to clock in the last clocked item
1307 This command is bound to =C-c C-x C-x= and will clock in the last
1308 clocked entry, if any.
1310 **** =C-u M-x= [[doc::org-clock-out][org-clock-out]] =RET= now prompts for a state to switch to
1312 **** =S-M-<up/down>= on a clock timestamps adjusts the previous/next clock
1314 **** New option [[doc::org-clock-continuously][org-clock-continuously]]
1316 When set to =nil=, clocking in a task will first try to find the
1317 last clocked out task and restart from when that task was clocked
1320 You can temporarily activate continuous clocking with =C-u C-u
1321 C-u M-x= [[doc::org-clock-in][org-clock-in]] =RET= (three universal prefix arguments)
1322 and =C-u C-u M-x= [[org-clock-in-last][org-clock-in-last]] =RET= (two universal prefix
1326 **** New option [[doc::org-clock-frame-title-format][org-clock-frame-title-format]]
1328 This option sets the value of =frame-title-format= when clocking
1331 **** New options for controlling the clockreport display
1333 [[doc::org-clock-file-time-cell-format][org-clock-file-time-cell-format]]: Format string for the file time
1334 cells in clockreport.
1336 [[doc::org-clock-total-time-cell-format][org-clock-total-time-cell-format]]: Format string for the total
1337 time cells in clockreport.
1340 **** New options for controlling the clock/timer display
1342 [[doc::org-clock-clocked-in-display][org-clock-clocked-in-display]]: control whether the current clock
1343 is displayed in the mode line and/or frame title.
1345 [[doc::org-timer-display][org-timer-display]]: control whether the current timer is displayed
1346 in the mode line and/or frame title.
1348 This allows the clock and timer to be displayed in the frame
1349 title instead of, or as well as, the mode line. This is useful
1350 for people with limited space in the mode line but with ample
1351 space in the frame title.
1355 **** New option [[doc::org-custom-properties][org-custom-properties]]
1357 The visibility of properties listed in this options can be turn
1358 on/off with [[doc::org-toggle-custom-properties-visibility][org-toggle-custom-properties-visibility]]. This might
1359 be useful for properties used by third-part tools or that you
1360 don't want to see temporarily.
1362 **** New command [[doc::org-redisplay-inline-images][org-redisplay-inline-images]]
1364 This will redisplay all images. It is bound to =C-c C-x C-M-v=.
1366 **** New entities in =org-entities.el=
1368 There are these new entities:
1370 : ("tilde" "\\~{}" nil "˜" "~" "~" "~")
1371 : ("slash" "/" nil "/" "/" "/" "/")
1372 : ("plus" "+" nil "+" "+" "+" "+")
1373 : ("under" "\\_" nil "_" "_" "_" "_")
1374 : ("equal" "=" nil "=" "=" "=" "=")
1375 : ("asciicirc" "\\textasciicircum{}" nil "^" "^" "^" "^")
1377 **** New face =org-list-dt= for definition terms
1378 **** New face =org-date-selected= for the selected calendar day
1379 **** New face value for =org-document-title=
1381 The face is back to a normal height.
1385 **** New speed command =:= to activate the column view
1386 **** New special property =CLOCKSUM_T= to display today's clocked time
1388 You can use =CLOCKSUM_T= the same way you use =CLOCKSUM=. It
1389 will display the time spent on tasks for today only.
1391 **** Use the =:COLUMNS:= property in columnview dynamic blocks
1393 If the =:COLUMNS:= is set in a subtree, the columnview dynamic
1394 block will use its value as the column format.
1396 **** Consider inline tasks when computing a sum
1398 *** Org Dates and Time Stamps
1400 **** Enhanced [[doc::org-sparse-tree][org-sparse-tree]]
1402 =C-c /= can now check for time ranges.
1404 When checking for dates with =C-c /= it is useful to change the
1405 type of dates that you are interested in. You can now do this
1406 interactively with =c= after =C-c /= and/or by setting
1407 [[doc::org-sparse-tree-default-date-type][org-sparse-tree-default-date-type]] to the default value you want.
1409 **** Support for hourly repeat cookies
1413 : SCHEDULED: <2012-08-20 lun. 08:00 +1h>
1415 if you want to add an hourly repeater to an entry.
1417 **** =C-u C-u C-c .= inserts a time-stamp with no prompt
1419 **** When (setq [[doc::org-read-date-prefer-future][org-read-date-prefer-future]] 'time), accept days in the prompt
1421 "8am Wed" and "Wed 8am" are now acceptable values when entering a
1422 date from the prompt. If [[doc::org-read-date-prefer-future][org-read-date-prefer-future]] is set to
1423 =time=, this will produce the expected prompt indication.
1425 **** New option [[doc::org-datetree-add-timestamp][org-datetree-add-timestamp]]
1427 When set to =non-nil=, datetree entries will also have a
1428 timestamp. This is useful if you want to see these entries in a
1429 sparse tree with =C-c /=.
1433 **** New command [[doc::org-capture-string][org-capture-string]]
1435 M-x [[doc::org-capture-string][org-capture-string]] RET will prompt for a string and a capture
1436 template. The string will be used as an annotation for the
1437 template. This is useful when capturing in batch mode as it lets
1438 you define the content of the template without being in Emacs.
1440 **** New option [[doc::org-capture-templates-contexts][org-capture-templates-contexts]]
1442 Setting this option allows you to define specific context where
1443 capture templates should be available from. For example, when
1446 #+BEGIN_SRC emacs-lisp
1447 (setq org-capture-templates-contexts
1448 '(("c" (in-mode . "message-mode"))))
1451 then the =c= capture template will only be available from
1452 =message-mode= buffers. See the docstring and the manual for
1453 more details on how to use this.
1455 **** New =%l= template to insert the literal link
1456 **** New option [[doc::org-capture-bookmark][org-capture-bookmark]]
1458 Org used to automatically add a bookmark with capture a note.
1459 You can now turn this on by setting [[doc::org-capture-bookmark][org-capture-bookmark]] to
1462 **** Expand =%<num>= escape sequences into text entered for <num>'th =%^{PROMPT}= escape
1464 See the manual for more explanations.
1466 **** More control over empty lines
1468 You can use =:empty-lines-before= and =:empty-lines-after= to
1469 control the insertion of empty lines. Check the manual for more
1472 **** New hook [[doc::org-capture-prepare-finalize-hook][org-capture-prepare-finalize-hook]]
1474 This new hook runs before the finalization process starts.
1478 **** New functions =orgtbl-to-table.el= and =orgtbl-to-unicode=
1480 =orgtbl-to-table.el= convert the table to a =table.el= table, and
1481 =orgtbl-to-unicode= will use =ascii-art-to-unicode.el= (when
1482 available) to print beautiful tables.
1484 **** [[doc::org-table-export][org-table-export]] now a bit clever about the target format
1486 When you specify a file name like =table.csv=, [[doc::org-table-export][org-table-export]]
1487 will now suggest =orgtbl-to-csv= the default method for exporting
1490 **** New option [[doc::org-export-date-timestamp-format][org-export-date-timestamp-format]]
1492 The option allows to set a time string format for Org timestamps
1493 in the #+DATE option.
1495 **** LaTeX: New options for exporting table rules :tstart, :hline and :tend
1497 See [[doc::org-export-latex-tables-hline][org-export-latex-tables-hline]] and [[doc::org-export-latex-tables-tend][org-export-latex-tables-tend]].
1499 **** LaTeX: You can now set =:hfmt= from =#+ATTR_LaTeX=
1500 **** Beamer: Add support and keybinding for the =exampleblock= environment
1502 Add support for these languages in [[doc::org-export-language-setup][org-export-language-setup]].
1503 More languages are always welcome.
1505 **** Beamer: New option [[doc::org-beamer-inherited-properties][org-beamer-inherited-properties]]
1507 This option allows Beamer export to inherit some properties.
1508 Thanks to Carsten for implementing this.
1510 **** ODT: Add support for ODT export in org-bbdb.el
1511 **** ODT: Add support for indented tables (see [[http://orgmode.org/w/?p%3Dorg-mode.git%3Ba%3Dcommit%3Bh%3De9fd33][this commit]] for details)
1512 **** ODT: Improve the conversion from ODT to other formats
1513 **** ASCII: Swap the level-1/level-2 characters to underline the headlines
1514 **** Support for Chinese, simplified Chinese, Russian, Ukrainian and Japanese
1515 **** HTML: New option [[doc::org-export-html-date-format-string][org-export-html-date-format-string]]
1517 Format string to format the date and time in HTML export. Thanks
1518 to Sรฉbastien Vauban for this patch.
1522 **** New =:results drawer= parameter
1524 =:results drawer= replaces =:results wrap=, which is deprecated but still
1527 **** =:results org= now put results in a =#+BEGIN_SRC org= block
1529 =:results org= used to put results in a =#+BEGIN_ORG= block but it now puts
1530 results in a =#+BEGIN_SRC org= block, with comma-escaped lines.
1532 =#+BEGIN_ORG= blocks are obsolete.
1534 **** Exporting =#+BEGIN_SRC org= blocks exports the code
1536 It used to exports the results of the code.
1540 **** New menu entry for [[doc::org-refile][org-refile]]
1541 **** Allow capturing to encrypted entries
1543 If you capture to an encrypted entry, it will be decrypted before
1544 inserting the template then re-encrypted after finalizing the capture.
1546 **** Inactive timestamps are now handled in tables
1548 Calc can do computation on active time-stamps like <2012-09-29 sat.>.
1549 Inactive time-stamps in a table's cell are now internally deactivated so
1550 that Calc formulas can operate on them.
1552 **** [[doc::org-table-number-regexp][org-table-number-regexp]] can now accept comma as decimal mark
1553 **** Org allows a new property =APPT_WARNTIME=
1555 You can set it with the =W= speedy key or set it manually. When
1556 set, exporting to iCalendar and [[doc::org-agenda-to-appt][org-agenda-to-appt]] will use the
1557 value of this property as the number of minutes for the warning
1560 **** New command [[doc::org-inc-effort][org-inc-effort]]
1562 This will increment the effort value.
1564 It is bound to =C-c C-x E= and to =E= as a speedy command.
1566 **** Attach: Add support for creating symbolic links
1568 =org-attach-method= now supports a new method =lns=, allowing to
1569 attach symbolic links.
1571 **** Archive: you can now archive to a datetree
1573 **** New option [[doc::org-inlinetask-show-first-star][org-inlinetask-show-first-star]]
1575 =Non-nil= means display the first star of an inline task as
1576 additional marker. When =nil=, the first star is not shown.
1578 **** New option [[doc::org-latex-preview-ltxpng-directory][org-latex-preview-ltxpng-directory]]
1580 This lets you define the path for the =ltxpng/= directory.
1582 **** You can now use imagemagick instead of dvipng to preview LaTeX fragments
1583 **** You can now turn off [[doc::orgstruct++-mode][orgstruct++-mode]] safely
1584 **** =C-u C-c C-c= on list items to add check boxes
1586 =C-u C-c C-c= will add an empty check box on a list item.
1588 When hit from the top of the list, it will add check boxes for
1589 all top level list items.
1591 **** =org-list-ending-method= and =org-list-end-regexp= are now obsolete
1593 Fall back on using =org-list-end-re= only, which see.
1595 **** org-feed.el now expands =%(sexp)= templates
1596 **** New option [[doc::org-protocol-data-separator][org-protocol-data-separator]]
1598 **** New option [[doc::org-ditaa-jar-option][org-ditaa-jar-option]] to specify the ditaa jar file
1600 **** New possible value for [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]]
1602 When [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]] is set to
1603 =start-level=, the command will loop over the active region but
1604 will only act upon entries that are of the same level than the
1605 first headline in the region.
1607 **** New option [[doc::org-habit-show-all-today][org-habit-show-all-today]]
1609 When set to =t=, show all (even unscheduled) habits on today's
1612 ** Important bug fixes
1614 *** M-TAB on options keywords perform completion correctly again
1616 If you hit =M-TAB= on keywords like =#+TITLE=, Org will try to
1617 perform completion with meaningful values.
1619 *** Add licenses to javascript embedded and external code snippets
1621 Embedded javascript code produced when exporting an Org file to
1622 HTML is now licensed under GPLv3 (or later), and the copyright is
1623 owned by the Free Software Foundation, Inc.
1625 The javascript code for embedding MathJax in the browser mentions
1626 the MathJax copyright and the Apache 2.0 license.
1628 The javascript code for embedding =org-injo.js= in the browser
1629 mentions the copyright of Sebastian Rose and the GPLv3 (or later)
1632 =org-export-html-scripts= is now a variable, so that you can adapt
1633 the code and the license to your needs.
1635 See http://www.gnu.org/philosophy/javascript-trap.html for
1636 explanations on why these changes were necessary.
1640 ** Incompatible changes
1642 *** Emacs 21 support has been dropped
1644 Do not use Org mode 7.xx with Emacs 21, use [[http://orgmode.org/org-6.36c.zip][version 6.36c]] instead.
1646 *** XEmacs support requires the XEmacs development version
1648 To use Org mode 7.xx with XEmacs, you need to run the developer
1649 version of XEmacs. We were about to drop XEmacs support entirely,
1650 but Michael Sperber stepped in and made changes to XEmacs that
1651 made it easier to keep the support. Thanks to Michael for this
1654 *** New keys for TODO sparse trees
1656 The key =C-c C-v= is now reserved for Org Babel action. TODO
1657 sparse trees can still be made with =C-c / t= (all not-done
1658 states) and =C-c / T= (specific states).
1660 *** The Agenda =org-agenda-ndays= is now obsolete
1662 The variable =org-agenda-ndays= is obsolete - please use
1663 =org-agenda-span= instead.
1665 Thanks to Julien Danjou for this.
1667 *** Changes to the intended use of =org-export-latex-classes=
1669 So far this variable has been used to specify the complete header
1670 of the LaTeX document, including all the =\usepackage= calls
1671 necessary for the document. This setup makes it difficult to
1672 maintain the list of packages that Org itself would like to call,
1673 for example for the special symbol support it needs.
1675 First of all, you can *opt out of this change* in the following
1676 way: You can say: /I want to have full control over headers, and I
1677 will take responsibility to include the packages Org needs/. If
1678 that is what you want, add this to your configuration and skip the
1679 rest of this section (except maybe for the description of the
1680 =[EXTRA]= place holder):
1682 #+begin_src emacs-lisp
1683 (setq org-export-latex-default-packages-alist nil
1684 org-export-latex-packages-alist nil)
1687 /Continue to read here if you want to go along with the modified
1690 There are now two variables that should be used to list the LaTeX
1691 packages that need to be included in all classes. The header
1692 definition in =org-export-latex-classes= should then not contain
1693 the corresponding =\usepackage= calls (see below).
1695 The two new variables are:
1697 1. =org-export-latex-default-packages-alist= :: This is the
1698 variable where Org-mode itself puts the packages it needs.
1699 Normally you should not change this variable. The only
1700 reason to change it anyway is when one of these packages
1701 causes a conflict with another package you want to use. Then
1702 you can remove that packages and hope that you are not using
1703 Org-mode functionality that needs it.
1705 2. =org-export-latex-packages-alist= :: This is the variable where
1706 you can put the packages that you'd like to use across all
1709 The sequence how these customizations will show up in the LaTeX
1712 1. Header from =org-export-latex-classes=
1713 2. =org-export-latex-default-packages-alist=
1714 3. =org-export-latex-packages-alist=
1715 4. Buffer-specific things set with =#+LaTeX_HEADER:=
1717 If you want more control about which segment is placed where, or
1718 if you want, for a specific class, have full control over the
1719 header and exclude some of the automatic building blocks, you can
1720 put the following macro-like place holders into the header:
1723 [DEFAULT-PACKAGES] \usepackage statements for default packages
1724 [NO-DEFAULT-PACKAGES] do not include any of the default packages
1725 [PACKAGES] \usepackage statements for packages
1726 [NO-PACKAGES] do not include the packages
1727 [EXTRA] the stuff from #+LaTeX_HEADER
1728 [NO-EXTRA] do not include #+LaTeX_HEADER stuff
1731 If you have currently customized =org-export-latex-classes=, you
1732 should revise that customization and remove any package calls that
1733 are covered by =org-export-latex-default-packages-alist=. This
1734 applies to the following packages:
1752 If one of these packages creates a conflict with another package
1753 you are using, you can remove it from
1754 =org-export-latex-default-packages-alist=. But then you risk that
1755 some of the advertised export features of Org will not work
1758 You can also consider moving packages that you use in all classes
1759 to =org-export-latex-packages-alist=. If necessary, put the place
1760 holders so that the packages get loaded in the right sequence. As
1761 said above, for backward compatibility, if you omit the place
1762 holders, all the variables will dump their content at the end of
1765 *** The constant =org-html-entities= is obsolete
1767 Its content is now part of the new constant =org-entities=, which
1768 is defined in the file org-entities.el. =org-html-entities= was
1769 an internal variable, but it is possible that some users did write
1772 *** =org-bbdb-anniversary-format-alist= has changed
1774 Please check the docstring and update your settings accordingly.
1776 *** Deleted =org-mode-p=
1778 This function has been deleted: please update your code.
1780 ** Important new features
1782 *** New Org to ODT exporter
1784 Jambunathan's Org to ODT exporter is now part of Org.
1786 To use it, it `C-c C-e o' in an Org file. See the documentation
1787 for more information on how to customize it.
1789 *** org-capture.el is now the default capture system
1791 This replaces the earlier system org-remember. The manual only
1792 describes org-capture, but for people who prefer to continue to
1793 use org-remember, we keep a static copy of the former manual
1794 section [[http://orgmode.org/org-remember.pdf][chapter about remember]].
1796 The new system has a technically cleaner implementation and more
1797 possibilities for capturing different types of data. See
1798 [[http://thread.gmane.org/gmane.emacs.orgmode/26441/focus%3D26441][Carsten's announcement]] for more details.
1800 To switch over to the new system:
1804 : M-x org-capture-import-remember-templates RET
1806 to get a translated version of your remember templates into the
1807 new variable =org-capture-templates=. This will "mostly" work,
1808 but maybe not for all cases. At least it will give you a good
1809 place to modify your templates. After running this command,
1810 enter the customize buffer for this variable with
1812 : M-x customize-variable RET org-capture-templates RET
1814 and convince yourself that everything is OK. Then save the
1817 2. Bind the command =org-capture= to a key, similar to what you did
1820 : (define-key global-map "\C-cc" 'org-capture)
1822 If your fingers prefer =C-c r=, you can also use this key once
1823 you have decided to move over completely to the new
1824 implementation. During a test time, there is nothing wrong
1825 with using both system in parallel.
1829 *** New Org libraries
1830 **** org-eshell.el (Konrad Hinsen)
1832 Implement links to eshell buffers.
1834 **** org-special-blocks (Carsten Dominik)
1836 This package generalizes the #+begin_foo and #+end_foo tokens.
1838 To use, put the following in your init file:
1841 (require 'org-special-blocks)
1844 The tokens #+begin_center, #+begin_verse, etc. existed
1845 previously. This package generalizes them (at least for the
1846 LaTeX and html exporters). When a #+begin_foo token is
1847 encountered by the LaTeX exporter, it is expanded
1848 into \begin{foo}. The text inside the environment is not
1849 protected, as text inside environments generally is.
1850 When #+begin_foo is encountered by the html exporter, a div with
1851 class foo is inserted into the HTML file. It is up to the user
1852 to add this class to his or her stylesheet if this div is to mean
1855 **** org-taskjuggler.el (Christian Egli)
1857 Christian Egli's /org-taskjuggler.el/ module is now part of Org.
1858 He also wrote a [[http://orgmode.org/worg/org-tutorials/org-taskjuggler.php][tutorial]] for it.
1860 **** org-ctags.el (Paul Sexton)
1862 Targets like =<<my target>>= can now be found by Emacs' etag
1863 functionality, and Org-mode links can be used to to link to
1864 etags, also in non-Org-mode files. For details, see the file
1867 This feature uses a new hook =org-open-link-functions= which will
1868 call function to do something special with text links.
1870 Thanks to Paul Sexton for this contribution.
1872 **** org-docview.el (Jan Bรถcker)
1874 This new module allows links to various file types using docview, where
1875 Emacs displays images of document pages. Docview link types can point
1876 to a specific page in a document, for example to page 131 of the
1879 : [[docview:~/.elisp/org/doc/org.pdf::131][Org-Mode Manual]]
1881 Thanks to Jan Bรถcker for this contribution.
1883 *** New Babel libraries
1885 - ob-picolisp.el (Thorsten Jolitz)
1886 - ob-fortran.el (Sergey Litvinov)
1887 - ob-shen.el (Eric Schulte)
1888 - ob-maxima.el (Eric S Fraga)
1889 - ob-java.el (Eric Schulte)
1890 - ob-lilypond.el (Martyn Jago)
1891 - ob-awk.el (Eric Schulte)
1893 ** Other new features and various enhancements
1897 **** Org-Bibtex -- major improvements
1899 Provides support for managing bibtex bibliographical references
1900 data in headline properties. Each headline corresponds to a
1901 single reference and the relevant bibliographic meta-data is
1902 stored in headline properties, leaving the body of the headline
1903 free to hold notes and comments. Org-bibtex is aware of all
1904 standard bibtex reference types and fields.
1906 The key new functions are
1908 - org-bibtex-check :: queries the user to flesh out all required
1909 (and with prefix argument optional) bibtex fields available
1910 for the specific reference =type= of the current headline.
1912 - org-bibtex-create :: Create a new entry at the given level,
1913 using org-bibtex-check to flesh out the relevant fields.
1915 - org-bibtex-yank :: Yank a bibtex entry on the kill ring as a
1916 formatted Org-mode headline into the current buffer
1918 - org-bibtex-export-to-kill-ring :: Export the current headline
1919 to the kill ring as a formatted bibtex entry.
1921 **** org-gnus.el now allows link creation from messages
1923 You can now create links from messages. This is particularly
1924 useful when the user wants to stored messages that he sends, for
1925 later check. Thanks to Ulf Stegemann for the patch.
1927 **** Modified link escaping
1929 David Maus worked on `org-link-escape'. See [[http://article.gmane.org/gmane.emacs.orgmode/37888][his message]]:
1931 : Percent escaping is used in Org mode to escape certain characters
1932 : in links that would either break the parser (e.g. square brackets
1933 : in link target oder description) or are not allowed to appear in
1934 : a particular link type (e.g. non-ascii characters in a http:
1937 : With this change in place Org will apply percent escaping and
1938 : unescaping more consistently especially for non-ascii characters.
1939 : Additionally some of the outstanding bugs or glitches concerning
1940 : percent escaped links are solved.
1942 Thanks a lot to David for this work.
1944 **** Make =org-store-link= point to directory in a dired buffer
1946 When, in a dired buffer, the cursor is not in a line listing a
1947 file, `org-store-link' will store a link to the directory.
1949 Patch by Stephen Eglen.
1951 **** Allow regexps in =org-file-apps= to capture link parameters
1953 The way extension regexps in =org-file-apps= are handled has
1954 changed. Instead of matching against the file name, the regexps
1955 are now matched against the whole link, and you can use grouping
1956 to extract link parameters which you can then use in a command
1957 string to be executed.
1959 For example, to allow linking to PDF files using the syntax
1960 =file:/doc.pdf::<page number>=, you can add the following entry
1964 Extension: \.pdf::\([0-9]+\)\'
1965 Command: evince "%s" -p %1
1968 Thanks to Jan Bรถcker for a patch to this effect.
1972 **** Allow relative time when scheduling/adding a deadline
1974 You can now use relative duration strings like "-2d" or "++3w"
1975 when calling =org-schedule= or =org-deadline=: it will schedule
1976 (or set the deadline for) the item respectively two days before
1977 today and three weeks after the current timestamp, if any.
1979 You can use this programmatically: =(org-schedule nil "+2d")=
1980 will work on the current entry.
1982 You can also use this while (bulk-)rescheduling and
1983 (bulk-)resetting the deadline of (several) items from the agenda.
1985 Thanks to Memnon Anon for a heads up about this!
1987 **** American-style dates are now understood by =org-read-date=
1989 So when you are prompted for a date, you can now answer like this
1992 2/5/3 --> 2003-02-05
1993 2/5 --> <CURRENT-YEAR>-02-05
1998 **** =org-agenda-custom-commands= has a default value
2000 This option used to be `nil' by default. This now has a default
2001 value, displaying an agenda and all TODOs. See the docstring for
2002 details. Thanks to Carsten for this.
2004 **** Improved filtering through =org-agenda-to-appt=
2006 The new function allows the user to refine the scope of entries
2007 to pass to =org-agenda-get-day-entries= and allows to filter out
2008 entries using a function.
2010 Thanks to Peter Mรผnster for raising a related issue and to
2011 Tassilo Horn for this idea. Also thanks to Peter Mรผnster for
2012 [[git:68ffb7a7][fixing a small bug]] in the final implementation.
2014 **** Allow ap/pm times in agenda time grid
2016 Times in the agenda can now be displayed in am/pm format. See
2017 the new variable =org-agenda-timegrid-use-ampm=. Thanks to
2018 C. A. Webber for a patch to this effect.
2020 **** Agenda: Added a bulk "scattering" command
2022 =B S= in the agenda buffer will cause tasks to be rescheduled a
2023 random number of days into the future, with 7 as the default.
2024 This is useful if you've got a ton of tasks scheduled for today,
2025 you realize you'll never deal with them all, and you just want
2026 them to be distributed across the next N days. When called with
2027 a prefix arg, rescheduling will avoid weekend days.
2029 Thanks to John Wiegley for this.
2033 **** Simplification of org-export-html-preamble/postamble
2035 When set to `t', export the preamble/postamble as usual, honoring
2036 the =org-export-email/author/creator-info= variables.
2038 When set to a formatting string, insert this string. See the
2039 docstring of these variable for details about available
2042 You can set =:html-preamble= in publishing project in the same
2043 way: `t' means to honor =:email/creator/author-info=, and a
2044 formatting string will insert a string.
2046 **** New exporters to Latin-1 and UTF-8
2048 While Ulf Stegemann was going through the entities list to
2049 improve the LaTeX export, he had the great idea to provide
2050 representations for many of the entities in Latin-1, and for all
2051 of them in UTF-8. This means that we can now export files rich
2052 in special symbols to Latin-1 and to UTF-8 files. These new
2053 exporters can be reached with the commands =C-c C-e n= and =C-c
2054 C-e u=, respectively.
2056 When there is no representation for a given symbol in the
2057 targeted coding system, you can choose to keep the TeX-macro-like
2058 representation, or to get an "explanatory" representation. For
2059 example, =\simeq= could be represented as "[approx. equal to]".
2060 Please use the variable =org-entities-ascii-explanatory= to state
2063 **** HTML export: Add class to outline containers using property
2065 The =HTML_CONTAINER_CLASS= property can now be used to add a
2066 class name to the outline container of a node in HTML export.
2068 **** Throw an error when creating an image from a LaTeX snippet fails
2070 This behavior can be configured with the new option variable
2071 =org-format-latex-signal-error=.
2073 **** Support for creating BEAMER presentations from Org-mode documents
2075 Org-mode documents or subtrees can now be converted directly in
2076 to BEAMER presentation. Turning a tree into a simple
2077 presentations is straight forward, and there is also quite some
2078 support to make richer presentations as well. See the [[http://orgmode.org/manual/Beamer-class-export.html#Beamer-class-export][BEAMER
2079 section]] in the manual for more details.
2081 Thanks to everyone who has contributed to the discussion about
2082 BEAMER support and how it should work. This was a great example
2083 for how this community can achieve a much better result than any
2088 **** Refile targets can now be cached
2090 You can turn on caching of refile targets by setting the variable
2091 =org-refile-use-cache=. This should speed up refiling if you
2092 have many eligible targets in many files. If you need to update
2093 the cache because Org misses a newly created entry or still
2094 offers a deleted one, press =C-0 C-c C-w=.
2096 **** New logging support for refiling
2098 Whenever you refile an item, a time stamp and even a note can be
2099 added to this entry. For details, see the new option
2102 Thanks to Charles Cave for this idea.
2106 **** In-buffer completion is now done using John Wiegley's pcomplete.el
2108 Thanks to John Wiegley for much of this code.
2112 **** New command =org-table-transpose-table-at-point=
2114 See the docstring. This hack from Juan Pechiar is now part of
2115 Org's core. Thanks to Juan!
2117 **** Display field's coordinates when editing it with =C-c `=
2119 When editing a field with =C-c `=, the field's coordinate will
2120 the displayed in the buffer.
2122 Thanks to Michael Brand for a patch to this effect.
2124 **** Spreadsheet computation of durations and time values
2126 If you want to compute time values use the =T= flag, either in
2127 Calc formulas or Elisp formulas:
2129 | Task 1 | Task 2 | Total |
2130 |--------+--------+---------|
2131 | 35:00 | 35:00 | 1:10:00 |
2132 #+TBLFM: @2$3=$1+$2;T
2134 Values must be of the form =[HH:]MM:SS=, where hours are
2137 Thanks to Martin Halder, Eric Schulte and Carsten for code and
2140 **** Implement formulas applying to field ranges
2142 Carsten implemented this field-ranges formulas.
2144 : A frequently requested feature for tables has been to be able to define
2145 : row formulas in a way similar to column formulas. The patch below allows
2152 : as the left hand side for table formulas in order to write a formula that
2153 : is valid for an entire column or for a rectangular section in a
2156 Thanks a lot to Carsten for this.
2158 **** Sending radio tables from org buffers is now allowed
2160 Org radio tables can no also be sent inside Org buffers. Also,
2161 there is a new hook which get called after a table has been sent.
2163 Thanks to Seweryn Kokot.
2167 **** Improved handling of lists
2169 Nicolas Goaziou extended and improved the way Org handles lists.
2171 1. Indentation of text determines again end of items in
2172 lists. So, some text less indented than the previous item
2173 doesn't close the whole list anymore, only all items more
2176 2. Alphabetical bullets are implemented, through the use of the
2177 variable `org-alphabetical-lists'. This also adds alphabetical
2178 counters like [@c] or [@W].
2180 3. Lists can now safely contain drawers, inline tasks, or various
2181 blocks, themselves containing lists. Two variables are
2182 controlling this: `org-list-forbidden-blocks', and
2183 `org-list-export-context'.
2185 4. Improve `newline-and-indent' (C-j): used in an item, it will
2186 keep text from moving at column 0. This allows to split text
2187 and make paragraphs and still not break the list.
2189 5. Improve `org-toggle-item' (C-c -): used on a region with
2190 standard text, it will change the region into one item. With a
2191 prefix argument, it will fallback to the previous behavior and
2192 make every line in region an item. It permits to easily
2193 integrate paragraphs inside a list.
2195 6. `fill-paragraph' (M-q) now understands lists. It can freely be
2196 used inside items, or on text just after a list, even with no
2197 blank line around, without breaking list structure.
2199 Thanks a lot to Nicolas for all this!
2201 *** Inline display of linked images
2203 Images can now be displayed inline. The key C-c C-x C-v does
2204 toggle the display of such images. Note that only image links
2205 that have no description part will be inlined.
2207 *** Implement offsets for ordered lists
2209 If you want to start an ordered plain list with a number different
2210 from 1, you can now do it like this:
2212 : 1. [@start:12] will star a lit a number 12
2214 *** Babel: code block body expansion for table and preview
2216 In org-babel, code is "expanded" prior to evaluation. I.e. the
2217 code that is actually evaluated comprises the code block contents,
2218 augmented with the extra code which assigns the referenced data to
2219 variables. It is now possible to preview expanded contents, and
2220 also to expand code during during tangling. This expansion takes
2221 into account all header arguments, and variables.
2223 A new keybinding `C-c M-b p' bound to `org-babel-expand-src-block'
2224 can be used from inside of a source code block to preview its
2225 expanded contents (which can be very useful for debugging).
2228 The expanded body can now be tangled, this includes variable
2229 values which may be the results of other source-code blocks, or
2230 stored in headline properties or tables. One possible use for this
2231 is to allow those using org-babel for their emacs initialization
2232 to store values (e.g. usernames, passwords, etc...) in headline
2233 properties or in tables.
2235 Org-babel now supports three new header arguments, and new default
2236 behavior for handling horizontal lines in tables (hlines), column
2237 names, and rownames across all languages.
2239 *** Editing Convenience and Appearance
2241 **** New command =org-copy-visible= (=C-c C-x v=)
2243 This command will copy the visible text in the region into the
2244 kill ring. Thanks to Florian Beck for this function and to
2245 Carsten for adding it to org.el and documenting it!
2247 **** Make it possible to protect hidden subtrees from being killed by =C-k=
2249 See the new variable =org-ctrl-k-protect-subtree=. This was a
2250 request by Scott Otterson.
2252 **** Implement pretty display of entities, sub-, and superscripts.
2254 The command =C-c C-x \= toggles the display of Org's special
2255 entities like =\alpha= as pretty unicode characters. Also, sub
2256 and superscripts are displayed in a pretty way (raised/lower
2257 display, in a smaller font). If you want to exclude sub- and
2258 superscripts, see the variable
2259 =org-pretty-entities-include-sub-superscripts=.
2261 Thanks to Eric Schulte and Ulf Stegeman for making this possible.
2263 **** New faces for title, date, author and email address lines
2265 The keywords in these lines are now dimmed out, and the title is
2266 displayed in a larger font, and a special font is also used for
2267 author, date, and email information. This is implemented by the
2268 following new faces:
2270 =org-document-title=
2272 =org-document-info-keyword=
2274 In addition, the variable =org-hidden-keywords= can be used to
2275 make the corresponding keywords disappear.
2277 Thanks to Dan Davison for this feature.
2279 **** Simpler way to specify faces for tags and todo keywords
2281 The variables =org-todo-keyword-faces=, =org-tag-faces=, and
2282 =org-priority-faces= now accept simple color names as
2283 specifications. The colors will be used as either foreground or
2284 background color for the corresponding keyword. See also the
2285 variable =org-faces-easy-properties=, which governs which face
2286 property is affected by this setting.
2288 This is really a great simplification for setting keyword faces.
2289 The change is based on an idea and patch by Ryan Thompson.
2291 **** <N> in tables now means fixed width, not maximum width
2293 Requested by Michael Brand.
2295 **** Better level cycling function
2297 =TAB= in an empty headline cycles the level of that headline
2298 through likely states. Ryan Thompson implemented an improved
2299 version of this function, which does not depend upon when exactly
2300 this command is used. Thanks to Ryan for this improvement.
2302 **** Adaptive filling
2304 For paragraph text, =org-adaptive-fill-function= did not handle
2305 the base case of regular text which needed to be filled. This is
2306 now fixed. Among other things, it allows email-style ">"
2307 comments to be filled correctly.
2309 Thanks to Dan Hackney for this patch.
2311 **** `org-reveal' (=C-c C-r=) also decrypts encrypted entries (org-crypt.el)
2313 Thanks to Richard Riley for triggering this change.
2315 **** Better automatic letter selection for TODO keywords
2317 When all first letters of keywords have been used, Org now
2318 assigns more meaningful characters based on the keywords.
2320 Thanks to Mikael Fornius for this patch.
2324 **** Clock: Allow synchronous update of timestamps in CLOCK log
2326 Using =S-M-<up/down>= on CLOCK log timestamps will
2327 increase/decrease the two timestamps on this line so that
2328 duration will keep the same. Note that duration can still be
2329 slightly modified in case a timestamp needs some rounding.
2331 Thanks to Rainer Stengele for this idea.
2333 **** Localized clock tables
2335 Clock tables now support a new new =:lang= parameter, allowing
2336 the user to customize the localization of the table headers. See
2337 the variable =org-clock-clocktable-language-setup= which controls
2338 available translated strings.
2340 **** Show clock overruns in mode line
2342 When clocking an item with a planned effort, overrunning the
2343 planned time is now made visible in the mode line, for example
2344 using the new face =org-mode-line-clock-overrun=, or by adding an
2345 extra string given by =org-task-overrun-text=.
2347 Thanks to Richard Riley for a patch to this effect.
2349 **** Clock reports can now include the running, incomplete clock
2351 If you have a clock running, and the entry being clocked falls
2352 into the scope when creating a clock table, the time so far spent
2353 can be added to the total. This behavior depends on the setting
2354 of =org-clock-report-include-clocking-task=. The default is
2357 Thanks to Bernt Hansen for this useful addition.
2361 **** Improvements with inline tasks and indentation
2363 There is now a configurable way on how to export inline tasks.
2364 See the new variable =org-inlinetask-export-templates=.
2366 Thanks to Nicolas Goaziou for coding these changes.
2368 **** A property value of "nil" now means to unset a property
2370 This can be useful in particular with property inheritance, if
2371 some upper level has the property, and some grandchild of it
2372 would like to have the default settings (i.e. not overruled by a
2375 Thanks to Robert Goldman and Bernt Hansen for suggesting this
2378 **** New helper functions in org-table.el
2380 There are new functions to access and write to a specific table field.
2381 This is for hackers, and maybe for the org-babel people.
2386 org-table-current-line
2390 **** Archiving: Allow to reverse order in target node
2392 The new option =org-archive-reversed-order= allows to have
2393 archived entries inserted in a last-on-top fashion in the target
2396 This was requested by Tom.
2398 **** Org-reveal: Double prefix arg shows the entire subtree of the parent
2400 This can help to get out of an inconsistent state produced for
2401 example by viewing from the agenda.
2403 This was a request by Matt Lundin.
2407 This file is part of GNU Emacs.
2409 GNU Emacs is free software: you can redistribute it and/or modify
2410 it under the terms of the GNU General Public License as published by
2411 the Free Software Foundation, either version 3 of the License, or
2412 (at your option) any later version.
2414 GNU Emacs is distributed in the hope that it will be useful,
2415 but WITHOUT ANY WARRANTY; without even the implied warranty of
2416 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2417 GNU General Public License for more details.
2419 You should have received a copy of the GNU General Public License
2420 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.