Skip to content

Commit

Permalink
Bump versin, start changelog
Browse files Browse the repository at this point in the history
  • Loading branch information
MichaReiser committed Feb 28, 2024
1 parent 8044c24 commit 88f6bbd
Show file tree
Hide file tree
Showing 10 changed files with 135 additions and 12 deletions.
45 changes: 45 additions & 0 deletions BREAKING_CHANGES.md
@@ -1,5 +1,50 @@
# Breaking Changes

## 0.3.0

### Ruff 2024.2 style
The `format` command now uses the improved Ruff 2024.2 style. Expect changes in formatting when upgrading.

### `isort`: Use one blank line after imports in typing stub files

Previously, Ruff used one or two blank lines (or the number configured by `isort.lines-after-imports`) in typing stub files (`.pyi`).
Using more than one blank line isn't in accordance with the [typing style guide](https://typing.readthedocs.io/en/latest/source/stubs.html#style-guide) and incompatible with ruff's formatter.
As of this release, `isort` now always uses one blank line after imports in typing stub files.

### Remove `build` from the default exclusion list

Ruff maintains a list of default exclusions, which now consists of the following patterns:

- `.bzr`
- `.direnv`
- `.eggs`
- `.git`
- `.git-rewrite`
- `.hg`
- `.ipynb_checkpoints`
- `.mypy_cache`
- `.nox`
- `.pants.d`
- `.pyenv`
- `.pytest_cache`
- `.pytype`
- `.ruff_cache`
- `.svn`
- `.tox`
- `.venv`
- `.vscode`
- `__pypackages__`
- `_build`
- `buck-out`
- `dist`
- `node_modules`
- `site-packages`
- `venv`

Previously, the `build` directory was excluded by default. However, the `build` directory tends to be a not un-popular directory
name and excluding it by default caused confusion. Ruff now no longer excludes `build` by default except if it is excluded in your `.gitignore`.
If necessary, you can exclude `build` by adding it to `extend-exclude` in your `pyproject.toml` file.

## 0.1.9

### `site-packages` is now excluded by default ([#5513](https://github.com/astral-sh/ruff/pull/5513))
Expand Down
78 changes: 78 additions & 0 deletions CHANGELOG.md
@@ -1,5 +1,83 @@
# Changelog

## 0.3.0

This release introduces the new Ruff formatter 2024 stable style and adds a new lint rule to
detect invalid formatter suppression comments.

### Preview features

