Releases: SoftInstigate/restheart
3.2.2
3.2.1
Release notes - Restheart - Version 3.2.1
What's new in this release
This is a minor refactoring that just allows to override the DbIdentityManager
class. It could be useful only in case one wants to implement a custom accountIdTrasformer
method (let's say you want the user id to always be lowercase, for example). For this reason, you don't really have to upgrade from 3.2.0.
You can download binaries form the Maven repository.
- ccc0754 - (tag: 3.2.1) Release 3.2.1 (2 minutes ago)
- 69f90da - class DbIdentityManager extends AbstractDbIdentityManager (4 minutes ago)
- 026ccf8 - Revert "Minor refactoring of travis-ci.yml" (10 days ago)
- c99cd35 - Remove branch check from bin/before-deploy.sh script (10 days ago)
- 08dbc6e - Improve log messages in scripts (10 days ago)
- 8209d3e - Minor refactoring of travis-ci.yml (10 days ago)
- 80774fc - Remove "set -e" from script (10 days ago)
- b0a21c3 - modified: deploy-settings.xml (10 days ago)
- 04d9b0d - Version 3.2.1-SNAPSHOT (10 days ago)
3.2.0
Release notes - Restheart - Version 3.2.0
What's new in this release
- Fully tested with MongoDB 3.6;
- Dropwizard metrics on requests;
- Editing metadata for GridFS binary files;
- Several bug fixes and performances improvements.
Binaries
As usual, RESTHeart server can be downloaded and executed as is or available is other formats:
- As a Docker image;
- As a Maven artifact;
The Maven dependencies are meant to create custom extensions, such as Application Logic Handlers and Request Hooks.
3.2.0-beta-2
7ec202e - fixed regression bug, rawContent was not set if request Content-Type was not application/json
3.2.0-beta-1
Release notes - Restheart - Version 3.2.0-beta-1
Bug
- [RH-249] - UnsupportedDocumentIdException writing documents with _id of type document
- [RH-251] - wrong return code on PATCH not existing document
- [RH-252] - response code 500 creating a schema with a property definition whose name is a bson type
- [RH-254] - GET/bucket.files/<id>/binary does not send 404 Not Found if file does not exist
Story
- [RH-250] - As a user, I want to enable or disable the ANSI console for colored logging
New Feature
- [RH-241] - file property contentType is null and actual value goes to metadata.contentType
Improvement
- [RH-232] - DbIdentityManager configuration option to create a default user if none exists
- [RH-253] - AbstractSimpleSecurityManager cannot resolve config file paths with spaces
Dropwizard metrics support
It adds support for metrics to restheart and behaves as follows:
There are a few new endpoints:
/_metrics
/$DBNAME/_metrics
/$DBNAME/$COLLECTIONNAME/_metrics
.
You can query them to get metrics information; each upper level contains all the information from the lower levels, aggregated. There are two output formats: classic dropwizard metrics JSON format (see https://github.com/iZettle/dropwizard-metrics/blob/master/metrics-json/src/main/java/io/dropwizard/metrics/json/MetricsModule.java for the format) and Prometheus (see https://prometheus.io/docs/instrumenting/exposition_formats/).
Prometheus is the default format and will be selected if you do not specify anything. This allows easier integration into a k8s stack (e.g. for auto-scaling by response time).
For the JSON format, there are 2 options: Use the rep
query parameter set to PJ
or PLAIN_JSON
(as you know it from classic restheart), or use HTTP content negotiation using Accept
headers (see https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1). If you give both, the query parameter wins.
Whether restheart will collect metrics at all depends on the metrics-gathering-level
defined in the config file (default is ROOT
). You can set it to OFF
, ROOT
, DATABASE
or COLLECTION
, which will in turn collect from least to most metrics. If metrics do not get gathered at a given level, the answer from the respective endpoint will be 404 NOT FOUND
.
Merge Commit 78c6428
Editing metadata for binary files
Although GridFS will treat binary data as immutable the metadata stored in the files collection can still be changed. This was raised under https://softinstigate.atlassian.net/browse/RH-64 as first encountered in issue #60
Support for this has been added for both PUT and PATCH. The new code is triggered by:
- Sending a PATCH request with Content-Type of application/[hal+]json to an endpoint of type FILE
- Sending a PUT request with Content-Type of application/[hal+]json to an endpoint of type FILE
The body of the request can be any of:
{ metadata: { keys: values } }
{ properties: { keys: values } }
{ keys: values }
Whichever is submitted, it will be stored in the metadata
document. In addition:
- Filename updates (values for a key of
filename
) will be propagated to the parent document. _id
present in the metadata will be removed
In order to support PATCHing of existing metadata DAOUtils now supports a method to flatten nested BsonDocuments using dot notation. Although this is currently only used when updating file metadata it might be a useful addition for PATCHing other documents too.
Notes:
- Bulk operations are not supported for metadata updates.
- Upserting is disabled for metadata updates (doesn't make sense)
contentType
determined during binary file POST/PUT is stored in the metadata, as a result it will be lost when PUTting a new metadata document unless explicitly added. No attempt is made to keep this. A consideration might be to move this field up to the main document level.
Merge Commit e90d09b
3.1.4
3.1.3
3.1.2
Release notes - Restheart - Version 3.1.2
Bug
- [RH-251] - wrong return code on PATCH not existing document
Story
- [RH-250] - As a user, I want to enable or disable the ANSI console for colored logging
Improvement
- [RH-232] - DbIdentityManager configuration option to create a default user if none exists
3.0.4
3.1.1
Docker images are available here.
Highlights for this release
- increased batchSize to 1000 (equals to highest valid pagesize) for better performances
- return "409 Conflict" if write request results in error due to duplicate key
- filter qparam applies also to PATCH and PUT requests
- updated mongodb java driver to v3.4.2
- allow to pass arguments to hooks, transformers and checkers via configuration file
- application logic handler to import CSV data directly into collections
- added support for 2 ways SSL
- DbIdentityManager configuration option to create a default user if none exists
- Many bug fixes...
Note: we skipped release 3.1.0 because of a small error in a build script found just after tagging.
Commits
- 24ef0ae - (HEAD, tag: 3.1.1) Release 3.1.1 (10 minutes ago)
- fdd4e6d - Move docker build commands into travis.yml (12 minutes ago)
- 6314bc0 - Exit immediately from travis build if push.sh fails (13 minutes ago)
- 0426b6b - Exit with error if RESTHEART_VERSION is undefined (13 minutes ago)
- 510cd90 - Fix the Docker build process in travis.yml (13 minutes ago)
- 0a4058c - Fix RESTHEART_VERSION in travis.yml (48 minutes ago)
- da59e60 - Bump version to 3.1.1-SNAPSHOT (new branch) (66 minutes ago)
- ffae8b4 - (tag: 3.1.0) Release 3.1.0 (69 minutes ago)
- 832ac52 - Introduce the BATCH_SIZE constant (74 minutes ago)
- cbaefdd - Restore mc.hasNext() check in while loop (78 minutes ago)
- 3501baf - Upgrade some dependencies to the latest stable minor version (89 minutes ago)
- d098712 - increased batchSize to 1000 (equals to highest valid pagesize) #218 (18 hours ago)
- da457f3 - return 409 Conflict if write request results in error due to duplicate key https://softinstigate.atlassian.net/browse/RH-248 (2 days ago)
- fa11e8c - RequestContext.getFiltersDocument() never returns null (2 days ago)
- 62cc4b5 - transformers with scope THIS to apply also to document requests https://softinstigate.atlassian.net/browse/RH-247 (4 weeks ago)
- 1f08025 - filter qparam applies also to PATCH and PUT /db/coll/docid requests https://softinstigate.atlassian.net/browse/RH-246 (4 weeks ago)
- 05e7eaa - filter qparam applies also to write /db/coll/docid requests https://softinstigate.atlassian.net/browse/RH-246 (4 weeks ago)
- ffbb4d5 - Merge pull request #213 from afraniosm/#212-Running_as_Windows_Service (5 weeks ago)
|\
| * 19b3cff - Added dummy parameter to Bootstrapper.shutdown() w.r.t. issue #212 (5 weeks ago)
|/ - 6f7c5d7 - updated mongodb java driver to v3.4.2 (5 weeks ago)
- 2a1473c - Use image: softinstigate/restheart (6 weeks ago)
- 6cf2dce - Update .travis.yml (6 weeks ago)
- 706a74e - Update .travis.yml (6 weeks ago)
- e06ef78 - Removed bin folder from .gitignore (6 weeks ago)
- 3c73d7f - Refactoring of build.sh and project-version.sh (6 weeks ago)
- 7a169c6 - allow to pass arguments to hooks, transformers and checkers via configuration file https://softinstigate.atlassian.net/browse/RH-245 (7 weeks ago)
- b9e92e3 - refactored CsvLoaderHandler https://softinstigate.atlassian.net/browse/RH-238 (8 weeks ago)
- 84b30e4 - document uploaded via csv loader get the _etag https://softinstigate.atlassian.net/browse/RH-238 (8 weeks ago)
- e3f6c56 - allow csv importer to specify a transformer to modify imported data https://softinstigate.atlassian.net/browse/RH-244 (8 weeks ago)
- 8926686 - Merge pull request #209 from ankitv89/patch-1 (9 weeks ago)
|\
| * 3e2dd8f - specified permission (9 weeks ago)
|/ - 48c875e - fixed hooks called after response has been closed https://softinstigate.atlassian.net/browse/RH-243 + some package refactoring (9 weeks ago)
- 536cc5b - Merge pull request #203 from henczi-espirit/199-logging-issue (2 months ago)
|\
| * 3d0a771 - #199 Fixed Logging Issue with Logback (3 months ago) - | aa66339 - Add "-Dfile.encoding=UTF-8" parameter to bin/start.sh (2 months ago)
- | f61d25c - minor change on HashTransformer javadoc (3 months ago)
- | 2119bd3 - CsvLoaderHandler must handle separator between quotes https://softinstigate.atlassian.net/browse/RH-242 (3 months ago)
|/ - 903338b - fixed NPE on JsonSchemaTransformer see #200 (3 months ago)
- 380f00c - application logic handler to import CSV data into collections now supports props and values qparams to add properties to each row https://softinstigate.atlassian.net/browse/RH-238 (3 months ago)
- 241ce52 - application logic handler to import CSV data into collections https://softinstigate.atlassian.net/browse/RH-238 (3 months ago)
- 90cc125 - refactored metadata packages https://softinstigate.atlassian.net/browse/RH-239 (3 months ago)
- fa64ac4 - Update README.md (3 months ago)
- f42ae74 - Update README.md (3 months ago)
- 2337a15 - modified: README.md (3 months ago)
- 4380404 - Deploy only if not from a pull request (3 months ago)
- e51b26f - Add deploy-settings.xml (3 months ago)
- 5d6f678 - Tag and push the docker image as "latest" if branch is "master" (3 months ago)
- 1d2ff99 - Use the --quiet parameter (3 months ago)
- cad5f79 - modified: project-version.sh (3 months ago)
- 6c84d0b - Fix error in build script (3 months ago)
- 5e518c4 - modified: project-version.sh (3 months ago)
- 3de8031 - Redirect stderr to /dev/null in travis script (3 months ago)
- c18df2c - Fix missing docker service in travis-ci (3 months ago)
- af2b98a - Build and push docker image with travis-ci (3 months ago)
- 321cedb - Add docker login credentials for travis-ci (3 months ago)
- c3cc099 - Refactoring of docker-compose.yml (3 months ago)
- 509424e - modified: Docker/build.sh (3 months ago)
- 7a3f20c - Update README.md (3 months ago)
- a950543 - Update README.md (3 months ago)
- 51a3fad - Fix the Dockerfile and add a build script to create the image (3 months ago)
- 1d887d6 - Modified .gitignore (3 months ago)
- 6523d3e - properly init sslContext to add support for 2 way SSL https://softinstigate.atlassian.net/browse/RH-237 (3 months ago)
- 1d70bb2 - removed debug log message (3 months ago)
- ef1aa5b - added support for 2 way SSL https://softinstigate.atlassian.net/browse/RH-237 (3 months ago)
- 94fcf13 - add performance test case about PUTting same document (3 months ago)
- cabb429 - fixed wrong http return code on METHOD_NOT_ALLOWED and RESERVED RESOURCE errors https://softinstigate.atlassian.net/browse/RH-236 (4 months ago)
- baa0537 - fixed NPE on GET /db/_schemas https://softinstigate.atlassian.net/browse/RH-235 (4 months ago)
- 3cb20a3 - improved DbIdentityManager updating the account in auth-token cache when authentication succeeds https://softinstigate.atlassian.net/browse/RH-234 (4 months ago)
- 363a75e - fixed issue “json minify class is not thread safe, leads to errors on heavy load” https://softinstigate.atlassian.net/browse/RH-233 (4 months ago)
- 6ce4674 - added new DbIDM configuration options to integration test conf file (4 months ago)
- 59b2cc2 - removed print stack trace (4 months ago)
- 17e31b9 - DbIdentityManager configuration option to create a default user if none exists https://softinstigate.atlassian.net/browse/RH-232 (4 months ago)
- 85a66e7 - fixed DbIdentityManager requires mongodb user with listDatabases perminssion https://softinstigate.atlassian.net/browse/RH-231 (4 months ago)
- 12eb1f9 - Upgrade undertow-core to 1.4.8.Final (4 months ago)
- aa53e17 - Upgrade mongo-java-driver to 3.4.1 (4 months ago)
- 340b006 - Merge pull request #181 from erosb/master (4 months ago)
|\
| * b624926 - upgrading to everit-org/json-schema 1.5.0 (4 months ago) <Bence Erős>
|/ - b441f5d - epochTimeStamp property of RequestPropsInjecterTransformer now in milliseconds (was in seconds) as required by mongo Date https://docs.mongodb.com/manual/reference/mongodb-extended-json/ (4 months ago)
- 9974218 - json minification now uses https://github.com/charlesbihis/minify (4 months ago)
- 1e52e42 - fixed error GET /db/bucker.files//binary if fileid is not an ObjectId https://softinstigate.atlassian.net/browse/RH-228 (5 months ago)
- b2d4cdf - minor improvement to PLAIN_JSON representation format https://softinstigate.atlassian.net/browse/RH-227 (5 months ago)
- 5df0a06 - fixed ...