Update docs included into assembly Move RELEASE-NOTES, UPGRADE and KEYS files to top level
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/b3dae546 Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/b3dae546 Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/b3dae546 Branch: refs/heads/STABLE-4.0 Commit: b3dae546fbf509af9e44661fb3d47b0183dca1d1 Parents: e4eb10f Author: Nikita Timofeev <stari...@gmail.com> Authored: Tue Jan 30 17:54:44 2018 +0300 Committer: Nikita Timofeev <stari...@gmail.com> Committed: Tue Jan 30 17:54:44 2018 +0300 ---------------------------------------------------------------------- KEYS | 319 +++ RELEASE-NOTES.txt | 467 +++++ UPGRADE.txt | 548 +++++ assembly/pom.xml | 22 + .../resources/assemblies/assembly-generic.xml | 36 +- .../main/resources/assemblies/assembly-mac.xml | 36 +- .../resources/assemblies/assembly-windows.xml | 36 +- docs/doc/pom.xml | 6 +- docs/doc/src/main/resources/KEYS | 319 --- docs/doc/src/main/resources/README | 33 - docs/doc/src/main/resources/README.html | 187 ++ docs/doc/src/main/resources/RELEASE-NOTES.txt | 467 ----- docs/doc/src/main/resources/UPGRADE.txt | 548 ----- docs/doc/src/main/resources/doc/images/logo.gif | Bin 864 -> 0 bytes docs/doc/src/main/resources/doc/index.html | 62 - .../doc/schema/3.0/images/button_minus.gif | Bin 136 -> 0 bytes .../doc/schema/3.0/images/button_plus.gif | Bin 142 -> 0 bytes .../schema/3.0/images/corner_bottom_left.gif | Bin 80 -> 0 bytes .../schema/3.0/images/corner_bottom_right.gif | Bin 111 -> 0 bytes .../doc/schema/3.0/images/corner_top_left.gif | Bin 63 -> 0 bytes .../doc/schema/3.0/images/corner_top_right.gif | Bin 79 -> 0 bytes .../doc/schema/3.0/images/hierarchy_arrow.gif | Bin 68 -> 0 bytes .../doc/schema/3.0/images/line_bottom.gif | Bin 64 -> 0 bytes .../doc/schema/3.0/images/line_left.gif | Bin 50 -> 0 bytes .../doc/schema/3.0/images/line_right.gif | Bin 64 -> 0 bytes .../doc/schema/3.0/images/line_top.gif | Bin 51 -> 0 bytes .../doc/schema/3.0/images/modelMap.html0.jpeg | Bin 10459 -> 0 bytes .../doc/schema/3.0/images/modelMap.html1.jpeg | Bin 23201 -> 0 bytes .../doc/schema/3.0/images/modelMap.html10.jpeg | Bin 35231 -> 0 bytes .../doc/schema/3.0/images/modelMap.html11.jpeg | Bin 35601 -> 0 bytes .../doc/schema/3.0/images/modelMap.html12.jpeg | Bin 16798 -> 0 bytes .../doc/schema/3.0/images/modelMap.html13.jpeg | Bin 16658 -> 0 bytes .../doc/schema/3.0/images/modelMap.html14.jpeg | Bin 25460 -> 0 bytes .../doc/schema/3.0/images/modelMap.html15.jpeg | Bin 20591 -> 0 bytes .../doc/schema/3.0/images/modelMap.html16.jpeg | Bin 16415 -> 0 bytes .../doc/schema/3.0/images/modelMap.html17.jpeg | Bin 10153 -> 0 bytes .../doc/schema/3.0/images/modelMap.html18.jpeg | Bin 54392 -> 0 bytes .../doc/schema/3.0/images/modelMap.html19.jpeg | Bin 16614 -> 0 bytes .../doc/schema/3.0/images/modelMap.html2.jpeg | Bin 173180 -> 0 bytes .../doc/schema/3.0/images/modelMap.html20.jpeg | Bin 9290 -> 0 bytes .../doc/schema/3.0/images/modelMap.html21.jpeg | Bin 16573 -> 0 bytes .../doc/schema/3.0/images/modelMap.html22.jpeg | Bin 35617 -> 0 bytes .../doc/schema/3.0/images/modelMap.html23.jpeg | Bin 9016 -> 0 bytes .../doc/schema/3.0/images/modelMap.html24.jpeg | Bin 63326 -> 0 bytes .../doc/schema/3.0/images/modelMap.html25.jpeg | Bin 79391 -> 0 bytes .../doc/schema/3.0/images/modelMap.html26.jpeg | Bin 16783 -> 0 bytes .../doc/schema/3.0/images/modelMap.html27.jpeg | Bin 24446 -> 0 bytes .../doc/schema/3.0/images/modelMap.html28.jpeg | Bin 31137 -> 0 bytes .../doc/schema/3.0/images/modelMap.html29.jpeg | Bin 9150 -> 0 bytes .../doc/schema/3.0/images/modelMap.html3.jpeg | Bin 54716 -> 0 bytes .../doc/schema/3.0/images/modelMap.html30.jpeg | Bin 31893 -> 0 bytes .../doc/schema/3.0/images/modelMap.html31.jpeg | Bin 8951 -> 0 bytes .../doc/schema/3.0/images/modelMap.html32.jpeg | Bin 16446 -> 0 bytes .../doc/schema/3.0/images/modelMap.html33.jpeg | Bin 64784 -> 0 bytes .../doc/schema/3.0/images/modelMap.html34.jpeg | Bin 55639 -> 0 bytes .../doc/schema/3.0/images/modelMap.html4.jpeg | Bin 10313 -> 0 bytes .../doc/schema/3.0/images/modelMap.html5.jpeg | Bin 23172 -> 0 bytes .../doc/schema/3.0/images/modelMap.html6.jpeg | Bin 34308 -> 0 bytes .../doc/schema/3.0/images/modelMap.html7.jpeg | Bin 35686 -> 0 bytes .../doc/schema/3.0/images/modelMap.html8.jpeg | Bin 28700 -> 0 bytes .../doc/schema/3.0/images/modelMap.html9.jpeg | Bin 27255 -> 0 bytes .../resources/doc/schema/3.0/indexList.html | 648 ------ .../main/resources/doc/schema/3.0/modelMap.html | 4 - .../resources/doc/schema/3.0/modelMap0.html | 614 ------ .../resources/doc/schema/3.0/modelMap1.html | 1943 ------------------ .../resources/doc/schema/3.0/modelMap10.html | 578 ------ .../resources/doc/schema/3.0/modelMap11.html | 578 ------ .../resources/doc/schema/3.0/modelMap12.html | 578 ------ .../resources/doc/schema/3.0/modelMap13.html | 578 ------ .../resources/doc/schema/3.0/modelMap14.html | 1062 ---------- .../resources/doc/schema/3.0/modelMap15.html | 687 ------- .../resources/doc/schema/3.0/modelMap16.html | 687 ------- .../resources/doc/schema/3.0/modelMap17.html | 1204 ----------- .../resources/doc/schema/3.0/modelMap18.html | 893 -------- .../resources/doc/schema/3.0/modelMap19.html | 736 ------- .../resources/doc/schema/3.0/modelMap2.html | 434 ---- .../resources/doc/schema/3.0/modelMap20.html | 1309 ------------ .../resources/doc/schema/3.0/modelMap21.html | 1083 ---------- .../resources/doc/schema/3.0/modelMap22.html | 715 ------- .../resources/doc/schema/3.0/modelMap23.html | 1353 ------------ .../resources/doc/schema/3.0/modelMap24.html | 1302 ------------ .../resources/doc/schema/3.0/modelMap25.html | 434 ---- .../resources/doc/schema/3.0/modelMap26.html | 696 ------- .../resources/doc/schema/3.0/modelMap27.html | 651 ------ .../resources/doc/schema/3.0/modelMap28.html | 374 ---- .../resources/doc/schema/3.0/modelMap3.html | 729 ------- .../resources/doc/schema/3.0/modelMap4.html | 909 -------- .../resources/doc/schema/3.0/modelMap5.html | 909 -------- .../resources/doc/schema/3.0/modelMap6.html | 662 ------ .../resources/doc/schema/3.0/modelMap7.html | 578 ------ .../resources/doc/schema/3.0/modelMap8.html | 578 ------ .../resources/doc/schema/3.0/modelMap9.html | 578 ------ .../resources/doc/schema/3.0/xsdDocHtml.css | 554 ----- docs/doc/src/main/resources/doc/style.css | 292 --- .../src/main/resources/README.txt | 2 +- pom.xml | 4 + 96 files changed, 1590 insertions(+), 26432 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3dae546/KEYS ---------------------------------------------------------------------- diff --git a/KEYS b/KEYS new file mode 100644 index 0000000..60b8e71 --- /dev/null +++ b/KEYS @@ -0,0 +1,319 @@ +This file contains the PGP&GPG keys of various Apache developers. +Please don't use them for email unless you have to. Their main +purpose is code signing. + +Apache users: pgp < KEYS +Apache developers: + (pgpk -ll <your name> && pgpk -xa <your name>) >> this file. + or + (gpg --fingerprint --list-sigs <your name> + && gpg --armor --export <your name>) >> this file. + +Apache developers: please ensure that your key is also available via the +PGP keyservers (such as pgpkeys.mit.edu). + +pub 1024D/B8AF90BF 2006-09-23 +uid Andrus Adamchik (andrus) <and...@objectstyle.org> +sig 3 B8AF90BF 2006-09-23 Andrus Adamchik (andrus) <and...@objectstyle.org> +sub 2048g/A6C30C00 2006-09-23 +sig B8AF90BF 2006-09-23 Andrus Adamchik (andrus) <and...@objectstyle.org> + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.3 (Darwin) + +mQGiBEUVncgRBADiguZch//Lz2FZLy+NZxZQ5fAAya/5i6mPcJ/FUppY02x3HWmY +RGAVI/ZURIqCqHxyhgguX7zcrKfyE0bu45OayhhyfaydU4yTUPZF1UwtS8ULvLjl +szu5G7OeO7Blmaajj0pFaYnb1cXhxG7I9Wz2mFnRAtVo2VoL+s5KWNdRUwCg6Z7M +KGHkj7LWBoKEBODs4UTvEjkEAJRDFV20q7wpho7fMvJJgUpy7AlUgzplt/hVjv7X +zgDLb0G5huqH28zLf3ZT3XIn6llIkjRjKX0RWAaebgnAoc2vhG3vglqmyphjH5zP +mGaP+heY6Pz26sAYyKC1VOTndUdk2j0FQ+JJ91oUNhNerBxwUEHOBt8oVXOO/N+d +dSb0A/9kbLklVVnNP2ztmvHwhKpSwJBWvZXOjX4AN1KB/b1RiwIZUSV85NFITqKj +VCCaG4cyRvHkvfMATBpDcPUVWZaPoiKAXTKa3ZHK4W+ZbuDN++PwTfurxfwg2o4b +sljRJVvR0oNWXXV2w3ZrywfAq9bejgiW1zgQoin+FzD+pflW5LQxQW5kcnVzIEFk +YW1jaGlrIChhbmRydXMpIDxhbmRydXNAb2JqZWN0c3R5bGUub3JnPohgBBMRAgAg +BQJFFZ3IAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQKmKWXbivkL+/YwCg +1vJJidCeMN3IYzTWsdGFB7lKjXoAoKLBkzAyTJj8mu/Rj1y+Ro+rusZguQINBEUV +ngwQCAClmw1DRilFKQAPdagJ4j4dvxUAdYv5ZJY0Umt44Vvs6hXFzCwyKD3W3aDG +jaqIKGYj1q1/FHCPlXTfAjm4AQwcLrgOCMcbMkqJsDLD27cD4+O2hbBrJW3hwFFf +sCFatvW3EBEXyWI4k9uos0nUrIDqGoA+DqLRgyrCFh+874Fr6eO5oJmKw1O8LkOP +O4K3N5AXY4AFT9VZfOVEdhkHxht0IwVuqmHGyvPLEMkyp2bUhMd/9VHBgvEMnSlA +4JmNB6EU+GdlPvei9C9ZzzmeYvwicAO1HHo4uQxfmE6V13K3/mH+hE/NlxLZ9syQ +Zhe77mjaOQILt3g4CRRQ5Y5S2vyvAAMFB/wJ/OgwXrJImZhG0JxYTDl/pHVU7Whn +anSaSrn2kI+8oGxJi4mrTFKZHgfOeFhhSsyMvydnscXAHS/ehUpEjcpxRS8ZVvyA +sAJyBBkm1MhkQK2FFlSBIYCOXl+8mRGJqiem0NP8OgnNJAjTzOVukZpoz7UiAzbX +zu7+DbFFJzq5G0xXDsNIdIObAFrCFgBkNg5V4T7iVMA3hN6Gp5UXBT4bRif36uDm +SwKET84KQZrIWyMZNfNLNlxUCVaI44TsOuaUj4OPO4OIwHGSFZNV8b596+EB7VCB +wDdE2uePbWP5Lc1vEkFCkNz/BUf60oiNnU0uGZ0pNlKo+Nk+HKnJP0V9iEkEGBEC +AAkFAkUVngwCGwwACgkQKmKWXbivkL+03wCdFt9ms0gcaF0xAYRSh37N2eVwPGwA +n0fr1EHLyn3mbwHqwllfwX9QE1EV +=KVMq +-----END PGP PUBLIC KEY BLOCK----- + + +pub 1024D/DBAC3830 2007-10-28 + Key fingerprint = C972 6F98 0956 F70E AAEC 735C F421 EF4E DBAC 3830 +uid Kevin Menard (CODE SIGNING KEY) <kmen...@apache.org> +sig 3 DBAC3830 2007-10-28 Kevin Menard (CODE SIGNING KEY) <kmen...@apache.org> +sub 2048g/BDA83969 2007-10-28 +sig DBAC3830 2007-10-28 Kevin Menard (CODE SIGNING KEY) <kmen...@apache.org> + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.7 (Darwin) + +mQGiBEckmuERBADw1lkZ1Us5eTV6p3mvc+Cot7lOQNa3rATEIouH38cL3SYc16S3 +P7Izo4C8QlZiNsLhUWrJFbBwKHPmyAjuNaJnvFvL53P4aUDdsx531D3p8pTMRx/w +TcI3mFzOBpiZp08dJQviiIZ9HgpxHQCt+dyPPjBVajfRx1Ib/0LcG6s83wCg4wwz +aHsw6KF+K5AQYro17FhpPm0D/1LSvydJjn3Uo8ZsDOPG8HqUOWrxk5He/G98ERT6 +uLL9WbyL+/mmw6FuWOmadZgjz0oK5r2AmluaE6L5OehiG3SH7tj7auq9SiR9l3vK +cVGIvsUVMtdoDCzIvVSyZSLWahC6XijL6kTGh/rQ7yq1QIzHjA78ZLwzhLT6ORtL +bELhBACqP0mH4Md0LcAbu9mVgom3Y/Jsrwb01HtkbvqOVTcH2TY6Lqubn9/2Hsff +OVdoMmY65ZaGHnikh058jnz4JRTWcJ2gvK5Vo17G5M+nA8iIDg7DVY9tptfWv1Xn +ZwlX2fZt0y0p56LO5Rkx6D0DNXiI/buXra6DIPkrV30RcRZtp7Q0S2V2aW4gTWVu +YXJkIChDT0RFIFNJR05JTkcgS0VZKSA8a21lbmFyZEBhcGFjaGUub3JnPohgBBMR +AgAgBQJHJJrhAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ9CHvTtusODAX +6QCgsrp3HSVffN3TEP8o8gl8LBpZGKgAniFLZXM3k3IFDIbEunp5VVfCwa56uQIN +BEckmuEQCAD88944PNdpAJWBaAZUNEUlLfeUVB1CkykN76PjDtpsrcf/wnJtuQGS ++EXcEZetCAoRdGVTM3cUHU3BVCNnDtmu/DE4f7AH3AWOl/WFGjQK49+KyyKbc2tm +eocu9JSsxEn+fwBJOWSoJC4hTeleQ3U0r8CVW6Q2jgawXtpmBFgVQHE4lLBnSyLW +RXdrTaFiO6KYaL2QvB7zdleRUPl3tFz6miUBF6stXvbuIGi2r57J+ZCMfnrbbtk/ +yI1MGUnY4+q7gyHiPZnghm/6hz9kszxg84ANVK6YryS7QTX9KGWPdnAtsNYVDwaS +KGfg/fjL9wNZaLE2IK/WcktEe0aA/6Y3AAMHB/9HCbwSB3m5/DLZ/ARZtATuUNRE +CeDyom6IKMzuhNEVnIWLlFrlmdCG3qdpSPHDhQR+OyIvzh8h7WErQYm/WjY/ouQ5 +ShBGy2FFuQFfqKnh8QK+OudIdnnGf0E+hjpIMg8jzvxy0Jrox2mpT3etMreXH29t +m8IpDcuQcS4V5XfZAy/xTxnXN2VKek1tbEL66Pt6UyUDdCOvX42u/thQLaaUSfHM +O3KVDIU87zl9QEuBVSC13pi3zXNXbNBrQqVLXzHbw7/dibjXcCPEYnR0ubU5mN75 +pxzmrm8EUNqLWUhLh3fscoRqTYkaoQlYkrCGw6udnN9V3h1WmZUFPbE6e7HxiEkE +GBECAAkFAkckmuECGwwACgkQ9CHvTtusODD0lwCgibSRJsN1DO8NrigKNplynOfc +qXoAoN/9XbpoW58ve7O/6lh9kLXGa/fv +=JWKS +-----END PGP PUBLIC KEY BLOCK----- + + +pub rsa2048/9E3D3908 2015-02-19 + Key fingerprint = 964D 4B2D E8B3 EED1 32A2 BC49 BB6E 1A8C 9E3D 3908 +uid [ultimate] Alex Kolonitsky <kolonit...@apache.org> +sig 3 9E3D3908 2015-02-19 Alex Kolonitsky <kolonit...@apache.org> +sub rsa2048/4E068AA6 2015-02-19 +sig 9E3D3908 2015-02-19 Alex Kolonitsky <kolonit...@apache.org> + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2 + +mQENBFTl3zUBCADkcIWf0LrHVwN8HsAntvXV7+UiYc9MXv68T3W1xc2Wpa8+4Qtj +Z24ZgJ9oDhXpim+2IeqbhUL+hzUJA2hWkJNrZTo+UNWCo/krb8RgLHbiYh+y0Jsv +bohJ/UfG99D3DTuf+w24pBwUvSywzprtqTZBP3r7WfAdQyw15ExeuGpQljr92+0g +QcnL2itqkKjPnnxm2ErGUxeq90E1VLwU4ZEPcibxzgenbc+csnAlhtM1TTUCtp88 +SxPAFhD1sUY+5jCm8kUm9KdFd15+QoVr1CGtwJyMLcBXKZnpO2sx+ueyy/C7t8xe +hURISoJY3CZSRHO/RcRXBfY7KhRDH7PejESlABEBAAG0J0FsZXggS29sb25pdHNr +eSA8a29sb25pdHNreUBhcGFjaGUub3JnPokBNwQTAQgAIQUCVOXfNQIbAwULCQgH +AgYVCAkKCwIEFgIDAQIeAQIXgAAKCRC7bhqMnj05CO+YB/9ayGjLmlyeF4cCwPBd +fnxHeQ3P2PHIIfqrUJx/N5Q93J4y51U/6KhTsNEA87+AlfdmM2RyYIBZckcUrP6U +Y2mdzTvCflUpKqnRZyV2u3L18AgXL/M8Tnz3aNaET61kX7za709Q3vCxLK1DGU3Q +2eC9ZHhjK7pdLfolGyT4lHjI2Zpg32mhkOCpYzxI1fUQ42DO7UssoBjKsqq+9i1C +36Ps1nt5iRqEjTRUK6IMKK6oYPNyWy9KSYdS3UbArCWUHdkGJBXY3oj5O4VGAd/u +nHax2zeaJ58nUyotp5Ny5q/PRd/6vUr4kUqGDGn7Q1zph919NLEcFooNXqek60He ++KrEuQENBFTl3zUBCADE7NrJc/aBJhrHpC63r7F2ldwZWYEzCjS6J6ovFuvp+i2C +EP7mEZaGPmpnZ2fN9rJ+a1UaWLzRzDJdX7CwiH/cO1YE56Dv/bG2qK38nWVZ5TAl +eYbJyMQPGMI/wkuZb+ikoS7Jf/0sz245TFBb1lwGBVFgCBlrbpkK13YP+TZ5iAOe +USpeddl7imlCTiAXprtZ5hw+TC6ZSmcUq1HVWJosFCQGnaYLz/gdJNU+9TBSU3kM +lLvNFh9i74rfiopkoyRJnLvl5O5HWtcbHSY4qFmVKpEMLnnwBQuKN78tnwiKSz5C +0XzzMc/W7jBrBjiX7lQ1HjTa6CvDjpvbOcqMIsrTABEBAAGJAR8EGAEIAAkFAlTl +3zUCGwwACgkQu24ajJ49OQgPyggAmxSH+VLPRwXiulHEiVNVGk/ff9Z55bwYtpVv +bTPXb0Z+oYr5AT1Ea8hKQf8DsUA93SPFQXMGZ7My4472x+ZPRUCmg6Lr9q+4yEu5 +6Rex0XDWKlF2oEWhGgaKjQ9cg8MyKMaUG/ShmJgp6P+yWwMqoNB3CaSRWuHwJp4i +EgtxbMXzprVZ5h6/RrKsjHNTFQEVcSxJKGNuUJ7WlaXA+qGBDiaxDEyUJABWDqkr +UyQv2xCibMNjhgFlu0KDGPPQPb4XgwJDn9Oznof0QwV1Z+dL/TtTCGM3zHqbr97/ +Qg579xwo+gI/PHgH2XI1QI6d3ZO/KGR3lsCUZHR3piON3YtICA== +=WJOl +-----END PGP PUBLIC KEY BLOCK----- + + +pub 4096R/48F4C2B5 2016-02-02 + Key fingerprint = 4B7F DDD3 BCAA C5DC D571 D36F 8A34 C614 48F4 C2B5 +uid [ultimate] Savva Kolbachev <skolbac...@apache.org> +sig 3 48F4C2B5 2016-02-02 Savva Kolbachev <skolbac...@apache.org> +sub 4096R/4335EA7E 2016-02-02 +sig 48F4C2B5 2016-02-02 Savva Kolbachev <skolbac...@apache.org> + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: GPGTools - https://gpgtools.org + +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 +D0crmx0= +=etVP +-----END PGP PUBLIC KEY BLOCK----- + +pub 4096R/D1E9FD5C 2016-02-06 +uid Andrus Adamchik <and...@objectstyle.org> +sig 3 D1E9FD5C 2016-02-06 Andrus Adamchik <and...@objectstyle.org> +sub 4096R/11C6A471 2016-02-06 +sig D1E9FD5C 2016-02-06 Andrus Adamchik <and...@objectstyle.org> +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.9 (Darwin) + +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 +52ujr6w0mW0= +=flxx +-----END PGP PUBLIC KEY BLOCK----- + +pub rsa4096 2017-02-21 [SC] + CE7D E8E5 2FC2 1AA1 75FB 9E93 EFBE 8395 88C2 AA2E +uid [ultimate] Nikita Timofeev <ntimof...@apache.org> +sig 3 EFBE839588C2AA2E 2017-02-21 Nikita Timofeev <ntimof...@apache.org> +sig 6D6A84E2D1E9FD5C 2017-02-23 Andrus Adamchik <and...@objectstyle.org> +sub rsa4096 2017-02-23 [E] +sig EFBE839588C2AA2E 2017-02-23 Nikita Timofeev <ntimof...@apache.org> + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFisQ1ABEAC18V7edFXe5Ez056/zAuWE3BZ2Ge1j3dVpkTPUAal/JKwOs227 +SkT1f10eplXRJ3nVWH/vvFQ2wiQAKXQxMCP5MT8vfoFRsMfpZxN5JaOm+biXFb30 +CcYn/wTpX7l01wpZJkh84nRnGO5AVRCZJgoU+dYetk7d7Kfy9dFv5KnWvATDwR+O +uwVOx1my7cY7biUQVjxFYcYkL9W2e5w59DSYTELeyH4vlHDc8IyFXB6W/T5pdopw +t9y2ey70fchTnqJvEA8ZMa47hvaN0jPVG3+E/0NKEtjqg4jZo+ezSkp4p17vvWvC +wSLOLGbDLJ0SOgFb1twr2TdpbYHHY+q/033K2oooBDXzkCOOWASNCQkBlKh7ckOH +pSbogz7ypU1DTh3+UeaklvOs5PdmTogNWxhvCBNchedCqa2YB1VMjnHwyfPhtRJA +U7CueEMbTwg1PrWBIYpPjX7oNQPpdMFY6W9XyHl1Gwle08Zyh451a11fP3W03Fj7 +6OZADt8TAoMesFKVBLbur8kKq8djXMiDhhf+/mED17vJNyzmVcPqFCxkK04tM7lR +Qezet6E/JwyaBksSoGWOyr8YU0lWcae0eQhPJhFXoDl1Ykc432dYG0Aacp9LOu0I +ItxGKGetZ1ufOwsvfOH3Fz1z22h31Qw1dFK7dKcg42Rgy6BoywTcyMsRHQARAQAB +tCZOaWtpdGEgVGltb2ZlZXYgPG50aW1vZmVldkBhcGFjaGUub3JnPokCTgQTAQgA +OAIbAwULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgBYhBM596OUvwhqhdfuek+++g5WI +wqouBQJYrERSAAoJEO++g5WIwqou8yAP/0zrbzfc4FNYV/zRiICXgioTORC9injv +lBya0FB4DzvxRVaPOfaMYPbaZTzT0LGg52dYj77NpwGsEgxcjrTRvt8pgnzIK5IJ +JgPzDzgSmFF/v8Oou/vQZNW9YSTBsOAk2xyqfXwdQocoAUSmhdOWkxpuvnf7kuQj +41XP1ZTIJz4IaLJpxaFZ6rI/rxJ7KLwfKJzyudtodg5nf65COk/8XWiufl+8Lmk4 +op/UJ03mk5j8K6v5qJVZjo/AyWHLPnJbJcK0CxbcdrESOUqk0i1dhx28pwca611T +wogr+eeZydMCnZWKOtn5Az38whb0c0EmM1ibmHsEBdFCpZ6pZ6KeZlcXQvU5AYYF +YaSr7AlOJYb6GVbFN2YETXe5XzpQlG3RMY2gs3rqcmXZLLAXPtKqBgB6b93UYdUe +xQmV9TIPX8fYRYVVLBpaWnGTq5jk56tvY+LpwpDPba+YsLTiJkLftsp/eiJEBKJh +I48+goIZPQCa74RQcekmwxPSyqONhZpMICDS6IeXInXK4nrYlnMBDmcHWH0Lc9Ub +WxGJb/5sSLQhiIpvfHDVzJCQ5zJFUfW2hbe5Vhe9fx5yYmRn2M++fGh+Hnmc9yS4 +gq7GOszC5s9LSul50eQA+xQ5+g4kr4p6cGaGptOraRK2uqApBX7eXOriDwXK8txJ +eK9vkYdPV1OaiQIcBBABAgAGBQJYroQoAAoJEG1qhOLR6f1c++QQAJsAuD/66AIM +dKkk68RNlGTlnz69CLShKEvX/iCRVhMJlELddKudO1OqC8rS7CbDLcPRy7zJpZky +psEl2LAS5cOHdFAy2yPokpYnQYTM1JitGAQxtVzoz2VUfcD48pco3CZ8DkXUGw9x +0TTFbyUy/IHo4PLYy5qZHKg/4ul3TG1QptcUN2dAB5wlS6/JT7lwbaKFUGWYY6Kk +A4tgvtuxR4aWzUHwYtRU3X82FsUw8hsP7EtKu6vnZqyHwLqCdoNsoYrK+QcAUswI +sdTGuXzaf+HRe6pCIBu4vmQtybNce1tTpnqiiJ+Ze60XMH2ntWNwVHHl++LcWWcf +TNoc+WymROqaZIG/Y8OD65jfQ+uMTf9FQ5rBWLiCnWZc4/vxMnnYMAQvcV63I4n7 +0H0FVxED6o8m0jEHoiLKVoYI49HxK0JqE/AzarR7QjXixLLjK3Ti7x83QYuX/+Ls +4SkOf6Sq98nwHXd6f+C855ay1yrnEvQtN4vWeBPZ8rs2Us60DHKLPXWA1+LzzjnS +AlKNo1tBju6jKepW9RBMa/7T92GS4VpGK8mUU0KmaZiDpCRMSc75HI3KVtkh2cGF +ebjTLblUdakUKqAoaP9nGCCe8Z5gj86X01YUZFWTgKS2+IsOcK5f2GrB3tFvbjCp +3oj5rgeIvryYz/7WTeMggThVAwl+0DmCuQINBFiui3wBEACqZgMUryULZfSCDB89 +6evn6DbnjCIIgzIqKLdDOoWDaA02AHJ6n7E0bIGjbdDrhVeu9FIGqhR50DCIdqjf +unuplm70sC9JYjHDkWErGJnd8lXb7PmW9knKwsmIityTKt8/5os3Lr8EplCuO7iJ +mkdEz8zdGp7+h7ZSwC+Rz9q1JThjjJbIqadjTfa4Pt3yn6z9I33TO8POxGRch7W7 +qnVHvsWiZEv5osELUXOipIutdBtvz0tkpDJXeXkX/YJNVl1ig88bSTBE4u3NQ8SY +ySqlKhjvGo278KIqnpCnCU2Dy9PgLchkMxULR4gryHrVLqK1lL6PnGvcA284I45H +pypMCtgibN1iQ6QyG/IvU45hczzOeNyuqYikE6Ej3oYCXsRlnMK6kUwyDU4bf8R4 +05ODNbvzv5IwkmgWTtQFTp1xM/dtHL7BHqhCGuKY7kEUA5q5X0dSv+MyIYaPGW7l +505IVkPAVlcw7Qs3hlihVf+hJepKy5BPSZYNzUfeb/MpDG1j3ps1L2OeozkyGUCU +Im6BxL31TE7BIHbapVCykkd6qZHL1HENi7nq97pvLsE7936DCcg452oNjjQuZEzy +qXUkIGt9DVeiige95rUlcFsq8Rg/0dZ4pwPFBkyOvMXOw3+UKiZyFXvR4NE2qRET +qNjoKP+S8MQ3koXXsRZlcUff0wARAQABiQI2BBgBCAAgFiEEzn3o5S/CGqF1+56T +776DlYjCqi4FAliui3wCGwwACgkQ776DlYjCqi6bQhAAtWjx3U593nZGTksyiOmn +X7oKuseRnSmpoINH5I+DVPYSn7wpJXI892cDyE8k+Qyo/EjpNpM4vwR5rnC86jyx +zk4IcZ06fh4MBA+4CRwgYasfPVcGVLnXG3v8XkBiUqQH8G54AdfcXHQGsjzyD/UV +y8Q3xV2hs+KtK79rLB7T4pNs/oYfQOscpsHLIbCXG+jFmBjXlqlW8pleIHBLo1bL +3nd/CZ63LQpo6+UcRRMilQS6vER2CbvQ96EiKwt2HUlUNZcf6R5sREeCIcRtnqZ8 +vBEFhMvH5Bli28Up6c7td8XsI4nX/X/hJnKp30nnjDHeGGpXYf3y+gCjsaj+srkU +ZxViZsZ7NWjAJrRth9agjrsqgUBsk9t61/3JUmfNgKll4SAmsjLI5DvqjMB17UrZ +/B+oLIMEMLd8G6X7gcV0/Gl+MYgyqcd3DBmW7mKCla/3fvkDm6F9Wi2507u3jBpW +3bDfLf7WlSK8MAyPDJ75U5rGTX4GPP/uVRIB+OIM3zM+1h3pL1/lR0/IL9QS1KIV +py5uerg3Q7WfqbAa0YMG2DaZ/YJRv2fXlVh2CkMFy8YXJIk5WOI+4vfDGO9Y+5yN +hKkeIv6tGxekNrf3mThlCgIwKfWqeUfMbfib2kFIpM+efbWxTnN3vHaYwOukrgnq +fwFW2VhoEcMt5UlivoHmpIY= +=N0zb +-----END PGP PUBLIC KEY BLOCK----- \ No newline at end of file http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3dae546/RELEASE-NOTES.txt ---------------------------------------------------------------------- diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt new file mode 100644 index 0000000..1212a99 --- /dev/null +++ b/RELEASE-NOTES.txt @@ -0,0 +1,467 @@ +Apache Cayenne Release Notes +============================ + +For the latest information visit project web site: +http://cayenne.apache.org/ + +To browse individual bug reports check out project issue tracker: +https://issues.apache.org/jira/browse/CAY + +---------------------------------- +Release: 4.0.B3 +Date: +---------------------------------- +Bug Fixes: + +CAY-2253 Cayenne JDK9 compatibility +CAY-2361 PostgreSQL DbGenerator issues +CAY-2364 Wrong logging in SQLTemplate +CAY-2365 SQLExec query tries to convert (unexpected) result set into objects +CAY-2367 ClassCastException reading object with an attribute of type 'char' +CAY-2368 ColumnSelect: Property.self() translates into wrong SQL code +CAY-2370 ValueObjectType for byte[] fails lookup +CAY-2382 Lack of synchronization in DataContext serialization +CAY-2387 Can't select byte[] property with ColumnSelect +CAY-2388 Modeler: Visualization issues with undo/redo actions for attributes and relationships +CAY-2389 DbEntity qualifier with DbPath expression translates into wrong SQL +CAY-2392 Modeler: Unable to remove DataNode +CAY-2401 Modeler: NPE in ObjEntity sync action + +---------------------------------- +Release: 4.0.B2 +Date: October 06, 2017 +---------------------------------- + +Bug Fixes: + +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-2362 ColumnSelect: unable to use Property without type +CAY-2363 ColumnSelect: unable to use from nested context +CAY-2366 Incorrect EJBQL COUNT translation + +---------------------------------- +Release: 4.0.B1 +Date: June 12, 2017 +---------------------------------- +Changes/New Features: + +CAY-1873 Move DataDomain cache configuration from the Modeler and into DI +CAY-1891 Modeler: Add To-Many Warning +CAY-1892 Modeler: Add Relationship Data Type Warning +CAY-2057 Modeler: Clean up OS X version +CAY-2109 cayenne-crypto: add value authentication (HMAC) +CAY-2210 Query cache: incorrect cache key for queries with custom value objects +CAY-2255 ObjectSelect improvement: columns as full entities +CAY-2258 DI: type-safe binding of List and Map +CAY-2259 QueryCache: support for referencing type-safe caches +CAY-2261 Replace NamedQuery with MappedXYZ in *datamap.vm +CAY-2262 Module auto-loading +CAY-2266 Move EventBridge implementations into autoloadable modules +CAY-2267 Contribute lifecycle events listeners via DI +CAY-2268 DI: Refactor ListBuilder API ambiguities for before() / after() bindings +CAY-2269 Add support for date/time components extraction in expression functions +CAY-2270 Update function support in expression parser +CAY-2271 ColumnSelect: support for prefetch and limit +CAY-2272 ColumnSelect: methods to manually control DISTINCT clause +CAY-2274 Modeler: Validate case when dependent PK is marked as âgeneratedâ +CAY-2277 Create ClientRuntime with ClientRuntimeBuilder just like ServerRuntime +CAY-2278 Extract cayenne-postcommit module from cayenne-lifecycle +CAY-2280 Switch from commons-logging to slf4j +CAY-2295 "Sync ObjEntity with DbEntity" and "View related DbEntity" buttons aren't disabled, if DbEntity doesn't have ObjEntity +CAY-2296 cayenne-crypto: Get java type for DbAttribute bound to ObjAttributes with the same type +CAY-2300 Modeler: New icons and design improvements +CAY-2302 Rename postcommit module and its content to commitlog + +Bug Fixes: + +CAY-2021 cdbimport: detect when same FK constraint is defined twice +CAY-2077 Bug in CayenneRuntimeException using wrong specified string in Formatter +CAY-2094 SelectById query doesn't work from ROP client +CAY-2161 'Not for Client Use' option is ignored at Class Generation +CAY-2171 Modeler: Undo db Entity Sync throws error +CAY-2208 SQLTemplate: LEFT JOIN to a subset of a table returns nulls for entries that don't have a match in the subset +CAY-2230 Error using connection to postgresql with db schema in DB URL +CAY-2240 Modeler: issue with cursor rendering for EJBQL query +CAY-2243 ObjectContext.getGraphManager().unregisterObject() inconsistencies +CAY-2250 Remove: Incorrect text in Confirm Remove message when cursor is set on attribute row +CAY-2256 Cannot Save/Insert an Object With null Flattened (complex) toOne Relationship (see also CAY-2146) +CAY-2265 ServerRuntime.builder() fails to set default runtime name when a the project file doesn't follow recognized pattern +CAY-2273 Modeler: default suggested cgen location is rooted in subpackage +CAY-2275 Documentation: tutorial is out of sync with 4.0.M5 version +CAY-2276 PrePersist listener registered as PostPersist in LifecycleCallbackRegistry.addListener(Class<?>, LifecycleListener) +CAY-2279 cdbimport: skip PK comparison for VIEWs +CAY-2281 ObjEntity attribute overrides are never deleted +CAY-2284 Expression likeIgnoreCase can't handle unicode chars in in-memory evaluation +CAY-2286 Filter out inherited ObjEntities from sync with DbEntity +CAY-2326 DI: can't override List/Map elements from another Module + +---------------------------------- +Release: 4.0.M5 +Date: March 6, 2017 +---------------------------------- +Changes/New Features: + +CAY-2139 Upgrade HSQLDB dependency to the most recent version (2.3.4) +CAY-2150 Refactoring: ParameterBinding to contain ExtendedType property +CAY-2163 Property.path() , ExpressionFactory.pathExp() +CAY-2164 Relocate builder bootstrap methods from ServerRuntimeBuilder to ServerRuntime +CAY-2165 Explicit "contribution" API for easier expansion of DI collections and maps +CAY-2166 Auto-loading of Cayenne modules +CAY-2168 Split DbLoader to parts and clean it up +CAY-2169 Split DbMerger to parts and clean it up +CAY-2170 MergeToken sorting is highly unstable +CAY-2172 Cleanup Modeler import and migrate db actions +CAY-2176 Java 7 diamond class generation templates +CAY-2177 Sync auto generated state of PK between model and DB +CAY-2187 Support for the scalar and aggregate SQL functions in ObjectSelect API +CAY-2197 Update sqlite version and enable in-memory default config +CAY-2212 cdbimport cleanup and configuration schema refactoring +CAY-2223 JCacheQueryCache - a query cache provider to plug in JCache implementers +CAY-2225 Extensible CacheInvalidationFilter logic +CAY-2228 Deprecate multiple cache groups in caching and query API +CAY-2231 Support for collections in new functional expressions and old math expressions +CAY-2232 Proper conversion to String for new functional expressions +CAY-2235 Deprecate Query.getDataMap() method + +Bug Fixes: + +CAY-2032 SelectAction: DistinctResultIterator ignores flattened relationships +CAY-2137 When generating SQL from EJBQL, use "AND" to separate multiple join conditions +CAY-2174 Change FK attribute name cause ObjAttribute appear after Reverse Engineering +CAY-2175 AliasName used in EJBQLQuery is not working if it contains mixed case +CAY-2183 Newly created DbRelationship is unexpectedly renamed by the Modeler +CAY-2199 Modeler on Windows: The same project is displayed twice in "Recent Projects" +CAY-2207 Modeler: "Java Type" and "DbAttribute Path" are not saved with using TAB to move forward +CAY-2221 In-memory expression evaluation gives different result than select query +CAY-2236 Modeler Migrate DB Schema: unable to Reverse All Operations +CAY-2238 Modeler: Preserve manually set DbRelationship name when syncing with ObjEntity +CAY-2242 Vertical Inheritance: Cannot Insert Record For Implementing Class with Attribute And Relationship + +---------------------------------- +Release: 4.0.M4 +Date: December 13, 2016 +---------------------------------- +Changes/New Features: + +CAY-2051 Applying new Reverse Engineering to the Modeler +CAY-2053 SQLExec fluent query API +CAY-2060 Replace Query objects in DataMap with query descriptors +CAY-2062 MappedSelect and MappedExec fluent query API +CAY-2063 ProcedureCall fluent query API +CAY-2065 Pluggable serialization and connectivity layers for ROP +CAY-2073 Ordering.orderedList methods +CAY-2074 Support for catalogs in stored procedures +CAY-2076 Implement Jetty HTTP/1.1 and HTTP/2 Client support for ROP Client +CAY-2083 Implement Protostuff as serialization service for Cayenne ROP +CAY-2090 Untangle HttpRemoteService from ServiceContext thread local setup +CAY-2100 Add supporting generated keys for PostgreSQL +CAY-2102 EJBQL: db: path not supported in select columns +CAY-2103 cayenne-crypto: support for mapping non-String and non-binary types +CAY-2106 cayenne-crypto: allow DI contribution of type converters inside ValueTransformerFactory +CAY-2107 cayenne-crypto: Lazy initialization of crypto subsystem +CAY-2111 Unbind transaction object from the current thread for iterated queries +CAY-2112 Expose callback for "performInTransaction" +CAY-2113 cdbimport: Reverse-engineering reinstates previously ignored columns +CAY-2114 cdbimport: object layer settings are not respected +CAY-2115 DbLoader - allow loading DataMap without Obj layer +CAY-2116 Split schema synchronization code in a separate module +CAY-2118 cdbimport: drop support for the old style of table filtering +CAY-2129 Modeler: reengineer dialog improvements +CAY-2130 Stripping common name prefixes on reverse engineering +CAY-2132 Adding SybaseSelectTranslator to support TOP/DISTINCT TOP in limited queries +CAY-2133 ObjectNameGenerator refactoring - unifying relationship name generation +CAY-2135 cdbimport: reset DbEntity catalogs / schemas to DataMap defaults +CAY-2136 Allow Ordering.orderedList(â¦) methods to accept a Collection rather than only a List +CAY-2160 Modeler: new welcome screen +CAY-2222 MySQLAdapter should not create indexes on FK columns + +Bug Fixes: + +CAY-2016 cdbimport: Rename table with toMany relationship causes migration error +CAY-2064 Issue with BeanAccessor for classes with complex inheritance +CAY-2066 Fixes for inner enums handling in ExtendedTypeMap +CAY-2067 Cayenne 4.0 connection pool is occasionally running out of connections +CAY-2070 Modeler sync function adds extraneous ObjRelationships inside the class hierarchy +CAY-2078 Client code gen bug. Unnecessary DataMap class generation setting datamap gen to false. +CAY-2080 Cayenne doesn't pick up reverse engineering file changes +CAY-2084 ObjectIdQuery - no cache access polymorphism +CAY-2086 SelectById.selectFirst stack overflow +CAY-2087 PostCommitFilter is confused about changes made by Pre* listeners +CAY-2089 HTTP connections aren't always closed in new ROP implementation +CAY-2097 NullPointerException while updating relationships for entities with vertical inheritance +CAY-2101 DataContext.currentSnapshot() doesn't set snapshot entity name +CAY-2105 Add missing elements to the reverseEngineering.xsd +CAY-2108 cayenne-di: StackOverflow for decorator that takes Provider of the delegate +CAY-2110 Obfuscated exception when processing iterated results +CAY-2119 ProjectUpgrader test failure (Windows) +CAY-2122 Vertical Inheritance: Cannot Insert Record For Implementing Class with Attribute And Relationship +CAY-2125 SchemaUpdateStrategy doesn't work with multiple DataNodes +CAY-2126 Modeler cannot upgrade project from v7 to v9 +CAY-2128 Modeler stored procedures are not imported +CAY-2131 Modeler NullPointerException in reverse engineering when importing different catalogs in one datamap +CAY-2138 NVARCHAR, LONGNVARCHAR and NCLOB types are missing from Firebird types.xml +CAY-2141 Disjoint-by-id prefetch generates repeating ID conditions +CAY-2143 NPE in BaseSchemaUpdateStrategy +CAY-2144 cdbimport always fails for databases which don't support catalogs +CAY-2146 Vertical inheritance: record still inserted into parent db table when child validation fails +CAY-2148 Failure upgrading from 3.1 to M4 +CAY-2150 UI bug: PK generation custom sequence is getting reset +CAY-2151 Migrate Database Schema: issue when no db is specified +CAY-2153 Modeler Exception in save action after reverse engineering some complex DB schema +CAY-2154 Migrate db: queries order +CAY-2226 PK generation for Frontbase: PK cache size must be ignored + +---------------------------------- +Release: 4.0.M3 +Date: February 12, 2016 +---------------------------------- +Changes/New Features: + +CAY-1626 Add JodaTime DateTime support +CAY-1902 Implement resolving Db paths for DataObjects +CAY-1991 More control over generated String property names +CAY-1992 Allow to exclude DataMap java class from Modeler class generation +CAY-1995 Add support for iterators to Select +CAY-2001 Saving a display state of Project +CAY-2004 EJBQL: Support for ordering on aggregate expressions +CAY-2007 Refactoring SelectTranslator for better extensibility +CAY-2008 Connection pool refactoring and validation query support in Cayenne DataSource +CAY-2009 Non-blocking connection pool +CAY-2010 DataSourceBuilder to help users create pooling and non-pooling DataSources +CAY-2011 Support for Java 8 date and time types +CAY-2012 ObjectSelect, SelectById: eliminating methods that reset query state +CAY-2013 In-memory evaluation of DB expressions - non-id attributes +CAY-2023 Decouple the use of ResourceLocator +CAY-2025 Support for DBCP2 +CAY-2026 Java 7 +CAY-2027 Support for Expression outer join syntax in EJBQL +CAY-2028 Wrap DataChannelFilter calls in the main transaction +CAY-2029 Allow out-of-order insertion into DI lists +CAY-2030 Capturing a stream of commit changes +CAY-2035 Autobind items added to collections (Cayenne DI) +CAY-2042 Remove an arbitrary limitation on 1000 runtime DbRelationships +CAY-2043 ServerRuntimeBuilder: use DataDomain name for the default DataNode +CAY-2044 Collection setter for to-many relationships +CAY-2045 Add autosuggestion fields to choose attributes and relationships + +Bug Fixes: + +CAY-1977 Cleanup Modeler reverse engineering functionality +CAY-1987 Widen types before performing in-memory evaluation of qualifiers using j.l.Number subclasses +CAY-1990 Incorrect display of the raw SQL query in Modeler +CAY-1993 Reverse Engineering does not work with PostgreSQL database +CAY-1994 Modeler Migration Tool Shows No Changes +CAY-1997 Difference in NULL handling inside the path between PropertyUtils and DataObject.readNestedProperty +CAY-1998 Speeding up PropertyUtils +CAY-1999 Unneeded Property import for superclasses with no properties +CAY-2003 cdbimport doesn't work properly with several includeTable tags +CAY-2015 Joint prefetches combined with DisjointById prefetches return null incorrectly +CAY-2020 typo: correction to upper alpha range in Rot13PasswordEncoder +CAY-2041 "cayenne.jdbc.max_connections" and "cayenne.jdbc.min_connections" command line options are ignored +CAY-2047 Relationship mapping with target inheritance +CAY-2049 Changing the Relationship name in ObjRelationship Inspector has no effect + +---------------------------------- +Release: 4.0.M2 +Date: March 18, 2015 +---------------------------------- +Changes/New Features: + +CAY-1267 Some changes to LogDialog +CAY-1826 Merge Entity Attributes and Relationships tabs together with one toolbar. +CAY-1839 Allow to link DataMaps to DataNodes from DataNode editor. +CAY-1841 Filters for Left-hand project navigator +CAY-1842 Remove Listeners support from the Modeler +CAY-1843 DataMap v7: Stop saving listeners in DataMap, add upgrade handler +CAY-1845 Upgrade javadoc plugin to 2.9.1 +CAY-1846 Reworking of callback mapping +CAY-1847 Make ConverterFactory extensible +CAY-1848 New method: ObjectContext.selectOne(Select query) +CAY-1851 Generate default serialVersionUID for generated java classes to avoid eclipse warnings +CAY-1852 Straighten thread model and synchronization in the Modeler +CAY-1855 Iterated and paginated queries must print result counts +CAY-1856 Expression.expWithParameters does not work when parameters are placed in the inline collection +CAY-1860 In-memory matching of DataObjects against ObjectId or int +CAY-1861 Remove runtime relationships +CAY-1870 cgen - smarter default for 'superPkg' and 'destDir' +CAY-1882 Porting to OSGi environment +CAY-1883 Clean up Cayenne maven structure +CAY-1886 cayenne-di module reorg, new exceptions +CAY-1890 Remove Cayenne-level buffering when retrieving LOBs +CAY-1894 Support native PK generation using sequences for H2 databases +CAY-1899 ServerRuntimeBuilder +CAY-1900 Allow DataNode name to be used as a root of SQLTemplate +CAY-1901 Config-free ServerRuntime +CAY-1904 Simple injection-friendly constructor for AuditableFilter +CAY-1907 RowReaderFactory +CAY-1908 Refactor all SQLActions to work with DataNode +CAY-1911 BatchQuery refactoring - make Iterable +CAY-1912 BatchQueryBuilder refactoring +CAY-1913 Refactor org.apache.cayenne.access.trans into query-specific packages +CAY-1914 Refactor EJBQL-related translators to a standalone 'org.apache.cayenne.access.translator.ejbql' package +CAY-1915 BatchTranslator instead of performing bindings should return binding object whose values can be altered +CAY-1916 cayenne-crypto module that enables data encryption for certain model attributes +CAY-1918 Replace Oracle LOB hacks with JDBC 4.0 API +CAY-1919 Split DataNode creation into a separate DataNodeFactory +CAY-1920 DI: add support for decorators +CAY-1921 Support for schema selection in 'Migrate Database Schema' +CAY-1923 Optimize BatchTranslator - use fixed size array of BatchParameterBinding +CAY-1925 cayenne-crypto: add optional compression to the encryption pipeline +CAY-1928 Second INNER join generated for OUTER flattended relationships in disjoint prefetches +CAY-1929 Property.outer method to build OUTER join properties +CAY-1932 Improved Handling for Scalar Parameters Converting Expressions to EJBQL +CAY-1933 Problems in Evaluating EJBQL Statements with Integral Literals > Integer.MAX_VALUE +CAY-1934 A problem exists where the escape character is not conveyed in the EJBQL when toEJBQL() is invoked on the expression. +CAY-1936 ServerRuntime.getDataSource() returning DataSource of a default DataNode +CAY-1937 Make Transaction an interface +CAY-1938 Create a DI factory for transactions, get rid of TransactionDelegate and modeler config for tx policies +CAY-1939 DataDomain must use injectable TransactionManager +CAY-1946 CDbimport improvements +CAY-1949 Search in configuration fields (Catalog, Schema) in DbEntity +CAY-1952 Undeprecate (actually restore) ObjectContext.deleteObject(..) +CAY-1953 Redo ResultIteratorCallback to handle single row callback instead of iterator +CAY-1954 Make Cayenne class constructor protected +CAY-1958 SelectById - a new full-featured select query to get objects by id +CAY-1959 ObjectSelect query - a fluent API alternative to SelectQuery +CAY-1960 ExpressionFactory.exp(..) , and(..), or(..) +CAY-1962 Implement CayenneTable column resize on double-click on the header separator +CAY-1965 Change version from 3.2 to 4.0 +CAY-1966 SQLTemplate/SQLSelect positional parameter binding +CAY-1967 Deprecate SQLTemplate parameter batches +CAY-1968 SQLSelect cleanup and omissions +CAY-1971 Variants of Property.like(..) : contains(..), startsWith(..), endsWith(..) +CAY-1972 A property to override DataSources of multi-module projects +CAY-1981 Add support of JDBC 4.0 N-types (nchar, nvarchar, longnvarchar, nclob) +CAY-1984 cdbimport doesn't flatten many to many relationships + +Bug Fixes: + +CAy-1988 ServerRuntimeBuilder: synthetic DataNode does not have domain's DataMaps linked +CAY-1480 Implement cross-db functional expressions +CAY-1695 Unexpected null value in bidirectional one-to-one prefetch +CAY-1736 IllegalArgumentException when synchronizing entities in the Modeler +CAY-1795 "Invisible" ObjAttribute in subclass +CAY-1796 ROP: All entity's to-many relationships getting faulted from database when using it as a parameter in qualifier expression +CAY-1797 NPE importing DataMap +CAY-1798 ROP: Reverse relationships of prefetched entity objects are not filled during server to client objects conversion +CAY-1799 ROP: Server can't deserialize LIKE expression with pattern already compiled +CAY-1818 Fix copyright year in the Modeler "about" panel +CAY-1834 Exception: ToManyList cannot be cast to DataObject +CAY-1857 Problem with hotkeys +CAY-1859 NullPointerException when importing EOModel +CAY-1863 Make determining whether a particular database type supports length adapter-specific not universal +CAY-1866 Change in General Modeler Preferences reverts old settings to default value +CAY-1868 Select contention with multiple contexts +CAY-1869 ResultIterator from cayenne-client dependency is subclassed from org.apache.cayenne.access.ResultIterator which is present only in cayenne-server dependency +CAY-1874 DB2 Procedure action ignores the first result set +CAY-1877 In-memory evaluation of expression may fail with UnsupportedOpeartionException depending on order of nodes +CAY-1880 objectStore snapshots never cleared from RefreshQuery when "use shared cache" unchecked +CAY-1881 CayenneModeler (Mac version) doesn't work with Java 7 +CAY-1885 Null value in subclass's field. +CAY-1905 Multi-step prefetching NPE : 1..N..1 with absent N and root with no qualifier +CAY-1943 XML file not deleted when a DataMap is deleted from the project +CAY-1961 Fix RemoveAction for DataMaps in ProjectTree +CAY-1964 Fix convertAdditionalDataMaps() in CayenneGeneratorMojo.java +CAY-1973 error while generating classes +CAY-1974 Copy/Paste DbEntiry throws exception +CAY-1978 ESCAPE clause should be included in LIKE parenthesis +CAY-1979 Prefetches on Many-to-Many Relationships with Longvarchar +CAY-1980 'mvn cayenne-modeler:run' seems to be broken in 4.0 + +---------------------------------- +Release: 3.2M1 +Date: July 19, 2013 +---------------------------------- +Changes/New Features: + +CAY-1294 Generify query +CAY-1646 Synchronize tabs in Modeler between ObjEntity and DbEntity editor panes +CAY-1647 Easily switch to/from ObjEntity and DbEntity in Modeler +CAY-1717 [PATCH] Implement JDBC compatibility layer methods +CAY-1718 Remove everything deprecated in 3.1 +CAY-1724 Add 'Property' class for easier and better Expression creation +CAY-1726 Expression parser support for bit operators, support for << and >> +CAY-1737 ObjectContexts listening to DataChannel events must be non-blocking +CAY-1748 IdCoder/EntityIdCoder improvements to work with ObjectIds, including temp ones +CAY-1753 remove light-superclass.vm class template +CAY-1754 Modeler suggested URL for SQLServer should start with 'jdbc:sqlserver:' instead of 'jdbc:microsoft:sqlserver:' +CAY-1758 cdbimport improvements +CAY-1759 cdbimport improvements: add 'catalog', rename 'schemaName' to 'schema' +CAY-1760 cdbimport improvements: Default adapter (if none specified) must be AutoAdapter, not JdbcAdapter +CAY-1761 cdbimport improvements: DbLoader must reverse engineer PK auto-increment state. +CAY-1762 cdbimport improvements: Support for "defaultPackage" parameter, as the new DataMaps ends up placing entities in the root package +CAY-1763 cdbimport improvements: specified "schema" should become the default schema of the generated DataMap +CAY-1764 cdbimport improvements: "overwrite" flag +CAY-1765 cdbimport improvements: add excludeTables/includeTables parameters +CAY-1766 Deprecating DataPort ant task +CAY-1768 cdbimport improvements: DataMap "project-version" attribute is skipped when DM is saved +CAY-1769 cdbimport improvements: meaningfulPk flag must be turned into a pattern +CAY-1771 cdbimport improvements: "usePrimitives" flag +CAY-1772 Real support for DbEntity catalogs +CAY-1778 TransactionManager to simplify user-managed transactions +CAY-1779 Flatten object entities for many to many relationships on reverse engineering +CAY-1781 Add StatelessContextRequestHandler as an alternative to the Session-based one +CAY-1785 SelectQuery<T> for DataRows +CAY-1789 Lock-free EntityResolver +CAY-1792 [PATCH] Supply additional factory methods for generic SelectQueries +CAY-1803 Optimize Expression conversion to String and EJBQL +CAY-1809 Remove 'final' modifier from Cayenne, HessianUtil, PropertyComparator, ConversionUtil, and LinkedDeque +CAY-1813 Missing ObjEntity Attribute Validation with Duplicate DbEntity Columns +CAY-1814 Support Property.nin +CAY-1819 When adding a filter, auto-register it as a listener +CAY-1820 DataDomain.addListener(Object) - a shortcut for adding annotated listeners +CAY-1821 AuditableFilter and friends should explicitly work with Persistent instead of Object +CAY-1822 Make DataMap editor fields wider +CAY-1823 remove ":sync w/DbEntity" button from ObjEntity - it is redundant and already present on the entity toolbar. +CAY-1825 Simplify API for setting up query caching +CAY-1828 SQLSelect - generics friendly fluent selecting sql query +CAY-1829 Make ResultIterator implement Iterable<T>, create ObjectContext.iterate method +CAY-1836 Firebird Adapter +CAY-1838 Deprecate EntityResolver.indexedByClassProperty +CAY-1840 Conditionally log slow / long-running queries +CAY-1844 Configuration for maximum time to wait for an available DB connection +CAY-1862 MySQL - allow specifying a length for TIMESTAMP and TIME columns + +Bug Fixes: + +CAY-957 Deadlock in nested contexts +CAY-1522 EJBQL query don't support quotes +CAY-1677 Modeler: text fields discard input unless you press enter +CAY-1701 Modeler cannot undo pasting of obj (db) entity +CAY-1708 Modeler error when pasting datamap with EJBQL query +CAY-1714 ROP: Cayenne tries to build a query for non committed object when using more than 2 nested contexts +CAY-1721 Writing blobs fails (Oracle) +CAY-1725 NullPointerException from call to removeToManyTarget +CAY-1719 Modeler - Obj Attribute Java Type editor won't focus sometimes +CAY-1727 Modeler thinks entity is using inheritance when it doesn't +CAY-1729 PersistentDescriptor must have predictable property iteration order +CAY-1738 Tutorial cayenne-rop-server should be packaged as a war +CAY-1739 Cayenne ROP server resets session on every request if BASIC auth is used +CAY-1742 ObjRelationship inspector says "ObjAttribute Inspector" +CAY-1744 Unexpected read-only relationships in vertical inheritance mapping +CAY-1749 NPE on simple nested context commit +CAY-1755 FaultFailureException resolving relationships to UNIQUE non-PK columns +CAY-1757 ROP: Faulting entity relationship resets uncommitted modifications made to its reverse relationship +CAY-1774 EhCacheQueryCache.get(QueryMetadata, QueryCacheEntryFactory) returns null if EhCache instance for group is not present +CAY-1780 cdbimport do not create xml file in resource folder +CAY-1782 Deadlock when performing many concurrent inserts +CAY-1783 JdbcPkGenerator.longPkFromDatabase would throw an exception if the PK value exceeds a range of Java int +CAY-1794 Duplicate attributes in discriminator columns of PersistentDescriptor +CAY-1804 Serialisation of long[] type was not working correctly. +CAY-1806 Error importing eomodel +CAY-1817 NPE during Validate Project +CAY-1827 EhCache region corresponding to a cache group loses its settings after 'removeGroup' +CAY-1832 Exception when modifying objects in postLoad callback + http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3dae546/UPGRADE.txt ---------------------------------------------------------------------- diff --git a/UPGRADE.txt b/UPGRADE.txt new file mode 100644 index 0000000..45ae5d1 --- /dev/null +++ b/UPGRADE.txt @@ -0,0 +1,548 @@ +Apache Cayenne Upgrade Information +================================== + +IMPORTANT: be sure to read all notes for the intermediate releases between your + current release and the release you are upgrading to. +------------------------------------------------------------------------------- + +UPGRADING TO 4.0.B1 + +* Per CAY-2302 postcommit module and all it's internals renamed to commitlog. + Most important change is the new @CommitLog annotation which should be used instead of @Auditable, + this change is backward incompatible and most likely for you to miss as IDE won't give you a hint. + Please keep in mind that new @CommitLog annotation is used only by commitlog module. + Deprecated functionality in lifecycle module still depends on @Auditable annotation. + + Here is list of steps you should do in order to update your code: + - include cayenne-commitlog module into your project (i.e. add dependency to your pom.xml) + - remove cayenne-lifecycle (and cayenne-postcommit if you have it) module from your project + - switch usages of @Auditable to @CommitLog + - change usages of renamed classes, here is two classes most likely used by your code: + PostCommitListener -> CommitLogListener + PostCommitModuleBuilder -> CommitLogModuleExtender + - fix all imports for renamed packages: + org.apache.cayenne.lifecycle.postcommit -> org.apache.cayenne.commitlog + org.apache.cayenne.lifecycle.changemap -> org.apache.cayenne.commitlog.model + - change CommitLogModuleExtender methods: + auditableEntitiesOnly() -> commitLogAnnotationEntitiesOnly() + build() -> module() + +* Per CAY-2280 Cayenne migrated from commons-logging to SLF4J. + Here is options you have to upgrade your project accordingly: + 1) Migrate your logging to SLF4J. Please see https://www.slf4j.org for documentation about + inclusion into your project logging backend of you choice. + + 2) Other option is to use commons-logging over SLF4J and keep all logging compatible with previous Cayenne versions. + In order to do so you need: + - remove commons-logging dependency if you have it + - add to your project slf4j-jcl dependency + + As a part of this change classes CommonsJdbcEventLogger and FormattedCommonsJdbcEventLogger + were renamed to Slf4jJdbcEventLogger and FormattedSlf4jJdbcEventLogger respectively. + Internally they are using now org.apache.cayenne.log.JdbcEventLogger interface as a logger name. + +* Per CAY-2278 Packages org.apache.cayenne.lifecycle.audit and org.apache.cayenne.lifecycle.changeset where deprecated. + Please use instead cayenne-commitlog module and its new @CommitLog annotation. + + Weighted graph sorter moved to cayenne-server into org.apache.cayenne.ashwood package. + + Packages org.apache.cayenne.lifecycle.changemap and org.apache.cayenne.lifecycle.postcommit + where moved to the new cayenne-commitlog module. + + Please change your code accordingly (see also notes above for CAY-2302). + +* Per CAY-2277 ClientRuntime created with ClientRuntimeBuilder, direct instantiation of + ClientRuntime is deprecated. Also whole ClientLocalRuntime class is deprecated, use instead + ClientRuntimeBuilder.local() method. + +* Per CAY-2262 Client modules are now auto-loaded by default to turn off auto-loading use + ClientRuntimeBuilder.disableModulesAutoLoading() method. + + List of client modules: + - cayenne-client + - cayenne-client-jetty + - cayenne-protostuff (it also supports auto-loading by ServerRuntimeBuilder) + + Also new modules are extracted from the existing one and should be added to your pom.xml if the corresponding + functionality is used by your project: + - cayenne-cache-invalidation (was part of cayenne-lifecycle) + - cayenne-commitlog (was part of cayenne-lifecycle) + +* Per CAY-2259 Cache invalidation module refactored to provide new functionality and better align with + new module autoloading functionality. Here is list of changes: + - Package org.apache.cayenne.lifecycle.cache renamed to org.apache.cayenne.cache.invalidation. + - CacheInvalidationModuleBuilder renamed to CacheInvalidationModuleExtender and its method build() + renamed to module(). + - InvalidationFunction returns CacheGroupDescriptor instead of simple String with cache group name, + so you need to change your custom functions accordingly. + +* Per CAY-2268 DI methods for binding ordered lists, introduced in 4.0.M3 where changed: + - method after() replaced by explicit addAfter(), addAllAfter() + - method before() replaced by insertBefore(), insertAllBefore() + +* Per CAY-2258 Injection of List and Map are made type-safe, as a result small incompatibilities are introduced. + If you are using following methods: + - bindMap(String bindingName) + - bindList(String bindingName) + you should change them to corresponding type-safe versions: + - bindMap(Class<T> valueType, String bindingName) + - bindList(Class<T> valueType, String bindingName) + Also if you are using DI Keys like Key.get(Map.class, "bindingName") or Key.get(List.class, "bindingName") + you should use new corresponding factory methods Key.mapOf(MapValues.class, "bindingName") + and Key.listOf(ListValues.class, "bindingName"). + Additionally new API allows you to bind Lists and Maps without using names: + - binder.bindList(SomeUniqueType.class).add(...); + - @Inject List<SomeUniqueType> list; + +* Per CAY-1873 and CAY-2266 Cache and remote notification configuration was moved from Modeler into + runtime DI settings. To set custom cache size, you should use custom module like this: + Module module = binder -> { + ServerModule.setSnapshotCacheSize(binder, 20000); + }; + Or you can use cmd line arg: -Dcayenne.DataRowStore.snapshot.size=20000 + + If you have used remote notifications, you should include one of the following modules into your project: + - cayenne-jgroups + - cayenne-jms + - cayenne-xmpp + For maven users this can be easily done by adding dependency to pom.xml: + <dependency> + <groupId>org.apache.cayenne</groupId> + <artifactId>cayenne-jgroups</artifactId> + <version>4.0.M6</version> + </dependency> + + Module will be autoloaded and remote notifications enabled, so only thing you need is to provide configuration. + Custom DI module should be used for that, e.g. for JGroups: + Module module = binder -> { + JGroupsModule.contributeMulticastAddress(binder, MCAST_ADDRESS); + JGroupsModule.contributeMulticastPort(binder, MCAST_PORT)); + }; + + +* Per CAY-2256 Fix for CAY-2146 was reverted, as it appears that we can't reliably deduce whether + relationship is optional or not. So in case of mandatory relationships in vertical inheritance + you should perform manual validation before insert by using "prePersist" callback in your + object (you can create it in the Cayenne Modeler) or by overriding "validateForSave" method. + + +UPGRADING TO 4.0.M5 + +* Per CAY-2186 DerbyPkGenerator switched from AUTO_PK_TABLE to sequence-based PK generator + If you relied in anyway on AUTO_PK_TABLE usage in derby, you should change your code. + +* Per CAY-2228 Support for multiple cache groups has been removed from caching and query API + as none of the modern providers supports it. If you relied on this feature you should + implement it by yourself or change caching provider + +* Per CAY-1980 "maven-cayenne-modeler-plugin" renamed to "cayenne-modeler-maven-plugin" + +* Per CAY-2225 CacheInvalidationFilter has been changed to support custom invalidation rules, + in addition to the rule based on @CacheGroups annotation. + If you have used it previously, you should change its binding to runtime from direct binding in + a custom module to a module built by CacheInvalidationModuleBuilder. + +* Per CAY-2212 cdbimport tool revisited once again, so configuration of Maven plugin should be changed. + - "maven-cayenne-plugin" is deprecated, please switch to "cayenne-maven-plugin" + - <reverseEngineering> tag replaced with <dbimport> tag + - new <dataSource> tag introduced that should enclose all connection properties: + 1. <driver> + 2. <url> + 3. <user> + 4. <password> + + - top level properties moved to <dbimport>: + 1. <defaultPackage> + 2. <forceDataMapCatalog> + 3. <forceDataMapSchema> + 4. <meaningfulPkTables> + 5. <namingStrategy> + 6. <stripFromTableNames> + 7. <usePrimitives> + + - Java 8 java.time.* types are now used by default in cdbimport (and in "Reengineer Database Schema" tool in Modeler) + This can be controlled by <useJava7Types> property in <dbimport> (or checkbox in Modeler). + + - For Ant users: cayenne-tools.jar split into two parts: + 1. cayenne-ant.jar for Ant tasks + 2. cayenne-cgen.jar for class generation functionality (required only for cgen task) + + +* Per CAY-2166, Cayenne supports auto-loading of DI modules. There are a few changes worth mentioning: + - Service override policies. In the previous 4.0 milestones custom modules would override "builder" modules + (i.e. implicit modules that wrap around various customizations made in response to the builder method calls). It + seemed logical to reverse this order, and let builder modules override custom modules. As the builder is + invoked explicitly when the stack assembly is performed, while modules can be written without any knowledge of the + final stack. + - Module Renaming and Explicit Loading of Modules. If you see compile errors (class not found for CayenneJodaModule, + CayenneJava8Module), just remove explicit loading of those modules. They will be auto-loaded if they are on classpath. + If you explicitly turn off auto-loading, use the new names for these modules: JodaModule and Java8Module. + +* Per CAY-2164, creating a ServerRuntimeBuilder is done via a static method on ServerRuntime ("ServerRuntime.builder()"). + The previous style (ServerRuntimeBuilder.builder()) is deprecated and will soon be removed, so you should replace it + with the new API. + +UPGRADING TO 4.0.M4 + +* Per CAY-2133, LegacyObjectNameGenerator is no longer provided, as it wasn't possible to maintain it in a fully backwards- + compatible manner. Embrace the new naming scheme, or provide your own ObjectNameGenerator if you absolutely need the + old names. + +* Per CAY-2125 we no longer inject SchemaUpdateStrategy directly. Instead SchemaUpgradeStrategyFactory is injected. + If you have your own modules with SchemaUpdateStrategy injection, it will be ignored. So please review your + DI code and update it to use SchemaUpgradeStrategyFactory (or likely its subclass). + +* Per CAY-2060 4.0.M4 changes the way queries are stored in the mapping files, so all existing *.map.xml files should be upgraded. + To do that open each of your existing projects in the new CayenneModeler. Agree to perform an upgrade when asked. + + Also EntityResolver.getQuery(String) method is removed. If you relied on it, consider switching to MappedSelect or MappedExec query, or if you absolutely need to get a hold of specific query, use EntityResolver.getQueryDescriptor(String).buildQuery(). + +* Per CAY-2065 ROPHessianServlet has been discarded in favor of new implementation called ROPServlet, + so if you were using org.apache.cayenne.configuration.rop.server.ROPHessianServlet in your web.xml configuration, + you must change it to org.apache.cayenne.rop.ROPServlet + +* Per CAY-2118 we stopped a bunch of deprecated keys in cdbimport configuration, and also removed the ability to set + properties of "reverseEngineering" config object at the top level of configuration. So you will always need + <reverseEngineering></reverseEngineering> tag in Maven (but not Ant) to setup any DB filtering. Removed top-level + configuration keys: + + 1. catalog + 2. schema (also schemaName) + 3. excludeTables + 4. includeTables + 5. procedurePattern + 6. tablePattern + 7. importProcedures + 8. meaningfulPk + 9. overwrite + +UPGRADING TO 4.0.M3 + +* Per CAY-2026 minimal Java version is now 1.7. If you are still need Java 1.6, you can use Cayenne 3.1 or 4.0.M2 until your + application is able to upgrade. + +* We no longer add @Deprecated annotation to generated String property names in entity superclasses. + Instead String property names inclusion + became optional, controlled with "createPropertyNames" flag in cgen ("false" by default). Also a similar option + was added to Advanced Type of CayenneModeler class generation dialog. + Note if you have references to @Deprecated String properties and you run cgen without "createPropertyNames" flag, + there will be errors. Reference Jira: CAY-1991 + +* Per CAY-2008, CAY-2009 we got rid of org.apache.cayenne.conn.PoolManager and associated classes that made up a + pooling DataSource. A replacement is non-blocking DataSource under org.apache.cayenne.datasource (PoolingDataSource, ManagedPoolingDataSource), + best assembled using org.apache.cayenne.datasource.DataSourceBuilder. + +* Per CAY-2012 API for ObjectSelect and SelectById queries were changed to remove "reset" functionality. Methods like 'where', 'prefetch', + 'orderBy' that would previously reset the corresponding option state now work as "append". Methods that would previously append to the + option state were removed as redundant. Please revisit your code if you previously relied on the reset behavior. + +* If you are using DBCPDataSourceFactory, you will need to take a few steps to upgrade: + + - Per CAY-2025 and CAY-2026, DBCPDataSourceFactory is now based on DBCP2 (which is required under Java 1.7 and newer). + - Check your DBCP properties file to ensure it uses property names supported by DBCP. + (In the past Cayenne would require prefixing those properties with 'cayenne.dbcp.'. If you still have that prefix, remove it). + - To use DBCPDataSourceFactory, you will now have to explicitly include an extra Cayenne module, as it is no longer in cayenne-server. + E.g. if you are using Maven: + + <parent> + <groupId>org.apache.cayenne</groupId> + <artifactId>cayenne-dbcp2</artifactId> + <version>4.0.M3</version> + </parent> + + +UPGRADING TO 4.0.M2 + +* Note that 3.2 line of development was renamed to 4.0. So 4.0.M2 is a straight descendant of + 3.2M1. + +* org.apache.cayenne.map.naming.SmartNamingStrategy was replaced with org.apache.cayenne.map.naming.DefaultNameGenerator. If you + mentioned SmartNamingStrategy explicitly in your Maven or Ant configs, make sure you rename it. Since this was/is the default, + chances are that you didn't. + +* Minimal required JDK version is now 1.6 (both for modeler and runtime). This is a pretty conservative + requirement, considering that Java 1.6 has been EOL'd by Oracle on Feb 2013. + +* Managing listeners in the Modeler is counterproductive and confusing, + so support for them was removed from the Modeler per CAY-1842. If you have + any listeners in the model, delete them from XML, and start using annotations, + and register them in runtime: + + runtime.getDataDomain().addListener(myListener); + +* Cayenne.objectForSelect(Select) that was present in 3.2M1 was replaced with ObjectContext.selectOne(Select). + +* In-memory expression eval (Expression.match/Expression.evaluate) will now return true when matching Persistent + with ObjectId or Number or String (if those correspond to a given object's ObjectId). Also 2 objects in 2 different + ObjectContexts will match even if they have differing local changes. Only their ObjectIds are compared. + See CAY-1860 for details. + +* ResultIterator was moved to org.apache.cayenne to make it available on both server and client. When you upgrade + related iterator code, make sure to check ResultIterator improvements (e.g. it implements Iterable, it is no + longer limited to DataRows and can fetch objects just as easy, it no longer requires catching checked exceptions). + Also check ObjectContext.iterate(..) method. + +* Transaction management was refactored significantly: + + * External transactions are no longer configured in the Modeler. Instead they are provided as a DI property + defined in Constants.SERVER_EXTERNAL_TX_PROPERTY. + + * TransactionDelegate is no longer present. Similar functionality can be achieved by writing a decorator for + Transaction interface and using a custom TransactionFactory to decorate standard transactions. + + * If your code relied on static methods Transaction.externalTransaction() or Transaction.internalTransaction() for + manual tx management, use constructors of ExternalTransaction and CayenneTransaction classes instead. + +* When switching to ServerRuntimeBuilder, users of multi-config projects may erroneously assume it has the same + behavior as 3.1 ServerRuntime in assigning domain name to the resulting merged project. Which is to use the + name of the last project config. We are trying to move away from this behavior, so ServerRuntimeBuilder + will only use config name if there's only one config and no override. Otherwise it will use the override, + or if not set - "cayenne" as the default name. Reference Jira: CAY-1972 + + + +UPGRADING TO 3.1B1 + +* In an attempt to better organize DI configuration and ultimately make it easier to understand, + all properties and DI collection keys were placed in a single Constants interface. The property and key String + values were changed to follow a single convention. Please refer to https://issues.apache.org/jira/browse/CAY-1665 + for mapping between the old and the new names. + + If you are upgrading from the earlier 3.1 releases, please change your code and runtime parameters accordingly. + 3.0 users may still review the new property names as some of them existed prior to DI. + +UPGRADING TO 3.1M3 + +* DataMap listeners are no longer supported. Global listeners registered through + annotations API can be used instead. E.g.: + + public class SomeListener { + @PrePersist + public void onPrePersist(Object object) { + // callback method + } + } + + To register listener class use following API: + + runtime.getChannel().getEntityResolver().getCallbackRegistry().addListener(listenerInstance); + + Note that DataMap listeners entries from old *.map.xml files will be ignored. + + +UPGRADING TO 3.1M1 + +The most essential change in Cayenne 3.1 is a new Dependency-Injection (DI) based +bootstrap and configuration mechanism, which is not backwards compatible with 3.0. +Read on to learn about specific areas that require attention when upgrading your +application. + +* Upgrading 3.0.x mapping files: Open each of your existing projects in the new + CayenneModeler. Agree to perform an upgrade when asked. Note that Cayenne + 3.1 only supports one DataDomain per project, so if multiple domains existed in + the project, you'll end up with multiple project files after the upgrade. Each + will require instantiation of a separate ServerRuntime in the code. + +* Upgrading 2.0.x and earlier mappings files: Note that CayenneModeler + 3.1 won't be able to upgrade projects created with a Modeler older than 3.0. To + upgrade older projects do it in two steps - download Cayenne 3.0, and perform an + upgrade with 3.0 CayenneModeler. After that perform a second upgrade from 3.0 to + 3.1. + +* Cayenne runtime bootstrap: In 3.1 all classes under "org.apache.cayenne.conf" + package were removed, superseded by dependency injection (DI) based configuration, + with main classes located under "org.apache.cayenne.configuration" and its + subpackages. E.g. to instantiate the Cayenne stack in 3.1 you would do + something like that: + + ServerRuntime cayenneRuntime = new ServerRuntime("cayenne-UntitledDomain.xml"); + + To obtain a new ObjectContext, the following API is used: + + ObjectContext context = cayenneRuntime.getContext(); + +* No static configuration singleton: Cayenne 3.1 completely gets rid of a (previously + optional, but widely used) "Configuration.sharedConfiguration" singleton. This + change was done to acknowledge the fact that single configuration per application + is just a special case, and generally user can instantiate as many configurations + (or ServerRuntime's in 3.1 terms) as appropriate. This however means that the + users must now decide themselves where in their application it is appropriate to + store ServerRuntime instance (or instances). E.g. it can be stored as an attribute + of ServletContext (check out "org.apache.cayenne.configuration.web.CayenneFilter" and + "org.apache.cayenne.configuration.web.WebUtil"), reside in a user's favorite dependency + injection container (e.g. Spring), or even be saved in a user's own static singleton + variable. + +* No static DataContext creation methods: Methods like DataContext.createDataContext() + were relying on static configuration singleton, which was removed (see above). Use + ServerRuntime instance methods to create context instances. + +* Webapp configuration changes: "org.apache.cayenne.conf.WebApplicationContextFilter" + was replaced by "org.apache.cayenne.configuration.web.CayenneFilter". See CayenneFilter + javadocs for details on of the init parameters. + +* ROP Server configuration changes: "org.apache.cayenne.remote.hessian.service.HessianServlet" + was replaced by "org.apache.cayenne.configuration.rop.server.ROPHessianServlet". See + ROPHessianServlet javadocs for details on its init parameters. + +* ROP Client configuration changes: There is now a special DI "runtime" object - + "org.apache.cayenne.configuration.rop.client.ClientRuntime", so client connection + and channel can be (optionally) managed via DI, with connection parameters + specified as properties. E.g.: + + Map<String, String> properties = new HashMap<String, String>(); + properties.put(ClientModule.ROP_SERVICE_URL, "http://localhost:8080/tutorial/cayenne-service"); + properties.put(ClientModule.ROP_SERVICE_USER_NAME, "cayenne-user"); + properties.put(ClientModule.ROP_SERVICE_PASSWORD, "secret"); + + ClientRuntime runtime = new ClientRuntime(properties); + ObjectContext context = runtime.getContext(); + + The advantage of this approach in that all the client stack objects are managed + by the DI container and a user can customize/override various pieces. + +* Deprecated API removal: All API deprecated as of 3.0 is removed. This may require + some code cleanup. Since 3.0 javadocs for suggested replacements. Also if custom + class generation templates are used, doublecheck that they do not reference removed + EntityUtil methods, which were replaced by variables placed directly into Velocity context. + +* Custom DbAdapter / DbAdapterFactory: The interface used by Cayenne to allow custom + DbAdapters to be auto-detected with AutoAdapter has changed from + org.apache.cayenne.dba.DbAdapterFactory to org.apache.cayenne.configuration.DbAdapterDetector. + Note that now a custom implementation can rely on Cayenne DI to obtain Cayenne + dependencies via @Inject annotation. To register a custom implementation with + Cayenne DI container, one might do this in the custom DI module: + + ... + public void configure(Binder binder) { + ... + binder.bindList(DbAdapterFactory.class).add(new MyDbAdapterDetector()); + } + +* Custom DataSourceFactory: The interface used by Cayenne to load custom DataSource + factories has changed from "org.apache.cayenne.conf.DataSourceFactory" to + "org.apache.cayenne.configuration.DataSourceFactory". This new interface must be + implemented by the custom factories. Note that now a custom implementation can + rely on Cayenne DI to obtain Cayenne dependencies via @Inject annotation. + +* Replaced JNDI preferences hack with runtime properties: "JNDI hack", as it was + known prior to 3.1, allowed to define a named database connection using CayenneModeler, + and then Cayenne would read this connection information from Modeler preferences + and use it as a failover for JNDI DataNodes. The problem with this is that it + required CayenneModeler and HSQLDB jars on the application classpath, and also that the + preferences database was prone to data corruption. In 3.1, preferences hack is no + longer available. Instead JNDI (or really any other type of DataSourceFactory) + can be overridden via runtime properties (or by redefining DataSourceFactoryLoader + via DI). See org.apache.cayenne.configuration.server.PropertyDataSourceFactory javadocs for + details. Here are some simple examples: + + -Dcayenne.jdbc.url=jdbc://urloverride + -Dcayenne.jdbc.driver=com.example.MyDriver + -Dcayenne.jdbc.username=foo + -Dcayenne.jdbc.password=bar + + +UPGRADING TO 3.0B1 + +* Per CAY-1281 pre-persist callback was renamed to post-add (while pre-persist now has a different meaning). + To upgrade your project, open it in the Modeler and agree to perform an automated upgrade. + +UPGRADING TO 3.0M6 + +* Per CAY-1154, org.apache.cayenne.access.reveng package was renamed to org.apache.cayenne.map.naming. So, if you + use your own naming strategies, you should update as well. + +* Per CAY-1161, custom columns feature in SelectQuery was deprecated. Consider switching to EJBQL as an alternative. + Custom columns support will likely go away completely after 3.0M6. + +* Per CAY-1175, 'columnNameCapitalization' property of SQLTemplate now takes an enum, not a String. + Calling code should be fixed. + +UPGRADING TO 3.0M5 + +* Per CAY-1127, query "name" property is no longer used as an internal cache key. This change should be transparent + to most users, as Cayenne generates a correct cache key internally when needed, however if a user code explicitly + depended on the value of the cache key, it should be updated to use something like this: + + String cacheKey = query.getQueryMetadata(entityResolver).getCacheKey(); + +UPGRADING TO 3.0M4 + +* Per CAY-1049 API of the internal classes that participate in SelectQuery translation has changed in a way that + is not backwards compatible. This should not affect regular users, however if you implemented a custom DbAdapter, + check for classes that directly or indirectly inherit from QueryAssembler and QueryAssemblerHelper and fix them + if needed. + +UPGRADING TO 3.0M3 + +* Java 5 is now required as a minimum for Cayenne Modeler and the Cayenne libraries. + +* After the move to Java 5, generics have been implemented in many of the Cayenne APIs. If you don't use generics +in your project this should not affect you, but if you do you will need to review any new compiler errors or warnings. +The effect of generics is at compile time only, so their introduction will not change the runtime behaviour of +your application once compiled. + +UPGRADING TO 3.0M2 + +* Lifecycle Callbacks require no setup: + Per CAY-843, lifecycle callback functionality is now built into DataContext and DataDomain, + so all the custom code to set them up is no longer needed. Also as a result of this change + 'org.apache.cayenne.intercept' package is removed from Cayenne. + Further information can be found here: http://cayenne.apache.org/doc/lifecycle-callbacks.html + +UPGRADING TO 3.0M1 + +* Jar files: + - all jar files now include version numbers in their names. + - "cayenne-nodeps.jar" is renamed to "cayenne-server-x.x.x.jar" + - "fat" cayenne.jar file that included dependencies is no longer distributed. + All dependencies that it contained are included as separate jars under + "cayenne-x.x.x/lib/third-party/". The new "cayenne-server-x.x.x.jar" plus + dependencies should be used in place of cayenne.jar. + - A new "cayenne-agent-x.x.x.jar" is included. It is used for class enhancement + with POJO's and JPA. "Classic" Cayenne users can ignore this file. + +* Ant class generator is using what was called "version 1.2" by default. This means that if you were + using custom Velocity templates in 1.1 mode, you should either change the templates or specify 'version="1.1"' + in the buildfile explicitly. + +* Cross-platform Modeler Startup is now done without a batch file or a shell script. + A "fat" CayenneModeler.jar is included in the "cayenne-x.x.x/bin" directory + and can be run either by double-clicking the jar (on platforms that support that) + or by running "java -jar CayenneModeler.jar". + +* Note that FireBird adapter is no longer distributed with Cayenne. The one we had was half-working + and we could not support it anymore. + +* DataContextTransactionEventListener, DataObjectTransactionEventListener, DataContextEvent all were deprecated + favor of callbacks. NOTE THAT THIS API WILL BE REMOVED IN THE FOLLOWING 3.0 MILESTONES. + +* Long PK: Cayenne now supports "long" primary key generation (previously it only supported "int"). You may + have to change the existing PK lookup tables on some databases to take advantage of that (this is optional, + and is needed if you expect your PK to exceed maximum value of an "int" allowed in your database). E.g. on + MySQL you may run the following SQL: + + ALTER TABLE AUTO_PK_SUPPORT CHANGE COLUMN NEXT_ID NEXT_ID BIGINT NOT NULL; + + +UPGRADING TO 2.0.x + +Since 2.0, Cayenne is an Apache project, so all "org.objectstyle.*" java packages +where renamed to "org.apache.*" analogues. Since 1.2.x and 2.0.x release lines maintain +full compatibility with each other, differing only in package names, upgrading to 2.0.x +can be a first step in a safe upgrade to the latest version of Cayenne. + +* Upgrading mapping files: + +To upgrade the mapping files, open them in the new Modeler. You should see an upgrade +dialog. Once you confirm the upgrade + +* Upgrading the code: + +Replace "org.objectstyle." with "org.apache." everywhere in imports and do a clean +recompile. + +* Upgrading logging configuration + +If you are using custom logging configuration file, make sure that all the +Cayenne loggers are changed from "org.objectstyle" to "org.apache". http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3dae546/assembly/pom.xml ---------------------------------------------------------------------- diff --git a/assembly/pom.xml b/assembly/pom.xml index a01b862..0a0e09e 100644 --- a/assembly/pom.xml +++ b/assembly/pom.xml @@ -212,6 +212,28 @@ <tarLongFileMode>gnu</tarLongFileMode> </configuration> </plugin> + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <executions> + <execution> + <phase>process-resources</phase> + <configuration> + <tasks> + <copy todir="${project.build.directory}/doc-staging"> + <fileset dir="${basedir}/../docs/asciidoc"> + <include name="**/target/generated-docs/*.pdf"/> + <include name="**/target/generated-docs/*.html"/> + </fileset> + <flattenmapper/> + </copy> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + </plugin> </plugins> </build> </profile> http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3dae546/assembly/src/main/resources/assemblies/assembly-generic.xml ---------------------------------------------------------------------- diff --git a/assembly/src/main/resources/assemblies/assembly-generic.xml b/assembly/src/main/resources/assemblies/assembly-generic.xml index 4b9028e..361a548 100644 --- a/assembly/src/main/resources/assemblies/assembly-generic.xml +++ b/assembly/src/main/resources/assemblies/assembly-generic.xml @@ -50,30 +50,20 @@ <directory>../cayenne-cgen/src/main/resources/templates/v1_2</directory> <outputDirectory>templates</outputDirectory> </fileSet> - </fileSets> - - <files> - <file> - <source>../docs/asciidoc/getting-started-guide/target/generated-docs/getting-started-guide.pdf</source> - <outputDirectory>doc</outputDirectory> - <destName>getting-started.pdf</destName> - </file> - <file> - <source>../docs/asciidoc/getting-started-rop/target/generated-docs/getting-started-rop.pdf</source> - <outputDirectory>doc</outputDirectory> - <destName>getting-started-rop.pdf</destName> - </file> - <file> - <source>../docs/asciidoc/cayenne-guide/target/generated-docs/cayenne-guide.pdf</source> - <outputDirectory>doc</outputDirectory> - <destName>cayenne-guide.pdf</destName> - </file> - <file> - <source>../docs/asciidoc/upgrade-guide/target/generated-docs/upgrade-guide.pdf</source> + <fileSet> + <directory>target/doc-staging</directory> <outputDirectory>doc</outputDirectory> - <destName>upgrade-guide.pdf</destName> - </file> - </files> + </fileSet> + <fileSet> + <directory>../</directory> + <outputDirectory>/</outputDirectory> + <includes> + <include>RELEASE-NOTES.txt</include> + <include>UPGRADE.txt</include> + <include>KEYS</include> + </includes> + </fileSet> + </fileSets> <dependencySets> <dependencySet> http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3dae546/assembly/src/main/resources/assemblies/assembly-mac.xml ---------------------------------------------------------------------- diff --git a/assembly/src/main/resources/assemblies/assembly-mac.xml b/assembly/src/main/resources/assemblies/assembly-mac.xml index b2d292d..6e820ee 100644 --- a/assembly/src/main/resources/assemblies/assembly-mac.xml +++ b/assembly/src/main/resources/assemblies/assembly-mac.xml @@ -48,30 +48,20 @@ <directory>../cayenne-cgen/src/main/resources/templates/v1_2</directory> <outputDirectory>templates</outputDirectory> </fileSet> - </fileSets> - - <files> - <file> - <source>../docs/asciidoc/getting-started-guide/target/generated-docs/getting-started-guide.pdf</source> - <outputDirectory>doc</outputDirectory> - <destName>getting-started.pdf</destName> - </file> - <file> - <source>../docs/asciidoc/getting-started-rop/target/generated-docs/getting-started-rop.pdf</source> - <outputDirectory>doc</outputDirectory> - <destName>getting-started-rop.pdf</destName> - </file> - <file> - <source>../docs/asciidoc/cayenne-guide/target/generated-docs/cayenne-guide.pdf</source> - <outputDirectory>doc</outputDirectory> - <destName>cayenne-guide.pdf</destName> - </file> - <file> - <source>../docs/asciidoc/upgrade-guide/target/generated-docs/upgrade-guide.pdf</source> + <fileSet> + <directory>target/doc-staging</directory> <outputDirectory>doc</outputDirectory> - <destName>upgrade-guide.pdf</destName> - </file> - </files> + </fileSet> + <fileSet> + <directory>../</directory> + <outputDirectory>/</outputDirectory> + <includes> + <include>RELEASE-NOTES.txt</include> + <include>UPGRADE.txt</include> + <include>KEYS</include> + </includes> + </fileSet> + </fileSets> <dependencySets> <dependencySet>