Release Notes
อย่าลืมอ่านโน๊ตการอัพเกรดและAPI ที่เปลี่ยนแปลง (ถ้าคุณสนใจ)
Contents
- Release Notes
(ถ้าต้องการคุณสามารถดู release notes สำหรับเวอร์ชั่นเก่า ได้ เวอร์ชั่นใหม่จะถูก release ตาม หมายกำหนดการ)
เวอร์ชั่น 1.3 - 1 กรกฎาคม 2552
การแก้ไขสำคัญ
สนับสนุนการทดลองใช้ 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
ส่วนต่อขยาย
สนับสนุนการทดลองใช้ 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 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 (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 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