Skip to content

Latest commit

 

History

History
268 lines (193 loc) · 17.8 KB

RELEASE-NOTES.md

File metadata and controls

268 lines (193 loc) · 17.8 KB

Release Notes

5.3.4 (2020-09-11)

  • Unset caching of children in the TreeFolder model. See here

5.3.3 (2020-08-19)

  • Add http put request with file body. See here
  • Fix WFS interceptor. See here

5.3.2 (2020-08-05)

  • Fix wrong iterator. See here

5.3.1 (2020-08-05)

  • Speedup interceptor by using cached rules. See here

5.3.0 (2020-08-04)

  • Enhancing WMTS support. See here

Necessary migrations:

alter table wmtslayerdatasources add column capabilitiesurl text;

5.2.3 (2020-07-16)

  • Interceptor security. See here

Necessary migrations:

create table wfslayerdatasources (
    id integer not null primary key,
    version text,
    typename text,
    typenames text
);

5.2.2 (2020-07-15)

  • Fix copying of applications. See here
  • Update log4j version. See here

5.2.1 (2020-06-26)

  • Enable usage of endpoints. See here

5.2.0 (2020-06-26)

  • Introduces CreatedHelper. See here

5.1.0 (2020-06-19)

  • Introduces layerappearance clickable property. See here

Necessary migrations:

alter table layerappearances add column clickable boolean default true;

5.0.1 (2020-02-11)

  • Dependency updates (see here and here)

5.0.0 (2019-12-13)

  • Change: Due to the introduction of Spotbugs and Checkstyle all static loggers were renamed from LOG to logger. See here
  • Feature: Added possibility to ignore namespace bound GeoServer endpoints in the GeoServer Interceptor and to set a default base URL. See here

4.0.0 (2019-08-28)

  • Change: format field has been moved to parent class, which implies changes in the underlying database tables. See here

3.3.1 (2019-08-20)

  • Bugfix: Encode as UTF-8 when posting. See here

3.3.0 (2019-08-08)

  • New features:
    • Add a WFS response interceptor to rewrite URLs. See here
  • Changes:
    • Use x-geoserver-credentials header for authorization. See here

3.2.0 (2019-08-01)

  • New features:
    • Bugfix: Add a wmts.action to proxy REST like WMTS sources. See here

3.1.1 (2019-05-23)

  • Bugfix: Add missing dependencies. See here

3.1.0 (2019-05-20)

  • New features:
    • GeoServer Importer: Added method for updating a layer of a given import task and import job See here

3.0.0 (2019-05-17)

  • New features:
    • Add support for custom endpoints. See here
    • Allow custom headers. See here
    • Support proxy credentials. See here
  • Changes:
    • Rename artifact shogun2 to shogun-core. See here
    • Namespace aware handling in default WMS request/response interceptor. See here

2.1.0 (2019-02-13)

  • Changes:
    • Support for PostgreSQL JSONB fields. See here

2.0.0 (2019-01-28)

  • Changes:
    • We are now compatible to Java 11. See here

1.1.0 (2018-12-14)

  • Changes:
    • https://nexus.terrestris.de/repository/public/ is now being used as maven repo. See here.
    • SHOGun2 now provides default interceptors that use basic auth. See here.
    • The project has been migrated to be compatible to the latest JTS versions, which is necessary, if we want to make use of the latest GeoTools/GeoServer releases. See here.

1.0.5 (2018-06-25)

  • Changes:
    • Allow forwarding of request headers in interceptor. See here.
    • Add WPS request and response interceptors. See here.

1.0.4 (2018-05-28)

  • Changes:
    • Add additivity parameter to avoid duplicate logs. See here.
    • Use log4j2 logging interfaces. See here.

1.0.3 (2018-04-17)

  • Changes:
    • TileGrid: Set inheritance to JOINED. See here.

1.0.2 (2018-04-09)

  • Changes:
    • Fix determination of most specific rule. See here.

