Version 0.9.7

  • official Go S3 SDK is used for S3 publishing, fixes numerous issues with S3 (#344 thanks to Phil Frost) (#297) (#326) (#342) (#358) (#355)
  • Release files are signed with SHA-256 for new apt version compatibility (#366 thanks to Geoffrey Thomas) (#380)
  • Index files now contain SHA-512 checksums (#354) (#361)
  • commands aptly package search and aptly package show correctly report duplicate packages (#225) (#368)
  • Contents index generation could be disabled with config (#338) (#345)
  • support for deprecated S3 SigV2 signature to keep compatibility with non-Amazon S3 implementations (e.g. ceph) (#356)
  • S3 debugging support (set debug to true in endpoint settings)
  • aptly does object listing to prevent issuing lots of HEAD requests (#371)
  • bug fix: API returning 200 on failures (#290)
  • bug fix: interoperability between aptly API and CLI in -no-lock mode (flushing caches) (#343) (#346
  • bug fix: fix default mkdir perms to be 0777 to allow umask control (#367 thanks to Phil Frost)

Version 0.9.6

  • support for .changes file processing, including uploaders restriction: new command aptly repo include, new flag -uploaders-file for commands aptly repo create and aptly repo edit (#71) this work has been sponsored by sipgate GmbH (http://www.sipgate.de/)
  • support for Contents indexes generation, new flag -skip-contents for aptly publish commands to disable it (per published repository) (#142)
  • support for custom output using flag -format and templates (#254)
  • support for non-Amazon S3-compatible cloud storages (#218) thanks to Serge van Ginderachter
  • aptly now retries S3 transient errors automatically (#255)
  • S3 upstream library has been updated to last version to include new Amazon regions (#253)
  • optional “no lock” mode of API service operations allowing concurrent CLI usage (#300) thanks to Vincent Bernat)
  • bug fix: aptly snapshot switch fails to respect the S3 plusWorkaround (#239)
  • bug fix: wrong handling of multiline fields in Sources indexes (#261)
  • bug fix: workaround downloads interrupted with EOF error (#266) thanks to Szymon Sobik
  • new flags -format and -output for aptly graph (#163, #242), thanks to Zhang, Guodong
  • now aptly removes empty Depends: lines (#233)
  • preliminary support for .ddeb packages (#231)
  • bug fix: error messages should go to stderr (#249, #311)
  • bug fix: handling of folded fields in stanza (#270) thanks to Szymon Sobik
  • bug fix: limit number of open files in goleveldb to 256 (#260)
  • bug fix: fix cache flusher in API daemon mode (#307, thanks to Vincent Bernat)
  • bug fix: better error messages for package analysis (#320, thanks to Paul Krohn)
  • security bug fix: don’t download files without checksums (#324, thanks to x539)

Version 0.9.5

  • all search commands now exit with code 1 if no results had been found (#213)
  • command aptly db cleanup supports two new flags -verbose and -dry-run (#217)
  • command aptly publish drop gets new flag -force-drop to drop published repository even if component cleanup errors (#153)
  • bug fix: aptly reads fields from control files in case-insensitive manner (#193)

Version 0.9.1

Critical bugfix release

  • bug fix: aptly db cleanup was cleaning up duplicate packages (#217)

Version 0.9

  • REST API for snapshots, local repos, file upload, publishing, graphs and version (#16) (#116) (#167) (#168) (#169) (#174), thanks to Sylvain Baubeau, Michael Koval
  • new OpenStack Swift backend for publishing (#191), thanks to Sebastien Badia, Sylvain Baubeau and John Leach
  • command aptly package search exits with failure code if no packages have been found (#188)
  • fix to continue downloading on 403 error (workaround for Amazon S3 behavior) (#131), thanks to Rohan Garg
  • fix to support different types of control member in Debian archive (#128), thanks to Russ Allbery
  • new flag -batch for publish commands in no-tty mode (e.g. when running from cron) (#121) (#122), thanks to Dmitrii Kashin
  • new flag -force-components for aptly mirror create to workaround repos which list actually missing components in Release files (#147)
  • new expiremental command aptly task run (#96), thanks to Simon Aquino
  • new command aptly config show (#123), thanks to Simon Aquino
  • security issue: advise to use https:// when dowloading repo keys, (#179)
  • goleveldb updated to new version with panic fixed (#150)
  • workaround for different MD5Sum field name (#151)
  • workaround for repositories with conflicting packages in the index (#183)
  • bug fix: aptly shouldn’t include empty Source: fields into package stanza when publishing (#195)
  • bug fix: when doing aptly repo add with -force-replace too many packages have been removed (#185) (#186) thanks to Andrea Bernardo Ciddio
  • bug fix: adding packages to repository from published location truncates the file in the pool (#127), thanks to Simon Aquino
  • bug fix: start writing to stdout only when database is closed, avoids problems with pipes (#117)
  • bug fix: report correct errors when falling back between package index versions (#125) (#129)
  • bug fix: workaround + encoding when downloading from Amazon S3 (#130)
  • bug fix: handling mirrors with / in component names (#140) (#141)
  • bug fix: aptly db cleanup might remove packages still being published when publishing local repos (#146)
  • bug fix: aptly snapshot merge might have created unusable snapshots with conflicting packages (#154)
  • bug fix: gpg with --passphrase-file on Ubuntu requires --no-use-agent (#162)
  • bug fix: some Debian tools expect Packages index file to be sorted and fields to be in canonical order (#172)
  • bug fix: publishing repository with .udeb and sources might produce empty Sources index (#180)
  • bug fix: when proxying, don’t apply fix for Amazon S3 and + in URLs (#189)
  • bug fix: command aptly publish switch might have corrupted published repository due to missing checks on component names (#192)
  • bug fix: debian installer doesn’t like Release files without Suite field (#201) thanks to Alexander Guy

Version 0.8

  • aptly supports concurrent operations while mirror is updated, new flag -force for aptly mirror update (#45) (#114)
  • support for .udeb packages (Debian installer) in mirrors, local repos and published repositories (#108)
  • new command aptly snapshot filter: filtering snapshots using package query, complementary to snapshot pulling (#82)
  • searching for packages matching query in mirrors, local repos, snapshots and whole package database (#81) (#80)
  • new command aptly package show: displaying details about package, its inclusion into snapshots, mirrors, local repos (#80)
  • aptly mirror edit now supports changing list of architectures and download source setting (#109) (#99)
  • workaround S3/apt issue with + in package filenames (S3 config option plusWorkaround) (#105)
  • when publishing to S3 it’s possible to choose reduced redundancy storage and server-side encryption (S3 config options storageClass and encryptionMethod) (#105)
  • when signing published repository, it’s possible to pass passphrase for GPG key with flags -passphrase or -passphrase-file (#94)
  • new flag -force-replace in aptly repo add command to replace conflicting packages automatically (#83)
  • dependency resolution algorithm has been improved (#100)
  • aptly now supports mirroring over FTP (#48)
  • bug fix: for boolean options, settings from configuration file were overriding settings on command line (#104)
  • bug fix: aptly publish list with -raw flag hasn’t been displaying storage prefix for repositories published to S3 (#113)
  • bug fix: dropping repositories published to S3 might result in “bad signature” error
  • bug fix: publishing repositories with / in distribution name isn’t allowed anymore, when guessing distribution / is replaced with - (#110)
  • bug fix: download errors while mirroring now include original URL (#26)

Version 0.7.1

  • bug fix: publish update fails on package conflicts, new flag -force-overwrite added to publish commands (#90)
  • bug fix: aptly built with go1.2+ fails to read DB of aptly built with go1.1 or go1.0 (#89)
  • aptly supports go compilers version 1.2 and up (go 1.1 is not supported anymore)

Version 0.7

Version 0.6

  • support for multi-component published repositories (#36)
  • handling duplicate packages with different content gracefully (#60)
  • repositories published by aptly now can be consumed by debian-installer (#61)
  • new flag: -no-remove for aptly snapshot merge to merge snapshots with all package versions preserved (#57)
  • publishing of empty snapshots/repositories is possible (#55)
  • aptly repo add now exits with 1 if any of files failed to add (#53)
  • bug fix: Package: line comes first in package metadata (#49)
  • bug fix: when command parsing fails, aptly returns exit code 2 (#52)
  • bug fix: pulling more than 128 packates at once (#53)
  • bug fix: aptly graph may get confused with package pull requests (#58)

Version 0.5.1

  • bug fix: HTTP_PROXY environment variable has been ignored (#46)
  • bug fix: support for flat repositories in subdirectory (#47)
  • bug fix: wrong pool directory name when Source: contains version (#44)

Version 0.5

Version 0.4.1

  • fixed bug with slashes in component names

Version 0.4

  • new command: aptly db cleanup to remove unreferenced DB entries and files
  • new flags: -keyring & -secret-keyring for aptly snapshot publish command
  • aptly supports mirroring remote repos with source packages and publishing repositories with sources
  • new config: downloadSourcePackages to enable source package downloading
  • new flag: -with-sources for aptly mirror create command
  • new config & flag: dependencyFollowSource & -dep-follow-source to follow Source: dependencies
  • packages are printed in lists with underscores instead of dashes, e.g. pkg_1.3-3_amd64 instead of pkg-1.3-3-amd64
  • local package repositories are supported
  • new commands in aptly repo family: add, copy, create, drop, import, list, move, remove and show
  • command aptly snapshot create supports creation of snapshots from local repos
  • aptly peak memory usage has been reduced by factor of 3x
  • new flag -no-remove for aptly snapshot pull: don’t remove other version of packages when pulling (e.g. keep old versions)
  • command aptly mirror create supports shorthand PPA url: ppa:user/project
  • new config: ppaDistributorID & ppaCodename to specify PPA url expansion rules

Version 0.3

  • aptly snapshot show doesn’t show list of packages by default
  • option -with-packages to show list of packages stored in mirror and snapshot
  • bash completion is now available for aptly
  • dropping snapshots and mirrors is supported
  • serving published repositories
  • aptly does checksum validation when downloading from remote mirrors
  • aptly verifies crypto signature on Release files
  • aptly can create empty snapshots
  • new global flag -config to override default config location
  • Debian flat repositories are now supported
  • command aptly graph can generate graph of dependencies