- Added a stopgap fix for Knox in Node.js 0.10 with streams2, although we do not yet expose a fully streams2-compatible interface. (#146, @pifantastic)
- Fixed "socket hang up" errors (hopefully!) by disabling the default HTTPS agent. (#116, fix discovered by @kof)
- Added the
domainconfiguration option for easy use of other S3-compatible services. (#154, @clee) - Changed and enhanced
signedUrl: its third parameter is nowoptions, which can contain averbstring, acontentTypestring, and aqsobject. In particular, the newcontentTypecapability allows creating pre-signed URLs for PUTs. (#152)
- Fixed
signedUrlquery-string extra-param support for parameters that contained Unicode characters. (#149) - Automatically include STS tokens, when a client is created with the
tokenoption, in URLs generated fromclient.signedUrl. (#147, @willwhite)
- Fixed
signedUrlquery-string extra-param support for parameters that contained URL-encodable characters. - Added support for arbitrary verbs (not just
GET) tosignedUrl. (#144, @markdaws)
- The
x-amz-security-tokenheader is no longer sent when thetokenoption is undefined. (#143, @ianshward)
- Fixed
signedUrlquery-string param support, as introduced in 0.4.7. - Added debug support.
- Added
copyToandcopyFileTofor copying files between buckets. (#16, @kof)
- Fixed 403s when sending requests for files with any of
!'()*in their name. (#135, @jeremycondon) - Added support for arbitrary extra parameters to
signedUrl, e.g. for use in generating download URLs. (#133)
- Fixed
signedUrlto work without a leading slash in the filename, like all other Knox methods. (#129, @relistan)
- Bucket names with periods are now allowed again, even with SSL. (#128)
- Added an informative error when using bucket names with periods in them without first turning off SSL. (#125)
- Fixed all requests when passing in
'Content-Type'or'Content-MD5'headers using any casing other than those exact ones, e.g.'content-type'. (#126)
- Fixed
listalways givingIsTruncatedastrue. (#124, @simonwex)
- Fixed
deleteMultiplewhen passed keys that start with leading slashes (like they do in the README example). (#121) - Fixed
listnot always returning an array for theContentsproperty.
- Added
tokenconfiguration option for temporary security tokens. (@corp186, #110)
- Added
listto list all the objects in a bucket. (@kof, #101) - Fixed tests in Node 0.6.x and in non-ET timezones. (@ianshward, #102)
- Fixed
putStream's early-error logic to accept lowercase versions of'Content-Length'as well. (#96) - Added
agentconfiguration option for configurable HTTP agents. (@ianshward, #111)
- No longer specifying
'x-amz-acl'header as'public-read'by default. (@shlevy, #91) - Made the port configurable with the new
portoption, and defaulting to insecure if the port is customized. (@pifantastic, #86) - Made
putStreamgive an early and user-intelligible error when no'Content-Length'header is set, instead of letting Amazon return a cryptic 501 about'Transfer-Encoding'.
- Added
putStream"progress" event to go along withputFile's.putStreamnow also returns a request object, just likeput. - Added new
putBuffermethod as a higher-level way to PUTBuffers. - When uploading text files using
putFile,charset=UTF-8is now added to the'Content-Type'header. (@pifantastic, #83) - Fixed
signedUrlmethod, which was last working in Knox 0.0.9. (@shawnburke, #81)
- Added
putFile"progress" event.
putStreamnow works with every type of stream, not just file streams, and actually streams the data usingpipe, instead of buffering chunks into memory. Note that a'Content-Length'header is now required, if you weren't using one already. (#14 #32 #48 #57 #72)putFileis now based onputStream, and thus no longer buffers the entire file into memory.- Added
copyFilemethod as a higher-level version of existingcopy. - Fixed signing logic for URLs with query parameters outside the Amazon whitelist. (Seth Purcell, #78)
- Leading slashes are now optional again, after becoming mandatory in 0.0.10. (#77)
- Lots of README updates for a more pleasant documentation experience.
- Now using HTTPS by default, instead of HTTP. This can be disabled with the option
secure: false. - Now using the mime package as a dependency instead of bundling an outdated version of it. This should result in a much more complete registry of MIME types for auto-detection when using
putFile. - Trying to use bucket names that are not all lowercase will give an early error instead of failing with
SignatureDoesNotMatchupon attempting any operation. See #44 for more information. - Fixed capturing of HTTP request errors to forward to the callback function for all "higher-level API" methods (i.e. those accepting callbacks). (@shuzhang, #71)
- Fixed README example to use
"image/jpeg"instead of"image/jpg". (@jedwood, #74)
- Added
client.copy(sourceFilename, destFilename, headers)method for copying files within a bucket. - Added
client.deleteMultiple(filenames, headers, cb)method for multi-object delete. - Knox now passes through any Content-MD5 headers supplied to any of its methods, and automatically generates one for
putFile. (@staer, #36) - Fixed a bug with error propagation in
putStream. (@xmilliard, #48) - Fixed requests to querystring resources. (@richtera, #70)
- Updated tests to use Mocha instead of Expresso; now they can be run on Windows.
- Fixed signedUrl signature, needs encodeURIComponent() not escape() to prevent SignatureDoesNotMatch errors on signatures containing plus signs.
- Fixed bug introduced in refactor
- Fixed resource canonicalization
- Fixed; ignoring certain query params when preparing stringToSign. [Rajiv Navada]
- Added
Client#https?(filename)
- 0.4.x support
- Removed
utilrequire - Support for S3 presigned URLs
- Initial release