The following presents context for discussion at the upcoming virtual chat, scheduled for July 21. But I post it here both in case people want to comment, but won’t be coming, and also for folks to have some context ahead of the discussion.
Current status and problem statement
CSL has been wildly successful.
- multiple compliant processors
- thousands of available styles
- diverse end-user applications, with millions of users
In the past year alone, we’ve seen three processors, and integration with classic open source tools like TeX and Emacs.
This success, however, brings with it a problem: it’s difficult to maintain and evolve all of this (including documentation) in sync. This is particularly the case when much of the labor to do this work is distributed, and done on the inconsistent free time of busy people.
Recent changes and next steps
Last year we tagged a minor v1.0.2
release, with bug fixes and new types and variables. This was the first release in almost a decade.
Draft v1.1 changes
While triaging the issue tracker to identify these smaller changes, we also discovered feature requests that required more structural changes in styling and/or input schema. We identified a subset of these to implement in the draft v1.1
branch, which includes the following changes.
Style XML schema
- Independent formatting of titles and subtitles.
- Independent formatting of in-text and in-parentheses author lists
(required in APA). - Richer EDTF dates (intervals, times, etc.).
- Related-items.
Input JSON/YAML schema
-
Convert array to object, with metadata and a required
version
. - Allow titles to be an object, with
main
andsub
titles. - Prefer dates as an EDTF+ string.
- Related-items.
- experimental rich-text schema
Aside: a lot of work went into the above, surely almost exclusively a consequence of the free time opened up for some of us early in the pandemic. I doubt that will happen again (hopefully not!).
Questions to resolve
- How do we get this to release? Do we, for example, just open up a public comment period? If yes, where, and how? Should we call it 1.1, or 2.0?
- How, more generally, should we manage change in CSL going forward? What other barriers (say in terms of resources, including time/labor) impact our answer to this question, and how might we reduce those barriers?