Skip to content
Open
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
19 changes: 19 additions & 0 deletions .changeset/add-command-hidden.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
"effect": patch
---

Add `Command.withHidden` to hide subcommands from `--help` output, shell completions, and "did you mean?" suggestions, while keeping them fully invocable by exact name.

Useful for experimental or internal subcommands that should be accepted but not advertised on the public CLI surface.

```ts
import { Command } from "effect/unstable/cli"

const experimental = Command.make("experimental").pipe(
Command.withHidden
)

const root = Command.make("mycli").pipe(
Command.withSubcommands([experimental])
)
```
2 changes: 1 addition & 1 deletion .changeset/add-stream-broadcastn.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
"effect": minor
"effect": patch
---

Add Stream.broadcastN for fixed-size stream broadcasts.
5 changes: 5 additions & 0 deletions .changeset/green-rings-prove.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

update Model uuid helpers
9 changes: 9 additions & 0 deletions .changeset/platform-crypto-service.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"effect": patch
"@effect/platform-node": patch
"@effect/platform-node-shared": patch
"@effect/platform-bun": patch
"@effect/platform-browser": patch
---

Add a platform-agnostic `Crypto` service for cryptographic random bytes, secure random generators, UUIDv4 / UUIDv7 generation, and digest operations. UUID generation should now use the `Crypto` service's `randomUUIDv4` or `randomUUIDv7`, which format bytes from the platform `Crypto` service; UUIDv7 also uses the `Clock` service timestamp. `Random.nextUUIDv4` has been removed because the base `Random` service is not cryptographically secure.
6 changes: 6 additions & 0 deletions .changeset/pre.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@
"add-schema-string-encoding",
"add-sql-pglite",
"add-standard-jsdoc-rule",
"add-stream-broadcastn",
"add-unstable-encoding-export",
"afraid-cobras-like",
"ai-openai-config-field-leak",
Expand Down Expand Up @@ -292,6 +293,7 @@
"green-chips-wash",
"green-moons-smile",
"green-pugs-play",
"green-rings-prove",
"happy-mirrors-dream",
"heavy-loops-cut",
"heavy-trams-fix",
Expand Down Expand Up @@ -354,6 +356,7 @@
"olive-poems-visit",
"open-hotels-remain",
"petite-months-allow",
"platform-crypto-service",
"plenty-moons-pull",
"polite-brooms-tickle",
"polite-pigs-speak",
Expand Down Expand Up @@ -392,6 +395,7 @@
"ripe-lies-battle",
"rpc-middleware-provides-fix",
"schema-as-class",
"schema-asserts-signature",
"schema-clean-up-additionalProperties",
"schema-datetime-utc-from-string",
"schema-decoding-defaults-services",
Expand All @@ -415,6 +419,7 @@
"shiny-trains-hug",
"short-cows-relate",
"short-foxes-admire",
"shy-cycles-flow",
"shy-geckos-sniff",
"silent-geckos-matter",
"silent-needles-design",
Expand Down Expand Up @@ -445,6 +450,7 @@
"soft-seals-allow",
"solid-doors-ring",
"solid-items-tease",
"solid-towns-smoke",
"sour-canyons-rescue",
"sparkly-bears-act",
"sparkly-coins-sit",
Expand Down
5 changes: 5 additions & 0 deletions .changeset/schema-asserts-signature.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"effect": patch
---

Change `Schema.asserts` and `SchemaParser.asserts` to assert a value directly with `asserts(schema, input)` and remove `Schema.Codec.ToAsserts`.
4 changes: 3 additions & 1 deletion .github/workflows/bundle-comment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,16 @@ jobs:
- name: Download Artifact
uses: actions/download-artifact@v8
with:
name: bundle-stats
path: bundle-stats
run-id: ${{ github.event.workflow_run.id }}
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Get stats
id: stats
run: |
{
echo 'stats<<EOF'
cat artifact/stats.txt
cat bundle-stats/stats.txt
echo EOF
} >> $GITHUB_OUTPUT
# https://github.com/orgs/community/discussions/25220#discussioncomment-11300118
Expand Down
29 changes: 2 additions & 27 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,9 @@ jobs:
if: github.event_name == 'pull_request'
uses: actions/upload-artifact@v4
with:
name: bundle-stats
path: stats.txt
if-no-files-found: error

test:
name: Test
Expand Down Expand Up @@ -146,33 +148,6 @@ jobs:
if: matrix.runtime == 'Deno'
run: deno task test --shard ${{ matrix.shard }}

jsdoc-analysis:
name: JSDoc Analysis
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
permissions:
contents: read
timeout-minutes: 5
steps:
- uses: actions/checkout@v6
- name: Install node
uses: actions/setup-node@v6
- name: Generate JSDoc Analysis
shell: bash
run: |
# Run JSDoc analysis and format output for GitHub
node scripts/analyze-jsdoc.mjs > jsdoc-analysis.txt 2>&1 || true
echo "<!-- JSDoc Analysis PR Report -->" > jsdoc-stats.md
echo "" >> jsdoc-stats.md
echo "\`\`\`" >> jsdoc-stats.md
cat jsdoc-analysis.txt >> jsdoc-stats.md
echo "\`\`\`" >> jsdoc-stats.md
- name: Upload JSDoc stats artifact
uses: actions/upload-artifact@v4
with:
name: jsdoc-stats
path: jsdoc-stats.md

docgen:
name: Documentation Generation
runs-on: ubuntu-latest
Expand Down
79 changes: 0 additions & 79 deletions .github/workflows/jsdoc-analysis-comment.yml

This file was deleted.

3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ node_modules/
coverage/
docs/
tmp/
stats.html
jsdoc-analysis-results.json
jsdoc-stats.md

# Generated by MacOS
.DS_Store
Expand Down
1 change: 1 addition & 0 deletions .specs/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# Specifications

- [Effect SQL UniqueViolation SqlError Reason](./effect-sql-unique-violation.md) — Adds a `UniqueViolation` SQL error reason with a `constraint` property and updates driver classification for UNIQUE constraint violations.
- [Effect Platform Crypto Service](./effect-platform-crypto.md) — Adds a platform-agnostic `Crypto` service for cryptographic random bytes, native UUIDv4 generation, and digest operations.
Loading