Skip to content
Tags give the ability to mark specific points in history as being important
  • v1.0.5
    v1.0.5
    
    - docs/cli: Align and fix cli documentation
    - pytest: Exclude build directory for tests discovery
    - pre-commit: Bump hooks and add new one to check commit message spelling
    - Convert markdown tutorial to rst
    - docs: Fix sphinx warning
    - Pin mypy and drop type annotations which makes mypy unhappy
    
  • v1.0.4
    v1.0.4
    
    * Add typing stubs dependencies for mypy>0.900
    * Rename imports of swh.model.identifiers to fix deprecation warnings.
    * docs/images/Makefile: Drop unused pdf generation from the build
  • v1.0.3
    version 1.0.3
    
  • v1.0.2
    v1.0.1 / 2021-03-05
    
      * bump dep on swh.web.client to have recent SWHID-class changes
    
  • v1.0.1
    v1.0.1
    
    * docs: add link to screencast and ICSE 2021 paper
    * typing: make recent mypy (0.812) pass again
    * Use CoreSWHID instead of the deprecated SWHID class
  • v1.0
    v1.0 / 2021-01-08
    
    The "Goodbye haltode, and thanks for all the fish!" release
    
      * tests: revision: remove temporary sleep(2) hack
      * fuse: invalidate kernel cache when removing inode
      * cache: put by-date/ entries in direntry cache
      * cache: share sqlite connection between metadata/history cache
      * docs: tutorial: update with most recent changes
      * docs: tutorial: fix typo
      * docs: design: update with most recent changes
      * docs: design: fix link syntax
      * docs: configuration: update with most recent changes
      * cache: add support to remove individual objects
      * requirements: typeset dependencies with spaces around ">="
      * docs: tutorial: add origin and search examples
      * requirements-swh: bump swh.web.client to latest 0.2.4
      * fs: add top-level README file to explain briefly SwhFS
    
  • v0.9.5
    V0.9.5 / 2020-12-18
    
      * fs: history/by-date: invalidate .status inode when done
      * fs: history/by-date: update .status count on read
      * cache: update cache with new origin visits
      * cache: add primary key to db tables
      * cli: raise error when missing fusermount3 dependency
      * fs: add cache/ directory under mount point
    
  • v0.9.4
    v0.9.4 / 2020-12-11
    
      * fs: lookup: add optional regexp name validation
      * fs: directory: check first for symlink before content/directory
      * fs: directory: ignore missing artifact for submodules
      * fs: rework archive/ visibility and content
      * snapshot: add support for 'alias' target type
    
  • v0.9.3
    v0.9.3 / 2020-12-04
    
      * fuse: add dedicated logger instead of root logger
      * tutorial: update snapshot example to the current nested branch layout
      * fuse: origin: properly handle invalid origin URL
      * tests: test_mountpoint: add missing origin mountpoint
      * tests: test_cli: add a unit test for clean command
      * cli: clean: fix missing_ok parameter only in python>=3.8
      * cli: clean: fix TypeError (conf paths are now stored as str)
      * tests: rename test_cli to test_mountpoint
      * tests: conftest: use "swh fs umount" command to un-mount
      * tests: conftest: fix FileNotFoundError warning when un-mounting
      * fs: snapshot: nest branch names as directories instead of URL-escaping
      * pre-commit: codespell: exclude tests generated data
      * docs: update design and corresponding docstring
      * cache: small code cleanup
      * fuse: get_history: add missing docstring
      * tests: use fixed delay in test_list_history
    
  • v0.9.2
    v0.9.2 / 2020-11-28
    
      * tests: extend max delay to populate history/by-date/
      * cache: add sqlite index in all tables
      * cache: add 'date' column in metadata_cache for history/by-date
      * meta.json: add 'json-indent' option (default to 2)
      * docs: config: add logging section
      * cli: add traceback in exception logging
      * cli: remove redundante logging
      * cli: only show loaded config in debug and use yaml.dump()
      * requirements: add missing explicit yaml dependency
      * fuse: lookup: do not log ENOENT
      * fuse: add support for origin artifacts
    
  • v0.9.1
    v0.9.1 / 2020-11-20
    
      * tutorial: improve type setting of shell logs (cosmetic)
      * doc: add tutorial for end users
    
  • v0.9.0
    v0.9.0 / 2020-11-20
    
      * design doc: fix Sphinx/MyST markup to avoid broken cross-package links
      * doc: uniform naming of SwhFS as "Software Heritage Filesystem"
      * fs: history: clean sharded dir implementation
      * tox.ini: fix pytest failure trying to run non-tests script
      * fs: history: add by-date/ sharded directory
      * cache: fix exception when storing empty history (for root commit)
      * arch diagram: show user control over user-space daemon
      * arch diagram: separate user/tool
      * logging: replace f-strings in logging calls
      * fs: history: add by-page/ sharded directory
      * fuse: use logging.exception() instead of .debug()
    
  • v0.0.4
    0.0.3 / 2020-11-13
    
      * cache: replace asizeof() call with simpler heuristic
      * fs: history: do not store history list in memory
      * fs: history: add by-hash/ sharded directory
      * fuse: add cache on directories entries
      * arch diagram: uniform arrow label texts
      * design doc: document branch escaping and drop sharding todo
      * docs: add architecture diagram(s) to design document
    
  • v0.0.3
    v0.0.3 / 2020-10-23
    
      * fuse: use debug level instead of error when returning ENOENT
      * tests: add unit test for revision history
      * fuse: add flat commit view in a 'history' virtual directory
      * cache: add missing aiosqlite commit call
      * rename main CLI command from "swh fuse" to "swh fs"
      * fuse: use debug option only when loglevel is debug or higher
      * cli: move module-level import to function-level to reduce startup time
      * cli: do not ignore user config when reading global.yml
      * fuse: add error handling around HTTP errors (web API)
      * CLI: add umount command, as a mnemonic alias for fusermount -u
      * doc: fix dangling CLI ref in design doc
      * doc: uniform naming around SwhFS
      * CLI: add . at the end of short description
      * CLI: add clean command to remove on-disk cache files
    
  • v0.0.2
    v0.0.2 / 2020-10-16
    
      * fuse: add error logging in main
      * cli: redirect logging to user syslog when daemonized
      * cli: fix daemon working directory
      * configuration doc: convert tabs to spaces
      * doc: document configuration file location
      * cli: move configuration settings up to "swh fuse"
      * fuse: add support for snapshot artifacts
      * design doc: update to reflects current state
      * fuse: use lazy symlinks for revisions parents
      * CLI: add an exlicit --daemon flag
      * fs: add FuseEntry sub-classes for file, dir, symlink
      * cache: make sure the cache directory exists
      * fuse: add support for release artifacts
      * mount: improve CLI help string and add usage example
      * tests: small code clean up
      * tests: add unit tests for submodules
      * tests: add unit tests for metadata
      * tests: rework unit test framework
      * fs: artifact: fix Content uninitialized field
      * fuse: allow mounting artifacts on the fly
      * fuse: add support for revision artifacts
      * docs: add configuration.rst
      * tests: add missing join() after subprocess.run()
    
  • v0.0.1
    v0.0.1 / 2020-10-08
    
    early implementation, with support only for directory and blob objects