emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/org 1c5492263f: etc/ORG-NEWS: Re-organize and document


From: ELPA Syncer
Subject: [elpa] externals/org 1c5492263f: etc/ORG-NEWS: Re-organize and document news sections
Date: Wed, 22 May 2024 09:58:42 -0400 (EDT)

branch: externals/org
commit 1c5492263fbe31305c5a4d75d403c88d7da089a6
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>

    etc/ORG-NEWS: Re-organize and document news sections
    
    * etc/ORG-NEWS: Add comments explaining the purpose of each of the
    sections in the NEWS.  Refile the news entries accordingly.
---
 etc/ORG-NEWS | 1065 ++++++++++++++++++++++++++++++----------------------------
 1 file changed, 542 insertions(+), 523 deletions(-)

diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index 071e8a3fba..585b2b2625 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -12,7 +12,13 @@ See the end of the file for license conditions.
 Please send Org bug reports to mailto:emacs-orgmode@gnu.org.
 
 * Version 9.7 (not released yet)
+
 ** Important announcements and breaking changes
+
+# Here, we list the *most important* changes and changes that _likely_
+# require user action for most Org mode users.
+# Sorted from most important to least important.
+
 *** =python-mode.el (MELPA)= support in =ob-python.el= is removed
 
 =python-mode.el= support has been removed from =ob-python.el=.  The
@@ -23,6 +29,16 @@ If you still want to use python-mode with ob-python, you 
might
 consider 
[[https://gitlab.com/jackkamm/ob-python-mode-mode][ob-python-mode-mode]], where 
the code to support python-mode
 has been ported to.
 
+*** =ox-latex=: ~org-latex-line-break-safe~ is deprecated
+
+~org-latex-line-break-safe~ constant was previously introduced to deal
+with edge cases when LaTeX interprets [...] as LaTeX command
+argument.  However, it caused a number of other issues and proved
+itself not to be as "safe" as it supposed to be.
+
+We now use a Pandoc's approach to deal with the same problem,
+utilizing ={[}= to escape =[...]= instances where needed.
+
 *** ~tab-width~ value is now assumed to be 8
 
 Org mode now assumes tab width to be 8 characters, when calculating
@@ -57,20 +73,175 @@ new standard tab width using the following helper command:
           (replace-match repl)))))))
 #+end_src
 
-*** =id:= links support search options; ~org-id-store-link~ adds search option 
by default
+*** ~org-ctags~ is not activated by default any more
 