1.0.1 (2018-04-06)

  • Changes:
    • Enhance models of WMTS layers. See here.
    • Make usage of whitelist in HTTPProxy optional. See here.

1.0.0 (2018-03-09)

  • Changes:
    • Use different hibernate inheritance strategy to fix scaling issues. See here.
    • Added editorconfig, indent with spaces. See here.

0.1.5 (2018-03-07)

  • New features:
    • Added simple ldap service. See here.
    • Enhanced XML utils. See here.
    • Allow configurable sparse output of REST GET requests. See here.
    • Introduce HTTP-forward-proxy. See here.
    • Updated dependencies. See here, here and here.
    • Added hibernate caching. See here and here.
  • Changes:
    • Made #getHeadersFromRequest public. See here.
    • Removed unused version property. See here.
    • Fixed proxy messages. See here and here.
    • Avoid exceptions during tests. See here.
    • Fixed used repositories. See here.

0.1.4 (2018-01-22)

  • New features:

    • Basic auth has been enabled for the REST API. See here.
    • Support of Oracle 12c databases. See here.
    • A simple JPA JSONB converter has been introduced. See here.
    • Determination of matching interceptor rules has been enhanced. See here.
    • Support for the GeoServer WMS Reflector interface has been added to the interceptor. See here.
    • Allow (outdated) W3DS requests to be intercepted. See here.
    • Additional information can be returned in case of errors. See here.
    • A model description service has been introduced. See here.
    • A GeoServerRESTImporter has been introduced to make use of the GeoServer importer extensions REST API. See here.
  • Changes:

    • oraclejdk7 is not used anymore on travis CI due to missing support. See here, here, here and here. (But openjdk7 is still in use!)
    • toString() implementations have been simplified to avoid unwanted performance impacts due to lazy loading. See here.
    • Interceptor logging has been reduced. See here.
    • The HTTP Util has been extended regarding forwarding of GET and POST requests. See here.

0.1.3 (2017-09-12)

  • New features:
    • A new model hierarchy for WPS-/Plugins has been introduced: #230
    • Nice DAO methods have been introduced:
    • We're supporting the latest spring versions now: #247
    • An interface with endpoint documentation has been introduced: #265
    • You may now use a property file to get easy access to infos coming from the pom.xml: #266
    • Read-only methods will NEVER persist: #269
  • Changes:

0.1.2 (2017-02-21)

  • New features:
    • A REST filter feature has been introduced in #216 which allows basic/simple filtering based on primitve fields of (arbitrary) entities.
  • Changes:
    • Connection pooling has been replaced by HikariCP. Beside that HikariCP outperforms c3p0 insofar as performance is concerned, the major advantage is that there are less (required) parameters to tweak which makes the configuration of the connection pooling much simpler. Please take care of differing artifactId depending on your Java version
    • The HttpUtil now offers the possibility to add custom HTTP headers to requests: #218
    • The Shogun2PermissionEvaluator can now be configured to use the plain Principal object from the spring security context (instead of always fetching a full SHOGun2-database user object): #229
  • Upgrade notes to get projects based on v0.1.1 running with v0.1.2:
    • Copy file hikari.properties from here to src/main/resources/META-INF/ in your existing project.
    • Replace the c3p0-based shogun2DataSource in the {{your-project}}-context-db.xml file (under src/main/resources/META-INF/spring/) by the one based on hikari as it is defined in the archetype. Make sure also to add the bean hikariConfig from the archetype.

0.1.1 (2016-10-26)

  • New features:
    • Some tree models have been introduced. See #208 for details.
    • HttpUtil methods can now also be called with intances of Credentials interface
    • A new web interface for the easy creation of ExtJS locale JSON files (based on CSV files) has been added. See this PR for details: #213

