ChangeLog - npackd/npackd GitHub Wiki

1.26

  • update checker
  • filter for words that do not exist in package descriptions
  • improved logging, use Windows Event Log
  • update german translations (OgreTransporter)
  • button to open the proxy settings dialog
  • do not translate accelerators
  • bugfix: access violation
  • faster scrolling
  • XP/2003 are not supported anymore
  • support for joker characters in CLU "unwrap-dir"

NpackdCL

  • use color for the console output

1.25

Npackd

  • more precise detection using only whole words and only the title
  • show all missing dependencies in "Check dependencies"
  • right align the download size column
  • check for missing dependencies before adding, removing or updating packages and adding them, if necessary
  • "Check dependencies" action
  • ignore "mozilla" in package titles (detection)
  • use .zip-repositories by default
  • more stop words for detecting packages
  • detect Windows updates and correct Windows version > 7 that was detected by Npackd 1.24 and earlier as 6.x
  • find a better package before searching for nested directories making "Cannot handle nested directories" appear less often
  • handle the KBXXXXXXX packages
  • different background for different message frame types
  • better job messages
  • a small workaround for a change (bug?) in Qt cell text painting
  • bugfix: installing a package shows wrong progress at some point
  • bugfix: close .xml file from a .zip repository
  • bugfix: HTTP cache should not be used on F5
  • bugfix: invalid paths to the resource file
  • bugfix: detection does not see "64 BIT" as x86-64
  • bugfix: uninstalled Windows package still not removed from the Windows registry
  • bugfix: if a better package is found during detection, but a version is not known, nothing is detected

NpackdCL

  • output location for package versions (JSON/XML)
  • better debug output for package detection
  • --noconfirm
  • "ncl build" for building packages (e.g. from source)
  • remove = from the parameters
  • -l option for user level installations
  • bugfix: "ncl remove-scp" uses corrected package titles
  • bugfix: "ncl search" should not filter by status by default

Repository format

  • no changes

1.24

Npackd

  • change the minimum required Windows OS version to 7
  • Qt 5.11 and GCC 8
  • restart stopped services
  • allow exporting packages to an empty existing directory
  • search for categories
  • dialog for choosing an installation directory
  • do not download the same file multiple times if a request is already in progress
  • cache download sizes
  • use HTTP GET to find out the size of a file if HEAD is not supported
  • do not use .NpackdTrash anymore
  • bugfix: avoid access violations on shutdown
  • bugfix: show title for sub-tasks while deleting a directory
  • bugfix: wrong name for the translation file

NpackdCL

  • support for HTTP proxy authentication
  • "ncl search --status=updateable"
  • "ncl remove-scp" for removing software from the Windows Control Panel
  • cmd.exe script output for "ncl path"
  • handle Ctrl+C and similar events on the command line
  • "ncl path" for multiple packages
  • JSON output for "ncl path"
  • send Ctrl+C to console programs
  • bugfix: installations may ignore --file
  • bugfix: do not use "safe" updates from the command line
  • bugfix: multiple packages with the same short name should generate an error
  • bugfix: unknown packages do not generate errors
  • bugfix: "ncl path" is slow for non-admins

Repository format

  • no changes

1.23

NpackdCL

  • detect installed packages by title
  • show the list of previously used repositories in settings
  • updated German translation by OgreTransporter
  • stop Windows services, if necessary
  • stop "lanmanserver" if a directory is shared
  • better category for unknown packages previously installed via Npackd
  • always compare full state of installed packages and save only the differences
  • ignore possible problems with the EXE Proxy
  • remove the code for disk scanning
  • bugfix: non-existing directories for software installed via Npackd should be seen as an uninstallation
  • bugfix: an installation is not cancelled if a download is cancelled
  • bugfix: "Stop.bat" should not change the installation directory
  • bugfix: a download fails if the MIME type header is missing

NpackdCL

  • support for HTTP user name and password from the command line
  • output the information about installed versions as JSON
  • better handling of the debug output

Repository format

  • no changes

1.22

