Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
a59427f to
ed81d10
Compare
ed81d10 to
92160d7
Compare
92160d7 to
8899374
Compare
8899374 to
b4262a3
Compare
b4262a3 to
9c47b99
Compare
9c47b99 to
a326966
Compare
a326966 to
80466e4
Compare
80466e4 to
7e792c7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@opensaas/stack-cli@0.19.0
Minor Changes
#346
aa5edecThanks @borisno2! - Improve KeystoneJS migration guidance for virtual fields and context.graphql patternsThe Keystone migration guide now covers two areas that require changes beyond a simple import swap:
Virtual fields — detected automatically; the generated guide shows how to replace
graphql.field({ resolve })withhooks: { resolveOutput }and atypedeclaration:context.graphql calls — the guide now includes a step showing how to replace
context.graphql.run()andcontext.query.*withcontext.db.{listName}.{method}():The introspector warning for virtual fields is also updated to give clearer guidance.
#348
5410cb6Thanks @borisno2! - Adddb.type: 'enum'support to theselectfield for native database enum storageThe
selectfield now supportsdb.type: 'enum'to store values as a native Prisma enum type rather than a plain string. This generates anenumblock in the Prisma schema and uses the enum type in the model, matching Keystone 6's enum select behaviour.This generates the following Prisma schema:
Notes:
<ListName><FieldName>in PascalCase (e.g.PostStatus,UserRole)@default(draft)not@default("draft"))in_progressis valid,in-progressis not)'draft' | 'published') is generated identically to a string select fielddb.typeor settingdb.type: 'string'(the default) preserves the existingStringcolumn behaviour#342
94b0df6Thanks @borisno2! - Improve KeystoneJS migration agent with side-by-side examples and targeted update guidanceThe Keystone migration wizard and agent now produce a targeted migration guide instead of
regenerating the entire config. Since Keystone and OpenSaaS Stack share the same
list()/field/hook/access API, only imports, the database adapter config, and auth setupneed to change.
Key improvements:
config structure, imports, access control, hooks, auth, and many-to-many join tables
auth, auth methods) instead of the full question flow
change, rather than regenerating list definitions the user already has
detected, with
joinTableNaming: 'keystone'guidance to preserve existing dataPatch Changes
#345
c815d2fThanks @borisno2! - Fixmigrate --with-aigeneratingpathinstead ofrepoin Claude marketplace settings#345
c815d2fThanks @borisno2! - Fix broken migration guide URL inmigrateconsole output (missing/docsprefix)#352
bd41b1eThanks @borisno2! - Fix singleton lists to useInt @id @default(1)matching Keystone 6 behaviourSingleton lists now generate
Int @id @default(1)in the Prisma schema instead ofString @id @default(cuid()). This matches Keystone 6's behaviour where singletonrecords always use integer primary key
1, making migration from Keystone 6 straightforwardwithout data loss.
Migration guide for existing singleton lists:
If you have an existing database with singleton models that use
String @id, you will needto run an SQL migration to convert the id column from text to integer:
For SQLite (which does not support ALTER COLUMN):
New projects and fresh databases will work automatically without any migration steps.
Fixes Breaking migration: isSingleton models change primary key from Int (1) to String (cuid) #350.
#344
c259030Thanks @borisno2! - Fix updatedAt field to include @default(now()) in generated Prisma schema to prevent migration failures on databases with existing dataUpdated dependencies [
bd41b1e,28f2834,5410cb6]:@opensaas/stack-core@0.19.0
Minor Changes
#353
28f2834Thanks @borisno2! - Adddb.isNullableanddb.nativeTypesupport to all field typesAll field types now support two new
dbconfiguration options that were previously only available in Keystone 6:db.isNullableControls DB-level nullability independently of
validation.isRequired. This allows you to:db.nativeTypeOverrides the native database column type. Generates a
@db.<nativeType>attribute in the Prisma schema. Available types depend on your database provider.Both options are supported on
text,integer,password,json,timestamp,checkbox(isNullable only),decimal, andcalendarDayfields.#348
5410cb6Thanks @borisno2! - Adddb.type: 'enum'support to theselectfield for native database enum storageThe
selectfield now supportsdb.type: 'enum'to store values as a native Prisma enum type rather than a plain string. This generates anenumblock in the Prisma schema and uses the enum type in the model, matching Keystone 6's enum select behaviour.This generates the following Prisma schema:
Notes:
<ListName><FieldName>in PascalCase (e.g.PostStatus,UserRole)@default(draft)not@default("draft"))in_progressis valid,in-progressis not)'draft' | 'published') is generated identically to a string select fielddb.typeor settingdb.type: 'string'(the default) preserves the existingStringcolumn behaviourPatch Changes
#352
bd41b1eThanks @borisno2! - Fix singleton lists to useInt @id @default(1)matching Keystone 6 behaviourSingleton lists now generate
Int @id @default(1)in the Prisma schema instead ofString @id @default(cuid()). This matches Keystone 6's behaviour where singletonrecords always use integer primary key
1, making migration from Keystone 6 straightforwardwithout data loss.
Migration guide for existing singleton lists:
If you have an existing database with singleton models that use
String @id, you will needto run an SQL migration to convert the id column from text to integer:
For SQLite (which does not support ALTER COLUMN):
New projects and fresh databases will work automatically without any migration steps.
Fixes Breaking migration: isSingleton models change primary key from Int (1) to String (cuid) #350.
@opensaas/stack-auth@0.19.0
@opensaas/stack-rag@0.19.0
@opensaas/stack-storage@0.19.0
@opensaas/stack-storage-s3@0.19.0
@opensaas/stack-storage-vercel@0.19.0
@opensaas/stack-tiptap@0.19.0
@opensaas/stack-ui@0.19.0