QT4CG meeting 171 draft agenda, 7 July 2026

Hello,

Here’s the proposed agenda for tomorrow’s meeting. I’ve tried to front-load the “easy” things so that we can close as many PRs as practical.

   https://qt4cg.org/meeting/agenda/2026/07-07.html

QT4 CG Meeting 171 Agenda 2026-07-07

   [1]Agenda index / [2]QT4CG.org / [3]Dashboard / [4]GH Issues / [5]GH
   Pull Requests

Agenda

   This meeting will be hosted on Zoom at 16:00BST (15:00GMT, 17:00CEST,
   11:00EDT).

   See the [6]meeting logistics page for more details.

1. Administrivia

1.1. Roll call

1.2. Approve the agenda

1.3. Approve minutes of previous meetings

   Minutes of [7]the previous meeting.

1.4. Next meeting

   This meeting is planned for 7 July 2026.

   The next meeting is planned for 14 July.

1.5. Review of open action items [0/10]

     * [ ] QT4CG-143-02: MK to try to recover the ability to extract
       formal equivalences into tests
     * [ ] QT4CG-167-01: DB to write a PR for #2641, comments in CSV
     * [ ] QT4CG-167-02: MK to make a PR for #2591, grammar for
       step?lookup is invalid
     * [ ] QT4CG-167-03: NW to make a PR for #2482, fallback on
       bin:decode-string
     * [ ] QT4CG-167-05: MK to write a proposal to change #2393 so the
       functions return JNodes
     * [ ] QT4CG-167-07: NW to review tests for interpolated strings with
       edge cases in mind
     * [ ] QT4CG-167-08: MK to review the state of #1949 to see which
       items are still outstanding.
     * [ ] QT4CG-167-09: NW to close all "nice to have" issues at the end
       of October if they haven't progressed
     * [ ] QT4CG-170-01: RD to draft a proposal that attempts to address
       the lexical issues differently.

1.6. Review of open pull requests and issues

   This section summarizes all of the issues and pull requests that need
   to be resolved before we can finish. See [8]Technical Agenda below for
   the focus of this meeting.

1.6.1. Blocked

   The following PRs are open but have merge conflicts or comments which
   suggest they aren't ready for action.
     * PR [9]#2638: 2632-6: cross-cutting consistency (automatically
       generated & reviewed)
     * PR [10]#2637: 2632-5: refresh stale 4.0 content (automatically
       generated & reviewed)
     * PR [11]#2636: 2632-4: logic and semantics (automatically generated
       & reviewed)
     * PR [12]#2635: 2632-3: typos and grammar (automatically generated &
       reviewed)
     * PR [13]#2634: 2632-2: fix broken examples in expressions.xml
       (automatically generated & reviewed)
     * PR [14]#2633: 2632-1: fix critical bugs and DTD-validity issues
       (automatically generated & reviewed)
     * PR [15]#2594: 2389 Adaptive Serialization: more freedom
     * PR [16]#2350: 708 An alternative proposal for generators
     * PR [17]#2247: 716 Deferred Evaluation in XPath - the f:generator
       record
     * PR [18]#2160: 2073 data model changes for JNodes and Sequences
     * PR [19]#2071: 77c deep update

1.6.2. Merge without discussion

   The following PRs are editorial, small, or otherwise appeared to be
   uncontroversial when the agenda was prepared. The chairs propose that
   these can be merged without discussion. If you think discussion is
   necessary, please say so.
     * PR [20]#2751: 2674 Editorial Omnibus
     * PR [21]#2744: 2741 Record coercion: keep empty entries
     * PR [22]#2731: 2709 Well-formed sub-documents (2nd attempt)
     * PR [23]#2706: 2704 change path() output for JNodes

1.6.3. Close without action

   It has been proposed that the following issues be closed without
   action. If you think discussion is necessary, please say so.
     * Issue [24]#2700: Map constructor: create map entries for items
       other than maps/JNodes
     * Issue [25]#2692: Destructuring inconsistencies and questions
     * Issue [26]#2639: XQuery 4.0: automated review, open questions
     * Issue [27]#2482: Add a fallback function to the `bin:decode-string`
       function

