Fossil Downloads

To install Fossil → download the stand-alone executable and put it on your $PATH.

RPMs available here. Cryptographic checksums for download files are here.


2014-01-27 17:33:44

Linux 3.x x86

1.02 MiB

Mac 10.x x86

691.39 KiB

OpenBSD 4.x x86

693.47 KiB

Windows

1.40 MiB

Source Tarball

3.63 MiB

This is Version 1.28. Key changes in this release include:

  • Enhance /reports to support event type filtering.
  • When cloning a repository, the user name passed via the URL (if any) is now used as the default local admin user's name.
  • Enhance the SSH transport mechanism so that it runs a single instance of the "fossil" executable on the remote side, obviating the need for a shell on the remote side. Some users may need to add the "?fossil=/path/to/fossil" query parameter to "ssh:" URIs if their fossil binary is not in a standard place.
  • Add the "fossil blame" command that works just like "fossil annotate" but uses a different output format that includes the user who made each changes and omits line numbers.
  • Add the "Tarball and ZIP-archive Prefix" configuration parameter under Admin/Configuration.
  • Fix CGI processing so that it works on web servers that do not supply REQUEST_URI.
  • Add options --dirsonly, --emptydirs, and --allckouts to the "fossil clean" command.
  • Ten-fold performance improvement in large "fossil blame" or "fossil annotate" commands.
  • Add option -W|--width and --offset to "fossil timeline" and "fossil finfo" commands.
  • Option -n|--limit of "fossil timeline" now specifies the number of entries, just like all other commands which have the -n|--limit option. The various timeline-related functions now output "--- ?? limit (??) reached ---" at the end whenever appropriate. Use "-n 0" if no limit is desired.
  • Fix handling of password embedded in Fossil URL.
  • New --once option to fossil clone command which does not store the URL or password when cloning.
  • Modify fossil ui to respect "default user" in an open repository.
  • Fossil now hides check-ins that have the "hidden" tag in timeline webpages.
  • Enhance /ci_edit page to add the "hidden" tag to check-ins.
  • Advanced possibilities for commit and ticket change notifications over http using TH1 scripting.
  • Add --sha1sum and --integrate options to the "fossil commit" command.
  • Add the "clean" and "extra" subcommands to the "fossil all" command
  • Add the --whatif option to "fossil clean" that works the same as "--dry-run", so that the name does not collide with the --dry-run option of "fossil all".
  • Provide a configuration option to show dates on the web timeline as "YYMMMDD HH:MM"
  • Add an option to the "stats" webpage that allows an administrator to see the current repository schema.
  • Enhancements to the "/vdiff" webpage for more difference display options.
  • Added the "/tree" webpage as an alternative to "/dir" and make it the default way of showing file lists.
  • Send gzipped HTTP responses to clients that support it.

2013-09-11 11:43:49

Linux 3.x x86

1023.92 KiB

Mac 10.x x86

667.18 KiB

OpenBSD 4.x x86

670.46 KiB

Windows

1.38 MiB

Source Tarball

3.51 MiB

This is Version 1.27. Key changes in this release include:

  • Enhance the fossil changes, fossil clean, fossil extras, fossil ls and fossil status commands to restrict operation to files and directories named on the command-line.
  • New --integrate option to fossil merge, which automatically closes the merged branch when committing.
  • Renamed /stats_report page to /reports. Graph width is now relative, not absolute.
  • Added yw=YYYY-WW (year-week) filter to timeline to limit the results to a specific year and calendar week number, e.g. /timeline?yw=2013-01.
  • Updates to SQLite to prevent opening a repository file using file descriptors 1 or 2 on unix. This fixes a bug under which an assertion failure could overwrite part of a repository database file, corrupting it.
  • Added support for unlimited line lengths in side-by-side diffs.
  • New --close option to fossil commit, which immediately closes the branch being committed.
  • Added chart option to fossil bisect.
  • Improvements to the "human or bot?" determination.
  • Reports errors about missing CGI-standard environment variables for HTTP servers which do not support them.
  • Minor improvements to sync support on Windows.
  • Added --scgi option to fossil server.
  • Internal improvements to the sync process.
  • The internals of the JSON API are now MIT-licensed, so downstream users/packagers are no longer affected by the "do no evil" license clause.

2013-06-18 21:09:23

Linux 3.x x86

1008.72 KiB

Mac 10.x x86

683.37 KiB

OpenBSD 4.x x86

653.52 KiB

Windows

1.36 MiB

Source Tarball

3.47 MiB

This is Version 1.26. Key changes in this release include:

  • The argument to the --port option for the "fossil ui" and "fossil server" commands can take an IP address in addition to the port number, causing Fossil to bind to just that one IP address.
  • After prompting for a password, also ask if that password should be remembered.
  • Performance improvements to the diff engine.
  • Fix the side-by-side diff engine to work better with multi-byte unicode text.
  • Color-coding in the web-based annotation (blame) display. Fix the annotation engine so that it is no longer confused by time-warps.
  • The markdown formatter is now available by default and can be used for tickets, wiki, and embedded documentation.
  • Add subcommands "fossil bisect log" and "fossil bisect status" to the "fossil bisect" command, as well as other bisect enhancements.
  • Enhanced defenses that prevent spiders from using excessive CPU and bandwidth.
  • Consistent use of the -n or --dry-run command line options.
  • Win32: Fossil now understands Cygwin paths containing one or more of the characters "*:<>?|. Those are normally forbidden in win32. This means that the win32 fossil.exe is better usable in a Cygwin environment.
  • Cygwin: Fossil now understands win32 absolute paths starting with a drive letter everywhere. The default value of the "case-sensitive" setting is now FALSE, except when case-sensitivity is enabled in the Windows kernel.
  • Enhancements to /timeline.rss, adding more flags for filtering results, including the ability to subscribe to changes made to individual tickets.
  • Improved handling of the differences between case-sensitive and case-insensitive filesystems.
  • JSON API: added the 'status' command to report local checkout status.
  • Fixes to the --args support and documented this feature in the help.
  • Added /stats_report page.
  • Added ym=YYYY-MM filter to the "/timeline" url.
  • Fixed: config reset now re-installs default ticket report format.
  • ssh:// and file:// protocols now ignore proxy settings.
  • Added /hash-color-test web page.
  • Cherry-pick merges are recorded internally (though no yet displayed on the timeline graph.)
  • Bring in the latest versions of SQLite, zlib, and autosetup from upstream.

