- Added support for Jackson v2
- Added the ability to use * in selectors
- Added Map support to ResultTraverser
- Fixed null handling in iterables
- Handle Date primitive
- Updating maven compiler plugin to 3.1 for build performance.
- Adding some additional configuration options for YogaBuilder based on user requests.
You can now override CoreSelector, SelectorResolver and MetaDataRegistry.
- Various refactors including improvements to Jersey demo projects
- Add null check to MetaDataRegistry
- Removed Spring dependencies from JAX-RS and Jersey integration libraries
- Moved demo resources into shared library
- Added some sensible configuration defaults
- Our official 1.0 release!
- Added a Jersey demo
- Updated documentation
- Improve usability of selector builder
- Fix XML output issue
- Added SelectorResolver so that it can be used in the controller
- Performed some cleanup
- Hopefully last release before GA
- Our first release candidate for 1.0!
- Add the ability to limit yoga's handling to only those Controller handler methods with @ResponseBody
- Add a lot more comments
- Clean up demos
- Cleaned up the mucky state of the 0.9.3 version in Maven (some deps were missing)
- Added some additional comments
- Refactor field populator annotation into an abstract entity configuration class
- Getting awfully close to a 1.0 state
- Fixed selector builder race condition that was causing weird UI behavior
- More documentation including
- Reorganized a bunch of the code into more appropriate modules
- Added yoga-hibernate integration project
- Made a new view (.yoga) that brings up the selector builder
- Changed default selector style from LinkedIn to GData
- Visual clean up of web site
- Corby's birthday edition!
- Updated web design
- Move to a listener-style architecture for consistency and better extensibility
- Provided a self-documented configuration template: yogaConfiguration.xml
- Provided better defaults to simplify out-of-the-box configurations
- Support for JAX-RS
- GData-style selectors (in addition to LinkedIn-style)
- DoS protection with a configurable throttle that errors out with oversized responses
- Added ability to disable explicit selector as additional protection for production deployments
- Architecture improved to use event observer patterns for core behavior. Simplifies and improves extensibility.
- Replaced invididual parameters being passed through the stack with ResultTraverserContext
- Updated design of demo page and selector builder interface
- Improved test infrastructure and coverage
- Added @CoreFields and @SupportedFields annotations
- Core functionality complete for 1.0 release! Now we'll add documentation and some polish.
- Refactored JSONassert into a separate project (https://github.com/skyscreamer/JSONassert)
- Integrated URLRewriter and added some "magic" to allow for REST-y URL's for aliased selectors
- Allow disabling of explicit selectors with properties
- Added hooks to load large datasets for testing
- Created single copy of static demo files (removed c&p anti-pattern)
- Created JSONAssert to streamline unit tests
- Implemented support for aliased selectors
- Added URLRewriter
- Added developer-friendly graphical selector builder interface with .yoga extension
- Added navigation links to make the API more discoverable
- Added entity metadata views
- Created plugin architecture for extended ResultTraverser functionality
- Added @ExtraField functionality
- Made objectToURI functionality available in yoga-core
- Renamed variables/methods to clarify distinctions between populator and mapper
- Migrated HierarchyModels and dependencies to core package
- Demo created
- XHTML view created
- Implemented Populator and ResultTraverser registry
- Simplified configuration of field populators
- Fixed suffix on HREF's
- Fixed tests
- Stable with 100% high-level functional test coverage
Yoga is licensed under the Apache License v2.0
- Basic implementation of core features