I am glad to release the Yan 0.4 at the last night of 2009. It’s an important release which witnesses the improvement on both code and the project itself. We have great changes in all modules. Packages have been rearranged and renamed to be more comprehensible. Let’s dive into the changeset:
- ApiKey database derby / h2 support, still use hsql as default because it’s fastest (#9)
- Captcha provider classes now loaded dynamically on runtime. They are not managed by guice container any longer. (#15)
- The useless cache module was completely removed (#10)
- ApiKey CRUD UI has been replaced by RESTful GET/PUT/DELETE interfaces
- For text-based captcha, just return the question in ticket, no need for (also impossible to) retrieve it from browser (#8)
- Resource has been separated from the project file (#14 #18)
- Add test to make sure the /ticket and /validate request are sent by the same application (#17)
- Standardized error output: use HTTP error for client(browser), a selected error object for application (#24 #26)
- /captcha/ request (invoked by client directly) now accepts configuration parameters
- ApiKey is now binded to specified domain, it will check the /captcha request’s referer (#27)
- NEW captcha provider introduced in: Tiled Image Captcha (#12)
- JMX monitoring support on EhCache (#33)
- a great deal of code improvements and bug-fixes
The object return by /ticket has its attribute “url” renamed to “data”.
Use visualvm or jconsole the monitor ehcache status and statistics (enabled in 0.4 by default):
The new captcha provider in ruby and python sample application (Sample Code):
Download & Deploy
Since 0.4, yan package are available for download directly. Please refer to the download page, grab both yan-0.4.war and yan-resource.tar.bz2. Just throw the war package to your servlet container. Then extract the resource package to your disk. Don’t forget to set the environment variable:
Start the servlet container in the same context, browser http://localhost:8080/yan-0.4/ to see the test page and emulate the captcha process.
Retrieve the code
Clone the mercurial repository from bitbucket.org
$ hg clone https://email@example.com/sunng/yan/
You will get a copy of whole code repository (because mercurial is a distributed version control system). You are on the default branch at the beginning. The default branch maintains the code of 0.4, if you want to see latest things on Yan, switch to the development branch by
$ hg update 0.5-dev
Yan 0.5 is already on the way.
Thanks for your support and !