Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 4.0.0 #4388

Merged
merged 26 commits into from
Nov 14, 2018
Merged

Release 4.0.0 #4388

merged 26 commits into from
Nov 14, 2018

Conversation

nicoddemus
Copy link
Member

🎉

RonnyPfannschmidt and others added 26 commits November 4, 2018 20:23
…-cache-move-to-session

move Bestrelpath cache move to session
Handle os.chdir() during collection
Conflicts:
	src/_pytest/main.py
Fix/improve handling of chdir with no-args and testpaths
cache_dir: use $TOX_ENV_DIR/ prefix if set
Node: do not add "::()" to nodeid
To keep existing tests which emit RemovedInPytest4Warnings running, decided
to go with a command line option because:

* Is harder to integrate an ini option with tests which already use an ini file
* It also marks tests which need to be removed/updated in 4.1, when
  RemovedInPytest4Warning and related functionality are removed.

Fix pytest-dev#3737
Otherwise the tests will use tox's env cache which makes them flaky
…s-errors

Change RemovedInPytest4Warnings to errors by default
…features

Merge master into features (about to prepare 4.0)
Copy link
Member

@asottile asottile left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hype!

@blueyed
Copy link
Contributor

blueyed commented Nov 14, 2018

Why the rush?
I feel like we could wait a week more, to e.g. get the features/things I have cooking for pdb in here.
This includes #4280 (#4292 / #4299).

I think 4.0 is a better opportunity to break/change things than 4.1 after it.

@blueyed
Copy link
Contributor

blueyed commented Nov 14, 2018

Also #4381 (merged to master later) would be nice to have.

@RonnyPfannschmidt
Copy link
Member

@blueyed there will be a few more majors to come after this one that wont have long delays

@codecov
Copy link

codecov bot commented Nov 14, 2018

Codecov Report

Merging #4388 into master will increase coverage by 0.01%.
The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #4388      +/-   ##
==========================================
+ Coverage    95.9%   95.91%   +0.01%     
==========================================
  Files         111      111              
  Lines       24938    24992      +54     
  Branches     2431     2439       +8     
==========================================
+ Hits        23916    23972      +56     
+ Misses        724      723       -1     
+ Partials      298      297       -1
Flag Coverage Δ
#docs 29.91% <24.74%> (+0.34%) ⬆️
#doctesting 29.91% <24.74%> (+0.34%) ⬆️
#linting 29.91% <24.74%> (+0.34%) ⬆️
#linux 95.75% <100%> (+0.01%) ⬆️
#nobyte 92.35% <99.21%> (+0.01%) ⬆️
#numpy 93.16% <99.21%> (+0.01%) ⬆️
#pexpect 41.78% <35.05%> (-0.02%) ⬇️
#py27 94.05% <100%> (+0.03%) ⬆️
#py34 92.17% <99.21%> (+0.08%) ⬆️
#py35 92.18% <99.21%> (+0.08%) ⬆️
#py36 92.2% <99.21%> (+0.08%) ⬆️
#py37 94.12% <100%> (+0.02%) ⬆️
#trial 93.16% <99.21%> (+0.01%) ⬆️
#windows 94.1% <100%> (+0.01%) ⬆️
#xdist 93.95% <100%> (+0.02%) ⬆️
Impacted Files Coverage Δ
testing/test_nodes.py 100% <ø> (ø) ⬆️
testing/python/collect.py 99.29% <100%> (ø) ⬆️
testing/python/fixture.py 99.24% <100%> (ø) ⬆️
testing/test_pdb.py 99.02% <100%> (ø) ⬆️
testing/test_terminal.py 100% <100%> (ø) ⬆️
testing/test_session.py 96.5% <100%> (ø) ⬆️
testing/test_mark.py 97.17% <100%> (ø) ⬆️
src/_pytest/warnings.py 88.88% <100%> (+0.28%) ⬆️
testing/test_runner_xunit.py 100% <100%> (ø) ⬆️
testing/test_tmpdir.py 98.75% <100%> (ø) ⬆️
... and 17 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b7863a5...c2d6b35. Read the comment docs.

@nicoddemus
Copy link
Member Author

Why the rush?
I feel like we could wait a week more, to e.g. get the features/things I have cooking for pdb in here.

Good points. Let me explain the reasons why we would like to release 4.0 right away:

In the past all our major releases (well, the two major releases) introduced sweeping and large changes, which makes users nervous to upgrade and makes it hard to pinpoint regressions when there are too many changes in place at the same time. 4.0 is a backward compatibility breakage already because all warnings are now errors, so we should reduce the "moving parts" in the release, that's why I would like to have a 4.0 release with as few things as possible, preferably only warnings changing into errors would be ideal IMO.

Also, with 4.0 released, we are free to cleanup and remove the old deprecated functionality in features, as they will be removed in 4.1. This will open the path for us to start some internal refactorings (@RonnyPfannschmidt's initialization revamp) and new features (#4091).

Finally, as @RonnyPfannschmidt mentions, nothing prevents us to have a 4.1 release soon (like next week) if we want to: frequent minor releases means features reaching users faster. Of course minor releases also often mean unintended regressions, but as we improve our processes and codebase, my feeling is that those will tend to diminish and disappear (hopefully).

Let me know if you still would like to see a 4.0 next week with the pdb features you are cooking up (which are awesome btw), but I would rather we stick to having a small 4.0 release.

I think 4.0 is a better opportunity to break/change things than 4.1 after it.

Actually, we ideally should only break things if we can deprecate first for two minor releases. Small changes which are not API breakages are fine between minor releases. 😁

@nicoddemus nicoddemus merged commit 9dec146 into pytest-dev:master Nov 14, 2018
@nicoddemus nicoddemus deleted the release-4.0.0 branch November 14, 2018 17:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants