{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":37978718,"defaultBranch":"master","name":"mupdf","ownerLogin":"ArtifexSoftware","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-06-24T10:41:35.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/13031723?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715360446.0","currentOid":""},"activityList":{"items":[{"before":"957c1ee15e39ee149321a690c5f02591b0debe90","after":"55e01f18c0aa8d4a5fc7fb56eab61fbdc9ecdfd7","ref":"refs/heads/master","pushedAt":"2024-06-03T17:01:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Add -Z option to mutool info to show ZUGFeRD data.","shortMessageHtmlLink":"Add -Z option to mutool info to show ZUGFeRD data."}},{"before":"07f9957307e1f6483e721fbe6d395a09df94aa6f","after":"957c1ee15e39ee149321a690c5f02591b0debe90","ref":"refs/heads/master","pushedAt":"2024-06-03T16:01:31.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Add Associated File access functions.\n\nCount Associated Files on Documents and Pages.\n\nGet Filespecs for Associated files on Documents and Pages.\n\nThe Filespecs can then be checked for embeddedness and loaded\nusing the existing commands.","shortMessageHtmlLink":"Add Associated File access functions."}},{"before":"cefdd83d1ef7121ad3014767aed086d878809438","after":"07f9957307e1f6483e721fbe6d395a09df94aa6f","ref":"refs/heads/master","pushedAt":"2024-06-03T11:02:30.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Bug 707808: Check length of name table entries in font subsetting.","shortMessageHtmlLink":"Bug 707808: Check length of name table entries in font subsetting."}},{"before":"5f2f3db48c0e7ede7fdd1df0fd902b88454a5e26","after":"cefdd83d1ef7121ad3014767aed086d878809438","ref":"refs/heads/master","pushedAt":"2024-05-31T15:01:36.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Bug 707808: Do not step outside buffer when subsetting font.","shortMessageHtmlLink":"Bug 707808: Do not step outside buffer when subsetting font."}},{"before":"39b5f1db50bddf88a8c285949655bad7920ae312","after":"5f2f3db48c0e7ede7fdd1df0fd902b88454a5e26","ref":"refs/heads/master","pushedAt":"2024-05-31T12:01:12.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Tweak embedded file support.\n\nA file specifier contains the filename for a file in one\nof several possible places (/F, /Unix, /DOS, /Mac). Several\nof these can be set, and we pick the first one in the\narbitrary order that we use.\n\nIf a file is embedded, then it will have an /EF dictionary\nentry, which will include matching versions of /F, /Unix, etc\nthat point to the embedded file.\n\nIt's important that if we use /F, we should look at the /F entry\nfrom /EF and not, say, the /DOS entry.\n\nConsider the (admittedly strange) case where we have /F, /DOS,\nand /Mac entries, but only the /Mac entry is embedded, and the\n/F and /DOS entries point to files on disc. (This may be an\nabuse of the spec, but it is nonetheless possible).\n\nWe therefore provide a single function (get_file_stream_and_name)\nto find both the embedded file and its name at the same time,\nensuring that they are always returned properly as a pair.\n\nWe adjust the code in pdf-link.c to call this, which has the\nneat effect of avoiding us doing the search twice in several\nplaces.\n\nThis also means our arbitrary choice of which order to search\nfor the keys in is kept in just one place.","shortMessageHtmlLink":"Tweak embedded file support."}},{"before":"5579c37642e4e6f99a0251bfb161a431cc8c951c","after":"39b5f1db50bddf88a8c285949655bad7920ae312","ref":"refs/heads/master","pushedAt":"2024-05-30T11:01:43.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Add fz_detect_document.\n\nUse canny edge detection to find corners of a document within an image.","shortMessageHtmlLink":"Add fz_detect_document."}},{"before":"6b80cca7f27ebd6e7f1301776488983e576606ed","after":"5579c37642e4e6f99a0251bfb161a431cc8c951c","ref":"refs/heads/master","pushedAt":"2024-05-30T10:01:21.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"js/java: Add API to check for incremental changes since signing a signature.","shortMessageHtmlLink":"js/java: Add API to check for incremental changes since signing a sig…"}},{"before":"6d4ff647eaaa70b35813f31fb5204ea7b668b9e9","after":"6b80cca7f27ebd6e7f1301776488983e576606ed","ref":"refs/heads/master","pushedAt":"2024-05-29T23:01:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Documentation: fixes some syntax errors and typos.","shortMessageHtmlLink":"Documentation: fixes some syntax errors and typos."}},{"before":"63bf04ffb657a49319371119de7ced8917015f66","after":"6d4ff647eaaa70b35813f31fb5204ea7b668b9e9","ref":"refs/heads/master","pushedAt":"2024-05-28T15:03:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Remove redundant assignment.","shortMessageHtmlLink":"Remove redundant assignment."}},{"before":"d58827a5b0e0b730a910d6710d5580dbb6615d0d","after":"63bf04ffb657a49319371119de7ced8917015f66","ref":"refs/heads/master","pushedAt":"2024-05-28T12:01:32.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"scripts/wrap/__main__.py: support bsymbolic.\n\nIf build directory contains `-bsymbolic` we set XLIB_LDFLAGS to\n`-Wl,-Bsymbolic`.","shortMessageHtmlLink":"scripts/wrap/__main__.py: support bsymbolic."}},{"before":"bf0b699d41fccac7b4177318c033d04b12fab598","after":"d58827a5b0e0b730a910d6710d5580dbb6615d0d","ref":"refs/heads/master","pushedAt":"2024-05-27T16:01:33.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"java: Add error constants for certificate/digest checking.","shortMessageHtmlLink":"java: Add error constants for certificate/digest checking."}},{"before":"d95ca49c31f2b943ff3de203924a00839eec5a20","after":"bf0b699d41fccac7b4177318c033d04b12fab598","ref":"refs/heads/master","pushedAt":"2024-05-27T15:02:23.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Improve recompression size checks.\n\nWe were being given a flated image (say 200K). The fz_image loads\nthis and holds it deflated in a buffer (say 1Meg). Then we'd\nrecompress this to a JPEG (say 400k), and we'd compare 400k to\n1Meg and say \"We should keep the new one!\".\n\nComparing to the original /Length is better in most cases, where\nthis is available.\n\nIt's still not ideal because we could have an asciified stream as\ninput (so we'd take the input size as being larger than we should),\nor we might be going out to to an asciified stream (so the output\nsize might be larger than we expect). BUT... broadly this is\nprobably good enough, because if people are interested in\nrecompressing images to save space, they've probably not been using\nASCII encoding anyway.","shortMessageHtmlLink":"Improve recompression size checks."}},{"before":"b28eee06ff555cd0ef1be0b50e2fa5b5b2439a00","after":"d95ca49c31f2b943ff3de203924a00839eec5a20","ref":"refs/heads/master","pushedAt":"2024-05-24T17:01:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Add skew detection and deskewing.\n\nHere we add skew detection and deskewing facilities.\n\nThese are available both for fz_pixmaps and with the pdfocr\ndevice.\n\nThanks to Sebastian for his help, in particular with the java\nand javascript changes.","shortMessageHtmlLink":"Add skew detection and deskewing."}},{"before":"026963833eb4ed9ed479e6b2739fc578ad577095","after":"b28eee06ff555cd0ef1be0b50e2fa5b5b2439a00","ref":"refs/heads/master","pushedAt":"2024-05-24T16:03:23.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"When annotation is deleted from page, remove link from annotation to page.\n\nAlso check for this in annotation accessing functions to avoid crashes.","shortMessageHtmlLink":"When annotation is deleted from page, remove link from annotation to …"}},{"before":"94daad083d3e384bf9d723f6c504d9c4961bb2c6","after":"026963833eb4ed9ed479e6b2739fc578ad577095","ref":"refs/heads/master","pushedAt":"2024-05-24T13:01:49.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"scripts/wrap/cpp.py: make_outparam_helper(): initialise ptr out-params.\n\nWe value-initialise out-params, e.g. pointer out-params are now initialised to\nnullptr. This avoids problems when the underlying mupdf function also treats\nthe arg as an in-param.\n\nAlso removed unnecessary use of temporary variables.","shortMessageHtmlLink":"scripts/wrap/cpp.py: make_outparam_helper(): initialise ptr out-params."}},{"before":"2be4d9df1aa3f93a2c20e1b58ff1ba7b419caca1","after":"94daad083d3e384bf9d723f6c504d9c4961bb2c6","ref":"refs/heads/master","pushedAt":"2024-05-24T10:00:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"js: Add interfaces to emulate interactive PDFAnnotation events.","shortMessageHtmlLink":"js: Add interfaces to emulate interactive PDFAnnotation events."}},{"before":"424ab3c7059935ddb1f62ba3141ce0dcaf584279","after":"2be4d9df1aa3f93a2c20e1b58ff1ba7b419caca1","ref":"refs/heads/master","pushedAt":"2024-05-23T21:01:52.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Reuse existing resources dict and contents when writing page.\n\nPreviously both were unconditionally created, but when writing\nthe free text annotation appearance the resources dict was already\ncreated, hence it got overwritten and ASAN reported a memory leak.\n\nThanks Tor, for pointing out where the bug was!","shortMessageHtmlLink":"Reuse existing resources dict and contents when writing page."}},{"before":"0850b309106f2302ee3bd43944469c6035cf473e","after":"424ab3c7059935ddb1f62ba3141ce0dcaf584279","ref":"refs/heads/master","pushedAt":"2024-05-17T12:01:24.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"js: Add interface to create signature widget.\n\nThis is similar to what already exists in Java.","shortMessageHtmlLink":"js: Add interface to create signature widget."}},{"before":"8148ce30acdc9a7fd636cab7b2b192c008e3e7a4","after":"0850b309106f2302ee3bd43944469c6035cf473e","ref":"refs/heads/master","pushedAt":"2024-05-16T21:01:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Wrap popup annotation access in begin/end annot operation and push/pop local xref.","shortMessageHtmlLink":"Wrap popup annotation access in begin/end annot operation and push/po…"}},{"before":"0fa4673998c62268832b5d094a19486c80348f60","after":"8148ce30acdc9a7fd636cab7b2b192c008e3e7a4","ref":"refs/heads/master","pushedAt":"2024-05-16T19:01:38.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Bug 707784: Fix TTF CIDFont subsetting.\n\nWhen walking the loca table, if a glyph was 0 length, we'd\nskip it. This is fine for non-CID fonts, but for CID fonts\nwe still need to output a loca entry.\n\nRejig the code so that we still hit the !enc case if the\nlength is 0.","shortMessageHtmlLink":"Bug 707784: Fix TTF CIDFont subsetting."}},{"before":"04a642905ce3cb9a52410ce246ff5a06a02a1a09","after":"0fa4673998c62268832b5d094a19486c80348f60","ref":"refs/heads/master","pushedAt":"2024-05-16T16:02:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"PDF Font Subsetting: Cope with duplicated font streams.\n\nIf the same stream is in the file multiple times (perhaps because\nof a naive insertion routine, or because of files being merged)\nwe want to spot that and deduplicate the fonts as we subset.\n\nAfter we subset the fonts will be different and hence cannot\neasily be fixed.","shortMessageHtmlLink":"PDF Font Subsetting: Cope with duplicated font streams."}},{"before":"a44ed75a579d7ce9853a8aa5524c5678463ed7f5","after":"04a642905ce3cb9a52410ce246ff5a06a02a1a09","ref":"refs/heads/master","pushedAt":"2024-05-16T11:01:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Clean up of interfaces to check/set/get annotation popups.\n\n* Add interface to check if an annotation has a popup.\n* Add interfaces to check for and get/set in js/java.\n* Encapsulate setting of popup in begin/end operation calls.","shortMessageHtmlLink":"Clean up of interfaces to check/set/get annotation popups."}},{"before":"807df1df4e740db860627b0ada8a8a56a8466451","after":"a44ed75a579d7ce9853a8aa5524c5678463ed7f5","ref":"refs/heads/master","pushedAt":"2024-05-15T20:01:12.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Allow popups for redact annotations.\n\nApparently Acrobat creates those despite it not being properly\ndocumented.","shortMessageHtmlLink":"Allow popups for redact annotations."}},{"before":"8d33f6496db13860b2656ed31e94c3aeac9766ad","after":"807df1df4e740db860627b0ada8a8a56a8466451","ref":"refs/heads/master","pushedAt":"2024-05-15T15:01:16.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Promote PATH_MAX define to common fitz header.","shortMessageHtmlLink":"Promote PATH_MAX define to common fitz header."}},{"before":"4c898934126a29edddcdafbe06b6660543c6141f","after":"8d33f6496db13860b2656ed31e94c3aeac9766ad","ref":"refs/heads/master","pushedAt":"2024-05-14T17:01:23.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Check annotation subtype when accessing interior color.","shortMessageHtmlLink":"Check annotation subtype when accessing interior color."}},{"before":"a4779be7203d947a7cdffd13a053a8146c176f8f","after":"4c898934126a29edddcdafbe06b6660543c6141f","ref":"refs/heads/master","pushedAt":"2024-05-13T21:01:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Drop tag list and profile upon error creating ICC profile.\n\nThis fixes oss-fuzz issue 67726.","shortMessageHtmlLink":"Drop tag list and profile upon error creating ICC profile."}},{"before":"61e1e513b627bc9ab701feec7920d3dfd0c482f9","after":"a4779be7203d947a7cdffd13a053a8146c176f8f","ref":"refs/heads/master","pushedAt":"2024-05-13T16:01:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"FreeText annotations: Support Rich Content (and Document Styles)\n\nIf we have an /RC entry for an annotation, use the story mechanism\nto generate an appearance that uses this.\n\nIf we have a /DS entry, then use the styles from there with the\nstory.\n\nIf we have a /DS and no /RC, then use the /Contents entry.","shortMessageHtmlLink":"FreeText annotations: Support Rich Content (and Document Styles)"}},{"before":"e136dfa3e129f8b07efcee93a2e3255659aa54d9","after":"61e1e513b627bc9ab701feec7920d3dfd0c482f9","ref":"refs/heads/master","pushedAt":"2024-05-13T15:01:39.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"PDF Annotations: Refactor color generation.\n\nAvoid repeating the same code in many places.","shortMessageHtmlLink":"PDF Annotations: Refactor color generation."}},{"before":"0364c8be31ebb140464057fded787098db3182bc","after":"e136dfa3e129f8b07efcee93a2e3255659aa54d9","ref":"refs/heads/master","pushedAt":"2024-05-13T11:01:32.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Update pdf_subset_fonts so that no page list means all pages.","shortMessageHtmlLink":"Update pdf_subset_fonts so that no page list means all pages."}},{"before":"c05bf409d873c14ec00ec45e6d35ca09d3e7ad54","after":"0364c8be31ebb140464057fded787098db3182bc","ref":"refs/heads/master","pushedAt":"2024-05-08T19:01:47.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"chris-liddell","name":null,"path":"/chris-liddell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11627080?s=80&v=4"},"commit":{"message":"Add some new XML features.\n\nAdd some new xml functions; create a new xml document, create\na new node, create a text node, and write the created document\nout as a valid (or indented) XML file.\n\nFix fz_output_xml to cope with document nodes with more than\none child.\n\nEnsure that fz_dom_append_child can add children to the document\nnode.","shortMessageHtmlLink":"Add some new XML features."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWzAnuAA","startCursor":null,"endCursor":null}},"title":"Activity · ArtifexSoftware/mupdf"}