Title: Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ## Cayenne 4.1 Milestone 1 Released _Oct 14, 2017_ Apache Cayenne team is glad to announce the first milestone release of Cayenne 4.1. This is a development release that introduces a number of nice new major features: - New field-based data objects (see [CAY-2330](https://issues.apache.org/jira/browse/CAY-2330)), that are much faster to read and write, while significantly reducing the app memory footprint. - Dependency-free Cayenne core. No more velocity or commons-collections compile dependencies. Only "slf4j-api" is required in the base config. - New extensible project XML structure. In M1 we are using this to store comments for entities, attributes and relationships. Future milestones will add storing configuration for cdbimport and cgen. Cayenne can be downloaded from [here](/download.html). ### A full list of changes in this release: #### Changes/New Features: - _CAY-2152_ Redesign project file upgrade system - _CAY-2329_ Update project dependencies - _CAY-2330_ Field based data objects - _CAY-2335_ New XML loading/saving mechanics with support of plugable handlers - _CAY-2336_ Support for comments in Modeler - _CAY-2339_ Compatibility module to support old versions of projects at runtime - _CAY-2344_ Modeler: Save ER-Graph and class diagram - _CAY-2345_ Own template renderer as a replacement for Velocity - _CAY-2346_ Field-based data object with Map-based storage fallback - _CAY-2351_ Remove commons-collections usage completely #### Bug Fixes: - _CAY-2312_ Modeler: Undo does not work for checkboxes - _CAY-2318_ Modeler: Query. Exception after Undo clicking - _CAY-2319_ Modeler: Embeddable > Attributes. Undo does not cancel pasted objects - _CAY-2321_ cdbimport: Reverse relationship is not created after adding and rev engineeering new db table - _CAY-2323_ Modeler: Graph. No warning while saving the image with existing name - _CAY-2331_ cgen: broken templates for data map - _CAY-2347_ cdbimport: can't get all relationships on the first pass - _CAY-2349_ Cache issue: 'SelectQuery' with prefetches loses relationships - _CAY-2350_ Expression: NotIn with empty collection returns empty result - _CAY-2353_ Broken paginated column select with only one entity in the result - _CAY-2354_ DbGenerator.runGenerator must commit its connection - _CAY-2356_ EJBQL: Incorrect COUNT() on outer joined table - _CAY-2357_ Generic select queries silently convert result to nulls if no PK column found - _CAY-2358_ NPE when callbacks invoked on null objects - _CAY-2359_ EJBQL: db path in not supported in ORDER BY - _CAY-2361_ PostgreSQL DbGenerator issues - _CAY-2362_ ColumnSelect: unable to use Property without type - _CAY-2363_ ColumnSelect: unable to use from nested context - _CAY-2364_ Wrong logging in SQLTemplate - _CAY-2365_ SQLExec query tries to convert (unexpected) result set into objects - _CAY-2366_ Incorrect EJBQL COUNT translation - _CAY-2367_ ClassCastException reading object with an attribute of type 'char' - _CAY-2368_ ColumnSelect: Property.self() translates into wrong SQL code