Notable changes:
* Greatly improved "diff" processing including the new --brief option,
partial line matching, colorized in-line diffs, and better performance.
* Promote "allow-symlinks" to a versionable setting
* Harden the CGI processing logic against DOS attacks
* Add the ability to run TH1 scripts after sync requests
* Store the repository name in _FOSSIL_ as it is type in the "open" command,
possibly as a relative pathname.
* Make ".fslckout" the alternative name for the "_FOSSIL_" file.
* Change the "ssh:" transfer method to allow all access regardless of
user permission.
* Improvements to the timeline messages associated with tag changes.
(Requires a "fossil rebuild" to take effect.)
* Various additions and fixes for the JSON API.
* Improved merge-with-rename handling.
* --cherrypick merges use their origin's commit message by default.
* Added support for multiple concurrent logins per user.
* Update to use SQLite version 3.7.11.
* Various minor bug fixes.
website now, so the tarball is now on MASTER_SITE_LOCAL.
Changes For Version 1.21 (2011-12-13)
* Added side-by-side diffs in the command-line interface
* Automatically enable hyperlinks if the UserAgent string in the HTTP
header suggests that the requestor is a human and not a bot.
* Show only commonly used commands with "fossil help". Use "fossil
help --all" to see the complete list now.
* Improvements to the "stash" command: (1) Stash all files, not just
those below the working directory. (2) Add the --detail option to
"list". (3) Confirm before "drop --all". (4) Add the "help"
subcommand.
* Add an Admin/Access setting to change the number of octets of the
IP address that are saved in login cookies - allowing this setting
to be changed to zero
* Promote the "test-md5sum" command to "md5sum".
* Added the "whatis" command.
* Stop showing the server-code in status outputs - it is no longer
used for anything.
* Added a compile-time option (--with-tcl) to build in the full TCL
interpreter to augment TH1.
* Merged the JSON branch into trunk. Disabled by default. Enabled by
a compile-time option. Probably it will be enabled by default in
some future release.
* Update to use SQLite version 3.7.9 plus the alignment fix for
Sparc. align
Changes For Version 1.20 (2011-10-21)
* Added side-by-side diffs in HTML interface.
* Added support for symlinks. (Controlled by "allow-symlinks"
setting, off by default).
* Fixed CLI annotate to show the proper file version in case there
are multiple equal versions in history.
* Timeline now shows tag changes (requires rebuild).
* Fixed annotate to show "more relevant" versions of lines in some
cases.
* New command: ticket history.
* Disabled SSLv2 in HTTPS client.
* Fixed constant prompting regarding previously-saved SSL
certificates.
* Other SSL improvements.
* Added -R REPOFILE support to several more CLI commands.
* Generated tarballs now have constant timestamps, so they are always
identical for any given checkin.
* A number of minor HTML-related tweaks and fixes.
* Added --args FILENAME global CLI argument to import arbitrary CLI
arguments from a file (e.g. long file lists).
* Fixed significant memory leak in annotation of files with long
histories.
* Added warnings when a merge operation overwrites local copies (UNDO
is available, but previously this condition normally went silently
unnoticed).
* Improved performance when adding many files.
* Improve merges which contain many file renames.
* Added protection against timing attacks.
* Firefox now remembers filled fields when returning to forms.
* Added the --stats option to the rebuild command.
* RSS feed now passes validation.
* Show overridden user when entering commit comment.
* Made rebuilding from web interface silent.
* Now works on MSVC with repos >2GB.
* A number of code cleanups to resolve warnings from various
compilers.
* Update the built-in SQLite to version 3.7.9 beta.
Changes For Version 1.19 (2011-09-02)
* Added a ./configure script based on autosetup.
* Added the "fossil winsrv" command for creating a Fossil service
on windows systems.
* Added "versionable settings" where settings that affect the local
tree can be stored in versioned files in the .fossil-settings
directory.
* Background colors for branches are choosen automatically if no
color is specified by the user.
* The status, changes and extras commands now show pathnames relative
to the current working directory, unless overridden by command line
options or the "relative-paths" setting.
WARNING: This change will break scripts which rely on the current
output when the current working directory is not the repository
root.
* Added "empty-dirs" versionable setting.
* Added support for client-side SSL certificates with "ssl-identity"
setting and --ssl-identity option.
* Added "ssl-ca-location" setting to specify trusted root SSL
certificates.
* Added the --case-sensitive BOOLEAN command-line option to many
commands. Default to true for unix and false for windows.
* Added the "Color-Test" submenu button on the branch list web page.
* Compatibility improvements to the git-export feature.
* Performance improvements on SHA1 checksums
* Update to the latest SQLite version 3.7.8 alpha.
* Fix the tarball generator to work with very log pathnames.
Major changes in this release:
* Added sequential version numbering
* Added a optional configure script - the Makefile still works
for most systems.
* Improvements to the "annotate" algorithm: only search
primary ancestors and ignore branches.
* Update the "scrub" command to remove traces of login-groups
and subrepositories.
* Added the --type option to the "fossil tag find" command.
* In contexts where only a check-in makes sense, resolve
branch and tag names to checkins only, never events or other
artifacts.
* Improved display of file renames on a diff. A rebuild is
required to take full advantage of this change.
* Update the built-in SQLite to version 3.7.7.
New in release 2011-05-23 15:11:12:
This release merges in the windows internationalization patches.
Fossil should now work better on windows machines that use a
non-ASCII and non-UTF8 code page for the DOS box.
New in release 2011-05-12 14:56:52:
This release adds an enhanced configuration sync capability
which entails an irreversible schema change.
You _must_ run "fossil rebuild" on all of your repositories after
updating to this version of fossil.
Other changes in this release include:
* Refactor the "add", "rm", and "addremove" commands to
simplify the code and fix various problems.
* Added a "diff" hyperlink after each file in the "Show Files"
timeline view.
* The "fossil open" and "fossil co" commands always prompt
before overwriting preexisting files unless the --force
option is used.
* Enhanced the merge-conflict markup to show both recent
versions and the common-ancestor version.
* Change the definition of what it means to be a "leaf"
check-in, to be consistent and to work better for most
people.
* Commands that recursively decend through the file hierarchy
("fossil extra", "fossil clean", etc.) will now ignore
nested checkouts.
* Automatically delete the _FOSSIL_ file upon a failed "open".
* Improvements to the "annotate" feature.
* Other minor bug fixes.
- Support for git-fast-export format
- More efficient synchronisation mechanism
- "addremove", "bisect" and "stash" commands
- sqlite3 shell with some bindings to fossil logic like content_get
- undo cleans merge state
- Various improvements and bugfixes to other commands
manifests (resulting in much less metadata for large repositories), lots
of speed ups for the manifest parser, and smaller improvements like revert
dealing with merge records.
There are plenty of open-source version control systems available
on the internet these days. What makes Fossil worthy of attention?
1. Bug Tracking And Wiki - In addition to doing distributed
version control like Git and Mercurial, Fossil also supports
distributed bug tracking and distributed wiki all in a single
integrated package.
2. Web Interface - Fossil has a built-in and easy-to-use web
interface that simplifies project tracking and promotes situational
awareness. Simply type "fossil ui" from within any check-out
and Fossil automatically opens your web browser in a page that
gives detailed history and status information on that project.
3. Autosync - Fossil supports "autosync" mode which helps to
keep projects moving forward by reducing the amount of needless
forking and merging often associated distributed projects.
4. Self-Contained - Fossil is a single stand-alone executable
that contains everything needed to do configuration management.
Installation is trivial: simply download a precompiled binary
for Linux, Mac, or Windows and put it on your $PATH. Easy-to-compile
source code is available for users on other platforms. Fossil
sources are also mostly self-contained, requiring only the "zlib"
library and the standard C library to build.
5. Simple Networking - Fossil uses plain old HTTP (with proxy
support) for all network communications, meaning that it works
fine from behind restrictive firewalls. The protocol is bandwidth
efficient to the point that Fossil can be used comfortably over
a dial-up internet connection.
6. CGI Enabled - No server is required to use fossil. But a
server does make collaboration easier. Fossil supports three
different yet simple server configurations. The most popular is
a 2-line CGI script. This is the approach used by the self-hosting
fossil repositories.
7. Robust & Reliable - Fossil stores content in an SQLite database
so that transactions are atomic even if interrupted by a power
loss or system crash. Furthermore, automatic self-checks verify
that all aspects of the repository are consistent prior to each
commit. In over two years of operation, no work has ever been
lost after having been committed to a Fossil repository.