0.1.0 (2016-09-05)

  • Changes:
    • Permission.WRITE has been renamed to Permission.UPDATE
    • A new permission Permission.CREATE has been introduced
    • The saveOrUpdate method of the AbstractCrudService now has a more secure permission/authorization annotation. The CREATE case is currently not respected in the permission evaluators of SHOGun2 and should be handled in project specific implementations.
    • The saveOrUpdate method of the services are now void. Existing projects that are using this method may need some simple adaptions like changes from PersistentObject newObject = object.saveOrUpdate() to object.saveOrUpdate()
    • The webapp-archetype has been extended to demonstrate how custom permission evaluators for project specific solutions can be used.
    • All Response-interceptors from the package de.terrestris.shogun2.util.interceptor now have a new parameter MutableHttpServletRequest request. This makes sense as the request object contains basic information that may be necessary in custom implementations of a response interceptor.
  • New features:
    • All PersistentObjects now have a set of user and group permissions, i.e. all entities can be protected if needed. In this context, the permission evaluators have been overhauled. The database structure has changed here, which means that existing projects are affected by this change and would need a data migration if they can not boot in a vanilla state (with hibernate.hbm2ddl.auto=create).
    • An AbstractPermissionAwareCrudService has been introduced. This service provides useful methods to add and remove permissions for certain objects. PermissionCollections will be persisted in the database when using these methods. All services should extend the abstract service mentioned above. There is only one exception: The PermissionCollectionService does NOT extend this service as the AbstractPermissionAwareCrudService gets the PermissionCollectionService injected, which would not work when the PermissionCollectionService would try to inject itself. On top of that it does not make sense to secure PermissionCollections with PermissionCollections and so on...

Existing projects (that were possibly created with an old version of the webapp archetype) need adaptions regarding the following points:

  • Adapt the pom.xml of your existing SHOGun2 project
    • Remove the dependency with the artifactID shogun2-web
  • Adapt the existing {{your-project}}-context-initialize-beans.xml file (under src/main/resources/META-INF/spring/) according to the new structure as it is defined in the archetype
  • Adapt the existing {{your-project}}-context.xml file (under src/main/resources/META-INF/spring/) according to the new structure as it is defined in the archetype
  • Add the missing geoServerNameSpaces.properties file to src/main/resources/META-INF/, like the one in the archetype
  • Remove all occurences of <property name="type" value="Tile" /> in the {{your-project}}-context-initialize-beans.xml file (under src/main/resources/META-INF/spring/)
  • Add http.timeout=30000 to the {{your-project}}.properties file (under src/main/resources/META-INF/)
  • If there are already custom implementations of one of the response interceptors from the package de.terrestris.shogun2.util.interceptor in your project, these methods need the new parameter MutableHttpServletRequest request in their signature.

0.0.6 (2016-04-06)

  • All EXT-Direct related stuff has been removed. Existing projects (that were possibly created with an old version of the webapp archetype) need adaptions regarding the following points:
    • Remove all annotations of type ch.rasc.extclassgenerator.Model
    • In the file src/main/resources/META-INF/spring/{{your-project}}-context.xml:
      • The package ch.ralscha.extdirectspring can be removed from the <context:component-scan> element.
      • <bean id="modelPackageCandidates" class="java.util.ArrayList"> can be removed
    • In the file src/main/webapp/WEB-INF/{{your-project}}-servlet.xml, the package ch.ralscha.extdirectspring can be removed from the <component-scan> element.
    • In the file src/main/webapp/WEB-INF/log4j.properties, the config for log4j.logger.ch.ralscha.extdirectspring can be removed
    • In the file src/main/webapp/WEB-INF/web.xml, the <servlet-mapping> with <url-pattern>/action/*</url-pattern> can be removed
  • Existing projects should (once) boot with the hibernate.hbm2ddl.auto property set to UPDATE or CREATE to make use of the new tables ABSTR_LAYERS_USERPERMISSIONS and ABSTR_LAYERS_GROUPPERMISSIONS (#155).