diff --git a/messages.json b/messages.json index c50dc3fd..984a4c09 100644 --- a/messages.json +++ b/messages.json @@ -6,6 +6,5 @@ "3.1.0": "messages/3.1.0.txt", "3.2.0": "messages/3.2.0.txt", "3.4.0": "messages/3.4.0.txt", - "4.0.0-beta1": "messages/4.0.0-beta1.txt", - "4.0.0-beta9": "messages/4.0.0-beta9.txt" + "4.0.0": "messages/4.0.0.txt" } diff --git a/messages/4.0.0-beta9.txt b/messages/4.0.0-beta9.txt deleted file mode 100644 index 02c81612..00000000 --- a/messages/4.0.0-beta9.txt +++ /dev/null @@ -1,174 +0,0 @@ -Version 4.0.0-beta9 Release Notes (2023/10/28) - - N O T I C E - =========== - - Libraries / Wheels - ------------------ - - This release includes various fixes and improvements related with installing, - upgrading or removing libraries. - - - fix library upgrade failing due to DLLs being locked on Windows OS. - - fix libraries in *.whl format not being recognized / installed. - - ... - - Note: requirements.txt is still not supported. - - - Legacy Dependencies - ------------------- - - Legacy dependencies may now also contain following folders for - ST4 / python specific code paths: - - - "st4" = install only on ST4 - - "st4_{PY}" = ... and given python version - - "st4_{PY}_{OS}" = ... and given OS - - "st4_{PY}_{OS}_{ARCH}" = ... and given architecture - - If both "st3" and "st4" folders are present, the latter one is preferred on ST4 - and ignored on ST3. - - Platform/arch specific ST3 dependencies are restricted to python 3.3 as those - are assumed to contain compiled libraries. - - Note: - - requires "python_versions": ["3.3", "3.8"] selector in repository.json - for Package Control to take python- and platform-specific releases into account. - - - Legacy Dependency Name Mapping - ------------------------------ - - A name mapping for the following legacy dependencies is introduced, when resolving - requirements or installing libraries to - - 1. avoid naming conflicts with their official names on PyPI - 2. keep old unmaintained packages depending on those compatible, - even if libraries are renamed or directly shipped from PyPI. - - bs4 | beautifulsoup4 - python-docx | docx - python-jinja2 | Jinja2 - python-markdown | Markdown - python-pywin32 | pywin32 - python-six | six - python-toml | toml - ruamel-yaml | ruamel.yaml - serial | pyserial - - - Resolving builtin libraries - --------------------------- - - No more error messages about unavailable libraries are displayed for those, which - have been added to standard library as of python 3.8, if they are requested by - plugins, which were designed for python 3.3 but are forced to run on 3.8 - - Effected libraries are: enum, pathlib, typing - - - PEP 440 - ------- - - With this release Package Control switches from SemVer to PEP440 version scheme - for packages and libraries in a relaxed backwards compatible way. - - Reasons: - - 1. Ensure compatibility with libraries (aka.: normal python packages) - 2. Better and correct sorting of pre-releases - - §1 SemVer: 1.0.0-dev > 1.0.0-beta (bad) - PEP440: 1.0.0-dev < 1.0.0-beta (ok) - - §2 SemVer: 1.0.0-beta9 > 1.0.0-beta10 (bad) - PEP440: 1.0.0-beta9 < 1.0.0-beta10 (ok) - - Consequences: - - 1. .. is still a valid version and is recommended to be used. - 2. Package Control does not shorten version strings from 1.0.0-alpha.1 to 1.0.0a1 - 3. Only PEP440 compatible pre-release names such as `alpha`, `beta`, `rc` or `dev` - are allowed. Anything unrecognized is automatically categorized as `dev` build. - - - GitHub/GitLab releases - ---------------------- - - Packages and libraries can be shipped via download assets associated - with GitHub/GitLab releases. - - This way packages, which are deployed via pre-build *.sublime-package files, don't - need to maintain their own repository.json anymore. Instead the download asset - can be declared in default channel as followes: - - { - "$schema": "sublime://packagecontrol.io/schemas/repository", - "schema_version": "4.0.0", - "packages": [ - { - "name": "A File Icon", - "details": "https://github.com/SublimeText/AFileIcon", - "releases": [ - { - "asset": "A File Icon.sublime-package" - } - ] - }, - ], - "libraries": [ - { - "name": "typing", - "description": "\"typing\" module as a Package Control dependency", - "author": "FichteFoll", - "issues": "https://github.com/packagecontrol/typing/issues", - "releases": [ - { - "base": "https://github.com/packagecontrol/typing", - "asset": "typing-${version}-st2.zip", - "sublime_text": "<3000" - }, - { - "base": "https://github.com/packagecontrol/typing", - "asset": "typing-${version}-st3.zip", - "sublime_text": ">=3000", - "python_versions": ["3.3"] - } - ] - } - ] - } - - - Relax repository scheme - ----------------------- - - Most release keys such as "sublime_text", "platforms" and "python_versions" - are now optional using sane defaults if not present. - - Defaults: - - "platforms": ["*"] - "python_versions": ["3.3"] - "sublime_text": "*" - - As a result following package definition is now valid: - - { - "$schema": "sublime://packagecontrol.io/schemas/repository", - "schema_version": "4.0.0", - "packages": [ - { - "name": "A File Icon", - "details": "https://github.com/SublimeText/AFileIcon", - "releases": [ - { - "tags": true - } - ] - } - ] - } diff --git a/messages/4.0.0-beta1.txt b/messages/4.0.0.txt similarity index 55% rename from messages/4.0.0-beta1.txt rename to messages/4.0.0.txt index 4e943c9a..d12259bf 100644 --- a/messages/4.0.0-beta1.txt +++ b/messages/4.0.0.txt @@ -1,65 +1,46 @@ -Version 4.0.0-beta1 Release Notes (2023/06/10) +Version 4.0.0 Release Notes +=========================== - N O T I C E - =========== - Requires at least ST3143 (1.0). +Major Changes +------------- - Main focus lies on stability and python 3.8 support. +- Requires at least ST3143 (1.0) - Dependencies - ------------ +- drops support for python 2.x - Dependencies are now called libraries. +- adds support for python 3.8 + +- Package and library version scheme changed from SemVer to PEP440 + for better pre-release handling and compatibility with python packages. + + Note: Package versions should still follow SemVer like `..` + +- Dependencies are now called libraries. They are installed to Data/Libs as ordinary python packages. Existing managed dependencies are automatically converted. - Channel/repository scheme v1.0 is no longer supported. - - A channel/repository scheme v4.0.0 is introduced, which allows to specify - supported python_versions. - - { - "$schema": "sublime://packagecontrol.io/schemas/repository/4.0.0", - "libraries": [ - { - "name": "JohnsLibrary", - "description": "A classic ST library", - "author": "John Doe", - "releases": [ - { - "base": "https://gitlab.com/johns/library", - "platforms": ["*"], - "python_versions": ["3.3", "3.8"], - "sublime_text": "*", - "tags": true - }, - { - "version": "1.0.0", - "date": "2023-02-18 20:12:41", - "url": "https://gitlab.com/johns/library-1.0.0.whl", - "platforms": ["*"], - "python_versions": ["3.3", "3.8"], - "sublime_text": "*" - } - ] - } - ] - } - - Download artefacts specified via "url" key can also be .whl files. + Can install python wheels (*.whl) + +- Channel/repository scheme v1.0 and v1.2 are no longer supported + as they contain only packages for no longer supported ST2. + +- New channel/repository scheme v4.0.0 is introduced, + which allows to specify supported `python_versions`. + Parsing and installing "requirements.txt" is however not yet supported. For working examples checkout example-channel.json and example-repository.json - of Package Control Github repository. + from Package Control Github repository. - Package Devs - ------------ - packagecontrol.io does not yet support the new 4.0.0 scheme and thus doesn't ship - python 3.8 dependencies/libraries. +Note for Package Devs +--------------------- + + packagecontrol.io does not yet support the new 4.0.0 scheme + and thus doesn't ship python 3.8 dependencies/libraries. Therefore do not upgrade repositories to 4.0.0 scheme, which are included in default channel. @@ -67,15 +48,21 @@ Version 4.0.0-beta1 Release Notes (2023/06/10) You can however create your own 4.0.0 repository and add it via 'Package Control: Add Repository'. + Metadata for python 3.8 compatible libraries are maintained at + + https://github.com/packagecontrol/channel + + and shipped via - C H A N G E L O G - ================= + https://packagecontrol.github.io/channel/channel_v4.json - Features - -------- + so all packages can already migrate to python 3.8 - - python 3.8 libraries - - support dependencies.json in libraries the same way as packages do + +New features include: +--------------------- + + - support for python 3.8 dependencies (now called libraries) - add openssl 3.0 support via asn1crypto 1.5.1 and oscrypto 1.3.0 - prune backups older than 14 days (#145) - provide all relevant operations via ApplicationCommands (#1071) @@ -85,12 +72,14 @@ Version 4.0.0-beta1 Release Notes (2023/06/10) + Advanced Upgrade Packages (upgrade_packages) + Advanced Remove Packages (remove_packages) - allow relative paths in channel.json and repository.json (#1329) - - hidde (auto-generated?) packages via `.hidden-sublime-package` file (#1429) + - hide (auto-generated?) packages via `.hidden-sublime-package` file (#1429) - support for cooperate_packages (#1406, #1633) - - intellisense support for for channel.json/repository.json via jsonschemas + - IntelliSense support for for channel.json/repository.json via jsonschemas + - support for asset based Github/Gitlab releases (#1484) + - Bugfixes - -------- +Bug fixes include: +------------------ - abort package operation if backup fails (#1000) - fix long path support on Windows (#1020) @@ -103,7 +92,7 @@ Version 4.0.0-beta1 Release Notes (2023/06/10) - fix manual package upgrades converting unmanaged packages to managed ones (#1272) - fix libraries not being upgraded by auto upgrader - fix prompt for ST restart before all operations are completed - - fix SSL_CERT_FILE environmanet variable being ignored + - fix SSL_CERT_FILE environment variable being ignored - fix repositories of channels without cache not being downloaded (#1354, #1601) - fix QuickPanelItem parse errors in URLs (#1580) - fix unavailable libraries being reported as successfully installed (#1605) diff --git a/package-metadata.json b/package-metadata.json index 2995ec9a..40e0f95d 100644 --- a/package-metadata.json +++ b/package-metadata.json @@ -1,7 +1,8 @@ { - "version": "4.0.0-beta10", - "url": "https://packagecontrol.io", + "name": "Package Control", + "version": "4.0.0", "description": "A full-featured package manager", + "platforms": ["*"], "sublime_text": ">=3143", - "platforms": ["*"] + "url": "https://packagecontrol.io" } diff --git a/package_control/__init__.py b/package_control/__init__.py index 0bbf5294..d4ed0978 100644 --- a/package_control/__init__.py +++ b/package_control/__init__.py @@ -1,2 +1,2 @@ -__version__ = "4.0.0-beta10" -__version_info__ = (4, 0, 0, 'beta', 10) +__version__ = "4.0.0" +__version_info__ = (4, 0, 0)