Plenty of stuff I'd like to be writing about these days, just don't have a lot of time to write about stuff since I'm too busy doing said stuff. But at least I can report I've been building and running all my WO/ng apps (including JavaMonitor, wotaskd and modulo) on JDK 26 since release. No problems when migrating from JDK 25, just works. Yay.
As usual, still using JDK 25 in development though, due to my reliance on the JetBrains runtime / DCEVM. I did however make the delightful discovery that sdkman now offers the JetBrains runtime, reducing it's installation to sdk install java 25.0.2-jbr (and then dropping in the hotswap-agent jar). Which is nice.
| 🚀 ng-objects | NGPopUpButton: fail deliberately on out-of-range selection index | Aug 11 |
| 🚀 ng-objects | NGPopUpButton: selection binding is the sole authority for rendered s… | Aug 11 |
| 🤸♀️ wonder-slim | Log pid | Aug 11 |
| 🚀 ng-objects | Log pid | Aug 11 |
| 🚀 ng-objects | /ng/dev/eval: reject a form-encoded body with a clear error, don't guess | Aug 10 |
| 🚀 ng-objects | NGRequest: FIXME on the remoteAddress accessors | Aug 10 |
| 🤸♀️ wonder-slim | Move dev-loop machinery to er.extensions.dev | Aug 10 |
| 💋 parslips | Dev server: element-API lookup endpoint + a plain-tag binding lint | Aug 10 |
| 🤸♀️ wonder-slim | Add eval and problems dev request handlers (aligned with ng-objects) | Aug 10 |
| 🚀 ng-objects | Add /ng/dev/eval and /ng/dev/problems development endpoints | Aug 10 |
| 🤸♀️ wonder-slim | 8.0.3 | Jun 26 |
| 🌿 parsley | 1.6.0 | Jun 26 |
| 🌿 parsley | 1.5.0 | Jun 18 |
| 🤸♀️ wonder-slim | 8.0.2 | Jun 18 |
| 🦡 vermilingua | 1.1.5 | Jun 15 |
| 🤸♀️ wonder-slim | 8.0.1 | Jun 1 |
| 🌿 parsley | 1.4.2 | Jun 1 |
| 🦡 vermilingua | 1.1.4 | Apr 24 |
| 🚀 ng-objects | 0.1.1 | Apr 22 |
| 🦡 vermilingua | 1.1.3 | Apr 15 |
| 💋 parslips | Dev server surface: planned endpoints + conventions (catch-all roadmap) | Aug 10 |
| 🚀 ng-objects | NGRequest: parse the body lazily (raw body + on-demand form values), not eagerly at the adaptor | Aug 10 |
| 🚀 ng-objects | Headless action driving: render a page, list its actions, invoke one (dev endpoint) | Aug 10 |
| 🤸♀️ wonder-slim | Make ERXWOImage the full <wo:img> replacement (incl. dynamic/data images) | Jul 8 |
| 🌿 parsley | Heat map: make render-tree sibling ordering user-selectable (hottest-first vs source order) | Jul 6 |
| 🚀 ng-objects | Parser: record a SourceRange per binding (not just per element) | Jul 6 |
| 🧩 apiext-format | Generated-from-source authoring mode (annotations + javadoc → .apiext); the file stays canonical | Jul 5 |
| 🤸♀️ wonder-slim | AjaxSlim: remove replaceID (the ajax-replacement mode) | Jul 5 |
| 🧩 apiext-format | Prefix-family bindings (declare a family of bindings by prefix, e.g. ?key query params) | Jul 4 |
| 🧩 apiext-format | Enclosing-context requirement (element must sit inside a form) | Jul 4 |