1 # -*- mode: org; fill-column: 65 -*-
4 <a href="/"><img src="http://orgmode.org/img/org-mode-unicorn.png" class="logo-link" /></a>
7 #+STARTUP: indent hidestars
15 ** Incompatible changes
17 *** Reorganize key bindings for archiving
19 The following keys now do archiving
21 - C-c C-x C-a :: archive using the command specified in
22 =org-archive-default-command=. This variable is by default
23 set to =org-archive-subtree=, which means arching to the
26 The three specific archiving commands are available through
28 - C-c C-x C-s :: archive to archive file
29 - C-c C-x a :: toggle the archive tag
30 - C-c C-x A :: move to archive sibling
32 These bindings work the same in an Org file, and in the agenda.
36 - In the agenda you can also use =a= to call the default archiving
37 command, but you need to confirm the command with =y= so that this
38 cannot easily happen by accident.
40 - For backward compatibility, =C-c $= in an org-mode file, and
41 =$= in the agenda buffer continue to archive to archive file.
46 *** Level indentation cycling new empty entries and plain list items
48 :ID: 1CBF16C9-031C-4A03-A5EE-09B6AAB6209C
51 To speed up data entry, TAB now behaves special in an empty
52 headline, i.e. if the current line only contains the headline
53 starter stars, maybe a TOD keyword, but no further content. This
54 is usually the situation just after creating a new headline with
57 Then, TAB will first make the current entry a child of the
58 entry above, then a parent, then a grand parent etc until it
59 reaches top level. Yet another TAB and you will be back at the
60 initial level at which the headline was created.
62 New plain list items behave in just the same way.
64 Sounds strange? Try it, it is insanely fast when entering data.
65 If you still don't like it, turn it off by customizing
66 =org-cycle-level-after-item/entry-creation=.
68 Thanks to [[http://thread.gmane.org/gmane.emacs.orgmode/18236][Samuel Wales]] and [[http://thread.gmane.org/gmane.emacs.orgmode/18447/focus%3D19015][John Wiegley]] for ideas that
69 contributed to this new feature.
71 *** Speed commands at the start of a headline
73 If you set the variable =org-use-speed-commands=, the cursor
74 position at the beginning of a headline (i.e. before the first
75 star) becomes special. Single keys execute special commands in
76 this place, for example outline navigation with =f=, =b=, =n=,
77 and =p=, equivalent to the corresponding =C-c C-f=, =C-c C-b=,
78 =C-c C-n=, and =C-c C-f= commands. The full list of commands can
79 be seen by pressing =?= at the special location. More commands
80 can be added and existing ones modified by configuring the
81 variable =org-speed-commands-user=.
83 This was a request by John Wiegley, based on similar speed
84 navigation in /allout.el/.
86 *** Logging changes in scheduling and deadline time stamps
88 Setting the variables =org-log-reschedule= and
89 =org-log-redeadline= to either =time= or =note= will arrange for
90 recording a logbook entry whenever a scheduling date or deadline
93 This was a request by Rick Moynihan.
95 *** File remember notes into a date tree
97 Remember notes can now be filed to a location in a date tree. A
98 date tree is an outline tree with years as top levels, months as
99 level 2 headings, and days as level three headings. These are
100 great for journals and for recording appointments and other loose
101 dates because it will be easy to find all entries referencing a
102 particular date, and it will be easy to archive all such entry
103 from last year, for example.
105 To select date tree filing, set the HEADLINE part of the remember
106 template to the symbol =date-tree=. The date tree will be build
107 in the file on top level. However, if the file contains an entry
108 with a non-nil =DATE_TREE= property, then the tree will be build
111 *** New commands to create entries from agenda and calendar
113 If you make the variable =org-agenda-diary-file= point to an
114 org-mode file, the =i= key in both the agenda buffer and in the
115 Emacs calendar will be made to insert entries into that Org file.
116 The dates at the cursor and the mark are being used when making
117 entries for specific dates or blocks. In the new file,
118 anniversaries will be collected under a special headline, and
119 day/block entries will be filed into a date tree (see previous
122 This was a request by Stephen Eglen.
124 *** A new freemind exporter has been integrated with Org-mode
126 org-freemind.el has a number of entry points (for details, see
127 the source code), but you can also use Org's =C-c C-e m= to
128 export a file or a selected subtree.
130 Thanks to Lennart Borgman for this contribution. An earlier
131 version of this file was part of the nxhtml package, under the
134 *** Drawers are now exported properly
136 Drawers are now exported when the configuration requires it,
137 i.e. if the variable `org-export-with-drawers' is t or a list
138 containing the drawers to export.
140 *** Min/Max/Mean age operators in Column View.
142 This lets you see how much time has passed since the specified
143 timestamp property each entry. The three operators (=@min=,
144 =@max=, =@mean=) show either the age of the youngest or oldest
145 entry or the average age of the children.
147 Thanks to James TD Smith for a patch to this effect.
149 *** Allow source code block indentation to be preserved
151 If =org-src-preserve-indentation= is non-nil, or if a block has a
152 =-i= switch, then the behavior of org-exp-blocks is altered as
155 1. Indentation is not removed before passing the block contents
156 to the block-transforming plugin.
158 2. The result returned by the plugin is not re-indented.
160 3. Editing the source code block with =C-c '= preserves it's
163 Thanks to Dan Davison for this feature.
165 *** Frame/window control when switching to source code edit buffer.
167 When switching to a source code editing buffer with =C-c '=, you
168 can now control the frame / window setup using the new variable
169 =org-src-window-setup=.
171 Thanks to Dan Davison for this feature.
173 *** Refile an entry to the current clock
175 You can now quickly refile an entry to become a child of the
176 entry currently being clocked. The keys for doing this are
179 This was a request by Bernt Hansen.
181 *** Make =C-c C-o= open the attachment directory is there are no links
183 If there is no link in an entry, =C-c C-o= will now open the
184 attachment directory instead.
186 This was a request/patch by John Wiegley.
188 *** org-mac-iCal.el: work with calendar "groups"
190 Some calendar systems (Google, Zimbra) handle subscriptions to
191 multiple calendars (or to an account) by grouping them under a
192 single caldav directory in the calendar tree. org-mac-iCal used
193 to assumes there is only one ics file created per caldav
194 directory, so while it *creates* all of the needed merged ics
195 files, it only copies one of them to ~/Library/Calendar before
196 importing the contents into the diary.
198 Thanks to Doug Hellmann for a patch to fix this.
200 *** New module /org-learn.el/ in the contrib directory
202 The file implements the learning algorithm described at
203 http://supermemo.com/english/ol/sm5.htm, which is a system for reading
204 material according to "spaced repetition". See
205 http://en.wikipedia.org/wiki/Spaced_repetition for more details.
207 Thanks to John Wiegley for this contribution.
209 *** New contributed package /org-git-link.el/
211 /org-git-link.el/ defines two new link types. The =git= link type
212 is meant to be used in the typical scenario and mimics the =file=
213 link syntax as closely as possible. The =gitbare= link type
214 exists mostly for debugging reasons, but also allows e.g.
215 linking to files in a bare git repository for the experts.
217 Thanks to Raimar Finken for this contribution.
219 *** /org-annotation-helper.el/ and /org-browser-url.e./ have been removed
220 Please switch to /org-protocol.el/, into which contains the same
221 functionality in a more general framework.
222 *** The contributed /org-export-freemind/ package has been removed.
223 Org now contains a new freemind exporter, /org-freemind.el/.
226 - Clojure is supported [Thanks to Joel Boehland]
228 - Ruby and Python now respond to the :file header argument
229 - Added :results_switches header argument for passing switches
230 through to raw src blocks
231 - Preserve indentation in source blocks on export and tangle
232 - Possible to evaluate noweb reference on tangling or code block
234 - Allowing multiple noweb references on a single line
235 - Cleaned up the passing of parameter values from Org-babel to
236 language specific functions
243 ** Rewrite of org-mobile.org, for MobileOrg 1.0 (build 20)
245 MobileOrg is currently under review at the iPhone App Store. You
246 will need Org-mode version 6.32 to interact with it.
248 ** Added support for habit consistency tracking
250 /org-habit.el/ contains new code to track habits. Please
251 configure the variable org-modules to activate it. When active,
252 habits (a special TODO entry) will be displayed in the agenda
253 together with a "consistency graph". Habit tracking is described
254 in a new [[http://orgmode.org/manual/Tracking-your-habits.html][manual section]].
256 Thanks to John Wiegley for this contribution.
258 ** New context-aware tag auto-exclusion
260 After writing a function relating to location and context
261 information, you will be able to press =/ RET= in the agenda to
262 exclude tasks that cannot be done in the current context.
263 For details, see the information about filtering in the manual.
265 Thanks to John Wiegley for a patch to this effect.
267 ** New clock resolving tools
269 When clocking into a new task while no clock is running, Org now
270 checks for orphaned CLOCK lines and offers to repair these before
271 starting the clock. You can also configure this feature to check
272 for idle time and prompt you to subtract that time from the
275 See the new [[http://orgmode.org/manual/Resolving-idle-time.html][manual section]] for more details.
277 Thanks to John Wiegley for a patch to this effect.
279 ** Mutually exclusive tag groups can now have a name in the tags interface
281 The customize interface allows to optionally add a string to the
282 beginning or end of such a group.
284 Thanks to James TD Smith for a patch to this effect.
286 ** Agenda Search view: Search for substrings
288 The default in search view (/C-c a s/)is now that the search
289 expression is searched for as a /substring/, i.e. the different
290 words must occur in direct sequence, and it may be only part of
291 a word. If you want to look for a number of separate keywords
292 with Boolean logic, all words must be preceded by =+= or =-=.
294 This was, more-or-less, requested by John Wiegley.
296 ** Make space and backspace scroll the show window in the agenda
298 Pressing SPC again after using it to show an agenda item in
299 another window will make the entire subtree visible, and show
300 scroll it. Backspace and DEL will scroll back.
302 This was a request by Eric Fraga.
304 ** File tags are now offered for completion during a tag prompts
306 Requested by Matt Lundin.
308 ** Make `- SPC' an agenda filter that selects entries without any tags
310 Request by John Wiegley.
312 ** Better way to edit multi-line macro definitions
314 The editing tool key =C-c '= now also edits =#+MACRO=
315 definitions, including multiline macros.
317 ** Restructured Manual
319 The manual has been slightly reorganized. The archiving stuff,
320 which was - somewhat obscurely - hidden in the /Document
321 Structure/ chapter, has been moved into the new chapter
322 /Capture-Refile-Archive/. Also, there is a new chapter /Markup/
323 which contains both the markup rules (moved there from the Export
324 chapter) and the documentation for embedded LaTeX.
326 ** Improved figure placement in LaTeX and HTML export
328 Text can now be wrapped around figures. See the manual for
331 ** Allow date to be shifted into the future if time given is earlier than now
335 : (setq org-read-date-prefer-future 'time)
337 you indicate to Org that, if you only give a time at the
338 date/time prompt, and if this time is earlier then the current
339 time, then the date of tomorrow will be assumed to be valid for
340 this event. A similar mechanism was already in place for dates,
341 but now you can make it work for times as well.
343 ** Collected changes in org-babel
344 - Source blocks can now reference source-blocks in other files
345 using =filepath:srcname= syntax.
346 - Inline code blocks like =src_python{2+2}= are now exported
347 - Remote source block calls using the =#+lob: srcname(arg=val)=
348 syntax can now be exported.
349 - When =:file= is supplied with an =R= block, graphics are
350 automatically sent to file and linked from the org buffer, thus
351 appearing on export. The image format is obtained from the
352 filename extension. Possible values are =.png, .jpg, .jpeg,
353 .tiff, .bmp, .pdf, .ps, .postscript=, defaulting to =png=.
354 - Results can be returned as parseable code using =:results code=,
355 and as pretty-printed code using =:results pp= (emacs-lisp,
356 python, ruby). Thanks to Benny Andresen for the idea and patch
358 - When =:file filename= is supplied, =:exports file= is unnecessary
359 - Header args are taken from org-file-properties in addition to
360 properties active in the subtree.
361 - =:noweb= header argument now expands noweb references before
362 source-block evaluation.
363 - Tangling honours the new org variable
364 org-src-preserve-indentation, so that correct code is output for
365 a language like python that depends on indentation.
367 ** Changes in org-exp-blocks.el
368 - Interblocks export has been simplified.
369 - Support for R code (=begin_R= blocks and inline =\R{}=) has been
370 removed. Please use org-babel instead.
377 ** Org-babel is now part of the Org distribution
379 Org-babel provides the ability to execute source code in many
380 different languages within org-mode documents. The results of
381 code execution -- text, tables and graphics -- can be integrated
382 into Org-mode documents and can be automatically updated during
383 publishing. Since Org-babel allows execution of arbitrary code,
384 the range of tasks that can be addressed from within an Org mode
385 file becomes very large. Examples of ways in which Org-babel
386 might be used include
388 - Documenting a task that involves some programming so that it is
389 automatically repeatable
390 - Creating dynamic (executable) reports that respond to changes
391 in the underlying data (Reproducible Research)
392 - Exportation of code contained in an Org-mode document into
393 regular source code files (Literate Programming)
395 Additionally, Org-babel provides a programming environment within
396 Org files, in which data can be transmitted between parameterised
397 source code blocks in different languages, as well as between
398 source code blocks and Org-mode tables.
400 A simple API is defined so that users can add support for new
401 "languages" (broadly construed). Languages currently supported
419 Org-babel was designed and implemented Eric Schulte with continued
420 significant help on both accounts from Dan Davison.
424 Richard Morelands iPhone/iPod Touch program [[http://mobileorg.ncogni.to/][MobileOrg]] can view
425 Org files, mark entries as DONE, flag entries for later
426 attention, and capture new entries on the road. Org-mode has now
427 support to produce a staging area where MobileOrg can download
428 its files, and to integrate changes done on the phone in a half
429 automatic, half interactive way. See the new appendix B in the
430 manual for more information.
433 ** Indented lines starting with "#+ " are treated as comments
435 To allow comments in plain lists without breaking the list
436 structure, you can now have indented comment lines that start
439 ** New STARTUP keyword `showeverything'
441 This will make even drawer contents visible upon startup.
442 Requested by Jeff Kowalczyk.
444 ** New contributed package org-invoice.el
446 This package collects clocking information for billing
449 Thanks to Peter Jones for this contribution.
451 ** Encrypting subtrees
453 /org-crypt.el/ by John Wiegley and Peter Jones allows encryption
454 of individual subtrees in Org-mode outlines. Thanks to John and
455 Peter for this contribution.
457 ** Agenda: Support for including a link in the category string
459 The category (as specified by an #+CATEGORY line or CATEGORY
460 property can contain a bracket link. While this sort-of worked
461 in the past, it now is officially supported and should cause no
462 problems in agenda display or update. The link can be followed
463 by clicking on it, or with =C-c C-o 0=.
465 This was a request by Peter Westlake.
472 ** Inconsistent changes
474 *** Agenda now uses =f= and =b= to move through time
476 Up to now, the Org-mode agenda used the cursor keys =left= and
477 =right= to switch the agenda view forward an backward through
478 time. However, many people found this confusing, and others
479 wanted to be able to do cursor motion in the agenda, for example
480 to select text. Therefore, after an extensive discussion on
481 =emacs-orgmode@gnu.org=, it was decided to use the =b= and
482 =f= keys instead, and to let the cursor keys do cursor motion
485 *** Agenda follow mode is now on the =F= key
487 This was necessary to free up the =f= key, see above.
493 **** New command to submit a bug report
495 There is now a special command =M-x org-submit-bug-report=. This
496 command will create a mail buffer with lots of useful details.
497 In particular, it contains complete version information for Emacs
498 and Org-mode. It will also (if you agree to it) contain all
499 non-standard settings of org-mode and outline-mode related
500 variables. Even if you do not sent your emails from within
501 Emacs, please still use this command to generate the information
502 and then copy it into your mail program.
504 The command will not generate and include a =*Backtrace*= buffer,
505 please do this yourself if you have hit an error. For more
506 information, see the [[http://orgmode.org/manual/Feedback.html#Feedback][feedback section]] of the manual.
508 **** New contributed package org-track.el
510 This package allows to keep up-to-date with current Org
511 development, using only Emacs on-board means. So if you don't
512 want or cannot use =git=, but still want to run the latest and
513 hottest Org-mode, this is for you.
515 Thanks to Sebastian Rose for this contribution.
519 **** Agenda now uses =f= and =b= to move through time
521 Up to now, the Org-mode agenda used the cursor keys =left= and
522 =right= to switch the agenda view forward an backward through
523 time. However, many people found this confusing, and others
524 wanted to be able to do cursor motion in the agenda, for example
525 to select text. Therefore, after an extensive discussion on
526 =emacs-orgmode@gnu.org=, it was decided to use the =b= and
527 =f= keys instead, and to let the cursor keys do cursor motion
530 **** Agenda follow mode is now on the =F= key
532 This was necessary to free up the =f= key, see above.
534 **** The agenda can be put into a dedicated frame
536 When the variable =org-agenda-window-setup= has the value
537 =other-frame=, then the new frame created to show the agenda
538 will now have the window marked as /dedicated/. As a
539 consequence, exiting the agenda while the agenda is the only
540 window on the frame will kill that frame.
542 This was a request by Henry Atting.
544 **** New mode to show some entry body text in the agenda
546 There is now a new agenda sub-mode called
547 =org-agenda-entry-text-mode=. It is toggled with the =E= key.
548 When active, all entries in the agenda will be accompanied by a
549 few lines from the outline entry. The amount of text can be
550 customized with the variable =org-agenda-entry-text-maxlines=.
552 This was a request by Anthony Fairchild, Manish, and others.
554 **** Improve following links from the agenda
556 =C-c C-o= in the agenda will now offer all links in the headline
557 and text of an entry. If there is only a single link, it will be
558 followed immediately.
560 **** Avoid some duplicate entries
562 There is a new variable that can be used to avoid some duplicate
563 agenda entries: =org-agenda-skip-scheduled-if-deadline-is-shown=
564 If that is set, it avoids that an entry shows up in the agenda for
565 today for both a scheduling and a deadline entry. See the
566 docstring of the variables for more details.
568 This partially addresses a request by Samuel Wales.
570 **** Mark the running clock in the agenda.
572 If the entry currently being clocked is present in the agenda, it
573 will be highlighted with the face =org-agenda-clocking=.
575 This was a request by Rainer Stengele.
580 **** Allow LaTeX export to use the listings package
582 The LaTeX =listings= package can now be used for formatting
583 fontified source code in many programming languages. For more
585 http://thread.gmane.org/gmane.emacs.orgmode/16269 and
586 http://orgmode.org/worg/org-faq.php#fontified_source_code_w_latex
588 Thanks to Eric Schulte for this patch.
590 **** Remove table rows that only contain width and alignment markers
592 The width and alignment in table columns can be set with a cookie
593 like "<10>" or "<r>" or "<r10>". In order to keep Org from
594 exporting such lines, the first column of a line should contain
595 only "/". However, for convenience, there is now a special case:
596 If the entire row contains only such markers, the line will
597 automatically be discarded during export, even is the first
600 **** Allow Macro calls to span several lines.
602 Macro calls may now span several lines, to write several
603 arguments in a cleaner way. The result of a macro call can also
604 span several lines, by inserting the string "\n" (backslash
605 followed by n) into the value in the macro definition.
607 These were requests by Stefan Vollmar.
611 **** Quick access to all links in an entry
613 If =C-c C-o= is called while the cursor is in a headline, but not
614 directly on a link, then all links in the entry will be offered
615 in a small menu. If there is only a single link, it will be
616 followed without a prompt.
618 **** Visibility Cycling: Allow to show all empty lines after a headline
620 =org-cycle-separator-lines= can now be set to a negative value,
621 to indicate that, if the number of empty lines before a visible
622 entry is greater than the specified number, then *all* empty
623 lines should be shown.
625 This was a request by "PT" whatever this means.
627 **** Allow language names to replace some strange major mode names
629 Sometimes a language uses a major mode which can't be guessed
630 from it's name. There is now a new variable =org-src-lang-modes=
631 which can be used to map language names to major modes when this
632 is the case. This is used when editing a source-code
633 block, or when exporting fontified source-code with htmlize.
635 Thanks to Eric Schulte for a patch to this effect.
637 **** iswitchb support for many completion prompts
639 This is enabled using =org-completion-use-iswitchb=, and follows
640 the same model of usage as for ido users.
642 Thanks to John Wiegley for a patch to this effect.
644 **** New commands to set the effort property of an entry
646 There is now a special command, =C-c C-x e= to set the =Effort=
647 property of an entry. From the agenda you can even use =e=.
648 If you have set up allowed values for the =Effort= property, then
649 using a prefix argument will directly select the nth allowed
650 value. For example, in the agenda, =5 e= will select the 5th
653 This was a request by Michael Gilbert
655 **** Edit src works now better with killing buffer
657 Thanks to Dan Davison for a patch to this effect
662 For older Changes, see [[file:Changes_old.org]]
670 #+TITLE: Org-mode list of user-visible changes
671 #+AUTHOR: Carsten Dominik
672 #+EMAIL: carsten at orgmode dot org
673 #+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:{} *:t TeX:t LaTeX:nil f:nil
674 #+INFOJS_OPT: view:info toc:1 path:org-info.js tdepth:2 ftoc:t
675 #+LINK_UP: index.html
676 #+LINK_HOME: http://orgmode.org