Skip to content

Add Formisch v1 RC blog post#150

Merged
fabian-hiller merged 4 commits into
mainfrom
formisch-v1-rc
Jun 23, 2026
Merged

Add Formisch v1 RC blog post#150
fabian-hiller merged 4 commits into
mainfrom
formisch-v1-rc

Conversation

@fabian-hiller

@fabian-hiller fabian-hiller commented Jun 22, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Documentation

    • Announced the Formisch v1.0.0 Release Candidate with an updated blog post, including guidance on using @formisch/react, a “How we got here” history, and a list of RC changes (hardened nested fields/arrays/tuples, improved state/focus handling, plus new helpers for validation, dirtiness, deep errors, and empty inputs).
  • Chores

    • Bumped package versions and added release-candidate entries across the core library and framework packages (React, Vue, Solid, Svelte, Qwik, Preact, and associated changelogs).

@dosubot dosubot Bot added size:L This PR changes 100-499 lines, ignoring generated files. documentation Improvements or additions to documentation labels Jun 22, 2026
@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

This PR releases Formisch v1.0.0-rc.0 across the entire package ecosystem. It adds a new MDX blog post announcement at website/src/routes/blog/(posts)/formisch-v1-release-candidate/index.mdx containing YAML frontmatter with metadata and a full article describing what Formisch is, featuring @formisch/react code examples, a historical narrative, and a changelog of RC improvements (hardened nested structures, state/focus handling, new utility helpers). Simultaneously, version numbers are updated from pre-release versions (0.8.0–0.14.0) to 1.0.0-rc.0 across two core packages (@formisch/core, @formisch/methods) and six framework packages (preact, qwik, react, solid, svelte, vue), with CHANGELOG entries added to each.

Possibly related PRs

  • open-circle/formisch#73: Adds a new MDX blog post under the same website/src/routes/blog/(posts)/ route structure.
  • open-circle/formisch#75: Modifies MDX blog post content under website/src/routes/blog/(posts)/*/index.mdx with frontmatter and article body updates.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely describes the main change: adding a blog post announcing the Formisch v1 RC release.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

website/src/routes/blog/(posts)/formisch-v1-release-candidate/index.mdx

Parsing error: "parserOptions.project" has been provided for @typescript-eslint/parser.
The file was not found in any of the provided project(s): src/routes/blog/(posts)/formisch-v1-release-candidate/index.mdx


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7ea798e1d1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@website/src/routes/blog/`(posts)/formisch-v1-release-candiate/index.mdx:
- Around line 36-69: The code example references LoginSchema but does not define
it within the snippet, making it impossible to copy and paste the example
standalone. Include the LoginSchema definition at the beginning of the code
block before the LoginForm component export. Define it as a schema object that
validates the email and password fields with appropriate validation rules (such
as ensuring email is a string and password is a string) to make the example
self-contained and runnable without external dependencies.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8cbd6494-1fb8-4ebc-827e-11b12f37b7f3

📥 Commits

Reviewing files that changed from the base of the PR and between 9fc2962 and 7ea798e.

📒 Files selected for processing (1)
  • website/src/routes/blog/(posts)/formisch-v1-release-candiate/index.mdx

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 1 file

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="website/src/routes/blog/(posts)/formisch-v1-release-candiate/index.mdx">

<violation number="1" location="website/src/routes/blog/(posts)/formisch-v1-release-candiate/index.mdx:1">
P1: The directory name `formisch-v1-release-candiate` has a typo — it should be `formisch-v1-release-candidate` (missing 'd'). Since the route folder name becomes the public URL slug, this will produce a permanently misspelled URL (`/blog/formisch-v1-release-candiate/`) in the blog listing, sitemap, and any shared/canonical links. Rename the directory before launch.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5a7a4c6ee1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread website/src/routes/blog/(posts)/formisch-v1-release-candidate/index.mdx Outdated
Comment thread website/src/routes/blog/(posts)/formisch-v1-release-candidate/index.mdx Outdated
Comment thread website/src/routes/blog/(posts)/formisch-v1-release-candidate/index.mdx Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
website/src/routes/blog/(posts)/formisch-v1-release-candidate/index.mdx (1)

36-69: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Make the second code example self-contained by including the schema definition.

This code block still references LoginSchema without defining it. A reader trying to copy-paste and run this snippet in isolation will get a "LoginSchema is not defined" error. To make the example truly self-contained and copy-paste safe, include the schema definition at the beginning of this code block.

🐛 Proposed fix
 ```tsx