Npackd

  • export for packages
  • action "Run" for a package
  • software detection in parallel threads
  • remove duplicates from the list of installation directories
  • make .msi packages and packages from the Software Control Panel look more like all the other packages
  • accept repository URLs with small errors
  • clear button in search box #455
  • increase the number of download threads to 10

NpackdCL

  • support adding command line tools to PATH
  • JSON output for the commands
  • better debug output
  • use a job for running processes. This allows closing all child processes at once.
  • detect Python
  • delete packages from the repository that are neither installed nor installable
  • fail if a download returns a file that is smaller than expected
  • "set-install-dir" without arguments
  • "update --versions"
  • C++11
  • bugfix: "Premature end of the download" does not work for HTTP HEAD
  • bugfix: some HTTP error messages are overridden by "Cancelled by the user"
  • bugfix: error 12150 on Windows 2003 downloading file
  • bugfix: CSIDL_WINDOWS does not return the system Windows directory if under Terminal Services

Repository format

  • definition for command line tools
  • relative URLs

1.21

Npackd

  • download all binaries necessary for an update first to cope with unstable network connections
  • package removal does not fail anymore if some files are locked and cannot be deleted
  • show the last 10 lines of a script output in the UI in case of an error
  • show only one login dialog at a time
  • find and close more programs that block a directory
  • show dependencies as clickable links
  • log the information about installation and removal of a package to the Windows Event Log
  • use the exact match for a package name even if an inexact match exists
  • delete file shares if they block a package from being removed
  • do not detect Npackd just because it was executed. This can lead to Npackd being detected in a temporary directory.
  • enable WinINet HTTP gzip decompression
  • include the version information into the .exe file
  • always create the "NpackdDetected" directory under "C:\Program Files"
  • bugfix: the program deletes sometimes the download URL for package versions and cannot install them

NpackdCL

  • show the last 10 lines of a script output in case of an error
  • "ncl place" to register an already installed package version within Npackd
  • "--non-interactive" option to disable user interaction
  • "--file" option for "add" to define the exact installation directory
  • "--keep-directories" option for "update" to keep the packages in the same directories during an update
  • "--install" option for "update" to install the newest version if nothing was installed
  • "--version" option for "path" to easily find a particular package version
  • "--versions" option for "add" to install any version from the specified range
  • "--file" option for "update" to install the newest version in the specified directory
  • show the output of the scripts on the console if the -d parameter is passed
  • do not notify other programs about changes to the NPACKD_CL environment variable as it takes about 5 seconds
  • do not detect MSI packages in "add", "remove" and "update" as it takes up to 4 seconds
  • use the exact match for a package name even if an inexact match exists
  • find and close more programs that block a directory
  • delete file shares if they block a package from being removed
  • log the information about installation and removal of a package to the Windows Event Log
  • "where" to search for a specific file or directory in all installed package versions
  • do not detect NpackdCL just because it was executed. This can lead to NpackdCL being detected in a temporary directory.
  • commands now fail if an appropriate option is used (e.g. "install" in "search")
  • "--bare-format" option for "list-repos" to only output the repository URLs
  • "set-repo" to change the list of used repositories
  • enable WinINet HTTP gzip decompression
  • output the executed SQL statements in debug mode
  • always create the "NpackdDetected" directory under "C:\Program Files"
  • bugfix: script output is not stored in case of a failed installation or removal
  • bugfix: show only one login prompt at a time
  • bugfix: use Windows style line endings in the console output
  • bugfix: the program deletes sometimes the download URL for package versions and cannot install them

1.20

Npackd

  • screen shots for packages
  • faster icon loading in multiple threads
  • download sizes for packages are shown in the main table
  • support for .ico, .gif, .jpg and .bmp images
  • support for the file:// protocol for repositories, downloads, icons
  • Spanish translation updated by www.jon99
  • support for repositories in .zip files
  • completely reworked progress panel
  • ability to choose visible columns and reorder them
  • "Toggle toolbar" action in the menu
  • "Show changelog" action in the menu
  • faster filling for the table with packages
  • focusable links
  • hide the command line window for a self-update
  • include the translation files in the binary
  • reduce the binary size by -Os
  • show the failing SQL query in the error messages
  • show the duration of the last search
  • parallel loading of the repositories
  • do not read the script output in memory
  • allow installation/removal even if the repository update is in progress
  • column for the download size
  • do not download the same icon more than once
  • reduce memory usage via icon cache on disk
  • call VACUUM on the local package database to reduce the disk space usage
  • delete file shortcuts in the background
  • cut the package description at 200 characters to improve the scrolling performance in the table
  • do not reload the repositories if the URLs were not changed in the settings dialog
  • lower case for GUI labels
  • XML validation for the "package" tag
  • small improvement to the detection of programs from the control pane "software"
  • bugfix: do not run self-update from the directory of the current Npackd/CL
  • bugfix: progress is shown as 0% for 100%
  • bugfix: tab order in various panels
  • bugfix: a dot at the end of a path is not significant
  • bugfix: CreateProcess arguments should include the program name
  • bugfix: HTTP-cache was not used

NpackdCL

  • show screenshot URLs
  • bugfix: the program asks for the password in the console for the downloaded icons
  • bugfix: NPACKD_CL may be set to "" if a particular package version is not in the Npackd.db
  • bugfix: npackdcl "path" should work even if Data.db is unavailable

Repository format

  • "link" tag for screenshots, changelogs, icons and home pages

1.19

Npackd

  • stop running programs if necessary
  • support for .zip files bigger than 4 GiB (zip64 file format)
  • check the downloaded binaries with the installed antivirus
  • fill the table immediately after the start, asynchronous database update
  • better package detection (less duplicates)
  • better warnings if something will be removed or installed
  • auto-update
  • load MSI and control panel icons
  • store/load the list of previously used installation directories
  • "Open folder" action to show the package directory in Windows Explorer
  • more tooltips
  • npackdg.exe "start-newest" command to start the newest version of Npackd GUI
  • npackdg.exe "add" to add a package with a GUI progress dialog
  • npackdg.exe "remove" to remove a package with a GUI progress dialog
  • support for SHA-256 cryptographic hash sums
  • bugfix: .lnk descriptions can only contain one line
  • use Qt 5.2.1, MinGW-w64 4.8.2, QuaZIP 0.6.2
  • better installation location detection for MSI packages
  • save the list of repositories in the database
  • do not use script mode while parsing the URLs
  • show text files associated with a package version
  • change the home page to https://npackd.appspot.com
  • reload tabs if the repository was reloaded instead of closing them
  • bugfix: ROLLBACK is used outside of a transaction
  • bugfix: finish() SQL queries

NpackdCL

  • distribute "ncl.exe" with the same functionality as "npackdcl.exe" for less typing
  • auto-update
  • set-install-dir/get-install-dir
  • faster commands that do not install or remove packages
  • bugfix: do not move NpackdCL installation path if started from another directory
  • show text files associated with a package version in the command line
  • bugfix for Issue 353: "Program Files (x86)"/"Program Files" conventions not respected.
  • do not modify PATH in the NpackdCL installer

Repository format

  • the file .Npackd\Stop.bat may be included and will be called to stop a running package version.
  • support for the SHA-256 hash sum

1.18

Npackd

  • i18n: French translation by baptist.benoist, German translation by nipsky, Russian translation by knockdowncore, Spanish translation by www.jon99
  • categories
  • faster filling of the table (only the visible cells are filled)
  • download only the necessary icons
  • store and load main window size, toolbar position and column widths
  • use the Windows HTTP cache for the repositories
  • show a "wait" icon while loading the real package icon
  • support for bigger repositories (store the data in the SQlite database)
  • smaller size (static linking, use the zlib from Qt)
  • provide progress information for long running package detection
  • radio buttons for different package types instead of a combobox (filtering)
  • show the actual error message if a shortcut cannot be created
  • search for all possible matches while searching for a dependency
  • show URL for file download errors
  • lock the .Npackd\Uninstall.bat script during the installation. This prevents it from being deleted by an uninstaller.
  • save the Install.bat/Uninstall.bat output in a file
  • handle Windows registry write errors
  • show the detection info on the package version details tab
  • bugfix: directories under NpackdDetected are created over and over again
  • bugfix for the issue 260: All Packages are deleted from registry on Npackd start
  • bugfix for the issue 220: Applications hangs at 'Detecting MSI packages'

