In this post I'll give updates about open source I worked on during January 2023.
But first off, 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!
If you're used to sponsoring through some other means which isn't listed above, please get in touch.
Attention
If you are using Github Sponsors and are making payments via Paypal, please update to a creditcard since Github Sponsors won't support Paypal from February 23rd 2023. Read their statement here. If you are not able to pay via a creditcard, you can still sponsor me via one of the ways mentioned above.
Native, fast starting Clojure interpreter for scripting.
New releases in the past month: 1.0.170 - 1.1.173 Highlights:
data_readers.clj(c)
java.class.path
and RT/baseLoader
)*loaded-libs*
and (loaded-libs)
add-watch
on vars (which adds compatibility with potemkin.namespaces
)--prn
I contributed changes to the following libraries to make them compatible with babashka:
Check the changelog for all the changes!
The new babashka http-client project mostly replaces babashka.curl.
This month the default client was improved to accept gzip
and deflate
as encodings by default, reflecting what babashka.curl
did.
Also babashka.http-client
is now available as a built-in namespace in babashka
v1.1.171 and higher.
Static analyzer and linter for Clojure code that sparks joy
Three new releases with many fixes and improvements in the last month. Check the changelog for details.
Some highlights:
:aliased-namespace-var-usage
: warn on var usage from namespaces that were used with :as-alias
. See demo.:symbols
analysis for navigation to symbols in quoted forms or EDN files. See demo.The symbol analysis is used from clojure-lsp for which I provided a patch here.
A new project around clj-kondo is clj-kondo-bb which enables you to use clj-kondo from babashka scripts.
Also lein-clj-kondo got an update.
This is a new project and gives you access to a subset of instaparse via a pod.
Instaparse was request a few times to have as a library in babashka and instaparse-bb is a good first step, without making a decision on that yet. See the relevant discussion here.
Remove unused Clojure vars
In the 0.3.5 version, Carve got the following updates:
carve
binary in favor of invocation with babashka. Instead you can now install carve with bbin: bbin install io.github.borkdude/carve
--help
CLI to transform between JSON, EDN, YAML and Transit using Clojure
Version 0.4.23
:
base64/encode
and base64/decode
jet/paths
and jet/when-pred
--query
in favor of --thread-last
, --thread-first
or --func
File system utility library for Clojure.
Fs has gotten a few new functions:
unifixy
, to turn a Windows path into a path with Unix-style pathseparators. Note that that style is supported by the JVM and this offers a morereliable way to e.g. match filenames via regexes.xdg-*-home
helper functions, contributed by @evalSee changelog for more details.
A CLI to add common aliases and features to deps.edn
-based projects.
This month there were several small fixes, one of them being to always pick stable versions when adding or upgrading libraries. See full changelog for details.
Light-weight static blog engine for Clojure and babashka.
The blog you're currently reading is made with quickblog.
Version 0.2.3 was released with contributions from several people, mostly enabling you to tweak your own blog even more, while having good defaults.
Instances of quickblog can be seen here:
If you are also using quickblog, please let me know!
A collection of ready to be used SCI configs for e.g. Reagent, Promesa, Re-frame and other projects that are used in nbb, joyride, scittle, etc. See recent commits for what's been improved.
Edamame got a new function: parse-next+string
which returns the original string along with the parsed s-expression.
Lein to deps.edn converter
This tool can convert a project.edn
file to a deps.edn
file. It even supports Java compilation and evaluation of code within project.clj
. There is now a lein plugin which enables you to sync your project.clj
with your deps.edn
every time you start lein
. Several other minor enhancements were made. See changelog.
I added the ability to build and deploy 4ever-clojure to Github Actions. Every time a commit is merged, the site is automatically updated.
The following projects also got updates, mostly in the form of maintenance and performance improvements. This post would get too long if I had to go into detail about them, so I'll briefly mention them in random order:
Published: 2023-02-05
Tagged: clojure oss updates