Links

Share project

Fossil is a distributed version control system, quite robust and easy to use. It manages local and remote repositories, user permissions, has a built-in wiki, bugtracker, release blog and an extendable web interface. It's github-in-a-box as all features are packed into a stand-alone executable which also doubles as server. Internally the database utilizes SQLite and allows extending that or its user interface through TCL or the builtin TH1 scripting language. An optional JSON API permits further extensions.

Recent Releases

2.723 Sep 2018 07:05minor feature:
Add the email alerts feature for commits, changes, wiki changes, forum posts, and announcements. This is
Still a work in progress. It is functional, but it is not as easy to
Setup and use as it ought to be.
Add the discussion forum feature.
Add new user capabilities letters needed to support alerts and forum.
Formerly, user capabilities were letters from a-z , but with the.
Enhancements, the supply of lower case letters was exhausted.
User capabilities are now letters in a-zA-Z0-9 .
The built-in skins are now responsive, providing better layout on.
Small screens, including mobile devices.
The default skin now includes a hamburger menu that is generated
by the /sitemap page.
All of the built-in skins now use a
Content Security Policy (CSP)
to help prevent cross-site injection and forgery attacks. There are no known.
Vulnerabilities in Fossil. The added CSP does not anything; it merely adds
Another layer of defense.
The /sitemap and other list pages show as multiple columns if.
The viewing window is wide enough.
There is an optional "js" file for each skin that can be used to.
Hold javascript. This file can be loaded by reference or can be
Included in the header or footer.
Add the backoffice.
Update internal Unicode character tables, used in regular expression.
Handling, from version 10.0 to 11.0.
Improvements to the "Security Audit" administration page.
Added the fossil branch current command.
Update the built-in SQLite to version 3.25.1.
Some code and interfaces are in place to support sending and.
Receiving email directly via SMTP, but this feature is not yet
Complete or ready for production use.

2.604 May 2018 14:45minor feature:
a that was causing crashes while trying to clone the TCL
Repository. This is the main reason for the current release.
Added the new "Classic" timeline viewing mode. "Classic" is the.
Same as "Verbose" in the previous release. The "Verbose" mode is
Now like "Compact" except the extra check-in details are shown by
Default.
Add support for ETags:, Last-Modified:, and If-Modified-Since:
Cache control mechanisms.
Enhance the /tarball.
zip, and.
sqlar pages so that the checkin.
Name to be downloaded can be expressed as part of the URI,
And without the need for query parameters.
On the /timeline webpage, add the days=N.
Query parameter and enhance the ymd=DATE and yw=DATE query parameters
to accept 'now' as an argument to show the latest day or week.
In the web page that comes up in response to the.
Fossil all ui command, show the last modification
Time for each repository, and allow click-to-sort on the modification
Time column.
In the tarball cache replacement algorithm, give extra weight to.
Tarballs that have been accessed more than once.
Additional defenses against web-based attacks. There have not been.
Any known vulnerabilities. We are just being paranoid.
Update the built-in SQLite to an alpha version of 3.24.0..

2.516 Nov 2017 00:05minor feature:
Fossil now automatically generates the
lt;html gt; lt;head gt;... lt;/head gt; lt;body gt;
at the beginning of each web page if the configurable header.
Lacks a lt;body gt; tag.
Upgrade to the latest versions of SQLite and OpenSSL..

2.408 Nov 2017 03:15minor feature:
New feature: URL Aliases. URL Aliases allow an administrator
to define their own URLs on the web interface that are rewritten to.
Built-in URLs with specific parameters. Create and configure URL Aliases
Using the /Setup/URL_Aliases menu option in the web interface.
Add tech-note search capability.
Add the -r --revision and -o --origin options to the.
Annotate command.
Add the origin= query parameter to the /annotate.
Webpage.
The fossil annotate command and the.
annotate web page go backwards in time as far
as can be computed in 30 milliseconds by default, rather than stopping.
After 20 steps. The new limit= query parameter or the --limit command-line
Option can be used to alter this timeout.
Provide separate on-line help screens for each setting.
Back out support for the --no-dir-symlinks option.
Remove support from the legacy configuration sync protocol. The only.
Way now to do a configuration push or pull is to use the new protocol that
Was added in 2011.
Add the from= and to= query parameters to /fdiff
in order to get a diff of two files in the same check-in.
the "ssh://" protocol to prevent an attack whereby the attacker convinces
a victim to run a "clone" with a dodgy URL and thereby gains access to their.
System.
Provide a checkbox that will temporarily disable all ad-units.
Improvements to the /stat page.
Various new hyperlinks to the /bloblist.
And /bigbloblist pages.
Correct the /doc page to support read-only repositories.
Correct /zip, /tarball.
Zip, and tarball pages and commands to
Honor the versioned manifest setting when outside of an open checkout
Directory.
The admin-log and access-log settings are now on by default for.
New repositories.
Update the built-in SQLite to version 3.21.0..