- [`pycodestyle`] Allow `os.environ` modifications between
imports (`E402`) ([#10066](https://github.com/astral-sh/ruff/pull/10066))
- [`pycodestyle`] Don't warn about single whitespace before
comma in tuple (`E203`) ([#10094](https://github.com/astral-sh/ruff/pull/10094))

### Rule changes

- [`isort`]: Use one blank line after imports in typing stub files. ([#9971](https://github.com/astral-sh/ruff/pull/9971))
- [`pylint`] New
Rule `dict-iter-missing-items` (`PLE1141`) ([#9845](https://github.com/astral-sh/ruff/pull/9845))
- [`pylint`] Ignore `sys.version`
and `sys.platform` (`PLR1714`) ([#10054](https://github.com/astral-sh/ruff/pull/10054))
- [`ruff`] Expand rule for `list(iterable).pop(0)`
idiom (`RUF015`) ([#10148](https://github.com/astral-sh/ruff/pull/10148))
- [`flake8-boolean-trap`] Allow boolean positionals
in `__post_init__` ([#10027](https://github.com/astral-sh/ruff/pull/10027))
- [`flake8-copyright`] Allow © in copyright
notices ([#10065](https://github.com/astral-sh/ruff/pull/10065))
- \[`pyupgrade`\] Detect literals with unary operators (
`UP018`) ([#10060](https://github.com/astral-sh/ruff/pull/10060))
- \[`eradicate`\] Detect commented out `case`
statements (`ERA001`) ([#10055](https://github.com/astral-sh/ruff/pull/10055))
- \[`eradicate`\] detect single-line code for try:, except:,
etc. (`ERA001`) ([#10057](https://github.com/astral-sh/ruff/pull/10057))

### Formatter

The following preview styles are promoted to stable.

- Prefer splitting the assignment's value over the target or type annotation ([#8943](https://github.com/astral-sh/ruff/pull/8943))
- Remove blank lines before class docstrings ([#9154](https://github.com/astral-sh/ruff/pull/9154))
- Wrap multiple context managers in `with` parentheses when targeting Python 3.9 or newer ([#9222](https://github.com/astral-sh/ruff/pull/9222))
- Add a blank line after nested classes with a dummy body (`...`) in typing stub files ([#9155](https://github.com/astral-sh/ruff/pull/9155))
- Reduce vertical spacing for classes and functions with a dummy (`...`) body ([#7440](https://github.com/astral-sh/ruff/issues/7440), [#9240](https://github.com/astral-sh/ruff/pull/9240))
- Add a blank line after the module docstring ([#8283](https://github.com/astral-sh/ruff/pull/8283))
- Parenthesize long type hints in assignments ([#9210](https://github.com/astral-sh/ruff/pull/9210))
- Preserve indent for single mulitline-string call-expressions ([#9673](https://github.com/astral-sh/ruff/pull/9637))
- Normalize hex escape and unicode escape sequences ([#9280](https://github.com/astral-sh/ruff/pull/9280))

### CLI

- Explicitly disallow `extend` as part of a `--config`
flag ([#10135](https://github.com/astral-sh/ruff/pull/10135))
- Remove `build` from the default exclusion list ([#10093](https://github.com/astral-sh/ruff/pull/10093))

### Bug fixes

- [`pycodestyle`] Mark fixes overlapping with a multiline string as
unsafe (`W293`) ([#10049](https://github.com/astral-sh/ruff/pull/10049))
- [`flake8-type-checking`] Respect runtime-required decorators for function
signatures ([#10091](https://github.com/astral-sh/ruff/pull/10091))
- Set PowerPC page size to 64KB ([#10080](https://github.com/astral-sh/ruff/pull/10080))
- [`ruff`] Avoid f-string false positives in `gettext`
calls (`RUF027`) ([#10118](https://github.com/astral-sh/ruff/pull/10118))
- \[`pylint`\] Delete entire statement, including
semicolons (`PLR0203`) ([#10074](https://github.com/astral-sh/ruff/pull/10074))

### Performance

- Add cold attribute to less likely printer queue branches in the
formatter ([#10121](https://github.com/astral-sh/ruff/pull/10121))
- Skip unnecessary string normalization in the
formatter ([#10116](https://github.com/astral-sh/ruff/pull/10116))

### Documentation

- Remove "Beta" Label from formatter
documentation ([#10144](https://github.com/astral-sh/ruff/pull/10144))
- `line-length` option: fix link
to `pycodestyle.max-line-length` ([#10136](https://github.com/astral-sh/ruff/pull/10136))

## 0.2.2

Highlights include:
Expand Down
6 changes: 3 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -150,7 +150,7 @@ Ruff can also be used as a [pre-commit](https://pre-commit.com/) hook via [`ruff
```yaml
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.2.2
rev: v0.3.0
hooks:
# Run the linter.
- id: ruff
Expand Down
2 changes: 1 addition & 1 deletion crates/ruff/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "ruff"
version = "0.2.2"
version = "0.3.0"
publish = false
authors = { workspace = true }
edition = { workspace = true }
Expand Down
2 changes: 1 addition & 1 deletion crates/ruff_linter/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "ruff_linter"
version = "0.2.2"
version = "0.3.0"
publish = false
authors = { workspace = true }
edition = { workspace = true }
Expand Down
2 changes: 1 addition & 1 deletion crates/ruff_shrinking/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "ruff_shrinking"
version = "0.2.2"
version = "0.3.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
Expand Down
6 changes: 3 additions & 3 deletions docs/integrations.md
Expand Up @@ -14,7 +14,7 @@ Ruff can be used as a [pre-commit](https://pre-commit.com) hook via [`ruff-pre-c
```yaml
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.2.2
rev: v0.3.0
hooks:
# Run the linter.
- id: ruff
Expand All @@ -27,7 +27,7 @@ To enable lint fixes, add the `--fix` argument to the lint hook:
```yaml
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.2.2
rev: v0.3.0
hooks:
# Run the linter.
- id: ruff
Expand All @@ -41,7 +41,7 @@ To run the hooks over Jupyter Notebooks too, add `jupyter` to the list of allowe
```yaml
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.2.2
rev: v0.3.0
hooks:
# Run the linter.
- id: ruff
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Expand Up @@ -4,7 +4,7 @@ build-backend = "maturin"

[project]
name = "ruff"
version = "0.2.2"
version = "0.3.0"
description = "An extremely fast Python linter and code formatter, written in Rust."
authors = [{ name = "Astral Software Inc.", email = "hey@astral.sh" }]
readme = "README.md"
Expand Down
2 changes: 1 addition & 1 deletion scripts/benchmarks/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "scripts"
version = "0.2.2"
version = "0.3.0"
description = ""
authors = ["Charles Marsh <charlie.r.marsh@gmail.com>"]

Expand Down

0 comments on commit 88f6bbd

Please sign in to comment.