Releases: SoftInstigate/restheart
3.6.2
3.6.1
Release 3.6.1
Minor bugfix
- b600efd - updated tika to 1.20
Vulnerabilities that will be fixed
pom.xml
org.apache.tika:[email protected] > org.apache.tika:[email protected]
Denial of Service (DoS)
3.6.0
Release 3.6.0
As usual, you can also pull the public Docker image from Docker Hub.
Release notes
Major improvements
- Add optional parametric configurations from properties file using the Mustache.java library and the possibility to override primitive types in RESTHeart's configuration file
restheart.yml
with environment variables. Ref. https://restheart.org/learn/configuration-file/ - Support for cursor.hint(index) on query collections. This method overrides MongoDB’s default index selection and query optimization process. This is done via the
hint
query parameter. Ref. https://restheart.org/learn/query-documents/#hint
Minor improvements
- MongoDBClientSingleton detects if the MongoDb instance is running as a replica set, this is also logged at startup time
- removed deprecated bufferPerRegion conf option from Configuration class
- Updated dependencies (Undertow and Java MongoDB drivers)
- Upgrade docker image to
openjdk:8u181-jre-alpine
- Many refactorings and minor bug fixes.
List of new commits
Commits since release 3.5.0
- 6dfa275 - (tag: 3.6.0) Release 3.6.0
- a2fbe13 - Upgrade maven-shade-plugin from 3.2.0 to 3.2.1
- 37d4441 - Add comment: guava 27.0.1-jre fails integration tests, don't upgrade
- 1376715 - Upgrade undertow-core from 2.0.15.Final to 2.0.16.Final
- fdee06f - Upgrade mongo-driver from 3.9.0 to 3.9.1
- c6399b2 - minor change to hint qparam parsing
- b8f795c - added support for hint on query collections #316
- cd11580 - Handle ENV variables in RH configuration
- d27bdaa - deleted: src/test/java/org/restheart/test/integration/BootstrapperIT.java
- d083b67 - Refactoring of Bootstrapper.java
- ca189b3 - Fix path for ENVIRONMENT_FILE
- f4dadee - [skip ci] Revert "Add Fossa reports (https://app.fossa.io/)"
- 363ad7b - Add Fossa reports (https://app.fossa.io/)
- 0888061 - git depth: 3
- ff74668 - ignore jwt test
- cb74c9c - minor change to SecurityAuthTokenIT
- fb04727 - updated netbeans start options with env dev.properties
- e391d53 - added instance-base-url configuration option
- 1fb687d - fixed license source code header
- 3ef1572 - Add description for help parameter
- ef5ce10 - Refactoring
- a0643bc - System.exit when wrong value for string parameter
- ba110de - instance-name: development
- 8e7162e - Parametric configuration from properties file
- bb093be - updated links to undertow documentation in conf files
- 064b1e2 - Check that LOGGER.isDebugEnabled() in logManifestInfo()
- 66e0bc4 - removed deprecated bufferPerRegion conf option from Configuration class
- 041295c - improved log messages that report if mongodb is running in standalone or as a replica set
- 33a9a92 - git ingoring hidden dir
- 32457eb - MongoDBClientSingleton detects if the MongoDb instance is running as a replica set, this is also logged at startup time
- 70ebf7b - removed shade plugin warning message for guava overlapping classes
- 4e0cca9 - removed uses of deprecated APIs
- e25a4ea - Set the right program name in help instructions
- c8c5d4c - Upgrade docker image to openjdk:8u181-jre-alpine
- ef88f6e - Improve bootstrap logging sequence
- cd4c1f2 - Make configPath parameter optional
- 20336c2 - Remove the license from logs
- 06cba07 - Add complete build information to bootstrap logs
- 88a2299 - Refacroring of Bootstrapper.java
- e19863c - Add JCommander to handle to parse command line parameters
- 8ff27e6 - Refactoring of Configuration.java
- c73ee31 - Update COMM-LICENSE.txt
- c87e95a - added commercial license
- c2c1bd9 - Fix Useless condition: it's known that page >= 2 at this point
- c3ee62d - Update Maven dependencies to latest stable releases
- 80fe99c - Update comments in docker-compose.yml [skip travis]
- ce818b3 - Fix possible memory leak in CsvLoaderHandler
- 64c8cfe - [skip travis] Update README
- 2b9496b - [skip travis] center images
- 6351818 - [skip travis] Update README
- 2fe2662 - [skip travis] Update README
- 8bca1d6 - Fix .gitignore [skip travis]
- aac9f3d - Add the Maven Central badge
- 67a699a - Fix the build matrix
- a6b78dc - Fix .travis.yml errors which prevents deployment
- de0a2d4 - Don't fail on javadoc errors
- f375f65 - Add "set -e" to build shell scripts
- a56ea07 - modified: .travis.yml
3.5.0
Release 3.5.0
Most notable changes in this release:
- Add Mongo 4.0 to the integration tests matrix
- RESTHeart is now fully tested with both openjdk8 and openjdk11
- Most maven dependencies have been upgraded to latest stable versions
- Changed layout of prometheus metrics to a single timeseries allowing easier aggregation (#312)
- Put for GridFS assets #308 (see also #303 for a discussion about this feature)
- Avoid concurrent deletions of the same file (deletes are synchronized - see #304 and #306)
- A lot of refactoring and bugs fixing!
List of commits
- fdcaf3e - (tag: 3.5.0) Release 3.5.0
- cf75b25 - updated apache tika library
- 3bba469 - Revert "Extend the build matrix"
- be7cdf7 - Extend the build matrix
- 05c4e0b - Exclude the exact build matrix
- d64414f - Esclude jobs
- 28bb6f7 - Fix build script
- ed23849 - MAVEN_DEPLOY=true only when openjdk8 AND MONGO=3.6
- 725c54f - Add openjdk11 to the Travis-CI build matrix
- 90c0233 - Upgrade mongodb-driver to v3.8.2
- 9799102 - minor refactoring
- 0fe933e - fixed auth token handler when requested URL contains escaped chars that lead to FORBIDDEN
- 0bc65cc - removed unused import
- fbdb40a - better error message on bulk write in case of dup key error due to filter
- 8b9f2c8 - client roles definition order is preserved using LinkedHashSet
- edcf18c - use apk --no-cache to reduce the Docker image size
- 292f760 - Shorten database name for integration tests
- b398d67 - minor change to conf files inline comments + nb 9.0 settings
- ee9bf65 - Fix Maven site report generation error
- 0cf90e4 - Upgrade maven dependencies to latest stable versions
- 2a65a3c - Changed layout of prometheus metrics to a single timeseries allowing easier aggregation (#312)
- 9525cb1 - Minor refactoring
- d01904f - Put for assets (#308)
- 6ff027e - Refactor duplicated code
- 5ee1e90 - Rename method
- eef154d - Remove duplicated code
- 445fe19 - Add isResponseInConflict method to PipedHttpHandler
- df9a4e3 - Add method isInvalidContent to PipedHttpHandler
- ab1abda - deleted: src/main/java/org/restheart/db/Repository.java
- 99556cd - Refactoring of TransformerHandler its and subclasses
- bcc57ea - Remove duplicated code
- 433c9fd - Refactoring of RequestContext
- 68605b0 - Fix Table of Contents
- e8b7242 - Update README.md
- 1d6e324 - Comment out ignored tests
- fddd510 - Refactoring
- 7b5439d - Try to avoid concurrent deletions of the same file
- b71c0e8 - Remove redundant else statement
- ff73423 - Remove potential null pointer reference
- c5927bc - handle MongoGridFSException when deleting a GriFS file (#306)
- dcf6747 - Add Mongo 4.0 to integration tests matrix
- ed097e1 - modified: etc/restheart.yml
- 0ef3727 - modified: etc/restheart-integrationtest.yml
- bf54e43 - modified: etc/restheart-dev.yml
- 14ed275 - Update Docker/etc/restheart.yml
- 2910b25 - Merge branch 'lenalebt-opentracing2'
|\
| * 0a60605 - Merge branch 'opentracing2' of git://github.com/lenalebt/restheart into lenalebt-opentracing2
| |\
|/ /
| * dde5ee8 - Merge branch 'master' into opentracing2
| |\
| * | a6a15ba - removed explicit header handling and generation of trace ids, simplified implementation
| * | 6859213 - added opentracing headers support, fixes #287 - | | 312fa57 - Exit integration-tests.sh script at first error
- | | 77b56c2 - Add the "allow-unescaped-characters-in-url" boolean configuration parameter
- | | bdff084 - Minor refactoring
- | | f89641c - Indent code and add a Javadoc
- | | 8815993 - set undertow option ALLOW_UNESCAPED_CHARACTERS_IN_URL to true, this avoids BAD REQUEST for request with URL containing curly brackets #301
| |/
|/| - | 71d192c - fixes possible 500 error on concurrent collection create requests #297
- | 2068738 - Upgrade Docker base image to openjdk:8u171-jre-alpine
|/ - 54d62a3 - avoid exchange.addExchangeCompleteListener() call if exchage is complete in MetricsInstrumentationHandler to debug issue #299
- c19eb3c - Remove redundant quotes
- b1838be - Don't push the Docker tag when it's a SNAPSHOT
3.4.2
Release 3.4.2
Add opentracing/zipkin headers support
This implements #287. It's a very slim implementation that will imho fit most use-cases. Incoming headers are copied to the response. If there are no headers set, we'll generate some and send them back. The X-B3-TraceId will be written to the logs (by default inside of the [%thread] marks).
This implementation makes it possible to correlate logged exceptions (in case this happens) with the corresponding request log, even when the thread handling the message is re-used shortly after.
It handles all headers mentioned in https://github.com/openzipkin/b3-propagation, as well as the uber-trace-id header that is used by Jaeger (see https://www.jaegertracing.io/docs/client-libraries/#trace-span-identity) to get broader support.
Configuration
metrics-gathering-level
: metrics gathering for which level? OFF => no gathering, ROOT => gathering at root level, DATABASE => at db level, COLLECTION => at collection level
WARNING: use requests-log-level level 2 only for development purposes, it logs user credentials (Authorization and Auth-Token headers).
Example restheart.yml
fragment:
metrics-gathering-level: DATABASE
requests-log-trace-headers:
# - x-b3-traceid # vv Zipkin headers, see https://github.com/openzipkin/b3-propagation
# - x-b3-spanid
# - x-b3-parentspanid
# - x-b3-sampled # ^^
# - uber-trace-id # jaeger header, see https://www.jaegertracing.io/docs/client-libraries/#trace-span-identity
# - traceparent # vv opencensus.io headers, see https://github.com/w3c/distributed-tracing/blob/master/trace_context/HTTP_HEADER_FORMAT.md
# - tracestate # ^^
Relevant commits
- d980612 - Merge branch 'master' into 3.4.x
- ed097e1 - (origin/master, origin/HEAD, master) modified: etc/restheart.yml
- 0ef3727 - modified: etc/restheart-integrationtest.yml
- bf54e43 - modified: etc/restheart-dev.yml
- 14ed275 - Update Docker/etc/restheart.yml
- 7f252bc - Merge branch 'master' into 3.4.x
- 2910b25 - Merge branch 'lenalebt-opentracing2'
3.4.1
Release 3.4.1
- 312fa57 - Exit integration-tests.sh script at first error
- 77b56c2 - Add the "allow-unescaped-characters-in-url" boolean configuration parameter
- 8815993 - set undertow option ALLOW_UNESCAPED_CHARACTERS_IN_URL to true, this avoids BAD REQUEST for request with URL containing curly brackets #301
- 71d192c - fixes possible 500 error on concurrent collection create requests #297
- 2068738 - Upgrade Docker base image to openjdk:8u171-jre-alpine
- 54d62a3 - avoid exchange.addExchangeCompleteListener() call if exchage is complete in MetricsInstrumentationHandler to debug issue #299
- c19eb3c - Remove redundant quotes
3.4.0
Release 3.4.0
Commits in this release:
- 20016ae - added configuration options to tune read performance (default-pagesize, max-pagesize, cursor-batch-size) #296
- 4e0f2d0 - Can run integration tests with percona/percona-server-mongodb
- c37d78d - fixes #293: prometheus metrics handler to not contain non-numeric values (#295)
- d84b84a - added allowDiskUse to aggregation #292
- 7ae6c3a - fix: pom.xml to reduce vulnerabilities (2 weeks ago)
- 5a899a4 - improved DbIdentityManager to speedup bcrypted pwd check if already checked
- 23c9719 - added test for PUT document with not matching filter
- d4fd6e1 - change to condition to detect duplicate _id key
- b039f01 - added debug log message to snoop duplicate key error cases
- d155efb - updated undertow to 2.0.9
- 5bf4596 - Add condition: $MAVEN_DEPLOY = true to .travis.yml
- ada8e1c - Add a deploy step for artifacts in .travis.yml
- 3249c3b - Don't attach the zip and tar.gz files to maven deployment
- 557600b - Use shade plugin to build fat jar, assembly plugin for tgz & zip only
- bb7f333 - Highlight RESTHeart and MongoDB versions in logs with Ansi colors
- 56eb273 - fixed null context.getDbOperationResult().getNewData()
- 4dddada - Restore the maven-assembly-plugin to fix the maven deploy process
- 20b0dd7 - Set maven-javadoc-plugin back to version 2.10 (fixes error with Mac OS)
- 358b4d1 - Move ${project.artifactId} up to level
- f0c80f5 - Ignore dependency-reduced-pom.xml
- cae849b - bulk POST uses unordered write. this avoids writes stopping on error #289
- c063f28 - Revert "fixed NPE when checker applies to create document request"
- ffc89fd - fixed NPE when checker applies to create document request
- d942e3e - fixed global checkers (that were not actually executed)
- 792acc9 - minor refactoring
- f793cc6 - fixed NPE on RequestPropsInjecterTransformer for property userName on not authenticated requests
- b347995 - Experiment (#285)
- b12eef4 - Replace the PDF sample file used for ITs (misleading)
- 2fde00c - Improve script bin/integration-tests.sh
- 0e050f4 - Update POM dependencies
- 96b3ff2 - Fix wrong packages in Docker/etc/restheart.yml
- 8c6e8f0 - Update README.md
3.3.7
Release 3.3.7
This release fixes a bug with Prometheus metrics format. Metrics in RESTHeart are explained here.
Then we started testing against Percona Server for MongoDB which is an interesting alternative to both MongoDb CE and EE.
3.3.6
3.3.5
Release 3.3.5
We've discovered a regression with undertow-core so we have reverted the dependency to version 1.4.22. The problem is evident when using filters in the querystring from browsers, as browsers do not encode the {
and }
chars while latest undertow-core apparently expects those chars to be uri-encoded. The problem was not evident when calling RESTHeart with httpie from command line.