1.6.4. Substantive PRs

   The following substantive PRs were open when this agenda was prepared.
     * PR [28]#2768: 2740 Drop constructor functions from built-in records
     * PR [29]#2767: 2750 Make fn:unparsed-text, ... nondeterministic
     * PR [30]#2766: 2765 Destructuring let: records, array fix
     * PR [31]#2764: 2763 Folds: document possibility of early exiting
     * PR [32]#2760: 2521 URIs: unify handling of fragment identifiers
     * PR [33]#2759: 1506 Type declarations: Constructor functions
     * PR [34]#2757: 2569 Rules for unprefixed function calls with
       explicit default function ns
     * PR [35]#2756: 2705 fn:element-to-map-plan: numeric types
     * PR [36]#2755: 2620 fn:unparsed-text: editorial issues
     * PR [37]#2754: 2284 fn:csv-doc, fn:json-doc: Equivalent code,
       unifications
     * PR [38]#2753: 2300 fn:doc: determinism rules
     * PR [39]#2752: 1697 Add documentary names to callback function
       signatures
     * PR [40]#2747: 2591 Grammar: make step?lookup valid
     * PR [41]#2746: 2745 CSV parsing: delimiters
     * PR [42]#2734: 2733 A step too far
     * PR [43]#2719: 1234 Serialization Parameters: Indentation,
       Whitespace, Newlines
     * PR [44]#2717: 2660 fn:matching-segments: named capture groups
     * PR [45]#2715: 2653 FLWOR, member/key/value clauses: allow sequences
     * PR [46]#2714: 2219 Generalize method calls to sequences
     * PR [47]#2713: 2257 Record declarations without namespace
     * PR [48]#2712: 2702 Dynamic node tests
     * PR [49]#2707: 1962 fn:map-to-element
     * PR [50]#2698: 2641 Support comments in csv
     * PR [51]#2696: 2695 Apply templates to maps, arrays, and JNodes
     * PR [52]#2649: 2647 [53]descendants: recursion, filtering
     * PR [54]#2350: 708 An alternative proposal for generators
     * PR [55]#2247: 716 Deferred Evaluation in XPath - the f:generator
       record
     * PR [56]#2761: 2758 Add rules for visibility of named types across
       packages
     * PR [57]#2739: 2738 XSLT - tree terminology

1.6.5. Required for V4.0

   The following issues are labeled "required for V4.0".
     * Issue [58]#1777: Shallow copy in XSLT with maps and arrays
     * Issue [59]#675: XSLT streaming rules for new constructs

2. Technical agenda

   There are a lot of PRs this week. To close as many as practical, an
   attempt has been made to organize them such that we start with the
   "easy" ones. Proposals to change the order are, uh, in order.
     * PR [60]#2649: 2647 [61]descendants: recursion, filtering
     * PR [62]#2717: 2660 fn:matching-segments: named capture groups
     * PR [63]#2753: 2300 fn:doc: determinism rules
     * PR [64]#2755: 2620 fn:unparsed-text: editorial issues
     * PR [65]#2767: 2750 Make fn:unparsed-text, ... nondeterministic
     * PR [66]#2754: 2284 fn:csv-doc, fn:json-doc: Equivalent code,
       unifications
     * PR [67]#2756: 2705 fn:element-to-map-plan: numeric types
     * PR [68]#2764: 2763 Folds: document possibility of early exiting
     * PR [69]#2719: 1234 Serialization Parameters: Indentation,
       Whitespace, Newlines
     * PR [70]#2747: 2591 Grammar: make step?lookup valid
     * PR [71]#2752: 1697 Add documentary names to callback function
       signatures
     * PR [72]#2759: 1506 Type declarations: Constructor functions
     * PR [73]#2768: 2740 Drop constructor functions from built-in records
     * PR [74]#2760: 2521 URIs: unify handling of fragment identifiers
     * PR [75]#2713: 2257 Record declarations without namespace
     * PR [76]#2766: 2765 Destructuring let: records, array fix
     * PR [77]#2707: 1962 fn:map-to-element
     * PR [78]#2714: 2219 Generalize method calls to sequences
     * PR [79]#2715: 2653 FLWOR, member/key/value clauses: allow sequences
     * PR [80]#2734: 2733 A step too far
     * PR [81]#2712: 2702 Dynamic node tests
     * PR [82]#2757: 2569 Rules for unprefixed function calls with
       explicit default function ns
     * PR [83]#2746: 2745 CSV parsing: delimiters
     * PR [84]#2698: 2641 Support comments in csv
     * PR [85]#2696: 2695 Apply templates to maps, arrays, and JNodes
     * PR [86]#2761: 2758 Add rules for visibility of named types across
       packages
     * PR [87]#2739: 2738 XSLT - tree terminology

3. Any other business