2013-02-16 00:04:35

Linux 3.x x86

976.79 KiB

Mac 10.x x86

629.11 KiB

OpenBSD 4.x x86

611.11 KiB

Windows

609.18 KiB

Source Tarball

3.38 MiB

This is Version 1.25. Key changes in this release include:

  • Enhancements to ticket processing. There are now two tables: TICKET and TICKETCHNG. There is one row in TICKETCHNG for each ticket artifact. Fields from ticket artifacts go into either or both of TICKET and TICKETCHNG, whichever contain matching column names. Default ticket edit and viewing scripts are updated to use TICKETCHNG. The TH1 scripting language is enhanced to support this, including the new "query" command for doing SQL queries against the repository database. All changes should be backwards compatible.
  • Add the ability to moderate ticket and wiki changes. Unmoderated changes do not sync and may be deleted by the moderator if found to contain spam or other objectionable content.
  • Add javascript so that clicking on a node of the timeline graph selects that node. Then clicking on a second node shows a diff between the two nodes. Clicking on the selected node unselects it.
  • Warn of unresolved merge conflicts in "fossil status" and disallow commits of unresolved conflicts unless the --allow-conflict option is used.
  • Add javascript so that clicking on column headers in a ticket report sorts by the indicated column.
  • Add the "fossil cat" command which is basically an alias for "fossil finfo -p".
  • Hyperlinks with the class "button" are rendered as submenu buttons on embedded documentation.
  • The check-in comment editor on windows now defaults to NotePad.exe.
  • Correctly deal with BOMs in check-in comments. Also attempt to convert check-in comments to UTF8 from other encodings.
  • Allow the deletion of multiple stash entries using multiple arguments to the "fossil stash rm" command.
  • Enhance the "fossil server DIRECTORY" command to serve static content files contained in DIRECTORY. For security, only files with a recognized suffix (such as *.html, *.jpg, *.txt, etc) will be delivered as static content, and *.fossil files are not on the list of recognized suffixes. There are additional restrictions on the names of the files.
  • Allow the "fossil ui" command to specify a directory as long as the the --notfound option is used.
  • Add a configuration option that causes timeline messages to be rendered as text/x-fossil-plain (which is the same as text/plain except that hyperlinks inside of [...] are decorated.)
  • Only decorate [...] in check-in comments and tickets if the contented text really is a valid hyperlink target.
  • Improvements to the side-by-side diff algorithm, for a more human-friendly display in some complex cases.
  • Added [utime] and [stime] commands to TH1. These commands can be used for things such as displaying the page rendering time in the footer.
  • Add the ability to pass command-line options of "fossil rebuild" to "fossil all rebuild".
  • Add the --deanalyze option to "fossil rebuild" (and "fossil all rebuild")
  • Do not run the graphical merging tool nor leave merge-droppings after a dry-run merge. Display an improved merge-summary message at the end of the merge.
  • Add options to "fossil commit" to override the various sanity checks. Options added: --allow-empty, --allow-fork, --allow-older, and --allow-conflict.
  • Optionally require a CAPTCHA (controlled by a setting on the Admin/Access webpage) when a user who is not logged in tries to edit wiki, or a ticket, or an attachment.
  • Improvements to the "ssh://" sync protocol, to help it move past noisey motd comments.
  • Add the uf=FILE-SHA1-HASH query parameter to the timeline, causing the timeline to show only check-ins that contain the specific file identified by FILE-SHA1-HASH. ("uf" stands for "uses file".)
  • Enhance the file change annotator so that it follows the file across name changes.
  • Fix the server-side of the sync protocol so that it will not generate a delta loop when a file changes from its original state, through two or more intermediate states, and back to the original state, all within a single sync.
  • Show much less output during a sync operation, unless the --verbose option is used.
  • Set the action= attribute of <form> elements using javascript, as an addition defense against spam-bots.
  • Disallow invalid UTF8 characters (such as characters in the surrogate pair range) in filenames.
  • Judge the UserAgent strings issued by the NetSurf webbrowser to be coming from a human, not from a bot.
  • Add the zlib sources to the Fossil source tree (under compat/zlib) and use those sources when compiling on (windows) systems that do not have a zlib library installed by default.
  • Prompt the user with the option to convert non-UTF8 files into UTF8 when committing.
  • Allow the characters *[]? in filenames.
  • Allow the --context option on diff commands to have a value of 0.
  • Added the "dbstat" command.
  • Enhanced "fossil merge" so that if the VERSION argument is omitted, Fossil tries to merge any forks of the current branch.
  • Improved detection of forks in a commit race.
  • Added the --analyze option to "fossil rebuild".