{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":23910841,"defaultBranch":"master","name":"hexapdf","ownerLogin":"gettalong","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-09-11T08:45:34.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/4104?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1725740789.0","currentOid":""},"activityList":{"items":[{"before":"abdbc4d432d75875678e8718d07681dc3357a6b1","after":"e6aa663a77a206365ca940a77ea1c2a064ae1c95","ref":"refs/heads/master","pushedAt":"2024-09-07T21:44:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Update version","shortMessageHtmlLink":"Update version"}},{"before":"3b3b06c5cb3ba0a1fa9abb4e2241aac25afb7567","after":"abdbc4d432d75875678e8718d07681dc3357a6b1","ref":"refs/heads/master","pushedAt":"2024-09-07T20:26:23.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Handle invalid text field appearance streams posing as other PDF objects\n\nThere seem to be PDFs in the wild that have appearance streams with a\nvalid '/Subtype /Form' entry but invalid /Type entry. Such invalid\nobjects are not correctly recognized by HexaPDF and thus not assigned\nthe correct class.\n\nThis change amends the previous fix to handle this additional case.","shortMessageHtmlLink":"Handle invalid text field appearance streams posing as other PDF objects"}},{"before":"8285cccf85412720de573ec3e92ca883eebad1d3","after":"9a0bf7d6d6e0351db37babf19794448043f4ef5b","ref":"refs/heads/devel","pushedAt":"2024-09-05T21:11:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Remove setting of /DA of AcroForm::Form validation\n\nSetting a default appearance string on the main AcroForm dictionary\nconflicts with the immutability expectation of digitally signing a\ndocument (e.g. if a document is already signed and a second signature is\nadded with HexaPDF, the additional /DA entry is interpreted as a not\nallowed change).\n\nSince HexaPDF will now automatically set a default appearance string on\na field if it is needed (e.g. for creating a visual appearance), the\ngeneral setting of an apperance string in the main AcroForm dictionary\nis also not necessary anymore.","shortMessageHtmlLink":"Remove setting of /DA of AcroForm::Form validation"}},{"before":"dcbc220fc0dc47f3e3f05094833a4b7b3cb9f21b","after":"8285cccf85412720de573ec3e92ca883eebad1d3","ref":"refs/heads/devel","pushedAt":"2024-09-05T19:40:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Remove /Type entry from trailer\n\nWhen a document is optimized and xref streams are deleted, the\nassociated trailer might still have the /Type entry set. This leads to\nthe written trailer dictionary having the /Type entry which might lead\nto problems (because the trailer is a standard trailer and not an xref\nstream).\n\nThere are other ways in which a trailer might have a lingering /Type\nentry.\n\nThis change deletes the /Type entry from the trailer.","shortMessageHtmlLink":"Remove /Type entry from trailer"}},{"before":"b440eb33f9a26348b4b95cc4c6d741ad4db9b9d5","after":"dcbc220fc0dc47f3e3f05094833a4b7b3cb9f21b","ref":"refs/heads/devel","pushedAt":"2024-09-04T22:08:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Fix SignatureField#field_value to always return correctly wrapped objects\n\nIf a signature object doesn't contain a /Type field (which may occur\nbecause the /Type field is optional) HexaPDF doesn't correctly wrap it\nwith the correct implementation class automatically.\n\nThis change makes sure that the signature object returned by a signature\nfield's #field_value method is always correctly wrapped.","shortMessageHtmlLink":"Fix SignatureField#field_value to always return correctly wrapped obj…"}},{"before":"764f13ad5cff16b0d3f078df928cc01829423c83","after":"b440eb33f9a26348b4b95cc4c6d741ad4db9b9d5","ref":"refs/heads/devel","pushedAt":"2024-09-03T19:56:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Fix Annotations::Widget#marker_style to handle missing values in /DA\n\nThe VariableTextField.parse_appearance_string method may return nil\nvalues for missing data, for example, if the font and font size is not\nspecified. This must be handled by the caller which in case of the\n\\#marker_style method is not yet done. This change fixes that.","shortMessageHtmlLink":"Fix Annotations::Widget#marker_style to handle missing values in /DA"}},{"before":"3164f9906447b0fcebc49b9202492668db3cb237","after":"764f13ad5cff16b0d3f078df928cc01829423c83","ref":"refs/heads/devel","pushedAt":"2024-09-02T21:09:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Fix parsing of default appearance strings to handle invalid PDFs with symbolic DAs","shortMessageHtmlLink":"Fix parsing of default appearance strings to handle invalid PDFs with…"}},{"before":"d1fe776ac02a9db02def1b746e8b2aa77e8719fe","after":"3164f9906447b0fcebc49b9202492668db3cb237","ref":"refs/heads/devel","pushedAt":"2024-09-02T20:47:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Fix parsing of default appearance strings to handle invalid PDFs with symbolic DAs","shortMessageHtmlLink":"Fix parsing of default appearance strings to handle invalid PDFs with…"}},{"before":"789a377cb6ac0cd580fab4f690bc02e34a802ce3","after":"d1fe776ac02a9db02def1b746e8b2aa77e8719fe","ref":"refs/heads/devel","pushedAt":"2024-09-01T20:15:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Fix parsing of default appearance strings to handle invalid PDFs with symbolic DAs","shortMessageHtmlLink":"Fix parsing of default appearance strings to handle invalid PDFs with…"}},{"before":"0a0d8947d58c02bb09fc657599363625da2d9c0a","after":"789a377cb6ac0cd580fab4f690bc02e34a802ce3","ref":"refs/heads/devel","pushedAt":"2024-08-30T20:51:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Fix parsing of default appearance strings to handle invalid PDFs with symbolic DAs","shortMessageHtmlLink":"Fix parsing of default appearance strings to handle invalid PDFs with…"}},{"before":"d411e84c0ed8570afa0159e08b99604222ab0aa8","after":"0a0d8947d58c02bb09fc657599363625da2d9c0a","ref":"refs/heads/devel","pushedAt":"2024-08-30T20:43:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"TODO: FIX LATER! - Potential fix for invalid PDFs with checkboxes with string values","shortMessageHtmlLink":"TODO: FIX LATER! - Potential fix for invalid PDFs with checkboxes wit…"}},{"before":"4c6a079fcecf61dc6c86c00211aa5855aaf84095","after":"d411e84c0ed8570afa0159e08b99604222ab0aa8","ref":"refs/heads/devel","pushedAt":"2024-08-30T20:31:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Fix handling of null values when importing objects\n\nIf a PDF object is deleted from a document, it is usually only marked as\nfree. This means its value is set to `nil` and the object reference\nremoved the document store.\n\nHowever, the null object might already be referenced by another object\nand if the null object is a Dictionary, accessing many of its methods\nwill lead to an error, as is the case when importing.\n\nThis can be fixed by explicitly handling null values.","shortMessageHtmlLink":"Fix handling of null values when importing objects"}},{"before":"9fd50dcb61296337f07bffcf56cf099d63a4d3a2","after":"4c6a079fcecf61dc6c86c00211aa5855aaf84095","ref":"refs/heads/devel","pushedAt":"2024-08-30T20:11:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"TODO: FIX LATER! - Potential solution for supporting /R 5 encryption","shortMessageHtmlLink":"TODO: FIX LATER! - Potential solution for supporting /R 5 encryption"}},{"before":"c86927486512fced1de0e119b26c2d355693497d","after":"9fd50dcb61296337f07bffcf56cf099d63a4d3a2","ref":"refs/heads/devel","pushedAt":"2024-08-27T08:07:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Fix AcroForm::AppearanceGenerator to work for check boxes without on state name\n\nThere exist PDF files that have appearance streams for check boxes but\nonly define the :Off stream. This means they don't define a name for the\non state of the check box.\n\nWork around this problem by using :Yes as the on state in such cases.","shortMessageHtmlLink":"Fix AcroForm::AppearanceGenerator to work for check boxes without on …"}},{"before":"41203acdd90094f8d67c6a3bb46413538bfae61d","after":"c86927486512fced1de0e119b26c2d355693497d","ref":"refs/heads/devel","pushedAt":"2024-08-26T12:55:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Change optimization task to not remove optional /Type entries containing default values\n\nAn optional /Type field is currently removed like any other optional\nfield if it contains its default value.\n\nSince this can lead to problems this change makes the optimization task\nleave the /Type entries alone. For example, some Factur-X validators\nneed /Type /EmbeddedFile entries for embedded files because if this\nentry is missing they declare the PDF non-conforming.\n\nIt is possible to work around this by not optimizing the file or\noptimizing it and then adding the necessary keys back. But keeping the\n/Type entry also has other benefits like automatic type wrapping in the\ngeneral case when such a file is loaded by HexaPDF again.","shortMessageHtmlLink":"Change optimization task to not remove optional /Type entries contain…"}},{"before":"e0859b02836376e87eb202e47065f4cc87f80c64","after":"41203acdd90094f8d67c6a3bb46413538bfae61d","ref":"refs/heads/devel","pushedAt":"2024-08-24T21:29:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Added configuration option 'acro_form.fallback_default_appearance'\n\nThe PDF specification requires the /DA to be available. However, there\nare invalid PDF files that have text fields without a /DA entry and also\nno /DA entry on the main interactive form dictionary.\n\nPrior to this change an error was raised in such a situation when the\ninformation from the /DA was needed. But this might not always be the\nbest choice of action.\n\nThis change introduces a new configuration option that, by default,\nmakes HexaPDF add and use a standard default appearance for variable\ntext fields without a /DA entry. The old behaviour can be activated by\nsetting this variable to nil.","shortMessageHtmlLink":"Added configuration option 'acro_form.fallback_default_appearance'"}},{"before":"45d286cfd09446163481c2c0e9e4a2742f9ff8da","after":"e0859b02836376e87eb202e47065f4cc87f80c64","ref":"refs/heads/devel","pushedAt":"2024-08-17T20:34:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Tentative fix for bug in text field appearance generation","shortMessageHtmlLink":"Tentative fix for bug in text field appearance generation"}},{"before":"ab38334ca9b8695ce69b6217f0ebba1d136ef129","after":"45d286cfd09446163481c2c0e9e4a2742f9ff8da","ref":"refs/heads/devel","pushedAt":"2024-08-13T19:59:17.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Fix Layout::TableBox row height calculation and distribution wrt to row spans\n\nThe current implementation of the table fitting algorithm does not\nconsider the distribution of row heights for row span cells at all. This\nleads to bigger than necessary tables.\n\nConsider this table which is rendered like the drawing on the right:\n\n--------- ---------\n| a | b | | a | b |\n| a | | | a | |\n| a |---| | a | |\n| a | c | | a | |\n| a | | | a | |\n--------- | |---|\n | | c |\n ---------\n\nThis change corrects the calculation and distribution of the row heights\nto reduce the size of the height of the table and create a more expected\nversion of the table.","shortMessageHtmlLink":"Fix Layout::TableBox row height calculation and distribution wrt to r…"}},{"before":"e784ea875a60e04512bcbb28fd99c79044ad9941","after":"3b3b06c5cb3ba0a1fa9abb4e2241aac25afb7567","ref":"refs/heads/master","pushedAt":"2024-08-11T21:35:16.000Z","pushType":"push","commitsCount":32,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Update version","shortMessageHtmlLink":"Update version"}},{"before":"3aeec254b1b4329d033a8318e50d6db5709c7b33","after":"ab38334ca9b8695ce69b6217f0ebba1d136ef129","ref":"refs/heads/devel","pushedAt":"2024-08-05T22:14:12.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Fix parsing of \"linearized\" PDFs where the first xref section is not used\n\nThere are some PDFs out there in the wild which appear to be linearized\nwhen looking at the beginning of the document but where the startxref\ndoesn't actually refer to the first xref section.","shortMessageHtmlLink":"Fix parsing of \"linearized\" PDFs where the first xref section is not …"}},{"before":"b9cc40f29f4d0dd7d49b84f4d16409d991442955","after":"3aeec254b1b4329d033a8318e50d6db5709c7b33","ref":"refs/heads/devel","pushedAt":"2024-07-29T08:45:41.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Reduce string memory usage on Tokenizer#prepare_string_scanner","shortMessageHtmlLink":"Reduce string memory usage on Tokenizer#prepare_string_scanner"}},{"before":"4211898f2a3f3287e5a833f7ff7f6a51ebf8adda","after":"b9cc40f29f4d0dd7d49b84f4d16409d991442955","ref":"refs/heads/devel","pushedAt":"2024-07-16T19:54:01.000Z","pushType":"push","commitsCount":34,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Fix CLI command 'inspect' to work in case of missing Unicode mappings","shortMessageHtmlLink":"Fix CLI command 'inspect' to work in case of missing Unicode mappings"}},{"before":"47cc681b60a9a8fef28587557ab966258f895e93","after":"e784ea875a60e04512bcbb28fd99c79044ad9941","ref":"refs/heads/master","pushedAt":"2024-06-18T08:52:36.000Z","pushType":"push","commitsCount":14,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Update version","shortMessageHtmlLink":"Update version"}},{"before":"29f9ec3011829382177c4dd6e05fbfb95c7d75cb","after":"47cc681b60a9a8fef28587557ab966258f895e93","ref":"refs/heads/master","pushedAt":"2024-06-05T19:42:34.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Update version","shortMessageHtmlLink":"Update version"}},{"before":"f987bb9889514b0763b03877499b36b3542969b2","after":"4211898f2a3f3287e5a833f7ff7f6a51ebf8adda","ref":"refs/heads/devel","pushedAt":"2024-05-28T09:05:33.000Z","pushType":"push","commitsCount":36,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Allow adding custom XMP metadata\n\nThe XMP support in HexaPDF is rather limited. Though it supports\nregistering custom namespaces and properties, not everything is\nsupported because the RDF format provides many ways to actually define\nproperties.\n\nThis change adds support for adding custom raw metadata to the generated\nXMP document. The user has to ensure that the custom metadata is valid\nand conforms to the specification. With this change it is possible to\nadd custom metadata like PDF/A schema definitions to the metadata.","shortMessageHtmlLink":"Allow adding custom XMP metadata"}},{"before":"1d6717cf8c9be6143babe68f7752f18d19d3fc7a","after":"29f9ec3011829382177c4dd6e05fbfb95c7d75cb","ref":"refs/heads/master","pushedAt":"2024-05-26T21:32:34.000Z","pushType":"push","commitsCount":15,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Update version","shortMessageHtmlLink":"Update version"}},{"before":"04c5c222668bc86d24e512aab1a8bb0663dd1da2","after":"1d6717cf8c9be6143babe68f7752f18d19d3fc7a","ref":"refs/heads/master","pushedAt":"2024-05-12T20:40:42.000Z","pushType":"push","commitsCount":20,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Update version","shortMessageHtmlLink":"Update version"}},{"before":"0b0c66682ff0aa92ac0312e801cc691386e62c25","after":"f987bb9889514b0763b03877499b36b3542969b2","ref":"refs/heads/devel","pushedAt":"2024-05-06T16:39:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Fix Resources#font to always return a correctly wrapped font object","shortMessageHtmlLink":"Fix Resources#font to always return a correctly wrapped font object"}},{"before":"605e823088b8cf2a55d5946825769bfce8e29fee","after":"0b0c66682ff0aa92ac0312e801cc691386e62c25","ref":"refs/heads/devel","pushedAt":"2024-05-06T16:24:41.000Z","pushType":"push","commitsCount":114,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Fix Resources#font to always return a correctly wrapped font object","shortMessageHtmlLink":"Fix Resources#font to always return a correctly wrapped font object"}},{"before":"507964b9b6df2e1d5cc29677c63825f2a16009c7","after":"04c5c222668bc86d24e512aab1a8bb0663dd1da2","ref":"refs/heads/master","pushedAt":"2024-05-05T21:47:01.000Z","pushType":"push","commitsCount":35,"pusher":{"login":"gettalong","name":"Thomas Leitner","path":"/gettalong","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4104?s=80&v=4"},"commit":{"message":"Update version","shortMessageHtmlLink":"Update version"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEr9LRbwA","startCursor":null,"endCursor":null}},"title":"Activity · gettalong/hexapdf"}