Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
# Orbit Release Process

## Full Release

1. Create a **doc-refresh** branch. Add the logs of changes under
[changelog](https://github.com/uber/orbit/blob/dev/docs/changelog.rst).
The logs can be reused later for drafting release notes.
Rerun notebooks under **docs/tutorails** for defined readthedocs triggered job.
2. Submit a PR to dev branch for any changes of any documentation.
3. After the approval and merge from previous PR, create a release branch from `dev`
- e.g. `release-v1.0.15`
4. Update the version number in `orbit/__init__.py`. This version number will be propagated to `docs/conf.py`, `setup.cfg`, and `setup.py`.
4. Update the version number in `pyproject.toml`. This version number will be propagated to `docs/conf.py`, `setup.cfg`, and `setup.py`.
5. Commit changes
6. Test PyPI deployment locally by running [Optional]
- `python3 -m build`
- `python3 -m twine check dist/*`
- `python3 -m twine upload --repository testpypi dist/*`
- Verify the package on https://test.pypi.org/project/orbit-ml/
- Verify the package on <https://test.pypi.org/project/orbit-ml/>

> **Legacy (deprecated):** `python3 setup.py sdist bdist_wheel`
7. If necessary, additional PRs may be merged to the release branch directly, but this should be for bug fixes only.
Expand All @@ -29,35 +30,35 @@
- `git push origin dev`

here option `--no-ff` is important to have same commit ids between `master` and `dev`; `git rebase` instead of `git merge` is to avoid the additional merge commit.
10. Draft a new release: https://github.com/uber/orbit/releases/new
10. Draft a new release: <https://github.com/uber/orbit/releases/new>
- Select the `master` as the target branch
- Use version number for both the tag and title e.g. `v1.0.15`
- Add a bulleted list of changes in the description; this can be similar to change logs from step 1.
11. Click `Publish Release` once all changes are finalized and description is updated
12. All the documentation should be refreshed and can be found in https://orbit-ml.readthedocs.io/en/stable/

12. All the documentation should be refreshed and can be found in <https://orbit-ml.readthedocs.io/en/stable/>

## Quick Release

Sometimes we just want to release a patch, and no subsequent commits are needed on the release branch.
In this case, we can avoid creating the branch and create a release directly from dev.

1. From `dev`, update the version number in `orbit/__init__.py`.
2. Commit changes
3. Merge to `master`
4. Draft a new release: https://github.com/uber/orbit/releases/new
4. Draft a new release: <https://github.com/uber/orbit/releases/new>
- Select the master branch as the target branch
- Use version number for both the tag and title
- Add a bulleted list of changes in the description as well as
[changelog](https://github.com/uber/orbit/blob/dev/docs/changelog.rst).


## Hotfix

Sometimes we may need to address a bug fix directly from master after a release, but `dev` may have moved on with new commits.

1. Create a hotfix branch from master and update the version number
2. Make fix
3. Merge changes into `master`
4. Draft a new release: https://github.com/uber/orbit/releases/new
4. Draft a new release: <https://github.com/uber/orbit/releases/new>
- Select the master branch as the target branch
- Use version number for both the tag and title
- Add a bulleted list of changes in the description as well as
Expand Down
20 changes: 20 additions & 0 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,26 @@
Changelog
=========

1.1.5.1 (2026-05-20) (`release notes <https://github.com/uber/orbit/releases/tag/v1.1.5.1>`__)
-------------------------------------------------------------------------------------------------
:Python Version Support:
- Drop Python 3.9–3.11; require Python ≥ 3.12
- Add support for Python 3.13 (#894)
- Update Trove classifiers for Python 3.12 and 3.13

:Core Changes:
- Bump minimum dependency versions (numpy≥2.1.0, pandas≥2.2.3, matplotlib≥3.9.2, etc.) for Python 3.13 wheel availability
- Replace deprecated ``np.in1d`` with ``np.isin`` (removed in NumPy 2.x)
- Fix deprecated pandas frequency aliases (``M`` → ``ME``) in tests
- Fix chained assignment for pandas Copy-on-Write compatibility
- Fix invalid escape sequence in ``rmsse`` docstring

:CI/CD:
- Update GitHub Actions (``checkout`` to v4, ``setup-python`` to v5)
- Update test matrix to [3.12, 3.13]
- Update ``tox`` envlist to ``py312, py313``
- Update ``black`` target-version to ``py312, py313``

1.1.5.0 (2026-03-02) (`release notes <https://github.com/uber/orbit/releases/tag/v1.1.5.0>`__)
-------------------------------------------------------------------------------------------------
:Core Changes:
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ authors = [
maintainers = [
{name = "Edwin Ng", email = "edwinnglabs@gmail.com"},
]
version = "1.1.5.0"
version = "1.1.5.1"
description = "Orbit is a package for Bayesian time series modeling and inference."
readme = "README.md"
requires-python = ">=3.12"
Expand Down
Loading