2023 Long Term Projects: May and June Updates

By Kathy Davis


There is a lot of work to catch up on! Our 10 developers working on long-term projects check in with their May and June project updates. We also have two updates from Q1 2023 projects (Donut and Adelph/Manifold).

2023 Long-Term Projects

Bozhidar Batsov
Michiel Borkent
Sean Corfield
Eric Dallo
Christophe Grand
Thomas Heller
Nikita Prokopov
Tommi Reiman
Peter Stromberg
Peter Taoussanis

Q1 2023 Projects

Aleph/Manifold: Matthew Davidson
Donut: Daniel Higginbotham

Bozhidar Batsov

CIDER

For the past few months the primary focus of my Clojure-related work was CIDER. We’ve made some important steps toward the next release:

As usual the next release will also feature a few smaller improvements and bugfixes that you can peruse here. Just as importantly we’ve started to discuss the plans for CIDER 2.0. Everyone’s more than welcome to participate in the conversation there!

In other news:


Michiel Borkent

In this post I’ll give updates about open source I worked on during May and June 2023. To see previous OSS updates, go here.

Sponsors

I’d like to thank all the sponsors and contributors that make this work possible!

Top sponsors:

If you want to ensure that the projects I work on are sustainably maintained, you can sponsor this work in the following ways. Thank you!

Github Sponsors:

If you’re used to sponsoring through some other means which isn’t listed above, please get in touch. On to the projects that I’ve been working on!

May 2023 Updates

The following projects had updates in May 2023. Note that only highlights are mentioned and not a full overview of all changes. See the project’s changelogs for all changes.

Other projects

These are (some of the) other projects I’m involved with but little to no activity happened in the past month.

June 2023 Updates

First a few updates of what I’ve been up to outside of sitting behind a screen. June was packed with two trips and a vacation so there aren’t as many updates as usual.

The following projects had updates in June. Note that only highlights are mentioned and not a full overview of all changes. See the project’s changelogs for all changes.

Other projects

These are (some of the) other projects I’m involved with but little to no activity happened in the past month.

Discuss this post here. Tagged: clojure oss updates


Sean Corfield

In my previous Long-Term Funding update I said I would review/overhaul the Libraries pages (both authoring and the directory) and write the tools.build cookbook.

The library authoring guide has been rewritten to use the Clojure CLI, deps-new, and deps-deploy and was well-received by the community, who provided some useful feedback that I have also incorporated into the guide. The information from the library directory has been integrated into The Clojure Toolbox via a couple of Pull Requests that added optional tool-tip descriptions and libraries that were on clojure-doc but missing from the Toolbox. Thanks to James Reeves for accepting those PRs!

What else did I get done?<!–more–>

ClojureCLR, HoneySQL

There’s been quite a bit of activity around ClojureCLR recently, so I’ve been testing .NET-related things on Windows and on Ubuntu. David Miller submitted a patch to tools.cli to add CLR support which I released as tools.cli v1.0.219 and I updated HoneySQL to add CLR support: honeysql v2.4.1033.

tools.nrepl has been ported to ClojureCLR and Peter Strömberg (maintainer of Calva) has created a ClojureCLR starter project for VS Code/Calva which I’ve also been helping to test on Windows and Ubuntu.

HoneySQL saw another release, mostly improving documentation and docstrings, near the end of the this period: v2.4.1045. Both releases improved the experience with :on-conflict clauses.

next.jdbc

next.jdbc v1.3.883 was also released in this period, also mostly improving documentation and docstrings, and adding an active-tx? predicate to expose whether next.jdbc thinks you are currently in a with-transaction context.

clojure-doc.org

All of the content from the library directory has been incorporated into The Clojure Toolbox at this point. Every library that was previously listed on clojure-doc.org is now listed on the Toolbox and all of the one-line descriptions have been added to the Toolbox as well (which now show up as tooltips when you hover over the library name/link). The Toolbox still has a lot of libraries listed without descriptions so, hopefully, that’s something the community can add over time (or help James with automating, using project descriptions from GitHub, perhaps?).

The library authoring guide has been substantially rewritten to use the Clojure CLI, deps.edn, and build.clj. The old Leiningen-based library authoring guide has been lightly updated and is still available, linked from the new guide.

In addition to the library work mentioned above, I’ve been working on the tools.build cookbook. I shared an early draft to get community feedback and then shared the completed version this week. The whole thing is over 3,000 words now, with a lot of code examples. I’ve tried to distill everything I’ve learned about tools.build into a single document that covers various scenarios that go beyond what is in the official tools.build guide.

Some additional community feedback has already been incorporated and more will be incorporated over the next few weeks, I expect.

What’s Next?

In July/August, I’m hoping to complete a review and update of both the “ecosystem” and “tutorials” section of clojure-doc.org, and then in the two remaining periods, I’ll tackle the “cookbooks” and “language” sections.

On a personal note…

I mentioned in the previous update that my mother was in hospital and I want to thank everyone who reached out to me with kind words and support. She came home and was doing well for a while but then she had another fall and she’s back in hospital as I write this, this time with severe anemia on top of her other issues. She’s had a blood transfusion and seems to be doing better but we don’t know when she’ll be home. It’s times like these when I really do feel the five and a half thousand miles between us…

{:tags [“clojure” “clojure-doc.org” “honeysql” “clojure-clr” “jdbc” “open source” “community” “clojurists together”]}


Eric Dallo

During these 2 months, I mainly focused on improving clojure-lsp, fixing bugs and adding some features mentioned above, especially improving the java support. Also, I’ve been working for some months now in a new Intellij plugin called clojure-lsp-intellij, which I should finish the alpha and announce soon!

clojure-lsp

Main highlights:

2023.05.04-19.38.01

General

Editor

API/CLI

2023.07.01-22.35.41

General

Editor

API/CLI

clj-kondo

#2106: Support .cljd files as source files.

jet.el

#7: json with ' (single quote) fails to convert to edn.


Christophe Grand

ClojureDart

The period started on the Conj heels and we were all pumped up. We’re seeing a steady influx of new users. With more users we spent more time supporting them but experienced users are starting to help too, and we are getting more PRs, it’s a good sign!

Two of the “future work” items of previous update have landed during this period: Dart 3 support and the new reader.

Last, we started publishing short videos on Youtube https://www.youtube.com/@clojuredart/shorts (Don’t check your speakers they don’t have audio.)

Fixes

Several fixes to the compiler, cljd.core or flutter.cljd.

Amongst them:

Improvements

New features

Future work: ClojureDart


Thomas Heller

shadow-cljs

Time was mostly spent on doing maintenance work and some bugfixes. As well as helping people out via the typical channels (eg. Clojurians Slack).

Current shadow-cljs version: 2.24.1 Changelog

Notable Updates


Nikita Prokopov

Less releases these last two months, more research and reports.

DataScript:

Humble UI:

Clojure Sublimed:

Blogging:


Tommi Reiman

Had a busy 2 months and did not have enough focus time to deliver the things I planned on OS. Just started my 9 week summer vacation, will be few weeks off the grid, but then will jump back into OS.

Malli

Reitit

Something else

Summer.

summer


Peter Stromberg

As usual the bulk of my open source energy is poured into Calva, a Clojure/ClojureScript/ClojureCLR/ClojureDart/Babashka/nbb/Joyride /etcetera development environment that takes Interactive Programming seriously.

I also got to contribute to Clojure-related starter projects and was interviewed for Flexiana’s new Clojure Corner series: Clojure Corner with Peter Strömberg

Calva

Over at Twitter someone asked me if I was up to something exciting. Implicitly wondering if Calva was about to get some cool new big thing (I think). My answer was that it is mostly about maintenance currently. However, I find Calva maintenance exciting!

Maintenance has many aspects. Is the documentation helpful? Are there bugs that create that extra friction making them a priority? Is there some feature that could be made more powerful with some change? What about some new features I feel curious about and that I can finish with one or two late-night hacking sessions? The best part: I get to talk to Calva users and consider their feedback, questions and suggestions.

Here’s a summary of Calva maintenance May + June 2023. I’m including some of the rationales, to give you a feel for how we reason when maintaining Calva. Wall of text:

Starter projects

I am a big fan of small starter projects. They can load a lot of experimentation and failure experience into a simple and approachable package that is easy for beginners and non-beginners alike to pick up and use. Hopefully for a quicker and smoother experience than the starter project creator had. Hereby I am encouraging you all to consider this when you have experimented with some tech stack, or tech stack component. It is my experience that I learn better from creating them as well. Both by the activity of structuring the project and writing the README in a way that I can hope is understandable, and from the feedback and contributions I get from others trying to use my project.

Anyway. This period around I created one new starter project and gave some love to an old and still popular one.

Please follow me

Thanks for sponsoring me! ❤️


Peter Taoussanis

You can read more from Peter at Peter Taoussanis

Recent releases include:

Upcoming work:

A big thanks to Clojurists Together, Nubank, lambdaschmiede, and other sponsors of my open-source work 🙏


Q2 2023 Project Updates

Aleph/Manifold: Matthew Davidson

(Report 2. Published 30 June 2023)

HTTP/2 support

Other Aleph changes


Donut: Daniel Higginbotham

(Report 2 Published 25 May, 2023)
Over the last couple months I’ve made a lot of changes across the Donut ecosystem to get the framework closer to realizing the vision of providing a foundation for building single-page apps. I’ve focused on creating a cookie-based auth plugin that provides both backend API endpoints and frontend components.

Per-repo changes include:

donut-party/endpoint

This repo provides components you can add to your system to configure it for serving HTTP API requests.

donut-party/endpoint-test

This repo provides a test harness for applications that use donut.system and donut.endpoint to define API handlers. It handles system setup/teardown and provides helpers to:

Updates:

donut-party/frontend

donut-party/donut-cli

donut-party/system