Some content

Java Snow - Change Log & Roadmap

See Roadmap for Snow 3.x and beyond.

Change Log

2.0.5-SNAPSHOT (latest push October 2nd 2014)

  • #46 Less cache key should be based on absolute file path rather than Web URI

2.0.4 (October 30th 2014)

  • . add exception with explanation when realPath is null
  • #25 snowServlet allocation error (Tomcat 8.0.14 / Java
  • . fix simple.less test file
  • + Update less processor to 1.7.5, and enhanced error message
  • . update guava to 18.0, slf4j 17.7, jsr305 to 3.0.0
  • . update PackageScanner with generic typing

2.0.3 (April 27th 2014)

  • . fix java 8 doclet errors, and turn off java 8 doclint (to aggresive on the warnings)
  • . remove JsTest dependency to
  • + added RequestContext.setData/getData/removeData for singleton and named data
  • + SnowTestSupport, added .doPost/Get/Http(...,cookies), and RequestContextMock.setUser
  • . pom.xml dependencies update: guava to 16.0.1, net.sf.json-lib to 2.4
  • ! added 'pwd' in the exclude list of the default JsonRenderer [JsonLibJsonRenderer]
  • ! refactor the AuthToken to remove role/privilege pattern from the AuthToken (AuthToken is not the right place to have this functionality)
  • . minor cleanup on system.out to logger and remove the redundant printStackTrace (thanks to @imranzahid01)
  • + Added Convenient SnowTestSupport.doGet,doPost,doPut,doDelete,doHttp methods. ! Moved SnowTestSupport.assertContains to test/java/.../AssertUtils.assertContains . Removed the @AfterClass on SnowTestSupport.shutdownWebApplication (SnowTestSupport should not be unit test framework aware) . Call SnowTestSupport.shutdownWebApplication in SnowTestSupport.initWebApplication (making the @AfterClass optional)
  • Merge pull request #31 from evanj/master
  • . added sublime files to gitignore
  • #37 Last changes broke the FileItem support
  • . updated .gitignore to ignore intellij idea files
  • + Added support for @WebParam(...) Type[] typedArray. For example, if a http params is multivalued, then, you can do @WebParam(longs)Long[] longValues or @WebParam(ints) Integer[] intValues
  • . remove java/eclipse unused var warning
  • ! changed the to naming scheme for the webapp properties override property file
  • [maven-release-plugin] prepare for next development iteration
  • SnowServlet: User instead of System.out.println
  • pom.xml: Add rt.jar as a compile dependency for mvn test.

2.0.2 (October 3rd 2013)

  • . lib update. Guava to 15.0, Rhino to 1.7R4, Freemarker to 2.3.20
  • CRITICAL FIX: fix ObjectUtil number format threading issue
  • #30 Adding WebRequestType (WEB_REST, WEB_RESOURCE, WEB_TEMPLATE, GENERATED_ASSET, STATIC_FILE) #29 Null pointer on getWebRestRef
  • ! #28 Add 'persistent' param to RequestContext.setCookie, set the default to false
  • . minor change to .gitignore to exclude dev file
  • #27 Fix requestContext.removeCookie()

2.0.1 (April 25th 2013)

  • - flush buffer only if not committed
  • ! renamed ResourceFileResolver to ResourceFileLocator
  • #25 Make the less processor to not embed @import .css file (but just keep the link)
  • . moved the less package under the renderer.* package
  • #23 Remove daoHelper.executeSQL and .getConnection are they are not safe in Hibernate anymore
  • #24 Moved to Guava 14.x to take advantage of the new ClassPath for WebClass Scanning.

2.0.0 (January 29th 2013)

  • Official release of the new Snow runtime
  • @REST apis
  • Optimimum use of Google Guice (support AOP and all)
  • Simple and extensible Web param resolver model (with @WebParamResolver)


Snow 3.x is in the work. Snow 3.x is an evolution of Snow 2.x optimized for Java 8.

We will take this opportunity to modularize and cleanup legacy APIs (that are not even documented). Most of the existing APIs/Bindings (@WebGet, @WebModelHandler, ...) will be fully supported (and in fact do not really need to be rewritten).

Consequently the migration from Snow 2.x to Snow 3.x will be mostly a package string replace from "com.britesnow.snow" to "org.snowjava".

Snow 2.x will still be maintained to work on 1.6+ (including Java8).

Snow 3.x Plan:

  • Code update to use the best of Java 8 (using the latest and greatest Java 8 patterns).
  • New site, new package name "org.snowjava", and new git repository
  • Snow 2.x to Snow 3.x migration will be mostly a string replace from "" to "org.snowjava".
  • Remove the Hibernate integration code and move it to its own separate module or sample code. Snow is a micro Web framework and should not have any built in database framework integration. Snow 2.x, and therefore 3.x, already offer great hook capabilities (@WebApplicationHook and @WebRequestHook) that can be used to integrate with the database framework of choice (Hibernate, JOOQ, J8QL, ...)