- #148 List
jellyfin-sdk-swift
as a project using CreateAPI by @LePips - #156 Add Xcode 14 and Swift 5.7 to CI by @liamnichols
- #158 Fix issue with Discriminator type resolution that impacted the decoding of
oneOf
types in some conditions by @liamnichols - #159 Improve error messages that are used when
oneOf
object decoding fails by @liamnichols
Full Changelog: https://github.com/CreateAPI/CreateAPI/compare/0.1.0...0.1.1
- #69 - Publish release to Homebrew.
- #48 - Support Swift Package Plugins.
- #58 - Improve readme, add usage documentation and contributing guides.
- #47 - Override any option in the configuration file from the command line using
--config-option
. - #85 - Add custom package dependencies in generated package.
- #114 - Allow custom mapping between schema data types/formats and Swift types used in generation.
- #125 - Raise an error if the
--config
file doesn't exist instead of silently falling back to the default options. - #90 - Produce warnings when configuration files contain unknown or deprecated options.
- #76 - Add
--version
option/command. - #71 - Support excluding individual properties on entities.
- #116, #141 - Write extension source files into Extensions directory and improve their filenames.
- #131 - Raise an error if you use
--clean
when the--output
directory also contains the schema or config file. - #138 - Trim whitespace from the
fileHeaderComment
. - #140 - Run path generation in parallel.
- #83 - Generated packages and paths now depend on Get 1.0.2 or later. If you don't use Get, your
Request
type must expose an initializer that matches the initializer defined in Get. - #88 - When generating a Swift Package, the Package.swift file and all other sources are written to the root of the
--output
directory instead of being nested inside a subdirectory. - #132 Default output directory is now ./CreateAPI when
--output
is not specified. - #112 - The
rename.properties
option now understands property names as defined in the original schema and not after applying CreateAPI transformations (such as case conversion or swifty style booleans). - #125 - The generator will now error if the path defined using
--config
did not contain a valid file (prior behaviour was to fallback to the default configuration). - #47 - Command Line Argument options that alter the generate output have now been moved into the configuration file and the behaviour may have also been adjusted.
--split
(-s
) is now the default behavior. Use themergeSources
option to merge generated source files.--filename-template
has been replaced by theentities.filenameTemplate
andpaths.filenameTemplate
options.--entityname-template
has been replaced by theentities.nameTemplate
option.--generate
has been replaced by thegenerate
option and now acceptspaths
,entities
,enums
andpackage
to customize which components are generated.--package
and--module
have been incorporated as part of thegenerate
option (see above) for controlling the generated outputs and the module/package name is configured using themodule
option.--vendor
has been replaced by thevendor
option.
- #100 - For
entities
,isGeneratingStructs
andisMakingClassesFinal
have merged into a singledefaultType
option (accepted valuesstruct
,class
orfinalClass
).isGeneratingMutableClassProperties
andisGeneratingMutableStructProperties
have been replaced by a singlemutableProperties
option. Specifytrue
,false
,structs
orclasses
instead.entitiesGeneratedAsClasses
andentitiesGeneratedAsStructs
have been replaced by a singletypeOverrides
option.
- #98 -
comments
options have been replaced with a singlecommentOptions
property that acceptsfalse
,true
or an array containing any of[title, description, example, externalDocumentation, capitalized]
. - #97 -
isReplacingCommonAcronyms
,addedAcronyms
andignoredAcronyms
have been replaced with a singleacronyms
option. - #94 -
isSwiftLintDisabled
has been removed. UsefileHeaderComment
if you want to replicate this behavior. - #93 -
isAdditionalPropertiesOnByDefault
has been removed with no replacement. - #92 - Every generated
Request
now includes itsoperationId
and theisAddingOperationIds
option has now been removed. - #91 - Fixed a spelling mistake in
overridenResponses
andoverridenBodyTypes
. - #63 -
isInliningPropertiesFromReferencedSchemas
behavior is now enabled by default and the option has renamed toinlineReferencedSchemas
. - #75 -
isGeneratingCustomCodingKeys
behavior is now enabled by default and the option has been renamed tooptimizeCodingKeys
. - #66 -
access
no longer accepts an open string. The value must be eitherinternal
orpublic
. - #114, #145 -
isUsingIntegersWithPredefinedCapacity
has been removed. You can now configure data type mappings to Swift types using thedataTypes
option. - #134 -
isGeneratingEnums
has been removed and is now configurable as part of the newgenerate
option. - #89 - Swifty style boolean properties in the configuration file have been renamed.
isNaiveDateEnabled
▸useNaiveDate
isPluralizationEnabled
▸pluralizeProperties
isInliningTypealiases
▸inlineTypealiases
isGeneratingSwiftyBooleanPropertyNames
▸useSwiftyPropertyNames
isAddingDeprecations
▸annotateDeprecations
entities
isStrippingParentNameInNestedObjects
▸stripParentNameInNestedObjects
isAddingDefaultValues
▸includeDefaultValues
isSortingPropertiesAlphabetically
▸sortPropertiesAlphabetically
isGeneratingEncodeWithEncoder
▸alwaysIncludeEncodableImplementation
isGeneratingInitWithDecoder
▸alwaysIncludeDecodableImplementation
isGeneratingInitializers
▸includeInitializer
isSkippingRedundantProtocols
▸skipRedundantProtocols
isGeneratingIdentifiableConformance
▸includeIdentifiableConformance
paths
isRemovingRedundantPaths
▸removeRedundantPaths
isMakingOptionalPatchParametersDoubleOptional
▸makeOptionalPatchParametersDoubleOptional
isInliningSimpleQueryParameters
▸inlineSimpleQueryParameters
isInliningSimpleRequests
▸inlineSimpleRequests
isGeneratingResponseHeaders
▸includeResponseHeaders
isGeneratingCustomCodingKeys
▸optimizeCodingKeys
isInliningPropertiesFromReferencedSchemas
▸inlineReferencedSchemas
Refer to the Configuration Options documentation for more information.
- #79 - Lint project using SwiftLint.
- #81 - Compile generated test snapshots on Linux as part of CI checks.
- #117 - Refactor file writing responsibility out of the
Generate
command. - #122 - Cleanup tests with new
snapshot(spec:name:testCompilationOnLinux:arguments:configuration:)
method. - #120 - Use swift-configuration-parser library.
- #128 - Refactor CreateAPITests structure and rewrite snapshotter.
- #123 - Automatically update AllPackages package when rerecording snapshots.
- #129 - Introduce 'Record Snapshots' scheme to simplify rerecording snapshots.
Full Changelog: https://github.com/CreateAPI/CreateAPI/compare/0.0.5...0.1.0
- Support Linux by @liamnichols in #43
- Update Makefile by @liamnichols in #54
- Update generator code to point to https://github.com/kean/Get and not CreateAPI/Get by @liamnichols in #51
- Remove main.swift and mark CreateAPI as @main type directly by @liamnichols in #49
- Fix comment generation when using other kind of linebreaks by @liamnichols in #46
- Support automatically generating
Identifiable
conformance on entities by @LePips in #61 - Tests - Automatic Path Finding and Remove Environment Variables by @LePips in #62
- Single source of truth for configuration options by @liamnichols in #51
- Update README and use new CreateOptions module by @liamnichols in #65
- Produce an artifactbundle when making releases by @liamnichols in #67
Full Changelog: https://github.com/CreateAPI/CreateAPI/compare/0.0.4...0.0.5
- Discriminator Support by @PhilipTrauner in #10
- Strip parent name of enum cases within nested objects by @PhilipTrauner in #15
- Added options for mutable properties in classes and structs by @JanC in #17
- Add entities name template by @imjn in #14
- Added imports option for entities by @JanC in #19
- Fix shouldGenerate check for entities.include option by @ainame in #10
- Fix namespace when using operations style by @simorgh3196 in #21
- Fix
String
type withbyte
format by @mattia in #25 - Fixed fileHeader option to fileHeaderComment by @imjn in #22
- Fixed test failures for string with byte format by @imjn in #26
- Fix test failures in comparing Package.swift by @imjn in #28
- Update repository links to github.com/CreateAPI/CreateAPI by @liamnichols in #35
- Support multiple discriminator mappings to share one type by @imjn in #36
- Update GitHub Workflow CI by @liamnichols in #37
- Fix allOf decoding issue by @imjn in #27
- Removed redundant space before struct and class declaration by @imjn in #38
- Decode JSON input specs using
YAMLDecoder
by @liamnichols in #34 - Treat single element allOf/oneOf/anyOf schemas as the nested schema by @liamnichols in #39
Full Changelog: https://github.com/CreateAPI/CreateAPI/compare/0.0.2...0.0.4
- Add support for installation by Mint by @simorgh3196 in #1
- Fixed small typos in README.md by @imjn in #2
- Fixed wrong example in readme yaml by @imjn in #4
- Add Entities.include by @imjn in #5
- Revert "Added entityPrefix and entitySuffix to GenerateOptions.Rename" by @imjn in #8
- Added --clean to readme by @imjn in #7
- Use builtin
UUID
type foruuid
format in schemas by @PhilipTrauner in #11 - Fix tests by @PhilipTrauner in #13
Full Changelog: https://github.com/CreateAPI/CreateAPI/compare/0.0.1...0.0.2
Initial pre-release