Changelog for Yancy

0.015     2018-02-12 12:52:32-06:00 America/Chicago

    [Added]

    - Allow `null` as a value for optional fields. Now we can specify
      optional fields as `type: [ "<type>", null ]` and these fields are
      correctly parsed from the existing schema.

      This fixes validation errors where data could be inserted into the
      database but not read back out because the JSON::Validator
      correctly asserted that the data was not allowed to be `null`.

    [Fixed]

    - Fix error when collection in URL is invalid. This seemed to cause
      very strange errors throughout the application.

0.014     2018-02-09 14:50:26-06:00 America/Chicago

    [Added]

    - Added "textarea" field format for multiline text fields
    - Added friendly error message when no collections configured
    - Added `x-order` field configuration to control the order of fields
      in the edit form

    [Fixed]

    - Fixed "Yancy" and "Back to Application" links in Yancy UI to point
      to useful locations. Thanks @lindleyw!

0.013     2018-02-07 23:21:49-06:00 America/Chicago

    [Added]

    - Added display of `title` and `description` for collections
      and fields

    [Fixed]

    - Fixed problem with tests not running on Perls < 5.24. Thanks
      @lindleyw! [Github #9]

0.012     2018-01-29 12:37:52-06:00 America/Chicago

    [Fixed]

    - Backends now give friendly errors when their prereqs are unmet
    - Fixed automatically generating schema not working when no
      properties were configured manually
    - Create new item form no longer shows read-only fields. This
      prevents us seeing blank ID fields which we can't fill in
    - Fix validation error when not filling-in a field with a default
      value.

    [Added]

    - Added `ENUM` type detection for all backends:
        - MySQL has a built-in `ENUM` type
        - DBIx::Class has `extras` column property which has a `list`
          array
        - Postgres has custom types which can provide `ENUM`
        - SQLite has `CHECK` constrains which can provide `ENUM`-like
          features with `<col> CHECK ( <col> IN ( <values> ) )`

0.011     2018-01-13 12:46:24-06:00 America/Chicago

    [Fixed]

    - Removed dependency on Module::Loader in favor of Mojo::Loader
    - Removed accidental import of File::Share

0.010     2018-01-12 16:53:16-06:00 America/Chicago

    - Yancy now works on Perl versions down to 5.10 (just like
      Mojolicious).
    - Yancy now bundles its required CSS and JavaScript to make it
      easier to use Yancy when not connected to the Internet.

    [Added]

    - Yancy can now share a database object with the rest of your app by
      passing in a hashref for the C<backend>. See Mojolicious::Plugin::Yancy.

0.009     2018-01-07 16:33:16-06:00 America/Chicago

    [Added]

    - Added `read_schema` method to all backends. This reads the
      database tables in the backend and produces an OpenAPI schema
      ready to be used for configuration.

    - Added `read_schema` configuration key. If true, Yancy will read
      the backend schema and merge it in with your configuration. This
      allows for less repetition when building a Yancy application.

      This exposes _all_ of your data to Yancy, so you should only do
      this when you have added appropriate authentication and
      authorization to prevent malicious use.

    - Added `x-hidden` collection configuration to hide collections from
      the Yancy web app. This does not prevent API use, but does prevent
      data from being shown before it is ready.

0.008     2017-12-17 18:17:56-06:00 America/Chicago

    [Fixed]

    - Fixed tests failing due to outdated Mojolicious::Plugin::OpenAPI.
      Thanks @eserte! [Github #4]
    - Fixed POD formatting error due to having UTF-8 characters without
      declaring the right encoding. Thanks @manwar! [Github #5]

0.007     2017-12-16 18:16:22-06:00 America/Chicago

    [Added]

    - Added `controller_class` configuration to Plugin. Now you can make
      your own controller to customize things like authorization.
    - Added `config` helper to access the configuration for Yancy in
      custom controllers or plugins
    - Added MultiTenant controller which only shows content that is
      owned by the current user.

    [Fixed]

    - Fixed some problems that would cause the Sqlite backend to not
      work. Thanks @wlindley! [Github #3]
    - Fixed the plugin and standalone apps to use the same URL scheme by
      default. This makes the documentation less confusing.
    - The `yancy.set` and `yancy.create` helpers now validate the data
      and run it through any filters. These helpers are the key to
      making your own routes that work with data configured in Yancy.

0.006     2017-12-15 11:06:59-06:00 America/Chicago

    [Added]

    - Added backend support for SQLite (thanks @wlindley!) [Github #2]
    - Added Basic auth plugin for a simple, database-backed
      authentication scheme.
    - Added documentation about how to override Yancy templates to
      produce your own look-and-feel

    [Fixed]

    - Fixed some POD errors reported by CPANTS (thanks @manwar!) [Github
      #1]

0.005     2017-12-12 15:45:14-06:00 America/Chicago

    [Added]

    - Added footer with Yancy version and link to Github
    - Added `plugins` configuration to standalone app
    - Added UI feedback after saving/adding items and error messages on
      failure
    - Added `order_by` to backends and API. Now we can sort the results
      we get from the collection.
    - Added Markdown editor for fields containing Markdown (`"format":
      "markdown"`)
    - Added field filters (`x-filter`) to allow for hashing of passwords
    - Added auto-index templates to the standalone app. This allows for
      building a single template for `/<collection>/<id>`.
    - Added search query to list backend method

    [Fixed]

    - Fixed forms not displaying if an `example` was not added to the
      collection
    - Fixed no list columns displaying without `x-list-columns`. Now
      there are some default column names that will show up in the list.
    - Fixed missing documentation for:
        - Yancy::Backend
        - Plugin helpers

0.004     2017-12-05 14:50:02-06:00 America/Chicago

    [Fixed]

    - Fixed DBIx::Class backend test failing without SQL::Translator.
      Now it skips the test without that required module.

    [Docs]

    - Added more docs to the test files to help new developers

0.003     2017-12-05 13:16:44-06:00 America/Chicago

    [Fixed]

    - Raised minimum Mojolicious version to 7.15 (which adds
      Mojo::File). Thanks CPAN Testers!

0.002     2017-12-02 20:46:56-06:00 America/Chicago

    [Fixed]

    - Fixed app trying to save readonly properties. The OpenAPI spec
      prevents this, but that means we get an error and our data isn't
      saved correctly.

    - Fixed invalid spec URL. The spec only worked accidentally, which
      was weird...

    [Added]

    - Added screenshot to documentation

0.001     2017-12-02 18:49:56-06:00 America/Chicago

    - Initial release

    [Added]

    - Basic OpenAPI spec generation
    - Database editing web application
    - Auto-generated form to edit database content
    - Simple built-in CMS
    - Mojolicious plugin to add Yancy to your Mojolicious app
    - Database backends for MySQL, Postgres, and DBIx::Class