-Adding search option by ~org-id-store-link~ can be disabled by setting
-~org-id-link-use-context~ to ~nil~, or toggled for a single call by
-passing universal argument.
+To follow Emacs [[info:elisp#Coding Conventions][coding conventions]] and to 
avoid confusion of users
+who accidentally get ~org-ctags~ autoloaded due to help completion,
+the library does not modify ~org-open-link-functions~ during loading
+any more.  Run ~org-ctags-enable~ to setup hooks and advices:
 
-When using this feature, IDs should not include =::=, which is used in
-links to indicate the start of the search string.  For backwards
-compability, existing IDs including =::= will still be matched (but
-cannot be used together with search option).  A new org-lint checker
-has been added to warn about this.
+#+begin_src emacs-lisp
+(with-eval-after-load "org-ctags"
+  (org-ctags-enable))
+#+end_src
+
+*** "Priority" used to sort items in agenda is renamed to "urgency"
+
+Previously, ~priority-up~ and ~priority-down~ in
+~org-agenda-sorting-strategy~ used a composite rank depending on
+item's priority (=[#A]=, =[#B]=, =[#C]=, etc) and overdue time to
+order agenda items (see "11.4.3 Sorting of agenda items" section of
+Org manual).
+
+Now, this composite rank is renamed to =urgency= and the relevant
+sorting strategies are renamed to ~urgency-up~ and ~urgency-down~.
+~priority-up~ and ~priority-down~ sort by item's priority only.
+
+Users relying on the previous composite ranking should adjust their
+agenda sorting settings.
+
+*** ~org-priority-show~ command no longer adjusts for scheduled/deadline
+
+In agenda views, ~org-priority-show~ command previously displayed the
+composite rank consisting of the item priority and overdue.  This is
+no longer the case.  The displayed and returned value only depends on
+the item priority now.
+
+The behavior in Org buffers is unchanged.
+
+*** =ox-icalendar.el= line ending fix may affect downstream packages
+
+iCalendar export now uses dos-style CRLF ("\r\n") line endings
+throughout, as required by the iCalendar specification (RFC 5545).
+Previously, the export used an inconsistent mix of dos and unix line
+endings.
+
+This might cause errors in external packages that parse output from
+ox-icalendar.  In particular, older versions of org-caldav may
+encounter issues, and users are advised to update to the most recent
+version of org-caldav.  See 
[[https://github.com/dengste/org-caldav/commit/618bf4cdc9be140ca1993901d017b7f18297f1b8][this
 org-caldav commit]] for more information.
+
+*** Icalendar export of unscheduled TODOs no longer have start time of today
+
+For TODOs without a scheduled start time, ox-icalendar no longer
+forces them to have a scheduled start time of today when exporting.
+
+Instead, the new customization ~org-icalendar-todo-unscheduled-start~
+controls the exported start date for unscheduled tasks.  Its default
+is ~recurring-deadline-warning~ which will export unscheduled tasks
+with no start date, unless it has a recurring deadline (in which case
+the iCalendar spec demands a start date, and
+~org-deadline-warning-days~ is used for that).
+
+To revert to the old behavior, set
+~org-icalendar-todo-unscheduled-start~ to ~current-datetime~.
+
+*** Built-in HTML, LaTeX, Man, Markdown, ODT, and Texinfo exporters preserve 
the link protocol during export
+
+Previously, some link types where not exported as =protocol:uri= but
+as bare =uri=. This is now changed.
+
+When a link is known by Org mode and does not have a custom ~:export~
+parameter (see A.3 Adding Hyperlink Types section of the manual), the
+link protocol is now not stripped.
+
+For example, if one adds a link type =tel=, but does not define
+~:export~ parameter
+: (org-link-set-parameters "tel")
+=[[tel:12345][John Doe]]= link will be correctly exported to LaTeX as
+=\href{tel:12345}{John Doe}=, not =\href{12345}{John Doe}=.
+
+However, links like =[[elisp:(+ 1 2)]]= will be exported as
+=\url{elisp:(+ 1 2)}=, which may be somewhat unexpected.
+
+*** =ox-html=: When exporting footnotes with custom non-number names, the 
names are used as link anchors
+
+Previously, link anchors for footnote references and footnote
+definitions were based on the footnote number: =fn.1=, =fnr.15=, etc.
+
+Now, when the footnote has a non-number name, it is used as an anchor:
+=fn.name=, =fnr.name=.
+
+*** =ox-org= disables citation processors by default
+
+Previously, when exporting to Org, all the citations and
+=print_bibliography= keywords, were transformed according to the
+chosen citation processor.
+
+This is no loner the case.  All the citation-related markup is now
+exported as is.
+
+The previous behavior can be reverted by setting new custom option
+~org-org-with-cite-processors~.
+
+*** ODT export no longer opens the exported file in the background
+
+ODT exporter used to open the exported file in ~archive-mode~ "for
+examination".  This was not documented, was done in the background,
+and is not consistent with all other export backends. Now, this
+feature is removed.
+
+*** Inline image width value in =#+attr_org= is preferred over other 
=#+attr_...= keywords
+
+Previously, when ~org-image-actual-width~ is a list or nil, Org used the
+first =#+attr_...= keyword containing =:width ...= to compute the inline
+image width.  Now, =#+attr_org=, if present, takes precedence.
+In the following example the image preview has width of 75%
+while earlier versions pick 33%.
+
+: #+attr_html: :width 33%
+: #+attr_org:  :width 0.75
+: [[image.png]]
+
+*** ~org-latex-to-mathml-convert-command~ and 
~org-latex-to-html-convert-command~ may need to be adjusted
+
+Previously, =%i= placeholders in the
+~org-latex-to-mathml-convert-command~ and
+~org-latex-to-html-convert-command~ user options were replaced with
+raw LaTeX fragment text, potentially triggering shell-expansion and
+incorrect result.
+
+Now, the =%i= placeholders are shell-escaped to prevent shell
+expansion.
+
+If you have single or double quotes around =%i= then update
+customizations and remove quotes.
+
+*** ~org-insert-subheading~ no longer inserts a sub-heading above current when 
point is at the beginning of line
+
+Previously, calling ~org-insert-subheading~ on
+
+: * Heading 1
+: <point>* Heading 2
 
-*** Major changes and additions to Org element API
-**** Diary type timestamps now support optional time/timerange
+yielded
+
+: * Heading 1
+: ** <point>
+: * Heading 2
+
+This is no longer the case.  The sub-heading is always created below
+current heading (prefix arguments have the same meaning as in
+~org-insert-heading~):
+
+: * Heading 1
+: * Heading 2
+: ** <point>
+
+*** It is no longer allowed to tangle into the same file as Org source
+
+Previously, =file.org= with the following contents
+
+: #+begin_src org :tangle file.org
+: Text
+: #+end_src
+
+would overwrite itself.
+
+Now, an error is thrown.
+
+** Major changes and additions to Org element API and Org syntax
+*** Diary type timestamps now support optional time/timerange
 
 Previously, diary type timestamps could not specify time.
 Now, it is allowed to add a time or time range:
@@ -106,7 +277,18 @@ will have the following properties
 :diary-sexp: "(diary-float t 4 2)"
 #+end_src
 
-**** New term: "syntax node"
+*** Underline syntax now takes priority over subscript when both are applicable
+
+Previously, Org mode interpreted =(_text_)= as subscript.
+Now, the interpretation is changed to underline.
+
+=(_text_)= matches both subscript and underline markup.  The
+interpretation is changed to keep consistency with other emphasis like
+=(*bold*)=.
+
+Most of the users should not be affected by this change - it only applies when 
character immediately preceding =_= is one of =-=, =(=, ='=, and ={=.
+
+*** New term: "syntax node"
 
 To reduce confusion with "element" referring to both "syntax element"
 and "element/object" class, we now prefer using "syntax node" when
@@ -114,7 +296,7 @@ referring to generic Org syntax elements.  "Elements" and 
"objects"
 now refer to different syntax node classes of paragraph-like nodes and
 markup-like nodes.
 
-**** New element type ~anonymous~
+*** New element type ~anonymous~
 
 Secondary strings can now be recognized as ~anonymous~ type to
 distinguish from non-elements.  With a new optional argument,
@@ -124,7 +306,7 @@ instead of nil.
 The new element type can be used in ~org-element-lineage~,
 ~org-element-map~, and other functions that filter by element type.
 
-**** Internal structure of Org parse tree has been changed
+*** Internal structure of Org parse tree has been changed
 
 The code relying upon the previously used =(TYPE PROPERTIES-PLIST 
CONTENTS-LIST)=
 structure may no longer work.  Please use ~org-element-create~,
@@ -153,7 +335,7 @@ calculate property names lazily.
 
 See the commentary in =lisp/org-element-ast.el= for more details.
 
-**** Multiple affiliated keyword values are now stored in the order they 
appear in buffer
+*** Multiple affiliated keyword values are now stored in the order they appear 
in buffer
 
 Previously,
 
@@ -165,7 +347,7 @@ would have its =:caption= property set to ~(("bar") 
("foo"))~ in reverse order.
 
 Now, the order is not reversed: ~(("foo") ("bar"))~.
 
-**** Some property values may now be calculated lazily and require original 
Org buffer to be live
+*** Some property values may now be calculated lazily and require original Org 
buffer to be live
 
 ~org-element-at-point~, ~org-element-context~, and
 ~org-element-at-point-no-context~ may now not calculate all the
@@ -185,8 +367,8 @@ function ~org-element-resolve-deferred~ and new optional 
argument for
 will resolve all the deferred values by default.  No adjustment is
 needed for their users.
 
-**** New API functions and macros
-***** New property accessors and setters
+*** New API functions and macros
+**** New property accessors and setters
 
 New functions to retrieve and set (via ~setf~) commonly used element 
properties:
 - =:begin= :: ~org-element-begin~
@@ -197,53 +379,53 @@ New functions to retrieve and set (via ~setf~) commonly 
used element properties:
 - =:post-blank= :: ~org-element-post-blank~
 - =:parent= :: ~org-element-parent~
 
-***** New macro ~org-element-with-enabled-cache~
+**** New macro ~org-element-with-enabled-cache~
 
 The macro arranges the element cache to be active during =BODY= execution.
 When cache is enabled, the macro is identical to ~progn~.  When cache
 is disabled, the macro arranges a new fresh cache that is discarded
 upon completion of =BODY=.
 
-***** New function ~org-element-property-raw~
+**** New function ~org-element-property-raw~
 
 This function is like ~org-element-property~ but does not try to
 resolve deferred properties.
 
 ~org-element-property-raw~ can be used with ~setf~.
 
-***** New function ~org-element-put-property-2~
+**** New function ~org-element-put-property-2~
 
 Like ~org-element-put-property~, but the argument list is changed to have
 =NODE= as the last argument.  Useful with threading macros like
 ~thread-last~.
 
-***** New function ~org-element-properties-resolve~
+**** New function ~org-element-properties-resolve~
 
 This function resolves all the deferred values in a =NODE=, modifying
 the =NODE= for side effect.
 
-***** New functions ~org-element-properties-map~ and 
~org-element-properties-mapc~
+**** New functions ~org-element-properties-map~ and 
~org-element-properties-mapc~
 
 New functions to map over =NODE= properties.
 
-***** New function ~org-element-ast-map~
+**** New function ~org-element-ast-map~
 
 This is a more general equivalent of ~org-element-map~.  It allows
 more precise control over recursion into secondary strings.
 
-***** New function ~org-element-lineage-map~
+**** New function ~org-element-lineage-map~
 
 Traverse syntax tree ancestor list, applying arbitrary function to
 each ancestor.
 
-***** New function ~org-element-property-inherited~
+**** New function ~org-element-property-inherited~
 
 Like ~org-element-property~, but can be used to retrieve and combine
 multiple different properties for a given =NODE= and its parents.
 
-**** ~org-element-cache-map~ can now be used even when element cache is 
disabled
+*** ~org-element-cache-map~ can now be used even when element cache is disabled
 
-**** =org-element= API functions and macros can now accept syntax nodes as 
=POM= argument
+*** =org-element= API functions and macros can now accept syntax nodes as 
=POM= argument
 
 The following functions are updated:
 - ~org-agenda-entry-get-agenda-timestamp~
@@ -263,18 +445,18 @@ The following functions are updated:
 - ~org-read-property-value~
 - ~org-property-get-allowed-values~
 
-**** ~org-element-map~ now traverses main value in dual keywords before the 
secondary value
+*** ~org-element-map~ now traverses main value in dual keywords before the 
secondary value
 
 The traverse order for dual keywords is reversed.  The main value is
 now traversed first, followed by the secondary value.
 
-**** Org parse tree is now non-printable
+*** Org parse tree is now non-printable
 
 Org parser now assigns a new property =:buffer= that holds
 non-printable buffer object.  This makes syntax tree non-printable.
 Using ~print~/~read~ is no longer safe.
 
-**** Some Org API functions no longer preserve match data
+*** Some Org API functions no longer preserve match data
 
 ~org-element-at-point~, ~org-element-context~, ~org-get-category~, and
 ~org-get-tags~ may modify the match data.
@@ -282,7 +464,7 @@ Using ~print~/~read~ is no longer safe.
 The relevant function docstrings now explicitly mention that match
 data may be modified.
 
-**** ~org-element-create~ now treats a single ~anonymous~ =CHILDREN= argument 
as a list of child nodes
+*** ~org-element-create~ now treats a single ~anonymous~ =CHILDREN= argument 
as a list of child nodes
 
 When =CHILDREN= is a single anonymous node, use its contents as children
 nodes.  This way,
@@ -295,7 +477,7 @@ a newly created one.
 Previously, one had to use
 
 : (apply #'org-element-create 'section nil (org-element-contents node))
-**** New property ~:range-type~ for org-element timestamp object
+*** New property ~:range-type~ for org-element timestamp object
 
 ~org-element-timestamp-parser~ now adds =:range-type= property to each
 timestamp object.  Possible values: ~timerange~, ~daterange~, ~nil~.
@@ -303,7 +485,7 @@ timestamp object.  Possible values: ~timerange~, 
~daterange~, ~nil~.
 ~org-element-timestamp-interpreter~ takes into account this property
 and returns an appropriate timestamp string.
 
-**** New properties =:repeater-deadline-value= and =:repeater-deadline-unit= 
for org-element timestamp object
+*** New properties =:repeater-deadline-value= and =:repeater-deadline-unit= 
for org-element timestamp object
 
 ~org-element-timestamp-parser~ now adds =:repeater-deadline-value= and
 =:repeater-deadline-unit= properties to each timestamp object that has
@@ -319,7 +501,7 @@ Possible values for =:repeater-deadline-unit=: ~hour~, 
~day~, ~week~,
 ~org-element-timestamp-interpreter~ takes into account these properties
 and returns an appropriate timestamp string.
 
-**** =org-link= store functions are passed an ~interactive?~ argument
+*** =org-link= store functions are passed an ~interactive?~ argument
 
 The ~:store:~ functions set for link types using
 ~org-link-set-parameters~ are now passed an ~interactive?~ argument,
@@ -327,111 +509,54 @@ indicating whether ~org-store-link~ was called 
interactively.
 
 Existing store functions will continue to work.
 
-*** Folded lines can now extend their face beyond ellipsis
+** New and changed options
 
-Previously, ~:extend t~ face attribute did not make folded headlines,
-blocks, and drawers extend their face beyond end of line.
+# Chanes deadling with changing default values of customizations,
+# adding new customizations, or changing the interpretation of the
+# existing customizations.
 
-Now, the ellipsis and trailing newline use the same face as the last
-character before the fold.
+*** Org mode faces are now consistently combined, with markup faces taking 
precedence over the containing element faces
 
-*** "Priority" used to sort items in agenda is renamed to "urgency"
+Previously, fontification of inline source blocks, macros, footnotes,
+target links, timestamps, radio targets, targets, inline export
+snippets, verbatim code, and COMMENT keyword in headings replaced the
+containing element fontification. Now, this is changed - the inner
+markup faces and the containing element faces are combined, with
+"inner" faces taking precedence; just as for all other markup.
 
-Previously, ~priority-up~ and ~priority-down~ in
-~org-agenda-sorting-strategy~ used a composite rank depending on
-item's priority (=[#A]=, =[#B]=, =[#C]=, etc) and overdue time to
-order agenda items (see "11.4.3 Sorting of agenda items" section of
-Org manual).
+*** Org mode now fontifies whole table lines (including newline) according to 
~org-table~ face
 
-Now, this composite rank is renamed to =urgency= and the relevant
-sorting strategies are renamed to ~urgency-up~ and ~urgency-down~.
-~priority-up~ and ~priority-down~ sort by item's priority only.
+Previously, leading indentation and trailing newline in table rows
+were not fontified using ~org-table~ face.  ~default~ face was used instead.
+This made it impossible to scale line height when ~org-table~ face has
+smaller height than default (Emacs calculates line height using the tallest 
face).
 
-Users relying on the previous composite ranking should adjust their
-agenda sorting settings.
+Now, new ~org-table-row~ face is used on the whole table row lines,
+including indentation and the final newline. This face, by default,
+inherits from ~org-table~ face.
 
-*** Org mode no longer disallows configuring ~display-buffer-alist~ to open 
Org popups in other frame
+If the new behavior is not desired, ~org-table-row~ face can be
+changed to inherit from ~default~ face.  See "Customizing Faces"
+section of Emacs manual or "Face Attribute Functions" section of Elisp
+manual.
 
-Previously, Org mode disallowed pop-up frames when displaying dispatch buffers.
-This is no longer the case. ~display-buffer-alist~ is fully obeyed.
+~org-table~ takes precedence over ~org-table-row~ for the parts of
+table rows without indentation and newline.
 
-~org-switch-to-buffer-other-window~ and ~org-no-popups~ are now deprecated.
+*** ~org-auto-align-tags~ is now respected universally
 
-*** Built-in HTML, LaTeX, Man, Markdown, ODT, and Texinfo exporters preserve 
the link protocol during export
+Previously, only a subset of Org editing commands respected
+~org-auto-align-tags~ option.  Now, it is no longer the case.  All the
+editing commands, including typing (~org-self-insert-command~) and
+deletion respect the option.
 
-Previously, some link types where not exported as =protocol:uri= but
-as bare =uri=. This is now changed.
+~org-auto-align-tags~ is still enabled by default.  For users who
+customized ~org-auto-align-tags~ to nil, ~org-edit-headline~,
+~org-priority~, ~org-set-tags~, ~org-entry-put~, ~org-kill-line~, and
+typing/deleting in headlines will no longer unconditionally auto-align
+the tags.
 
-When a link is known by Org mode and does not have a custom ~:export~
-parameter (see A.3 Adding Hyperlink Types section of the manual), the
-link protocol is now not stripped.
-
-For example, if one adds a link type =tel=, but does not define
-~:export~ parameter
-: (org-link-set-parameters "tel")
-=[[tel:12345][John Doe]]= link will be correctly exported to LaTeX as
-=\href{tel:12345}{John Doe}=, not =\href{12345}{John Doe}=.
-
-However, links like =[[elisp:(+ 1 2)]]= will be exported as
-=\url{elisp:(+ 1 2)}=, which may be somewhat unexpected.
-
-*** iCalendar export now supports multiline =SUMMARY=, =LOCATION=, and 
=DESCRIPTION= properties
-
-Previously, it was not possible to specify multi-line location,
-summary, or description when exporting to iCalendar.
-
-In the following example, =LOCATION= was exported as "Someplace",
-ignoring the other lines.
-
-#+begin_src org
-,* heading with multi-line property
-:PROPERTIES:
-:LOCATION: Someplace
-:LOCATION+: Some Street 5
-:LOCATION+: 12345 Small Town
-:END:
-#+end_src
-
-Now, =SUMMARY+=, =LOCATION+=, and =DESCRIPTION+= properties can be
-used to create multi-line values.
-
-In the above example, =LOCATION= is now exported as
-
-: Someplace
-: Some Street 5
-: 12345 Small Town
-
-*** Babel references =FILE:REFERENCE= now search current buffer when =FILE= 
does not exist
-
-When =FILE= does not exist, the reference is searched in the current
-file, using the verbatim reference.  This way,
-=:var table=tbl:example= will be searched inside the current buffer.
-
-*** Org export backends can now disable citation processors
-
-A new global export option ~:with-cite-processors~, when set to nil,
-disables citation processors completely.  This option is available to
-export backends via ~:options-alist~ when defining the backend.
-
-The backends disabling citation processors must take care about
-exporting citation objects and =print_bibliography= keywords via
-transcoders.
-
-Users can disable citations processors by customizing new
-~org-export-process-citations~ option.
-
-*** Org babel backends are now expected to define an additional API function 
~org-babel-session-buffer:<lang>~
-
-Org babel now uses session buffer (if it exists) to retrieve
-~default-directory~ environment during src block evaluation.
-
-By default, buffer named like session is checked.  All the backends
-that create sessions inside buffers named differently should provide a
-function ~org-babel-session-buffer:<lang>~.  The function must accept
-two arguments - session name and info list (as returned by
-~org-babel-get-src-block-info~); and return the session buffer name.
-
-*** New export option ~org-export-expand-links~
+*** New export option ~org-export-expand-links~
 
 The new option makes Org expand environment variables in link and INCLUDE 
paths.
 The option is on by default.
@@ -440,302 +565,6 @@ Users who do not want variable expansion can set
 ~org-export-expand-links~ variable to nil or provide
 =expand-links:nil= in-file export option.
 
-*** ~org-auto-align-tags~ is now respected universally
-
-Previously, only a subset of Org editing commands respected
-~org-auto-align-tags~ option.  Now, it is no longer the case.  All the
-editing commands, including typing (~org-self-insert-command~) and
-deletion respect the option.
-
-~org-auto-align-tags~ is still enabled by default.  For users who
-customized ~org-auto-align-tags~ to nil, ~org-edit-headline~,
-~org-priority~, ~org-set-tags~, ~org-entry-put~, ~org-kill-line~, and
-typing/deleting in headlines will no longer unconditionally auto-align
-the tags.
-
-*** ~org-create-file-search-functions~ can use ~org-list-store-props~ to 
suggest link description
-
-In Org <9.0, ~org-create-file-search-functions~ could set ~description~
-variable to suggest link description for the stored link.  However,
-this feature stopped working since Org 9.0 switched to lexical binding.
-
-Now, it is again possible for ~org-create-file-search-functions~ to
-supply link descriptions using ~(org-list-store-props :description
-"suggested description")~ in the search function body.
-
-*** Inline image width value in =#+attr_org= is preferred over other 
=#+attr_...= keywords
-
-Previously, when ~org-image-actual-width~ is a list or nil, Org used the
-first =#+attr_...= keyword containing =:width ...= to compute the inline
-image width.  Now, =#+attr_org=, if present, takes precedence.
-In the following example the image preview has width of 75%
-while earlier versions pick 33%.
-
-: #+attr_html: :width 33%
-: #+attr_org:  :width 0.75
-: [[image.png]]
-
-*** ~org-store-link~ now moves an already stored link to front of the 
~org-stored-links~
-
-Previously, when the link to be stored were stored already,
-~org-store-link~ displayed a message and did nothing.
-
-Now, ~org-store-link~ moves the stored link to front of the list of
-stored links.  This way, the link will show up first in the completion
-and when inserting all the stored links with ~org-insert-all-links~.
-
-*** =ox-html=: When exporting footnotes with custom non-number names, the 
names are used as link anchors
-
-Previously, link anchors for footnote references and footnote
-definitions were based on the footnote number: =fn.1=, =fnr.15=, etc.
-
-Now, when the footnote has a non-number name, it is used as an anchor:
-=fn.name=, =fnr.name=.
-
-*** Underline syntax now takes priority over subscript when both are applicable
-
-Previously, Org mode interpreted =(_text_)= as subscript.
-Now, the interpretation is changed to underline.
-
-=(_text_)= matches both subscript and underline markup.  The
-interpretation is changed to keep consistency with other emphasis like
-=(*bold*)=.
-
-Most of the users should not be affected by this change - it only applies when 
character immediately preceding =_= is one of =-=, =(=, ='=, and ={=.
-
-*** ~org-latex-to-mathml-convert-command~ and 
~org-latex-to-html-convert-command~ may need to be adjusted
-
-Previously, =%i= placeholders in the
-~org-latex-to-mathml-convert-command~ and
-~org-latex-to-html-convert-command~ user options were replaced with
-raw LaTeX fragment text, potentially triggering shell-expansion and
-incorrect result.
-
-Now, the =%i= placeholders are shell-escaped to prevent shell
-expansion.
-
-If you have single or double quotes around =%i= then update
-customizations and remove quotes.
-
-*** Org mode faces are now consistently combined, with markup faces taking 
precedence over the containing element faces
-
-Previously, fontification of inline source blocks, macros, footnotes,
-target links, timestamps, radio targets, targets, inline export
-snippets, verbatim code, and COMMENT keyword in headings replaced the
-containing element fontification. Now, this is changed - the inner
-markup faces and the containing element faces are combined, with
-"inner" faces taking precedence; just as for all other markup.
-
-*** When ~org-link-file-path-type~ is a function, its argument is now a 
filename as it is read by ~org-insert-link~; not an absolute path
-
-Previously, when ~org-link-file-path-type~ is set to a function, the
-function argument was the filename from the link expanded via
-~expand-file-name~.  Now, a bare filename is passed to the function.
-
-*** =ox-org= preserves header non-default arguments in src blocks
-
-Previously, all the header arguments where stripped from src blocks
-during export.  Now, header arguments are preserved as long as their
-values are not equal to the default header argument values.
-
-*** =ox-org= disables citation processors by default
-
-Previously, when exporting to Org, all the citations and
-=print_bibliography= keywords, were transformed according to the
-chosen citation processor.
-
-This is no loner the case.  All the citation-related markup is now
-exported as is.
-
-The previous behavior can be reverted by setting new custom option
-~org-org-with-cite-processors~.
-
-*** =ox-org= now exports special table rows by default
-
-Previously, when exporting to Org, special table rows (for example,
-width cookies) were not exported.   Now, they are exported by default.
-
-You can customize new option ~org-org-with-special-rows~ to fall back to 
previous behavior.
-
-*** ~org-insert-subheading~ no longer inserts a sub-heading above current when 
point is at the beginning of line
-
-Previously, calling ~org-insert-subheading~ on
-
-: * Heading 1
-: <point>* Heading 2
-
-yielded
-
-: * Heading 1
-: ** <point>
-: * Heading 2
-
-This is no longer the case.  The sub-heading is always created below
-current heading (prefix arguments have the same meaning as in
-~org-insert-heading~):
-
-: * Heading 1
-: * Heading 2
-: ** <point>
-
-*** Org mode now fontifies whole table lines (including newline) according to 
~org-table~ face
-
-Previously, leading indentation and trailing newline in table rows
-were not fontified using ~org-table~ face.  ~default~ face was used instead.
-This made it impossible to scale line height when ~org-table~ face has
-smaller height than default (Emacs calculates line height using the tallest 
face).
-
-Now, new ~org-table-row~ face is used on the whole table row lines,
-including indentation and the final newline. This face, by default,
-inherits from ~org-table~ face.
-
-If the new behavior is not desired, ~org-table-row~ face can be
-changed to inherit from ~default~ face.  See "Customizing Faces"
-section of Emacs manual or "Face Attribute Functions" section of Elisp
-manual.
-
-~org-table~ takes precedence over ~org-table-row~ for the parts of
-table rows without indentation and newline.
-
-*** =ox-latex=: ~org-latex-line-break-safe~ is deprecated
-
-~org-latex-line-break-safe~ constant was previously introduced to deal
-with edge cases when LaTeX interprets [...] as LaTeX command
-argument.  However, it caused a number of other issues and proved
-itself not to be as "safe" as it supposed to be.
-
-We now use a Pandoc's approach to deal with the same problem,
-utilizing ={[}= to escape =[...]= instances where needed.
-
-*** ob-python now sets ~python-shell-buffer-name~ in Org edit buffers
-
-When editing a Python src block, the editing buffer is now associated
-with the Python shell specified by the src block's ~:session~ header,
-which means users can now send code directly from the edit buffer,
-e.g., using ~C-c C-c~, to the session specified in the Org buffer.
-
-*** ~org-edit-special~ no longer force-starts session in R and Julia source 
blocks
-
-Previously, when R/Julia source block had =:session= header argument
-set to a session name with "earmuffs" (like =*session-name*=),
-~org-edit-special~ always started a session, if it does not exist.
-
-Now, ~org-edit-special~ arranges that a new session with correct name
-is initiated only when user explicitly executes R/Julia-mode commands
-that trigger session interactions (requires ESS 24.01.0 or newer).
-The same session will remain available in the context of Org babel.
-
-*** It is no longer allowed to tangle into the same file as Org source
-
-Previously, =file.org= with the following contents
-
-: #+begin_src org :tangle file.org
-: Text
-: #+end_src
-
-would overwrite itself.
-
-Now, an error is thrown.
-
-*** ~org-agenda-search-headline-for-time~ now ignores all the timestamp in 
headings
-
-Previously, ~org-agenda-search-headline-for-time~ made Org agenda
-match anything resembling time inside headings.  Even when the time
-was a part of a timestamp.
-
-Now, all the timestamps in headings are ignored when searching the time.
-
-*** ODT export no longer opens the exported file in the background
-
-ODT exporter used to open the exported file in ~archive-mode~ "for
-examination".  This was not documented, was done in the background,
-and is not consistent with all other export backends. Now, this
-feature is removed.
-
-*** ~org-print-speed-command~ is now an internal function
-
-The old name is marked obsolete and the new name is
-~org--print-speed-command~.
-
-This function was always aimed for internal use when building speed
-command help buffer.  Now, it is stated explicitly.
-
-*** ~org-priority-show~ command no longer adjusts for scheduled/deadline
-
-In agenda views, ~org-priority-show~ command previously displayed the
-composite rank consisting of the item priority and overdue.  This is
-no longer the case.  The displayed and returned value only depends on
-the item priority now.
-
-The behavior in Org buffers is unchanged.
-
-*** =ox-icalendar.el= line ending fix may affect downstream packages
-
-iCalendar export now uses dos-style CRLF ("\r\n") line endings
-throughout, as required by the iCalendar specification (RFC 5545).
-Previously, the export used an inconsistent mix of dos and unix line
-endings.
-
-This might cause errors in external packages that parse output from
-ox-icalendar.  In particular, older versions of org-caldav may
-encounter issues, and users are advised to update to the most recent
-version of org-caldav.  See 
[[https://github.com/dengste/org-caldav/commit/618bf4cdc9be140ca1993901d017b7f18297f1b8][this
 org-caldav commit]] for more information.
-
-*** Icalendar export of unscheduled TODOs no longer have start time of today
-
-For TODOs without a scheduled start time, ox-icalendar no longer
-forces them to have a scheduled start time of today when exporting.
-
-Instead, the new customization ~org-icalendar-todo-unscheduled-start~
-controls the exported start date for unscheduled tasks.  Its default
-is ~recurring-deadline-warning~ which will export unscheduled tasks
-with no start date, unless it has a recurring deadline (in which case
-the iCalendar spec demands a start date, and
-~org-deadline-warning-days~ is used for that).
-
-To revert to the old behavior, set
-~org-icalendar-todo-unscheduled-start~ to ~current-datetime~.
-
-*** =org-habit.el= now optionally inherits ~:STYLE: habit~ properties
-
-Currently, the ~STYLE~ property of habits is not inherited when searching
-for entries.
-
-This change allows the property to be inherited optionally by customizing
-the ~org-use-property-inheritance~ variable.
-
-This change aims to provide more flexibility in managing habits, allowing
-users to dedicate separate subtrees or files to habits without manually
-setting the ~STYLE~ property for each sub-task.
-
-The change is breaking when ~org-use-property-inheritance~ is set to ~t~.
-
-*** ~org-babel-lilypond-compile-lilyfile~ ignores optional second argument
-
-The =TEST= parameter is better served by Emacs debugging tools.
-
-*** ~org-store-link~ behaviour storing additional =CUSTOM_ID= links has changed
-
-Previously, when storing =id:= link, ~org-store-link~ stored an
-additional "human readable" link using a node's =CUSTOM_ID= property.
-
-This behaviour has been expanded to store an additional =CUSTOM_ID=
-link when storing any type of external link type in an Org file, not
-just =id:= links.
-
-*** ~org-ctags~ is not activated by default any more
-
-To follow Emacs [[info:elisp#Coding Conventions][coding conventions]] and to 
avoid confusion of users
-who accidentally get ~org-ctags~ autoloaded due to help completion,
-the library does not modify ~org-open-link-functions~ during loading
-any more.  Run ~org-ctags-enable~ to setup hooks and advices:
-
-#+begin_src emacs-lisp
-(with-eval-after-load "org-ctags"
-  (org-ctags-enable))
-#+end_src
-
-** New and changed options
 *** New hook ~org-after-note-stored-hook~
 
 This new hook runs when a note has been stored.
@@ -773,7 +602,7 @@ However, the output is now immune to changes in
 ~org-preview-latex-default-process~ and can be customized
 independently of the image preview settings.
 
-*** ~org-babel-lua-multiple-values-separator~
+*** New option ~org-babel-lua-multiple-values-separator~
 
 The string that separates the values of multi-valued results returned
 from Lua code blocks.
@@ -1174,7 +1003,36 @@ Setting ~org-md-headline-style~ to ~'mixed~ will export 
headline
 levels one and two as Setext style headlines, and headline levels
 three through six will be exported as ATX style headlines.
 
+*** ~org-footnote-new~ can be configured to create anonymous footnotes
+
+When ~org-footnote-auto-label~ is set to ~'anonymous~, create
+anonymous footnotes automatically with ~org-footnote-new~.
+
+The same can be done via startup options:
+: #+STARTUP: fnanon
+
+*** New final hooks for Modifier-Cursor keys
+
+Final hooks are added to the following commands:
+- ~org-metaleft-final-hook~ to ~org-metaleft~ (bound to =M-<left>=).
+- ~org-metaright-final-hook~ to ~org-metaright~ (bound to
+  =M-<right>=).
+- ~org-metaup-final-hook~ to ~org-metaup~ (bound to =M-<up>=).
+- ~org-metadown-final-hook~ to ~org-metadown~ (bound to =M-<down>=).
+- ~org-shiftmetaleft-final-hook~ to ~org-shiftmetaleft~ (bound to
+  =M-S-<left>=).
+- ~org-shiftmetaright-final-hook~ to ~org-shiftmetaright~ (bound to
+  =M-S-<right>=).
+- ~org-shiftmetaup-final-hook~ to ~org-shiftmetaup~ (bound to
+  =M-S-<up>=).
+- ~org-shiftmetadown-final-hook~ to ~org-shiftmetadown~ (bound to
+  =M-S-<down>=).
+
 ** New features
+
+# We list the most important features, and the features that may
+# require user action to be used.
+
 *** Images and files in clipboard can be pasted
 
 Org asks the user what must be done when pasting images and files
@@ -1199,29 +1057,24 @@ respected.
 Images dropped also respect the value of ~org-yank-image-save-method~
 when ~org-yank-dnd-method~ is =attach=.
 
-*** ~org-paste-subtree~ now handles =C-u= and =C-u C-u= prefix arguments 
specially
-
-With =C-u= prefix argument, force inserting a sibling heading below.
-With =C-u C-u= prefix argument, force inserting a child heading.
-
-*** ~org-metaup~ and ~org-metadown~ now act on headings in region
-
-When region is active and starts at a heading, ~org-metaup~ and
-~org-metadown~ will move all the selected subtrees.
+*** =id:= links support search options; ~org-id-store-link~ adds search option 
by default
 
-*** Many structure editing commands now do not deactivate region
+Adding search option by ~org-id-store-link~ can be disabled by setting
+~org-id-link-use-context~ to ~nil~, or toggled for a single call by
+passing universal argument.
 
-Moving, promoting, and demoting of headings and items in region now do
-not deactivate Transient mark mode.
+When using this feature, IDs should not include =::=, which is used in
+links to indicate the start of the search string.  For backwards
+compability, existing IDs including =::= will still be matched (but
+cannot be used together with search option).  A new org-lint checker
+has been added to warn about this.
 
-Users can thus conveniently select multiple headings/items and use,
-for example, =M-<down>=/=M-<up>= repeatedly without losing the
-selection.
+*** Org mode no longer disallows configuring ~display-buffer-alist~ to open 
Org popups in other frame
 
-*** Capture templates now support ~(here)~ as a target
+Previously, Org mode disallowed pop-up frames when displaying dispatch buffers.
+This is no longer the case. ~display-buffer-alist~ is fully obeyed.
 
-A capture template can target ~(here)~ which is the equivalent of
-invoking a capture template with a zero prefix.
+~org-switch-to-buffer-other-window~ and ~org-no-popups~ are now deprecated.
 
 *** Asynchronous code evaluatation in ~ob-shell~
 
@@ -1253,50 +1106,96 @@ skipped (with a warning) if the ox-icalendar export 
encounters them:
 - Deadline has a repeater but Scheduled does not.
 - Scheduled and Deadline have different repeaters.
 
-Also note that only vanilla repeaters are currently exported; the
-special repeaters ~++~ and ~.+~ are skipped.
+Also note that only vanilla repeaters are currently exported; the
+special repeaters ~++~ and ~.+~ are skipped.
+
+*** Babel references =FILE:REFERENCE= now search current buffer when =FILE= 
does not exist
+
+When =FILE= does not exist, the reference is searched in the current
+file, using the verbatim reference.  This way,
+=:var table=tbl:example= will be searched inside the current buffer.
+
+*** Folded lines can now extend their face beyond ellipsis
+
+Previously, ~:extend t~ face attribute did not make folded headlines,
+blocks, and drawers extend their face beyond end of line.
+
+Now, the ellipsis and trailing newline use the same face as the last
+character before the fold.
+
+*** iCalendar export now supports multiline =SUMMARY=, =LOCATION=, and 
=DESCRIPTION= properties
+
+Previously, it was not possible to specify multi-line location,
+summary, or description when exporting to iCalendar.
+
+In the following example, =LOCATION= was exported as "Someplace",
+ignoring the other lines.
+
+#+begin_src org
+,* heading with multi-line property
+:PROPERTIES:
+:LOCATION: Someplace
+:LOCATION+: Some Street 5
+:LOCATION+: 12345 Small Town
+:END:
+#+end_src
+
+Now, =SUMMARY+=, =LOCATION+=, and =DESCRIPTION+= properties can be
+used to create multi-line values.
+
+In the above example, =LOCATION= is now exported as
+
+: Someplace
+: Some Street 5
+: 12345 Small Town
+
+*** Org export backends can now disable citation processors
+
+A new global export option ~:with-cite-processors~, when set to nil,
+disables citation processors completely.  This option is available to
+export backends via ~:options-alist~ when defining the backend.
+
+The backends disabling citation processors must take care about
+exporting citation objects and =print_bibliography= keywords via
+transcoders.
+
+Users can disable citations processors by customizing new
+~org-export-process-citations~ option.
+
+*** Org babel backends are now expected to define an additional API function 
~org-babel-session-buffer:<lang>~
+
+Org babel now uses session buffer (if it exists) to retrieve
+~default-directory~ environment during src block evaluation.
+
+By default, buffer named like session is checked.  All the backends
+that create sessions inside buffers named differently should provide a
+function ~org-babel-session-buffer:<lang>~.  The function must accept
+two arguments - session name and info list (as returned by
+~org-babel-get-src-block-info~); and return the session buffer name.
+
+*** ~org-paste-subtree~ now handles =C-u= and =C-u C-u= prefix arguments 
specially
+
+With =C-u= prefix argument, force inserting a sibling heading below.
+With =C-u C-u= prefix argument, force inserting a child heading.
 
-*** =ob-lua=: Support all types and multiple values in results
+*** ~org-metaup~ and ~org-metadown~ now act on headings in region
 
-Lua code blocks can now return values of any type and can also return
-multiple values.  Previously, values of certain types were incorrectly
-converted to the empty string =""=, which broke HTML export for inline
-code blocks, and multiple values were incorrectly concatenated, where
-~return 1, 2, 3~ was evaluated as =123=.
+When region is active and starts at a heading, ~org-metaup~ and
+~org-metadown~ will move all the selected subtrees.
 
-Multiple values are comma-separated by default, so that they work well
-with inline code blocks.  To change the string used as the separator,
-customize ~org-babel-lua-multiple-values-separator~.
+*** Many structure editing commands now do not deactivate region
 
-*** =colview= dynamic block now writes column width specifications
+Moving, promoting, and demoting of headings and items in region now do
+not deactivate Transient mark mode.
 
-When column format contains width specifications, =colview= dynamic
-block now writes these specifications as column width in the generated
-tables and automatically shrinks the columns on display.
+Users can thus conveniently select multiple headings/items and use,
+for example, =M-<down>=/=M-<up>= repeatedly without losing the
+selection.
 
-Example:
+*** Capture templates now support ~(here)~ as a target
 
-: * PROYECTO EMACS
-: :PROPERTIES:
-: :COLUMNS:  %10ITEM(PROJECT)
-: :END:
-:
-: Before
-:
-: #+BEGIN: columnview :id local
-: | PROJECT        |
-: |----------------|
-: | PROYECTO EMACS |
-: #+END:
-:
-: After
-:
-: #+BEGIN: columnview :id local
-: | <10>           |
-: | PROJECT        |
-: |----------------|
-: | PROYECTO EMACS |
-: #+END:
+A capture template can target ~(here)~ which is the equivalent of
+invoking a capture template with a zero prefix.
 
 *** =colview= dynamic block supports custom formatting function
 
@@ -1363,23 +1262,6 @@ Users can add ="UNNUMBERED"= to 
~org-use-property-inheritance~ and set
 ~org-numb-skip-unnumbered~ to ~t~ to make ~org-num-mode~ skip
 numbering of all the sub-headings with non-nil =UNNUMBERED= property.
 
-*** New final hooks for Modifier-Cursor keys
-
-Final hooks are added to the following commands:
-- ~org-metaleft-final-hook~ to ~org-metaleft~ (bound to =M-<left>=).
-- ~org-metaright-final-hook~ to ~org-metaright~ (bound to
-  =M-<right>=).
-- ~org-metaup-final-hook~ to ~org-metaup~ (bound to =M-<up>=).
-- ~org-metadown-final-hook~ to ~org-metadown~ (bound to =M-<down>=).
-- ~org-shiftmetaleft-final-hook~ to ~org-shiftmetaleft~ (bound to
-  =M-S-<left>=).
-- ~org-shiftmetaright-final-hook~ to ~org-shiftmetaright~ (bound to
-  =M-S-<right>=).
-- ~org-shiftmetaup-final-hook~ to ~org-shiftmetaup~ (bound to
-  =M-S-<up>=).
-- ~org-shiftmetadown-final-hook~ to ~org-shiftmetadown~ (bound to
-  =M-S-<down>=).
-
 *** ~org-insert-todo-heading-respect-content~ now accepts prefix arguments
 
 The prefix arguments are passed to ~org-insert-todo-heading~.
@@ -1392,18 +1274,6 @@ matching the behavior of the official ~sqlite3~ shell.  
As a result,
 ~sqlite~ source blocks are now usable out of the box, that is with no
 header arguments.
 
-*** Add support for ~logind~ idle time in ~org-user-idle-seconds~
-
-When Emacs is built with =dbus= support and
-the =org.freedesktop.login1= interface is available, fallback to
-checking the =IdleSinceHint= property when
-determining =org-user-idle-seconds= as the penultimate step.
-
-*** Datetree structure headlines can now be complex
-
-TODO state, priority, tags, statistics cookies, and COMMENT keywords
-are allowed in the tree structure.
-
 *** ~org-return~ now acts on citations at point
 
 When ~org-return-follows-link~ is non-nil and cursor is over an
@@ -1453,21 +1323,8 @@ matrix or a vector depending on the dimensionality of 
the table.  A
 table with a single row is converted to a vector, the rest are
 converted to a matrix.
 
-*** Add completion for links to man pages
-
-Completion is enabled for links to man pages added using ~org-insert-link~:
-=C-c C-l man RET emacscl TAB= to get =emacsclient=.  Of course, the ~ol-man~
-library should be loaded first.
-
-*** ~org-footnote-new~ can be configured to create anonymous footnotes
-
-When ~org-footnote-auto-label~ is set to ~'anonymous~, create
-anonymous footnotes automatically with ~org-footnote-new~.
-
-The same can be done via startup options:
-: #+STARTUP: fnanon
-
 *** ox-texinfo always generates a ~@direntry~
+
 We use defaults based on the file name and title of the document, and
 place the entry in the ~Misc~ category if ~TEXINFO_DIR_CATEGORY~ is missing.
 
@@ -1475,6 +1332,37 @@ place the entry in the ~Misc~ category if 
~TEXINFO_DIR_CATEGORY~ is missing.
 The old name is obsolete.
 
 ** New functions and changes in function arguments
+
+# This also includes changes in function behavior from Elisp perspective.
+
+*** ~org-babel-lilypond-compile-lilyfile~ ignores optional second argument
+
+The =TEST= parameter is better served by Emacs debugging tools.
+
+*** ~org-print-speed-command~ is now an internal function
+
+The old name is marked obsolete and the new name is
+~org--print-speed-command~.
+
+This function was always aimed for internal use when building speed
+command help buffer.  Now, it is stated explicitly.
+
+*** When ~org-link-file-path-type~ is a function, its argument is now a 
filename as it is read by ~org-insert-link~; not an absolute path
+
+Previously, when ~org-link-file-path-type~ is set to a function, the
+function argument was the filename from the link expanded via
+~expand-file-name~.  Now, a bare filename is passed to the function.
+
+*** ~org-create-file-search-functions~ can use ~org-list-store-props~ to 
suggest link description
+
+In Org <9.0, ~org-create-file-search-functions~ could set ~description~
+variable to suggest link description for the stored link.  However,
+this feature stopped working since Org 9.0 switched to lexical binding.
+
+Now, it is again possible for ~org-create-file-search-functions~ to
+supply link descriptions using ~(org-list-store-props :description
+"suggested description")~ in the search function body.
+
 *** New API functions to store data within ~org-element-cache~
 
 Elisp programs can now store data inside Org element cache.
@@ -1590,6 +1478,137 @@ buffer it will be added.  If not specified, new 
headings are created
 at level 1 at the end of the accessible part of the buffer, as before.
 
 ** Miscellaneous
+*** Add completion for links to man pages
+
+Completion is enabled for links to man pages added using ~org-insert-link~:
+=C-c C-l man RET emacscl TAB= to get =emacsclient=.  Of course, the ~ol-man~
+library should be loaded first.
+
+*** Datetree structure headlines can now be complex
+
+TODO state, priority, tags, statistics cookies, and COMMENT keywords
+are allowed in the tree structure.
+
+*** Add support for ~logind~ idle time in ~org-user-idle-seconds~
+
+When Emacs is built with =dbus= support and
+the =org.freedesktop.login1= interface is available, fallback to
+checking the =IdleSinceHint= property when
+determining =org-user-idle-seconds= as the penultimate step.
+
+*** =colview= dynamic block now writes column width specifications
+
+When column format contains width specifications, =colview= dynamic
+block now writes these specifications as column width in the generated
+tables and automatically shrinks the columns on display.
+
+Example:
+
+: * PROYECTO EMACS
+: :PROPERTIES:
+: :COLUMNS:  %10ITEM(PROJECT)
+: :END:
+:
+: Before
+:
+: #+BEGIN: columnview :id local
+: | PROJECT        |
+: |----------------|
+: | PROYECTO EMACS |
+: #+END:
+:
+: After
+:
+: #+BEGIN: columnview :id local
+: | <10>           |
+: | PROJECT        |
+: |----------------|
+: | PROYECTO EMACS |
+: #+END:
+
+*** =ob-lua=: Support all types and multiple values in results
+
+Lua code blocks can now return values of any type and can also return
+multiple values.  Previously, values of certain types were incorrectly
+converted to the empty string =""=, which broke HTML export for inline
+code blocks, and multiple values were incorrectly concatenated, where
+~return 1, 2, 3~ was evaluated as =123=.
+
+Multiple values are comma-separated by default, so that they work well
+with inline code blocks.  To change the string used as the separator,
+customize ~org-babel-lua-multiple-values-separator~.
+
+*** ~org-store-link~ now moves an already stored link to front of the 
~org-stored-links~
+
+Previously, when the link to be stored were stored already,
+~org-store-link~ displayed a message and did nothing.
+
+Now, ~org-store-link~ moves the stored link to front of the list of
+stored links.  This way, the link will show up first in the completion
+and when inserting all the stored links with ~org-insert-all-links~.
+
+*** ob-python now sets ~python-shell-buffer-name~ in Org edit buffers
+
+When editing a Python src block, the editing buffer is now associated
+with the Python shell specified by the src block's ~:session~ header,
+which means users can now send code directly from the edit buffer,
+e.g., using ~C-c C-c~, to the session specified in the Org buffer.
+
+*** ~org-edit-special~ no longer force-starts session in R and Julia source 
blocks
+
+Previously, when R/Julia source block had =:session= header argument
+set to a session name with "earmuffs" (like =*session-name*=),
+~org-edit-special~ always started a session, if it does not exist.
+
+Now, ~org-edit-special~ arranges that a new session with correct name
+is initiated only when user explicitly executes R/Julia-mode commands
+that trigger session interactions (requires ESS 24.01.0 or newer).
+The same session will remain available in the context of Org babel.
+
+*** ~org-store-link~ behaviour storing additional =CUSTOM_ID= links has changed
+
+Previously, when storing =id:= link, ~org-store-link~ stored an
+additional "human readable" link using a node's =CUSTOM_ID= property.
+
+This behaviour has been expanded to store an additional =CUSTOM_ID=
+link when storing any type of external link type in an Org file, not
+just =id:= links.
+
+*** =org-habit.el= now optionally inherits ~:STYLE: habit~ properties
+
+Currently, the ~STYLE~ property of habits is not inherited when searching
+for entries.
+
+This change allows the property to be inherited optionally by customizing
+the ~org-use-property-inheritance~ variable.
+
+This change aims to provide more flexibility in managing habits, allowing
+users to dedicate separate subtrees or files to habits without manually
+setting the ~STYLE~ property for each sub-task.
+
+The change is breaking when ~org-use-property-inheritance~ is set to ~t~.
+
+*** =ox-org= preserves header non-default arguments in src blocks
+
+Previously, all the header arguments where stripped from src blocks
+during export.  Now, header arguments are preserved as long as their
+values are not equal to the default header argument values.
+
+*** =ox-org= now exports special table rows by default
+
+Previously, when exporting to Org, special table rows (for example,
+width cookies) were not exported.   Now, they are exported by default.
+
+You can customize new option ~org-org-with-special-rows~ to fall back to 
previous behavior.
+
+*** ~org-agenda-search-headline-for-time~ now ignores all the timestamp in 
headings
+
+Previously, ~org-agenda-search-headline-for-time~ made Org agenda
+match anything resembling time inside headings.  Even when the time
+was a part of a timestamp.
+
+Now, all the timestamps in headings are ignored when searching the time.
+
 *** =org-crypt.el= now applies initial visibility settings to decrypted entries
 
 Previously, all the text was unfolded unconditionally, including property 
drawers.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]