http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c4c0e342/docs/guide/misc/migrate-to-0.8.0.md ---------------------------------------------------------------------- diff --git a/docs/guide/misc/migrate-to-0.8.0.md b/docs/guide/misc/migrate-to-0.8.0.md new file mode 100644 index 0000000..a71d19b --- /dev/null +++ b/docs/guide/misc/migrate-to-0.8.0.md @@ -0,0 +1,32 @@ +--- +layout: website-normal +title: Migrating to 0.8.0 +--- + +As noted in the [release notes](release-nodes.html), +this version introduces major package renames. + +However migrating your code should not be hard: + +* For small Java projects, simply "Optimizing Imports" in your IDE should fix code issues. + +* For YAML blueprints and larger projects, +a set of regexes has been prepared [here](migrate-to-0.8.0-regexes.sed) +detailing all class renames. + +To download and apply this to an entire directory, you can use the following snippet. +If running this on a Java project, you should enter the `src` directory +or `rm -rf target` first. For other use cases it should be easy to adapt, +noting the use of `sed` and the arguments (shown for OS X / BSD here). +Do make a `git commit` or other backup before applying, +to make it easy to inspect the changes. +It may add a new line to any file which does not terminate with one, +so do not run on binary files. + +{% highlight bash %} +$ curl {{ site.url_root }}{{ site.path.guide }}/misc/migrate-to-0.8.0-regexes.sed -o /tmp/migrate.sed +$ for x in `find . -type file` ; do sed -E -i .bak -f /tmp/migrate.sed $x ; done +$ find . -name "*.bak" -delete +{% endhighlight %} + +If you encounter any issues, please [contact us](/website/community/).
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c4c0e342/docs/guide/misc/release-notes.md ---------------------------------------------------------------------- diff --git a/docs/guide/misc/release-notes.md b/docs/guide/misc/release-notes.md index d174025..5a61833 100644 --- a/docs/guide/misc/release-notes.md +++ b/docs/guide/misc/release-notes.md @@ -12,13 +12,14 @@ title: Release Notes * Introduction * New Features * Backwards Compatibility -* Community Activity ### Introduction -Version 0.7.0 is a major step for Apache Brooklyn. It is the first full release -of the project as part of the Apache incubator. +Version 0.8.0 is a rapid, clean-up and hardening release, as we prepare for graduation. +The biggest change is the package refactoring, discussed in the Backwards Compatibility section. +Other new features include more machine management (suspend/resume and windows enhandements), +MySQL cluster, entitlements enhancements, and pluggable blueprint languages. Thanks go to our community for their improvements, feedback and guidance, and to Brooklyn's commercial users for funding much of this development. @@ -26,91 +27,46 @@ to Brooklyn's commercial users for funding much of this development. ### New Features -This release is of a magnitude that makes it difficult to do justice to all of -the features that have been added to Brooklyn in the last eighteen months. The -selection here is by no means all that is new. +New features include: -1. _Blueprints in YAML_ In a significant boost to accessibility, authors no - longer need to know Java to model applications. The format follows the - [OASIS CAMP specification](https://www.oasis-open.org/committees/camp/) - with some extensions. +* All classes are in the `org.apache.brooklyn` namespace -1. _Persistence and rebind_ Brooklyn persists its state and on restart rebinds - to the existing entities. +* Port mappings supported for BYON locations: fixed-IP machines can now be configured + within subnets -1. _High availability_ Brooklyn can be run a highly available mode with a - master node and one or more standby nodes. +* The Entitlements API is extended to be more convenient and work better with LDAP -1. _Blueprint versioning_ The blueprint catalogue supports multiple versions - of blueprints. Version dependencies are managed with OSGi. +* The blueprint language is pluggable, so downstream projects can supply their own, + such as TOSCA to complement the default CAMP dialect used by Brooklyn -1. _Windows support_ Brooklyn can both run on and deploy to Windows instances. +* A MySQL master-slave blueprint is added -1. _Cloud integrations_ Significant support for several clouds, including - SoftLayer, Google Compute Engine and Microsoft Azure. - -1. _Downstream parent_ A new module makes it significantly simpler for downstream - projects to depend on Brooklyn. - - -Other post-0.7.0-M2 highlights include: - -1. New policies: `SshConnectionFailure`, which emits an event if it cannot make - an SSH connection to a machine, and `ConditionalSuspendPolicy`, which suspends - a target policy if it receives a sensor event. - -1. Brooklyn reports server features in responses to `GET /v1/server/version`. - -1. It is much easier for downstream projects to customise the behaviour of - `JcloudsLocationSecurityGroupCustomiser`. - -1. Brooklyn is compiled with Java 7 and uses jclouds 1.9.0. - -1. Improvements to the existing Nginx, Riak, RabbitMQ and Bind DNS entities and - support for Tomcat 8. +* Misc other new sensors and improvements to Redis, Postgres, and general datastore mixins +* jclouds version bumped to 1.9.1, and misc improvements for several clouds + including Softlayer and GCE + ### Backwards Compatibility -Changes since 0.7.0-M2: - -1. Passwords generated with the `generate-password` command line tool must be - regenerated. The tool now generates exactly `sha256( salt + password )`. - -Changes since 0.6.0: - -1. Code deprecated in 0.6.0 has been deleted. Many classes and methods are newly deprecated. - -1. Persistence has been radically overhauled. In most cases the state files - from previous versions are compatible but many items have had to change. - -1. Location configuration getter and setter methods are changed to match those - of Entities. This is in preparation for having all Locations be Entities. - -1. OpenShift integration has moved from core Brooklyn to the downstream project - https://github.com/cloudsoft/brooklyn-openshift. - -Please refer to the release notes for versions -[0.7.0-M2](https://brooklyn.incubator.apache.org/v/0.7.0-M2-incubating/misc/release-notes.html) -and -[0.7.0-M1](https://brooklyn.incubator.apache.org/v/0.7.0-M1/start/release-notes.html) -for further compatibility notes. - - -### Community Activity - -During development of 0.7.0 Brooklyn moved to the Apache Software Foundation. +Changes since 0.7.0-incubating: -Many exciting projects are using Brooklyn. Notably: +1. **Major:** Packages have been renamed so that everything is in the `org.apache.brooklyn` + namespace. This decision has not been taken lightly! + + This **[migration guide](migrate-to-0.8.0.html)** will assist converting projects to + the new package structure. + + We recognize that this will be very inconvenient for downstream projects, + and it breaks our policy to deprecate any incompatibility for at least one version, + but it was necessary as part of becoming a top-level Apache project. + Pre-built binaries will not be compatible and must be recompiled against this version. -* [Clocker](http://clocker.io), which creates and manages Docker cloud - infrastructures. + We have invested significant effort in ensuring that persisted state will be unaffected. -* The Brooklyn Cloud Foundry Bridge, which brings blueprints into the Cloud - Foundry marketplace with the [Brooklyn Service - Broker](https://github.com/cloudfoundry-incubator/brooklyn-service-broker) - and manages those services with the Cloud Foundry CLI plugin. +1. Some of the code deprecated in 0.7.0 has been deleted. + There are comparatively few newly deprecated items. -* [SeaClouds](http://www.seaclouds-project.eu/), an ongoing EU project for - seamless adaptive multi-cloud management of service based applications. +For changes in prior versions, please refer to the release notes for +[0.7.0](/v/0.7.0-incubating/misc/release-notes.html).
