- Allow for arbitrary
Info.plistproperties in macOS app bundles. (#195, #410 via #415)
- For Linux platforms, MimeTypes with defined glob patterns are now properly handled when
xdg-mimeis not on the system. (#290 via #403) - When uninstalling shortcuts as administrator, check user locations if no system shortcuts have
been found and prefixes contain
.nonadminfiles. This allows removing single-user shortcuts as an administrator. (#341 via #414)
- @marcoesters
- @lrandersson
- Add entry point to recipe. (#395)
- Pass
__spec__toapipkginitializers to allow module discovery in PyInstaller. (#396) - Catch COM errors during registry tests. (#398)
- @jaimergp
- @marcoesters
- Add a CLI and
condaplug-in. (#368 via #372) - Support
NSCameraUsageDescription,NSMainCameraUsageDescription,NSMicrophoneUsageDescription, andNSAudioCaptureDescriptionin macOS app bundles. (#362 via #375)
- Prepend
XDG_MENU_PREFIXto filename when writingapplications.menufile on Linux. (#340)
- Replace the deprecated
conda.cli.python_apimodule with theCondaCLIFixture. (#389)
- @drammack
- @jaimergp
- @jrice1317
- @marcoesters
- @mrclary
- Restore behavior where the absence of a platform key in the MenuItem
platformsdictionary disables shortcut creation for that platform. (#234, #240 via #350) - Allow
nullforiconandplatforms.(win|osx|linux). This bumps the schema version to1-1-1. (#345 via #351) - Restore
menuinst.default.jsonandmenuinst.schema.jsonto prevent errors duringconda update. (#358 via #359)
- Update
_schema.pyto usepydanticv2. (#351) - Fix some type hints. (#352)
- @dbast
- @larsoner
- @JTignor-Raltron
- @jaimergp
- @zklaus
- @marcoesters
- @soapy1
- Version the JSON schema using SchemaVer. Current version is
1-1-0. Previous versions are still available as1-0-0(as published in menuinst v2.0.0),1-0-1(as published in menuinst v2.1.0), and1-0-2(as published in menuinst v2.2.0) (#288) - Add activator for
envfiles generated byconda25.3+. (#321 via #330)
- Make sure the Pydantic field descriptions make it to the generated JSON schema. (#281)
- Use
$schemato indicate which schema will validate the menuinst shortcut. This means that menuinst shortcuts must now include a$schemakey pointing to a URL containing the relevant menuinst JSON schema version. (#282 via #283, #313) - Remove quotes around
SETUPTOOLS_SCM_PRETEND_VERSIONrecipe variable. (#317)
$idkey is no longer required in the schema, and is now deprecated. (#282 via #283)
- Add
setuptools_scmto build recipe. (#309) - Replace deprecated
run_commandfunction withconda_cli. (#310) - Use
rufffor linting and formatting. (#315, #318) - Check and pretty-format JSON files. (#315)
- Increase timeout for Windows shortcuts tests to 30 seconds. (#319)
- @dbast
- @jaimergp
- @marcoesters
- Partially backport privilege elevation logic from v2 to v1. (#260)
- Add support for
SingleMainWindowin the Linux platform-specific options to allow disabling theNew Windowoption in the app's context menu. (#264 via #265)
- In v2-style schemas, Windows setting
quicklaunchdefault value is nowfalseand using it is considered deprecated. (#244 via #272)
- Add missing comma to base/non-base example. (#248)
- Update Python versions in canary builds: remove version 3.8 and add 3.12. (#266)
- Drop Python 3.8 from the CI test matrix. (#263)
- Display shortcut name in Windows' "Open with" menu entries. (#225)
- Fix default MIME type registration on Linux. (#226 via #227)
- Add setuptools to recipe host requirements. (#237)
- @jaimergp
- @marcoesters
- @zklaus
- Only delete menus when they do not contain any items. (#218)
- @marcoesters
- Support different name for shortcuts within and outside base environment (support v1 behavior). (#180)
- Support the
NSSupportsAutomaticGraphicsSwitchingflag for MacOS apps. (#194) - Add option to create a Windows Terminal profile. (#196 via #200)
- Improve error handling for installing identical MacOS apps and warn about overwriting shortcuts on other platforms. (#203 via #205)
- Expand variables when creating
working_dirand useos.path.expanduserlogic for defaultworking_diron Windows. (#211 via #212)
- Do not inject the AppKit launcher unless
event_handlerhas been set. Only affects macOS. (#179 via #183) - Render all menu name instances for Linux. (#201)
- Fix Windows registry key access mode when adding icon file to file type association. (#191 via #206)
- Add notes on "missing" Start Menu directories on Windows and on how to migrate
pywscriptandpyscriptto menuinst v2 (#181) - Fix API Reference hyperlinks. (#190)
- Pin Visual Studio version to 2022 for canary builds to account for changes to GitHub runners. (#215)
- @JTignor-Raltron
- @jaimergp
- @marcoesters
- Render placeholders in
menu_namekey. (#175)
- @jaimergp
- Update
winshortcutC extension to support Python 3.12. (#164)
- Fix a regression in 2.0.0, where v1-style Windows shortcuts would fail to start applications that required environment activation. Addressed by adjusting an invalid import in
menuinst v1's legacycwp.py. (#167 via #168)
- Add support for
pydanticv2 inmenuinst._schema. (#166 via #169)
- @jaimergp
- @kenodegard
- Add support for file extension and URL protocol association on Windows. (#117)
- Add support for URL protocol and file type association in all operating systems. Adds tests and examples. (#118 via #119, #135)
- Add
app_user_model_idfield on Windows shortcuts to group taskbar icons together. (#127 via #133) - Enable automatic elevation on Unix platforms too, and add tests. (#137 via #138, #139)
- Add recipe and CI workflow steps to build and upload canaries to
conda-canary. (#144, #145, #149) - Implement auto-elevation logic in Unix systems so it doesn't depend on pre-existing
.nonadminfiles. (#150 via #156)
- Ensure some v1-only import paths are still available for backwards compatibility. (#151)
- Do not capitalize
${DISTRIBUTION_NAME}in v1-stylemenuinstJSON documents. (#153)
- Create Sphinx-based documentation following community practices (constructor, conda-libmamba-solver). Absorbs and updates the existing info in wiki and non-deployed docs. (#112)
- Add development documentation. (#131)
- Enable and apply pre-commit with isort/flake8/black. (#116, #125)
- Adjust workflows to only target
mainafter merging thecep-develbranch. (#141) - Move
cwp.pyfrom the repository root tomenuinst._legacysubpackage. It's still shipped to%PREFIX%in the conda package. (#145)
- @aganders3
- @dbast
- @jaimergp
- @dbast made their first contribution in conda#116
- @aganders3 made their first contribution in conda#119
- Add support for Python 3.12 (#165)
- Remove pywin32 dependency (#103)
-
Merge in various patches used by conda-standalone (#85)
- Do not assume menuinst wants to operate on
sys.prefix - Do not use
runAsAdminwhen the user is not an admin - Allow menuinst to operate on non-base prefix
- Update various tests
- Do not assume menuinst wants to operate on
- Use distribution name as part of the Start Menu item (#77)
- Transfer repository to
condaGitHub organization (#81) - Switch from AppVeyor to GitHub Actions for CI (#78, #82, #83)
- Command line option starting with minux, or a space shall not be quoted
- tagged in gonzalo_refactor branch
- clean up and restructure elevation logic
- unquote HOMEPATH env var as default target location
- Change HOME to HOMEPATH for default shortcut start path
- set default workdir to %HOME% so that it is dynamic per-user
- fix recursion infinite loop with background processes that had insufficient permissions
- fix #60 more cmd.exe-specific hacking (#61)
- fix #54 incorrect locale handling (#62)
- fix logging traceback from #54 (#63)
- better fix for shortcut handling and tidy-ups
- fix cmd.exe / %ComSpec% system shortcut quoting
- fix non-root pythons being used to call cwp.py #47
- Fixes for Python 2 Unicode conversion in win32.py
- Fix cwp.py after changes to menuinst.knownfolders
- Also use OutputDebugStringW for logging for pythonw.exe
- Set CONDA_PREFIX environment variable in cwp.py, fix PATH
- fix fallback to user-mode shortcut if elevation denied, #39
- Disable 'quicklaunch' shortcuts for SYSTEM user (#33)
- Add license explicitly (BSD 3-clause) (#26)
- Rework elevation on Windows to not use separate batch file (#27)
- Improve support for non-ascii characters (#27)
- Migrate to Windows KnownFolder instead of CSIDL for win > XP (#27)
- support istalling as SYSTEM user on Windows (for SCCM usage) (#29)
- Add Appveyor for build testing (#30)
- Drop CSIDL support in favor of uniform KnownFolder usage (#31)
- keep temporary directory around, due to strange Windows race condition
- add Windows elevation, see PR #22
- add menuinst entry point module menuinst.main
- fixes for Windows XP
- remove all use of root_prefix (it is always sys.prefix), and subprocess calls to Python (which does not work on Windows XP with pythonw.exe)
- add suffix for environment name to shortcuts on win, #4
- clarify root prefix / env prefix distinction (affects menu names)
- support 'script' key to shortcut to arbitrary executable
- make it compatible with python 3
- add initial support for recognition of non-admin installations
- make the shortcut function unicode
- fix minor bug on Windows
- install system wide on Windows
- simplified and changed API
- removed egginst dependency
- renamed appinst to menuinst
- only supports Windows for now
-
use explorer for filebrowser on Windows (PR 2)
-
fixed shortcuts have wrong executable (PR 3)
-
added ability to specify a working directory via a 'working_dir' key … in a shortcut definition. This is then used on win32 only to set the 'Start in' directory of the created shortcut.
-
On windows the target length is limited to about 260 chars and we use python -m webbrowser instead of running the full path to the module to reduce the length of the target.
-
added menu and shortcut removal ability on MaxOSX and Linux
-
removed registry path stuff on Windows, and hence pywin32 dependency
-
add ability to have a menu icon on Linux <custom_tools>/menu.ico
-
removed separate rh3 and rh4 modules
-
simplified much of the code
- This version has been used for a long time.
10 October, 2008 (DP): - API: Finished refactoring that created the application_menus.py module which allows data-driven creation of application menus for both KDE and Gnome on RH3, RH4, and probably other modern Linux distributions. The RH4 implementation creates application menu files that conform to FreeDesktop.org's Desktop Menu Specification 1.0. Though users may need to modify the application_menus.py module to get it to try that implementation on another distribution or version.