1.3515 Jun 2016 06:45minor feature:
Enable symlinks by default on all non-Windows platforms.
Enhance the Markdown formatting so that hyperlinks that begin.
With "/" are relative to the root of the Fossil repository.
Rework the /setup_list page (the User List page)
to display all users in a click-to-sort table.
backslash-octal escape on filenames while importing from git.
When markdown documents begin with lt;h1 gt; HTML elements, use that.
Header at the document title.
Added the /bigbloblist page.
Enhance the /finfo page so that when it is showing.
The ancestors of a particular file version, it only shows direct
Ancestors and omits changes on branches, thus making it show the same set
of ancestors that are used for /blame.
Added the --page option to the fossil ui command.
Added the fossil bisect ui command.
Enhanced the fossil diff command so that it accepts.
Directory names as arguments and computes diffs on all files contained
Within those directories.
the fossil add command so that it shows "SKIP" for.
Files added that were already under management.
TH1 enhancements: Add array exists command.. Add minimal array names command.. Add tcl_platform(engine) and tcl_platform(platform) array.
Elements.
Add array exists command.. Add minimal array names command.. Add tcl_platform(engine) and tcl_platform(platform) array.
Elements.. Get autosetup working with MinGW.
autosetup detection of zlib in the source tree.
Added autosetup detection of OpenSSL when it may be present under the.
compat" subdirectory of the source tree.
Added the fossil reparent command.
Added --include and --exclude options to fossil tarball.
And fossil zip and the in= and ex= query parameters to the
tarball and /zip web pages.
Add support for encrypted Fossil repositories.
If the FOSSIL_PWREADER environment variable is set, then use the program it.
Names in place of getpass() to read passwords and passphrases
Option --baseurl now works on Windows.
Numerious documentation improvements.
Update the built-i

1.3403 Nov 2015 13:45minor feature:
Make the fossil clean command undoable for files less
Than 10MiB.
Update internal Unicode character tables, used in regular expression.
Handling, from version 7.0 to 8.0.
Add the new amend command which is used to modify.
Tags of a "check-in".
in import command, handling version 3 of.
The svndump format for subversion.
Add the all cache command.
TH1 enhancements: Add minimal lsearch command. Only exact.
Case-sensitive matching is supported.. Add the glob_match , markdown ,
dir , and encode64 commands.. Add the tclIsSafe and tclMakeSafe commands to.
The Tcl integration subsystem.. Add 'double', 'integer', and 'list' classes to the
string is command.
Add minimal lsearch command. Only exact.
Case-sensitive matching is supported.. Add the glob_match , markdown ,
dir , and encode64 commands.. Add the tclIsSafe and tclMakeSafe commands to.
The Tcl integration subsystem.. Add 'double', 'integer', and 'list' classes to the
string is command.. Add the --undo option to the diff command.
Build-in Antirez's "linenoise" command-line editing library for use with.
The fossil sql command on Unix platforms.
Add stash cat as an alias for the.
Stash show command.
Automatically pull before fossil merge when auto-sync
is enabled.
hard option to fossil mv and fossil rm
to enable them to work properly with certain relative paths.
Change the mimetype for ".n" and ".man" files to text/plain.
Display improvements in the fossil bisect chart command.
Updated the built-in SQLite to version 3.9.1 and activated JSON1 and FTS5.
Support (both currently unused within Fossil).

1.3215 Mar 2015 11:05minor feature:
When creating a new repository using fossil init, ensure
that the new repository is fully compatible with historical versions of
Fossil by having a valid manifest as RID 1.
Anti-aliased rendering of arrowheads on timeline graphs.
Added vi/less-style key bindings to the --tk diff GUI.
Documentation updates to fix spellings and changes all "checkins" to
check-ins".
Add the --repolist option to server commands such as
fossil server or fossil http.
Added the "Xekri" skin.
Enhance the "ln=" query parameter on artifact displays to accept multiple
ranges, separate by spaces (or "+" when URL-encoded).
Added fossil forget as an alias for
fossil rm.

