* SWIG optimizations.
* Script to deploy linux wheel to S3 on release.
* Publishing select artifacts to pypi on release.
* Changed dev version pattern to match what python wants.
* Cleaned up setup and manifest for proper sdists.
* Faking extensions to get platform-specific wheels.
* Added core capnp files to bindings.
* GCE now encodes altitude using a 3D coordinate system.
* Distributing `*.i` files from `nupic.bindings` in binary packages.
* Updates test entry points to pure python. README instructions for running tests were updated.
* Missing configuration files are no longer ignored. A runtime exception is raised immediately when an expected configuration file is not found.
* Updated deployment logic to account for both deployment scenarios (iterative and release).
* Configured pypi deployment on all branches with tags.
* Added pypi deployment configuration for binary releases.
* Parsing python requirements in setuptools so they are included within published packages (working toward releases).
* Setting up python wheels packaging and upload to S3 for future distribution.
* Implemented logic for reusing segments, to enforce a fixed-size connectivity (nupic.core).
Release Process
1. Send announcement that a release is underway to the committer's lounge on
discourse.numenta.org and ask reviewers not to merge PRs in NuPIC until you're
done with the release.
2. Create a PR that includes:
- Release notes added to CHANGELOG.md
- Change to the VERSION file so it matches the intended release version
3. Wait for the PR to be approved and merged, and the Bamboo build to complete
successfully
4. Create a "release" in Bamboo with a version matching the intended release
version
5. Deploy the release in Bamboo. This will:
- Validate that the Bamboo release number matches the wheel version
- Push the wheel to PyPI
6. Create a new Github "Release" at https://github.com/numenta/nupic/releases/new
- Along with the creation of the release, there is an option to create a git tag with the release. Name it "X.Y.Z" and point it to the commit SHA for the merged PR described in 2 above.
- Release title should be "X.Y.Z"
- Release description should be the latest changelog
7. Send announcement to the committer's lounge on discourse.numenta.org that the release is complete.