Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,35 @@

All notable changes to BareDOM will be documented in this file.

## [3.9.0] - 2026-08-26

The manifest declares `schemaVersion 1.0.0` and omitted three fields the schema defines. It now
publishes all three, so an editor reading `custom-elements.json` completes attributes and custom
properties that it previously knew nothing about.

### Added

- **`attributes`** — every attribute a component observes. An attribute that a `property-api`
entry reflects also carries that property's type and field name. The rest carry a name alone,
because the component states no type for them. 809 attributes across 108 components, 480 of
them typed. `observed-attributes` names symbols rather than strings, so each one is resolved
through the model's own constants: a symbol that escaped resolution would publish `attr-columns`
as if it were an attribute name.

- **`cssProperties` and `cssParts`** — the custom properties a component reads and the parts it
exposes, read from the implementation source that writes them rather than from a second
declaration. A property is owned by the longest tag that prefixes it, so `--x-table-cell-padding`
belongs to `x-table-cell` and not to `x-table`. 1351 properties and 489 parts.

- **`scripts/check_css_api.bb` and `scripts/check_attribute_api.bb`** — CI checks that read each
component crudely and assert the manifest agrees. Each is written to avoid the assumption its
extractor makes, because a check that shares one agrees with the bug.

### Notes

- **`src/` is unchanged**, so the ESM bundles, the framework adapters and the compiled namespaces
in the jar are identical to 3.8.0. Only the manifest grew.

## [3.8.0] - 2026-08-14

### Added
Expand Down
2 changes: 1 addition & 1 deletion build.clj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
(:require [clojure.tools.build.api :as b]))

(def lib 'com.github.avanelsas/baredom)
(def version "3.8.0")
(def version "3.9.0")
(def class-dir "target/classes")
(def jar-file (format "target/%s-%s.jar" (name lib) version))
(def pom-file (format "target/classes/META-INF/maven/%s/%s/pom.xml"
Expand Down
2 changes: 1 addition & 1 deletion deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
:deploy {:deps {slipset/deps-deploy {:mvn/version "0.2.1"}}
:mvn/repos {"clojars" {:url "https://repo.clojars.org/"}}
:exec-fn deps-deploy.deps-deploy/deploy
:exec-args {:artifact "target/baredom-3.8.0.jar"
:exec-args {:artifact "target/baredom-3.9.0.jar"
:installer :remote}}}}
6 changes: 3 additions & 3 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ BareDOM can be consumed three ways: as a **ClojureScript source dependency** (Cl
Add BareDOM to your `deps.edn`:

```clojure
{:deps {com.github.avanelsas/baredom {:mvn/version "3.8.0"}}}
{:deps {com.github.avanelsas/baredom {:mvn/version "3.9.0"}}}
```

Or in your `shadow-cljs.edn` dependencies:

```clojure
:dependencies [[com.github.avanelsas/baredom "3.8.0"]]
:dependencies [[com.github.avanelsas/baredom "3.9.0"]]
```

Then require component namespaces directly and call their `init!` function once at startup:
Expand Down Expand Up @@ -76,7 +76,7 @@ Add the npm package to your `package.json`:
```json
{
"dependencies": {
"@vanelsas/baredom": "^3.8.0"
"@vanelsas/baredom": "^3.9.0"
}
}
```
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -588,7 +588,7 @@
"bugs": {
"url": "https://github.com/avanelsas/baredom/issues"
},
"version": "3.8.0",
"version": "3.9.0",
"sideEffects": [
"./dist/*.js"
],
Expand Down