org-babel: results hashes are now hidden (for the most part)
[rgr-org-mode.git] / ORGWEBPAGE / Changes.org
blobc5b3eb1d38d74527f716972a14ec6bbd278d8e11
1 #   -*- mode: org; fill-column: 65 -*-
3 #+begin_html
4 <a href="/"><img src="http://orgmode.org/img/org-mode-unicorn.png" class="logo-link" /></a>
5 #+end_html
7 #+STARTUP: indent hidestars
9 * Version 6.33
10  :PROPERTIES:
11  :VISIBILITY: content
12  :CUSTOM_ID: v6.33
13  :END:
15 ** Incompatible changes
17 *** Reorganize key bindings for archiving
18     
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
24      archive file.
25     
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.
34 In addition:
35     
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.
39   
40 - For backward compatibility, =C-c $= in an org-mode file, and
41   =$= in the agenda buffer continue to archive to archive file.
44 ** Details
46 *** Level indentation cycling new empty entries and plain list items
47 :PROPERTIES:
48 :ID: 1CBF16C9-031C-4A03-A5EE-09B6AAB6209C
49 :END:
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
55 =M-RET= or =M-S-RET=.
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
91 is changed.
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
109 under that headline.
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
120 section).
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
132 name /freemind.el/.
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.
141     
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.
148     
149 *** Allow source code block indentation to be preserved
150     
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
153 follows:
155 1. Indentation is not removed before passing the block contents
156    to the block-transforming plugin.
157    
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
161    indentation.
163 Thanks to Dan Davison for this feature.
165 *** Frame/window control when switching to source code edit buffer.
166     
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
177 =C-2 C-c C-w=.
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"
189     
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/.
225 ** Org-babel Changes
226 - Clojure is supported [Thanks to Joel Boehland]
227 - Perl is supported
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
233   evaluation
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
238 * Version 6.32
239  :PROPERTIES:
240  :CUSTOM_ID: v6.32
241  :END:
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
249     
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.
257     
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
273 running timer.
274     
275 See the new [[http://orgmode.org/manual/Resolving-idle-time.html][manual section]] for more details.
276     
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.
283     
284 Thanks to James TD Smith for a patch to this effect.
286 ** Agenda Search view: Search for substrings
287     
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.
303     
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
309     
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
327     
328 Text can now be wrapped around figures.  See the manual for
329 details.
331 ** Allow date to be shifted into the future if time given is earlier than now
332     
333 By setting
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
357   for emacs-lisp.
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.
372 * Version 6.31
373  :PROPERTIES:
374  :CUSTOM_ID: v6.31
375  :END:
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
402 are:
404 - asymptote
405 - css
406 - ditaa
407 - dot
408 - emacs-lisp
409 - gnuplot
410 - haskell
411 - ocaml
412 - python
413 - R
414 - ruby
415 - sass
416 - sh
417 - sql
419 Org-babel was designed and implemented Eric Schulte with continued
420 significant help on both accounts from Dan Davison.
422 ** MobileOrg support
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
437 with "#+ ".
439 ** New STARTUP keyword `showeverything'
440     
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
447 customers.
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
458     
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.
467 * Version 6.30
468  :PROPERTIES:
469  :CUSTOM_ID: v6.30
470  :END:
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
483 again.
485 *** Agenda follow mode is now on the =F= key
487 This was necessary to free up the =f= key, see above.
489 ** Details
491 *** Maintenance
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.
517 *** Agenda
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
528 again.
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
555     
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.
578 *** Export
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
584 information, see
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
591     
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
598 column is not "/".
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.
609 *** Misc
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
619     
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
638     
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
651 allowed value.
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
660 * Older changes
662   For older Changes, see [[file:Changes_old.org]]
666 * COMMENT Setup
668 #+STARTUP: showstars
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