1.3124 Feb 2015 13:05minor feature:
Change the auxiliary schema by adding columns MLINK.ISAUX and MLINK.PMID
columns to the schema, to support better drawing of file change graphs.
A fossil rebuild is recommended but is not required.
so that the new graph drawing logic can work effectively.
Added search over Check-in comments, Documents, Tickets and
Wiki. Disabled by default. The search can be either a full-scan or it
can use an index that is kept up-to-date automatically. The new
srchsetup web-page and the fts-config command
were added to help configure the search capability. Expect further
enhancements to the search capabilities in subsequent releases.
Added form elements to some submenus (in particular the /timeline)
for easier operation.
Added the --ifneeded option to fossil rebuild.
Added "override skins" using the "skin:" line of the CGI script or
using the --skin LABEL option on the
server, ui, or http commands.
Embedded html documents that begin with
lt;doc class="fossil-doc" gt; are displayed with standard
headers and footers added.
Allow lt;div style='...' gt; markup in wiki.
Renamed "Events" to "Technical Notes", while updating the technote
display and control pages. Add support for technotes as plain text
or as Markdown.
Added the /md_rules pages containing summary instructions on the
Markdown format.
Added the --repolist and --nojail options to the various server commands
ex: fossil server).
Added the fossil all add subcommand to "fossil all".
Improvements to the /login page. Some hyperlinks to pages that require
anonymous" privileges are displayed even if the current user is "nobody"
but automatically redirect to /login.
The /doc web-page will now try to deliver the file
404.md" from the top-level directory (if such a file exists) in
place of its built-in 404 text.
Download of Tarballs and ZIP Archives by user "nobody" is now enabled
by default in new repositories.
Enhancements to the table sorting controls. More display tables
are now sortable.
Add IPv6 support to fossil sync and
fos

1.31rc119 Feb 2015 23:20major feature:
The next release (1.31) will include a built-in search function, which can scan among check-in comments, configurable documents/file sets, tickets and wiki pages. It needs to be enabled, but may also perform a SQLite full text search (FTS3/FTS4).
The timeline now provides some submenu items as dropdown fields for compactness.
Skins have been updated and a new default "San Francisco Modern" introduced.
Further improvements to some document URLs and rendering behaviour, as well as online documentation enhancements were made.
ZIP/Tar downloads are now enabled per default.

1.3020 Jan 2015 02:25major feature:
Added new fossil commands: `bundle`, `purge`, `publish`, `unpublish`,
`dbstat` and `all info` commands.
The /tree file browser now shows file ages, and /brlist adds additional
information and sorting abilities.
Also added the /sitemap and /bloblist web page.
Update SQLite to version 3.8.8.
Docket support added. A new `fusefs` command makes historical checkins
accessible as read-only mapped filesystem.
A new administrative log records all config changes.
The initial checkin is now empty, the first file commit will become the
root foosil entry.
New options include --verily for the clean command, and "autosync-tries"
to limit sync attempts. A compile option --with-miniz can now replace zlib.
New "TH1 hooks" provide for custom commands and web pages, and new TH1
functions checkout , render , styleHeader , styleFooter , trace ,
getParameter , setParameter , artifact , and globalState were added.
The console timeline width is adapted to the current terminal size.
UTF-8 checkin checks.
Line numbers can be toggled for /info and /artifact pages.
Unrecognized command line parameters now are warned about consistently.
Full SHA1 hashes are used for most internal URLs.
On Windows "plink.exe" is now used for SSH connections.
Prevent a partial clone when the connection is lost, and a long-standing
syncing bug was fixed.
Better HTTP behaviour with distinct 301/302 requests, improved chaching for
CSS and page logo.
Introduced a `files_of_checkin` virtual SQLite table for ad hoc queries.
New " secureurl" TH1 variable.
Fix CVE-2014-3566, also known as the POODLE SSL 3.0 vulnerability.
Numerous documentation fixes and improvements.

1.2926 Jun 2014 21:03major feature:
This release adds UTF16 file display support in the web interface, a "SaveAs..." and "Invert" button to the graphical Tk diff, permission changes to the /reports page, HTTPS tunneling through a plain HTTP proxy, glob parameter support in the filepage, CR handling for diff and stash diff, an option to ignore whitespace for various UI features, the cat command now working outside an active checkout, preferred SHA1 hashes for hyperlinks, whatis now detects attachments and cluster artifacts. Support for HTTP Basic auth on clone and sync, the stash now remembers added files, more server load management support, Haiku supprt, empty repository creation options, optimized sync procedure. And it brought some minor portability fixes for platforms where the char type is unsigned by default.