6 The information presented below describes the user visible changes
7 introduced with each release of mingw-get. The online version of this
8 historical record is restricted to recent releases; the full history is
9 recorded in the NEWS file, which is included in the source code package.
12 mingw-get-0.5-mingw32-beta-20120426-1
13 -------------------------------------
15 Release date: 2012-04-26
17 This is an emergency bug-fix release; it provides an immediate interim
18 work-around for bug #3520864, circumventing a critical regression which
19 was introduced in mingw-get-0.5-mingw32-beta-20120416-1, and is thus a
20 mandatory upgrade for users who had previously upgraded to that version.
22 It also incorporates the correction for bug #3520488.
25 mingw-get-0.5-mingw32-beta-20120416-1
26 -------------------------------------
28 Release date: 2012-04-16
30 This milestone release marks the point at which the code base, for the
31 CLI implementation, is deemed to have progressed from alpha to beta
32 (or better) quality. It corrects several packaging deficiencies within
33 the source code distribution, in addition to fixing two reported bugs;
34 it also adds several new features.
36 The following bugs are fixed by this release:--
38 - #3416013: --reinstall and dependent packages
40 Specifically, in the case of application of the --reinstall option to
41 meta-packages, previous releases would have no effect. This is now
42 corrected, such that the --reinstall action is applied recursively to
43 each declared requirement of any meta-package, to the depth of the
44 first non-meta package in each requirement chain.
46 - #3424406: install --reinstall performs an upgrade
48 When performing the "install" action, with the --reinstall option,
49 previous releases would consider the availability of upgrades for the
50 package in question, promoting the "install" action to "upgrade" when
51 possible. This anomaly has now been corrected; when specified with
52 the "install" action, the --reinstall option will cause reinstallation
53 of the originally installed version, ignoring available upgrades; (the
54 former behaviour remains available, by specifying the --reinstall
55 option together with the "upgrade" action).
57 The following new features have been implemented:--
59 - Forced installation of a specified (non-current) release.
61 The package name specified as the predicate of any "install" or
62 "upgrade" action may now be qualified by a version specification,
63 allowing the user to select any known version, (not necessarily the
64 most recently released), for installation. In the case of any package
65 which has not been previously installed, the format is any of:
67 ! mingw-get install "package-name=version-spec"
68 ! mingw-get install "package-name<version-spec"
69 ! mingw-get install "package-name<=version-spec"
70 ! mingw-get install "package-name>=version-spec"
71 ! mingw-get install "package-name>version-spec"
73 while for any package which has been previously installed, and is to
74 be "rolled back" to an earlier release, the same forms are supported,
75 using the "upgrade" action in place of "install".
77 In each of the above command forms, "package-name" represents the
78 unqualified package name, as it would be specified in any regular
79 invocation of mingw-get, and "version-spec" is the selector for the
80 desired version; (in the case of an "=" qualifier, this must be an
81 exact match for the desired version, unless it ends with the "*" wild
82 card). For example, if GCC has already been installed at version
83 4.6.2-1, (the most recent release at this time of writing), it may be
84 rolled back to the last version 4.5 release by:
86 mingw-get upgrade "gcc=4.5.*"
88 or by using an inequality specifier, to exclude gcc-4.6 and later:
90 mingw-get upgrade "gcc<4.6"
92 Note that, particularly in the case of the inequality qualifiers, the
93 argument must be quoted, to avoid interpretation of the inequality
94 operator as the shell's redirection operator.
96 Also note that any explicit *inclusive* version range, such as:
98 mingw-get upgrade "gcc>4.5<4.6"
100 is permitted; however no white space is permitted, anywhere within the
101 qualified package specification.
103 - Support for package maintainer scripted installation hooks.
105 An embedded script interpreter, based on Lua version 5.2, has been
106 incorporated; this provides support for "pre-install", "post-install",
107 "pre-remove", and "post-remove" action hooks, which may be specified
108 by package maintainers, in the form of Lua scripts embedded within
109 "action" elements in any package's XML catalogue entry.
111 This capability is further supported by the provision of Lua modules,
112 providing a standardised mechanism for creation of MS-Windows shell
113 links, (a.k.a. shortcuts).
115 - New option: "--desktop"
117 Grants permission, to package maintainer specified scripts, to create
118 shortcuts on the user's desktop; alternatively, it may be specified as
119 --desktop=all-users, to make such shortcuts available to all users.
121 - New option: "--start-menu"
123 Grants permission, to package maintainer specified scripts, to create
124 shortcuts in the user's start menu; alternatively, it may be specified
125 as --start-menu=all-users, to make such shortcuts available in the
126 start menus of all users.
129 mingw-get-0.4-mingw32-alpha-1
130 -----------------------------
132 Release date: 2011-11-06
134 This release fixes a critical bug in the upgrade code, whereby an
135 existing DLL could be replaced by an alternative with an incompatible
136 ABI version, where the correct action is to install both concurrently.
137 As a critical bug-fix release, this is a strongly recommended upgrade
140 In addition to this critical bug-fix, the following new features have
143 - Modified action: "upgrade"
145 The "upgrade" request now supports anonymous upgrade of all currently
146 installed packages; in other words, the command:
150 issued without any additional package-name arguments, will cause
151 mingw-get to invoke the upgrade action in respect of each and every
152 package which is currently recorded as "installed", and for which an
153 upgrade is available.
155 - New action: "source"
157 Invoked by a command of the form:
159 $ mingw-get source package-name ...
161 requests mingw-get to download the source code archive for each named
162 package, and unpack it in the current working directory.
164 - New action: "licence"
166 Similar to "source", and invoked by a command of the form:
168 $ mingw-get licence package-name ...
170 requests mingw-get to download the licence packs for each named
171 package, once again unpacking them in the current working directory.
173 - New option: "--print-uris"
175 Used in conjunction with an "install", "source", or "licence" request,
176 causes mingw-get to print, on stdout, the URIs from whence the
177 packages needed to satisfy the request may be downloaded, without
178 otherwise completing the request; (nothing is actually downloaded,
179 unpacked, or installed). This option causes the URIs to be printed
180 irrespective of the installation status of the named packages.
182 - New option: "--download-only"
184 Used with an "install", "upgrade", or "licence" request, causes
185 mingw-get to download any package archives which are necessary to
186 complete the specified action, provided they are not already present
187 within the package cache, but without unpacking or installing the
188 package content. After completing the request, the requisite package
189 archives may be found in the mingw-get package cache
191 var/cache/mingw-get/packages
193 relative to mingw-get's own sysroot path.
195 Similarly, when used with the "source" request, the "--download-only"
196 option causes mingw-get to download any source package archives needed
197 to complete the request, (once again, provided they are not already
198 present in the download cache), but without unpacking them. In this
199 case, after completing the request, the requisite source archives may
200 be found in the directory
202 var/cache/mingw-get/source
204 relative to the sysroot path.
206 - New option: "--all-related"
208 Used with the "source" or "licence" requests, this option extends the
209 scope of the request, causing mingw-get to also process the source or
210 licence packages associated with all runtime dependencies identified
211 for the packages named in the command.
213 ;--------8<-------------------- cut-line -------------------->8--------
215 ; Any text added below the cut-line will be included in the README
216 ; file, which is to be included in the source distribution, but it
217 ; will be excluded from the readme.txt file, which is to be used to
218 ; add descriptive content on the SourceForge download page.
220 ; Any lines, such as these, which begin with a semicolon in their
221 ; first column (not indented), will be excluded from both files.
223 mingw-get-0.3-mingw32-alpha-2.1
224 -------------------------------
226 Release date: 2011-07-29
228 This interim release corrects a critical defect in the version matching
229 code within mingw-get's dependency resolver, which resulted in failure
230 of wild card tokens in a requirements specification to match an actual
231 package version, where that version was qualified by a release status
232 descriptor, (such as "alpha", "beta", "pre", etc.)
234 Users may also note that the default package archive format has been
235 changed from tar.gz to tar.xz; (the alternative zip format archive for
236 the binary package is retained, for the convenience of first time users
237 who lack any tar archive extraction capability).
239 This release is a mandatory prerequisite upgrade for all users who may
240 wish to install and deploy the upcoming MinGW GCC-4.6 pre-release
241 packages using mingw-get.
244 mingw-get-0.3-mingw32-alpha-2
245 -----------------------------
247 Release date: 2011-06-17
249 This is primarily a bug fix release; it also provides some limited
250 additional functional capability. All users are recommended to upgrade
253 - Fixes MinGW-Bug #3309438; this release now supports dynamic selection
254 of all internally defined debugging trace options at run time, without
255 prejudice to normal operation.
257 - Fixes MinGW-Bug #3313806; CMS_KEYWORDS are no longer matched within
258 the package name field of a canonical package tarname. Thus, packages
259 such as "msys-cvs" are now correctly identified again, while resolving
262 - The "mingw-get update" operation now emits "Update catalogue ..."
263 messages for each catalogue processed, irrespective of the verbosity
264 option setting. This removes the requirement to specify the "-vv"
265 option to avoid protracted silent operation, which may have given
266 a false impression that the previous release had hung while
267 performing this operation.
269 - The "--reinstall" option is now formally supported; this release will
270 no longer behave as if this option is unconditionally specified; thus,
273 $ mingw-get upgrade --reinstall <package-name>
275 is now required to force reinstallation of any package which has been
276 recorded as already installed.
279 mingw-get-0.3-mingw32-alpha-1
280 -----------------------------
282 Release date: 2011-05-30
284 - Augmented support for package development status identification;
285 packages may now be classified as alpha < beta < pre < rc < stable,
286 with implied development progression in this ranking order within any
287 release group identified by a common version number.
289 - Added support for identification of snapshot releases, using common
290 Content Management System (CMS) labels, (e.g. cvs, svn, hg, git), in
291 place of an alpha..stable classification. Releases identified by any
292 CMS label are deemed to pre-date any alpha..stable release with the
295 - Implemented protocol for processing command line options, (beyond the
296 limited scope of the "--help" and "--version" options, each of which
297 causes immediate program termination after interpretation).
299 - Reduced verbosity of progress reports; implemented "--verbose" ("-v")
300 option, (with levels from 0..3), to restore it.
302 - Added debug level support for conditional feature tracing. Features
303 to be traced may now be selected by the user, at run time, by means of
304 a new "--trace" option; (however, the availability of this option, and
305 the range features which may be traced is selected at compile time).
307 It is anticipated that this "--trace" facility will be supported for
308 all future "alpha" and "beta" releases, but not for any officially
309 distributed "pre", "rc" or "stable" release.
312 mingw-get-0.2-mingw32-alpha-4
313 -----------------------------
315 Release date: 2011-05-14
317 - This is yet another bug-fix release; it addresses the issue
318 identified in MinGW-Bug 3295526, so ensuring that mingw-get
319 always removes files it has installed, regardless of any read-only
320 attribute setting, (provided the user is sufficiently privileged).
322 - It also addresses the issue identified in MinGW-Bug 3297660, so
323 ensuring that packages are not erroneously reported as "installed"
324 following a failed download, and that packages previously installed
325 are not removed during upgrade, when the replacement version has not
326 been successfully downloaded.
328 - This release also incorporates additional code to aggressively retry
329 failed internet requests, when attempting to download packages. The
330 release has been compiled with internet request tracing diagnostics
331 enabled; it is hoped that this will permit users to provide more
332 useful information when reporting download problems.
335 mingw-get-0.2-mingw32-alpha-3
336 -----------------------------
338 Release date: 2011-03-31
340 - Another bug fix release; this corrects a defect whereby attempts to
341 remove files or directories during any "mingw-get remove ..."
342 or "mingw-get upgrade ..." operation would fail (silently),
343 when any macro is used in the sysroot specification, (such as the
344 use of "%R" in the default specification).
346 - Also included in this release is a preliminary attempt to accommodate
347 users who wish to run mingw-get when behind an authenticating proxy;
348 (ref: MinGW-Bug 3147803). Based on MinGW-Patch 31584530,
349 this invokes Microsoft's standard pop-up dialogue to solicit entry
350 of the user's credentials, when requested by a proxy server.
353 mingw-get-0.2-mingw32-alpha-2
354 -----------------------------
356 Release date: 2011-03-15
358 - Fixes MinGW-Bug 3212246; this was a serious bug which, under
359 certain specific conditions, could result in a package name alias
360 being matched to the wrong package, (e.g. autoconf2.5 resolved to
361 match the mingw32-autoconf2.1 package, instead of
362 mingw32-autoconf2.5).
365 mingw-get-0.2-mingw32-alpha-1
366 -----------------------------
368 Release date: 2011-03-12
370 - Added provisional support for removal of packages which have been
371 previously installed. This is fully functional, but naive with respect
372 to dependencies; it will aggressively remove any package scheduled for
373 removal, even if this may break another (dependant) package.
375 A future release will address this naivety, performing more rigorous
376 dependency checking prior to progressing removals. Meanwhile, should it
377 be discovered that removal of a package has broken any dependency, then
378 reinstallation of the dependant package should correct the situation.
380 - The upgrade operation now performs a removal of the currently installed
381 version of each package, prior to installing a replacement; this ensures
382 that obsolete artifacts from earlier versions do no accumulate within
385 As with the remove operation, this implementation does not check that an
386 upgrade is compatible with dependant packages; this will be addressed in
389 - Added preliminary support for the "list" operation. This provides a
390 rudimentary mechanism for interrogating the package catalogue, and
391 displaying a list of available packages.
393 - Added preliminary support for the "show" operation. As currently
394 implemented, this behaves as a synonym for "list"; as functionality
395 develops, the behaviours of these two operators may become distinct in
399 mingw-get-0.1-mingw32-alpha-5.2
400 -------------------------------
402 Release date: 2011-02-26
404 - This is a further bug-fix release. It provides a work-around for a
405 defect in the console I/O handling of MSYS mintty and MSYS rxvt, which
406 causes the stderr stream to appear to be inappropriately buffered within
407 either of these terminal emulators. As such, it is a recommended upgrade
408 for users of either of these emulators; it offers no tangible benefit
412 mingw-get-0.1-mingw32-alpha-5.1
413 -------------------------------
415 Release date: 2011-02-10
417 - This is a bug-fix release to correct a critical defect in the resolution
418 of dependencies, when performing an upgrade operation. It also provides
419 more meaningful diagnostics when mingw-get is invoked without arguments,
420 and corrects some omissions from the source tarball.
423 mingw-get-0.1-mingw32-alpha-5
424 -----------------------------
426 Release date: 2010-10-29
428 - Improved self-upgrade support; it incorporates a work around to avoid
429 a potential race condition in mingw-get-inst; (c.f. MinGW bug 3075616);
430 mingw-get.exe and mingw-get-0.dll are renamed, (to move them out of the
431 way), only when performing an explicit upgrade of the mingw-get-bin
435 mingw-get-0.1-mingw32-alpha-4
436 -----------------------------
438 Release date: 2010-09-10
440 - Fixes a bug in the earlier self-upgrade
441 functionality, where any runtime error "deleted" mingw-get. (mingw-get
442 and its support file(s) were actually only renamed, but recovery was
443 difficult). Now, "ordinary" errors such as bad command line arguments,
444 failed downloads, missing manifests, etc, will not cause this behavior.
445 However, a catastrophic operating system error may prevent the new
446 auto-recovery code from executing, leaving mingw-get in its "deleted"
447 (e.g. renamed) state. If this occurs, simply do the following:
449 ; The initial exclamation marks, here, introduce a preformatted block
450 ; with absolute indentation; each is replaced by a space, on output.
451 ; (These comment lines -- with initial semicolon -- are not copied to
452 ; the formatted output stream).
455 ! $ mv bin/mingw-get.exe~ bin/mingw-get.exe
456 ! $ mv libexec/mingw-get/mingw-get-0.dll~ \
457 ! libexec/mingw-get/mingw-get-0.dll
459 - Add --help|-h option
462 mingw-get-0.1-mingw32-alpha-3
463 -----------------------------
465 Release date: 2010-08-30
467 - There is no profile.xml file shipped with this release; users who
468 are installing for the first time are advised to copy the supplied
469 var/lib/mingw-get/data/defaults.xml configuration file prototype to
470 var/lib/mingw-get/data/profile.xml, which may then be customised as
471 required; (if no customisation is required, mingw-get can use the
472 defaults.xml file directly, but will warn that profile.xml does
475 - Within defaults.xml, the %R macro has been formally adopted as the
476 mechanism for specifying the installation paths for both MinGW and
477 for MSYS; this binds the default installation paths for both MinGW
478 and MSYS to the installation directory of mingw-get itself, since
479 the absolute path to mingw-get.exe is identified as:
483 with default base directory paths being defined for each of MinGW
484 and MSYS respectively as:
486 ; The initial exclamation marks, here, introduce a preformatted block
487 ; with absolute indentation; each is replaced by a space, on output.
488 ; (These comment lines -- with initial semicolon -- are not copied to
489 ; the formatted output stream).
494 This arrangement makes it possible for users to choose installation
495 locations for both MinGW and MSYS, simply by making the choice of
496 where to install mingw-get, without any further need to create, or
497 to modify profile.xml, (although, to avoid warnings about a missing
498 profile.xml, users may prefer to copy or rename defaults.xml). As
499 for previous releases, the recommended directory for installation is
500 C:\MinGW\, and this should not be changed without pressing reason; in
501 any event, users who insist on changing it should be aware that, if
502 they choose any installation directory which includes white space in
503 its absolute path name, their installation may not work correctly,
504 and such installations will not be supported by the MinGW Project.
506 - This release of mingw-get incorporates necessary infrastructure to
507 support future upgrades to itself, using its own internal upgrade
508 facility. This is the first release to support this capability;
509 however, the effect will not become apparent until upgrading to
513 mingw-get-0.1-mingw32-alpha-2
514 -----------------------------
516 Release date: 2010-05-17
518 - The var/lib/mingw-get/data/profile.xml file is no longer included in
519 the distribution tarball, (or zipfile); instead, a prototype for this
520 file is provided as var/lib/mingw-get/data/defaults.xml
522 - The repository section of profile.xml may now omit any specific
523 reference to a named package-list catalogue, allowing mingw-get to
524 interrogate a default catalogue on the repository host. Users who
525 have previously installed a modified profile.xml are advised to
526 incorporate changes to the repository definition from defaults.xml
527 into their profile.xml
529 - Users who do not wish to provide a customised profile.xml are advised
530 to copy or rename the provided defaults.xml file to profile.xml; this
531 remains the preferred name for the configuration file, and mingw-get
532 will look for it first. If it cannot be found, mingw-get will issue
533 a warning, before looking for defaults.xml as an alternative.
535 - The structure of the repository catalogue has changed, to more readily
536 accommodate dynamic incremental distribution updates, without requiring
537 a corresponding update to mingw-get itself. While this affects package
538 maintainers more than end users, such users are advised to perform a
539 regular `mingw-get update', at intervals of a few weeks, to capture
542 - As a consequence of the preceding change, the list of packages known
543 to mingw-get is no longer restricted, as it was previously; additional
544 or more up-to-date packages may become available from time to time, as
545 individual package maintainers add the appropriate manifests to the
546 online repository catalogue; use `mingw-get update' to capture such
547 new and updated packages.
549 At the time of this release, the packages recorded in the distribution
550 manifest remain as for the alpha-1 release. With the improved handling
551 of manifests, additional (and more up-to-date) packages will be added
552 soon after this release, and will become immediately available to users,
553 on running `mingw-get update'.
556 mingw-get-0.1-mingw32-alpha-1
557 -----------------------------
559 Release date: 2010-02-16
561 This is the first alpha release of the next generation MinGW installer,
562 mingw-get; it provides a more readily extensible, and more configurable
563 alternative to the existing MinGW-5.1.x series of NSIS installers, for
564 installing MinGW packages.
566 $RCSfile$: end of file