Skip to content

Latest commit

 

History

History
394 lines (296 loc) · 24.4 KB

HISTORY.md

File metadata and controls

394 lines (296 loc) · 24.4 KB

Keystone

v0.2.20 / 2014-06-06

  • added; recent searches UI and functionality in the Admin UI, thanks Benjamin Lupton
  • fixed; strict type checking for field.options.required, see #393
  • added; `CloudinaryImage.updateItem()`` allows updates from data, thanks webteckie
  • added; native support for node-sass via the sass option, make sure you include node-sass in your project dependencies to use it
  • fixed; field validation methods for location & password fields
  • fixed; keystone.createItems() now creates items in series, not parallel
  • added; support for dynamic queries for relationship values in keystone.createItems()
  • added; verbose logging and strict ref checking options for keystone.createItems()
  • improved; performance when using the id property as part of a field's autokey

v0.2.19 / 2014-05-28

  • added; ability to change the filename in Types.LocalFile by specifying the filename: function() {} option, thanks Stefan Aebischer
  • improved; read-only tinyMCE editor is used for htmlFields when noedit is true, thanks Frederic Beaudet
  • fixed; Extracting and scoping keystone.initAPI to work correctly when used directly as middleware
  • improved; Added better MongoDB indexes for schemaPlugins
  • improved; invalid config handling for fields
  • fixed; relationship filters now work correctly
  • added; ability to prefix all MongoDB Collection names, thanks David Björklund
  • improved; output stack traces with error logs, thanks Benjamin Lupton
  • fixed; issues signing in users by UserID directly (introduced in 0.2.18)
  • fixed; users without passwords (auth via facebook / github / etc) will not have their sessions persisted outside of the memory store.
  • added; support for using MongoDB as the session store. set 'session store': 'mongo' to enable this feature.
  • deprecated; support for providing the mongo option as an array. Use a MongoDB connection string instead, e.g. 'mongodb://localhost/db_name

v0.2.18 / 2014-05-22

  • added; callbacks passed to View.render() are now passed err, req, res
  • fixed; console logging is suppressed when the option logger is false
  • fixed; issues relating to session cookies
  • fixed; a lot of minor code issues and cleanup
  • improved; test coverage

v0.2.17 / 2014-05-19

v0.2.16 / 2014-05-14

  • fixed; issues with Keystone.prototype.import, see #348, thanks ashleycorker
  • fixed; issues with geo handling in Location fields, see #344, thanks mandb

v0.2.15 / 2014-05-13

  • fixed; Added note to fields that didnt have one, thanks Ötvös Richárd
  • fixed; Only show "Open Keystone" link to admins, thanks John Beppu
  • fixed; Password fields are formatted correctly on the list screen of the Admin UI
  • added; Support for custom MongoDB collection names (and other Schema options, see #292)
  • added; Support for clearing password fields (if not required)
  • added; Password.compare is now available on the Field object
  • added; Support for loading fixture data with keystone.createItems() and in update scripts, see this gist for an example
  • added; Basic support for redirects, see #303 for details
  • added; Support for excluding the blank option in Select fields with the emptyOption option
  • improved; Nicer exception on EADDRINUSE error
  • added; Warning when required fields aren't initial, see #300
  • fixed; Truthy check for port breaks listening on any open port
  • fixed; Changed how updates are discovered and included, fixes previous issues with .DS_Store files
  • added; test script to package.json, spec reporter for Mocha tests and other test improvements, thanks David Banham
  • added; cookie secret to environment defaults init, thanks Tom Walker
  • added; separated Express setup from http server setup to enable easier Express sub-app mounting, thanks ryedin
  • fixed; Errors are caught on item deletion, thanks fbeaudet
  • fixed; Issues where Email.send() wasn't consistently async
  • added; Support for the argument row in custom List.schema.methods.toCSV implementations, provides the original toCSV data for simpler customisation

...as well as several other miscellaneous fixes and improvements, thanks to all our contributors who keep making Keystone better!

Also; all dependencies are up to date with their latest published versions, except for express and less-middleware which require further testing to ensure compatibility.

v0.2.14 / 2014/04-16

  • added; new createItems() method to quickly populate data, see this gist for usage instructions and examples
  • improved; .toCSV() method for lists now uses dependency injection and can be asynchronous (just pass callback as the last argument)
  • added; basic implementation of field watching
  • fixed; issue with dateTime fields not updating correctly
  • added; perPage option for lists that controls the number of items displayed per page in the Admin UI, thanks Galaczi Endre Elek
  • added; gulp, and more tests! thanks Morgan Craft
  • improved; link fields are now anchors in the Admin UI list view, thanks DrMoriarty
  • fixed; height of admin header and signout link placement with a lot of lists in the navigation, thanks Ötvös Richárd
  • added; support for adding additional toolbar buttons to tinymce, thanks Eric

v0.2.13 / 2014-04-04

  • added; onHttpServerCreated and onHttpsServerCreated events now fired during keystone.start(), allows for integration of things like socket.io

v0.2.12 / 2014-04-03

  • added; initial field support for HTML and Markdown fields
  • improved; some client-side scripts (e.g. TinyMCE) are no longer included when they're not going to be used

v0.2.11 / 2014-04-02

  • added; .toCSV() method now supported on schemas to transform data when exported in the Admin UI
  • added; image and uploadimage plugin support for TinyMCE
  • added; cloudinary upload api for generic image uploads, thanks Branko Sekulic
  • added; csrf middleware support, thanks Lasana Murray
  • added; express is now available as a property of keystone
  • added; optional support for a the S3_REGION environment variable, thanks DrMoriarty
  • added; IP address range restrictions, thanks Robert Medeiros
  • added; support for express trust proxy setting, thanks Robert Medeiros
  • fixed; Boolean field notes were being escaped incorrectly

v0.2.10 / 2014-03-18

  • added; new AzureFile field type, thanks Juan Benavides Romero
  • added; new toolbar and preview mode for Markdown fields, thanks Thomas Pedersen
  • fixed; issue with the 'new item' button on the item details page in the Admin UI triggering autocreate functionality incorrectly, thanks Thomas Pedersen
  • fixed; redirect parameter for signin page now protects against open redirect attacks, thanks Oliver Jenkins
  • fixed; 'host is undefined' issue with certain configurations, see #241
  • fixed; accented characters are converted correctly when generating slugs, thanks to keystone-utils 0.1.7

(emergency version bump from 0.2.9 because of white-space issue with new Jade version)

v0.2.8 / 2014-03-12

  • fixed; issues getting path options correctly on Windows (was causing update issues)
  • fixed; support for tagging images uploaded to Cloudinary client-side in the Admin UI for CloudinaryImages fields, thanks Mike Causer
  • improved; filtering on Number fields can now find null values
  • fixed; height option now supported on Markdown and Textarea field types
  • added; support for PUT and DELETE http methods in View.on

v0.2.7 / 2014-03-11

  • fixed; minor issues to improve auto-creation of items
  • improved; ability to chain keystone.pre, keystone.init, keystone.start, keystone.static, keystone.routes and keystone.bindEmailTestRoutes
  • improved; callbacks / error handling in View class
  • improved; handling of MongoDB errors before app starts (now much more debuggable)
  • added; field notes are now parsed using marked so you can use markdown syntax if desired
  • added; new field type Code, uses the CodeMirror editor in the Admin UI, thanks Juan Benavides Romero
  • fixed; error thrown when requesting an invalid page in the Admin UI list view
  • fixed; correctly trigger mongoose middleware when removing items, thanks Chris Dion
  • added; ability to use custom paths for updates (issue #205)
  • added; optional callback to View.render (issue #215)
  • improved; tweaked some option keys, added a warning for deprecated options
  • added; ability to specify signin and signout redirect paths or functions
  • added; https server and ssl configuration now supported by keystone.start(), thanks snowkeeper
  • improved; tweaks to native signin UI, thanks jossmackison

This version also contains the new docs and website developed by @jossmackison and @jedwatson. To view the docs locally, open keystone/docs and run node docs.

v0.2.6 / 2014-02-25

  • improved; implementation of hidden option for fields
  • improved; refactored the Email class and implemented friendlier errors
  • improved; email test route binding, including ability to use a function to provide template locals to tests
  • added; custom template support in the Email class
  • added; email button mixin supports default styling and style overrides
  • improved; email locals and options can be combined in a single object argument
  • fixed; location field auto-improve error
  • fixed; relationship fields display old ID when related item is missing, thanks Mark Bayfield
  • added; autocreate option for Lists (see issue #21)
  • improved; signin page looks better when you're alredy signed in
  • improved; location.requiredPaths field option supports comma-delimited values
  • improved; UpdateHandler now updates noedit fields when they are explicitly provided (issue #194)
  • added; ability to specify custom validation / required messages in the UpdateHandler (issue #195)
  • added; ability to provide custom lists of required fields to the UpdateHandler (issue #196)

v0.2.5 / 2014-02-17

  • improved; dropdown styles are nicer
  • improved; default signin ui tweaks
  • improved; hidden lists warn when included in nav config option
  • fixed; hidden lists are accessible through the API
  • improved; warnings are thrown when autokey option config is invalid
  • improved; autokey values are now included in CSV exports
  • improved; markdown and html fields render nicely in the Admin UI list view

v0.2.4 / 2014-02-15

  • improved; new sign in/out screen design, thanks jossmackison
    • improved; the default error screen is now responsive, thanks jossmackison
  • improved; additional supported file types for CloudinaryImage fields, thanks James Allen
    • Supported types are [image/gif, image/png, image/jpeg, image/bmp, image/x-icon, application/pdf, image/x-tiff, image/x-tiff, application/postscript, image/vnd.adobe.photoshop]
  • improved; you can now use Relationship fields with multi: true as initial fields
  • added; Relationship fields can now be used as filters in the Admin UI
  • fixed; scope issue in Relationship field type, thanks Tom Walker

v0.2.3 / 2014-02-11

  • added; new localFile field type, thanks Alan Shaw
  • added; hidden: true option for lists
  • fixed; uploading works again for cloudinaryImages fields

v0.2.2 / 2014-02-05

  • fixed; "moment not defined" error in S3File field type, thanks Olivier Vaillancourt
  • added; ability to define attachments to emails via Mandrill, thanks Tom Walker
  • improved; log formatting and error output
  • fixed; default 404 handling, thanks Lepi
  • added; new keystone.import(path) method for recusrively requiring all .js / .coffee files in a path relative to the project root, e.g. keystone.import('models'). Similar to but simpler than keystone.importer().
  • improved; the default 404 and 500 error handlers have been cleaned up, and have a simple HTML template
  • added; filtering now implemented for location fields
  • improved; the list download > csv feature in the Admin UI now respects the current filters

v0.2.1 / 2014-02-04

  • added; more flexible environment variable defaults for mongo connection strings. It supports env.MONGO_URI, env.MONGO_URL, env.MONGOLAB_URI and env.MONGOLAB_URL, so whatever default you're using, it should be there.
  • added; the http server is now accessible as keystone.httpServer, thanks B. August
  • added; pre upload queue for s3file field type (set the pre.upload option, or call {list}.fields.{s3filefield}.pre('upload', ...))
  • added; initial (create form) support for location fields
  • added; initial (create form) support for markdown fields, thanks Jimmy Hillis
  • improved; much more flexible support for http server startup options, see #154

v0.2.0 / 2014-01-26

A bumper release for the new year! We've moved to v0.2.x because some packages have been updated to new minor versions that may cause compatibility issues, specifically:

KeystoneJS now requires mongoose 3.8.5+. Please test compatibility with your application before deploying this update to production.

This version also requires Jade 1.x, which includes some breaking changes from the 0.x branch, particularly to doctype definition. Updating your app should be simple, but again, be sure to test before deploying to production.

One of the other big changes in this release is the work done by Iulian Meghea breaking up all the field templates into individual files, in preparation for introducing field type plugins in the future.

  • lots of website, readme and documentation improvements
  • fixed; potential issue with flash errors erroring with TypeError: Cannot read property 'flash' of undefined, thanks James Allen
  • improved; Add options to s3file field type to support allowedTypes, thanks James Allen
  • added; host option to specify the ip address to listen on, thanks Jose Carvajal
  • improved; better error handling, see #144
  • fixed; placeholder for items without a name when creating a relationship in the admin UI, see #117
  • fixed; keystone error on blank date / date time fields, thanks Mark Bayfield
  • fixed; columns filter button position in development env, thanks Mike Causer
  • added; mongo connection defaults, see #124
  • improved; sign-out page text
  • fixed; hard-to-debug errors in schemaPlugins when callbacks are omitted
  • fixed; compatibility for location auto-improve w/ mongoose 3.8.2+
  • added; gravatar functionality for email fields, including gravatar display in the Admin UI's list and edit views, and a gravatarUrl underscore method, thanks Mike Causer
  • fixed; try/catch for missing Pre-route middleware, thanks Mark Bayfield
  • fixed; .env defaults for s3 config, see #143
  • fixed; check for cloudinary config when CloudinaryImage fields are initialised, see #28
  • added; current KeystoneJS version displayed in footer of Admin UI, see #130
  • updated; marked v0.3.0
  • updated; mongoose v0.8.5
  • updated; keystone-utils v0.1.5
  • updated; jade v1.1.5
  • updated; async v0.2.10
  • updated; moment v2.5.1
  • updated; less-middleware v0.1.15

v0.1.55 / 2013-12-30

  • fixed; incompatibility with mongoose 3.8.2+ for location fields has been resolved, thanks jbalde
  • fixed; compatibibility issues with Jade 1.0.0, preparing for update
  • improved; nicer default .env keys for mandrill and embedly api key config, falls back to legacy / heroku default key names

v0.1.54 / 2013-12-23

  • fixed; problem with the new options implementation when cloudinary is not used

v0.1.53 / 2013-12-23

  • fixed; correctly escaping HTML entities in names through the API
  • updated; keystone-utils to 0.1.4
  • fixed; better implementation of cloudinary config, fixes #69
  • improved; more robust / consistent initialisation of options with process.env variables
  • added; new custom engine option for using view engines not natively supported by express, thanks JeremyFouriaux

v0.1.52 / 2013-12-12

  • improved; the updateHandler will now allow required fields to be omitted from input data when an item already has a value for the field
  • improved; relationship fields now support custom labels and notes, thanks mbayfield
  • fixed; support for heading as a field path, thanks mbayfield

v0.1.51 / 2013-12-11

  • fixed; res.apiError was broken (when using keystone.initAPI)
  • fixed; minor tweaks to the Email class and default template

v0.1.50 / 2013-12-09

  • updated; keystone-utils to 0.1.3

v0.1.49 / 2013-12-04

  • added; moment and parse underscore methods for the date and datetime fields
  • fixed; bugs searching lists with name fields in the admin ui
  • fixed; sorting by name fields in the admin ui was not working correctly

v0.1.48 / 2013-12-03

  • added; you can now provide a paths option to the UpdateHandler to map custom field names to item field paths for processing
  • improved; default email templates have been redesigned, with new theme options and defaults, thanks jossmackison
  • improved; s3file fields expose a direct uploadFile underscore method, for use outside of an updateHandler, thanks bladey
  • fixed; support for extended characters in utils.pathToLabel (via keystone-utils), thanks itzaks

v0.1.47 / 2013-12-02

  • added; new s3file field, thanks bladey

v0.1.46 / 2013-11-27

  • added; new list.getUniqueValue(path, generator, limit, callback) method
  • added; lots of new documentation in the website
  • fixed; updating relationship fields from arrays
  • improved; updates to the Email class, adding default email templates (based on VIRB Ink, currently very basic)
  • removed; br() method from Email template locals (vendor prefixes not necessary in modern browsers anymore)

If you are currently using the br method in your email templates, make sure it is removed or your templates will break.

Note: To run the docs website locally, go to /docs and run node web. It will start up at http://localhost:8080

v0.1.45 / 2013-11-20

  • misc bug fixes

v0.1.44 / 2013-11-20

  • added; new markdown field type
  • improved; massive enhancements to the cloudinaryimage(s) fields, thanks bladey

v0.1.43 / 2013-11-20

  • added; keystone.content class and the start of a page-content management framework
  • added; new functionality for integrating front-end editing
  • fixed; minor issues with the list controls in the admin UI

v0.1.42 / 2013-11-19

  • fixed; passing populateRelated string as 3rd argument of View.query

v0.1.41 / 2013-11-18

  • improved; support for detecting presence of req.body / req.query keys on View.on('post' || 'get')
  • added; support for callbacks in the keystone.View class. available callbacks are err (when the first argument returned by the query callback is not null, takes a single argument which is the error), none (when the results array is empty or the results argument is null), then (called unless err or none is present and called, takes three arguments: err, results, next)
    • e.g. view.query(as, query, { err: errorHandlerCallback, none: noResultsCallback }) or
    • view.query(as, query).none(noResultsCallback).then(defaultCallback)

v0.1.40 / 2013-11-14

  • added; autokey now supports a unique option
    • set to true for unique keys within the whole collection, or a filters object for unique keys within a specific set of documents
  • improved; document id is now hidden in favour of the autokey (if there is one)
    • press alt to see the document id
  • added; you can now navigate to the linked document in a relationship field (only updated on load, for now)

v0.1.39 / 2013-11-07

  • improved; the utils library has been moved to its own npm package, keystone-utils
  • changed; default date format changed from YYYY-MM-DD to Do MMM YYYY, it's friendlier
    • the format option for Date and Datetime fields can be used to override this setting on a per-field basis

v0.1.38 / 2013-11-06

  • added; ability to use dependsOn with headers, thanks itzaks
    • new syntax is { heading: 'Heading with dependency', dependsOn: { field: 'value'} }
  • added; url parameter for the admin list view that updates all items in a list, optionally with data
    • /keystone/list?update
    • /keystone/list?update={"field":"value"}
  • added; ability to override changedOn value when using the standard meta fields
  • fixed; cell overflow is now hidden in the admin list view
  • added; support for additional cloudinary transformations
  • added; support for passing options to cloudinary transformation shortcut underscore methods
  • fixed; the default field validator now trims strings before testing for length when determining validity
  • changed; mongoose >3.6.20 is now required, allowing usage of 3.8 +

v0.1.37 / 2013-11-04

  • improved; added webp and progressive jpeg options to cloudinaryimage field
  • improved; added ability to pass options to cloudinaryimage underscore shortcuts (limit, fill, etc.)
  • fixed; underscoreMethods for fields that implement their own addToSchema method (were missing .format, etc)
  • improved; format function for location fields now supports a list of fields to include

v0.1.36 / 2013-11-03

  • added; new embedly field type

v0.1.35 / 2013-10-31

  • added; client-side deleting of items in the list view
  • added; ability to use custom validation methods with updatehandlers
  • improved; autokeys can now build a key from multiple paths, and support format strings
  • improved; autokeys now understand virtual paths (and will always regenerate if one is detected)
  • improved; default format settings for uneditable date fields
  • fixed; incorrect path in public underscore.map file
  • site; minor updates
  • changed; switched to bcrypt-nodejs module becase of build issues on windows, thanks sullivanpt
  • improved; added intelliJ project files to .gitignore, thanks sullivanpt

v0.1.34 / 2013-10-24

  • fixed; utils.htmlToText was removing   without adding a space
  • added; coffeescript file support in the importer, thanks itzaks