+import * as v from 'valibot';
 import { Field, Form, useForm } from '`@formisch/react`';
 
+const LoginSchema = v.object({
+  email: v.pipe(v.string(), v.email('Please enter a valid email.')),
+  password: v.pipe(v.string(), v.minLength(8, 'Your password is too short.')),
+});
+
 export default function LoginForm() {
   const loginForm = useForm({ schema: LoginSchema });
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@website/src/routes/blog/`(posts)/formisch-v1-release-candidate/index.mdx
around lines 36 - 69, Add the missing LoginSchema definition to make the code
example self-contained. Include the import statement for valibot and define the
LoginSchema constant with email and password field validation rules using
valibot's pipe and validation functions before the LoginForm component
definition. This ensures the code snippet is complete and can be successfully
copied and executed without referencing undefined variables.
🧹 Nitpick comments (1)
website/src/routes/blog/(posts)/formisch-v1-release-candidate/index.mdx (1)

102-102: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Minor: Consider rephrasing "Lots of edge cases" for conciseness.

Replace "Lots of edge cases" with "Many edge cases" for more concise prose.

✏️ Proposed change
-- **Hardened nested fields, field arrays, and tuples.** Lots of edge cases around inserting, moving, replacing, resetting, and resizing nested structures — the parts of a form that are easiest to get subtly wrong.
+- **Hardened nested fields, field arrays, and tuples.** Many edge cases around inserting, moving, replacing, resetting, and resizing nested structures — the parts of a form that are easiest to get subtly wrong.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@website/src/routes/blog/`(posts)/formisch-v1-release-candidate/index.mdx at
line 102, In the blog post content about hardened nested fields, locate the
phrase "Lots of edge cases" in the sentence describing inserting, moving,
replacing, resetting, and resizing nested structures, and replace it with "Many
edge cases" to make the prose more concise.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In `@website/src/routes/blog/`(posts)/formisch-v1-release-candidate/index.mdx:
- Around line 36-69: Add the missing LoginSchema definition to make the code
example self-contained. Include the import statement for valibot and define the
LoginSchema constant with email and password field validation rules using
valibot's pipe and validation functions before the LoginForm component
definition. This ensures the code snippet is complete and can be successfully
copied and executed without referencing undefined variables.

---

Nitpick comments:
In `@website/src/routes/blog/`(posts)/formisch-v1-release-candidate/index.mdx:
- Line 102: In the blog post content about hardened nested fields, locate the
phrase "Lots of edge cases" in the sentence describing inserting, moving,
replacing, resetting, and resizing nested structures, and replace it with "Many
edge cases" to make the prose more concise.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6d5fe658-445b-499a-9514-906f0655d756

📥 Commits

Reviewing files that changed from the base of the PR and between 5a7a4c6 and d9b2af2.

📒 Files selected for processing (17)
  • frameworks/preact/CHANGELOG.md
  • frameworks/preact/package.json
  • frameworks/qwik/CHANGELOG.md
  • frameworks/qwik/package.json
  • frameworks/react/CHANGELOG.md
  • frameworks/react/package.json
  • frameworks/solid/CHANGELOG.md
  • frameworks/solid/package.json
  • frameworks/svelte/CHANGELOG.md
  • frameworks/svelte/package.json
  • frameworks/vue/CHANGELOG.md
  • frameworks/vue/package.json
  • packages/core/CHANGELOG.md
  • packages/core/package.json
  • packages/methods/CHANGELOG.md
  • packages/methods/package.json
  • website/src/routes/blog/(posts)/formisch-v1-release-candidate/index.mdx
✅ Files skipped from review due to trivial changes (13)
  • packages/methods/CHANGELOG.md
  • packages/core/CHANGELOG.md
  • frameworks/qwik/package.json
  • frameworks/vue/CHANGELOG.md
  • frameworks/preact/package.json
  • frameworks/solid/CHANGELOG.md
  • frameworks/qwik/CHANGELOG.md
  • packages/methods/package.json
  • frameworks/svelte/CHANGELOG.md
  • frameworks/react/CHANGELOG.md
  • frameworks/solid/package.json
  • frameworks/preact/CHANGELOG.md
  • frameworks/react/package.json

@fabian-hiller fabian-hiller merged commit 1e7e803 into main Jun 23, 2026
30 checks passed
@fabian-hiller fabian-hiller deleted the formisch-v1-rc branch June 23, 2026 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants