= Release Notes = อย่าลืมอ่าน[[UpgradeNotes|โน๊ตการอัพเกรด]]และ[[API_Changes|API ที่เปลี่ยนแปลง]] (ถ้าคุณสนใจ) <> (ถ้าต้องการคุณสามารถดู [[/Archive|release notes สำหรับเวอร์ชั่นเก่า]] ได้ เวอร์ชั่นใหม่จะถูก release ตาม [[TimeBasedReleasePlan|หมายกำหนดการ]]) == เวอร์ชั่น 1.3 - 1 กรกฎาคม 2552 == === การแก้ไขสำคัญ === * สนับสนุนการทดลองใช้ [[subrepos|sub-repositories]] * ยกเลิกการสนับสนุน Python 2.3 แล้ว; จากนี้จะสนับสนุนแค่ Python 2.4-2.6 === คำสั่ง === * merge: เพิ่มตัวเลือก -P/--preview * update: ไม่ลิงก์หาไฟล์ที่ถูกเพิ่มเข้ามาถ้าระบุตัวเลือก -C/--clean * update: เพิ่มตัวเลือก -c/--check เพื่อยกเลิกการแก้ไขในเครื่อง * update: สนับสนุนการ merge ในอดีต * push: สนับสนุนการทำงานกับกิ่งที่มีชื่อ (named branches) ได้ดีขึ้น * branches/heads: เพิ่มตัวเลือก -c/--closed เพื่อแสดงกิ่งที่ปิดไปแล้ว (closed branches) * help: เพิ่มหัวข้อ extensions === ทั่วไป === * เพิ่มการตั้งค่า patch.eol สำหรับทำงานกับ patch ที่มาจากต่าง platform * แก้ไขการสนับสนุน SSL ผ่านพร๊อกซี่ * เพิ่มความสามารถในการโหลด hook จาก Python module * ซ่อนรหัสผ่านสำหรับ HTTP repository ในล๊อกข้อผิดพลาดและล๊อกการแสดงผลทั่วไป * แก้ไขการสนับสนุน Python 2.6 ใน Windows installer * เพิ่มวิธีการระบุชื่อและรหัสผ่านสำหรับ HTTP authentication ในไฟล์ hgrc * แสดงคำถามและตัวเลือกต่างๆ ถึงแม้ว่าจะอยู่ในโหมด non-interactive * ทำให้ทำงานได้เร็วขึ้น โดยเฉพาะบนวินโดวส์ * สนับสนุน zsh completion ได้ดีขึ้นกว่าเดิมมาก * อัพเดตการแปลภาษาเดนมาร์ค ญี่ปุ่น อิตาเลียน และจีน * เพิ่มภาษาเยอรมัน ฝรั่งเศษ กรีก โปรตุเกสแบบบราซิล และจีน (Traditional) === เว็บอินเทอร์เฟซ === * อ่านการตั้งค่าต่างๆ จาก webdir configs * แสดงหน้า branches ใน hgweb * สนับสนุน templater engine * รีเฟรชการตั้งค่าใน hgwebdir อัตโนมัติเป็นระยะ * ทำให้ค่าใน web.encoding มีผลเหนือ ui.encoding * ทำงานกับ dicts/lists เหมือน webdir config paths === ส่วนต่อขยาย === * สนับสนุนการทดลองใช้ [[ShareExtension|share]] * ย้ายส่วนต่อขยาย alias ไปไว้ในโปรแกรมหลัก * mq * เพิ่มตัวเลือก -P/--push ให้ qimport * แก้บั๊กต่างๆ มากมาย * convert * source detection ที่ดีขึ้น * สนับสนุนการใช้ comment ใน author maps * สนับสนุน branch map * เพิ่มตัวเลือกสำหรับจัดเรียงลำดับต่างๆ * svn: สนับสนุน authn provider สำหรับแต่ละระบบปฏิบัติการ * svn: สนับสนุน tag ได้ดีขึ้น * git: เพิ่ม committer tag เมื่อจำเป็นเท่านั้น * bzr: แก้ไขการสนับสนุนการเปลี่ยนชื่อไฟล์ * bzr: สนับสนุน filemaps * bzr: ปรับปรุงการเก็บ timestamp ให้ถูกต้อง * bzr: แก้ไขการจัดการ symlink * bzr: restore paths to source encoding * cvs: สนับสนุน CVS merge(point)s * cvs: สนับสนุน synthetic revisions * cvs: สนับสนุน branchpoints ให้ดีขึ้น * cvs: ยกเลิกการใช้ external cvsps * mtn: สนับสนุนการเปลี่ยนชื่อไฟล์ได้ดีขึ้น * mtn: สนับสนุนการใช้ไฟล์ฐานข้อมูล mtn เป็น source * mtn: สนับสนุนวันที่/เวลาได้ดีขึ้น * p4: สนับสนุน keywords, ไฟล์ไบนารี่ และ symlinks ได้ดีขึ้น * rebase * เก็บข้อมูลการคัดลอง/เปลี่ยนชื่อ * เก็บฟอร์แมตของ mq แบบดั้งเดิมเอาไว้ * zeroconf * กระจายชื่อ repository โดยใช้ชื่อของ host * พยายามเดา IP address ถ้าจำเป็น * patchbomb * เพิ่มตัวเลือกสำหรับตั้งชื่อ attachment * สนับสนุน In-Reply-To header * inotify * แก้ไขการลบไฟล์ที่ไม่ถูก track ออกจาก repository * แก้ไขการสนับสนุนการลบไดเร็คทอรี่ * acl: สามารถ push ผ่าน https ได้แล้ว == Version 1.2.1 - 2009-03-20 == This is a bugfix release. * fixed version number build from tarball * fix allow_read logic for hgweb * improve handling of damaged revlogs in verify * keep .orig files when resolving * clear resolve state properly when rebasing * improve --command handling with bisect * fix diff against bundles * improve fetch logic for inactive branches * fix diffstat with notify * fix 'synthetic file adds' in CVS conversion == Version 1.2 - 2009-03-04 == This is a larger feature release. General features: * explicit closing of named branches via hg commit --close-branch * hg now accepts options given after arguments on the commandline * added translation support with initial Danish, Chinese, Japanese, and Italian translations * added optional pure-Python versions of C modules * pending changesets can now be accessed safely from hooks * diff: added -c option to show single changeset * many improvements to the documentation and online help topics Extensions: * convert: * new support for perforce sources * improvements to handling cvs sources * improvements to handling gnu arch source * improvements to handling darcs sources * bookmarks: * set current to new when current is renamed * bookmarks: Add track.current option * bookmarks: add bookmarks to tags * mq: allow qpop when it won't invalidate any dirstate parents * patchbomb: respect diff settings * rebase: pull --rebase updates if there is nothing to rebase * bugzilla: updated to work with Bugzilla 3.2 * zeroconf: added more documentation * hgk: add several color settings * the imerge extension has been removed (obsoleted by the resolve command) == Version 1.1.2 - 2008-12-31 == This is a minor release including one security fix and two minor bug fixes * improve path auditing (issue 1450) * fix date-related test failures in test suite * add graph controls to monoblue theme == Version 1.1.1 - 2008-12-20 == This is a bugfix release * make hgweb recursion optional (use '**' rather than '*') * fix fncache bug for directories ending in ' ' or '.' * require -a switch to resolve all files * improve help for resolve command * fix inotify interaction with bundle diffs * fix strange readline import error on Windows * fix non-existing target directory with git diffs * fix removing symlinks with git diffs * fix directory creation bug in patch * rebase: allow keeping branch names * fix a copy bug in the SVN converter == Version 1.1 - 2008-12-2 == This is a larger feature release. General: * Added 'resolve' command for better tracking of in-progress merges * Several speedups for status and diff commands (especially on Windows) * Some modules have been rewritten in C for greater speed * Compatibility with Python 2.6 * Improved correctness in the face of casefolding filesystems * Fixed a possible race condition in pull * Fix support for context-size diff settings * Fixed several crashes on Windows related to code freezing * Don't complain when trying to load extensions twice * Allow C extensions to compile on Haiku * Allow for committing in-memory file contents * New repository format which limits path lengths in the store * Unclutter commands list by extracting extension commands into separate lists * static-http support is now a fallback for the general http support * Add some buffering to the templater * Better documentation on git diffs Web interface: * Add a canvas-based repository graph * New and improved hgweb themes: paper, coal and monoblue * paper is now the new default style; the old default is now called 'spartan' * Better WSGI compliance * Collections now show nested repos (best used without a checkout) * diffs are more sensible, follow diff.git settings * Full author name available in annotate templates * Make it easier to add template paths in extensions * Support for allow_read/deny_read access controls * Working diff and file log for removed files * Better alternative for repository collections * Corrected feed link in gitweb theme * Fix a bug with CGIs running under IIS Commands: * commit: print the revision ID when invoked with --verbose * resolve: new command to help keep track of merges * merge: only implicitly select same-branch heads * export: append instead of overwrite when exporting multiple changesets * bundle: added support for different compression types * rollback: clean up empty files * help: several more sections from the manual are available through hg help now * bisect: better documentation, give better feedback, option for scripted testing * branch: allow for resetting current branch name * patch: add a --similarity option to do rename/copy detection * tag: without a checkout, use tip as the tagging revision's parent * log: allow searching by user (with -u) * import: importing from URL now works with http authentication * unbundle: importing from URL now works * pull: with -u, still update if there's only one head on the current branch * diff: fix a problem with the --showfunc option Extensions: * rebase: new extension to support rebasing changesets * bookmarks: new extension to provide (local-only) git-like branches * zeroconf: new extension to support publishing repositories through Zeroconf/Bonjour * hgcia: new extension to facilitate communication with [[http://cia.vc/|CIA]] * mq: * qfinish: added command for conversion of patches into changesets * qpush/qgoto: gracefully abort when encountering guards * qrefresh: don't lose work when interrupted * qimport: allow for importing patches from URLs * qnew: abort early if patch already exists, be more careful in general * qdiff: now supports all diff options * qfold: more tolerance of file removals, better handling of commit messages * import: prevent import from working when patches are applied * convert: * added support for conversion from bzr repositories * incorporate an improved Python version of cvsps, replacing the external cvsps tool (see upgrade notes) * compatibility with recent git releases * add an option to start from an arbitrary revision * correctly encode characters in Subversion repository URLs * better, more tolerant tags detection * highlight: * remove need to pre-generate CSS stylesheet * compatibility with older Pygments versions * make the lexer guessing faster by not reading all of the file * allow demandimport to load it incrementally * fetch: improve support for named branches * graphlog: * now adds --graph options to log, incoming and outgoing * fix calls from outside the repository * inotify: * many bugfixes, should work much better * daemon is automatically started by default * color: * add colorization of diffs * add --color options to many commands * keywords: be more careful about expanding binary files * bugzilla: added support for Bugzilla 3.0 * pager: allow per-command configuration * hgk: display branch names for revisions * churn: support for templated statistics report generation * patchbomb: charset encoding can now be configured * notify: charset encoding can now be configured == Version 1.0.2 - 2008-08-13 == This is a relatively small bugfix release with two security fixes. Security: * ensure that git patches only touch files within the repository ([[http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-2942|CVE-2008-2942]]) * hgweb: fix "allowpull" permission being ignored when pulling from hgweb General: * commit: handle copies of previously deleted files (issue 1175) * bisect: allow for having multiple resulting changesets * fix Python 2.3 compatibility * make mq patches and .hgtags hardlink-safe again * various documentation improvements and fixes * fix a crash when addremove was called to replace a deleted directory with a symlink * make branches output easier to parse (issue 1230) * fix inactive branches detection (issue 1104) * hgweb: fix a crash in archive when the URL did not end in an expected archive type * sshserver: fix a crash in error handling code * fix the patchbomb extension on Windows by including email package in binary installations * handle symlinks when OS supports them but FS doesn't (issue 1149) Extensions: * mq: * fix qrefresh losing metadata on the last refreshed file (issue 1134) * fix a crash when renaming a patch just after a versioned queue initialization * fix the path of an explicitly specified queue when merging patches * strip now updates the working directory only if a parent was stripped * convert: * CVS: fix a crash when converting an existing working copy * monotone: fix quotes and backslashes parsing when reading commit messages * Subversion: correctly normalize paths and slashes * Subversion: fix compatibility with Subversion 1.5 * git: allow converter to work with recent git releases * color: * get coloring for qseries --verbose output * improve mq extension detection * reset coloring before and after outputting colorized lines * highlight: fix a performance issue when detecting file types from large files * notify: take the diff options into account == Version 1.0.1 - 2008-05-22 == This is a relatively small bugfix release. General: * several improvements in file copying implementation * allow different default value for diff.unified option * allow explicit use of internal merge tools Commands: * rename: doesn't unlink source file with --after * backout: reverse changeset belongs on current branch Extensions: * convert: * svn: improved detection of tags (has also become optional) * svn: improved branch handling * svn: better detection of file copies * mq: * expand terse command help texts * fix unimplemented qdiff -U option * highlight: fix compatibility with older Pygments (0.5.1) * churn: allow whitespaces as delimiter in aliases * pager: disable when used with --debugger == Version 1.0 - 2008-03-24 == General: * greatly improved [[MergeToolConfiguration|merge tool configuration]], see "hgrc.5.txt" for details * improved copy/rename handling in diffs, status, and merge * files in .hg inherit permissions from .hg/store * infer --repository when possible, so commands may be run from anywhere. * easy-installable * new "droplet" logo Commands: * archive: disable ".hg_archival.txt" file addition with "ui.archivemeta" * bisect: now built-in with greatly improved performance and usability * bundle: new --all option to bundle the whole repository more easily. * cat: apply decode filters with --decode * clone: can clone from a full-history bundle * commit: warn when creating a new head * debugancestor: index argument is now optional * diff: set the number of context line to show with -U/--unified * grep: display matched revisions commit date with --date * import: new --no-commit and --user options * incoming/outgoing: add --limit option * log: use -b/--only-branch to show revisions of a single branch * remove: improve handling for --after * revert: major speedup * serve: prefix the served path with --prefix (also in [web] section) * status: unknown files are skipped by --quiet * tag: allow multiple tags to be added or removed * tags: --verbose flags local tags * update: switch between named branches without -C Extensions: * churn: promoted to an official extension (previously in contrib) * color: new extension coloring "status" and "qseries" command outputs * convert: * allow synthetic history to be spliced in with --splicemap * support GNU Arch and Monotone sources * svn: allow shallow conversions of single branches with convert.svn.startrev option. * svn: make trunk/branches/tags layout detection more flexible by allowing either of them to be skipped. * svn: preliminary support as a conversion target * hgk: configuration file changed from .gitk to .hgk * highlight: new extension enabling syntax highlighting in hgweb file view (requires pygments) * inotify: new extension using Linux 2.6 inotify API for instant status checking * keyword: new extension for filewise RCS-keyword expansion in working directory * mq: new --currentdate, --date, --currentuser, and --user options * record: add "qrecord" command when used with mq * win32mbcs: new extension dealing with problematic MBCS behavior on Windows Web interface: * improved WSGI integration and compatibility * follow symlinks in hgwebdir collections * show branches in most of gitweb templates * add line anchors to annotate, changeset, diff and file views * support web.baseurl in hgwebdir, overriding SCRIPT_NAME Hooks: * standard hook to reject text files with CRLF in win32text extension * redirect stdout to stderr for ssh and http servers Windows support: * "hg" script output set to binary mode for redirecting diff, export, annotate, etc. * also search for .hgrc if mercurial.ini cannot be found * major speedup of "clone --pull" == Version 0.9.5 - 2007-10-19 == New features: * Handle symlinks on systems without symlink support * hg archive supports symlinks * Display executable/symlink bit with "hg manifest -v" (see UpgradeNotes) * Improved hg verify diagostics * Faster revlog handling * Faster handling of large directories * Greatly improved handling of large files * Atom syndication support in hgweb * Improved test suite with parallel execution Fixes: * Fixes for some file copy and rename corner cases * Allow moving newly-added files before commit * Improve hg diff whitespace handling * Disallow fast-forward merge with an ancestor * Fix adding untracked files on directory renames * Fix hg archive %r format specifier * Fix re: and glob: patterns in .hgignore * Improve hg executable path resolution * Many options and hgrc parsing improvements * Better handling of VFAT filesystems on Linux * Fix tgz archival on Windows * Fix hg serve on Windows requiring pywin32 modules * Fix --profile under Windows New extensions: * alias - allow user-defined command aliases * children - show the children of the given or working dir revision * imerge - incremental interactive merging * interhg - modify changelog text as in InterWiki * record - darcs-style interactive change selection during commit New extension features: * convert * Now supports Subversion, Darcs and Mercurial as source SCMs * Use clone's behaviour for the default destination name * Force encoding to UTF-8 for converted repository * Support new-style .cvspass file format * Filter the files and directories to import * Remap paths to new locations during import * hgk * Fix hgk stopping because of untrusted repository warnings * Handle filenames with spaces * Improved documentation * mq * Autodetect --git patches on qrefresh == Version 0.9.4 - 2007-06-25 == New features: * support for symlinks * improved tag handling * improved merge handling of file and directory renames * improved named branch usability * numerous improvements to commands * generic pre- and post-command hooks * improved Windows support * basic BeOS and OpenVMS support * numerous bug fixes New extensions and contributions: * extensions can now be specified in .hg/hgrc * new convert extension with CVS support * new graphlog extension * improved patchbomb extension * example FastCGI script