You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/news/2025/Annual Funding Jan Feb 2025 Report.md
+263-8Lines changed: 263 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -9,17 +9,17 @@ draft: True
9
9
---
10
10
11
11
Hello Fellow Clojurists!
12
-
This is the first report from the 5 developers receivng Annual Funding on 2025.
12
+
This is the first report from the 5 developers receivng Annual Funding on 2025. (Highlights listed on the list below - but the reports include much more).
13
13
14
-
Dragan Duric
15
-
Eric Dallo
16
-
Michiel Borkent
17
-
Peter Taoussanic
18
-
Oleksandr Yakushev
14
+
[Dragan Duric](#dragan-duric): Apple M Engine Neanderthal
[Oleksandr Yakushev](#oleksandr-yakushev): CIDER, clj-async-profiler and Flamebin, clj-memory-meter
19
19
20
20
21
21
## Dragan Duric
22
-
2025 Annual Funing Report 1. Published February 27, 2025.
22
+
2025 Annual Funding Report 1. Published February 27, 2025.
23
23
24
24
My goal with this funding in 2025 is to support Apple silicon (M cpus) in Neanderthal
25
25
(and other Uncomplicate libraries where that makes sense and where it's possible).
@@ -67,5 +67,260 @@ Many thanks for CT for sponsoring this work! <br>
67
67
---
68
68
69
69
## Eric Dallo
70
-
2025 Annual Funing Report 1. Published February 27, 2025.
70
+
2025 Annual Funding Report 1. Published February 27, 2025.
71
+
72
+
In the first two months of sponsorship I could work on so many things related to IDE development which made me really glad of this sponsoship! :heart:
73
+
I spend most of the time improving the Clojure development on IntelliJ, improving both [clojure-lsp-intellij](https://github.com/clojure-lsp/clojure-lsp-intellij) and [clojure-repl-intellij](https://github.com/afucher/clojure-repl-intellij) plugins releasing 2 major extremally important versions.
74
+
The IntelliJ Clojure development using those plugins are way better and mature, please test and give feedback!
The 3.0.0 major version was a refactor on most of the plugin to use [lsp4ij](https://github.com/redhat-developer/lsp4ij), an OSS plugin for IntelliJ which makes easier to code and use LSP features, so this integration removed tons of code from this plugin that I needed to implement manually (and some had some bugs) and added support for lots of missing features that I didn't even plan to add. The lsp4ij plugin is used by multiple languages already which makes this plugin more resilient and stable. Check it out the call hieararchy feature on the image.
79
+
80
+

81
+
82
+
_Kudos to [@angelozerr](https://github.com/angelozerr) for the help during lsp4ij integration on their side._
83
+
84
+
#### 3.0.0 - 3.1.0
85
+
86
+
- Fix brace matcher to insert closing brace for some missing cases.
87
+
- Add imcompatible tag with Cursive and Clojure-Kit plugins.
88
+
- Integrate with lsp4ij, a LSP client plugin, removing lots of logics from this plugin and fixing multiple bugs and issues. Fixes #63, #61, #59, #57, #53, #36, #21, #9, #5
89
+
- Drop support for older intellijs, supporting 2023.3 onwards.
90
+
- Bump clj4intellij to 0.6.3.
91
+
- Fix code lens references not working when more than a project is opened. #67
92
+
- Fix Settings page exception when more than a project was opened and closed.
93
+
- Fix comment form complain about missing paren.
94
+
- Improve server installation fixing concurrency bugs + using lsp4ij install API.
_Kudos to [@afucher](https://github.com/afucher) for the help on some of those features._
103
+
104
+
#### 2.0.0 - 2.2.0
105
+
106
+
- Add icons of REPL commands to REPL window (clear and entry history navigation). #99
107
+
- Drop support of older IntelliJ versions (2021/2022). Now requires minimum IntelliJ 2023.3 (Build 233)
108
+
- Fix namespace-not-found error handling. Now shows a message to the user. #107
109
+
- Add eval inlay hint support. #106
110
+
- Add action to interrupt evals on the REPL session (`shift alt R` + `shift alt S`). #104
111
+
- Add color settings page for customization of some tokens.
112
+
- Add default name for RunConfigurations instead of save as Unnamed. #123
113
+
- Add REPL syntax highlight. #18
114
+
- Fix `eval defun at cursor` action error. #121
115
+
- Create view error on test error. #128
116
+
- Block backspace on repl input.
117
+
118
+
### [clojure-lsp](https://clojure-lsp.io/)
119
+
120
+
[clojure-lsp](https://clojure-lsp.io/) is the base for all Clojure language handle logic and analysis, so lots of fixes and improvements are made all the time.
121
+
122
+
#### 2025.01.22-23.28.23 - 2025.02.07-16.11.24
123
+
124
+
- General
125
+
- Bump clj-kondo to `2025.01.16`
126
+
- Bump lsp4clj to `1.11.0`.
127
+
- Add semantic version sorting in completion lib versions. #1913
128
+
- Fix internal error in range formatting. #1931
129
+
- Drop support for jdk 8. #1942
130
+
131
+
- Editor
132
+
- Change simple keyword completion to return all known keywords. #1920
133
+
- Return textEdit to CompletionItems to fix completion in Zed #1933
134
+
- Restrict linked edits to namespace aliases only, and fix a few related issues #1947
135
+
- Add `:hover :hide-signature-call?` settings option to disable showing the surrounding call. #1954, @NoahTheDuke
136
+
- Revert #1933, which caused a regression on completion adding extra text.
137
+
- Fix fetching libs exception causing progress notification to be stuck. #1958
138
+
139
+
- API/CLI
140
+
- Add `:project-and-shallow-analysis` type to `dump` command
141
+
- Add `:diagnostics` to `dump` command output (successor of `:findings`)
lsp4lj is the base of clojure-lsp, it's the layer that has all the LSP communication layer, making easy to build LSP clients/servers of any language in Clojure.
146
+
147
+
#### v1.11.0
148
+
149
+
- Add a `:response-executor` option to control on which thread responses to
150
+
server-initiated requests are run, defaulting to Promesa's `:default`
151
+
executor, i.e. `ForkJoinPool/commonPool`.
152
+
- Fix work done progress notification to allow nullable `message`.
clj4intellij is a lib that makes possible to code IntelliJ plugins in Clojure, it's used by both clojure-lsp-intellij and clojure-repl-intellij plugins.
157
+
158
+
#### 0.6.0 - 0.6.3
159
+
160
+
- Add unregister-action! and improve register-action!
161
+
- Add clj-kondo hook for proxy+. <br>
162
+
163
+
---
164
+
165
+
## Michiel Borkent
166
+
2025 Annual Funding Report 1. Published February 28, 2025.
167
+
168
+
### Sponsors
169
+
I'd like to thank all the sponsors and contributors that make this work possible. Without you, the below projects would not be as mature or wouldn't exist or be maintained at all. Top sponsors:
If you're used to sponsoring through some other means which isn't listed above, please get in touch. Thank you! On to the projects that I've been working on!
186
+
187
+
As I'm writing this I'm still recovering from a flu that has kept me bedridden for a good few days, but I'm starting to feel better now. Here are updates about the projects/libraries I've worked on in the last two months.
188
+
189
+
### [clj-kondo](https://github.com/clj-kondo/clj-kondo): static analyzer and linter for Clojure code that sparks joy.
190
+
* Unreleased:
191
+
* [#2493](https://github.com/clj-kondo/clj-kondo/issues/2493): reduce image size of native image
192
+
* 2025.02.20:
193
+
* [#2473](https://github.com/clj-kondo/clj-kondo/issues/2473): New linter: :unknown-ns-options will warn on malformed (ns) calls. The linter is {:level :warning} by default. ([@Noahtheduke](https://github.com/Noahtheduke))
* [#2465](https://github.com/clj-kondo/clj-kondo/issues/2465): fix :discouraged-var linter for fixed arities
196
+
* [#2277](https://github.com/clj-kondo/clj-kondo/issues/2277): prefer an array class symbol over (Class/forName ...) in defprotocol and extend-type
197
+
* [#2466](https://github.com/clj-kondo/clj-kondo/issues/2466): fix false positive with tagged literal in macroexpand hook
198
+
* [#2463](https://github.com/clj-kondo/clj-kondo/issues/2463): using :min-clj-kondo-version results in incorrect warning ([@imrekoszo](https://github.com/imrekoszo))
199
+
* [#2464](https://github.com/clj-kondo/clj-kondo/issues/2464): :min-clj-kondo-version warning/error should have a location in config.edn ([@imrekoszo](https://github.com/imrekoszo))
200
+
* [#2472](https://github.com/clj-kondo/clj-kondo/issues/2472) hooks api/resolve should return nil for unresolved symbols and locals
201
+
* [#2472](https://github.com/clj-kondo/clj-kondo/issues/2472): add api/env to determine if symbol is local
202
+
* [#2482](https://github.com/clj-kondo/clj-kondo/issues/2482): Upgrade to Oracle GraalVM 23
203
+
* [#2483](https://github.com/clj-kondo/clj-kondo/issues/2483): add api/quote-node and api/quote-node? to hooks API ([@camsaul](https://github.com/camsaul))
204
+
* [#2490](https://github.com/clj-kondo/clj-kondo/issues/2490): restore unofficial support for ignore hints via metadata
205
+
### [squint](https://github.com/squint-cljs/squint): CLJS *syntax* to JS compiler
206
+
* Fix [#609](https://github.com/squint-cljs/squint/issues/609): make remove return a transducer when no collection is provided
207
+
* Fix [#611](https://github.com/squint-cljs/squint/issues/611): Implement the set? function ([@jonasseglare](https://github.com/jonasseglare))
208
+
* Fix [#613](https://github.com/squint-cljs/squint/issues/613): Optimize aset
* Fix [#605](https://github.com/squint-cljs/squint/issues/605): merge command line --paths with squint.edn config properly
216
+
* Fix [#607](https://github.com/squint-cljs/squint/issues/607): make mapcat return a transducer if no collections are provided ([@jonasseglare](https://github.com/jonasseglare))
217
+
### [babashka](https://github.com/babashka/babashka): native, fast starting Clojure interpreter for scripting.
218
+
* Experimenting upgrading to new beta core.async, work in is a branch ready to be merged
219
+
* [#1785](https://github.com/babashka/babashka/issues/1785): Allow subclasses of Throwable to have instance methods invoked ([@bobisageek](https://github.com/bobisageek))
220
+
* [#1791](https://github.com/babashka/babashka/issues/1791): interop problem on Jsoup form element
221
+
* [#1793](https://github.com/babashka/babashka/issues/1793): Bump rewrite-clj to 1.1.49 (fixes parsing of foo// among other things)
222
+
* Bump deps.clj
223
+
* Bump fs
224
+
### [fs](https://github.com/babashka/fs) - File system utility library for Clojure
225
+
* v0.5.24 (2025-01-09)
226
+
* [#135](https://github.com/babashka/fs/issues/135): additional fix for preserving protocol when calling fs/path on multiple arguments ([@Sohalt](https://github.com/Sohalt))
227
+
### [SCI](https://github.com/babashka/sci): Configurable Clojure/Script interpreter suitable for scripting
228
+
* Records should have keys present and set to nil
229
+
### [deps.clj](https://github.com/borkdude/deps.clj): A faithful port of the clojure CLI bash script to Clojure
230
+
* Catch up with several new versions of clojure CLI
231
+
* Fix [#132](https://github.com/borkdude/deps.clj/issues/132): copy install tools.edn to config dir when install version is newer, similar to clojure CLI bash script
232
+
* Adds support for XDG_DATA_HOME environment variable according to [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/latest/)
233
+
### [sql pods](https://github.com/babashka/babashka-sql-pods): babashka pods for SQL databases
234
+
* Add support for DuckDB ([@avelino](https://github.com/paintparty))
235
+
### [edamame](https://github.com/borkdude/edamame): Configurable EDN/Clojure parser with location metadata
236
+
* Fix #115: add location to exception for invalid keyword
237
+
### [rewrite-edn](https://github.com/borkdude/rewrite-edn): Utility lib on top of rewrite-clj with common operations to update EDN while preserving whitespace and comments
238
+
* [#40](https://github.com/borkdude/rewrite-edn/issues/40): assoc/update now handles map keys that have no indent at all ([@lread](https://github.com/lread))
239
+
* [#43](https://github.com/borkdude/rewrite-edn/issues/43): bump rewrite-clj to 1.1.49 ([@lread](https://github.com/lread))
240
+
* [#40](https://github.com/borkdude/rewrite-edn/issues/40): assoc/update now handles map keys that have no indent at all ([@lread](https://github.com/lread))
241
+
* [#40](https://github.com/borkdude/rewrite-edn/issues/40): assoc/update now aligns indent to comment if that's all that is in the map ([@lread](https://github.com/lread))
242
+
* [#40](https://github.com/borkdude/rewrite-edn/issues/40): update now indents new entries in same way as assoc ([@lread](https://github.com/lread)) <br>
243
+
244
+
---
245
+
246
+
## Peter Taoussanis
247
+
2025 Annual Funding Report 1. Published February 27, 2025.
248
+
249
+
A big thanks to [Clojurists Together](https://www.clojuriststogether.org/), [Nubank](https://nubank.com.br/), and [other sponsors](https://www.taoensso.com/sponsors) of my open source work! I realise that it's a tough time for a lot of folks and businesses lately, and that sponsorships aren't always easy 🙏
250
+
251
+
\-[Peter Taoussanis](https://www.taoensso.com)
252
+
253
+
254
+
Hi everyone! 👋
255
+
256
+
I've been focused recently on getting [Telemere](https://www.taoensso.com/telemere) v1 over the finish line. That's been a lot of ongoing work, in part because I'm trying to establish patterns that can be easily shared between a suite of complementary libs (Telemere, [Tufte](https://www.taoensso.com/tufte), and [Truss](https://www.taoensso.com/truss)).
257
+
258
+
I've also been considering long-term plans for how to better modularize [Encore](https://www.taoensso.com/encore) to help reduce dependency and build sizes where relevant. More on that later in the year.
259
+
260
+
### Recent work
261
+
262
+
#### Truss v2 - an opinionated micro toolkit for Clj/s errors
263
+
264
+
I've recently released [Truss v2](https://github.com/taoensso/truss/releases/tag/v2.0.0), which has enlarged the scope of the library from just assertion utils to a **general error toolkit** for Clojure and ClojureScript.
265
+
266
+
v2 includes:
267
+
268
+
- A ground-up rewrite of the existing assertion utils to improve performance, reduce build size, and improve integration with Telemere.
269
+
- A new set of small but high-value error utils moved from Encore as part of the ongoing modularization effort.
270
+
- A new [contextual exception](https://cljdoc.org/d/com.taoensso/truss/CURRENT/api/taoensso.truss#ex-info) type that's already used by Encore and Telemere, and will be used by all of my other libraries in future.
271
+
- Updated docs and a new [Slack channel](https://www.taoensso.com/truss/slack).
272
+
273
+
Truss v2 basically packages together a minimal set of mature tools and patterns that I've used over many years to help tame Clojure's often unruly errors. It's simple stuff, but practical - and it helps.
274
+
275
+
For more info see the [README](https://github.com/taoensso/truss) and [docstrings](https://cljdoc.org/d/com.taoensso/truss/CURRENT/api/taoensso.truss).
276
+
277
+
#### Telemere v1 RC3 - structured logging and telemetry for Clj/s
278
+
279
+
I was hoping to release Telemere v1 final this month, but decided that a [third release candidate](https://github.com/taoensso/telemere/releases/tag/v1.0.0-RC3) was warranted.
280
+
281
+
The latest improvements are focused on harmonizing relevant terminology, concepts, and API between Telemere, [Truss](https://www.taoensso.com/truss), and the forthcoming v3 of [Tufte](https://www.taoensso.com/tufte).
282
+
283
+
Big thanks to everyone that's been helping test and give feedback! v1 final really should (finally) be available next month 🙏
284
+
285
+
### Upcoming work
286
+
287
+
The next major release planned is [Tufte](https://www.taoensso.com/tufte) v3. I've already got an early draft prepared, but there's polish needed - and new docs.
288
+
289
+
v3 improves performance and significantly improves interop with Telemere, offering what I believe to be a pretty compelling combination for [Clojure/Script observability and monitoring](https://github.com/taoensso/telemere#next-gen-observability).
290
+
291
+
For plans after that, you can see my [2025 roadmap](https://taoensso.com/roadmap/2025)), which as usual I'll keep updated along the way 👍
292
+
293
+
Cheers everyone! :-) <br>
294
+
295
+
---
296
+
297
+
## Oleksandr Yakushev
298
+
2025 Annual Funding Report 1. Published February 28, 2025.
299
+
300
+
Hello friends! Here's a short summary of my **January-February Clojurists Together 2025 sponsorship** work.
301
+
302
+
### CIDER
303
+
304
+
- I spearheaded the [**1.17**](https://github.com/clojure-emacs/cider/releases/tag/v1.17.0) and **1.17.1** releases of CIDER.
305
+
- The biggest feature of the release is the support for automatic downloading of Java sources (details: https://clojurians.slack.com/archives/C06MAR553/p1739810631203369).
- New releases: [1.6.0](https://github.com/clojure-goes-fast/clj-async-profiler/blob/master/CHANGELOG.md#160-2025-01-09) and [1.6.1](https://github.com/clojure-goes-fast/clj-async-profiler/blob/master/CHANGELOG.md#161-2025-02-10).
311
+
- New feature: switchable viewing modes for diffgraphs (details: https://clojurians.slack.com/archives/C06MAR553/p1736447669594659)
312
+
- New feature: total percentage is automatically calculated for highlighted frames.
313
+
- Both features are also supported at Flamebin (https://flamebin.dev/).
314
+
315
+
### clj-memory-meter
316
+
317
+
- New release: [0.4.0](https://github.com/clojure-goes-fast/clj-memory-meter/blob/master/CHANGELOG.md#040-2025-02-18).
318
+
- New feature: memory usage tracing.
319
+
- New blog post: I have written about this new clj-memory-meter feature on Clojure Goes Fast blog: [Tracking memory usage with clj-memory-meter.trace](https://clojure-goes-fast.com/blog/tracking-memory-usage/).
320
+
321
+
### Misc projects
322
+
323
+
- New release: virgil [0.3.2](https://github.com/clj-commons/virgil/blob/master/CHANGELOG.md#032-2025-01-28) — bugfixes.
324
+
- New release: clj-java-decompiler [0.3.7](https://github.com/clojure-goes-fast/clj-java-decompiler/blob/master/CHANGELOG.md#037-2025-01-28) — bugfixes. <br>
0 commit comments