Skip to content

Releases: SoftInstigate/restheart

5.1.4

03 Aug 17:18
Compare
Choose a tag to compare

Release notes

  • 34c9cb9 - Fix support for requests-log-trace-headers for some requests

5.1.3

27 Jul 11:19
a0cee03
Compare
Choose a tag to compare
  • dc6286a - Add comments in ResponseSender to clarify how custom sender is taken into account
  • fd8c382 - Fix some javadocs
  • 02a2ffe - Avoid HALRepresentation to apply for GET binary file requests
  • b2fd468 - Fix response interceptors not invoked for binary files
  • bd98652 - Add ServiceResponse.setCustomerSender() to allow delegating the responsability to send the response content to the client to a custom sender
  • 81b9342 - Migrate from JCommander to picocli
  • 90798b2 - Remove unused dependencies
  • b6cf254 - Upgrade graalvm version to 20.1.0
  • faf0e3c - Add optional 'enabled' property to all authorizers and authenticators

5.1.2

30 Jun 10:08
Compare
Choose a tag to compare

Release notes

  • c415503 - Fix exception 'Cannot use a ScanResult after it has been closed' when no token managers are configured
  • 7921234 - Fix misleading error log message when plugins instantiation fail due to exception
  • 6e61e53 - Remove duplicate keys in conf file
  • 9130aeb - Fix request type not selected as BULK_DOCUMENTS for URI /db/_schemas/*
  • 7d54e4a - Update service 'roles' configuration with secured: false. It checks permissions on its own
  • 0a1e570 - Fix UserPwdHasher hashes password even if bcrypt-hashed-password: false
  • 698c01f - Handle OPTIONS for services when a request cannot be initialized to avoid CORS errors for bad requests
  • d5df185 - JsonUtils.parse("") returns null, JsonUtils.parse("''") returns empty BsonString
  • ebe6adb - BsonFromCsvRequest parsing avoids adding properties from columns whose value is null
  • 521a1cd - JsonUtils.parse('') returns empty BsonString, was null
  • 25f6121 - Fix mongo mounts handling when MongoService is bound to a custom uri
  • d52e50c - ResponseSender don't set the response code if < 0, this would lead to error anyway
  • 8ef0cbc - MongoService returns 502 Bad Gateway when request path does not match any mongo-mounts
  • 39ae291 - Fix HALRepresentation to return hal response when pagesize=0
  • 276eb65 - Push a distinct snapshot image
  • f648359 - Publish SNAPSHOT docker images as latest
  • 8b9c45a - Fix NPE on HALRepresentation when response content is null, this can happen when 304 is returned
  • 8236a01 - Fix NPE on UserPwdRemover when response content is null, this can happen when 304 is returned
  • 52276cd - Remove redundant AccountInjector from MongoService handlers pipe
  • 7973803 - Organize imports
  • 82d05c6 - Cleanup some javadoc
  • aaeab5b - Update link to online documentation for plugins
  • 89fd551 - Remove obsolete commented-out proxy configuration
  • f4eaf04 - fix comment on conf file [skip ci]
  • 89e02c2 - Remove some comments from conf file [skip ci]
  • 54b347e - Use String(byte[], Charset) constructor
  • 380048f - Remove use of String() constructor
  • c17994f - Fix link [skip ci]
  • 8b52d07 - Fix broken link [skip ci]
  • 4b27a04 - Move the docs to web site [skip ci]
  • 49377be - Update docs to 5.1.1 [skip ci]
  • c14f631 - Update README.md
  • c01a7c9 - timeout-minutes: 30

5.1.1

10 Jun 19:02
Compare
Choose a tag to compare

Release notes

  • 397dff7 - Remove redundant version tag of aut0 dependency
  • b6483ce - Add ConsumingPlugin interface to restheart-commons, it allows a Plugin to get a Consumer for runtime configuration purposes
  • edf765d - Add MongoResponse.rollback() helper method to restore update documents
  • ed1f18e - Move all Accout classes to org.restheart.idm package of restheart-commons
  • ffa1e2e - Bind mongodb to restheart-mongo to force replica set config to use host name instead of container id [skip ci]
  • ffc07a1 - Update configuration with secured:true for service CsvLoader
  • e1d9e78 - Upadte CsvLoader to use the specialized BsonFromCsvRequest class. This allows to use interceptors to transforms the data before writing it
  • 1da367c - Improve error log message in ServiceRequest and ServiceResponse for type mismatch
  • 7a1ed91 - Fix startup error if plugins directory is empty
  • c2c3294 - Fix typo in cong file comment [skip ci]
  • c77518f - Refactor db logic to always use CollectionDAO.getCollection() to obtain the MongoCollection
  • ac86158 - image: softinstigate/restheart:5.1.0 [skip ci]

5.1.0

28 May 12:54
Compare
Choose a tag to compare

RESTHeart 5.1.0 Release notes

Transactions

Support for MongoDB Sessions and Transactions is available.

Change Streams

Support for MongoDB Change Streams is available.

Security Plugins

The following advanced Security plugins are now available:

  • jwtAuthenticationMechanism: authenticates request with JSON Web Token
  • mongoRealmAuthenticator: authenticate requests against client credentials stored in MongoDB. It also automatically protects and encrypts passwords
  • mongoAclAuthorizer: authorizes requests against ACL stored in MongoDB. It also adds role-based data filtering capability.

Upgrade to RESTHeart v5

See https://restheart.org/docs/upgrade-to-v5/

4.1.11

27 May 14:10
cffbe93
Compare
Choose a tag to compare

Release notes

  • 1565c64 - Add ?nocache query parameter that avoids using the cache for db and collection properties

5.0.1

24 May 19:21
Compare
Choose a tag to compare

Release notes

The main reason for this release was to move the Docker base image to adoptopenjdk:11-jre-hotspot-bionic. See the Dockerfile.

Both the latest and 5.0.1 tags of softinstigate/restheart images are now based on the Ubuntu 18.04 LTS distribution.

The distroless image is still built (see distroless.Dockerfile) and uploaded to Docker Hub, but it is tagged as distroless and 5.0.1-distroless to distinguish it from the default image.

This release also add some minor bug fixes and more internal refactoring.

New commits

  • eb657d1 - (tag: 5.0.1) Release 5.0.1
  • a50dfa4 - Build the distroless Docker image
  • a034d8b - Move default Dockerile to Ubuntu 18
  • 0040798 - Add a Dockerfile for distroless images
  • 6e008aa - Fix error response for errored bulk request
  • 97f359d - Remove mention to editions [skip ci]
  • 358676d - Update nb settings
  • e232fc5 - Better error message if MongoClient dependency fails to be injected
  • 563863d - Reset mongo-root-resource=/restheart in dev.properties
  • 2aedd7b - Fix BsonRequest.isReservedResource() for GET /_size
  • 68f6df3 - Improve error log message in case of dependency injection failure due to missing external dependency
  • 1a7e068 - Improve error log message in case of plugins failure due to missing external dependency
  • 7647517 - Relax contraints on reserved resources and allow properties names to start with _
  • 53a1ad4 - Fix response of DELETE /coll with rep=HAL
  • 79c9d72 - Remove duplicated enum METHOD
  • 9cf8cf4 - Move InvalidMetadataException to restheart-commons
  • bea11d0 - Move ClientSessionImpl to package org.restheart.mongodb.db.sessions
  • 6720cbd - PluginsRegistryImpl.getInterceptors() and .getGlobalSecurityPredicates() return modificable lists
  • 478fc11 - Move Configuration to commons + remove duplicate BaseAccount class
  • 5a68d2f - Move Account classes to restheart-commons
  • f35d7cc - Move Version to restheart-commons
  • 3310fc2 - Fix BsonRequest.init() with empty content

5.0.0

06 May 00:08
Compare
Choose a tag to compare

RESTHeart v5

RESTHeart v5 is a major refactoring of the internal APIs. With this version we focused on these things:

  1. RESTHeart is back a single unit of deployment, no more need to run a separate security layer (it's muck like it was RESTHeart v3). Unzip the archive and run it.
  2. It's now much easier to extend the API with plugins and interceptors (see some examples). You can build and deploy your own Web Services with few line of code.
  3. Promote plain JSON as the primary representation format and demote HAL as a secondary option (most developers just want to use their own format).

Commits since the last RC

  • 5f74e35 - (HEAD, tag: 5.0.0) Release 5.0.0
  • dfe74da - Performance optimizations
  • 57ff2b0 - Performance optimizations
  • f1aa15f - Add Integration Tests for standard representation
  • d3c1b27 - Fix paging on GET /root when pagesize * page > dbs.size
  • 854e620 - Simplify error document format
  • 14e19e4 - Refactoring
  • 0f69652 - Add maven profile for experimental GraalVM native image
  • c9c610d - Use the new maven.compiler.release property
  • 8c06ab8 - Set requireMavenVersion to 3.6
  • bff51db - Refactor internal code that was expecting internal response representation in HAL format
  • 94a9495 - HAL format is not used internally anymore. The interceptor halRepresentation transforms the response to the HAL format if needed
  • 4375790 - Update undertow dependency to 2.1.0-Final
  • f442170 - Fix typo [skip ci]
  • 6288e96 - Chang TOC for Docker and Build links [skip ci]
  • ced6b73 - Edit title [skip ci]
  • b371b03 - Fix the TOC [skip ci]
  • dffc3bc - Add comment [skip ci]
  • 7a169f5 - Revert "log-file-path = /var/log/restheart.log [skip ci]"
  • 4ff1713 - log-file-path = /var/log/restheart.log [skip ci]
  • 0897ed2 - Fix the prerequisites [skip ci]
  • 34c0740 - Add both ZIP and TAR.GZ download links [skip ci]
  • c1c5386 - Fix broken link [skip ci]
  • 4a86fae - Explain some configuration aspects [skip ci]
  • 31bcab8 - Add more comments to properties
  • 620c50c - Move paragraph from docker.md to README [skip ci]
  • ed717c5 - Add a link to docker hub [skip ci]
  • b4fae13 - Fix "user guide" link [skip ci]
  • 558eaa8 - Fix doc links in TOC [skip ci]
  • dae14d2 - Split docs into multiple files [skip ci]
  • b819ad0 - Better error message for LinkageError due to plugins compiled with wrong restheart-commons dependency
  • 570896a - ByteArrayResponse sends error messages in json format
  • 2818599 - Add existance and readability checks on plugins files during deployment
  • ff3cec0 - Update README.md
  • b3a6fc9 - Update README.md
  • cdf7998 - Update README.md
  • ba9be4d - Update docker-compose.yml
  • f67ac2c - download/5.0.0-RC4/restheart.zip
  • e1e6eec - Update README.md
  • 6f6d6b4 - Authorizer plugin now has Request paramenter as in Authorizer.isAllowed(final Request request)
  • 91232e8 - Rename exchange classes in pursuit of better clarity
  • b5ecadc - Set result.oldDocument on DELETE document
  • c56c640 - Add javadoc to Response.readContent()
  • c9d6ff0 - Fix BsonResponse.readContent()
  • f6d3cca - Update README [skip ci]
  • e8bb02a - 5.0.0-RC5-SNAPSHOT [skip ci]

5.0.0-RC4

20 Apr 17:21
Compare
Choose a tag to compare
5.0.0-RC4 Pre-release
Pre-release

New commits since last release

  • 09179a5 - (tag: 5.0.0-RC4) Release 5.0.0-RC4
  • 8d10897 - Execute authentication before sending the error response if the request is setInError by a BEFORE_AUTH interceptor
  • 026ad9d - Rename BsonInterceptor -> MongoInterceptor + create BsonInterceptor for BsonService
  • 61aec45 - Exchange classes used by MongoService renamed as MongoRequest and MongoResponse
  • 8b06f70 - Add back MongoService own ErrorHandler to the handling pipeline
  • b8b378b - Remove unused imports
  • 41e2fe9 - modified: README.md
  • 5201ebf - Remove obsolete RequestContext class and unchecked compilation warnings
  • 17e4625 - Remove Checkers being replaced by Interceptors
  • 9ba5aad - Refactor jsonSchema checkers as Interceptors
  • 72de031 - Remove tests for JsonPathConditionsChecker
  • d84f328 - Remove unmaintained JsonPathConditionsChecker
  • 5df0985 - Refactor ContentSizeChecker as an Interceptor
  • 8a83ea3 - Rename LocalCachesSingleton -> MetadataCachesSingleton
  • 8e65f21 - Move CheckersUtils to restheart-commons, and checkers to package org.restheart.mongodb.interceptors
  • 8397b4a - Rename packages org.restheart.mongodb.plugins.services -> org.restheart.mongodb.services and org.restheart.mongodb.plugins.interceptors -> org.restheart.mongodb.interceptors
  • fecbaab - Remove package org.restheart.mongodb.handlers.transformers
  • a397ff7 - Add some javadoc
  • 911238a - Move package org.restheart.handlers.exchange -> org.restheart.exchange
  • fe3083c - Remove Transformers and Hooks being replaced by Interceptors
  • eb01d37 - Refactor DbPropsInjector and CollectionPropsInjector as interceptors
  • baa4634 - Refactor DbPropsInjector and CollectionPropsInjector as interceptors
  • 263d190 - Set metrics-gathering-level: DATABASE
  • 5cc59f1 - Add the correct path to core targets [skip ci]
  • 9bc9c09 - 5.0.0-RC4-SNAPSHOT [skip ci]

5.0.0-RC3

13 Apr 14:19
Compare
Choose a tag to compare
5.0.0-RC3 Pre-release
Pre-release

New commits since last release

  • d85e954 - (tag: 5.0.0-RC3) Release 5.0.0-RC3
  • d9f8e2a - Add request and response generic parameters to Interceptor interface. Use this information to make interceptors applying only to request handled by services that use the same request and response types or proxied requests when the interceptor extends the specialized ProxyInterceptor interface
  • 669eb80 - Fix typo [skip ci]
  • dc5af58 - Update README [skip ci]
  • 40d1316 - Add a README [skip ci]
  • 602610a - Fix typo [skip ci]
  • d4c7da8 - Add hr tag [skip ci]
  • d6797e0 - Update README [skip ci]
  • e0c8eda - Update README [skip ci]
  • 4b3f9c7 - Service handle() method doesn't use low level HttpServerExchange in favour of generic Request and Response: Service.handle(HttpServiceExchange) -> Service.handle(Request r, Response s)
  • 9dcb80e - Fix test plugins with new Request and Response implementation
  • 074270d - Add request and response generic parameters to Service interface. Use this information to instantiate the correct request and response objects for the handling service. ResponseSender sends the content stored in the response object used by the handling Service
  • 9fc1fbd - Remove HandlingPlugin interface
  • 05eb56c - Add AbstractRequest.getPath()
  • 5233607 - Exchange classes reorganized in two branches, Buffered and not + moved RequestHeler.endWithMessage() as response.setInError() + moved package org.restheart.representation to commons
  • 24ca09b - Service interface can specify a request initializer. This is used by core to initialize the request implementation used by the Service, for instance parsing the request content in the expected format. MongoService refactored to follow this approach
  • 47fa082 - Fixed CsvLoader returning Bad Request if Content-Type='text/csv; charset=ISO-8859-1' (was checking exact match with 'txt/csv')
  • 9d95dc3 - BsonRequest.init() called only on requests handled by MongoService
  • 38eb0e8 - Move MongoMount to package org.restheart.plugins
  • e00b69f - Move root handler management to PluginsRegistry and add PluginsRegistry.getPipelineInfo(String path) to early get information on handing pipeline from request path
  • dafcea2 - Allow service to veto for Interceptor execution by core module, MongoService uses this to execute AFTER_AUTH interceptor after db and coll metadata have been injected to BsonRequest
  • bdc1694 - Speed up system startup + Dependency injection occurs after all plugins are instantiated to avoid potentially dangerous use of injected objects in constructors
  • 1ddb22d - Handle exception when invoking interceptor.resolve()
  • d476a62 - Rename workflow
  • f4901cf - Refactoring
  • e47618c - MongoService does not send response directly anymore, it set the response content that is sent by Core's ResponseSender.
  • 881150e - Update README [skip ci]
  • 9ff46ec - Update README [skip ci]
  • e412686 - Restore SnooperHook code, was deleted by mistake
  • 5c19d77 - Remove wrong @author in Minify
  • 520a001 - Move JsonUtils to common module and SnooperHook to test-plugins
  • 571d9a2 - Lower some startup log message
  • bc4ef2f - Move all plugins used for testing to test-plugins module
  • b0dd03b - Improve javadoc of Hook
  • d9fbe66 - Add github stars badge [skip ci]
  • 64c56d7 - Update plugin example in README
  • cf86ccd - Add last commit badge [skip ci]
  • bda022b - BsonRequest.init() invoked in core BsonRequestServiceInitializer being the actual mongo-mounts configured by MongoMountsConfigurator
  • 29de0a5 - Organize imports
  • 5a2b0eb - Add link to plugin docs [skip ci]
  • ef63b9e - deleted: security/ISSUE_TEMPLATE.md [skip ci]
  • 2561a9d - Update file licenseheader.txt [skip ci]
  • 0dc282b - Add property skipUpdateLicense
  • 81a17fe - Fix SecurityInitialHandler broken header
  • 028c861 - Update license headers
  • 79bba59 - Update license headers
  • 89f2d41 - Update license headers
  • 7bd032a - Update license headers
  • 4047335 - Revert "Update license headers for commons module"
  • f9435f2 - Add the license-maven-plugin
  • 4dda2b9 - Update license headers for commons module
  • 5236bd8 - Put the right license files
  • 5d07a63 - Edit README [skip ci]
  • 4b64dc4 - Update README [skip ci]
  • 2cb7bae - Remove version number from packages
  • 774af65 - 5.0.0-RC3-SNAPSHOT [skip ci]
  • dc5ac58 - Add the nexus-staging-maven-plugin
  • 6a1b708 - 5.0.0-RC2-SNAPSHOT [skip ci]