Repository format

  • categories
  • NPACKD_PACKAGE_BINARY environment variable is automatically set during the install script execution to the name of the downloaded file

NpackdCL

  • remove, update or install several packages at once
  • faster "npackdcl path" (< 5 ms)
  • "npackdcl list-repos" to list of available repositories
  • "npackdcl which" to find out which package installed a particular file
  • "npackdcl check" to check dependencies for all installed packages
  • allow short package names in "npackdcl path"
  • allow "npackdcl remove" without specifying a version number if only one version is installed
  • print dependency tree for a package version in "npackdcl info"
  • "npackdcl rm" as an alias for "remove"
  • --debug to show every message
  • add licenses
  • bugfix for the issue 211: Remove default repo not work

1.17

Npackd

  • synchronize information about installed programs with the control panel "Add or remove software" and MSI package database. Allow uninstallation of those packages.
  • 64 bit version. Do not allow the execution of the 32 bit version on 64 bit systems (this does not apply to the command line client)
  • system-wide list of repositories instead of per user
  • gzip compression for all HTTP requests
  • use the Windows Internet cache for repositories, icons
  • show packages in the overview table instead of package versions
  • remove the filters for "not installed" and "newest or installed" packages
  • faster full-text search
  • do not delete desktop shortcuts during installation, fail if a shortcut target cannot be found during package installation
  • only load the necessary package icons, do not download the same icon more than once
  • lower memory usage
  • improve the package table filling performance
  • better error messages while parsing XML, unpacking ZIP files or if a job fails
  • "Feedback"-button
  • better package name validation
  • less borders in the UI
  • change tab order in the settings tab

Repository format

  • no changes

NpackdCL

  • output progress messages in a more simple way
  • search for packages with "npackdcl search -q query"
  • information about a package including all available version numbers: "npackdcl info -p MinGWW64"
  • "npackdcl detect" to synchronize with the MSI package database and the programs installed in the "Add and remove software" control panel
  • check for locked files and directories before uninstalling something
  • output version number

1.16

Npackd

  • Install, uninstall and update actions support multiple package version selection
  • all long-running operations are performed in the background without blocking the UI
  • Windows 7 taskbar progress visualization
  • plan package updates to minimize side-by-side installations
  • don't use version numbers in package directory names and start menu entries
  • speed improvements: compute SHA1 during the download, download files directly into the package directory, faster update for the NPACKD_CL variable
  • uninstalling a package will not delete shortcuts from the desktop and Quick Launch anymore
  • show errors as non-modal panels and automatically close them after 30 seconds. This functionality also detects user inactivity.
  • case insensitive sorting for packages
  • show program settings and version information in tabs
  • remove the "Expert" menu
  • better keyboard navigation support
  • much better validation for repositories
  • use 64-bit cmd.exe on 64-bit systems for installation and uninstallation scripts
  • Unicode support for the output of installation and uninstallation scripts
  • format all available WinInet errors with the corresponding message
  • smaller executable
  • choose main menu accelerators automatically
  • bugfix: show the full log if an installation fails
  • bugfix: password protected downloads failed sometimes
  • delete created shortcuts if an installation is cancelled

Repository format

  • "variable" tag to set dependency paths in environment variables
  • UTF-8 for "file" entries

NpackdCL

  • New commands: list, info, update, add-repo, remove-repo
  • path without --versions shows the path of the newest installed version
  • add without --version installs the newest available version
  • Unicode support
  • username/password entry support
  • do not set error codes if a package is already installed or un-installed
  • smaller executable
⚠️ **GitHub.com Fallback** ⚠️