References

   1. https://qt4cg.org/meeting/agenda/
   2. https://qt4cg.org/
   3. https://qt4cg.org/dashboard
   4. https://github.com/qt4cg/qtspecs/issues
   5. https://github.com/qt4cg/qtspecs/pulls
   6. https://qt4cg.org/meeting/logistics.html
   7. https://qt4cg.org/meeting/minutes/2026/06-30.html
   8. https://qt4cg.org/meeting/agenda/2026/07-07.html#technical-agenda
   9. https://qt4cg.org/dashboard/#pr-2638
  10. https://qt4cg.org/dashboard/#pr-2637
  11. https://qt4cg.org/dashboard/#pr-2636
  12. https://qt4cg.org/dashboard/#pr-2635
  13. https://qt4cg.org/dashboard/#pr-2634
  14. https://qt4cg.org/dashboard/#pr-2633
  15. https://qt4cg.org/dashboard/#pr-2594
  16. https://qt4cg.org/dashboard/#pr-2350
  17. https://qt4cg.org/dashboard/#pr-2247
  18. https://qt4cg.org/dashboard/#pr-2160
  19. https://qt4cg.org/dashboard/#pr-2071
  20. https://qt4cg.org/dashboard/#pr-2751
  21. https://qt4cg.org/dashboard/#pr-2744
  22. https://qt4cg.org/dashboard/#pr-2731
  23. https://qt4cg.org/dashboard/#pr-2706
  24. https://github.com/qt4cg/qtspecs/issues/2700
  25. https://github.com/qt4cg/qtspecs/issues/2692
  26. https://github.com/qt4cg/qtspecs/issues/2639
  27. https://github.com/qt4cg/qtspecs/issues/2482
  28. https://qt4cg.org/dashboard/#pr-2768
  29. https://qt4cg.org/dashboard/#pr-2767
  30. https://qt4cg.org/dashboard/#pr-2766
  31. https://qt4cg.org/dashboard/#pr-2764
  32. https://qt4cg.org/dashboard/#pr-2760
  33. https://qt4cg.org/dashboard/#pr-2759
  34. https://qt4cg.org/dashboard/#pr-2757
  35. https://qt4cg.org/dashboard/#pr-2756
  36. https://qt4cg.org/dashboard/#pr-2755
  37. https://qt4cg.org/dashboard/#pr-2754
  38. https://qt4cg.org/dashboard/#pr-2753
  39. https://qt4cg.org/dashboard/#pr-2752
  40. https://qt4cg.org/dashboard/#pr-2747
  41. https://qt4cg.org/dashboard/#pr-2746
  42. https://qt4cg.org/dashboard/#pr-2734
  43. https://qt4cg.org/dashboard/#pr-2719
  44. https://qt4cg.org/dashboard/#pr-2717
  45. https://qt4cg.org/dashboard/#pr-2715
  46. https://qt4cg.org/dashboard/#pr-2714
  47. https://qt4cg.org/dashboard/#pr-2713
  48. https://qt4cg.org/dashboard/#pr-2712
  49. https://qt4cg.org/dashboard/#pr-2707
  50. https://qt4cg.org/dashboard/#pr-2698
  51. https://qt4cg.org/dashboard/#pr-2696
  52. https://qt4cg.org/dashboard/#pr-2649
  53. https://qt4cg.org/meeting/agenda/2026/descendants
  54. https://qt4cg.org/dashboard/#pr-2350
  55. https://qt4cg.org/dashboard/#pr-2247
  56. https://qt4cg.org/dashboard/#pr-2761
  57. https://qt4cg.org/dashboard/#pr-2739
  58. https://github.com/qt4cg/qtspecs/issues/1777
  59. https://github.com/qt4cg/qtspecs/issues/675
  60. https://qt4cg.org/dashboard/#pr-2649
  61. https://qt4cg.org/meeting/agenda/2026/descendants
  62. https://qt4cg.org/dashboard/#pr-2717
  63. https://qt4cg.org/dashboard/#pr-2753
  64. https://qt4cg.org/dashboard/#pr-2755
  65. https://qt4cg.org/dashboard/#pr-2767
  66. https://qt4cg.org/dashboard/#pr-2754
  67. https://qt4cg.org/dashboard/#pr-2756
  68. https://qt4cg.org/dashboard/#pr-2764
  69. https://qt4cg.org/dashboard/#pr-2719
  70. https://qt4cg.org/dashboard/#pr-2747
  71. https://qt4cg.org/dashboard/#pr-2752
  72. https://qt4cg.org/dashboard/#pr-2759
  73. https://qt4cg.org/dashboard/#pr-2768
  74. https://qt4cg.org/dashboard/#pr-2760
  75. https://qt4cg.org/dashboard/#pr-2713
  76. https://qt4cg.org/dashboard/#pr-2766
  77. https://qt4cg.org/dashboard/#pr-2707
  78. https://qt4cg.org/dashboard/#pr-2714
  79. https://qt4cg.org/dashboard/#pr-2715
  80. https://qt4cg.org/dashboard/#pr-2734
  81. https://qt4cg.org/dashboard/#pr-2712
  82. https://qt4cg.org/dashboard/#pr-2757
  83. https://qt4cg.org/dashboard/#pr-2746
  84. https://qt4cg.org/dashboard/#pr-2698
  85. https://qt4cg.org/dashboard/#pr-2696
  86. https://qt4cg.org/dashboard/#pr-2761
  87. https://qt4cg.org/dashboard/#pr-2739

--
Norm Tovey-Walsh
CEO, Saxonica

Received on Monday, 6 July 2026 13:17:58 UTC