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

Jedi News/Updates (Please Subscribe) #1063

Closed
davidhalter opened this issue Mar 22, 2018 · 17 comments
Closed

Jedi News/Updates (Please Subscribe) #1063

davidhalter opened this issue Mar 22, 2018 · 17 comments

Comments

@davidhalter
Copy link
Owner

To make it easier for people to stay in touch what's changing in jedi, I made this thread. I'm not going to post here often and there will comments are blocked. This thread is about summarizing things that you can comment on in separate issues.

Feel free to subscribe and unsubscribe as you want. There should be a button on the right side where you can turn notifications on and off.

cc'd a few people that might be interested:
@blueyed @dbrgn @tkf @mfussenegger @Alexey-T @sadovnychyi @scribu @jorgenschaefer @takluyver @Valloric @vheon @micbou @asmeurer @Shougo @zchee @maralla @proofit404 @syohex @immerrr @srusskih @DamnWidget @lawrenceakka @brennv @abe33 @patrys @wolph @isamert @Kozea @DonJayamanne @brettcannon @MikhailArkhipov @Carreau

@davidhalter
Copy link
Owner Author

So let's start:

I'd like you to comment on how Virtualenvs and different Python versions should be handled. I'm very interested in feedback on the API. Please let me know if there are things that could be improved. Otherwise you will be stuck with a bad API that you might not want ;-)
#1053

This will be released as part of Jedi 0.12.0 in a few weeks. So hurry up and comment!

The release notes will look like this for 0.12.0:

  • Remove Python 2.6 support
  • Virtualenv/Environment support
  • Cannot crash with segfaults anymore
  • Cleaned up import logic
  • Understand async/await and autocomplete it (including async generators)
  • Better namespace completions

Repository owner locked and limited conversation to collaborators Mar 22, 2018
@davidhalter davidhalter changed the title jedi News/Updates (Please Subscribe) Jedi News/Updates (Please Subscribe) Mar 27, 2018
@davidhalter
Copy link
Owner Author

davidhalter commented Apr 15, 2018

Just released:

Jedi 0.12.0 (2018-04-15)

  • Virtualenv/Environment support
  • F-String Completion/Goto Support
  • Cannot crash with segfaults anymore
  • Cleaned up import logic
  • Understand async/await and autocomplete it (including async generators)
  • Better namespace completions
  • Passing tests for Windows (including CI for Windows)
  • Remove Python 2.6 support

@davidhalter
Copy link
Owner Author

davidhalter commented Oct 1, 2018

Jedi 0.13.0 (2018-10-02)

  • A small release. Some bug fixes.
  • Remove Python 3.3 support. Python 3.3 support has been dropped by the Python
    foundation.
  • Default environments are now using the same Python version as the Python
    process. In 0.12.x, we used to load the latest Python version on the system.
  • Added include_builtins as a parameter to usages.
  • goto_assignments has a new follow_builtin_imports parameter that
    changes the previous behavior slightly.

@davidhalter
Copy link
Owner Author

davidhalter commented Dec 15, 2018

Jedi 0.13.2 (2018-12-15)

  • Fixed a bug that led to Jedi spawning a lot of subprocesses.

This issue was pretty bad. Please upgrade!

@davidhalter
Copy link
Owner Author

davidhalter commented Jan 24, 2019

Released parso 0.3.2. This is not a Jedi upgrade.

This parso upgrade should not change anything - just bugfixes. With the help of a fuzzer I found 20+ bugs in the diff parser and 3 bugs in the tokenizer (plus a few other fixes). It should therefore be way more stable, just upgrade the dependency from 0.3.1 to 0.3.2.

@davidhalter
Copy link
Owner Author

davidhalter commented Feb 6, 2019

Released parso 0.3.3. This is not a Jedi upgrade, but a small follow up (one relevant bugfix for Jedi). Please upgrade, especially if you are using 0.3.2.

Parso 0.3.3 (2018-02-06)

  • Fix async errors in the diff parser
  • A fix in iter_errors
  • This is a very small bugfix release

@davidhalter
Copy link
Owner Author

davidhalter commented Feb 24, 2019

Jedi 0.13.3 (2019-02-24)

Upgrade is recommended mostly if you are using Jedi with embedded Python (this means e.g. embedded inside VIM). This bug also affected only Windows/Mac and not Linux/BSD.

BTW: Upgrading parso to latest is also recommended.

@davidhalter
Copy link
Owner Author

davidhalter commented Jun 21, 2019

Jedi 0.14.0 (2019-06-20)

  • Added goto_*(prefer_stubs=True) as well as goto_*(prefer_stubs=True)
  • Stubs are used now for type inference
  • Typeshed is used for better type inference
  • Reworked Definition.full_name, should have more correct return values

You can also follow me on twitter to get these kinds of news: https://twitter.com/jedidjah_ch/ (I don't spam).

@davidhalter
Copy link
Owner Author

Jedi 0.14.1 (2019-07-13)

  • CallSignature.index should now be working a lot better
  • A couple of smaller bugfixes

Parso 0.5.1 (2019-07-13)

  • Fix: Some unicode identifiers were not correctly tokenized
  • Fix: Line continuations in f-strings are now working

@davidhalter
Copy link
Owner Author

Jedi 0.15.0 (2019-08-11)

