- Fix RBIs for new version of Sorbet.
- Strip type annotations during gem build using Curdle.
- Add feature to limit the length of filenames to 100 characters.
- Rubygems has a hard limit on the number of characters allowed in a filename, which I assume is actually a requirement of whatever archive format it uses.
- Use tapioca for type annotations.
- Fix a couple of type annotations.
- Remove dependency on the defunct sorbet-runtime-stub gem.
- Upgrade to v1.22 of the Kubernetes schema.
- Add Sorbet type signatures to all DSL objects.
- Add the missing
Apiextensions::V1::JSON
class (thanks Sorbet). - Handle so-called "inline" refs in schema definitions.
- The JSON schema format can contain refs that point to other files, which is what the
Ref
class handles. - However, schemas can also contain objects described entirely within other objects. Both objects live in the same file. The
InlineRef
class was created to represent objects defined inside the same file as their parent.
- The JSON schema format can contain refs that point to other files, which is what the
- Allow certain special fields to be blank.
- Necessary to fully support cert-manager.
- Fix additional naming discrepancy in autoload manifests causing "API" to become "Api."
- Improve path and namespace handling in generator.
- Support Ruby 2.7
- Stop using the
RubyToken
class from irb, which doesn't exist anymore.
- Stop using the
- Fix bug causing
NoMethodError
s if the type field contains a single string and not an array.
- Recursively validate.
- Add README.
- Add validations.
- You can now call
#valid?
and#validate
methods on DSL objects.
- You can now call
- Fixed several bad inflections causing Ruby keywords to appear in unexpected places, namely in
#serialize
methods. - Prevent JSON schema "$" variables (eg. "$ref") from being added as fields.
- Introduce the
key_value_field
method to simplify creating key/value fields. - Add
#merge
and#merge!
methods to anything that includes or extendsValueFields
.
- Treat bare array fields as value fields.
- When specifying
array_field(:foo)
, you would get a doubly-nested array if you filled in the value via a block, eg:foo { [1, 2, 3] }
. - This fix means you can now write
foo [1, 2, 3]
for a "bare" array.
- When specifying
- Birthday!