The Qi4j community is still working towards a 1.0 release. During this pre-1.0 release phase, we have relaxed many compatibility requirements that typically kicks in for stable and mature software. Once 1.0 is released, you can expect that;- For changes in the 3rd version digit, for instance from 1.3.1 to 1.3.2, only bug fixes have occurred.
- For changes in the 2nd version digit, for instance from 1.3.1 to 1.4, more features have been added.
- For changes in the 1st version digit, for instance from 1.3.1 to 2.0, incompatibilities have been introduced.
But until 1.0 is out, you may experience the full range of incompatibilities at any point.
Below you will find the release notes of the pre-1.0 releases as they are made.
Bug
- [QI-186] - Objects has no States tab.
Improvement
- [QI-154] - UnitOfWork needs refactoring.
- [QI-196] - Introduce QualifiedName as explicit concept
- [QI-197] - UI and Icon for Envisage
- [QI-200] - Envisage Stacked Graph color scheme
- [QI-201] - Envisage PDF print stacked graph
- [QI-202] - Layer and Module detail tab info
New Feature
- [QI-182] - Service Configuration Tab content
- [QI-183] - Content on the Dependencies Tab
- [QI-184] - Content on the Methods tab
- [QI-185] - Content on States tab
- [QI-187] - Service Usage Tab
- [QI-188] - General Tab
- [QI-189] - Printing
- [QI-190] - Overview Graph
- [QI-198] - add new type Imported Service
Task
- [QI-93] - Make all produced Jars OSGi-friendly.
Sub-task
- [QI-155] - Visibility problems in Nested UoWs
- [QI-158] - Events
Bug
- [QI-147] - Nested unit of work + entity creational + constraint bug
- [QI-173] - Indexing/Querying of inner-class types doesn't work
Improvement
- [QI-171] - Use @Optional for injections
- [QI-172] - Specify that properties should use default values using annotation
- [QI-193] - Generalize meta-info for Usecase and UnitOfWork
New Feature
- [QI-174] - ValueComposite Persistence
- [QI-175] - ValueComposite Indexing/Querying
- [QI-176] - ValueBuilder/ValueBuilderFactory for ValueComposites
- [QI-177] - @UseDefaults on collections and enums
- [QI-178] - Contextual concerns
- [QI-179] - Add ApplicationAssembler
- [QI-180] - Contextual sideeffects
- [QI-191] - Assembly time mixin declarations
Sub-task
- [QI-156] - Ability to sync to underlying store.
Bug
- [QI-29] - Adding PropertyInfo for a Composite overwrites earlier added PropertyInfo(s) for other composites when the property is defined in a common parent interface
- [QI-132] - Property<String[]> strings(); doesn't work...
- [QI-148] - public interface Name extends Property<String> does not always work
Improvement
- [QI-43] - Try to remove setManyAssociation
- [QI-131] - Add support for listing properties and associations of an entity
- [QI-139] - QueryExpressions.or() and and() should allow more operands
- [QI-142] - Refactory "ImmutableProperty" to "@Immutable Property"
- [QI-145] - Refactor nested unit of work
- [QI-149] - Hosted vs Imported Services
- [QI-163] - EntityStores should be in package org.qi4j.entitystore
- [QI-164] - Rename IBatis EntityStore to LegacySql
New Feature
- [QI-98] - Define ValueComposites
- [QI-127] - Make possible to mark an Entity as not indexable
- [QI-161] - Allow Property subtypes
- [QI-162] - Create Spring importer for services
Task
- [QI-134] - Make Qi4j Core jar files OSGi bundles.
- [QI-82] - Investigate if Property<Javabean> should be indexed and queryable.
Bug
- [QI-95] - RDF and Jdbm store leads to data corruption
- [QI-99] - Don't write unmodified objects to the JDBM store.
- [QI-103] - Lifecycle is not invoked
- [QI-119] - No proper constructor selection done for instantiation
- [QI-120] - Service injection doesn't consider generics
Improvement
- [QI-96] - Refactory EntityStore to not require CompositeDescriptor/Module
- [QI-97] - Optimize RDF indexing
- [QI-104] - Move the Query implementation details to Runtime
- [QI-123] - Make generic EntityStore change notification
- [QI-125] - Add support for @Structure injection of Layer and Application
- [QI-126] - Add support for EntityStore change notifications
New Feature
- [QI-91] - Make it possible to name method parameters
- [QI-105] - SPARQL endpoint for EntityFinder
- [QI-118] - ServiceModel should implement model visitor
- [QI-122] - Add support for querying iterables
- [QI-124] - New EntityStore based on Preferences API
- [QI-129] - Implement Association Roles
Task
- [QI-107] - Java serialization of result data
- [QI-111] - Get zooming and panning done
- [QI-114] - Details panel for methods
Bug
- [QI-37] - Properties of the stateOfComposite() returned Object return String UNSET for all types
- [QI-53] - Exception when trying to declare a property with a generic type and a constraint
- [QI-55] - ArrayIndexOutOfBounds exception on adding a class with @Uses annotation to the module
- [QI-60] - Exception raised when using a 'State of Composite' object with ObjectBuilder
- [QI-63] - Setting an association to null results in an exception
- [QI-65] - Adding @NotNull to Composite causes runtime exception
- [QI-70] - @NotEmpty causes java.lang.NullPointerException
- [QI-71] - Qi4j Service injection doesn't inject services that are provided in another module or layer.
- [QI-73] - Constraint on Property backed by a computed property causes exception at Entity creation
- [QI-74] - Constraint is not applied on Composite creation
- [QI-75] - EntityBuilder.getState().type() throws IAE
- [QI-78] - Creating layers in an order different from their dependencies results in a null pointer in the used layers model
- [QI-79] - Entities are not Composites to the full extent.
- [QI-80] - Allow Association and ManyAssociation in domain model, without requiring a backing EntityComposite.
- [QI-81] - @This does not work in Concerns (SideEffects?)
Improvement
- [QI-42] - Allow ManyAssociation to be undefined apart from base Collection semantics
- [QI-68] - Model refactoring
- [QI-77] - Remove all dependencies on runtime
New Feature
- [QI-85] - Add assembly declaration of properties
- [QI-86] - Add assembly information for associations
- [QI-90] - Add support for composite constraints
- [QI-92] - library-http backed by Jetty6
Task
- [QI-40] - Add a way to get information in CompositeBinding
- [QI-76] - Update openrdf dependencies to 2.1.3
Bug
- [QI-41] - EntityComposite.equals(null) throws NPE
- [QI-59] - Constraints ignored for Entities
- [QI-61] - NPE when indexing nested entities
Improvement
- [QI-31] - Make ComputedPropertyInstance an ImmutableProperty
- [QI-35] - Rename @ThisCompositeAs to @This
New Feature
- [QI-32] - Add base classes for generic concerns and generic sideeffects
- [QI-34] - Add support for constraints on properties
- [QI-36] - Create generic mixin for JRuby
- [QI-38] - Add support for property syntax in Ruby