NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #4187 most downloaded on pub.dev
Build dart types from GraphQL schemas and queries (using Introspection Query).
Last release 3 years ago
no release in 18 months
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 55 of 58 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
148 releases · first in 2019
input underscore bugfix https://github.com/comigor/artemis/issues/223
- Subscription test added
One column per quarter.
- Readme fix
Fixed ignore_for_file documentation.
ignore_for_file documentation.Added ignore_for_file option to ignore linter rules on generated files.
ignore_for_file option to ignore linter rules on generated files.improved canonical types handling
- Package updates
Fixed toJson() doesn't remove "kw$" prefix
toJson() doesn't remove "kw$" prefix- test fix
analyzer and linter warnings fix
- uppercase keyword fix
- pubspec fix
allow multiple operations per file
performance improvements - scan schema for canonical types only once
- enum name pascal casing.
Add deprecated annotations in fields.
Build type name recursively, considering casing changes.
- Mass package update
Centralize naming transformations; make types PascalCase and fields camelCase.
Recursively consider input lists.
Do not throw on unused scalars.
all starting underscores are replaced with $
MAJOR BREAKING CHANGE
__typename field replaced with $$typenamekw$Check for more error causes and throw, explaining the error.
We've found a regression on 6.1.0-beta.1, which sends Enums as camelCase to the server, when they should be sent as SCREAMING_SNAKE_CASE.
MAJOR BREAKING CHANGE
We've found a regression on 6.1.0-beta.1, which sends Enums as camelCase to
the server, when they should be sent as SCREAMING_SNAKE_CASE.
6.1.0-beta.1.Improve actions and check pipeline output.
Short-circuit input object generation on recursive detection
Convert enum casing to camel case.
MAJOR BREAKING CHANGE
Convert ClassProperty annotation item to List .
ClassProperty annotation item to List<String>.- Duplication bug fix
Added the exception for the case when fragment_glob leads to query files fragments ignore.
fragment_glob leads to query files fragments ignore.Adapt Artemis to subscriptions and create an example
Fix for the interfaces which uses fragments from fragments_glob
Hide build logs under --verbose flag
--verbose flagProperly consider "sub-fragments" on class generation.
Fix generation of custom scalars and its functions.
Fix invalid reference to class on Query generations.
Generate canonical objects (enums and input objects) with their original names on GraphQL. Fragments are also generated with their own names (plus the
MAJOR BREAKING CHANGE
Mixin prefix, for now).pathedWithTypes is the default for retrocompatibility, where the names
of previous types are used as prefix of the next class. This can generate
duplication on certain schemas. With pathedWithFields, the names of previous
fields are used as prefix of the next class and with simple, only the actual
GraphQL class nameis considered. See discussion on [#90][pr-90] and [#96][pr-96]
for more information.Add .graphql. to outputted files path, in a non-breaking change way: a "forwarder" file will be generated to make it retro-compatible when a configura…
.graphql. to outputted files path, in a non-breaking change way: a
"forwarder" file will be generated to make it retro-compatible when a
configurated output doesn't end with .graphql.dart.Update CI to include beta branch.
Update examples to match latest changes.
Use default names for query/mutation root when SDL does not declare schema.
schema.Fix generation of recursive input objects introduced by 5.0.0.
In this version we moved from json to graphql (SDL) schema parsing. This allowed us to get rid off ±1200 lines of code which makes the project support
MAJOR BREAKING CHANGE
In this version we moved from json to graphql (SDL) schema parsing.
This allowed us to get rid off ±1200 lines of code which makes the
project support much easier. The test files with schema definitions
became more clear and human readable.
If you already have your schema in SDL format, just point to it in build.yaml.
If not, use this [snippet][introspection-to-sdl-snippet]
(from [this Apollo article][apollo-3-ways-schema]) or online helpers like
[this one][introspection-to-sdl-online] to convert from one to another.
Only add unknownEnumValue on non-list enums
Look at mutation root when generating a mutation
On top of that, I've decided to do other major breaking changes to make code cleaner and more maintainable. Listed:
MAJOR BREAKING CHANGE
This version completely refactors how Artemis generate code (by finally
using the implementation of visitor pattern provided by gql). On top of that,
I've decided to do other major breaking changes to make code cleaner and more
maintainable. Listed:
add_query_prefix doesn't exist anymore (it's now the default to generate
classes with its "path" from the query), e.g., this query's city field will
be typed as CityName$QueryRoot$User$Address$City:query city_name {
user {
address {
city {
name
}
}
}
}
This change was also done to tip users to NOT use those generated queries
directly on their code, to avoid coupling them to your business logic.custom_parser_import was moved to inside a ScalarMap, and
use_custom_parser was removed.resolve_type_field option was renamed to type_name_field, as __typename
is the correct field name (by GraphQL spec).Mutation suffix, as queries
already have Query suffix.GraphQLQueryBuilder.onBuild, it will break.And also:
TODO:
$ (?)- Fix unknown enum: add prefix
Make enums loose. When unknown values are provided into an enum, it will fall back to a custom ARTEMIS_UNKNOWN value avoiding breaking/crashing the cl
ARTEMIS_UNKNOWN value
avoiding breaking/crashing the client.Allow to dispose ArtemisClient underlining http client when possible
ArtemisClient underlining http client when possibleBREAKING: Marks non nullable input field as @required [#68][pr-68]
@required [#68][pr-68]Make lists as input objects work again
Display error on types not found on schema
Share fragments between queries and schemas (see fragments_glob) [#65][pr-65]
fragments_glob) [#65][pr-65]Add "Articles and videos" category on README
Add missing prefix to generated enums
Bump equatable/gql suite, refine GitHub actions
Bump json_serializable/json_annotation
Properly consider Union types on generation
- Generate fragments as mixins
Fix GitHub actions deploy pipeline
Your coding agent can read these notes before it upgrades. Set up the MCP server →