New APIs:

  • Definition.get_signatures() -> List[Signature]. Signatures are similar to
    CallSignature. Definition.params is therefore deprecated.
  • Signature.to_string() to format call signatures.
  • Signature.params -> List[ParamDefinition], ParamDefinition has the
    following additional attributes infer_default(), infer_annotation(),
    to_string(), and kind.
  • Definition.execute() -> List[Definition], makes it possible to infer
    return values of functions.

@davidhalter
Copy link
Owner Author

0.15.2 (2019-12-20)

Upgrade needs a parso upgrade.

  • Call signatures are now detected a lot better
  • Add fuzzy completions with Script(...).completions(fuzzy=True)
  • Files bigger than one MB (about 20kLOC) get cropped to avoid getting
    stuck completely.
  • Many small Bugfixes
  • A big refactoring around contexts/values

@davidhalter
Copy link
Owner Author

davidhalter commented Jan 26, 2020

0.16.0 (2020-01-26)

  • Added Script.get_context to get information where you currently are.
  • Completions/type inference of Pytest fixtures.
  • Tensorflow, Numpy and Pandas completions should now be about 4-10x faster
    after the first time they are used.
  • Dict key completions are working now. e.g. d = {1000: 3}; d[10 will
    expand to 1000.
  • Completion for "proxies" works now. These are classes that have a
    __getattr__(self, name) method that does a return getattr(x, name).
    after loading them initially.
  • Goto on a function/attribute in a class now goes to the definition in its
    super class.
  • Big Script API Changes:
    • The line and column parameters of jedi.Script are now deprecated
    • completions deprecated, use complete instead
    • goto_assignments deprecated, use goto instead
    • goto_definitions deprecated, use infer instead
    • call_signatures deprecated, use get_signatures instead
    • usages deprecated, use get_references instead
    • jedi.names deprecated, use jedi.Script(...).get_names()
  • BaseDefinition.goto_assignments renamed to BaseDefinition.goto
  • Add follow_imports to Definition.goto. Now its signature matches
    Script.goto.
  • Python 2 support deprecated. For this release it is best effort. Python 2
    has reached the end of its life and now it's just about a smooth transition.
    Bugs for Python 2 will not be fixed anymore and a third of the tests are
    already skipped.
  • Removed settings.no_completion_duplicates. It wasn't tested and nobody
    was probably using it anyway.
  • Removed settings.use_filesystem_cache and
    settings.additional_dynamic_modules, they have no usage anymore. Pretty
    much nobody was probably using them.

@davidhalter
Copy link
Owner Author

davidhalter commented Apr 13, 2020

Released parso 0.7.0. This is not a Jedi upgrade.

This should be backwards compatible with the last few Jedi versions, so please just upgrade. The upgrade helps a lot with some situations where after working with some code completions would stop. This was completely not reproducible (or it was very hard to reproduce), so people never really reported it.

I fixed a lot of annoying bugs in the diff parser. The fuzzer finally and for the first time did not find issues anymore even after running it for more than 24 hours (500k tests).

@davidhalter davidhalter pinned this issue Apr 13, 2020
@davidhalter
Copy link
Owner Author

0.17.0 (2020-04-14)

  • Added Project support. This allows a user to specify which folders Jedi
    should work with.
  • Added support for Refactoring. The following refactorings have been
    implemented: Script.rename, Script.inline,
    Script.extract_variable and Script.extract_function.
  • Added Script.get_syntax_errors to display syntax errors in the current
    script.
  • Added code search capabilities both for individual files and projects. The
    new functions are Project.search, Project.complete_search,
    Script.search and Script.complete_search.
  • Added Script.help to make it easier to display a help window to people.
    Now returns pydoc information as well for Python keywords/operators. This
    means that on the class keyword it will now return the docstring of Python's
    builtin function help('class').
  • The API documentation is now way more readable and complete. Check it out
    under https://jedi.readthedocs.io. A lot of it has been rewritten.
  • Removed Python 3.4 support
  • Many bugfixes

This is likely going to be the last minor version that supports Python 2 and
Python3.5. Bugfixes will be provided in 0.17.1+. The next minor/major version
will probably be Jedi 1.0.0.

@davidhalter
Copy link
Owner Author

0.17.1 (2020-06-20)

  • Django Model meta class support
  • Django Manager support (completion on Managers/QuerySets)
  • Added Django Stubs to Jedi, thanks to all contributors of the
    Django Stubs <https://github.com/typeddjango/django-stubs>_ project
  • Added SyntaxError.get_message
  • Python 3.9 support
  • Bugfixes (mostly towards Generics)

@davidhalter
Copy link
Owner Author

0.17.2 (2020-07-17)

  • Added an option to pass environment variables to Environment
  • Project(...).path exists now
  • Support for Python 3.9
  • A few bugfixes

This will be the last release that supports Python 2 and Python 3.5.
0.18.0 will be Python 3.6+.

@davidhalter
Copy link
Owner Author

I am switching to a mailing list instead of this issue.

Please write an empty email to jedi-announce+subscribe@googlegroups.com to subscribe. Alternatively you can of course also join here: https://groups.google.com/g/jedi-announce.

I might post the next few updates here as well, but the mailing list will be where the releases will be announced in the future.

@davidhalter davidhalter unpinned this issue Jul 17, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant