Web site: https://causeway.apache.org/

Description

  Apache Causeway software is a framework for rapidly developing domain-driven
  apps in Java, built upon the Spring Boot platform.  Write your business
  logic in entities, domain services and repositories, and the framework
  dynamically generates a representation of that domain model as a webapp or a
  RESTful API.  Licensed under ASL v2.0. Suitable for prototyping or for
  production.

  Causeway was accepted into the Apache Incubator in Sept 2010 and graduated
  in Oct 2012.  Its first release as a TLP was in Dec 2012.  The framework's
  original name was Isis; it was renamed to Causeway in Oct 2022.

  You can participate in the Apache Causeway community through either the
  mailing lists or our slack channel.  Join the mailing list by sending an
  empty message to users-subscribe@causeway.apache.org.  If you participate
  using slack (most users do), then just send a message to the mailing list
  asking for an invite.  If you are interested in also contributing to the
  framework, subscribe to dev-subscribe@causeway.apache.org.  Significant
  contributions over a sustained period of time can earn a contributor commit
  access to the codebase.


TLP releases:

  * causeway-3.0.0                                 :  3 Apr 2024
  * causeway-2.0.0                                 :  3 Apr 2024

  * causeway-2.0.0-RC4                             :  2 Jan 2024

  * causeway-2.0.0-RC3                             :  9 Oct 2023

  * causeway-2.0.0-RC2                             : 13 Jul 2023

  * causeway-2.0.0-RC1                             : 25 Mar 2023

  * isis-2.0.0-M9                                  : 18 Oct 2022

  * isis-2.0.0-M8                                  : 06 Oct 2022

  * isis-2.0.0-M7                                  : 28 Feb 2022

  * isis-2.0.0-M6                                  : 26 Aug 2021

  * isis-2.0.0-M5                                  : 28 Mar 2021

  * isis-2.0.0-M4                                  : 17 Oct 2020

  * isis-2.0.0-M3                                  : 27 Mar 2020

  * isis-2.0.0-M2                                  : 22 Jan 2019
  * helloworld-archetype-2.0.0-M2                  : 22 Jan 2019
  * simpleapp-archetype-2.0.0-M2                   : 22 Jan 2019

  * isis-1.17.0                                    :  6 Jan 2019
  * helloworld-archetype-1.17.0                    :  6 Jan 2019
  * simpleapp-archetype-1.17.0                     :  6 Jan 2019

  * isis-2.0.0-M1                                  : 31 Jul 2018
  * helloworld-archetype-2.0.0-M1                  : 31 Jul 2018
  * simpleapp-archetype-2.0.0-M1                   : 31 Jul 2018

  * isis-1.16.2                                    :  5 Mar 2018
  * helloworld-archetype-1.16.2                    :  5 Mar 2018
  * simpleapp-archetype-1.16.2                     :  5 Mar 2018

  * isis-1.16.1                                    : 22 Feb 2018
  * helloworld-archetype-1.16.1                    : 22 Feb 2018
  * simpleapp-archetype-1.16.1                     : 22 Feb 2018

  * isis-1.16.0                                    :  8 Jan 2018
  * helloworld-archetype-1.16.0                    :  8 Jan 2018
  * simpleapp-archetype-1.16.0                     :  8 Jan 2018

  * isis-1.15.1                                    : 25 Sep 2017
  * helloworld-archetype-1.15.1                    : 25 Sep 2017
  * simpleapp-archetype-1.15.1                     : 25 Sep 2017

  * isis-1.15.0                                    : 14 Aug 2017
  * helloworld-archetype-1.15.0                    : 14 Aug 2017
  * simpleapp-archetype-1.15.0                     : 14 Aug 2017

  * isis-1.14.0                                    : 19 Feb 2017
  * simpleapp-archetype-1.14.0                     : 19 Feb 2017

  * simpleapp-archetype-1.13.2.1                   : 03 Jan 2017

  * isis-1.13.2                                    : 14 Dec 2016
  * simpleapp-archetype-1.13.2                     : 14 Dec 2016

  * isis-1.13.1                                    : 30 Oct 2016
  * simpleapp-archetype-1.13.1                     : 30 Oct 2016

  * isis-1.13.0                                    : 11 Jul 2016
  * simpleapp-archetype-1.13.0                     : 11 Jul 2016

  * isis-1.12.2                                    :  6 Jun 2016
  * simpleapp-archetype-1.12.2                     :  6 Jun 2016

  * isis-1.12.1                                    : 12 Apr 2016
  * simpleapp-archetype-1.12.1                     : 12 Apr 2016

  * isis-1.12.0                                    : 29 Mar 2016
  * simpleapp-archetype-1.12.0                     : 29 Mar 2016

  * isis-1.11.1                                    : 17 Jan 2016
  * simpleapp-archetype-1.11.1                     : 17 Jan 2016

  * isis-1.11.0                                    :  2 Jan 2016
  * simpleapp-archetype-1.11.0                     :  2 Jan 2016

  * isis-1.10.0                                    : 10 Nov 2015
  * simpleapp-archetype-1.10.0                     : 10 Nov 2015

  * isis-1.9.0                                     :  1 Sep 2015
  * simpleapp-archetype-1.9.0                      :  1 Sep 2015

  * isis-1.8.0                                     : 23 Feb 2015
  * simpleapp-archetype-1.8.0                      : 23 Feb 2015

  * isis-1.7.0                                     : 18 Oct 2014
  * isis-viewer-wicket-1.7.0                       : 18 Oct 2014
  * todoapp-archetype-1.7.0                        : 18 Oct 2014
  * simpleapp-archetype-1.7.0                      : 18 Oct 2014

  * isis-1.6.0                                     : 28 Jul 2014
  * isis-viewer-wicket-1.6.0                       : 28 Jul 2014
  * todoapp-archetype-1.6.0                        : 28 Jul 2014
  * simpleapp-archetype-1.6.0                      : 28 Jul 2014

  * isis-1.5.0                                     : 08 Jun 2014
  * isis-objectstore-jdo-1.5.0                     : 08 Jun 2014
  * isis-security-shiro-1.5.0                      : 08 Jun 2014
  * isis-viewer-restfulobjects-2.3.0               : 08 Jun 2014
  * isis-viewer-wicket-1.5.0                       : 08 Jun 2014
  * quickstart-wicket-restful_jdo-archetype-1.5.0  : 08 Jun 2014
  * simple-wicket-restful_jdo-archetype-1.5.0      : 08 Jun 2014

  * isis-objectstore-jdo-1.4.1                     : 14 Mar 2014
  * isis-viewer-wicket-1.4.1                       : 14 Mar 2014
  * quickstart-wicket-restful_jdo-archetype-1.4.1  : 14 Mar 2014
  * simple-wicket-restful_jdo-archetype-1.4.1      : 14 Mar 2014

  * isis-1.4.0                                     : 11 Mar 2014
  * isis-objectstore-jdo-1.4.0                     : 11 Mar 2014
  * isis-security-file-1.4.0                       : 11 Mar 2014
  * isis-security-shiro-1.4.0                      : 11 Mar 2014
  * isis-viewer-restfulobjects-2.2.0               : 11 Mar 2014
  * isis-viewer-wicket-1.4.0                       : 11 Mar 2014
  * quickstart-wicket-restful_jdo-archetype-1.4.0  : 11 Mar 2014
  * simple-wicket-restful_jdo-archetype-1.4.0      : 11 Mar 2014

  * isis-viewer-wicket-1.3.1                       : 07 Nov 2013
  * quickstart-wicket-restful_jdo-archetype-1.3.1  : 07 Nov 2013
  * simple-wicket-restful_jdo-archetype-1.3.1      : 07 Nov 2013

  * isis-1.3.0                                     : 25 Oct 2013
  * isis-objectstore-jdo-1.3.0                     : 25 Oct 2013
  * isis-security-shiro-1.3.0                      : 25 Oct 2013
  * isis-viewer-restfulobjects-2.1.0               : 25 Oct 2013
  * isis-viewer-wicket-1.3.0                       : 25 Oct 2013
  * quickstart-wicket-restful_jdo-archetype-1.3.0  : 25 Oct 2013
  * simple-wicket-restful_jdo-archetype-1.3.0      : 25 Oct 2013

  * isis-1.2.0                                     : 31 May 2013
  * isis-objectstore-jdo-1.1.0                     : 31 May 2013
  * isis-security-file-1.0.1                       : 31 May 2013
  * isis-security-shiro-1.1.1                      : 31 May 2013
  * isis-viewer-restfulobjects-2.0.0               : 31 May 2013
  * isis-viewer-wicket-1.2.0                       : 31 May 2013
  * quickstart-wicket-restful_jdo-archetype-1.0.3  : 31 May 2013

  * isis-1.1.0                                     : 31 Jan 2013
  * isis-security-shiro-1.1.0                      : 31 Jan 2013
  * isis-viewer-wicket-1.1.0                       : 31 Jan 2013
  * quickstart-wicket-restful_jdo-archetype-1.0.2  : 31 Jan 2013

  * isis-security-shiro-1.0.0                      : 10 Jan 2013
  * quickstart-wicket-restful_jdo-archetype-1.0.1  : 10 Jan 2013

  * isis-1.0.0                                     : 24 Dec 2012
  * isis-objectstore-jdo-1.0.0                     : 24 Dec 2012
  * isis-security-file-1.0.0                       : 24 Dec 2012
  * isis-viewer-restfulobjects-1.0.0               : 24 Dec 2012
  * isis-viewer-wicket-1.0.0                       : 24 Dec 2012
  * quickstart-wicket-restful_jdo-archetype-1.0.0  : 24 Dec 2012

Incubating releases:

  * 0.2.0-incubating                               : Jan 2012
  * 0.1.2-incubating                               : Jul 2011


Resources:

  item            type   URL
  -------------   -----  -----------------------------------------------------
  Source code     git    https://github.com/apache/causeway.git
  Source code     gitrw  https://github.com/apache/causeway.git
  Status file     www    https://raw.githubusercontent.com/apache/causeway/master/STATUS
  Website         www    https://causeway.apache.org
  Mailing list    dev    dev@causeway.apache.org
  Mailing list    users  users@causeway.apache.org
  JIRA            www    https://issues.apache.org/jira/browse/CAUSEWAY
  Wiki            www    https://cwiki.apache.org/confluence/display/CAUSEWAY/Index
  Sonarcloud      www    https://sonarcloud.io/project/overview?id=apache_causeway
  CI (unofficial) www    https://github.com/apache-causeway-committers/causeway-nightly/actions
  CI (demo apps)  www    https://github.com/apache-causeway-committers/causeway-nightly-deploys/actions


Team:

  role(s)               user id      name
  -----------------     -----        -------------------------------------
  PMC, Committer        ahuber       Andi Huber (CLA on file)
  PMC, Committer        bibryam      Bilgin Ibryam (CLA on file)
  PMC, Committer        dslaughter   David Slaughter (CLA on file)
  PMC, Committer        danhaywood   Daniel Keir Haywood (CLA on file)
  PMC, Committer        jcvanderwal  Jeroen van der Wal (CLA on file)
  PMC, Committer        jdoornenbal  Johan Doornenbal (CLA on file)
  PMC, Committer, Chair joergrade    Joerg Rade (CLA on file)
  PMC  Committer        kevin        Kevin Meyer (CLA on file)
  PMC, Committer        madytyoo     Maurizio Taverna (CLA on file)
  PMC, Committer        mgrigorov    Martin Grigorov (CLA on file)
  PMC, Committer        mnour        Mohammad Nour El-Din (CLA on file)
  PMC, Committer        mhesse       Martin Hesse (CLA on file)
  PMC, Committer        oscarbou     Oscar Bou (CLA on file)
  PMC, Committer        rmatthews    Robert Charles Matthews (CLA on file)
  PMC, Committer        struberg     Mark Struberg (CLA on file)
  PMC, Committer        themalkolm   Alexander Krasnukhin (CLA on file)
